@weppy/roblox-mcp 1.3.0 → 1.3.1
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/.claude-plugin/marketplace.json +2 -2
- package/.github/ISSUE_TEMPLATE/bug_report.yml +60 -0
- package/.github/ISSUE_TEMPLATE/feature_request.yml +30 -0
- package/.github/ISSUE_TEMPLATE/install_help.yml +48 -0
- package/.github/PULL_REQUEST_TEMPLATE.md +16 -0
- package/.github/workflows/deploy-docs.yml +41 -0
- package/CHANGELOG.md +27 -0
- package/CODE_OF_CONDUCT.md +29 -0
- package/CONTRIBUTING.md +36 -0
- package/README.md +41 -23
- package/SECURITY.md +28 -0
- package/SUPPORT.md +26 -0
- package/docs/compatibility.md +44 -0
- package/docs/es/README.md +39 -21
- package/docs/id/README.md +39 -21
- package/docs/ja/README.md +41 -23
- package/docs/ko/README.md +39 -21
- package/docs/pt-br/README.md +39 -21
- package/docs/troubleshooting.md +47 -0
- package/llms.txt +45 -0
- package/package.json +1 -1
- package/plugins/weppy-roblox-mcp/.claude-plugin/plugin.json +1 -1
- package/plugins/weppy-roblox-mcp/dist/index.js +16 -16
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire as __bundleCreateRequire } from 'module';const require = __bundleCreateRequire(import.meta.url);
|
|
3
3
|
var kj=Object.create;var nf=Object.defineProperty;var $j=Object.getOwnPropertyDescriptor;var Ij=Object.getOwnPropertyNames;var Pj=Object.getPrototypeOf,Ej=Object.prototype.hasOwnProperty;var A=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,r)=>(typeof require<"u"?require:e)[r]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var y=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Qa=(t,e)=>{for(var r in e)nf(t,r,{get:e[r],enumerable:!0})},Tj=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Ij(e))!Ej.call(t,i)&&i!==r&&nf(t,i,{get:()=>e[i],enumerable:!(n=$j(e,i))||n.enumerable});return t};var eo=(t,e,r)=>(r=t!=null?kj(Pj(t)):{},Tj(e||!t||!t.__esModule?nf(r,"default",{value:t,enumerable:!0}):r,t));var ds=y(ce=>{"use strict";Object.defineProperty(ce,"__esModule",{value:!0});ce.regexpCode=ce.getEsmExportName=ce.getProperty=ce.safeStringify=ce.stringify=ce.strConcat=ce.addCodeArg=ce.str=ce._=ce.nil=ce._Code=ce.Name=ce.IDENTIFIER=ce._CodeOrName=void 0;var us=class{};ce._CodeOrName=us;ce.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var Vn=class extends us{constructor(e){if(super(),!ce.IDENTIFIER.test(e))throw new Error("CodeGen: name must be a valid identifier");this.str=e}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};ce.Name=Vn;var Jt=class extends us{constructor(e){super(),this._items=typeof e=="string"?[e]:e}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let e=this._items[0];return e===""||e==='""'}get str(){var e;return(e=this._str)!==null&&e!==void 0?e:this._str=this._items.reduce((r,n)=>`${r}${n}`,"")}get names(){var e;return(e=this._names)!==null&&e!==void 0?e:this._names=this._items.reduce((r,n)=>(n instanceof Vn&&(r[n.str]=(r[n.str]||0)+1),r),{})}};ce._Code=Jt;ce.nil=new Jt("");function GS(t,...e){let r=[t[0]],n=0;for(;n<e.length;)ev(r,e[n]),r.push(t[++n]);return new Jt(r)}ce._=GS;var Qg=new Jt("+");function KS(t,...e){let r=[ps(t[0])],n=0;for(;n<e.length;)r.push(Qg),ev(r,e[n]),r.push(Qg,ps(t[++n]));return hA(r),new Jt(r)}ce.str=KS;function ev(t,e){e instanceof Jt?t.push(...e._items):e instanceof Vn?t.push(e):t.push(yA(e))}ce.addCodeArg=ev;function hA(t){let e=1;for(;e<t.length-1;){if(t[e]===Qg){let r=gA(t[e-1],t[e+1]);if(r!==void 0){t.splice(e-1,3,r);continue}t[e++]="+"}e++}}function gA(t,e){if(e==='""')return t;if(t==='""')return e;if(typeof t=="string")return e instanceof Vn||t[t.length-1]!=='"'?void 0:typeof e!="string"?`${t.slice(0,-1)}${e}"`:e[0]==='"'?t.slice(0,-1)+e.slice(1):void 0;if(typeof e=="string"&&e[0]==='"'&&!(t instanceof Vn))return`"${t}${e.slice(1)}`}function vA(t,e){return e.emptyStr()?t:t.emptyStr()?e:KS`${t}${e}`}ce.strConcat=vA;function yA(t){return typeof t=="number"||typeof t=="boolean"||t===null?t:ps(Array.isArray(t)?t.join(","):t)}function xA(t){return new Jt(ps(t))}ce.stringify=xA;function ps(t){return JSON.stringify(t).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}ce.safeStringify=ps;function bA(t){return typeof t=="string"&&ce.IDENTIFIER.test(t)?new Jt(`.${t}`):GS`[${t}]`}ce.getProperty=bA;function _A(t){if(typeof t=="string"&&ce.IDENTIFIER.test(t))return new Jt(`${t}`);throw new Error(`CodeGen: invalid export name: ${t}, use explicit $id name mapping`)}ce.getEsmExportName=_A;function wA(t){return new Jt(t.toString())}ce.regexpCode=wA});var nv=y($t=>{"use strict";Object.defineProperty($t,"__esModule",{value:!0});$t.ValueScope=$t.ValueScopeName=$t.Scope=$t.varKinds=$t.UsedValueState=void 0;var kt=ds(),tv=class extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}},Ql;(function(t){t[t.Started=0]="Started",t[t.Completed=1]="Completed"})(Ql||($t.UsedValueState=Ql={}));$t.varKinds={const:new kt.Name("const"),let:new kt.Name("let"),var:new kt.Name("var")};var eu=class{constructor({prefixes:e,parent:r}={}){this._names={},this._prefixes=e,this._parent=r}toName(e){return e instanceof kt.Name?e:this.name(e)}name(e){return new kt.Name(this._newName(e))}_newName(e){let r=this._names[e]||this._nameGroup(e);return`${e}${r.index++}`}_nameGroup(e){var r,n;if(!((n=(r=this._parent)===null||r===void 0?void 0:r._prefixes)===null||n===void 0)&&n.has(e)||this._prefixes&&!this._prefixes.has(e))throw new Error(`CodeGen: prefix "${e}" is not allowed in this scope`);return this._names[e]={prefix:e,index:0}}};$t.Scope=eu;var tu=class extends kt.Name{constructor(e,r){super(r),this.prefix=e}setValue(e,{property:r,itemIndex:n}){this.value=e,this.scopePath=(0,kt._)`.${new kt.Name(r)}[${n}]`}};$t.ValueScopeName=tu;var SA=(0,kt._)`\n`,rv=class extends eu{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?SA:kt.nil}}get(){return this._scope}name(e){return new tu(e,this._newName(e))}value(e,r){var n;if(r.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let i=this.toName(e),{prefix:a}=i,o=(n=r.key)!==null&&n!==void 0?n:r.ref,s=this._values[a];if(s){let u=s.get(o);if(u)return u}else s=this._values[a]=new Map;s.set(o,i);let c=this._scope[a]||(this._scope[a]=[]),l=c.length;return c[l]=r.ref,i.setValue(r,{property:a,itemIndex:l}),i}getValue(e,r){let n=this._values[e];if(n)return n.get(r)}scopeRefs(e,r=this._values){return this._reduceValues(r,n=>{if(n.scopePath===void 0)throw new Error(`CodeGen: name "${n}" has no value`);return(0,kt._)`${e}${n.scopePath}`})}scopeCode(e=this._values,r,n){return this._reduceValues(e,i=>{if(i.value===void 0)throw new Error(`CodeGen: name "${i}" has no value`);return i.value.code},r,n)}_reduceValues(e,r,n={},i){let a=kt.nil;for(let o in e){let s=e[o];if(!s)continue;let c=n[o]=n[o]||new Map;s.forEach(l=>{if(c.has(l))return;c.set(l,Ql.Started);let u=r(l);if(u){let p=this.opts.es5?$t.varKinds.var:$t.varKinds.const;a=(0,kt._)`${a}${p} ${l} = ${u};${this.opts._n}`}else if(u=i?.(l))a=(0,kt._)`${a}${u}${this.opts._n}`;else throw new tv(l);c.set(l,Ql.Completed)})}return a}};$t.ValueScope=rv});var X=y(Q=>{"use strict";Object.defineProperty(Q,"__esModule",{value:!0});Q.or=Q.and=Q.not=Q.CodeGen=Q.operators=Q.varKinds=Q.ValueScopeName=Q.ValueScope=Q.Scope=Q.Name=Q.regexpCode=Q.stringify=Q.getProperty=Q.nil=Q.strConcat=Q.str=Q._=void 0;var oe=ds(),or=nv(),mn=ds();Object.defineProperty(Q,"_",{enumerable:!0,get:function(){return mn._}});Object.defineProperty(Q,"str",{enumerable:!0,get:function(){return mn.str}});Object.defineProperty(Q,"strConcat",{enumerable:!0,get:function(){return mn.strConcat}});Object.defineProperty(Q,"nil",{enumerable:!0,get:function(){return mn.nil}});Object.defineProperty(Q,"getProperty",{enumerable:!0,get:function(){return mn.getProperty}});Object.defineProperty(Q,"stringify",{enumerable:!0,get:function(){return mn.stringify}});Object.defineProperty(Q,"regexpCode",{enumerable:!0,get:function(){return mn.regexpCode}});Object.defineProperty(Q,"Name",{enumerable:!0,get:function(){return mn.Name}});var au=nv();Object.defineProperty(Q,"Scope",{enumerable:!0,get:function(){return au.Scope}});Object.defineProperty(Q,"ValueScope",{enumerable:!0,get:function(){return au.ValueScope}});Object.defineProperty(Q,"ValueScopeName",{enumerable:!0,get:function(){return au.ValueScopeName}});Object.defineProperty(Q,"varKinds",{enumerable:!0,get:function(){return au.varKinds}});Q.operators={GT:new oe._Code(">"),GTE:new oe._Code(">="),LT:new oe._Code("<"),LTE:new oe._Code("<="),EQ:new oe._Code("==="),NEQ:new oe._Code("!=="),NOT:new oe._Code("!"),OR:new oe._Code("||"),AND:new oe._Code("&&"),ADD:new oe._Code("+")};var Jr=class{optimizeNodes(){return this}optimizeNames(e,r){return this}},iv=class extends Jr{constructor(e,r,n){super(),this.varKind=e,this.name=r,this.rhs=n}render({es5:e,_n:r}){let n=e?or.varKinds.var:this.varKind,i=this.rhs===void 0?"":` = ${this.rhs}`;return`${n} ${this.name}${i};`+r}optimizeNames(e,r){if(e[this.name.str])return this.rhs&&(this.rhs=Xi(this.rhs,e,r)),this}get names(){return this.rhs instanceof oe._CodeOrName?this.rhs.names:{}}},ru=class extends Jr{constructor(e,r,n){super(),this.lhs=e,this.rhs=r,this.sideEffects=n}render({_n:e}){return`${this.lhs} = ${this.rhs};`+e}optimizeNames(e,r){if(!(this.lhs instanceof oe.Name&&!e[this.lhs.str]&&!this.sideEffects))return this.rhs=Xi(this.rhs,e,r),this}get names(){let e=this.lhs instanceof oe.Name?{}:{...this.lhs.names};return iu(e,this.rhs)}},av=class extends ru{constructor(e,r,n,i){super(e,n,i),this.op=r}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}},ov=class extends Jr{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}},sv=class extends Jr{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:""};`+e}},cv=class extends Jr{constructor(e){super(),this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}},lv=class extends Jr{constructor(e){super(),this.code=e}render({_n:e}){return`${this.code};`+e}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(e,r){return this.code=Xi(this.code,e,r),this}get names(){return this.code instanceof oe._CodeOrName?this.code.names:{}}},fs=class extends Jr{constructor(e=[]){super(),this.nodes=e}render(e){return this.nodes.reduce((r,n)=>r+n.render(e),"")}optimizeNodes(){let{nodes:e}=this,r=e.length;for(;r--;){let n=e[r].optimizeNodes();Array.isArray(n)?e.splice(r,1,...n):n?e[r]=n:e.splice(r,1)}return e.length>0?this:void 0}optimizeNames(e,r){let{nodes:n}=this,i=n.length;for(;i--;){let a=n[i];a.optimizeNames(e,r)||(kA(e,a.names),n.splice(i,1))}return n.length>0?this:void 0}get names(){return this.nodes.reduce((e,r)=>Gn(e,r.names),{})}},Gr=class extends fs{render(e){return"{"+e._n+super.render(e)+"}"+e._n}},uv=class extends fs{},Ki=class extends Gr{};Ki.kind="else";var Wn=class t extends Gr{constructor(e,r){super(r),this.condition=e}render(e){let r=`if(${this.condition})`+super.render(e);return this.else&&(r+="else "+this.else.render(e)),r}optimizeNodes(){super.optimizeNodes();let e=this.condition;if(e===!0)return this.nodes;let r=this.else;if(r){let n=r.optimizeNodes();r=this.else=Array.isArray(n)?new Ki(n):n}if(r)return e===!1?r instanceof t?r:r.nodes:this.nodes.length?this:new t(XS(e),r instanceof t?[r]:r.nodes);if(!(e===!1||!this.nodes.length))return this}optimizeNames(e,r){var n;if(this.else=(n=this.else)===null||n===void 0?void 0:n.optimizeNames(e,r),!!(super.optimizeNames(e,r)||this.else))return this.condition=Xi(this.condition,e,r),this}get names(){let e=super.names;return iu(e,this.condition),this.else&&Gn(e,this.else.names),e}};Wn.kind="if";var Jn=class extends Gr{};Jn.kind="for";var pv=class extends Jn{constructor(e){super(),this.iteration=e}render(e){return`for(${this.iteration})`+super.render(e)}optimizeNames(e,r){if(super.optimizeNames(e,r))return this.iteration=Xi(this.iteration,e,r),this}get names(){return Gn(super.names,this.iteration.names)}},dv=class extends Jn{constructor(e,r,n,i){super(),this.varKind=e,this.name=r,this.from=n,this.to=i}render(e){let r=e.es5?or.varKinds.var:this.varKind,{name:n,from:i,to:a}=this;return`for(${r} ${n}=${i}; ${n}<${a}; ${n}++)`+super.render(e)}get names(){let e=iu(super.names,this.from);return iu(e,this.to)}},nu=class extends Jn{constructor(e,r,n,i){super(),this.loop=e,this.varKind=r,this.name=n,this.iterable=i}render(e){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(e)}optimizeNames(e,r){if(super.optimizeNames(e,r))return this.iterable=Xi(this.iterable,e,r),this}get names(){return Gn(super.names,this.iterable.names)}},ms=class extends Gr{constructor(e,r,n){super(),this.name=e,this.args=r,this.async=n}render(e){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(e)}};ms.kind="func";var hs=class extends fs{render(e){return"return "+super.render(e)}};hs.kind="return";var fv=class extends Gr{render(e){let r="try"+super.render(e);return this.catch&&(r+=this.catch.render(e)),this.finally&&(r+=this.finally.render(e)),r}optimizeNodes(){var e,r;return super.optimizeNodes(),(e=this.catch)===null||e===void 0||e.optimizeNodes(),(r=this.finally)===null||r===void 0||r.optimizeNodes(),this}optimizeNames(e,r){var n,i;return super.optimizeNames(e,r),(n=this.catch)===null||n===void 0||n.optimizeNames(e,r),(i=this.finally)===null||i===void 0||i.optimizeNames(e,r),this}get names(){let e=super.names;return this.catch&&Gn(e,this.catch.names),this.finally&&Gn(e,this.finally.names),e}},gs=class extends Gr{constructor(e){super(),this.error=e}render(e){return`catch(${this.error})`+super.render(e)}};gs.kind="catch";var vs=class extends Gr{render(e){return"finally"+super.render(e)}};vs.kind="finally";var mv=class{constructor(e,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?`
|
|
4
|
-
`:""},this._extScope=e,this._scope=new or.Scope({parent:e}),this._nodes=[new uv]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,r){let n=this._extScope.value(e,r);return(this._values[n.prefix]||(this._values[n.prefix]=new Set)).add(n),n}getScopeValue(e,r){return this._extScope.getValue(e,r)}scopeRefs(e){return this._extScope.scopeRefs(e,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(e,r,n,i){let a=this._scope.toName(r);return n!==void 0&&i&&(this._constants[a.str]=n),this._leafNode(new iv(e,a,n)),a}const(e,r,n){return this._def(or.varKinds.const,e,r,n)}let(e,r,n){return this._def(or.varKinds.let,e,r,n)}var(e,r,n){return this._def(or.varKinds.var,e,r,n)}assign(e,r,n){return this._leafNode(new ru(e,r,n))}add(e,r){return this._leafNode(new av(e,Q.operators.ADD,r))}code(e){return typeof e=="function"?e():e!==oe.nil&&this._leafNode(new lv(e)),this}object(...e){let r=["{"];for(let[n,i]of e)r.length>1&&r.push(","),r.push(n),(n!==i||this.opts.es5)&&(r.push(":"),(0,oe.addCodeArg)(r,i));return r.push("}"),new oe._Code(r)}if(e,r,n){if(this._blockNode(new Wn(e)),r&&n)this.code(r).else().code(n).endIf();else if(r)this.code(r).endIf();else if(n)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(e){return this._elseNode(new Wn(e))}else(){return this._elseNode(new Ki)}endIf(){return this._endBlockNode(Wn,Ki)}_for(e,r){return this._blockNode(e),r&&this.code(r).endFor(),this}for(e,r){return this._for(new pv(e),r)}forRange(e,r,n,i,a=this.opts.es5?or.varKinds.var:or.varKinds.let){let o=this._scope.toName(e);return this._for(new dv(a,o,r,n),()=>i(o))}forOf(e,r,n,i=or.varKinds.const){let a=this._scope.toName(e);if(this.opts.es5){let o=r instanceof oe.Name?r:this.var("_arr",r);return this.forRange("_i",0,(0,oe._)`${o}.length`,s=>{this.var(a,(0,oe._)`${o}[${s}]`),n(a)})}return this._for(new nu("of",i,a,r),()=>n(a))}forIn(e,r,n,i=this.opts.es5?or.varKinds.var:or.varKinds.const){if(this.opts.ownProperties)return this.forOf(e,(0,oe._)`Object.keys(${r})`,n);let a=this._scope.toName(e);return this._for(new nu("in",i,a,r),()=>n(a))}endFor(){return this._endBlockNode(Jn)}label(e){return this._leafNode(new ov(e))}break(e){return this._leafNode(new sv(e))}return(e){let r=new hs;if(this._blockNode(r),this.code(e),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(hs)}try(e,r,n){if(!r&&!n)throw new Error('CodeGen: "try" without "catch" and "finally"');let i=new fv;if(this._blockNode(i),this.code(e),r){let a=this.name("e");this._currNode=i.catch=new gs(a),r(a)}return n&&(this._currNode=i.finally=new vs,this.code(n)),this._endBlockNode(gs,vs)}throw(e){return this._leafNode(new cv(e))}block(e,r){return this._blockStarts.push(this._nodes.length),e&&this.code(e).endBlock(r),this}endBlock(e){let r=this._blockStarts.pop();if(r===void 0)throw new Error("CodeGen: not in self-balancing block");let n=this._nodes.length-r;if(n<0||e!==void 0&&n!==e)throw new Error(`CodeGen: wrong number of nodes: ${n} vs ${e} expected`);return this._nodes.length=r,this}func(e,r=oe.nil,n,i){return this._blockNode(new ms(e,r,n)),i&&this.code(i).endFunc(),this}endFunc(){return this._endBlockNode(ms)}optimize(e=1){for(;e-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(e){return this._currNode.nodes.push(e),this}_blockNode(e){this._currNode.nodes.push(e),this._nodes.push(e)}_endBlockNode(e,r){let n=this._currNode;if(n instanceof e||r&&n instanceof r)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${r?`${e.kind}/${r.kind}`:e.kind}"`)}_elseNode(e){let r=this._currNode;if(!(r instanceof Wn))throw new Error('CodeGen: "else" without "if"');return this._currNode=r.else=e,this}get _root(){return this._nodes[0]}get _currNode(){let e=this._nodes;return e[e.length-1]}set _currNode(e){let r=this._nodes;r[r.length-1]=e}};Q.CodeGen=mv;function Gn(t,e){for(let r in e)t[r]=(t[r]||0)+(e[r]||0);return t}function iu(t,e){return e instanceof oe._CodeOrName?Gn(t,e.names):t}function Xi(t,e,r){if(t instanceof oe.Name)return n(t);if(!i(t))return t;return new oe._Code(t._items.reduce((a,o)=>(o instanceof oe.Name&&(o=n(o)),o instanceof oe._Code?a.push(...o._items):a.push(o),a),[]));function n(a){let o=r[a.str];return o===void 0||e[a.str]!==1?a:(delete e[a.str],o)}function i(a){return a instanceof oe._Code&&a._items.some(o=>o instanceof oe.Name&&e[o.str]===1&&r[o.str]!==void 0)}}function kA(t,e){for(let r in e)t[r]=(t[r]||0)-(e[r]||0)}function XS(t){return typeof t=="boolean"||typeof t=="number"||t===null?!t:(0,oe._)`!${hv(t)}`}Q.not=XS;var $A=YS(Q.operators.AND);function IA(...t){return t.reduce($A)}Q.and=IA;var PA=YS(Q.operators.OR);function EA(...t){return t.reduce(PA)}Q.or=EA;function YS(t){return(e,r)=>e===oe.nil?r:r===oe.nil?e:(0,oe._)`${hv(e)} ${t} ${hv(r)}`}function hv(t){return t instanceof oe.Name?t:(0,oe._)`(${t})`}});var le=y(te=>{"use strict";Object.defineProperty(te,"__esModule",{value:!0});te.checkStrictMode=te.getErrorPath=te.Type=te.useFunc=te.setEvaluated=te.evaluatedPropsToName=te.mergeEvaluated=te.eachItem=te.unescapeJsonPointer=te.escapeJsonPointer=te.escapeFragment=te.unescapeFragment=te.schemaRefOrVal=te.schemaHasRulesButRef=te.schemaHasRules=te.checkUnknownRules=te.alwaysValidSchema=te.toHash=void 0;var we=X(),TA=ds();function CA(t){let e={};for(let r of t)e[r]=!0;return e}te.toHash=CA;function zA(t,e){return typeof e=="boolean"?e:Object.keys(e).length===0?!0:(tk(t,e),!rk(e,t.self.RULES.all))}te.alwaysValidSchema=zA;function tk(t,e=t.schema){let{opts:r,self:n}=t;if(!r.strictSchema||typeof e=="boolean")return;let i=n.RULES.keywords;for(let a in e)i[a]||ak(t,`unknown keyword: "${a}"`)}te.checkUnknownRules=tk;function rk(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(e[r])return!0;return!1}te.schemaHasRules=rk;function RA(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(r!=="$ref"&&e.all[r])return!0;return!1}te.schemaHasRulesButRef=RA;function jA({topSchemaRef:t,schemaPath:e},r,n,i){if(!i){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return(0,we._)`${r}`}return(0,we._)`${t}${e}${(0,we.getProperty)(n)}`}te.schemaRefOrVal=jA;function DA(t){return nk(decodeURIComponent(t))}te.unescapeFragment=DA;function OA(t){return encodeURIComponent(vv(t))}te.escapeFragment=OA;function vv(t){return typeof t=="number"?`${t}`:t.replace(/~/g,"~0").replace(/\//g,"~1")}te.escapeJsonPointer=vv;function nk(t){return t.replace(/~1/g,"/").replace(/~0/g,"~")}te.unescapeJsonPointer=nk;function NA(t,e){if(Array.isArray(t))for(let r of t)e(r);else e(t)}te.eachItem=NA;function QS({mergeNames:t,mergeToName:e,mergeValues:r,resultToName:n}){return(i,a,o,s)=>{let c=o===void 0?a:o instanceof we.Name?(a instanceof we.Name?t(i,a,o):e(i,a,o),o):a instanceof we.Name?(e(i,o,a),a):r(a,o);return s===we.Name&&!(c instanceof we.Name)?n(i,c):c}}te.mergeEvaluated={props:QS({mergeNames:(t,e,r)=>t.if((0,we._)`${r} !== true && ${e} !== undefined`,()=>{t.if((0,we._)`${e} === true`,()=>t.assign(r,!0),()=>t.assign(r,(0,we._)`${r} || {}`).code((0,we._)`Object.assign(${r}, ${e})`))}),mergeToName:(t,e,r)=>t.if((0,we._)`${r} !== true`,()=>{e===!0?t.assign(r,!0):(t.assign(r,(0,we._)`${r} || {}`),yv(t,r,e))}),mergeValues:(t,e)=>t===!0?!0:{...t,...e},resultToName:ik}),items:QS({mergeNames:(t,e,r)=>t.if((0,we._)`${r} !== true && ${e} !== undefined`,()=>t.assign(r,(0,we._)`${e} === true ? true : ${r} > ${e} ? ${r} : ${e}`)),mergeToName:(t,e,r)=>t.if((0,we._)`${r} !== true`,()=>t.assign(r,e===!0?!0:(0,we._)`${r} > ${e} ? ${r} : ${e}`)),mergeValues:(t,e)=>t===!0?!0:Math.max(t,e),resultToName:(t,e)=>t.var("items",e)})};function ik(t,e){if(e===!0)return t.var("props",!0);let r=t.var("props",(0,we._)`{}`);return e!==void 0&&yv(t,r,e),r}te.evaluatedPropsToName=ik;function yv(t,e,r){Object.keys(r).forEach(n=>t.assign((0,we._)`${e}${(0,we.getProperty)(n)}`,!0))}te.setEvaluated=yv;var ek={};function AA(t,e){return t.scopeValue("func",{ref:e,code:ek[e.code]||(ek[e.code]=new TA._Code(e.code))})}te.useFunc=AA;var gv;(function(t){t[t.Num=0]="Num",t[t.Str=1]="Str"})(gv||(te.Type=gv={}));function MA(t,e,r){if(t instanceof we.Name){let n=e===gv.Num;return r?n?(0,we._)`"[" + ${t} + "]"`:(0,we._)`"['" + ${t} + "']"`:n?(0,we._)`"/" + ${t}`:(0,we._)`"/" + ${t}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0,we.getProperty)(t).toString():"/"+vv(t)}te.getErrorPath=MA;function ak(t,e,r=t.opts.strictSchema){if(r){if(e=`strict mode: ${e}`,r===!0)throw new Error(e);t.self.logger.warn(e)}}te.checkStrictMode=ak});var Kr=y(xv=>{"use strict";Object.defineProperty(xv,"__esModule",{value:!0});var st=X(),UA={data:new st.Name("data"),valCxt:new st.Name("valCxt"),instancePath:new st.Name("instancePath"),parentData:new st.Name("parentData"),parentDataProperty:new st.Name("parentDataProperty"),rootData:new st.Name("rootData"),dynamicAnchors:new st.Name("dynamicAnchors"),vErrors:new st.Name("vErrors"),errors:new st.Name("errors"),this:new st.Name("this"),self:new st.Name("self"),scope:new st.Name("scope"),json:new st.Name("json"),jsonPos:new st.Name("jsonPos"),jsonLen:new st.Name("jsonLen"),jsonPart:new st.Name("jsonPart")};xv.default=UA});var ys=y(ct=>{"use strict";Object.defineProperty(ct,"__esModule",{value:!0});ct.extendErrors=ct.resetErrorsCount=ct.reportExtraError=ct.reportError=ct.keyword$DataError=ct.keywordError=void 0;var se=X(),ou=le(),gt=Kr();ct.keywordError={message:({keyword:t})=>(0,se.str)`must pass "${t}" keyword validation`};ct.keyword$DataError={message:({keyword:t,schemaType:e})=>e?(0,se.str)`"${t}" keyword must be ${e} ($data)`:(0,se.str)`"${t}" keyword is invalid ($data)`};function FA(t,e=ct.keywordError,r,n){let{it:i}=t,{gen:a,compositeRule:o,allErrors:s}=i,c=ck(t,e,r);n??(o||s)?ok(a,c):sk(i,(0,se._)`[${c}]`)}ct.reportError=FA;function qA(t,e=ct.keywordError,r){let{it:n}=t,{gen:i,compositeRule:a,allErrors:o}=n,s=ck(t,e,r);ok(i,s),a||o||sk(n,gt.default.vErrors)}ct.reportExtraError=qA;function LA(t,e){t.assign(gt.default.errors,e),t.if((0,se._)`${gt.default.vErrors} !== null`,()=>t.if(e,()=>t.assign((0,se._)`${gt.default.vErrors}.length`,e),()=>t.assign(gt.default.vErrors,null)))}ct.resetErrorsCount=LA;function ZA({gen:t,keyword:e,schemaValue:r,data:n,errsCount:i,it:a}){if(i===void 0)throw new Error("ajv implementation error");let o=t.name("err");t.forRange("i",i,gt.default.errors,s=>{t.const(o,(0,se._)`${gt.default.vErrors}[${s}]`),t.if((0,se._)`${o}.instancePath === undefined`,()=>t.assign((0,se._)`${o}.instancePath`,(0,se.strConcat)(gt.default.instancePath,a.errorPath))),t.assign((0,se._)`${o}.schemaPath`,(0,se.str)`${a.errSchemaPath}/${e}`),a.opts.verbose&&(t.assign((0,se._)`${o}.schema`,r),t.assign((0,se._)`${o}.data`,n))})}ct.extendErrors=ZA;function ok(t,e){let r=t.const("err",e);t.if((0,se._)`${gt.default.vErrors} === null`,()=>t.assign(gt.default.vErrors,(0,se._)`[${r}]`),(0,se._)`${gt.default.vErrors}.push(${r})`),t.code((0,se._)`${gt.default.errors}++`)}function sk(t,e){let{gen:r,validateName:n,schemaEnv:i}=t;i.$async?r.throw((0,se._)`new ${t.ValidationError}(${e})`):(r.assign((0,se._)`${n}.errors`,e),r.return(!1))}var Kn={keyword:new se.Name("keyword"),schemaPath:new se.Name("schemaPath"),params:new se.Name("params"),propertyName:new se.Name("propertyName"),message:new se.Name("message"),schema:new se.Name("schema"),parentSchema:new se.Name("parentSchema")};function ck(t,e,r){let{createErrors:n}=t.it;return n===!1?(0,se._)`{}`:HA(t,e,r)}function HA(t,e,r={}){let{gen:n,it:i}=t,a=[BA(i,r),VA(t,r)];return WA(t,e,a),n.object(...a)}function BA({errorPath:t},{instancePath:e}){let r=e?(0,se.str)`${t}${(0,ou.getErrorPath)(e,ou.Type.Str)}`:t;return[gt.default.instancePath,(0,se.strConcat)(gt.default.instancePath,r)]}function VA({keyword:t,it:{errSchemaPath:e}},{schemaPath:r,parentSchema:n}){let i=n?e:(0,se.str)`${e}/${t}`;return r&&(i=(0,se.str)`${i}${(0,ou.getErrorPath)(r,ou.Type.Str)}`),[Kn.schemaPath,i]}function WA(t,{params:e,message:r},n){let{keyword:i,data:a,schemaValue:o,it:s}=t,{opts:c,propertyName:l,topSchemaRef:u,schemaPath:p}=s;n.push([Kn.keyword,i],[Kn.params,typeof e=="function"?e(t):e||(0,se._)`{}`]),c.messages&&n.push([Kn.message,typeof r=="function"?r(t):r]),c.verbose&&n.push([Kn.schema,o],[Kn.parentSchema,(0,se._)`${u}${p}`],[gt.default.data,a]),l&&n.push([Kn.propertyName,l])}});var uk=y(Yi=>{"use strict";Object.defineProperty(Yi,"__esModule",{value:!0});Yi.boolOrEmptySchema=Yi.topBoolOrEmptySchema=void 0;var JA=ys(),GA=X(),KA=Kr(),XA={message:"boolean schema is false"};function YA(t){let{gen:e,schema:r,validateName:n}=t;r===!1?lk(t,!1):typeof r=="object"&&r.$async===!0?e.return(KA.default.data):(e.assign((0,GA._)`${n}.errors`,null),e.return(!0))}Yi.topBoolOrEmptySchema=YA;function QA(t,e){let{gen:r,schema:n}=t;n===!1?(r.var(e,!1),lk(t)):r.var(e,!0)}Yi.boolOrEmptySchema=QA;function lk(t,e){let{gen:r,data:n}=t,i={gen:r,keyword:"false schema",data:n,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:t};(0,JA.reportError)(i,XA,void 0,e)}});var bv=y(Qi=>{"use strict";Object.defineProperty(Qi,"__esModule",{value:!0});Qi.getRules=Qi.isJSONType=void 0;var e2=["string","number","integer","boolean","null","object","array"],t2=new Set(e2);function r2(t){return typeof t=="string"&&t2.has(t)}Qi.isJSONType=r2;function n2(){let t={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...t,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},t.number,t.string,t.array,t.object],post:{rules:[]},all:{},keywords:{}}}Qi.getRules=n2});var _v=y(hn=>{"use strict";Object.defineProperty(hn,"__esModule",{value:!0});hn.shouldUseRule=hn.shouldUseGroup=hn.schemaHasRulesForType=void 0;function i2({schema:t,self:e},r){let n=e.RULES.types[r];return n&&n!==!0&&pk(t,n)}hn.schemaHasRulesForType=i2;function pk(t,e){return e.rules.some(r=>dk(t,r))}hn.shouldUseGroup=pk;function dk(t,e){var r;return t[e.keyword]!==void 0||((r=e.definition.implements)===null||r===void 0?void 0:r.some(n=>t[n]!==void 0))}hn.shouldUseRule=dk});var xs=y(lt=>{"use strict";Object.defineProperty(lt,"__esModule",{value:!0});lt.reportTypeError=lt.checkDataTypes=lt.checkDataType=lt.coerceAndCheckDataType=lt.getJSONTypes=lt.getSchemaTypes=lt.DataType=void 0;var a2=bv(),o2=_v(),s2=ys(),G=X(),fk=le(),ea;(function(t){t[t.Correct=0]="Correct",t[t.Wrong=1]="Wrong"})(ea||(lt.DataType=ea={}));function c2(t){let e=mk(t.type);if(e.includes("null")){if(t.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!e.length&&t.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');t.nullable===!0&&e.push("null")}return e}lt.getSchemaTypes=c2;function mk(t){let e=Array.isArray(t)?t:t?[t]:[];if(e.every(a2.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}lt.getJSONTypes=mk;function l2(t,e){let{gen:r,data:n,opts:i}=t,a=u2(e,i.coerceTypes),o=e.length>0&&!(a.length===0&&e.length===1&&(0,o2.schemaHasRulesForType)(t,e[0]));if(o){let s=Sv(e,n,i.strictNumbers,ea.Wrong);r.if(s,()=>{a.length?p2(t,e,a):kv(t)})}return o}lt.coerceAndCheckDataType=l2;var hk=new Set(["string","number","integer","boolean","null"]);function u2(t,e){return e?t.filter(r=>hk.has(r)||e==="array"&&r==="array"):[]}function p2(t,e,r){let{gen:n,data:i,opts:a}=t,o=n.let("dataType",(0,G._)`typeof ${i}`),s=n.let("coerced",(0,G._)`undefined`);a.coerceTypes==="array"&&n.if((0,G._)`${o} == 'object' && Array.isArray(${i}) && ${i}.length == 1`,()=>n.assign(i,(0,G._)`${i}[0]`).assign(o,(0,G._)`typeof ${i}`).if(Sv(e,i,a.strictNumbers),()=>n.assign(s,i))),n.if((0,G._)`${s} !== undefined`);for(let l of r)(hk.has(l)||l==="array"&&a.coerceTypes==="array")&&c(l);n.else(),kv(t),n.endIf(),n.if((0,G._)`${s} !== undefined`,()=>{n.assign(i,s),d2(t,s)});function c(l){switch(l){case"string":n.elseIf((0,G._)`${o} == "number" || ${o} == "boolean"`).assign(s,(0,G._)`"" + ${i}`).elseIf((0,G._)`${i} === null`).assign(s,(0,G._)`""`);return;case"number":n.elseIf((0,G._)`${o} == "boolean" || ${i} === null
|
|
4
|
+
`:""},this._extScope=e,this._scope=new or.Scope({parent:e}),this._nodes=[new uv]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,r){let n=this._extScope.value(e,r);return(this._values[n.prefix]||(this._values[n.prefix]=new Set)).add(n),n}getScopeValue(e,r){return this._extScope.getValue(e,r)}scopeRefs(e){return this._extScope.scopeRefs(e,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(e,r,n,i){let a=this._scope.toName(r);return n!==void 0&&i&&(this._constants[a.str]=n),this._leafNode(new iv(e,a,n)),a}const(e,r,n){return this._def(or.varKinds.const,e,r,n)}let(e,r,n){return this._def(or.varKinds.let,e,r,n)}var(e,r,n){return this._def(or.varKinds.var,e,r,n)}assign(e,r,n){return this._leafNode(new ru(e,r,n))}add(e,r){return this._leafNode(new av(e,Q.operators.ADD,r))}code(e){return typeof e=="function"?e():e!==oe.nil&&this._leafNode(new lv(e)),this}object(...e){let r=["{"];for(let[n,i]of e)r.length>1&&r.push(","),r.push(n),(n!==i||this.opts.es5)&&(r.push(":"),(0,oe.addCodeArg)(r,i));return r.push("}"),new oe._Code(r)}if(e,r,n){if(this._blockNode(new Wn(e)),r&&n)this.code(r).else().code(n).endIf();else if(r)this.code(r).endIf();else if(n)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(e){return this._elseNode(new Wn(e))}else(){return this._elseNode(new Ki)}endIf(){return this._endBlockNode(Wn,Ki)}_for(e,r){return this._blockNode(e),r&&this.code(r).endFor(),this}for(e,r){return this._for(new pv(e),r)}forRange(e,r,n,i,a=this.opts.es5?or.varKinds.var:or.varKinds.let){let o=this._scope.toName(e);return this._for(new dv(a,o,r,n),()=>i(o))}forOf(e,r,n,i=or.varKinds.const){let a=this._scope.toName(e);if(this.opts.es5){let o=r instanceof oe.Name?r:this.var("_arr",r);return this.forRange("_i",0,(0,oe._)`${o}.length`,s=>{this.var(a,(0,oe._)`${o}[${s}]`),n(a)})}return this._for(new nu("of",i,a,r),()=>n(a))}forIn(e,r,n,i=this.opts.es5?or.varKinds.var:or.varKinds.const){if(this.opts.ownProperties)return this.forOf(e,(0,oe._)`Object.keys(${r})`,n);let a=this._scope.toName(e);return this._for(new nu("in",i,a,r),()=>n(a))}endFor(){return this._endBlockNode(Jn)}label(e){return this._leafNode(new ov(e))}break(e){return this._leafNode(new sv(e))}return(e){let r=new hs;if(this._blockNode(r),this.code(e),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(hs)}try(e,r,n){if(!r&&!n)throw new Error('CodeGen: "try" without "catch" and "finally"');let i=new fv;if(this._blockNode(i),this.code(e),r){let a=this.name("e");this._currNode=i.catch=new gs(a),r(a)}return n&&(this._currNode=i.finally=new vs,this.code(n)),this._endBlockNode(gs,vs)}throw(e){return this._leafNode(new cv(e))}block(e,r){return this._blockStarts.push(this._nodes.length),e&&this.code(e).endBlock(r),this}endBlock(e){let r=this._blockStarts.pop();if(r===void 0)throw new Error("CodeGen: not in self-balancing block");let n=this._nodes.length-r;if(n<0||e!==void 0&&n!==e)throw new Error(`CodeGen: wrong number of nodes: ${n} vs ${e} expected`);return this._nodes.length=r,this}func(e,r=oe.nil,n,i){return this._blockNode(new ms(e,r,n)),i&&this.code(i).endFunc(),this}endFunc(){return this._endBlockNode(ms)}optimize(e=1){for(;e-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(e){return this._currNode.nodes.push(e),this}_blockNode(e){this._currNode.nodes.push(e),this._nodes.push(e)}_endBlockNode(e,r){let n=this._currNode;if(n instanceof e||r&&n instanceof r)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${r?`${e.kind}/${r.kind}`:e.kind}"`)}_elseNode(e){let r=this._currNode;if(!(r instanceof Wn))throw new Error('CodeGen: "else" without "if"');return this._currNode=r.else=e,this}get _root(){return this._nodes[0]}get _currNode(){let e=this._nodes;return e[e.length-1]}set _currNode(e){let r=this._nodes;r[r.length-1]=e}};Q.CodeGen=mv;function Gn(t,e){for(let r in e)t[r]=(t[r]||0)+(e[r]||0);return t}function iu(t,e){return e instanceof oe._CodeOrName?Gn(t,e.names):t}function Xi(t,e,r){if(t instanceof oe.Name)return n(t);if(!i(t))return t;return new oe._Code(t._items.reduce((a,o)=>(o instanceof oe.Name&&(o=n(o)),o instanceof oe._Code?a.push(...o._items):a.push(o),a),[]));function n(a){let o=r[a.str];return o===void 0||e[a.str]!==1?a:(delete e[a.str],o)}function i(a){return a instanceof oe._Code&&a._items.some(o=>o instanceof oe.Name&&e[o.str]===1&&r[o.str]!==void 0)}}function kA(t,e){for(let r in e)t[r]=(t[r]||0)-(e[r]||0)}function XS(t){return typeof t=="boolean"||typeof t=="number"||t===null?!t:(0,oe._)`!${hv(t)}`}Q.not=XS;var $A=YS(Q.operators.AND);function IA(...t){return t.reduce($A)}Q.and=IA;var PA=YS(Q.operators.OR);function EA(...t){return t.reduce(PA)}Q.or=EA;function YS(t){return(e,r)=>e===oe.nil?r:r===oe.nil?e:(0,oe._)`${hv(e)} ${t} ${hv(r)}`}function hv(t){return t instanceof oe.Name?t:(0,oe._)`(${t})`}});var le=y(te=>{"use strict";Object.defineProperty(te,"__esModule",{value:!0});te.checkStrictMode=te.getErrorPath=te.Type=te.useFunc=te.setEvaluated=te.evaluatedPropsToName=te.mergeEvaluated=te.eachItem=te.unescapeJsonPointer=te.escapeJsonPointer=te.escapeFragment=te.unescapeFragment=te.schemaRefOrVal=te.schemaHasRulesButRef=te.schemaHasRules=te.checkUnknownRules=te.alwaysValidSchema=te.toHash=void 0;var we=X(),TA=ds();function CA(t){let e={};for(let r of t)e[r]=!0;return e}te.toHash=CA;function zA(t,e){return typeof e=="boolean"?e:Object.keys(e).length===0?!0:(tk(t,e),!rk(e,t.self.RULES.all))}te.alwaysValidSchema=zA;function tk(t,e=t.schema){let{opts:r,self:n}=t;if(!r.strictSchema||typeof e=="boolean")return;let i=n.RULES.keywords;for(let a in e)i[a]||ak(t,`unknown keyword: "${a}"`)}te.checkUnknownRules=tk;function rk(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(e[r])return!0;return!1}te.schemaHasRules=rk;function RA(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(r!=="$ref"&&e.all[r])return!0;return!1}te.schemaHasRulesButRef=RA;function jA({topSchemaRef:t,schemaPath:e},r,n,i){if(!i){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return(0,we._)`${r}`}return(0,we._)`${t}${e}${(0,we.getProperty)(n)}`}te.schemaRefOrVal=jA;function DA(t){return nk(decodeURIComponent(t))}te.unescapeFragment=DA;function OA(t){return encodeURIComponent(vv(t))}te.escapeFragment=OA;function vv(t){return typeof t=="number"?`${t}`:t.replace(/~/g,"~0").replace(/\//g,"~1")}te.escapeJsonPointer=vv;function nk(t){return t.replace(/~1/g,"/").replace(/~0/g,"~")}te.unescapeJsonPointer=nk;function NA(t,e){if(Array.isArray(t))for(let r of t)e(r);else e(t)}te.eachItem=NA;function QS({mergeNames:t,mergeToName:e,mergeValues:r,resultToName:n}){return(i,a,o,s)=>{let c=o===void 0?a:o instanceof we.Name?(a instanceof we.Name?t(i,a,o):e(i,a,o),o):a instanceof we.Name?(e(i,o,a),a):r(a,o);return s===we.Name&&!(c instanceof we.Name)?n(i,c):c}}te.mergeEvaluated={props:QS({mergeNames:(t,e,r)=>t.if((0,we._)`${r} !== true && ${e} !== undefined`,()=>{t.if((0,we._)`${e} === true`,()=>t.assign(r,!0),()=>t.assign(r,(0,we._)`${r} || {}`).code((0,we._)`Object.assign(${r}, ${e})`))}),mergeToName:(t,e,r)=>t.if((0,we._)`${r} !== true`,()=>{e===!0?t.assign(r,!0):(t.assign(r,(0,we._)`${r} || {}`),yv(t,r,e))}),mergeValues:(t,e)=>t===!0?!0:{...t,...e},resultToName:ik}),items:QS({mergeNames:(t,e,r)=>t.if((0,we._)`${r} !== true && ${e} !== undefined`,()=>t.assign(r,(0,we._)`${e} === true ? true : ${r} > ${e} ? ${r} : ${e}`)),mergeToName:(t,e,r)=>t.if((0,we._)`${r} !== true`,()=>t.assign(r,e===!0?!0:(0,we._)`${r} > ${e} ? ${r} : ${e}`)),mergeValues:(t,e)=>t===!0?!0:Math.max(t,e),resultToName:(t,e)=>t.var("items",e)})};function ik(t,e){if(e===!0)return t.var("props",!0);let r=t.var("props",(0,we._)`{}`);return e!==void 0&&yv(t,r,e),r}te.evaluatedPropsToName=ik;function yv(t,e,r){Object.keys(r).forEach(n=>t.assign((0,we._)`${e}${(0,we.getProperty)(n)}`,!0))}te.setEvaluated=yv;var ek={};function AA(t,e){return t.scopeValue("func",{ref:e,code:ek[e.code]||(ek[e.code]=new TA._Code(e.code))})}te.useFunc=AA;var gv;(function(t){t[t.Num=0]="Num",t[t.Str=1]="Str"})(gv||(te.Type=gv={}));function MA(t,e,r){if(t instanceof we.Name){let n=e===gv.Num;return r?n?(0,we._)`"[" + ${t} + "]"`:(0,we._)`"['" + ${t} + "']"`:n?(0,we._)`"/" + ${t}`:(0,we._)`"/" + ${t}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0,we.getProperty)(t).toString():"/"+vv(t)}te.getErrorPath=MA;function ak(t,e,r=t.opts.strictSchema){if(r){if(e=`strict mode: ${e}`,r===!0)throw new Error(e);t.self.logger.warn(e)}}te.checkStrictMode=ak});var Kr=y(xv=>{"use strict";Object.defineProperty(xv,"__esModule",{value:!0});var ct=X(),UA={data:new ct.Name("data"),valCxt:new ct.Name("valCxt"),instancePath:new ct.Name("instancePath"),parentData:new ct.Name("parentData"),parentDataProperty:new ct.Name("parentDataProperty"),rootData:new ct.Name("rootData"),dynamicAnchors:new ct.Name("dynamicAnchors"),vErrors:new ct.Name("vErrors"),errors:new ct.Name("errors"),this:new ct.Name("this"),self:new ct.Name("self"),scope:new ct.Name("scope"),json:new ct.Name("json"),jsonPos:new ct.Name("jsonPos"),jsonLen:new ct.Name("jsonLen"),jsonPart:new ct.Name("jsonPart")};xv.default=UA});var ys=y(lt=>{"use strict";Object.defineProperty(lt,"__esModule",{value:!0});lt.extendErrors=lt.resetErrorsCount=lt.reportExtraError=lt.reportError=lt.keyword$DataError=lt.keywordError=void 0;var se=X(),ou=le(),gt=Kr();lt.keywordError={message:({keyword:t})=>(0,se.str)`must pass "${t}" keyword validation`};lt.keyword$DataError={message:({keyword:t,schemaType:e})=>e?(0,se.str)`"${t}" keyword must be ${e} ($data)`:(0,se.str)`"${t}" keyword is invalid ($data)`};function FA(t,e=lt.keywordError,r,n){let{it:i}=t,{gen:a,compositeRule:o,allErrors:s}=i,c=ck(t,e,r);n??(o||s)?ok(a,c):sk(i,(0,se._)`[${c}]`)}lt.reportError=FA;function qA(t,e=lt.keywordError,r){let{it:n}=t,{gen:i,compositeRule:a,allErrors:o}=n,s=ck(t,e,r);ok(i,s),a||o||sk(n,gt.default.vErrors)}lt.reportExtraError=qA;function LA(t,e){t.assign(gt.default.errors,e),t.if((0,se._)`${gt.default.vErrors} !== null`,()=>t.if(e,()=>t.assign((0,se._)`${gt.default.vErrors}.length`,e),()=>t.assign(gt.default.vErrors,null)))}lt.resetErrorsCount=LA;function ZA({gen:t,keyword:e,schemaValue:r,data:n,errsCount:i,it:a}){if(i===void 0)throw new Error("ajv implementation error");let o=t.name("err");t.forRange("i",i,gt.default.errors,s=>{t.const(o,(0,se._)`${gt.default.vErrors}[${s}]`),t.if((0,se._)`${o}.instancePath === undefined`,()=>t.assign((0,se._)`${o}.instancePath`,(0,se.strConcat)(gt.default.instancePath,a.errorPath))),t.assign((0,se._)`${o}.schemaPath`,(0,se.str)`${a.errSchemaPath}/${e}`),a.opts.verbose&&(t.assign((0,se._)`${o}.schema`,r),t.assign((0,se._)`${o}.data`,n))})}lt.extendErrors=ZA;function ok(t,e){let r=t.const("err",e);t.if((0,se._)`${gt.default.vErrors} === null`,()=>t.assign(gt.default.vErrors,(0,se._)`[${r}]`),(0,se._)`${gt.default.vErrors}.push(${r})`),t.code((0,se._)`${gt.default.errors}++`)}function sk(t,e){let{gen:r,validateName:n,schemaEnv:i}=t;i.$async?r.throw((0,se._)`new ${t.ValidationError}(${e})`):(r.assign((0,se._)`${n}.errors`,e),r.return(!1))}var Kn={keyword:new se.Name("keyword"),schemaPath:new se.Name("schemaPath"),params:new se.Name("params"),propertyName:new se.Name("propertyName"),message:new se.Name("message"),schema:new se.Name("schema"),parentSchema:new se.Name("parentSchema")};function ck(t,e,r){let{createErrors:n}=t.it;return n===!1?(0,se._)`{}`:HA(t,e,r)}function HA(t,e,r={}){let{gen:n,it:i}=t,a=[BA(i,r),VA(t,r)];return WA(t,e,a),n.object(...a)}function BA({errorPath:t},{instancePath:e}){let r=e?(0,se.str)`${t}${(0,ou.getErrorPath)(e,ou.Type.Str)}`:t;return[gt.default.instancePath,(0,se.strConcat)(gt.default.instancePath,r)]}function VA({keyword:t,it:{errSchemaPath:e}},{schemaPath:r,parentSchema:n}){let i=n?e:(0,se.str)`${e}/${t}`;return r&&(i=(0,se.str)`${i}${(0,ou.getErrorPath)(r,ou.Type.Str)}`),[Kn.schemaPath,i]}function WA(t,{params:e,message:r},n){let{keyword:i,data:a,schemaValue:o,it:s}=t,{opts:c,propertyName:l,topSchemaRef:u,schemaPath:p}=s;n.push([Kn.keyword,i],[Kn.params,typeof e=="function"?e(t):e||(0,se._)`{}`]),c.messages&&n.push([Kn.message,typeof r=="function"?r(t):r]),c.verbose&&n.push([Kn.schema,o],[Kn.parentSchema,(0,se._)`${u}${p}`],[gt.default.data,a]),l&&n.push([Kn.propertyName,l])}});var uk=y(Yi=>{"use strict";Object.defineProperty(Yi,"__esModule",{value:!0});Yi.boolOrEmptySchema=Yi.topBoolOrEmptySchema=void 0;var JA=ys(),GA=X(),KA=Kr(),XA={message:"boolean schema is false"};function YA(t){let{gen:e,schema:r,validateName:n}=t;r===!1?lk(t,!1):typeof r=="object"&&r.$async===!0?e.return(KA.default.data):(e.assign((0,GA._)`${n}.errors`,null),e.return(!0))}Yi.topBoolOrEmptySchema=YA;function QA(t,e){let{gen:r,schema:n}=t;n===!1?(r.var(e,!1),lk(t)):r.var(e,!0)}Yi.boolOrEmptySchema=QA;function lk(t,e){let{gen:r,data:n}=t,i={gen:r,keyword:"false schema",data:n,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:t};(0,JA.reportError)(i,XA,void 0,e)}});var bv=y(Qi=>{"use strict";Object.defineProperty(Qi,"__esModule",{value:!0});Qi.getRules=Qi.isJSONType=void 0;var e2=["string","number","integer","boolean","null","object","array"],t2=new Set(e2);function r2(t){return typeof t=="string"&&t2.has(t)}Qi.isJSONType=r2;function n2(){let t={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...t,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},t.number,t.string,t.array,t.object],post:{rules:[]},all:{},keywords:{}}}Qi.getRules=n2});var _v=y(hn=>{"use strict";Object.defineProperty(hn,"__esModule",{value:!0});hn.shouldUseRule=hn.shouldUseGroup=hn.schemaHasRulesForType=void 0;function i2({schema:t,self:e},r){let n=e.RULES.types[r];return n&&n!==!0&&pk(t,n)}hn.schemaHasRulesForType=i2;function pk(t,e){return e.rules.some(r=>dk(t,r))}hn.shouldUseGroup=pk;function dk(t,e){var r;return t[e.keyword]!==void 0||((r=e.definition.implements)===null||r===void 0?void 0:r.some(n=>t[n]!==void 0))}hn.shouldUseRule=dk});var xs=y(ut=>{"use strict";Object.defineProperty(ut,"__esModule",{value:!0});ut.reportTypeError=ut.checkDataTypes=ut.checkDataType=ut.coerceAndCheckDataType=ut.getJSONTypes=ut.getSchemaTypes=ut.DataType=void 0;var a2=bv(),o2=_v(),s2=ys(),G=X(),fk=le(),ea;(function(t){t[t.Correct=0]="Correct",t[t.Wrong=1]="Wrong"})(ea||(ut.DataType=ea={}));function c2(t){let e=mk(t.type);if(e.includes("null")){if(t.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!e.length&&t.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');t.nullable===!0&&e.push("null")}return e}ut.getSchemaTypes=c2;function mk(t){let e=Array.isArray(t)?t:t?[t]:[];if(e.every(a2.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}ut.getJSONTypes=mk;function l2(t,e){let{gen:r,data:n,opts:i}=t,a=u2(e,i.coerceTypes),o=e.length>0&&!(a.length===0&&e.length===1&&(0,o2.schemaHasRulesForType)(t,e[0]));if(o){let s=Sv(e,n,i.strictNumbers,ea.Wrong);r.if(s,()=>{a.length?p2(t,e,a):kv(t)})}return o}ut.coerceAndCheckDataType=l2;var hk=new Set(["string","number","integer","boolean","null"]);function u2(t,e){return e?t.filter(r=>hk.has(r)||e==="array"&&r==="array"):[]}function p2(t,e,r){let{gen:n,data:i,opts:a}=t,o=n.let("dataType",(0,G._)`typeof ${i}`),s=n.let("coerced",(0,G._)`undefined`);a.coerceTypes==="array"&&n.if((0,G._)`${o} == 'object' && Array.isArray(${i}) && ${i}.length == 1`,()=>n.assign(i,(0,G._)`${i}[0]`).assign(o,(0,G._)`typeof ${i}`).if(Sv(e,i,a.strictNumbers),()=>n.assign(s,i))),n.if((0,G._)`${s} !== undefined`);for(let l of r)(hk.has(l)||l==="array"&&a.coerceTypes==="array")&&c(l);n.else(),kv(t),n.endIf(),n.if((0,G._)`${s} !== undefined`,()=>{n.assign(i,s),d2(t,s)});function c(l){switch(l){case"string":n.elseIf((0,G._)`${o} == "number" || ${o} == "boolean"`).assign(s,(0,G._)`"" + ${i}`).elseIf((0,G._)`${i} === null`).assign(s,(0,G._)`""`);return;case"number":n.elseIf((0,G._)`${o} == "boolean" || ${i} === null
|
|
5
5
|
|| (${o} == "string" && ${i} && ${i} == +${i})`).assign(s,(0,G._)`+${i}`);return;case"integer":n.elseIf((0,G._)`${o} === "boolean" || ${i} === null
|
|
6
6
|
|| (${o} === "string" && ${i} && ${i} == +${i} && !(${i} % 1))`).assign(s,(0,G._)`+${i}`);return;case"boolean":n.elseIf((0,G._)`${i} === "false" || ${i} === 0 || ${i} === null`).assign(s,!1).elseIf((0,G._)`${i} === "true" || ${i} === 1`).assign(s,!0);return;case"null":n.elseIf((0,G._)`${i} === "" || ${i} === 0 || ${i} === false`),n.assign(s,null);return;case"array":n.elseIf((0,G._)`${o} === "string" || ${o} === "number"
|
|
7
|
-
|| ${o} === "boolean" || ${i} === null`).assign(s,(0,G._)`[${i}]`)}}}function d2({gen:t,parentData:e,parentDataProperty:r},n){t.if((0,G._)`${e} !== undefined`,()=>t.assign((0,G._)`${e}[${r}]`,n))}function wv(t,e,r,n=ea.Correct){let i=n===ea.Correct?G.operators.EQ:G.operators.NEQ,a;switch(t){case"null":return(0,G._)`${e} ${i} null`;case"array":a=(0,G._)`Array.isArray(${e})`;break;case"object":a=(0,G._)`${e} && typeof ${e} == "object" && !Array.isArray(${e})`;break;case"integer":a=o((0,G._)`!(${e} % 1) && !isNaN(${e})`);break;case"number":a=o();break;default:return(0,G._)`typeof ${e} ${i} ${t}`}return n===ea.Correct?a:(0,G.not)(a);function o(s=G.nil){return(0,G.and)((0,G._)`typeof ${e} == "number"`,s,r?(0,G._)`isFinite(${e})`:G.nil)}}lt.checkDataType=wv;function Sv(t,e,r,n){if(t.length===1)return wv(t[0],e,r,n);let i,a=(0,fk.toHash)(t);if(a.array&&a.object){let o=(0,G._)`typeof ${e} != "object"`;i=a.null?o:(0,G._)`!${e} || ${o}`,delete a.null,delete a.array,delete a.object}else i=G.nil;a.number&&delete a.integer;for(let o in a)i=(0,G.and)(i,wv(o,e,r,n));return i}lt.checkDataTypes=Sv;var f2={message:({schema:t})=>`must be ${t}`,params:({schema:t,schemaValue:e})=>typeof t=="string"?(0,G._)`{type: ${t}}`:(0,G._)`{type: ${e}}`};function kv(t){let e=m2(t);(0,s2.reportError)(e,f2)}lt.reportTypeError=kv;function m2(t){let{gen:e,data:r,schema:n}=t,i=(0,fk.schemaRefOrVal)(t,n,"type");return{gen:e,keyword:"type",data:r,schema:n.type,schemaCode:i,schemaValue:i,parentSchema:n,params:{},it:t}}});var vk=y(su=>{"use strict";Object.defineProperty(su,"__esModule",{value:!0});su.assignDefaults=void 0;var ta=X(),h2=le();function g2(t,e){let{properties:r,items:n}=t.schema;if(e==="object"&&r)for(let i in r)gk(t,i,r[i].default);else e==="array"&&Array.isArray(n)&&n.forEach((i,a)=>gk(t,a,i.default))}su.assignDefaults=g2;function gk(t,e,r){let{gen:n,compositeRule:i,data:a,opts:o}=t;if(r===void 0)return;let s=(0,ta._)`${a}${(0,ta.getProperty)(e)}`;if(i){(0,h2.checkStrictMode)(t,`default is ignored for: ${s}`);return}let c=(0,ta._)`${s} === undefined`;o.useDefaults==="empty"&&(c=(0,ta._)`${c} || ${s} === null || ${s} === ""`),n.if(c,(0,ta._)`${s} = ${(0,ta.stringify)(r)}`)}});var Gt=y(ve=>{"use strict";Object.defineProperty(ve,"__esModule",{value:!0});ve.validateUnion=ve.validateArray=ve.usePattern=ve.callValidateCode=ve.schemaProperties=ve.allSchemaProperties=ve.noPropertyInData=ve.propertyInData=ve.isOwnProperty=ve.hasPropFunc=ve.reportMissingProp=ve.checkMissingProp=ve.checkReportMissingProp=void 0;var Ee=X(),$v=le(),gn=Kr(),v2=le();function y2(t,e){let{gen:r,data:n,it:i}=t;r.if(Pv(r,n,e,i.opts.ownProperties),()=>{t.setParams({missingProperty:(0,Ee._)`${e}`},!0),t.error()})}ve.checkReportMissingProp=y2;function x2({gen:t,data:e,it:{opts:r}},n,i){return(0,Ee.or)(...n.map(a=>(0,Ee.and)(Pv(t,e,a,r.ownProperties),(0,Ee._)`${i} = ${a}`)))}ve.checkMissingProp=x2;function b2(t,e){t.setParams({missingProperty:e},!0),t.error()}ve.reportMissingProp=b2;function yk(t){return t.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,Ee._)`Object.prototype.hasOwnProperty`})}ve.hasPropFunc=yk;function Iv(t,e,r){return(0,Ee._)`${yk(t)}.call(${e}, ${r})`}ve.isOwnProperty=Iv;function _2(t,e,r,n){let i=(0,Ee._)`${e}${(0,Ee.getProperty)(r)} !== undefined`;return n?(0,Ee._)`${i} && ${Iv(t,e,r)}`:i}ve.propertyInData=_2;function Pv(t,e,r,n){let i=(0,Ee._)`${e}${(0,Ee.getProperty)(r)} === undefined`;return n?(0,Ee.or)(i,(0,Ee.not)(Iv(t,e,r))):i}ve.noPropertyInData=Pv;function xk(t){return t?Object.keys(t).filter(e=>e!=="__proto__"):[]}ve.allSchemaProperties=xk;function w2(t,e){return xk(e).filter(r=>!(0,$v.alwaysValidSchema)(t,e[r]))}ve.schemaProperties=w2;function S2({schemaCode:t,data:e,it:{gen:r,topSchemaRef:n,schemaPath:i,errorPath:a},it:o},s,c,l){let u=l?(0,Ee._)`${t}, ${e}, ${n}${i}`:e,p=[[gn.default.instancePath,(0,Ee.strConcat)(gn.default.instancePath,a)],[gn.default.parentData,o.parentData],[gn.default.parentDataProperty,o.parentDataProperty],[gn.default.rootData,gn.default.rootData]];o.opts.dynamicRef&&p.push([gn.default.dynamicAnchors,gn.default.dynamicAnchors]);let d=(0,Ee._)`${u}, ${r.object(...p)}`;return c!==Ee.nil?(0,Ee._)`${s}.call(${c}, ${d})`:(0,Ee._)`${s}(${d})`}ve.callValidateCode=S2;var k2=(0,Ee._)`new RegExp`;function $2({gen:t,it:{opts:e}},r){let n=e.unicodeRegExp?"u":"",{regExp:i}=e.code,a=i(r,n);return t.scopeValue("pattern",{key:a.toString(),ref:a,code:(0,Ee._)`${i.code==="new RegExp"?k2:(0,v2.useFunc)(t,i)}(${r}, ${n})`})}ve.usePattern=$2;function I2(t){let{gen:e,data:r,keyword:n,it:i}=t,a=e.name("valid");if(i.allErrors){let s=e.let("valid",!0);return o(()=>e.assign(s,!1)),s}return e.var(a,!0),o(()=>e.break()),a;function o(s){let c=e.const("len",(0,Ee._)`${r}.length`);e.forRange("i",0,c,l=>{t.subschema({keyword:n,dataProp:l,dataPropType:$v.Type.Num},a),e.if((0,Ee.not)(a),s)})}}ve.validateArray=I2;function P2(t){let{gen:e,schema:r,keyword:n,it:i}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(c=>(0,$v.alwaysValidSchema)(i,c))&&!i.opts.unevaluated)return;let o=e.let("valid",!1),s=e.name("_valid");e.block(()=>r.forEach((c,l)=>{let u=t.subschema({keyword:n,schemaProp:l,compositeRule:!0},s);e.assign(o,(0,Ee._)`${o} || ${s}`),t.mergeValidEvaluated(u,s)||e.if((0,Ee.not)(o))})),t.result(o,()=>t.reset(),()=>t.error(!0))}ve.validateUnion=P2});var wk=y(br=>{"use strict";Object.defineProperty(br,"__esModule",{value:!0});br.validateKeywordUsage=br.validSchemaType=br.funcKeywordCode=br.macroKeywordCode=void 0;var vt=X(),Xn=Kr(),E2=Gt(),T2=ys();function C2(t,e){let{gen:r,keyword:n,schema:i,parentSchema:a,it:o}=t,s=e.macro.call(o.self,i,a,o),c=_k(r,n,s);o.opts.validateSchema!==!1&&o.self.validateSchema(s,!0);let l=r.name("valid");t.subschema({schema:s,schemaPath:vt.nil,errSchemaPath:`${o.errSchemaPath}/${n}`,topSchemaRef:c,compositeRule:!0},l),t.pass(l,()=>t.error(!0))}br.macroKeywordCode=C2;function z2(t,e){var r;let{gen:n,keyword:i,schema:a,parentSchema:o,$data:s,it:c}=t;j2(c,e);let l=!s&&e.compile?e.compile.call(c.self,a,o,c):e.validate,u=_k(n,i,l),p=n.let("valid");t.block$data(p,d),t.ok((r=e.valid)!==null&&r!==void 0?r:p);function d(){if(e.errors===!1)h(),e.modifying&&bk(t),g(()=>t.error());else{let b=e.async?f():m();e.modifying&&bk(t),g(()=>R2(t,b))}}function f(){let b=n.let("ruleErrs",null);return n.try(()=>h((0,vt._)`await `),S=>n.assign(p,!1).if((0,vt._)`${S} instanceof ${c.ValidationError}`,()=>n.assign(b,(0,vt._)`${S}.errors`),()=>n.throw(S))),b}function m(){let b=(0,vt._)`${u}.errors`;return n.assign(b,null),h(vt.nil),b}function h(b=e.async?(0,vt._)`await `:vt.nil){let S=c.opts.passContext?Xn.default.this:Xn.default.self,_=!("compile"in e&&!s||e.schema===!1);n.assign(p,(0,vt._)`${b}${(0,E2.callValidateCode)(t,u,S,_)}`,e.modifying)}function g(b){var S;n.if((0,vt.not)((S=e.valid)!==null&&S!==void 0?S:p),b)}}br.funcKeywordCode=z2;function bk(t){let{gen:e,data:r,it:n}=t;e.if(n.parentData,()=>e.assign(r,(0,vt._)`${n.parentData}[${n.parentDataProperty}]`))}function R2(t,e){let{gen:r}=t;r.if((0,vt._)`Array.isArray(${e})`,()=>{r.assign(Xn.default.vErrors,(0,vt._)`${Xn.default.vErrors} === null ? ${e} : ${Xn.default.vErrors}.concat(${e})`).assign(Xn.default.errors,(0,vt._)`${Xn.default.vErrors}.length`),(0,T2.extendErrors)(t)},()=>t.error())}function j2({schemaEnv:t},e){if(e.async&&!t.$async)throw new Error("async keyword in sync schema")}function _k(t,e,r){if(r===void 0)throw new Error(`keyword "${e}" failed to compile`);return t.scopeValue("keyword",typeof r=="function"?{ref:r}:{ref:r,code:(0,vt.stringify)(r)})}function D2(t,e,r=!1){return!e.length||e.some(n=>n==="array"?Array.isArray(t):n==="object"?t&&typeof t=="object"&&!Array.isArray(t):typeof t==n||r&&typeof t>"u")}br.validSchemaType=D2;function O2({schema:t,opts:e,self:r,errSchemaPath:n},i,a){if(Array.isArray(i.keyword)?!i.keyword.includes(a):i.keyword!==a)throw new Error("ajv implementation error");let o=i.dependencies;if(o?.some(s=>!Object.prototype.hasOwnProperty.call(t,s)))throw new Error(`parent schema must have dependencies of ${a}: ${o.join(",")}`);if(i.validateSchema&&!i.validateSchema(t[a])){let c=`keyword "${a}" value is invalid at path "${n}": `+r.errorsText(i.validateSchema.errors);if(e.validateSchema==="log")r.logger.error(c);else throw new Error(c)}}br.validateKeywordUsage=O2});var kk=y(vn=>{"use strict";Object.defineProperty(vn,"__esModule",{value:!0});vn.extendSubschemaMode=vn.extendSubschemaData=vn.getSubschema=void 0;var _r=X(),Sk=le();function N2(t,{keyword:e,schemaProp:r,schema:n,schemaPath:i,errSchemaPath:a,topSchemaRef:o}){if(e!==void 0&&n!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(e!==void 0){let s=t.schema[e];return r===void 0?{schema:s,schemaPath:(0,_r._)`${t.schemaPath}${(0,_r.getProperty)(e)}`,errSchemaPath:`${t.errSchemaPath}/${e}`}:{schema:s[r],schemaPath:(0,_r._)`${t.schemaPath}${(0,_r.getProperty)(e)}${(0,_r.getProperty)(r)}`,errSchemaPath:`${t.errSchemaPath}/${e}/${(0,Sk.escapeFragment)(r)}`}}if(n!==void 0){if(i===void 0||a===void 0||o===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:n,schemaPath:i,topSchemaRef:o,errSchemaPath:a}}throw new Error('either "keyword" or "schema" must be passed')}vn.getSubschema=N2;function A2(t,e,{dataProp:r,dataPropType:n,data:i,dataTypes:a,propertyName:o}){if(i!==void 0&&r!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:s}=e;if(r!==void 0){let{errorPath:l,dataPathArr:u,opts:p}=e,d=s.let("data",(0,_r._)`${e.data}${(0,_r.getProperty)(r)}`,!0);c(d),t.errorPath=(0,_r.str)`${l}${(0,Sk.getErrorPath)(r,n,p.jsPropertySyntax)}`,t.parentDataProperty=(0,_r._)`${r}`,t.dataPathArr=[...u,t.parentDataProperty]}if(i!==void 0){let l=i instanceof _r.Name?i:s.let("data",i,!0);c(l),o!==void 0&&(t.propertyName=o)}a&&(t.dataTypes=a);function c(l){t.data=l,t.dataLevel=e.dataLevel+1,t.dataTypes=[],e.definedProperties=new Set,t.parentData=e.data,t.dataNames=[...e.dataNames,l]}}vn.extendSubschemaData=A2;function M2(t,{jtdDiscriminator:e,jtdMetadata:r,compositeRule:n,createErrors:i,allErrors:a}){n!==void 0&&(t.compositeRule=n),i!==void 0&&(t.createErrors=i),a!==void 0&&(t.allErrors=a),t.jtdDiscriminator=e,t.jtdMetadata=r}vn.extendSubschemaMode=M2});var Ev=y((Fie,$k)=>{"use strict";$k.exports=function t(e,r){if(e===r)return!0;if(e&&r&&typeof e=="object"&&typeof r=="object"){if(e.constructor!==r.constructor)return!1;var n,i,a;if(Array.isArray(e)){if(n=e.length,n!=r.length)return!1;for(i=n;i--!==0;)if(!t(e[i],r[i]))return!1;return!0}if(e.constructor===RegExp)return e.source===r.source&&e.flags===r.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===r.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===r.toString();if(a=Object.keys(e),n=a.length,n!==Object.keys(r).length)return!1;for(i=n;i--!==0;)if(!Object.prototype.hasOwnProperty.call(r,a[i]))return!1;for(i=n;i--!==0;){var o=a[i];if(!t(e[o],r[o]))return!1}return!0}return e!==e&&r!==r}});var Pk=y((qie,Ik)=>{"use strict";var yn=Ik.exports=function(t,e,r){typeof e=="function"&&(r=e,e={}),r=e.cb||r;var n=typeof r=="function"?r:r.pre||function(){},i=r.post||function(){};cu(e,n,i,t,"",t)};yn.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};yn.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};yn.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};yn.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 cu(t,e,r,n,i,a,o,s,c,l){if(n&&typeof n=="object"&&!Array.isArray(n)){e(n,i,a,o,s,c,l);for(var u in n){var p=n[u];if(Array.isArray(p)){if(u in yn.arrayKeywords)for(var d=0;d<p.length;d++)cu(t,e,r,p[d],i+"/"+u+"/"+d,a,i,u,n,d)}else if(u in yn.propsKeywords){if(p&&typeof p=="object")for(var f in p)cu(t,e,r,p[f],i+"/"+u+"/"+U2(f),a,i,u,n,f)}else(u in yn.keywords||t.allKeys&&!(u in yn.skipKeywords))&&cu(t,e,r,p,i+"/"+u,a,i,u,n)}r(n,i,a,o,s,c,l)}}function U2(t){return t.replace(/~/g,"~0").replace(/\//g,"~1")}});var bs=y(It=>{"use strict";Object.defineProperty(It,"__esModule",{value:!0});It.getSchemaRefs=It.resolveUrl=It.normalizeId=It._getFullPath=It.getFullPath=It.inlineRef=void 0;var F2=le(),q2=Ev(),L2=Pk(),Z2=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function H2(t,e=!0){return typeof t=="boolean"?!0:e===!0?!Tv(t):e?Ek(t)<=e:!1}It.inlineRef=H2;var B2=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function Tv(t){for(let e in t){if(B2.has(e))return!0;let r=t[e];if(Array.isArray(r)&&r.some(Tv)||typeof r=="object"&&Tv(r))return!0}return!1}function Ek(t){let e=0;for(let r in t){if(r==="$ref")return 1/0;if(e++,!Z2.has(r)&&(typeof t[r]=="object"&&(0,F2.eachItem)(t[r],n=>e+=Ek(n)),e===1/0))return 1/0}return e}function Tk(t,e="",r){r!==!1&&(e=ra(e));let n=t.parse(e);return Ck(t,n)}It.getFullPath=Tk;function Ck(t,e){return t.serialize(e).split("#")[0]+"#"}It._getFullPath=Ck;var V2=/#\/?$/;function ra(t){return t?t.replace(V2,""):""}It.normalizeId=ra;function W2(t,e,r){return r=ra(r),t.resolve(e,r)}It.resolveUrl=W2;var J2=/^[a-z_][-a-z0-9._]*$/i;function G2(t,e){if(typeof t=="boolean")return{};let{schemaId:r,uriResolver:n}=this.opts,i=ra(t[r]||e),a={"":i},o=Tk(n,i,!1),s={},c=new Set;return L2(t,{allKeys:!0},(p,d,f,m)=>{if(m===void 0)return;let h=o+d,g=a[m];typeof p[r]=="string"&&(g=b.call(this,p[r])),S.call(this,p.$anchor),S.call(this,p.$dynamicAnchor),a[d]=g;function b(_){let k=this.opts.uriResolver.resolve;if(_=ra(g?k(g,_):_),c.has(_))throw u(_);c.add(_);let $=this.refs[_];return typeof $=="string"&&($=this.refs[$]),typeof $=="object"?l(p,$.schema,_):_!==ra(h)&&(_[0]==="#"?(l(p,s[_],_),s[_]=p):this.refs[_]=h),_}function S(_){if(typeof _=="string"){if(!J2.test(_))throw new Error(`invalid anchor "${_}"`);b.call(this,`#${_}`)}}}),s;function l(p,d,f){if(d!==void 0&&!q2(p,d))throw u(f)}function u(p){return new Error(`reference "${p}" resolves to more than one schema`)}}It.getSchemaRefs=G2});var Ss=y(xn=>{"use strict";Object.defineProperty(xn,"__esModule",{value:!0});xn.getData=xn.KeywordCxt=xn.validateFunctionCode=void 0;var Ok=uk(),zk=xs(),zv=_v(),lu=xs(),K2=vk(),ws=wk(),Cv=kk(),O=X(),H=Kr(),X2=bs(),Xr=le(),_s=ys();function Y2(t){if(Mk(t)&&(Uk(t),Ak(t))){t8(t);return}Nk(t,()=>(0,Ok.topBoolOrEmptySchema)(t))}xn.validateFunctionCode=Y2;function Nk({gen:t,validateName:e,schema:r,schemaEnv:n,opts:i},a){i.code.es5?t.func(e,(0,O._)`${H.default.data}, ${H.default.valCxt}`,n.$async,()=>{t.code((0,O._)`"use strict"; ${Rk(r,i)}`),e8(t,i),t.code(a)}):t.func(e,(0,O._)`${H.default.data}, ${Q2(i)}`,n.$async,()=>t.code(Rk(r,i)).code(a))}function Q2(t){return(0,O._)`{${H.default.instancePath}="", ${H.default.parentData}, ${H.default.parentDataProperty}, ${H.default.rootData}=${H.default.data}${t.dynamicRef?(0,O._)`, ${H.default.dynamicAnchors}={}`:O.nil}}={}`}function e8(t,e){t.if(H.default.valCxt,()=>{t.var(H.default.instancePath,(0,O._)`${H.default.valCxt}.${H.default.instancePath}`),t.var(H.default.parentData,(0,O._)`${H.default.valCxt}.${H.default.parentData}`),t.var(H.default.parentDataProperty,(0,O._)`${H.default.valCxt}.${H.default.parentDataProperty}`),t.var(H.default.rootData,(0,O._)`${H.default.valCxt}.${H.default.rootData}`),e.dynamicRef&&t.var(H.default.dynamicAnchors,(0,O._)`${H.default.valCxt}.${H.default.dynamicAnchors}`)},()=>{t.var(H.default.instancePath,(0,O._)`""`),t.var(H.default.parentData,(0,O._)`undefined`),t.var(H.default.parentDataProperty,(0,O._)`undefined`),t.var(H.default.rootData,H.default.data),e.dynamicRef&&t.var(H.default.dynamicAnchors,(0,O._)`{}`)})}function t8(t){let{schema:e,opts:r,gen:n}=t;Nk(t,()=>{r.$comment&&e.$comment&&qk(t),o8(t),n.let(H.default.vErrors,null),n.let(H.default.errors,0),r.unevaluated&&r8(t),Fk(t),l8(t)})}function r8(t){let{gen:e,validateName:r}=t;t.evaluated=e.const("evaluated",(0,O._)`${r}.evaluated`),e.if((0,O._)`${t.evaluated}.dynamicProps`,()=>e.assign((0,O._)`${t.evaluated}.props`,(0,O._)`undefined`)),e.if((0,O._)`${t.evaluated}.dynamicItems`,()=>e.assign((0,O._)`${t.evaluated}.items`,(0,O._)`undefined`))}function Rk(t,e){let r=typeof t=="object"&&t[e.schemaId];return r&&(e.code.source||e.code.process)?(0,O._)`/*# sourceURL=${r} */`:O.nil}function n8(t,e){if(Mk(t)&&(Uk(t),Ak(t))){i8(t,e);return}(0,Ok.boolOrEmptySchema)(t,e)}function Ak({schema:t,self:e}){if(typeof t=="boolean")return!t;for(let r in t)if(e.RULES.all[r])return!0;return!1}function Mk(t){return typeof t.schema!="boolean"}function i8(t,e){let{schema:r,gen:n,opts:i}=t;i.$comment&&r.$comment&&qk(t),s8(t),c8(t);let a=n.const("_errs",H.default.errors);Fk(t,a),n.var(e,(0,O._)`${a} === ${H.default.errors}`)}function Uk(t){(0,Xr.checkUnknownRules)(t),a8(t)}function Fk(t,e){if(t.opts.jtd)return jk(t,[],!1,e);let r=(0,zk.getSchemaTypes)(t.schema),n=(0,zk.coerceAndCheckDataType)(t,r);jk(t,r,!n,e)}function a8(t){let{schema:e,errSchemaPath:r,opts:n,self:i}=t;e.$ref&&n.ignoreKeywordsWithRef&&(0,Xr.schemaHasRulesButRef)(e,i.RULES)&&i.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function o8(t){let{schema:e,opts:r}=t;e.default!==void 0&&r.useDefaults&&r.strictSchema&&(0,Xr.checkStrictMode)(t,"default is ignored in the schema root")}function s8(t){let e=t.schema[t.opts.schemaId];e&&(t.baseId=(0,X2.resolveUrl)(t.opts.uriResolver,t.baseId,e))}function c8(t){if(t.schema.$async&&!t.schemaEnv.$async)throw new Error("async schema in sync schema")}function qk({gen:t,schemaEnv:e,schema:r,errSchemaPath:n,opts:i}){let a=r.$comment;if(i.$comment===!0)t.code((0,O._)`${H.default.self}.logger.log(${a})`);else if(typeof i.$comment=="function"){let o=(0,O.str)`${n}/$comment`,s=t.scopeValue("root",{ref:e.root});t.code((0,O._)`${H.default.self}.opts.$comment(${a}, ${o}, ${s}.schema)`)}}function l8(t){let{gen:e,schemaEnv:r,validateName:n,ValidationError:i,opts:a}=t;r.$async?e.if((0,O._)`${H.default.errors} === 0`,()=>e.return(H.default.data),()=>e.throw((0,O._)`new ${i}(${H.default.vErrors})`)):(e.assign((0,O._)`${n}.errors`,H.default.vErrors),a.unevaluated&&u8(t),e.return((0,O._)`${H.default.errors} === 0`))}function u8({gen:t,evaluated:e,props:r,items:n}){r instanceof O.Name&&t.assign((0,O._)`${e}.props`,r),n instanceof O.Name&&t.assign((0,O._)`${e}.items`,n)}function jk(t,e,r,n){let{gen:i,schema:a,data:o,allErrors:s,opts:c,self:l}=t,{RULES:u}=l;if(a.$ref&&(c.ignoreKeywordsWithRef||!(0,Xr.schemaHasRulesButRef)(a,u))){i.block(()=>Zk(t,"$ref",u.all.$ref.definition));return}c.jtd||p8(t,e),i.block(()=>{for(let d of u.rules)p(d);p(u.post)});function p(d){(0,zv.shouldUseGroup)(a,d)&&(d.type?(i.if((0,lu.checkDataType)(d.type,o,c.strictNumbers)),Dk(t,d),e.length===1&&e[0]===d.type&&r&&(i.else(),(0,lu.reportTypeError)(t)),i.endIf()):Dk(t,d),s||i.if((0,O._)`${H.default.errors} === ${n||0}`))}}function Dk(t,e){let{gen:r,schema:n,opts:{useDefaults:i}}=t;i&&(0,K2.assignDefaults)(t,e.type),r.block(()=>{for(let a of e.rules)(0,zv.shouldUseRule)(n,a)&&Zk(t,a.keyword,a.definition,e.type)})}function p8(t,e){t.schemaEnv.meta||!t.opts.strictTypes||(d8(t,e),t.opts.allowUnionTypes||f8(t,e),m8(t,t.dataTypes))}function d8(t,e){if(e.length){if(!t.dataTypes.length){t.dataTypes=e;return}e.forEach(r=>{Lk(t.dataTypes,r)||Rv(t,`type "${r}" not allowed by context "${t.dataTypes.join(",")}"`)}),g8(t,e)}}function f8(t,e){e.length>1&&!(e.length===2&&e.includes("null"))&&Rv(t,"use allowUnionTypes to allow union type keyword")}function m8(t,e){let r=t.self.RULES.all;for(let n in r){let i=r[n];if(typeof i=="object"&&(0,zv.shouldUseRule)(t.schema,i)){let{type:a}=i.definition;a.length&&!a.some(o=>h8(e,o))&&Rv(t,`missing type "${a.join(",")}" for keyword "${n}"`)}}}function h8(t,e){return t.includes(e)||e==="number"&&t.includes("integer")}function Lk(t,e){return t.includes(e)||e==="integer"&&t.includes("number")}function g8(t,e){let r=[];for(let n of t.dataTypes)Lk(e,n)?r.push(n):e.includes("integer")&&n==="number"&&r.push("integer");t.dataTypes=r}function Rv(t,e){let r=t.schemaEnv.baseId+t.errSchemaPath;e+=` at "${r}" (strictTypes)`,(0,Xr.checkStrictMode)(t,e,t.opts.strictTypes)}var uu=class{constructor(e,r,n){if((0,ws.validateKeywordUsage)(e,r,n),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=n,this.data=e.data,this.schema=e.schema[n],this.$data=r.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,Xr.schemaRefOrVal)(e,this.schema,n,this.$data),this.schemaType=r.schemaType,this.parentSchema=e.schema,this.params={},this.it=e,this.def=r,this.$data)this.schemaCode=e.gen.const("vSchema",Hk(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,ws.validSchemaType)(this.schema,r.schemaType,r.allowUndefined))throw new Error(`${n} value must be ${JSON.stringify(r.schemaType)}`);("code"in r?r.trackErrors:r.errors!==!1)&&(this.errsCount=e.gen.const("_errs",H.default.errors))}result(e,r,n){this.failResult((0,O.not)(e),r,n)}failResult(e,r,n){this.gen.if(e),n?n():this.error(),r?(this.gen.else(),r(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(e,r){this.failResult((0,O.not)(e),void 0,r)}fail(e){if(e===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(e),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(e){if(!this.$data)return this.fail(e);let{schemaCode:r}=this;this.fail((0,O._)`${r} !== undefined && (${(0,O.or)(this.invalid$data(),e)})`)}error(e,r,n){if(r){this.setParams(r),this._error(e,n),this.setParams({});return}this._error(e,n)}_error(e,r){(e?_s.reportExtraError:_s.reportError)(this,this.def.error,r)}$dataError(){(0,_s.reportError)(this,this.def.$dataError||_s.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,_s.resetErrorsCount)(this.gen,this.errsCount)}ok(e){this.allErrors||this.gen.if(e)}setParams(e,r){r?Object.assign(this.params,e):this.params=e}block$data(e,r,n=O.nil){this.gen.block(()=>{this.check$data(e,n),r()})}check$data(e=O.nil,r=O.nil){if(!this.$data)return;let{gen:n,schemaCode:i,schemaType:a,def:o}=this;n.if((0,O.or)((0,O._)`${i} === undefined`,r)),e!==O.nil&&n.assign(e,!0),(a.length||o.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),e!==O.nil&&n.assign(e,!1)),n.else()}invalid$data(){let{gen:e,schemaCode:r,schemaType:n,def:i,it:a}=this;return(0,O.or)(o(),s());function o(){if(n.length){if(!(r instanceof O.Name))throw new Error("ajv implementation error");let c=Array.isArray(n)?n:[n];return(0,O._)`${(0,lu.checkDataTypes)(c,r,a.opts.strictNumbers,lu.DataType.Wrong)}`}return O.nil}function s(){if(i.validateSchema){let c=e.scopeValue("validate$data",{ref:i.validateSchema});return(0,O._)`!${c}(${r})`}return O.nil}}subschema(e,r){let n=(0,Cv.getSubschema)(this.it,e);(0,Cv.extendSubschemaData)(n,this.it,e),(0,Cv.extendSubschemaMode)(n,e);let i={...this.it,...n,items:void 0,props:void 0};return n8(i,r),i}mergeEvaluated(e,r){let{it:n,gen:i}=this;n.opts.unevaluated&&(n.props!==!0&&e.props!==void 0&&(n.props=Xr.mergeEvaluated.props(i,e.props,n.props,r)),n.items!==!0&&e.items!==void 0&&(n.items=Xr.mergeEvaluated.items(i,e.items,n.items,r)))}mergeValidEvaluated(e,r){let{it:n,gen:i}=this;if(n.opts.unevaluated&&(n.props!==!0||n.items!==!0))return i.if(r,()=>this.mergeEvaluated(e,O.Name)),!0}};xn.KeywordCxt=uu;function Zk(t,e,r,n){let i=new uu(t,r,e);"code"in r?r.code(i,n):i.$data&&r.validate?(0,ws.funcKeywordCode)(i,r):"macro"in r?(0,ws.macroKeywordCode)(i,r):(r.compile||r.validate)&&(0,ws.funcKeywordCode)(i,r)}var v8=/^\/(?:[^~]|~0|~1)*$/,y8=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function Hk(t,{dataLevel:e,dataNames:r,dataPathArr:n}){let i,a;if(t==="")return H.default.rootData;if(t[0]==="/"){if(!v8.test(t))throw new Error(`Invalid JSON-pointer: ${t}`);i=t,a=H.default.rootData}else{let l=y8.exec(t);if(!l)throw new Error(`Invalid JSON-pointer: ${t}`);let u=+l[1];if(i=l[2],i==="#"){if(u>=e)throw new Error(c("property/index",u));return n[e-u]}if(u>e)throw new Error(c("data",u));if(a=r[e-u],!i)return a}let o=a,s=i.split("/");for(let l of s)l&&(a=(0,O._)`${a}${(0,O.getProperty)((0,Xr.unescapeJsonPointer)(l))}`,o=(0,O._)`${o} && ${a}`);return o;function c(l,u){return`Cannot access ${l} ${u} levels up, current level is ${e}`}}xn.getData=Hk});var pu=y(Dv=>{"use strict";Object.defineProperty(Dv,"__esModule",{value:!0});var jv=class extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}};Dv.default=jv});var ks=y(Av=>{"use strict";Object.defineProperty(Av,"__esModule",{value:!0});var Ov=bs(),Nv=class extends Error{constructor(e,r,n,i){super(i||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0,Ov.resolveUrl)(e,r,n),this.missingSchema=(0,Ov.normalizeId)((0,Ov.getFullPath)(e,this.missingRef))}};Av.default=Nv});var fu=y(Kt=>{"use strict";Object.defineProperty(Kt,"__esModule",{value:!0});Kt.resolveSchema=Kt.getCompilingSchema=Kt.resolveRef=Kt.compileSchema=Kt.SchemaEnv=void 0;var sr=X(),x8=pu(),Yn=Kr(),cr=bs(),Bk=le(),b8=Ss(),na=class{constructor(e){var r;this.refs={},this.dynamicAnchors={};let n;typeof e.schema=="object"&&(n=e.schema),this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=(r=e.baseId)!==null&&r!==void 0?r:(0,cr.normalizeId)(n?.[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=n?.$async,this.refs={}}};Kt.SchemaEnv=na;function Uv(t){let e=Vk.call(this,t);if(e)return e;let r=(0,cr.getFullPath)(this.opts.uriResolver,t.root.baseId),{es5:n,lines:i}=this.opts.code,{ownProperties:a}=this.opts,o=new sr.CodeGen(this.scope,{es5:n,lines:i,ownProperties:a}),s;t.$async&&(s=o.scopeValue("Error",{ref:x8.default,code:(0,sr._)`require("ajv/dist/runtime/validation_error").default`}));let c=o.scopeName("validate");t.validateName=c;let l={gen:o,allErrors:this.opts.allErrors,data:Yn.default.data,parentData:Yn.default.parentData,parentDataProperty:Yn.default.parentDataProperty,dataNames:[Yn.default.data],dataPathArr:[sr.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:o.scopeValue("schema",this.opts.code.source===!0?{ref:t.schema,code:(0,sr.stringify)(t.schema)}:{ref:t.schema}),validateName:c,ValidationError:s,schema:t.schema,schemaEnv:t,rootId:r,baseId:t.baseId||r,schemaPath:sr.nil,errSchemaPath:t.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,sr._)`""`,opts:this.opts,self:this},u;try{this._compilations.add(t),(0,b8.validateFunctionCode)(l),o.optimize(this.opts.code.optimize);let p=o.toString();u=`${o.scopeRefs(Yn.default.scope)}return ${p}`,this.opts.code.process&&(u=this.opts.code.process(u,t));let f=new Function(`${Yn.default.self}`,`${Yn.default.scope}`,u)(this,this.scope.get());if(this.scope.value(c,{ref:f}),f.errors=null,f.schema=t.schema,f.schemaEnv=t,t.$async&&(f.$async=!0),this.opts.code.source===!0&&(f.source={validateName:c,validateCode:p,scopeValues:o._values}),this.opts.unevaluated){let{props:m,items:h}=l;f.evaluated={props:m instanceof sr.Name?void 0:m,items:h instanceof sr.Name?void 0:h,dynamicProps:m instanceof sr.Name,dynamicItems:h instanceof sr.Name},f.source&&(f.source.evaluated=(0,sr.stringify)(f.evaluated))}return t.validate=f,t}catch(p){throw delete t.validate,delete t.validateName,u&&this.logger.error("Error compiling schema, function code:",u),p}finally{this._compilations.delete(t)}}Kt.compileSchema=Uv;function _8(t,e,r){var n;r=(0,cr.resolveUrl)(this.opts.uriResolver,e,r);let i=t.refs[r];if(i)return i;let a=k8.call(this,t,r);if(a===void 0){let o=(n=t.localRefs)===null||n===void 0?void 0:n[r],{schemaId:s}=this.opts;o&&(a=new na({schema:o,schemaId:s,root:t,baseId:e}))}if(a!==void 0)return t.refs[r]=w8.call(this,a)}Kt.resolveRef=_8;function w8(t){return(0,cr.inlineRef)(t.schema,this.opts.inlineRefs)?t.schema:t.validate?t:Uv.call(this,t)}function Vk(t){for(let e of this._compilations)if(S8(e,t))return e}Kt.getCompilingSchema=Vk;function S8(t,e){return t.schema===e.schema&&t.root===e.root&&t.baseId===e.baseId}function k8(t,e){let r;for(;typeof(r=this.refs[e])=="string";)e=r;return r||this.schemas[e]||du.call(this,t,e)}function du(t,e){let r=this.opts.uriResolver.parse(e),n=(0,cr._getFullPath)(this.opts.uriResolver,r),i=(0,cr.getFullPath)(this.opts.uriResolver,t.baseId,void 0);if(Object.keys(t.schema).length>0&&n===i)return Mv.call(this,r,t);let a=(0,cr.normalizeId)(n),o=this.refs[a]||this.schemas[a];if(typeof o=="string"){let s=du.call(this,t,o);return typeof s?.schema!="object"?void 0:Mv.call(this,r,s)}if(typeof o?.schema=="object"){if(o.validate||Uv.call(this,o),a===(0,cr.normalizeId)(e)){let{schema:s}=o,{schemaId:c}=this.opts,l=s[c];return l&&(i=(0,cr.resolveUrl)(this.opts.uriResolver,i,l)),new na({schema:s,schemaId:c,root:t,baseId:i})}return Mv.call(this,r,o)}}Kt.resolveSchema=du;var $8=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function Mv(t,{baseId:e,schema:r,root:n}){var i;if(((i=t.fragment)===null||i===void 0?void 0:i[0])!=="/")return;for(let s of t.fragment.slice(1).split("/")){if(typeof r=="boolean")return;let c=r[(0,Bk.unescapeFragment)(s)];if(c===void 0)return;r=c;let l=typeof r=="object"&&r[this.opts.schemaId];!$8.has(s)&&l&&(e=(0,cr.resolveUrl)(this.opts.uriResolver,e,l))}let a;if(typeof r!="boolean"&&r.$ref&&!(0,Bk.schemaHasRulesButRef)(r,this.RULES)){let s=(0,cr.resolveUrl)(this.opts.uriResolver,e,r.$ref);a=du.call(this,n,s)}let{schemaId:o}=this.opts;if(a=a||new na({schema:r,schemaId:o,root:n,baseId:e}),a.schema!==a.root.schema)return a}});var Wk=y((Wie,I8)=>{I8.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 qv=y((Jie,Xk)=>{"use strict";var P8=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),Gk=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 Fv(t){let e="",r=0,n=0;for(n=0;n<t.length;n++)if(r=t[n].charCodeAt(0),r!==48){if(!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";e+=t[n];break}for(n+=1;n<t.length;n++){if(r=t[n].charCodeAt(0),!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";e+=t[n]}return e}var E8=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function Jk(t){return t.length=0,!0}function T8(t,e,r){if(t.length){let n=Fv(t);if(n!=="")e.push(n);else return r.error=!0,!1;t.length=0}return!0}function C8(t){let e=0,r={error:!1,address:"",zone:""},n=[],i=[],a=!1,o=!1,s=T8;for(let c=0;c<t.length;c++){let l=t[c];if(!(l==="["||l==="]"))if(l===":"){if(a===!0&&(o=!0),!s(i,n,r))break;if(++e>7){r.error=!0;break}c>0&&t[c-1]===":"&&(a=!0),n.push(":");continue}else if(l==="%"){if(!s(i,n,r))break;s=Jk}else{i.push(l);continue}}return i.length&&(s===Jk?r.zone=i.join(""):o?n.push(i.join("")):n.push(Fv(i))),r.address=n.join(""),r}function Kk(t){if(z8(t,":")<2)return{host:t,isIPV6:!1};let e=C8(t);if(e.error)return{host:t,isIPV6:!1};{let r=e.address,n=e.address;return e.zone&&(r+="%"+e.zone,n+="%25"+e.zone),{host:r,isIPV6:!0,escapedHost:n}}}function z8(t,e){let r=0;for(let n=0;n<t.length;n++)t[n]===e&&r++;return r}function R8(t){let e=t,r=[],n=-1,i=0;for(;i=e.length;){if(i===1){if(e===".")break;if(e==="/"){r.push("/");break}else{r.push(e);break}}else if(i===2){if(e[0]==="."){if(e[1]===".")break;if(e[1]==="/"){e=e.slice(2);continue}}else if(e[0]==="/"&&(e[1]==="."||e[1]==="/")){r.push("/");break}}else if(i===3&&e==="/.."){r.length!==0&&r.pop(),r.push("/");break}if(e[0]==="."){if(e[1]==="."){if(e[2]==="/"){e=e.slice(3);continue}}else if(e[1]==="/"){e=e.slice(2);continue}}else if(e[0]==="/"&&e[1]==="."){if(e[2]==="/"){e=e.slice(2);continue}else if(e[2]==="."&&e[3]==="/"){e=e.slice(3),r.length!==0&&r.pop();continue}}if((n=e.indexOf("/",1))===-1){r.push(e);break}else r.push(e.slice(0,n)),e=e.slice(n)}return r.join("")}function j8(t,e){let r=e!==!0?escape:unescape;return t.scheme!==void 0&&(t.scheme=r(t.scheme)),t.userinfo!==void 0&&(t.userinfo=r(t.userinfo)),t.host!==void 0&&(t.host=r(t.host)),t.path!==void 0&&(t.path=r(t.path)),t.query!==void 0&&(t.query=r(t.query)),t.fragment!==void 0&&(t.fragment=r(t.fragment)),t}function D8(t){let e=[];if(t.userinfo!==void 0&&(e.push(t.userinfo),e.push("@")),t.host!==void 0){let r=unescape(t.host);if(!Gk(r)){let n=Kk(r);n.isIPV6===!0?r=`[${n.escapedHost}]`:r=t.host}e.push(r)}return(typeof t.port=="number"||typeof t.port=="string")&&(e.push(":"),e.push(String(t.port))),e.length?e.join(""):void 0}Xk.exports={nonSimpleDomain:E8,recomposeAuthority:D8,normalizeComponentEncoding:j8,removeDotSegments:R8,isIPv4:Gk,isUUID:P8,normalizeIPv6:Kk,stringArrayToHexStripped:Fv}});var r1=y((Gie,t1)=>{"use strict";var{isUUID:O8}=qv(),N8=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,A8=["http","https","ws","wss","urn","urn:uuid"];function M8(t){return A8.indexOf(t)!==-1}function Lv(t){return t.secure===!0?!0:t.secure===!1?!1:t.scheme?t.scheme.length===3&&(t.scheme[0]==="w"||t.scheme[0]==="W")&&(t.scheme[1]==="s"||t.scheme[1]==="S")&&(t.scheme[2]==="s"||t.scheme[2]==="S"):!1}function Yk(t){return t.host||(t.error=t.error||"HTTP URIs must have a host."),t}function Qk(t){let e=String(t.scheme).toLowerCase()==="https";return(t.port===(e?443:80)||t.port==="")&&(t.port=void 0),t.path||(t.path="/"),t}function U8(t){return t.secure=Lv(t),t.resourceName=(t.path||"/")+(t.query?"?"+t.query:""),t.path=void 0,t.query=void 0,t}function F8(t){if((t.port===(Lv(t)?443:80)||t.port==="")&&(t.port=void 0),typeof t.secure=="boolean"&&(t.scheme=t.secure?"wss":"ws",t.secure=void 0),t.resourceName){let[e,r]=t.resourceName.split("?");t.path=e&&e!=="/"?e:void 0,t.query=r,t.resourceName=void 0}return t.fragment=void 0,t}function q8(t,e){if(!t.path)return t.error="URN can not be parsed",t;let r=t.path.match(N8);if(r){let n=e.scheme||t.scheme||"urn";t.nid=r[1].toLowerCase(),t.nss=r[2];let i=`${n}:${e.nid||t.nid}`,a=Zv(i);t.path=void 0,a&&(t=a.parse(t,e))}else t.error=t.error||"URN can not be parsed.";return t}function L8(t,e){if(t.nid===void 0)throw new Error("URN without nid cannot be serialized");let r=e.scheme||t.scheme||"urn",n=t.nid.toLowerCase(),i=`${r}:${e.nid||n}`,a=Zv(i);a&&(t=a.serialize(t,e));let o=t,s=t.nss;return o.path=`${n||e.nid}:${s}`,e.skipEscape=!0,o}function Z8(t,e){let r=t;return r.uuid=r.nss,r.nss=void 0,!e.tolerant&&(!r.uuid||!O8(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function H8(t){let e=t;return e.nss=(t.uuid||"").toLowerCase(),e}var e1={scheme:"http",domainHost:!0,parse:Yk,serialize:Qk},B8={scheme:"https",domainHost:e1.domainHost,parse:Yk,serialize:Qk},mu={scheme:"ws",domainHost:!0,parse:U8,serialize:F8},V8={scheme:"wss",domainHost:mu.domainHost,parse:mu.parse,serialize:mu.serialize},W8={scheme:"urn",parse:q8,serialize:L8,skipNormalize:!0},J8={scheme:"urn:uuid",parse:Z8,serialize:H8,skipNormalize:!0},hu={http:e1,https:B8,ws:mu,wss:V8,urn:W8,"urn:uuid":J8};Object.setPrototypeOf(hu,null);function Zv(t){return t&&(hu[t]||hu[t.toLowerCase()])||void 0}t1.exports={wsIsSecure:Lv,SCHEMES:hu,isValidSchemeName:M8,getSchemeHandler:Zv}});var a1=y((Kie,vu)=>{"use strict";var{normalizeIPv6:G8,removeDotSegments:$s,recomposeAuthority:K8,normalizeComponentEncoding:gu,isIPv4:X8,nonSimpleDomain:Y8}=qv(),{SCHEMES:Q8,getSchemeHandler:n1}=r1();function eM(t,e){return typeof t=="string"?t=wr(Yr(t,e),e):typeof t=="object"&&(t=Yr(wr(t,e),e)),t}function tM(t,e,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},i=i1(Yr(t,n),Yr(e,n),n,!0);return n.skipEscape=!0,wr(i,n)}function i1(t,e,r,n){let i={};return n||(t=Yr(wr(t,r),r),e=Yr(wr(e,r),r)),r=r||{},!r.tolerant&&e.scheme?(i.scheme=e.scheme,i.userinfo=e.userinfo,i.host=e.host,i.port=e.port,i.path=$s(e.path||""),i.query=e.query):(e.userinfo!==void 0||e.host!==void 0||e.port!==void 0?(i.userinfo=e.userinfo,i.host=e.host,i.port=e.port,i.path=$s(e.path||""),i.query=e.query):(e.path?(e.path[0]==="/"?i.path=$s(e.path):((t.userinfo!==void 0||t.host!==void 0||t.port!==void 0)&&!t.path?i.path="/"+e.path:t.path?i.path=t.path.slice(0,t.path.lastIndexOf("/")+1)+e.path:i.path=e.path,i.path=$s(i.path)),i.query=e.query):(i.path=t.path,e.query!==void 0?i.query=e.query:i.query=t.query),i.userinfo=t.userinfo,i.host=t.host,i.port=t.port),i.scheme=t.scheme),i.fragment=e.fragment,i}function rM(t,e,r){return typeof t=="string"?(t=unescape(t),t=wr(gu(Yr(t,r),!0),{...r,skipEscape:!0})):typeof t=="object"&&(t=wr(gu(t,!0),{...r,skipEscape:!0})),typeof e=="string"?(e=unescape(e),e=wr(gu(Yr(e,r),!0),{...r,skipEscape:!0})):typeof e=="object"&&(e=wr(gu(e,!0),{...r,skipEscape:!0})),t.toLowerCase()===e.toLowerCase()}function wr(t,e){let r={host:t.host,scheme:t.scheme,userinfo:t.userinfo,port:t.port,path:t.path,query:t.query,nid:t.nid,nss:t.nss,uuid:t.uuid,fragment:t.fragment,reference:t.reference,resourceName:t.resourceName,secure:t.secure,error:""},n=Object.assign({},e),i=[],a=n1(n.scheme||r.scheme);a&&a.serialize&&a.serialize(r,n),r.path!==void 0&&(n.skipEscape?r.path=unescape(r.path):(r.path=escape(r.path),r.scheme!==void 0&&(r.path=r.path.split("%3A").join(":")))),n.reference!=="suffix"&&r.scheme&&i.push(r.scheme,":");let o=K8(r);if(o!==void 0&&(n.reference!=="suffix"&&i.push("//"),i.push(o),r.path&&r.path[0]!=="/"&&i.push("/")),r.path!==void 0){let s=r.path;!n.absolutePath&&(!a||!a.absolutePath)&&(s=$s(s)),o===void 0&&s[0]==="/"&&s[1]==="/"&&(s="/%2F"+s.slice(2)),i.push(s)}return r.query!==void 0&&i.push("?",r.query),r.fragment!==void 0&&i.push("#",r.fragment),i.join("")}var nM=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function Yr(t,e){let r=Object.assign({},e),n={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},i=!1;r.reference==="suffix"&&(r.scheme?t=r.scheme+":"+t:t="//"+t);let a=t.match(nM);if(a){if(n.scheme=a[1],n.userinfo=a[3],n.host=a[4],n.port=parseInt(a[5],10),n.path=a[6]||"",n.query=a[7],n.fragment=a[8],isNaN(n.port)&&(n.port=a[5]),n.host)if(X8(n.host)===!1){let c=G8(n.host);n.host=c.host.toLowerCase(),i=c.isIPV6}else i=!0;n.scheme===void 0&&n.userinfo===void 0&&n.host===void 0&&n.port===void 0&&n.query===void 0&&!n.path?n.reference="same-document":n.scheme===void 0?n.reference="relative":n.fragment===void 0?n.reference="absolute":n.reference="uri",r.reference&&r.reference!=="suffix"&&r.reference!==n.reference&&(n.error=n.error||"URI is not a "+r.reference+" reference.");let o=n1(r.scheme||n.scheme);if(!r.unicodeSupport&&(!o||!o.unicodeSupport)&&n.host&&(r.domainHost||o&&o.domainHost)&&i===!1&&Y8(n.host))try{n.host=URL.domainToASCII(n.host.toLowerCase())}catch(s){n.error=n.error||"Host's domain name can not be converted to ASCII: "+s}(!o||o&&!o.skipNormalize)&&(t.indexOf("%")!==-1&&(n.scheme!==void 0&&(n.scheme=unescape(n.scheme)),n.host!==void 0&&(n.host=unescape(n.host))),n.path&&(n.path=escape(unescape(n.path))),n.fragment&&(n.fragment=encodeURI(decodeURIComponent(n.fragment)))),o&&o.parse&&o.parse(n,r)}else n.error=n.error||"URI can not be parsed.";return n}var Hv={SCHEMES:Q8,normalize:eM,resolve:tM,resolveComponent:i1,equal:rM,serialize:wr,parse:Yr};vu.exports=Hv;vu.exports.default=Hv;vu.exports.fastUri=Hv});var s1=y(Bv=>{"use strict";Object.defineProperty(Bv,"__esModule",{value:!0});var o1=a1();o1.code='require("ajv/dist/runtime/uri").default';Bv.default=o1});var h1=y(rt=>{"use strict";Object.defineProperty(rt,"__esModule",{value:!0});rt.CodeGen=rt.Name=rt.nil=rt.stringify=rt.str=rt._=rt.KeywordCxt=void 0;var iM=Ss();Object.defineProperty(rt,"KeywordCxt",{enumerable:!0,get:function(){return iM.KeywordCxt}});var ia=X();Object.defineProperty(rt,"_",{enumerable:!0,get:function(){return ia._}});Object.defineProperty(rt,"str",{enumerable:!0,get:function(){return ia.str}});Object.defineProperty(rt,"stringify",{enumerable:!0,get:function(){return ia.stringify}});Object.defineProperty(rt,"nil",{enumerable:!0,get:function(){return ia.nil}});Object.defineProperty(rt,"Name",{enumerable:!0,get:function(){return ia.Name}});Object.defineProperty(rt,"CodeGen",{enumerable:!0,get:function(){return ia.CodeGen}});var aM=pu(),d1=ks(),oM=bv(),Is=fu(),sM=X(),Ps=bs(),yu=xs(),Wv=le(),c1=Wk(),cM=s1(),f1=(t,e)=>new RegExp(t,e);f1.code="new RegExp";var lM=["removeAdditional","useDefaults","coerceTypes"],uM=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),pM={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."},dM={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},l1=200;function fM(t){var e,r,n,i,a,o,s,c,l,u,p,d,f,m,h,g,b,S,_,k,$,N,Z,me,Je;let He=t.strict,rr=(e=t.code)===null||e===void 0?void 0:e.optimize,Nr=rr===!0||rr===void 0?1:rr||0,wt=(n=(r=t.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:f1,gr=(i=t.uriResolver)!==null&&i!==void 0?i:cM.default;return{strictSchema:(o=(a=t.strictSchema)!==null&&a!==void 0?a:He)!==null&&o!==void 0?o:!0,strictNumbers:(c=(s=t.strictNumbers)!==null&&s!==void 0?s:He)!==null&&c!==void 0?c:!0,strictTypes:(u=(l=t.strictTypes)!==null&&l!==void 0?l:He)!==null&&u!==void 0?u:"log",strictTuples:(d=(p=t.strictTuples)!==null&&p!==void 0?p:He)!==null&&d!==void 0?d:"log",strictRequired:(m=(f=t.strictRequired)!==null&&f!==void 0?f:He)!==null&&m!==void 0?m:!1,code:t.code?{...t.code,optimize:Nr,regExp:wt}:{optimize:Nr,regExp:wt},loopRequired:(h=t.loopRequired)!==null&&h!==void 0?h:l1,loopEnum:(g=t.loopEnum)!==null&&g!==void 0?g:l1,meta:(b=t.meta)!==null&&b!==void 0?b:!0,messages:(S=t.messages)!==null&&S!==void 0?S:!0,inlineRefs:(_=t.inlineRefs)!==null&&_!==void 0?_:!0,schemaId:(k=t.schemaId)!==null&&k!==void 0?k:"$id",addUsedSchema:($=t.addUsedSchema)!==null&&$!==void 0?$:!0,validateSchema:(N=t.validateSchema)!==null&&N!==void 0?N:!0,validateFormats:(Z=t.validateFormats)!==null&&Z!==void 0?Z:!0,unicodeRegExp:(me=t.unicodeRegExp)!==null&&me!==void 0?me:!0,int32range:(Je=t.int32range)!==null&&Je!==void 0?Je:!0,uriResolver:gr}}var Es=class{constructor(e={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,...fM(e)};let{es5:r,lines:n}=this.opts.code;this.scope=new sM.ValueScope({scope:{},prefixes:uM,es5:r,lines:n}),this.logger=xM(e.logger);let i=e.validateFormats;e.validateFormats=!1,this.RULES=(0,oM.getRules)(),u1.call(this,pM,e,"NOT SUPPORTED"),u1.call(this,dM,e,"DEPRECATED","warn"),this._metaOpts=vM.call(this),e.formats&&hM.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&gM.call(this,e.keywords),typeof e.meta=="object"&&this.addMetaSchema(e.meta),mM.call(this),e.validateFormats=i}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:e,meta:r,schemaId:n}=this.opts,i=c1;n==="id"&&(i={...c1},i.id=i.$id,delete i.$id),r&&e&&this.addMetaSchema(i,i[n],!1)}defaultMeta(){let{meta:e,schemaId:r}=this.opts;return this.opts.defaultMeta=typeof e=="object"?e[r]||e:void 0}validate(e,r){let n;if(typeof e=="string"){if(n=this.getSchema(e),!n)throw new Error(`no schema with key or ref "${e}"`)}else n=this.compile(e);let i=n(r);return"$async"in n||(this.errors=n.errors),i}compile(e,r){let n=this._addSchema(e,r);return n.validate||this._compileSchemaEnv(n)}compileAsync(e,r){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:n}=this.opts;return i.call(this,e,r);async function i(u,p){await a.call(this,u.$schema);let d=this._addSchema(u,p);return d.validate||o.call(this,d)}async function a(u){u&&!this.getSchema(u)&&await i.call(this,{$ref:u},!0)}async function o(u){try{return this._compileSchemaEnv(u)}catch(p){if(!(p instanceof d1.default))throw p;return s.call(this,p),await c.call(this,p.missingSchema),o.call(this,u)}}function s({missingSchema:u,missingRef:p}){if(this.refs[u])throw new Error(`AnySchema ${u} is loaded but ${p} cannot be resolved`)}async function c(u){let p=await l.call(this,u);this.refs[u]||await a.call(this,p.$schema),this.refs[u]||this.addSchema(p,u,r)}async function l(u){let p=this._loading[u];if(p)return p;try{return await(this._loading[u]=n(u))}finally{delete this._loading[u]}}}addSchema(e,r,n,i=this.opts.validateSchema){if(Array.isArray(e)){for(let o of e)this.addSchema(o,void 0,n,i);return this}let a;if(typeof e=="object"){let{schemaId:o}=this.opts;if(a=e[o],a!==void 0&&typeof a!="string")throw new Error(`schema ${o} must be string`)}return r=(0,Ps.normalizeId)(r||a),this._checkUnique(r),this.schemas[r]=this._addSchema(e,n,r,i,!0),this}addMetaSchema(e,r,n=this.opts.validateSchema){return this.addSchema(e,r,!0,n),this}validateSchema(e,r){if(typeof e=="boolean")return!0;let n;if(n=e.$schema,n!==void 0&&typeof n!="string")throw new Error("$schema must be a string");if(n=n||this.opts.defaultMeta||this.defaultMeta(),!n)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let i=this.validate(n,e);if(!i&&r){let a="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(a);else throw new Error(a)}return i}getSchema(e){let r;for(;typeof(r=p1.call(this,e))=="string";)e=r;if(r===void 0){let{schemaId:n}=this.opts,i=new Is.SchemaEnv({schema:{},schemaId:n});if(r=Is.resolveSchema.call(this,i,e),!r)return;this.refs[e]=r}return r.validate||this._compileSchemaEnv(r)}removeSchema(e){if(e instanceof RegExp)return this._removeAllSchemas(this.schemas,e),this._removeAllSchemas(this.refs,e),this;switch(typeof e){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let r=p1.call(this,e);return typeof r=="object"&&this._cache.delete(r.schema),delete this.schemas[e],delete this.refs[e],this}case"object":{let r=e;this._cache.delete(r);let n=e[this.opts.schemaId];return n&&(n=(0,Ps.normalizeId)(n),delete this.schemas[n],delete this.refs[n]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(e){for(let r of e)this.addKeyword(r);return this}addKeyword(e,r){let n;if(typeof e=="string")n=e,typeof r=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),r.keyword=n);else if(typeof e=="object"&&r===void 0){if(r=e,n=r.keyword,Array.isArray(n)&&!n.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(_M.call(this,n,r),!r)return(0,Wv.eachItem)(n,a=>Vv.call(this,a)),this;SM.call(this,r);let i={...r,type:(0,yu.getJSONTypes)(r.type),schemaType:(0,yu.getJSONTypes)(r.schemaType)};return(0,Wv.eachItem)(n,i.type.length===0?a=>Vv.call(this,a,i):a=>i.type.forEach(o=>Vv.call(this,a,i,o))),this}getKeyword(e){let r=this.RULES.all[e];return typeof r=="object"?r.definition:!!r}removeKeyword(e){let{RULES:r}=this;delete r.keywords[e],delete r.all[e];for(let n of r.rules){let i=n.rules.findIndex(a=>a.keyword===e);i>=0&&n.rules.splice(i,1)}return this}addFormat(e,r){return typeof r=="string"&&(r=new RegExp(r)),this.formats[e]=r,this}errorsText(e=this.errors,{separator:r=", ",dataVar:n="data"}={}){return!e||e.length===0?"No errors":e.map(i=>`${n}${i.instancePath} ${i.message}`).reduce((i,a)=>i+r+a)}$dataMetaSchema(e,r){let n=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(let i of r){let a=i.split("/").slice(1),o=e;for(let s of a)o=o[s];for(let s in n){let c=n[s];if(typeof c!="object")continue;let{$data:l}=c.definition,u=o[s];l&&u&&(o[s]=m1(u))}}return e}_removeAllSchemas(e,r){for(let n in e){let i=e[n];(!r||r.test(n))&&(typeof i=="string"?delete e[n]:i&&!i.meta&&(this._cache.delete(i.schema),delete e[n]))}}_addSchema(e,r,n,i=this.opts.validateSchema,a=this.opts.addUsedSchema){let o,{schemaId:s}=this.opts;if(typeof e=="object")o=e[s];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof e!="boolean")throw new Error("schema must be object or boolean")}let c=this._cache.get(e);if(c!==void 0)return c;n=(0,Ps.normalizeId)(o||n);let l=Ps.getSchemaRefs.call(this,e,n);return c=new Is.SchemaEnv({schema:e,schemaId:s,meta:r,baseId:n,localRefs:l}),this._cache.set(c.schema,c),a&&!n.startsWith("#")&&(n&&this._checkUnique(n),this.refs[n]=c),i&&this.validateSchema(e,!0),c}_checkUnique(e){if(this.schemas[e]||this.refs[e])throw new Error(`schema with key or id "${e}" already exists`)}_compileSchemaEnv(e){if(e.meta?this._compileMetaSchema(e):Is.compileSchema.call(this,e),!e.validate)throw new Error("ajv implementation error");return e.validate}_compileMetaSchema(e){let r=this.opts;this.opts=this._metaOpts;try{Is.compileSchema.call(this,e)}finally{this.opts=r}}};Es.ValidationError=aM.default;Es.MissingRefError=d1.default;rt.default=Es;function u1(t,e,r,n="error"){for(let i in t){let a=i;a in e&&this.logger[n](`${r}: option ${i}. ${t[a]}`)}}function p1(t){return t=(0,Ps.normalizeId)(t),this.schemas[t]||this.refs[t]}function mM(){let t=this.opts.schemas;if(t)if(Array.isArray(t))this.addSchema(t);else for(let e in t)this.addSchema(t[e],e)}function hM(){for(let t in this.opts.formats){let e=this.opts.formats[t];e&&this.addFormat(t,e)}}function gM(t){if(Array.isArray(t)){this.addVocabulary(t);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let e in t){let r=t[e];r.keyword||(r.keyword=e),this.addKeyword(r)}}function vM(){let t={...this.opts};for(let e of lM)delete t[e];return t}var yM={log(){},warn(){},error(){}};function xM(t){if(t===!1)return yM;if(t===void 0)return console;if(t.log&&t.warn&&t.error)return t;throw new Error("logger must implement log, warn and error methods")}var bM=/^[a-z_$][a-z0-9_$:-]*$/i;function _M(t,e){let{RULES:r}=this;if((0,Wv.eachItem)(t,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!bM.test(n))throw new Error(`Keyword ${n} has invalid name`)}),!!e&&e.$data&&!("code"in e||"validate"in e))throw new Error('$data keyword must have "code" or "validate" function')}function Vv(t,e,r){var n;let i=e?.post;if(r&&i)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:a}=this,o=i?a.post:a.rules.find(({type:c})=>c===r);if(o||(o={type:r,rules:[]},a.rules.push(o)),a.keywords[t]=!0,!e)return;let s={keyword:t,definition:{...e,type:(0,yu.getJSONTypes)(e.type),schemaType:(0,yu.getJSONTypes)(e.schemaType)}};e.before?wM.call(this,o,s,e.before):o.rules.push(s),a.all[t]=s,(n=e.implements)===null||n===void 0||n.forEach(c=>this.addKeyword(c))}function wM(t,e,r){let n=t.rules.findIndex(i=>i.keyword===r);n>=0?t.rules.splice(n,0,e):(t.rules.push(e),this.logger.warn(`rule ${r} is not defined`))}function SM(t){let{metaSchema:e}=t;e!==void 0&&(t.$data&&this.opts.$data&&(e=m1(e)),t.validateSchema=this.compile(e,!0))}var kM={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function m1(t){return{anyOf:[t,kM]}}});var g1=y(Jv=>{"use strict";Object.defineProperty(Jv,"__esModule",{value:!0});var $M={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};Jv.default=$M});var b1=y(Qn=>{"use strict";Object.defineProperty(Qn,"__esModule",{value:!0});Qn.callRef=Qn.getValidate=void 0;var IM=ks(),v1=Gt(),Pt=X(),aa=Kr(),y1=fu(),xu=le(),PM={keyword:"$ref",schemaType:"string",code(t){let{gen:e,schema:r,it:n}=t,{baseId:i,schemaEnv:a,validateName:o,opts:s,self:c}=n,{root:l}=a;if((r==="#"||r==="#/")&&i===l.baseId)return p();let u=y1.resolveRef.call(c,l,i,r);if(u===void 0)throw new IM.default(n.opts.uriResolver,i,r);if(u instanceof y1.SchemaEnv)return d(u);return f(u);function p(){if(a===l)return bu(t,o,a,a.$async);let m=e.scopeValue("root",{ref:l});return bu(t,(0,Pt._)`${m}.validate`,l,l.$async)}function d(m){let h=x1(t,m);bu(t,h,m,m.$async)}function f(m){let h=e.scopeValue("schema",s.code.source===!0?{ref:m,code:(0,Pt.stringify)(m)}:{ref:m}),g=e.name("valid"),b=t.subschema({schema:m,dataTypes:[],schemaPath:Pt.nil,topSchemaRef:h,errSchemaPath:r},g);t.mergeEvaluated(b),t.ok(g)}}};function x1(t,e){let{gen:r}=t;return e.validate?r.scopeValue("validate",{ref:e.validate}):(0,Pt._)`${r.scopeValue("wrapper",{ref:e})}.validate`}Qn.getValidate=x1;function bu(t,e,r,n){let{gen:i,it:a}=t,{allErrors:o,schemaEnv:s,opts:c}=a,l=c.passContext?aa.default.this:Pt.nil;n?u():p();function u(){if(!s.$async)throw new Error("async schema referenced by sync schema");let m=i.let("valid");i.try(()=>{i.code((0,Pt._)`await ${(0,v1.callValidateCode)(t,e,l)}`),f(e),o||i.assign(m,!0)},h=>{i.if((0,Pt._)`!(${h} instanceof ${a.ValidationError})`,()=>i.throw(h)),d(h),o||i.assign(m,!1)}),t.ok(m)}function p(){t.result((0,v1.callValidateCode)(t,e,l),()=>f(e),()=>d(e))}function d(m){let h=(0,Pt._)`${m}.errors`;i.assign(aa.default.vErrors,(0,Pt._)`${aa.default.vErrors} === null ? ${h} : ${aa.default.vErrors}.concat(${h})`),i.assign(aa.default.errors,(0,Pt._)`${aa.default.vErrors}.length`)}function f(m){var h;if(!a.opts.unevaluated)return;let g=(h=r?.validate)===null||h===void 0?void 0:h.evaluated;if(a.props!==!0)if(g&&!g.dynamicProps)g.props!==void 0&&(a.props=xu.mergeEvaluated.props(i,g.props,a.props));else{let b=i.var("props",(0,Pt._)`${m}.evaluated.props`);a.props=xu.mergeEvaluated.props(i,b,a.props,Pt.Name)}if(a.items!==!0)if(g&&!g.dynamicItems)g.items!==void 0&&(a.items=xu.mergeEvaluated.items(i,g.items,a.items));else{let b=i.var("items",(0,Pt._)`${m}.evaluated.items`);a.items=xu.mergeEvaluated.items(i,b,a.items,Pt.Name)}}}Qn.callRef=bu;Qn.default=PM});var _1=y(Gv=>{"use strict";Object.defineProperty(Gv,"__esModule",{value:!0});var EM=g1(),TM=b1(),CM=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",EM.default,TM.default];Gv.default=CM});var w1=y(Kv=>{"use strict";Object.defineProperty(Kv,"__esModule",{value:!0});var _u=X(),bn=_u.operators,wu={maximum:{okStr:"<=",ok:bn.LTE,fail:bn.GT},minimum:{okStr:">=",ok:bn.GTE,fail:bn.LT},exclusiveMaximum:{okStr:"<",ok:bn.LT,fail:bn.GTE},exclusiveMinimum:{okStr:">",ok:bn.GT,fail:bn.LTE}},zM={message:({keyword:t,schemaCode:e})=>(0,_u.str)`must be ${wu[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,_u._)`{comparison: ${wu[t].okStr}, limit: ${e}}`},RM={keyword:Object.keys(wu),type:"number",schemaType:"number",$data:!0,error:zM,code(t){let{keyword:e,data:r,schemaCode:n}=t;t.fail$data((0,_u._)`${r} ${wu[e].fail} ${n} || isNaN(${r})`)}};Kv.default=RM});var S1=y(Xv=>{"use strict";Object.defineProperty(Xv,"__esModule",{value:!0});var Ts=X(),jM={message:({schemaCode:t})=>(0,Ts.str)`must be multiple of ${t}`,params:({schemaCode:t})=>(0,Ts._)`{multipleOf: ${t}}`},DM={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:jM,code(t){let{gen:e,data:r,schemaCode:n,it:i}=t,a=i.opts.multipleOfPrecision,o=e.let("res"),s=a?(0,Ts._)`Math.abs(Math.round(${o}) - ${o}) > 1e-${a}`:(0,Ts._)`${o} !== parseInt(${o})`;t.fail$data((0,Ts._)`(${n} === 0 || (${o} = ${r}/${n}, ${s}))`)}};Xv.default=DM});var $1=y(Yv=>{"use strict";Object.defineProperty(Yv,"__esModule",{value:!0});function k1(t){let e=t.length,r=0,n=0,i;for(;n<e;)r++,i=t.charCodeAt(n++),i>=55296&&i<=56319&&n<e&&(i=t.charCodeAt(n),(i&64512)===56320&&n++);return r}Yv.default=k1;k1.code='require("ajv/dist/runtime/ucs2length").default'});var I1=y(Qv=>{"use strict";Object.defineProperty(Qv,"__esModule",{value:!0});var ei=X(),OM=le(),NM=$1(),AM={message({keyword:t,schemaCode:e}){let r=t==="maxLength"?"more":"fewer";return(0,ei.str)`must NOT have ${r} than ${e} characters`},params:({schemaCode:t})=>(0,ei._)`{limit: ${t}}`},MM={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:AM,code(t){let{keyword:e,data:r,schemaCode:n,it:i}=t,a=e==="maxLength"?ei.operators.GT:ei.operators.LT,o=i.opts.unicode===!1?(0,ei._)`${r}.length`:(0,ei._)`${(0,OM.useFunc)(t.gen,NM.default)}(${r})`;t.fail$data((0,ei._)`${o} ${a} ${n}`)}};Qv.default=MM});var P1=y(ey=>{"use strict";Object.defineProperty(ey,"__esModule",{value:!0});var UM=Gt(),Su=X(),FM={message:({schemaCode:t})=>(0,Su.str)`must match pattern "${t}"`,params:({schemaCode:t})=>(0,Su._)`{pattern: ${t}}`},qM={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:FM,code(t){let{data:e,$data:r,schema:n,schemaCode:i,it:a}=t,o=a.opts.unicodeRegExp?"u":"",s=r?(0,Su._)`(new RegExp(${i}, ${o}))`:(0,UM.usePattern)(t,n);t.fail$data((0,Su._)`!${s}.test(${e})`)}};ey.default=qM});var E1=y(ty=>{"use strict";Object.defineProperty(ty,"__esModule",{value:!0});var Cs=X(),LM={message({keyword:t,schemaCode:e}){let r=t==="maxProperties"?"more":"fewer";return(0,Cs.str)`must NOT have ${r} than ${e} properties`},params:({schemaCode:t})=>(0,Cs._)`{limit: ${t}}`},ZM={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:LM,code(t){let{keyword:e,data:r,schemaCode:n}=t,i=e==="maxProperties"?Cs.operators.GT:Cs.operators.LT;t.fail$data((0,Cs._)`Object.keys(${r}).length ${i} ${n}`)}};ty.default=ZM});var T1=y(ry=>{"use strict";Object.defineProperty(ry,"__esModule",{value:!0});var zs=Gt(),Rs=X(),HM=le(),BM={message:({params:{missingProperty:t}})=>(0,Rs.str)`must have required property '${t}'`,params:({params:{missingProperty:t}})=>(0,Rs._)`{missingProperty: ${t}}`},VM={keyword:"required",type:"object",schemaType:"array",$data:!0,error:BM,code(t){let{gen:e,schema:r,schemaCode:n,data:i,$data:a,it:o}=t,{opts:s}=o;if(!a&&r.length===0)return;let c=r.length>=s.loopRequired;if(o.allErrors?l():u(),s.strictRequired){let f=t.parentSchema.properties,{definedProperties:m}=t.it;for(let h of r)if(f?.[h]===void 0&&!m.has(h)){let g=o.schemaEnv.baseId+o.errSchemaPath,b=`required property "${h}" is not defined at "${g}" (strictRequired)`;(0,HM.checkStrictMode)(o,b,o.opts.strictRequired)}}function l(){if(c||a)t.block$data(Rs.nil,p);else for(let f of r)(0,zs.checkReportMissingProp)(t,f)}function u(){let f=e.let("missing");if(c||a){let m=e.let("valid",!0);t.block$data(m,()=>d(f,m)),t.ok(m)}else e.if((0,zs.checkMissingProp)(t,r,f)),(0,zs.reportMissingProp)(t,f),e.else()}function p(){e.forOf("prop",n,f=>{t.setParams({missingProperty:f}),e.if((0,zs.noPropertyInData)(e,i,f,s.ownProperties),()=>t.error())})}function d(f,m){t.setParams({missingProperty:f}),e.forOf(f,n,()=>{e.assign(m,(0,zs.propertyInData)(e,i,f,s.ownProperties)),e.if((0,Rs.not)(m),()=>{t.error(),e.break()})},Rs.nil)}}};ry.default=VM});var C1=y(ny=>{"use strict";Object.defineProperty(ny,"__esModule",{value:!0});var js=X(),WM={message({keyword:t,schemaCode:e}){let r=t==="maxItems"?"more":"fewer";return(0,js.str)`must NOT have ${r} than ${e} items`},params:({schemaCode:t})=>(0,js._)`{limit: ${t}}`},JM={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:WM,code(t){let{keyword:e,data:r,schemaCode:n}=t,i=e==="maxItems"?js.operators.GT:js.operators.LT;t.fail$data((0,js._)`${r}.length ${i} ${n}`)}};ny.default=JM});var ku=y(iy=>{"use strict";Object.defineProperty(iy,"__esModule",{value:!0});var z1=Ev();z1.code='require("ajv/dist/runtime/equal").default';iy.default=z1});var R1=y(oy=>{"use strict";Object.defineProperty(oy,"__esModule",{value:!0});var ay=xs(),nt=X(),GM=le(),KM=ku(),XM={message:({params:{i:t,j:e}})=>(0,nt.str)`must NOT have duplicate items (items ## ${e} and ${t} are identical)`,params:({params:{i:t,j:e}})=>(0,nt._)`{i: ${t}, j: ${e}}`},YM={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:XM,code(t){let{gen:e,data:r,$data:n,schema:i,parentSchema:a,schemaCode:o,it:s}=t;if(!n&&!i)return;let c=e.let("valid"),l=a.items?(0,ay.getSchemaTypes)(a.items):[];t.block$data(c,u,(0,nt._)`${o} === false`),t.ok(c);function u(){let m=e.let("i",(0,nt._)`${r}.length`),h=e.let("j");t.setParams({i:m,j:h}),e.assign(c,!0),e.if((0,nt._)`${m} > 1`,()=>(p()?d:f)(m,h))}function p(){return l.length>0&&!l.some(m=>m==="object"||m==="array")}function d(m,h){let g=e.name("item"),b=(0,ay.checkDataTypes)(l,g,s.opts.strictNumbers,ay.DataType.Wrong),S=e.const("indices",(0,nt._)`{}`);e.for((0,nt._)`;${m}--;`,()=>{e.let(g,(0,nt._)`${r}[${m}]`),e.if(b,(0,nt._)`continue`),l.length>1&&e.if((0,nt._)`typeof ${g} == "string"`,(0,nt._)`${g} += "_"`),e.if((0,nt._)`typeof ${S}[${g}] == "number"`,()=>{e.assign(h,(0,nt._)`${S}[${g}]`),t.error(),e.assign(c,!1).break()}).code((0,nt._)`${S}[${g}] = ${m}`)})}function f(m,h){let g=(0,GM.useFunc)(e,KM.default),b=e.name("outer");e.label(b).for((0,nt._)`;${m}--;`,()=>e.for((0,nt._)`${h} = ${m}; ${h}--;`,()=>e.if((0,nt._)`${g}(${r}[${m}], ${r}[${h}])`,()=>{t.error(),e.assign(c,!1).break(b)})))}}};oy.default=YM});var j1=y(cy=>{"use strict";Object.defineProperty(cy,"__esModule",{value:!0});var sy=X(),QM=le(),eU=ku(),tU={message:"must be equal to constant",params:({schemaCode:t})=>(0,sy._)`{allowedValue: ${t}}`},rU={keyword:"const",$data:!0,error:tU,code(t){let{gen:e,data:r,$data:n,schemaCode:i,schema:a}=t;n||a&&typeof a=="object"?t.fail$data((0,sy._)`!${(0,QM.useFunc)(e,eU.default)}(${r}, ${i})`):t.fail((0,sy._)`${a} !== ${r}`)}};cy.default=rU});var D1=y(ly=>{"use strict";Object.defineProperty(ly,"__esModule",{value:!0});var Ds=X(),nU=le(),iU=ku(),aU={message:"must be equal to one of the allowed values",params:({schemaCode:t})=>(0,Ds._)`{allowedValues: ${t}}`},oU={keyword:"enum",schemaType:"array",$data:!0,error:aU,code(t){let{gen:e,data:r,$data:n,schema:i,schemaCode:a,it:o}=t;if(!n&&i.length===0)throw new Error("enum must have non-empty array");let s=i.length>=o.opts.loopEnum,c,l=()=>c??(c=(0,nU.useFunc)(e,iU.default)),u;if(s||n)u=e.let("valid"),t.block$data(u,p);else{if(!Array.isArray(i))throw new Error("ajv implementation error");let f=e.const("vSchema",a);u=(0,Ds.or)(...i.map((m,h)=>d(f,h)))}t.pass(u);function p(){e.assign(u,!1),e.forOf("v",a,f=>e.if((0,Ds._)`${l()}(${r}, ${f})`,()=>e.assign(u,!0).break()))}function d(f,m){let h=i[m];return typeof h=="object"&&h!==null?(0,Ds._)`${l()}(${r}, ${f}[${m}])`:(0,Ds._)`${r} === ${h}`}}};ly.default=oU});var O1=y(uy=>{"use strict";Object.defineProperty(uy,"__esModule",{value:!0});var sU=w1(),cU=S1(),lU=I1(),uU=P1(),pU=E1(),dU=T1(),fU=C1(),mU=R1(),hU=j1(),gU=D1(),vU=[sU.default,cU.default,lU.default,uU.default,pU.default,dU.default,fU.default,mU.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},hU.default,gU.default];uy.default=vU});var dy=y(Os=>{"use strict";Object.defineProperty(Os,"__esModule",{value:!0});Os.validateAdditionalItems=void 0;var ti=X(),py=le(),yU={message:({params:{len:t}})=>(0,ti.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,ti._)`{limit: ${t}}`},xU={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:yU,code(t){let{parentSchema:e,it:r}=t,{items:n}=e;if(!Array.isArray(n)){(0,py.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}N1(t,n)}};function N1(t,e){let{gen:r,schema:n,data:i,keyword:a,it:o}=t;o.items=!0;let s=r.const("len",(0,ti._)`${i}.length`);if(n===!1)t.setParams({len:e.length}),t.pass((0,ti._)`${s} <= ${e.length}`);else if(typeof n=="object"&&!(0,py.alwaysValidSchema)(o,n)){let l=r.var("valid",(0,ti._)`${s} <= ${e.length}`);r.if((0,ti.not)(l),()=>c(l)),t.ok(l)}function c(l){r.forRange("i",e.length,s,u=>{t.subschema({keyword:a,dataProp:u,dataPropType:py.Type.Num},l),o.allErrors||r.if((0,ti.not)(l),()=>r.break())})}}Os.validateAdditionalItems=N1;Os.default=xU});var fy=y(Ns=>{"use strict";Object.defineProperty(Ns,"__esModule",{value:!0});Ns.validateTuple=void 0;var A1=X(),$u=le(),bU=Gt(),_U={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(t){let{schema:e,it:r}=t;if(Array.isArray(e))return M1(t,"additionalItems",e);r.items=!0,!(0,$u.alwaysValidSchema)(r,e)&&t.ok((0,bU.validateArray)(t))}};function M1(t,e,r=t.schema){let{gen:n,parentSchema:i,data:a,keyword:o,it:s}=t;u(i),s.opts.unevaluated&&r.length&&s.items!==!0&&(s.items=$u.mergeEvaluated.items(n,r.length,s.items));let c=n.name("valid"),l=n.const("len",(0,A1._)`${a}.length`);r.forEach((p,d)=>{(0,$u.alwaysValidSchema)(s,p)||(n.if((0,A1._)`${l} > ${d}`,()=>t.subschema({keyword:o,schemaProp:d,dataProp:d},c)),t.ok(c))});function u(p){let{opts:d,errSchemaPath:f}=s,m=r.length,h=m===p.minItems&&(m===p.maxItems||p[e]===!1);if(d.strictTuples&&!h){let g=`"${o}" is ${m}-tuple, but minItems or maxItems/${e} are not specified or different at path "${f}"`;(0,$u.checkStrictMode)(s,g,d.strictTuples)}}}Ns.validateTuple=M1;Ns.default=_U});var U1=y(my=>{"use strict";Object.defineProperty(my,"__esModule",{value:!0});var wU=fy(),SU={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:t=>(0,wU.validateTuple)(t,"items")};my.default=SU});var q1=y(hy=>{"use strict";Object.defineProperty(hy,"__esModule",{value:!0});var F1=X(),kU=le(),$U=Gt(),IU=dy(),PU={message:({params:{len:t}})=>(0,F1.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,F1._)`{limit: ${t}}`},EU={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:PU,code(t){let{schema:e,parentSchema:r,it:n}=t,{prefixItems:i}=r;n.items=!0,!(0,kU.alwaysValidSchema)(n,e)&&(i?(0,IU.validateAdditionalItems)(t,i):t.ok((0,$U.validateArray)(t)))}};hy.default=EU});var L1=y(gy=>{"use strict";Object.defineProperty(gy,"__esModule",{value:!0});var Xt=X(),Iu=le(),TU={message:({params:{min:t,max:e}})=>e===void 0?(0,Xt.str)`must contain at least ${t} valid item(s)`:(0,Xt.str)`must contain at least ${t} and no more than ${e} valid item(s)`,params:({params:{min:t,max:e}})=>e===void 0?(0,Xt._)`{minContains: ${t}}`:(0,Xt._)`{minContains: ${t}, maxContains: ${e}}`},CU={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:TU,code(t){let{gen:e,schema:r,parentSchema:n,data:i,it:a}=t,o,s,{minContains:c,maxContains:l}=n;a.opts.next?(o=c===void 0?1:c,s=l):o=1;let u=e.const("len",(0,Xt._)`${i}.length`);if(t.setParams({min:o,max:s}),s===void 0&&o===0){(0,Iu.checkStrictMode)(a,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(s!==void 0&&o>s){(0,Iu.checkStrictMode)(a,'"minContains" > "maxContains" is always invalid'),t.fail();return}if((0,Iu.alwaysValidSchema)(a,r)){let h=(0,Xt._)`${u} >= ${o}`;s!==void 0&&(h=(0,Xt._)`${h} && ${u} <= ${s}`),t.pass(h);return}a.items=!0;let p=e.name("valid");s===void 0&&o===1?f(p,()=>e.if(p,()=>e.break())):o===0?(e.let(p,!0),s!==void 0&&e.if((0,Xt._)`${i}.length > 0`,d)):(e.let(p,!1),d()),t.result(p,()=>t.reset());function d(){let h=e.name("_valid"),g=e.let("count",0);f(h,()=>e.if(h,()=>m(g)))}function f(h,g){e.forRange("i",0,u,b=>{t.subschema({keyword:"contains",dataProp:b,dataPropType:Iu.Type.Num,compositeRule:!0},h),g()})}function m(h){e.code((0,Xt._)`${h}++`),s===void 0?e.if((0,Xt._)`${h} >= ${o}`,()=>e.assign(p,!0).break()):(e.if((0,Xt._)`${h} > ${s}`,()=>e.assign(p,!1).break()),o===1?e.assign(p,!0):e.if((0,Xt._)`${h} >= ${o}`,()=>e.assign(p,!0)))}}};gy.default=CU});var B1=y(Sr=>{"use strict";Object.defineProperty(Sr,"__esModule",{value:!0});Sr.validateSchemaDeps=Sr.validatePropertyDeps=Sr.error=void 0;var vy=X(),zU=le(),As=Gt();Sr.error={message:({params:{property:t,depsCount:e,deps:r}})=>{let n=e===1?"property":"properties";return(0,vy.str)`must have ${n} ${r} when property ${t} is present`},params:({params:{property:t,depsCount:e,deps:r,missingProperty:n}})=>(0,vy._)`{property: ${t},
|
|
7
|
+
|| ${o} === "boolean" || ${i} === null`).assign(s,(0,G._)`[${i}]`)}}}function d2({gen:t,parentData:e,parentDataProperty:r},n){t.if((0,G._)`${e} !== undefined`,()=>t.assign((0,G._)`${e}[${r}]`,n))}function wv(t,e,r,n=ea.Correct){let i=n===ea.Correct?G.operators.EQ:G.operators.NEQ,a;switch(t){case"null":return(0,G._)`${e} ${i} null`;case"array":a=(0,G._)`Array.isArray(${e})`;break;case"object":a=(0,G._)`${e} && typeof ${e} == "object" && !Array.isArray(${e})`;break;case"integer":a=o((0,G._)`!(${e} % 1) && !isNaN(${e})`);break;case"number":a=o();break;default:return(0,G._)`typeof ${e} ${i} ${t}`}return n===ea.Correct?a:(0,G.not)(a);function o(s=G.nil){return(0,G.and)((0,G._)`typeof ${e} == "number"`,s,r?(0,G._)`isFinite(${e})`:G.nil)}}ut.checkDataType=wv;function Sv(t,e,r,n){if(t.length===1)return wv(t[0],e,r,n);let i,a=(0,fk.toHash)(t);if(a.array&&a.object){let o=(0,G._)`typeof ${e} != "object"`;i=a.null?o:(0,G._)`!${e} || ${o}`,delete a.null,delete a.array,delete a.object}else i=G.nil;a.number&&delete a.integer;for(let o in a)i=(0,G.and)(i,wv(o,e,r,n));return i}ut.checkDataTypes=Sv;var f2={message:({schema:t})=>`must be ${t}`,params:({schema:t,schemaValue:e})=>typeof t=="string"?(0,G._)`{type: ${t}}`:(0,G._)`{type: ${e}}`};function kv(t){let e=m2(t);(0,s2.reportError)(e,f2)}ut.reportTypeError=kv;function m2(t){let{gen:e,data:r,schema:n}=t,i=(0,fk.schemaRefOrVal)(t,n,"type");return{gen:e,keyword:"type",data:r,schema:n.type,schemaCode:i,schemaValue:i,parentSchema:n,params:{},it:t}}});var vk=y(su=>{"use strict";Object.defineProperty(su,"__esModule",{value:!0});su.assignDefaults=void 0;var ta=X(),h2=le();function g2(t,e){let{properties:r,items:n}=t.schema;if(e==="object"&&r)for(let i in r)gk(t,i,r[i].default);else e==="array"&&Array.isArray(n)&&n.forEach((i,a)=>gk(t,a,i.default))}su.assignDefaults=g2;function gk(t,e,r){let{gen:n,compositeRule:i,data:a,opts:o}=t;if(r===void 0)return;let s=(0,ta._)`${a}${(0,ta.getProperty)(e)}`;if(i){(0,h2.checkStrictMode)(t,`default is ignored for: ${s}`);return}let c=(0,ta._)`${s} === undefined`;o.useDefaults==="empty"&&(c=(0,ta._)`${c} || ${s} === null || ${s} === ""`),n.if(c,(0,ta._)`${s} = ${(0,ta.stringify)(r)}`)}});var Gt=y(ve=>{"use strict";Object.defineProperty(ve,"__esModule",{value:!0});ve.validateUnion=ve.validateArray=ve.usePattern=ve.callValidateCode=ve.schemaProperties=ve.allSchemaProperties=ve.noPropertyInData=ve.propertyInData=ve.isOwnProperty=ve.hasPropFunc=ve.reportMissingProp=ve.checkMissingProp=ve.checkReportMissingProp=void 0;var Te=X(),$v=le(),gn=Kr(),v2=le();function y2(t,e){let{gen:r,data:n,it:i}=t;r.if(Pv(r,n,e,i.opts.ownProperties),()=>{t.setParams({missingProperty:(0,Te._)`${e}`},!0),t.error()})}ve.checkReportMissingProp=y2;function x2({gen:t,data:e,it:{opts:r}},n,i){return(0,Te.or)(...n.map(a=>(0,Te.and)(Pv(t,e,a,r.ownProperties),(0,Te._)`${i} = ${a}`)))}ve.checkMissingProp=x2;function b2(t,e){t.setParams({missingProperty:e},!0),t.error()}ve.reportMissingProp=b2;function yk(t){return t.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,Te._)`Object.prototype.hasOwnProperty`})}ve.hasPropFunc=yk;function Iv(t,e,r){return(0,Te._)`${yk(t)}.call(${e}, ${r})`}ve.isOwnProperty=Iv;function _2(t,e,r,n){let i=(0,Te._)`${e}${(0,Te.getProperty)(r)} !== undefined`;return n?(0,Te._)`${i} && ${Iv(t,e,r)}`:i}ve.propertyInData=_2;function Pv(t,e,r,n){let i=(0,Te._)`${e}${(0,Te.getProperty)(r)} === undefined`;return n?(0,Te.or)(i,(0,Te.not)(Iv(t,e,r))):i}ve.noPropertyInData=Pv;function xk(t){return t?Object.keys(t).filter(e=>e!=="__proto__"):[]}ve.allSchemaProperties=xk;function w2(t,e){return xk(e).filter(r=>!(0,$v.alwaysValidSchema)(t,e[r]))}ve.schemaProperties=w2;function S2({schemaCode:t,data:e,it:{gen:r,topSchemaRef:n,schemaPath:i,errorPath:a},it:o},s,c,l){let u=l?(0,Te._)`${t}, ${e}, ${n}${i}`:e,p=[[gn.default.instancePath,(0,Te.strConcat)(gn.default.instancePath,a)],[gn.default.parentData,o.parentData],[gn.default.parentDataProperty,o.parentDataProperty],[gn.default.rootData,gn.default.rootData]];o.opts.dynamicRef&&p.push([gn.default.dynamicAnchors,gn.default.dynamicAnchors]);let d=(0,Te._)`${u}, ${r.object(...p)}`;return c!==Te.nil?(0,Te._)`${s}.call(${c}, ${d})`:(0,Te._)`${s}(${d})`}ve.callValidateCode=S2;var k2=(0,Te._)`new RegExp`;function $2({gen:t,it:{opts:e}},r){let n=e.unicodeRegExp?"u":"",{regExp:i}=e.code,a=i(r,n);return t.scopeValue("pattern",{key:a.toString(),ref:a,code:(0,Te._)`${i.code==="new RegExp"?k2:(0,v2.useFunc)(t,i)}(${r}, ${n})`})}ve.usePattern=$2;function I2(t){let{gen:e,data:r,keyword:n,it:i}=t,a=e.name("valid");if(i.allErrors){let s=e.let("valid",!0);return o(()=>e.assign(s,!1)),s}return e.var(a,!0),o(()=>e.break()),a;function o(s){let c=e.const("len",(0,Te._)`${r}.length`);e.forRange("i",0,c,l=>{t.subschema({keyword:n,dataProp:l,dataPropType:$v.Type.Num},a),e.if((0,Te.not)(a),s)})}}ve.validateArray=I2;function P2(t){let{gen:e,schema:r,keyword:n,it:i}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(c=>(0,$v.alwaysValidSchema)(i,c))&&!i.opts.unevaluated)return;let o=e.let("valid",!1),s=e.name("_valid");e.block(()=>r.forEach((c,l)=>{let u=t.subschema({keyword:n,schemaProp:l,compositeRule:!0},s);e.assign(o,(0,Te._)`${o} || ${s}`),t.mergeValidEvaluated(u,s)||e.if((0,Te.not)(o))})),t.result(o,()=>t.reset(),()=>t.error(!0))}ve.validateUnion=P2});var wk=y(br=>{"use strict";Object.defineProperty(br,"__esModule",{value:!0});br.validateKeywordUsage=br.validSchemaType=br.funcKeywordCode=br.macroKeywordCode=void 0;var vt=X(),Xn=Kr(),E2=Gt(),T2=ys();function C2(t,e){let{gen:r,keyword:n,schema:i,parentSchema:a,it:o}=t,s=e.macro.call(o.self,i,a,o),c=_k(r,n,s);o.opts.validateSchema!==!1&&o.self.validateSchema(s,!0);let l=r.name("valid");t.subschema({schema:s,schemaPath:vt.nil,errSchemaPath:`${o.errSchemaPath}/${n}`,topSchemaRef:c,compositeRule:!0},l),t.pass(l,()=>t.error(!0))}br.macroKeywordCode=C2;function z2(t,e){var r;let{gen:n,keyword:i,schema:a,parentSchema:o,$data:s,it:c}=t;j2(c,e);let l=!s&&e.compile?e.compile.call(c.self,a,o,c):e.validate,u=_k(n,i,l),p=n.let("valid");t.block$data(p,d),t.ok((r=e.valid)!==null&&r!==void 0?r:p);function d(){if(e.errors===!1)h(),e.modifying&&bk(t),g(()=>t.error());else{let b=e.async?f():m();e.modifying&&bk(t),g(()=>R2(t,b))}}function f(){let b=n.let("ruleErrs",null);return n.try(()=>h((0,vt._)`await `),S=>n.assign(p,!1).if((0,vt._)`${S} instanceof ${c.ValidationError}`,()=>n.assign(b,(0,vt._)`${S}.errors`),()=>n.throw(S))),b}function m(){let b=(0,vt._)`${u}.errors`;return n.assign(b,null),h(vt.nil),b}function h(b=e.async?(0,vt._)`await `:vt.nil){let S=c.opts.passContext?Xn.default.this:Xn.default.self,_=!("compile"in e&&!s||e.schema===!1);n.assign(p,(0,vt._)`${b}${(0,E2.callValidateCode)(t,u,S,_)}`,e.modifying)}function g(b){var S;n.if((0,vt.not)((S=e.valid)!==null&&S!==void 0?S:p),b)}}br.funcKeywordCode=z2;function bk(t){let{gen:e,data:r,it:n}=t;e.if(n.parentData,()=>e.assign(r,(0,vt._)`${n.parentData}[${n.parentDataProperty}]`))}function R2(t,e){let{gen:r}=t;r.if((0,vt._)`Array.isArray(${e})`,()=>{r.assign(Xn.default.vErrors,(0,vt._)`${Xn.default.vErrors} === null ? ${e} : ${Xn.default.vErrors}.concat(${e})`).assign(Xn.default.errors,(0,vt._)`${Xn.default.vErrors}.length`),(0,T2.extendErrors)(t)},()=>t.error())}function j2({schemaEnv:t},e){if(e.async&&!t.$async)throw new Error("async keyword in sync schema")}function _k(t,e,r){if(r===void 0)throw new Error(`keyword "${e}" failed to compile`);return t.scopeValue("keyword",typeof r=="function"?{ref:r}:{ref:r,code:(0,vt.stringify)(r)})}function D2(t,e,r=!1){return!e.length||e.some(n=>n==="array"?Array.isArray(t):n==="object"?t&&typeof t=="object"&&!Array.isArray(t):typeof t==n||r&&typeof t>"u")}br.validSchemaType=D2;function O2({schema:t,opts:e,self:r,errSchemaPath:n},i,a){if(Array.isArray(i.keyword)?!i.keyword.includes(a):i.keyword!==a)throw new Error("ajv implementation error");let o=i.dependencies;if(o?.some(s=>!Object.prototype.hasOwnProperty.call(t,s)))throw new Error(`parent schema must have dependencies of ${a}: ${o.join(",")}`);if(i.validateSchema&&!i.validateSchema(t[a])){let c=`keyword "${a}" value is invalid at path "${n}": `+r.errorsText(i.validateSchema.errors);if(e.validateSchema==="log")r.logger.error(c);else throw new Error(c)}}br.validateKeywordUsage=O2});var kk=y(vn=>{"use strict";Object.defineProperty(vn,"__esModule",{value:!0});vn.extendSubschemaMode=vn.extendSubschemaData=vn.getSubschema=void 0;var _r=X(),Sk=le();function N2(t,{keyword:e,schemaProp:r,schema:n,schemaPath:i,errSchemaPath:a,topSchemaRef:o}){if(e!==void 0&&n!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(e!==void 0){let s=t.schema[e];return r===void 0?{schema:s,schemaPath:(0,_r._)`${t.schemaPath}${(0,_r.getProperty)(e)}`,errSchemaPath:`${t.errSchemaPath}/${e}`}:{schema:s[r],schemaPath:(0,_r._)`${t.schemaPath}${(0,_r.getProperty)(e)}${(0,_r.getProperty)(r)}`,errSchemaPath:`${t.errSchemaPath}/${e}/${(0,Sk.escapeFragment)(r)}`}}if(n!==void 0){if(i===void 0||a===void 0||o===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:n,schemaPath:i,topSchemaRef:o,errSchemaPath:a}}throw new Error('either "keyword" or "schema" must be passed')}vn.getSubschema=N2;function A2(t,e,{dataProp:r,dataPropType:n,data:i,dataTypes:a,propertyName:o}){if(i!==void 0&&r!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:s}=e;if(r!==void 0){let{errorPath:l,dataPathArr:u,opts:p}=e,d=s.let("data",(0,_r._)`${e.data}${(0,_r.getProperty)(r)}`,!0);c(d),t.errorPath=(0,_r.str)`${l}${(0,Sk.getErrorPath)(r,n,p.jsPropertySyntax)}`,t.parentDataProperty=(0,_r._)`${r}`,t.dataPathArr=[...u,t.parentDataProperty]}if(i!==void 0){let l=i instanceof _r.Name?i:s.let("data",i,!0);c(l),o!==void 0&&(t.propertyName=o)}a&&(t.dataTypes=a);function c(l){t.data=l,t.dataLevel=e.dataLevel+1,t.dataTypes=[],e.definedProperties=new Set,t.parentData=e.data,t.dataNames=[...e.dataNames,l]}}vn.extendSubschemaData=A2;function M2(t,{jtdDiscriminator:e,jtdMetadata:r,compositeRule:n,createErrors:i,allErrors:a}){n!==void 0&&(t.compositeRule=n),i!==void 0&&(t.createErrors=i),a!==void 0&&(t.allErrors=a),t.jtdDiscriminator=e,t.jtdMetadata=r}vn.extendSubschemaMode=M2});var Ev=y((Fie,$k)=>{"use strict";$k.exports=function t(e,r){if(e===r)return!0;if(e&&r&&typeof e=="object"&&typeof r=="object"){if(e.constructor!==r.constructor)return!1;var n,i,a;if(Array.isArray(e)){if(n=e.length,n!=r.length)return!1;for(i=n;i--!==0;)if(!t(e[i],r[i]))return!1;return!0}if(e.constructor===RegExp)return e.source===r.source&&e.flags===r.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===r.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===r.toString();if(a=Object.keys(e),n=a.length,n!==Object.keys(r).length)return!1;for(i=n;i--!==0;)if(!Object.prototype.hasOwnProperty.call(r,a[i]))return!1;for(i=n;i--!==0;){var o=a[i];if(!t(e[o],r[o]))return!1}return!0}return e!==e&&r!==r}});var Pk=y((qie,Ik)=>{"use strict";var yn=Ik.exports=function(t,e,r){typeof e=="function"&&(r=e,e={}),r=e.cb||r;var n=typeof r=="function"?r:r.pre||function(){},i=r.post||function(){};cu(e,n,i,t,"",t)};yn.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};yn.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};yn.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};yn.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 cu(t,e,r,n,i,a,o,s,c,l){if(n&&typeof n=="object"&&!Array.isArray(n)){e(n,i,a,o,s,c,l);for(var u in n){var p=n[u];if(Array.isArray(p)){if(u in yn.arrayKeywords)for(var d=0;d<p.length;d++)cu(t,e,r,p[d],i+"/"+u+"/"+d,a,i,u,n,d)}else if(u in yn.propsKeywords){if(p&&typeof p=="object")for(var f in p)cu(t,e,r,p[f],i+"/"+u+"/"+U2(f),a,i,u,n,f)}else(u in yn.keywords||t.allKeys&&!(u in yn.skipKeywords))&&cu(t,e,r,p,i+"/"+u,a,i,u,n)}r(n,i,a,o,s,c,l)}}function U2(t){return t.replace(/~/g,"~0").replace(/\//g,"~1")}});var bs=y(It=>{"use strict";Object.defineProperty(It,"__esModule",{value:!0});It.getSchemaRefs=It.resolveUrl=It.normalizeId=It._getFullPath=It.getFullPath=It.inlineRef=void 0;var F2=le(),q2=Ev(),L2=Pk(),Z2=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function H2(t,e=!0){return typeof t=="boolean"?!0:e===!0?!Tv(t):e?Ek(t)<=e:!1}It.inlineRef=H2;var B2=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function Tv(t){for(let e in t){if(B2.has(e))return!0;let r=t[e];if(Array.isArray(r)&&r.some(Tv)||typeof r=="object"&&Tv(r))return!0}return!1}function Ek(t){let e=0;for(let r in t){if(r==="$ref")return 1/0;if(e++,!Z2.has(r)&&(typeof t[r]=="object"&&(0,F2.eachItem)(t[r],n=>e+=Ek(n)),e===1/0))return 1/0}return e}function Tk(t,e="",r){r!==!1&&(e=ra(e));let n=t.parse(e);return Ck(t,n)}It.getFullPath=Tk;function Ck(t,e){return t.serialize(e).split("#")[0]+"#"}It._getFullPath=Ck;var V2=/#\/?$/;function ra(t){return t?t.replace(V2,""):""}It.normalizeId=ra;function W2(t,e,r){return r=ra(r),t.resolve(e,r)}It.resolveUrl=W2;var J2=/^[a-z_][-a-z0-9._]*$/i;function G2(t,e){if(typeof t=="boolean")return{};let{schemaId:r,uriResolver:n}=this.opts,i=ra(t[r]||e),a={"":i},o=Tk(n,i,!1),s={},c=new Set;return L2(t,{allKeys:!0},(p,d,f,m)=>{if(m===void 0)return;let h=o+d,g=a[m];typeof p[r]=="string"&&(g=b.call(this,p[r])),S.call(this,p.$anchor),S.call(this,p.$dynamicAnchor),a[d]=g;function b(_){let k=this.opts.uriResolver.resolve;if(_=ra(g?k(g,_):_),c.has(_))throw u(_);c.add(_);let $=this.refs[_];return typeof $=="string"&&($=this.refs[$]),typeof $=="object"?l(p,$.schema,_):_!==ra(h)&&(_[0]==="#"?(l(p,s[_],_),s[_]=p):this.refs[_]=h),_}function S(_){if(typeof _=="string"){if(!J2.test(_))throw new Error(`invalid anchor "${_}"`);b.call(this,`#${_}`)}}}),s;function l(p,d,f){if(d!==void 0&&!q2(p,d))throw u(f)}function u(p){return new Error(`reference "${p}" resolves to more than one schema`)}}It.getSchemaRefs=G2});var Ss=y(xn=>{"use strict";Object.defineProperty(xn,"__esModule",{value:!0});xn.getData=xn.KeywordCxt=xn.validateFunctionCode=void 0;var Ok=uk(),zk=xs(),zv=_v(),lu=xs(),K2=vk(),ws=wk(),Cv=kk(),O=X(),H=Kr(),X2=bs(),Xr=le(),_s=ys();function Y2(t){if(Mk(t)&&(Uk(t),Ak(t))){t8(t);return}Nk(t,()=>(0,Ok.topBoolOrEmptySchema)(t))}xn.validateFunctionCode=Y2;function Nk({gen:t,validateName:e,schema:r,schemaEnv:n,opts:i},a){i.code.es5?t.func(e,(0,O._)`${H.default.data}, ${H.default.valCxt}`,n.$async,()=>{t.code((0,O._)`"use strict"; ${Rk(r,i)}`),e8(t,i),t.code(a)}):t.func(e,(0,O._)`${H.default.data}, ${Q2(i)}`,n.$async,()=>t.code(Rk(r,i)).code(a))}function Q2(t){return(0,O._)`{${H.default.instancePath}="", ${H.default.parentData}, ${H.default.parentDataProperty}, ${H.default.rootData}=${H.default.data}${t.dynamicRef?(0,O._)`, ${H.default.dynamicAnchors}={}`:O.nil}}={}`}function e8(t,e){t.if(H.default.valCxt,()=>{t.var(H.default.instancePath,(0,O._)`${H.default.valCxt}.${H.default.instancePath}`),t.var(H.default.parentData,(0,O._)`${H.default.valCxt}.${H.default.parentData}`),t.var(H.default.parentDataProperty,(0,O._)`${H.default.valCxt}.${H.default.parentDataProperty}`),t.var(H.default.rootData,(0,O._)`${H.default.valCxt}.${H.default.rootData}`),e.dynamicRef&&t.var(H.default.dynamicAnchors,(0,O._)`${H.default.valCxt}.${H.default.dynamicAnchors}`)},()=>{t.var(H.default.instancePath,(0,O._)`""`),t.var(H.default.parentData,(0,O._)`undefined`),t.var(H.default.parentDataProperty,(0,O._)`undefined`),t.var(H.default.rootData,H.default.data),e.dynamicRef&&t.var(H.default.dynamicAnchors,(0,O._)`{}`)})}function t8(t){let{schema:e,opts:r,gen:n}=t;Nk(t,()=>{r.$comment&&e.$comment&&qk(t),o8(t),n.let(H.default.vErrors,null),n.let(H.default.errors,0),r.unevaluated&&r8(t),Fk(t),l8(t)})}function r8(t){let{gen:e,validateName:r}=t;t.evaluated=e.const("evaluated",(0,O._)`${r}.evaluated`),e.if((0,O._)`${t.evaluated}.dynamicProps`,()=>e.assign((0,O._)`${t.evaluated}.props`,(0,O._)`undefined`)),e.if((0,O._)`${t.evaluated}.dynamicItems`,()=>e.assign((0,O._)`${t.evaluated}.items`,(0,O._)`undefined`))}function Rk(t,e){let r=typeof t=="object"&&t[e.schemaId];return r&&(e.code.source||e.code.process)?(0,O._)`/*# sourceURL=${r} */`:O.nil}function n8(t,e){if(Mk(t)&&(Uk(t),Ak(t))){i8(t,e);return}(0,Ok.boolOrEmptySchema)(t,e)}function Ak({schema:t,self:e}){if(typeof t=="boolean")return!t;for(let r in t)if(e.RULES.all[r])return!0;return!1}function Mk(t){return typeof t.schema!="boolean"}function i8(t,e){let{schema:r,gen:n,opts:i}=t;i.$comment&&r.$comment&&qk(t),s8(t),c8(t);let a=n.const("_errs",H.default.errors);Fk(t,a),n.var(e,(0,O._)`${a} === ${H.default.errors}`)}function Uk(t){(0,Xr.checkUnknownRules)(t),a8(t)}function Fk(t,e){if(t.opts.jtd)return jk(t,[],!1,e);let r=(0,zk.getSchemaTypes)(t.schema),n=(0,zk.coerceAndCheckDataType)(t,r);jk(t,r,!n,e)}function a8(t){let{schema:e,errSchemaPath:r,opts:n,self:i}=t;e.$ref&&n.ignoreKeywordsWithRef&&(0,Xr.schemaHasRulesButRef)(e,i.RULES)&&i.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function o8(t){let{schema:e,opts:r}=t;e.default!==void 0&&r.useDefaults&&r.strictSchema&&(0,Xr.checkStrictMode)(t,"default is ignored in the schema root")}function s8(t){let e=t.schema[t.opts.schemaId];e&&(t.baseId=(0,X2.resolveUrl)(t.opts.uriResolver,t.baseId,e))}function c8(t){if(t.schema.$async&&!t.schemaEnv.$async)throw new Error("async schema in sync schema")}function qk({gen:t,schemaEnv:e,schema:r,errSchemaPath:n,opts:i}){let a=r.$comment;if(i.$comment===!0)t.code((0,O._)`${H.default.self}.logger.log(${a})`);else if(typeof i.$comment=="function"){let o=(0,O.str)`${n}/$comment`,s=t.scopeValue("root",{ref:e.root});t.code((0,O._)`${H.default.self}.opts.$comment(${a}, ${o}, ${s}.schema)`)}}function l8(t){let{gen:e,schemaEnv:r,validateName:n,ValidationError:i,opts:a}=t;r.$async?e.if((0,O._)`${H.default.errors} === 0`,()=>e.return(H.default.data),()=>e.throw((0,O._)`new ${i}(${H.default.vErrors})`)):(e.assign((0,O._)`${n}.errors`,H.default.vErrors),a.unevaluated&&u8(t),e.return((0,O._)`${H.default.errors} === 0`))}function u8({gen:t,evaluated:e,props:r,items:n}){r instanceof O.Name&&t.assign((0,O._)`${e}.props`,r),n instanceof O.Name&&t.assign((0,O._)`${e}.items`,n)}function jk(t,e,r,n){let{gen:i,schema:a,data:o,allErrors:s,opts:c,self:l}=t,{RULES:u}=l;if(a.$ref&&(c.ignoreKeywordsWithRef||!(0,Xr.schemaHasRulesButRef)(a,u))){i.block(()=>Zk(t,"$ref",u.all.$ref.definition));return}c.jtd||p8(t,e),i.block(()=>{for(let d of u.rules)p(d);p(u.post)});function p(d){(0,zv.shouldUseGroup)(a,d)&&(d.type?(i.if((0,lu.checkDataType)(d.type,o,c.strictNumbers)),Dk(t,d),e.length===1&&e[0]===d.type&&r&&(i.else(),(0,lu.reportTypeError)(t)),i.endIf()):Dk(t,d),s||i.if((0,O._)`${H.default.errors} === ${n||0}`))}}function Dk(t,e){let{gen:r,schema:n,opts:{useDefaults:i}}=t;i&&(0,K2.assignDefaults)(t,e.type),r.block(()=>{for(let a of e.rules)(0,zv.shouldUseRule)(n,a)&&Zk(t,a.keyword,a.definition,e.type)})}function p8(t,e){t.schemaEnv.meta||!t.opts.strictTypes||(d8(t,e),t.opts.allowUnionTypes||f8(t,e),m8(t,t.dataTypes))}function d8(t,e){if(e.length){if(!t.dataTypes.length){t.dataTypes=e;return}e.forEach(r=>{Lk(t.dataTypes,r)||Rv(t,`type "${r}" not allowed by context "${t.dataTypes.join(",")}"`)}),g8(t,e)}}function f8(t,e){e.length>1&&!(e.length===2&&e.includes("null"))&&Rv(t,"use allowUnionTypes to allow union type keyword")}function m8(t,e){let r=t.self.RULES.all;for(let n in r){let i=r[n];if(typeof i=="object"&&(0,zv.shouldUseRule)(t.schema,i)){let{type:a}=i.definition;a.length&&!a.some(o=>h8(e,o))&&Rv(t,`missing type "${a.join(",")}" for keyword "${n}"`)}}}function h8(t,e){return t.includes(e)||e==="number"&&t.includes("integer")}function Lk(t,e){return t.includes(e)||e==="integer"&&t.includes("number")}function g8(t,e){let r=[];for(let n of t.dataTypes)Lk(e,n)?r.push(n):e.includes("integer")&&n==="number"&&r.push("integer");t.dataTypes=r}function Rv(t,e){let r=t.schemaEnv.baseId+t.errSchemaPath;e+=` at "${r}" (strictTypes)`,(0,Xr.checkStrictMode)(t,e,t.opts.strictTypes)}var uu=class{constructor(e,r,n){if((0,ws.validateKeywordUsage)(e,r,n),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=n,this.data=e.data,this.schema=e.schema[n],this.$data=r.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,Xr.schemaRefOrVal)(e,this.schema,n,this.$data),this.schemaType=r.schemaType,this.parentSchema=e.schema,this.params={},this.it=e,this.def=r,this.$data)this.schemaCode=e.gen.const("vSchema",Hk(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,ws.validSchemaType)(this.schema,r.schemaType,r.allowUndefined))throw new Error(`${n} value must be ${JSON.stringify(r.schemaType)}`);("code"in r?r.trackErrors:r.errors!==!1)&&(this.errsCount=e.gen.const("_errs",H.default.errors))}result(e,r,n){this.failResult((0,O.not)(e),r,n)}failResult(e,r,n){this.gen.if(e),n?n():this.error(),r?(this.gen.else(),r(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(e,r){this.failResult((0,O.not)(e),void 0,r)}fail(e){if(e===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(e),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(e){if(!this.$data)return this.fail(e);let{schemaCode:r}=this;this.fail((0,O._)`${r} !== undefined && (${(0,O.or)(this.invalid$data(),e)})`)}error(e,r,n){if(r){this.setParams(r),this._error(e,n),this.setParams({});return}this._error(e,n)}_error(e,r){(e?_s.reportExtraError:_s.reportError)(this,this.def.error,r)}$dataError(){(0,_s.reportError)(this,this.def.$dataError||_s.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,_s.resetErrorsCount)(this.gen,this.errsCount)}ok(e){this.allErrors||this.gen.if(e)}setParams(e,r){r?Object.assign(this.params,e):this.params=e}block$data(e,r,n=O.nil){this.gen.block(()=>{this.check$data(e,n),r()})}check$data(e=O.nil,r=O.nil){if(!this.$data)return;let{gen:n,schemaCode:i,schemaType:a,def:o}=this;n.if((0,O.or)((0,O._)`${i} === undefined`,r)),e!==O.nil&&n.assign(e,!0),(a.length||o.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),e!==O.nil&&n.assign(e,!1)),n.else()}invalid$data(){let{gen:e,schemaCode:r,schemaType:n,def:i,it:a}=this;return(0,O.or)(o(),s());function o(){if(n.length){if(!(r instanceof O.Name))throw new Error("ajv implementation error");let c=Array.isArray(n)?n:[n];return(0,O._)`${(0,lu.checkDataTypes)(c,r,a.opts.strictNumbers,lu.DataType.Wrong)}`}return O.nil}function s(){if(i.validateSchema){let c=e.scopeValue("validate$data",{ref:i.validateSchema});return(0,O._)`!${c}(${r})`}return O.nil}}subschema(e,r){let n=(0,Cv.getSubschema)(this.it,e);(0,Cv.extendSubschemaData)(n,this.it,e),(0,Cv.extendSubschemaMode)(n,e);let i={...this.it,...n,items:void 0,props:void 0};return n8(i,r),i}mergeEvaluated(e,r){let{it:n,gen:i}=this;n.opts.unevaluated&&(n.props!==!0&&e.props!==void 0&&(n.props=Xr.mergeEvaluated.props(i,e.props,n.props,r)),n.items!==!0&&e.items!==void 0&&(n.items=Xr.mergeEvaluated.items(i,e.items,n.items,r)))}mergeValidEvaluated(e,r){let{it:n,gen:i}=this;if(n.opts.unevaluated&&(n.props!==!0||n.items!==!0))return i.if(r,()=>this.mergeEvaluated(e,O.Name)),!0}};xn.KeywordCxt=uu;function Zk(t,e,r,n){let i=new uu(t,r,e);"code"in r?r.code(i,n):i.$data&&r.validate?(0,ws.funcKeywordCode)(i,r):"macro"in r?(0,ws.macroKeywordCode)(i,r):(r.compile||r.validate)&&(0,ws.funcKeywordCode)(i,r)}var v8=/^\/(?:[^~]|~0|~1)*$/,y8=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function Hk(t,{dataLevel:e,dataNames:r,dataPathArr:n}){let i,a;if(t==="")return H.default.rootData;if(t[0]==="/"){if(!v8.test(t))throw new Error(`Invalid JSON-pointer: ${t}`);i=t,a=H.default.rootData}else{let l=y8.exec(t);if(!l)throw new Error(`Invalid JSON-pointer: ${t}`);let u=+l[1];if(i=l[2],i==="#"){if(u>=e)throw new Error(c("property/index",u));return n[e-u]}if(u>e)throw new Error(c("data",u));if(a=r[e-u],!i)return a}let o=a,s=i.split("/");for(let l of s)l&&(a=(0,O._)`${a}${(0,O.getProperty)((0,Xr.unescapeJsonPointer)(l))}`,o=(0,O._)`${o} && ${a}`);return o;function c(l,u){return`Cannot access ${l} ${u} levels up, current level is ${e}`}}xn.getData=Hk});var pu=y(Dv=>{"use strict";Object.defineProperty(Dv,"__esModule",{value:!0});var jv=class extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}};Dv.default=jv});var ks=y(Av=>{"use strict";Object.defineProperty(Av,"__esModule",{value:!0});var Ov=bs(),Nv=class extends Error{constructor(e,r,n,i){super(i||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0,Ov.resolveUrl)(e,r,n),this.missingSchema=(0,Ov.normalizeId)((0,Ov.getFullPath)(e,this.missingRef))}};Av.default=Nv});var fu=y(Kt=>{"use strict";Object.defineProperty(Kt,"__esModule",{value:!0});Kt.resolveSchema=Kt.getCompilingSchema=Kt.resolveRef=Kt.compileSchema=Kt.SchemaEnv=void 0;var sr=X(),x8=pu(),Yn=Kr(),cr=bs(),Bk=le(),b8=Ss(),na=class{constructor(e){var r;this.refs={},this.dynamicAnchors={};let n;typeof e.schema=="object"&&(n=e.schema),this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=(r=e.baseId)!==null&&r!==void 0?r:(0,cr.normalizeId)(n?.[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=n?.$async,this.refs={}}};Kt.SchemaEnv=na;function Uv(t){let e=Vk.call(this,t);if(e)return e;let r=(0,cr.getFullPath)(this.opts.uriResolver,t.root.baseId),{es5:n,lines:i}=this.opts.code,{ownProperties:a}=this.opts,o=new sr.CodeGen(this.scope,{es5:n,lines:i,ownProperties:a}),s;t.$async&&(s=o.scopeValue("Error",{ref:x8.default,code:(0,sr._)`require("ajv/dist/runtime/validation_error").default`}));let c=o.scopeName("validate");t.validateName=c;let l={gen:o,allErrors:this.opts.allErrors,data:Yn.default.data,parentData:Yn.default.parentData,parentDataProperty:Yn.default.parentDataProperty,dataNames:[Yn.default.data],dataPathArr:[sr.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:o.scopeValue("schema",this.opts.code.source===!0?{ref:t.schema,code:(0,sr.stringify)(t.schema)}:{ref:t.schema}),validateName:c,ValidationError:s,schema:t.schema,schemaEnv:t,rootId:r,baseId:t.baseId||r,schemaPath:sr.nil,errSchemaPath:t.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,sr._)`""`,opts:this.opts,self:this},u;try{this._compilations.add(t),(0,b8.validateFunctionCode)(l),o.optimize(this.opts.code.optimize);let p=o.toString();u=`${o.scopeRefs(Yn.default.scope)}return ${p}`,this.opts.code.process&&(u=this.opts.code.process(u,t));let f=new Function(`${Yn.default.self}`,`${Yn.default.scope}`,u)(this,this.scope.get());if(this.scope.value(c,{ref:f}),f.errors=null,f.schema=t.schema,f.schemaEnv=t,t.$async&&(f.$async=!0),this.opts.code.source===!0&&(f.source={validateName:c,validateCode:p,scopeValues:o._values}),this.opts.unevaluated){let{props:m,items:h}=l;f.evaluated={props:m instanceof sr.Name?void 0:m,items:h instanceof sr.Name?void 0:h,dynamicProps:m instanceof sr.Name,dynamicItems:h instanceof sr.Name},f.source&&(f.source.evaluated=(0,sr.stringify)(f.evaluated))}return t.validate=f,t}catch(p){throw delete t.validate,delete t.validateName,u&&this.logger.error("Error compiling schema, function code:",u),p}finally{this._compilations.delete(t)}}Kt.compileSchema=Uv;function _8(t,e,r){var n;r=(0,cr.resolveUrl)(this.opts.uriResolver,e,r);let i=t.refs[r];if(i)return i;let a=k8.call(this,t,r);if(a===void 0){let o=(n=t.localRefs)===null||n===void 0?void 0:n[r],{schemaId:s}=this.opts;o&&(a=new na({schema:o,schemaId:s,root:t,baseId:e}))}if(a!==void 0)return t.refs[r]=w8.call(this,a)}Kt.resolveRef=_8;function w8(t){return(0,cr.inlineRef)(t.schema,this.opts.inlineRefs)?t.schema:t.validate?t:Uv.call(this,t)}function Vk(t){for(let e of this._compilations)if(S8(e,t))return e}Kt.getCompilingSchema=Vk;function S8(t,e){return t.schema===e.schema&&t.root===e.root&&t.baseId===e.baseId}function k8(t,e){let r;for(;typeof(r=this.refs[e])=="string";)e=r;return r||this.schemas[e]||du.call(this,t,e)}function du(t,e){let r=this.opts.uriResolver.parse(e),n=(0,cr._getFullPath)(this.opts.uriResolver,r),i=(0,cr.getFullPath)(this.opts.uriResolver,t.baseId,void 0);if(Object.keys(t.schema).length>0&&n===i)return Mv.call(this,r,t);let a=(0,cr.normalizeId)(n),o=this.refs[a]||this.schemas[a];if(typeof o=="string"){let s=du.call(this,t,o);return typeof s?.schema!="object"?void 0:Mv.call(this,r,s)}if(typeof o?.schema=="object"){if(o.validate||Uv.call(this,o),a===(0,cr.normalizeId)(e)){let{schema:s}=o,{schemaId:c}=this.opts,l=s[c];return l&&(i=(0,cr.resolveUrl)(this.opts.uriResolver,i,l)),new na({schema:s,schemaId:c,root:t,baseId:i})}return Mv.call(this,r,o)}}Kt.resolveSchema=du;var $8=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function Mv(t,{baseId:e,schema:r,root:n}){var i;if(((i=t.fragment)===null||i===void 0?void 0:i[0])!=="/")return;for(let s of t.fragment.slice(1).split("/")){if(typeof r=="boolean")return;let c=r[(0,Bk.unescapeFragment)(s)];if(c===void 0)return;r=c;let l=typeof r=="object"&&r[this.opts.schemaId];!$8.has(s)&&l&&(e=(0,cr.resolveUrl)(this.opts.uriResolver,e,l))}let a;if(typeof r!="boolean"&&r.$ref&&!(0,Bk.schemaHasRulesButRef)(r,this.RULES)){let s=(0,cr.resolveUrl)(this.opts.uriResolver,e,r.$ref);a=du.call(this,n,s)}let{schemaId:o}=this.opts;if(a=a||new na({schema:r,schemaId:o,root:n,baseId:e}),a.schema!==a.root.schema)return a}});var Wk=y((Wie,I8)=>{I8.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 qv=y((Jie,Xk)=>{"use strict";var P8=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),Gk=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 Fv(t){let e="",r=0,n=0;for(n=0;n<t.length;n++)if(r=t[n].charCodeAt(0),r!==48){if(!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";e+=t[n];break}for(n+=1;n<t.length;n++){if(r=t[n].charCodeAt(0),!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";e+=t[n]}return e}var E8=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function Jk(t){return t.length=0,!0}function T8(t,e,r){if(t.length){let n=Fv(t);if(n!=="")e.push(n);else return r.error=!0,!1;t.length=0}return!0}function C8(t){let e=0,r={error:!1,address:"",zone:""},n=[],i=[],a=!1,o=!1,s=T8;for(let c=0;c<t.length;c++){let l=t[c];if(!(l==="["||l==="]"))if(l===":"){if(a===!0&&(o=!0),!s(i,n,r))break;if(++e>7){r.error=!0;break}c>0&&t[c-1]===":"&&(a=!0),n.push(":");continue}else if(l==="%"){if(!s(i,n,r))break;s=Jk}else{i.push(l);continue}}return i.length&&(s===Jk?r.zone=i.join(""):o?n.push(i.join("")):n.push(Fv(i))),r.address=n.join(""),r}function Kk(t){if(z8(t,":")<2)return{host:t,isIPV6:!1};let e=C8(t);if(e.error)return{host:t,isIPV6:!1};{let r=e.address,n=e.address;return e.zone&&(r+="%"+e.zone,n+="%25"+e.zone),{host:r,isIPV6:!0,escapedHost:n}}}function z8(t,e){let r=0;for(let n=0;n<t.length;n++)t[n]===e&&r++;return r}function R8(t){let e=t,r=[],n=-1,i=0;for(;i=e.length;){if(i===1){if(e===".")break;if(e==="/"){r.push("/");break}else{r.push(e);break}}else if(i===2){if(e[0]==="."){if(e[1]===".")break;if(e[1]==="/"){e=e.slice(2);continue}}else if(e[0]==="/"&&(e[1]==="."||e[1]==="/")){r.push("/");break}}else if(i===3&&e==="/.."){r.length!==0&&r.pop(),r.push("/");break}if(e[0]==="."){if(e[1]==="."){if(e[2]==="/"){e=e.slice(3);continue}}else if(e[1]==="/"){e=e.slice(2);continue}}else if(e[0]==="/"&&e[1]==="."){if(e[2]==="/"){e=e.slice(2);continue}else if(e[2]==="."&&e[3]==="/"){e=e.slice(3),r.length!==0&&r.pop();continue}}if((n=e.indexOf("/",1))===-1){r.push(e);break}else r.push(e.slice(0,n)),e=e.slice(n)}return r.join("")}function j8(t,e){let r=e!==!0?escape:unescape;return t.scheme!==void 0&&(t.scheme=r(t.scheme)),t.userinfo!==void 0&&(t.userinfo=r(t.userinfo)),t.host!==void 0&&(t.host=r(t.host)),t.path!==void 0&&(t.path=r(t.path)),t.query!==void 0&&(t.query=r(t.query)),t.fragment!==void 0&&(t.fragment=r(t.fragment)),t}function D8(t){let e=[];if(t.userinfo!==void 0&&(e.push(t.userinfo),e.push("@")),t.host!==void 0){let r=unescape(t.host);if(!Gk(r)){let n=Kk(r);n.isIPV6===!0?r=`[${n.escapedHost}]`:r=t.host}e.push(r)}return(typeof t.port=="number"||typeof t.port=="string")&&(e.push(":"),e.push(String(t.port))),e.length?e.join(""):void 0}Xk.exports={nonSimpleDomain:E8,recomposeAuthority:D8,normalizeComponentEncoding:j8,removeDotSegments:R8,isIPv4:Gk,isUUID:P8,normalizeIPv6:Kk,stringArrayToHexStripped:Fv}});var r1=y((Gie,t1)=>{"use strict";var{isUUID:O8}=qv(),N8=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,A8=["http","https","ws","wss","urn","urn:uuid"];function M8(t){return A8.indexOf(t)!==-1}function Lv(t){return t.secure===!0?!0:t.secure===!1?!1:t.scheme?t.scheme.length===3&&(t.scheme[0]==="w"||t.scheme[0]==="W")&&(t.scheme[1]==="s"||t.scheme[1]==="S")&&(t.scheme[2]==="s"||t.scheme[2]==="S"):!1}function Yk(t){return t.host||(t.error=t.error||"HTTP URIs must have a host."),t}function Qk(t){let e=String(t.scheme).toLowerCase()==="https";return(t.port===(e?443:80)||t.port==="")&&(t.port=void 0),t.path||(t.path="/"),t}function U8(t){return t.secure=Lv(t),t.resourceName=(t.path||"/")+(t.query?"?"+t.query:""),t.path=void 0,t.query=void 0,t}function F8(t){if((t.port===(Lv(t)?443:80)||t.port==="")&&(t.port=void 0),typeof t.secure=="boolean"&&(t.scheme=t.secure?"wss":"ws",t.secure=void 0),t.resourceName){let[e,r]=t.resourceName.split("?");t.path=e&&e!=="/"?e:void 0,t.query=r,t.resourceName=void 0}return t.fragment=void 0,t}function q8(t,e){if(!t.path)return t.error="URN can not be parsed",t;let r=t.path.match(N8);if(r){let n=e.scheme||t.scheme||"urn";t.nid=r[1].toLowerCase(),t.nss=r[2];let i=`${n}:${e.nid||t.nid}`,a=Zv(i);t.path=void 0,a&&(t=a.parse(t,e))}else t.error=t.error||"URN can not be parsed.";return t}function L8(t,e){if(t.nid===void 0)throw new Error("URN without nid cannot be serialized");let r=e.scheme||t.scheme||"urn",n=t.nid.toLowerCase(),i=`${r}:${e.nid||n}`,a=Zv(i);a&&(t=a.serialize(t,e));let o=t,s=t.nss;return o.path=`${n||e.nid}:${s}`,e.skipEscape=!0,o}function Z8(t,e){let r=t;return r.uuid=r.nss,r.nss=void 0,!e.tolerant&&(!r.uuid||!O8(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function H8(t){let e=t;return e.nss=(t.uuid||"").toLowerCase(),e}var e1={scheme:"http",domainHost:!0,parse:Yk,serialize:Qk},B8={scheme:"https",domainHost:e1.domainHost,parse:Yk,serialize:Qk},mu={scheme:"ws",domainHost:!0,parse:U8,serialize:F8},V8={scheme:"wss",domainHost:mu.domainHost,parse:mu.parse,serialize:mu.serialize},W8={scheme:"urn",parse:q8,serialize:L8,skipNormalize:!0},J8={scheme:"urn:uuid",parse:Z8,serialize:H8,skipNormalize:!0},hu={http:e1,https:B8,ws:mu,wss:V8,urn:W8,"urn:uuid":J8};Object.setPrototypeOf(hu,null);function Zv(t){return t&&(hu[t]||hu[t.toLowerCase()])||void 0}t1.exports={wsIsSecure:Lv,SCHEMES:hu,isValidSchemeName:M8,getSchemeHandler:Zv}});var a1=y((Kie,vu)=>{"use strict";var{normalizeIPv6:G8,removeDotSegments:$s,recomposeAuthority:K8,normalizeComponentEncoding:gu,isIPv4:X8,nonSimpleDomain:Y8}=qv(),{SCHEMES:Q8,getSchemeHandler:n1}=r1();function eM(t,e){return typeof t=="string"?t=wr(Yr(t,e),e):typeof t=="object"&&(t=Yr(wr(t,e),e)),t}function tM(t,e,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},i=i1(Yr(t,n),Yr(e,n),n,!0);return n.skipEscape=!0,wr(i,n)}function i1(t,e,r,n){let i={};return n||(t=Yr(wr(t,r),r),e=Yr(wr(e,r),r)),r=r||{},!r.tolerant&&e.scheme?(i.scheme=e.scheme,i.userinfo=e.userinfo,i.host=e.host,i.port=e.port,i.path=$s(e.path||""),i.query=e.query):(e.userinfo!==void 0||e.host!==void 0||e.port!==void 0?(i.userinfo=e.userinfo,i.host=e.host,i.port=e.port,i.path=$s(e.path||""),i.query=e.query):(e.path?(e.path[0]==="/"?i.path=$s(e.path):((t.userinfo!==void 0||t.host!==void 0||t.port!==void 0)&&!t.path?i.path="/"+e.path:t.path?i.path=t.path.slice(0,t.path.lastIndexOf("/")+1)+e.path:i.path=e.path,i.path=$s(i.path)),i.query=e.query):(i.path=t.path,e.query!==void 0?i.query=e.query:i.query=t.query),i.userinfo=t.userinfo,i.host=t.host,i.port=t.port),i.scheme=t.scheme),i.fragment=e.fragment,i}function rM(t,e,r){return typeof t=="string"?(t=unescape(t),t=wr(gu(Yr(t,r),!0),{...r,skipEscape:!0})):typeof t=="object"&&(t=wr(gu(t,!0),{...r,skipEscape:!0})),typeof e=="string"?(e=unescape(e),e=wr(gu(Yr(e,r),!0),{...r,skipEscape:!0})):typeof e=="object"&&(e=wr(gu(e,!0),{...r,skipEscape:!0})),t.toLowerCase()===e.toLowerCase()}function wr(t,e){let r={host:t.host,scheme:t.scheme,userinfo:t.userinfo,port:t.port,path:t.path,query:t.query,nid:t.nid,nss:t.nss,uuid:t.uuid,fragment:t.fragment,reference:t.reference,resourceName:t.resourceName,secure:t.secure,error:""},n=Object.assign({},e),i=[],a=n1(n.scheme||r.scheme);a&&a.serialize&&a.serialize(r,n),r.path!==void 0&&(n.skipEscape?r.path=unescape(r.path):(r.path=escape(r.path),r.scheme!==void 0&&(r.path=r.path.split("%3A").join(":")))),n.reference!=="suffix"&&r.scheme&&i.push(r.scheme,":");let o=K8(r);if(o!==void 0&&(n.reference!=="suffix"&&i.push("//"),i.push(o),r.path&&r.path[0]!=="/"&&i.push("/")),r.path!==void 0){let s=r.path;!n.absolutePath&&(!a||!a.absolutePath)&&(s=$s(s)),o===void 0&&s[0]==="/"&&s[1]==="/"&&(s="/%2F"+s.slice(2)),i.push(s)}return r.query!==void 0&&i.push("?",r.query),r.fragment!==void 0&&i.push("#",r.fragment),i.join("")}var nM=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function Yr(t,e){let r=Object.assign({},e),n={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},i=!1;r.reference==="suffix"&&(r.scheme?t=r.scheme+":"+t:t="//"+t);let a=t.match(nM);if(a){if(n.scheme=a[1],n.userinfo=a[3],n.host=a[4],n.port=parseInt(a[5],10),n.path=a[6]||"",n.query=a[7],n.fragment=a[8],isNaN(n.port)&&(n.port=a[5]),n.host)if(X8(n.host)===!1){let c=G8(n.host);n.host=c.host.toLowerCase(),i=c.isIPV6}else i=!0;n.scheme===void 0&&n.userinfo===void 0&&n.host===void 0&&n.port===void 0&&n.query===void 0&&!n.path?n.reference="same-document":n.scheme===void 0?n.reference="relative":n.fragment===void 0?n.reference="absolute":n.reference="uri",r.reference&&r.reference!=="suffix"&&r.reference!==n.reference&&(n.error=n.error||"URI is not a "+r.reference+" reference.");let o=n1(r.scheme||n.scheme);if(!r.unicodeSupport&&(!o||!o.unicodeSupport)&&n.host&&(r.domainHost||o&&o.domainHost)&&i===!1&&Y8(n.host))try{n.host=URL.domainToASCII(n.host.toLowerCase())}catch(s){n.error=n.error||"Host's domain name can not be converted to ASCII: "+s}(!o||o&&!o.skipNormalize)&&(t.indexOf("%")!==-1&&(n.scheme!==void 0&&(n.scheme=unescape(n.scheme)),n.host!==void 0&&(n.host=unescape(n.host))),n.path&&(n.path=escape(unescape(n.path))),n.fragment&&(n.fragment=encodeURI(decodeURIComponent(n.fragment)))),o&&o.parse&&o.parse(n,r)}else n.error=n.error||"URI can not be parsed.";return n}var Hv={SCHEMES:Q8,normalize:eM,resolve:tM,resolveComponent:i1,equal:rM,serialize:wr,parse:Yr};vu.exports=Hv;vu.exports.default=Hv;vu.exports.fastUri=Hv});var s1=y(Bv=>{"use strict";Object.defineProperty(Bv,"__esModule",{value:!0});var o1=a1();o1.code='require("ajv/dist/runtime/uri").default';Bv.default=o1});var h1=y(nt=>{"use strict";Object.defineProperty(nt,"__esModule",{value:!0});nt.CodeGen=nt.Name=nt.nil=nt.stringify=nt.str=nt._=nt.KeywordCxt=void 0;var iM=Ss();Object.defineProperty(nt,"KeywordCxt",{enumerable:!0,get:function(){return iM.KeywordCxt}});var ia=X();Object.defineProperty(nt,"_",{enumerable:!0,get:function(){return ia._}});Object.defineProperty(nt,"str",{enumerable:!0,get:function(){return ia.str}});Object.defineProperty(nt,"stringify",{enumerable:!0,get:function(){return ia.stringify}});Object.defineProperty(nt,"nil",{enumerable:!0,get:function(){return ia.nil}});Object.defineProperty(nt,"Name",{enumerable:!0,get:function(){return ia.Name}});Object.defineProperty(nt,"CodeGen",{enumerable:!0,get:function(){return ia.CodeGen}});var aM=pu(),d1=ks(),oM=bv(),Is=fu(),sM=X(),Ps=bs(),yu=xs(),Wv=le(),c1=Wk(),cM=s1(),f1=(t,e)=>new RegExp(t,e);f1.code="new RegExp";var lM=["removeAdditional","useDefaults","coerceTypes"],uM=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),pM={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."},dM={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},l1=200;function fM(t){var e,r,n,i,a,o,s,c,l,u,p,d,f,m,h,g,b,S,_,k,$,N,Z,me,Je;let He=t.strict,rr=(e=t.code)===null||e===void 0?void 0:e.optimize,Nr=rr===!0||rr===void 0?1:rr||0,wt=(n=(r=t.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:f1,gr=(i=t.uriResolver)!==null&&i!==void 0?i:cM.default;return{strictSchema:(o=(a=t.strictSchema)!==null&&a!==void 0?a:He)!==null&&o!==void 0?o:!0,strictNumbers:(c=(s=t.strictNumbers)!==null&&s!==void 0?s:He)!==null&&c!==void 0?c:!0,strictTypes:(u=(l=t.strictTypes)!==null&&l!==void 0?l:He)!==null&&u!==void 0?u:"log",strictTuples:(d=(p=t.strictTuples)!==null&&p!==void 0?p:He)!==null&&d!==void 0?d:"log",strictRequired:(m=(f=t.strictRequired)!==null&&f!==void 0?f:He)!==null&&m!==void 0?m:!1,code:t.code?{...t.code,optimize:Nr,regExp:wt}:{optimize:Nr,regExp:wt},loopRequired:(h=t.loopRequired)!==null&&h!==void 0?h:l1,loopEnum:(g=t.loopEnum)!==null&&g!==void 0?g:l1,meta:(b=t.meta)!==null&&b!==void 0?b:!0,messages:(S=t.messages)!==null&&S!==void 0?S:!0,inlineRefs:(_=t.inlineRefs)!==null&&_!==void 0?_:!0,schemaId:(k=t.schemaId)!==null&&k!==void 0?k:"$id",addUsedSchema:($=t.addUsedSchema)!==null&&$!==void 0?$:!0,validateSchema:(N=t.validateSchema)!==null&&N!==void 0?N:!0,validateFormats:(Z=t.validateFormats)!==null&&Z!==void 0?Z:!0,unicodeRegExp:(me=t.unicodeRegExp)!==null&&me!==void 0?me:!0,int32range:(Je=t.int32range)!==null&&Je!==void 0?Je:!0,uriResolver:gr}}var Es=class{constructor(e={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,...fM(e)};let{es5:r,lines:n}=this.opts.code;this.scope=new sM.ValueScope({scope:{},prefixes:uM,es5:r,lines:n}),this.logger=xM(e.logger);let i=e.validateFormats;e.validateFormats=!1,this.RULES=(0,oM.getRules)(),u1.call(this,pM,e,"NOT SUPPORTED"),u1.call(this,dM,e,"DEPRECATED","warn"),this._metaOpts=vM.call(this),e.formats&&hM.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&gM.call(this,e.keywords),typeof e.meta=="object"&&this.addMetaSchema(e.meta),mM.call(this),e.validateFormats=i}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:e,meta:r,schemaId:n}=this.opts,i=c1;n==="id"&&(i={...c1},i.id=i.$id,delete i.$id),r&&e&&this.addMetaSchema(i,i[n],!1)}defaultMeta(){let{meta:e,schemaId:r}=this.opts;return this.opts.defaultMeta=typeof e=="object"?e[r]||e:void 0}validate(e,r){let n;if(typeof e=="string"){if(n=this.getSchema(e),!n)throw new Error(`no schema with key or ref "${e}"`)}else n=this.compile(e);let i=n(r);return"$async"in n||(this.errors=n.errors),i}compile(e,r){let n=this._addSchema(e,r);return n.validate||this._compileSchemaEnv(n)}compileAsync(e,r){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:n}=this.opts;return i.call(this,e,r);async function i(u,p){await a.call(this,u.$schema);let d=this._addSchema(u,p);return d.validate||o.call(this,d)}async function a(u){u&&!this.getSchema(u)&&await i.call(this,{$ref:u},!0)}async function o(u){try{return this._compileSchemaEnv(u)}catch(p){if(!(p instanceof d1.default))throw p;return s.call(this,p),await c.call(this,p.missingSchema),o.call(this,u)}}function s({missingSchema:u,missingRef:p}){if(this.refs[u])throw new Error(`AnySchema ${u} is loaded but ${p} cannot be resolved`)}async function c(u){let p=await l.call(this,u);this.refs[u]||await a.call(this,p.$schema),this.refs[u]||this.addSchema(p,u,r)}async function l(u){let p=this._loading[u];if(p)return p;try{return await(this._loading[u]=n(u))}finally{delete this._loading[u]}}}addSchema(e,r,n,i=this.opts.validateSchema){if(Array.isArray(e)){for(let o of e)this.addSchema(o,void 0,n,i);return this}let a;if(typeof e=="object"){let{schemaId:o}=this.opts;if(a=e[o],a!==void 0&&typeof a!="string")throw new Error(`schema ${o} must be string`)}return r=(0,Ps.normalizeId)(r||a),this._checkUnique(r),this.schemas[r]=this._addSchema(e,n,r,i,!0),this}addMetaSchema(e,r,n=this.opts.validateSchema){return this.addSchema(e,r,!0,n),this}validateSchema(e,r){if(typeof e=="boolean")return!0;let n;if(n=e.$schema,n!==void 0&&typeof n!="string")throw new Error("$schema must be a string");if(n=n||this.opts.defaultMeta||this.defaultMeta(),!n)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let i=this.validate(n,e);if(!i&&r){let a="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(a);else throw new Error(a)}return i}getSchema(e){let r;for(;typeof(r=p1.call(this,e))=="string";)e=r;if(r===void 0){let{schemaId:n}=this.opts,i=new Is.SchemaEnv({schema:{},schemaId:n});if(r=Is.resolveSchema.call(this,i,e),!r)return;this.refs[e]=r}return r.validate||this._compileSchemaEnv(r)}removeSchema(e){if(e instanceof RegExp)return this._removeAllSchemas(this.schemas,e),this._removeAllSchemas(this.refs,e),this;switch(typeof e){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let r=p1.call(this,e);return typeof r=="object"&&this._cache.delete(r.schema),delete this.schemas[e],delete this.refs[e],this}case"object":{let r=e;this._cache.delete(r);let n=e[this.opts.schemaId];return n&&(n=(0,Ps.normalizeId)(n),delete this.schemas[n],delete this.refs[n]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(e){for(let r of e)this.addKeyword(r);return this}addKeyword(e,r){let n;if(typeof e=="string")n=e,typeof r=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),r.keyword=n);else if(typeof e=="object"&&r===void 0){if(r=e,n=r.keyword,Array.isArray(n)&&!n.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(_M.call(this,n,r),!r)return(0,Wv.eachItem)(n,a=>Vv.call(this,a)),this;SM.call(this,r);let i={...r,type:(0,yu.getJSONTypes)(r.type),schemaType:(0,yu.getJSONTypes)(r.schemaType)};return(0,Wv.eachItem)(n,i.type.length===0?a=>Vv.call(this,a,i):a=>i.type.forEach(o=>Vv.call(this,a,i,o))),this}getKeyword(e){let r=this.RULES.all[e];return typeof r=="object"?r.definition:!!r}removeKeyword(e){let{RULES:r}=this;delete r.keywords[e],delete r.all[e];for(let n of r.rules){let i=n.rules.findIndex(a=>a.keyword===e);i>=0&&n.rules.splice(i,1)}return this}addFormat(e,r){return typeof r=="string"&&(r=new RegExp(r)),this.formats[e]=r,this}errorsText(e=this.errors,{separator:r=", ",dataVar:n="data"}={}){return!e||e.length===0?"No errors":e.map(i=>`${n}${i.instancePath} ${i.message}`).reduce((i,a)=>i+r+a)}$dataMetaSchema(e,r){let n=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(let i of r){let a=i.split("/").slice(1),o=e;for(let s of a)o=o[s];for(let s in n){let c=n[s];if(typeof c!="object")continue;let{$data:l}=c.definition,u=o[s];l&&u&&(o[s]=m1(u))}}return e}_removeAllSchemas(e,r){for(let n in e){let i=e[n];(!r||r.test(n))&&(typeof i=="string"?delete e[n]:i&&!i.meta&&(this._cache.delete(i.schema),delete e[n]))}}_addSchema(e,r,n,i=this.opts.validateSchema,a=this.opts.addUsedSchema){let o,{schemaId:s}=this.opts;if(typeof e=="object")o=e[s];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof e!="boolean")throw new Error("schema must be object or boolean")}let c=this._cache.get(e);if(c!==void 0)return c;n=(0,Ps.normalizeId)(o||n);let l=Ps.getSchemaRefs.call(this,e,n);return c=new Is.SchemaEnv({schema:e,schemaId:s,meta:r,baseId:n,localRefs:l}),this._cache.set(c.schema,c),a&&!n.startsWith("#")&&(n&&this._checkUnique(n),this.refs[n]=c),i&&this.validateSchema(e,!0),c}_checkUnique(e){if(this.schemas[e]||this.refs[e])throw new Error(`schema with key or id "${e}" already exists`)}_compileSchemaEnv(e){if(e.meta?this._compileMetaSchema(e):Is.compileSchema.call(this,e),!e.validate)throw new Error("ajv implementation error");return e.validate}_compileMetaSchema(e){let r=this.opts;this.opts=this._metaOpts;try{Is.compileSchema.call(this,e)}finally{this.opts=r}}};Es.ValidationError=aM.default;Es.MissingRefError=d1.default;nt.default=Es;function u1(t,e,r,n="error"){for(let i in t){let a=i;a in e&&this.logger[n](`${r}: option ${i}. ${t[a]}`)}}function p1(t){return t=(0,Ps.normalizeId)(t),this.schemas[t]||this.refs[t]}function mM(){let t=this.opts.schemas;if(t)if(Array.isArray(t))this.addSchema(t);else for(let e in t)this.addSchema(t[e],e)}function hM(){for(let t in this.opts.formats){let e=this.opts.formats[t];e&&this.addFormat(t,e)}}function gM(t){if(Array.isArray(t)){this.addVocabulary(t);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let e in t){let r=t[e];r.keyword||(r.keyword=e),this.addKeyword(r)}}function vM(){let t={...this.opts};for(let e of lM)delete t[e];return t}var yM={log(){},warn(){},error(){}};function xM(t){if(t===!1)return yM;if(t===void 0)return console;if(t.log&&t.warn&&t.error)return t;throw new Error("logger must implement log, warn and error methods")}var bM=/^[a-z_$][a-z0-9_$:-]*$/i;function _M(t,e){let{RULES:r}=this;if((0,Wv.eachItem)(t,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!bM.test(n))throw new Error(`Keyword ${n} has invalid name`)}),!!e&&e.$data&&!("code"in e||"validate"in e))throw new Error('$data keyword must have "code" or "validate" function')}function Vv(t,e,r){var n;let i=e?.post;if(r&&i)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:a}=this,o=i?a.post:a.rules.find(({type:c})=>c===r);if(o||(o={type:r,rules:[]},a.rules.push(o)),a.keywords[t]=!0,!e)return;let s={keyword:t,definition:{...e,type:(0,yu.getJSONTypes)(e.type),schemaType:(0,yu.getJSONTypes)(e.schemaType)}};e.before?wM.call(this,o,s,e.before):o.rules.push(s),a.all[t]=s,(n=e.implements)===null||n===void 0||n.forEach(c=>this.addKeyword(c))}function wM(t,e,r){let n=t.rules.findIndex(i=>i.keyword===r);n>=0?t.rules.splice(n,0,e):(t.rules.push(e),this.logger.warn(`rule ${r} is not defined`))}function SM(t){let{metaSchema:e}=t;e!==void 0&&(t.$data&&this.opts.$data&&(e=m1(e)),t.validateSchema=this.compile(e,!0))}var kM={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function m1(t){return{anyOf:[t,kM]}}});var g1=y(Jv=>{"use strict";Object.defineProperty(Jv,"__esModule",{value:!0});var $M={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};Jv.default=$M});var b1=y(Qn=>{"use strict";Object.defineProperty(Qn,"__esModule",{value:!0});Qn.callRef=Qn.getValidate=void 0;var IM=ks(),v1=Gt(),Pt=X(),aa=Kr(),y1=fu(),xu=le(),PM={keyword:"$ref",schemaType:"string",code(t){let{gen:e,schema:r,it:n}=t,{baseId:i,schemaEnv:a,validateName:o,opts:s,self:c}=n,{root:l}=a;if((r==="#"||r==="#/")&&i===l.baseId)return p();let u=y1.resolveRef.call(c,l,i,r);if(u===void 0)throw new IM.default(n.opts.uriResolver,i,r);if(u instanceof y1.SchemaEnv)return d(u);return f(u);function p(){if(a===l)return bu(t,o,a,a.$async);let m=e.scopeValue("root",{ref:l});return bu(t,(0,Pt._)`${m}.validate`,l,l.$async)}function d(m){let h=x1(t,m);bu(t,h,m,m.$async)}function f(m){let h=e.scopeValue("schema",s.code.source===!0?{ref:m,code:(0,Pt.stringify)(m)}:{ref:m}),g=e.name("valid"),b=t.subschema({schema:m,dataTypes:[],schemaPath:Pt.nil,topSchemaRef:h,errSchemaPath:r},g);t.mergeEvaluated(b),t.ok(g)}}};function x1(t,e){let{gen:r}=t;return e.validate?r.scopeValue("validate",{ref:e.validate}):(0,Pt._)`${r.scopeValue("wrapper",{ref:e})}.validate`}Qn.getValidate=x1;function bu(t,e,r,n){let{gen:i,it:a}=t,{allErrors:o,schemaEnv:s,opts:c}=a,l=c.passContext?aa.default.this:Pt.nil;n?u():p();function u(){if(!s.$async)throw new Error("async schema referenced by sync schema");let m=i.let("valid");i.try(()=>{i.code((0,Pt._)`await ${(0,v1.callValidateCode)(t,e,l)}`),f(e),o||i.assign(m,!0)},h=>{i.if((0,Pt._)`!(${h} instanceof ${a.ValidationError})`,()=>i.throw(h)),d(h),o||i.assign(m,!1)}),t.ok(m)}function p(){t.result((0,v1.callValidateCode)(t,e,l),()=>f(e),()=>d(e))}function d(m){let h=(0,Pt._)`${m}.errors`;i.assign(aa.default.vErrors,(0,Pt._)`${aa.default.vErrors} === null ? ${h} : ${aa.default.vErrors}.concat(${h})`),i.assign(aa.default.errors,(0,Pt._)`${aa.default.vErrors}.length`)}function f(m){var h;if(!a.opts.unevaluated)return;let g=(h=r?.validate)===null||h===void 0?void 0:h.evaluated;if(a.props!==!0)if(g&&!g.dynamicProps)g.props!==void 0&&(a.props=xu.mergeEvaluated.props(i,g.props,a.props));else{let b=i.var("props",(0,Pt._)`${m}.evaluated.props`);a.props=xu.mergeEvaluated.props(i,b,a.props,Pt.Name)}if(a.items!==!0)if(g&&!g.dynamicItems)g.items!==void 0&&(a.items=xu.mergeEvaluated.items(i,g.items,a.items));else{let b=i.var("items",(0,Pt._)`${m}.evaluated.items`);a.items=xu.mergeEvaluated.items(i,b,a.items,Pt.Name)}}}Qn.callRef=bu;Qn.default=PM});var _1=y(Gv=>{"use strict";Object.defineProperty(Gv,"__esModule",{value:!0});var EM=g1(),TM=b1(),CM=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",EM.default,TM.default];Gv.default=CM});var w1=y(Kv=>{"use strict";Object.defineProperty(Kv,"__esModule",{value:!0});var _u=X(),bn=_u.operators,wu={maximum:{okStr:"<=",ok:bn.LTE,fail:bn.GT},minimum:{okStr:">=",ok:bn.GTE,fail:bn.LT},exclusiveMaximum:{okStr:"<",ok:bn.LT,fail:bn.GTE},exclusiveMinimum:{okStr:">",ok:bn.GT,fail:bn.LTE}},zM={message:({keyword:t,schemaCode:e})=>(0,_u.str)`must be ${wu[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,_u._)`{comparison: ${wu[t].okStr}, limit: ${e}}`},RM={keyword:Object.keys(wu),type:"number",schemaType:"number",$data:!0,error:zM,code(t){let{keyword:e,data:r,schemaCode:n}=t;t.fail$data((0,_u._)`${r} ${wu[e].fail} ${n} || isNaN(${r})`)}};Kv.default=RM});var S1=y(Xv=>{"use strict";Object.defineProperty(Xv,"__esModule",{value:!0});var Ts=X(),jM={message:({schemaCode:t})=>(0,Ts.str)`must be multiple of ${t}`,params:({schemaCode:t})=>(0,Ts._)`{multipleOf: ${t}}`},DM={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:jM,code(t){let{gen:e,data:r,schemaCode:n,it:i}=t,a=i.opts.multipleOfPrecision,o=e.let("res"),s=a?(0,Ts._)`Math.abs(Math.round(${o}) - ${o}) > 1e-${a}`:(0,Ts._)`${o} !== parseInt(${o})`;t.fail$data((0,Ts._)`(${n} === 0 || (${o} = ${r}/${n}, ${s}))`)}};Xv.default=DM});var $1=y(Yv=>{"use strict";Object.defineProperty(Yv,"__esModule",{value:!0});function k1(t){let e=t.length,r=0,n=0,i;for(;n<e;)r++,i=t.charCodeAt(n++),i>=55296&&i<=56319&&n<e&&(i=t.charCodeAt(n),(i&64512)===56320&&n++);return r}Yv.default=k1;k1.code='require("ajv/dist/runtime/ucs2length").default'});var I1=y(Qv=>{"use strict";Object.defineProperty(Qv,"__esModule",{value:!0});var ei=X(),OM=le(),NM=$1(),AM={message({keyword:t,schemaCode:e}){let r=t==="maxLength"?"more":"fewer";return(0,ei.str)`must NOT have ${r} than ${e} characters`},params:({schemaCode:t})=>(0,ei._)`{limit: ${t}}`},MM={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:AM,code(t){let{keyword:e,data:r,schemaCode:n,it:i}=t,a=e==="maxLength"?ei.operators.GT:ei.operators.LT,o=i.opts.unicode===!1?(0,ei._)`${r}.length`:(0,ei._)`${(0,OM.useFunc)(t.gen,NM.default)}(${r})`;t.fail$data((0,ei._)`${o} ${a} ${n}`)}};Qv.default=MM});var P1=y(ey=>{"use strict";Object.defineProperty(ey,"__esModule",{value:!0});var UM=Gt(),Su=X(),FM={message:({schemaCode:t})=>(0,Su.str)`must match pattern "${t}"`,params:({schemaCode:t})=>(0,Su._)`{pattern: ${t}}`},qM={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:FM,code(t){let{data:e,$data:r,schema:n,schemaCode:i,it:a}=t,o=a.opts.unicodeRegExp?"u":"",s=r?(0,Su._)`(new RegExp(${i}, ${o}))`:(0,UM.usePattern)(t,n);t.fail$data((0,Su._)`!${s}.test(${e})`)}};ey.default=qM});var E1=y(ty=>{"use strict";Object.defineProperty(ty,"__esModule",{value:!0});var Cs=X(),LM={message({keyword:t,schemaCode:e}){let r=t==="maxProperties"?"more":"fewer";return(0,Cs.str)`must NOT have ${r} than ${e} properties`},params:({schemaCode:t})=>(0,Cs._)`{limit: ${t}}`},ZM={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:LM,code(t){let{keyword:e,data:r,schemaCode:n}=t,i=e==="maxProperties"?Cs.operators.GT:Cs.operators.LT;t.fail$data((0,Cs._)`Object.keys(${r}).length ${i} ${n}`)}};ty.default=ZM});var T1=y(ry=>{"use strict";Object.defineProperty(ry,"__esModule",{value:!0});var zs=Gt(),Rs=X(),HM=le(),BM={message:({params:{missingProperty:t}})=>(0,Rs.str)`must have required property '${t}'`,params:({params:{missingProperty:t}})=>(0,Rs._)`{missingProperty: ${t}}`},VM={keyword:"required",type:"object",schemaType:"array",$data:!0,error:BM,code(t){let{gen:e,schema:r,schemaCode:n,data:i,$data:a,it:o}=t,{opts:s}=o;if(!a&&r.length===0)return;let c=r.length>=s.loopRequired;if(o.allErrors?l():u(),s.strictRequired){let f=t.parentSchema.properties,{definedProperties:m}=t.it;for(let h of r)if(f?.[h]===void 0&&!m.has(h)){let g=o.schemaEnv.baseId+o.errSchemaPath,b=`required property "${h}" is not defined at "${g}" (strictRequired)`;(0,HM.checkStrictMode)(o,b,o.opts.strictRequired)}}function l(){if(c||a)t.block$data(Rs.nil,p);else for(let f of r)(0,zs.checkReportMissingProp)(t,f)}function u(){let f=e.let("missing");if(c||a){let m=e.let("valid",!0);t.block$data(m,()=>d(f,m)),t.ok(m)}else e.if((0,zs.checkMissingProp)(t,r,f)),(0,zs.reportMissingProp)(t,f),e.else()}function p(){e.forOf("prop",n,f=>{t.setParams({missingProperty:f}),e.if((0,zs.noPropertyInData)(e,i,f,s.ownProperties),()=>t.error())})}function d(f,m){t.setParams({missingProperty:f}),e.forOf(f,n,()=>{e.assign(m,(0,zs.propertyInData)(e,i,f,s.ownProperties)),e.if((0,Rs.not)(m),()=>{t.error(),e.break()})},Rs.nil)}}};ry.default=VM});var C1=y(ny=>{"use strict";Object.defineProperty(ny,"__esModule",{value:!0});var js=X(),WM={message({keyword:t,schemaCode:e}){let r=t==="maxItems"?"more":"fewer";return(0,js.str)`must NOT have ${r} than ${e} items`},params:({schemaCode:t})=>(0,js._)`{limit: ${t}}`},JM={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:WM,code(t){let{keyword:e,data:r,schemaCode:n}=t,i=e==="maxItems"?js.operators.GT:js.operators.LT;t.fail$data((0,js._)`${r}.length ${i} ${n}`)}};ny.default=JM});var ku=y(iy=>{"use strict";Object.defineProperty(iy,"__esModule",{value:!0});var z1=Ev();z1.code='require("ajv/dist/runtime/equal").default';iy.default=z1});var R1=y(oy=>{"use strict";Object.defineProperty(oy,"__esModule",{value:!0});var ay=xs(),it=X(),GM=le(),KM=ku(),XM={message:({params:{i:t,j:e}})=>(0,it.str)`must NOT have duplicate items (items ## ${e} and ${t} are identical)`,params:({params:{i:t,j:e}})=>(0,it._)`{i: ${t}, j: ${e}}`},YM={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:XM,code(t){let{gen:e,data:r,$data:n,schema:i,parentSchema:a,schemaCode:o,it:s}=t;if(!n&&!i)return;let c=e.let("valid"),l=a.items?(0,ay.getSchemaTypes)(a.items):[];t.block$data(c,u,(0,it._)`${o} === false`),t.ok(c);function u(){let m=e.let("i",(0,it._)`${r}.length`),h=e.let("j");t.setParams({i:m,j:h}),e.assign(c,!0),e.if((0,it._)`${m} > 1`,()=>(p()?d:f)(m,h))}function p(){return l.length>0&&!l.some(m=>m==="object"||m==="array")}function d(m,h){let g=e.name("item"),b=(0,ay.checkDataTypes)(l,g,s.opts.strictNumbers,ay.DataType.Wrong),S=e.const("indices",(0,it._)`{}`);e.for((0,it._)`;${m}--;`,()=>{e.let(g,(0,it._)`${r}[${m}]`),e.if(b,(0,it._)`continue`),l.length>1&&e.if((0,it._)`typeof ${g} == "string"`,(0,it._)`${g} += "_"`),e.if((0,it._)`typeof ${S}[${g}] == "number"`,()=>{e.assign(h,(0,it._)`${S}[${g}]`),t.error(),e.assign(c,!1).break()}).code((0,it._)`${S}[${g}] = ${m}`)})}function f(m,h){let g=(0,GM.useFunc)(e,KM.default),b=e.name("outer");e.label(b).for((0,it._)`;${m}--;`,()=>e.for((0,it._)`${h} = ${m}; ${h}--;`,()=>e.if((0,it._)`${g}(${r}[${m}], ${r}[${h}])`,()=>{t.error(),e.assign(c,!1).break(b)})))}}};oy.default=YM});var j1=y(cy=>{"use strict";Object.defineProperty(cy,"__esModule",{value:!0});var sy=X(),QM=le(),eU=ku(),tU={message:"must be equal to constant",params:({schemaCode:t})=>(0,sy._)`{allowedValue: ${t}}`},rU={keyword:"const",$data:!0,error:tU,code(t){let{gen:e,data:r,$data:n,schemaCode:i,schema:a}=t;n||a&&typeof a=="object"?t.fail$data((0,sy._)`!${(0,QM.useFunc)(e,eU.default)}(${r}, ${i})`):t.fail((0,sy._)`${a} !== ${r}`)}};cy.default=rU});var D1=y(ly=>{"use strict";Object.defineProperty(ly,"__esModule",{value:!0});var Ds=X(),nU=le(),iU=ku(),aU={message:"must be equal to one of the allowed values",params:({schemaCode:t})=>(0,Ds._)`{allowedValues: ${t}}`},oU={keyword:"enum",schemaType:"array",$data:!0,error:aU,code(t){let{gen:e,data:r,$data:n,schema:i,schemaCode:a,it:o}=t;if(!n&&i.length===0)throw new Error("enum must have non-empty array");let s=i.length>=o.opts.loopEnum,c,l=()=>c??(c=(0,nU.useFunc)(e,iU.default)),u;if(s||n)u=e.let("valid"),t.block$data(u,p);else{if(!Array.isArray(i))throw new Error("ajv implementation error");let f=e.const("vSchema",a);u=(0,Ds.or)(...i.map((m,h)=>d(f,h)))}t.pass(u);function p(){e.assign(u,!1),e.forOf("v",a,f=>e.if((0,Ds._)`${l()}(${r}, ${f})`,()=>e.assign(u,!0).break()))}function d(f,m){let h=i[m];return typeof h=="object"&&h!==null?(0,Ds._)`${l()}(${r}, ${f}[${m}])`:(0,Ds._)`${r} === ${h}`}}};ly.default=oU});var O1=y(uy=>{"use strict";Object.defineProperty(uy,"__esModule",{value:!0});var sU=w1(),cU=S1(),lU=I1(),uU=P1(),pU=E1(),dU=T1(),fU=C1(),mU=R1(),hU=j1(),gU=D1(),vU=[sU.default,cU.default,lU.default,uU.default,pU.default,dU.default,fU.default,mU.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},hU.default,gU.default];uy.default=vU});var dy=y(Os=>{"use strict";Object.defineProperty(Os,"__esModule",{value:!0});Os.validateAdditionalItems=void 0;var ti=X(),py=le(),yU={message:({params:{len:t}})=>(0,ti.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,ti._)`{limit: ${t}}`},xU={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:yU,code(t){let{parentSchema:e,it:r}=t,{items:n}=e;if(!Array.isArray(n)){(0,py.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}N1(t,n)}};function N1(t,e){let{gen:r,schema:n,data:i,keyword:a,it:o}=t;o.items=!0;let s=r.const("len",(0,ti._)`${i}.length`);if(n===!1)t.setParams({len:e.length}),t.pass((0,ti._)`${s} <= ${e.length}`);else if(typeof n=="object"&&!(0,py.alwaysValidSchema)(o,n)){let l=r.var("valid",(0,ti._)`${s} <= ${e.length}`);r.if((0,ti.not)(l),()=>c(l)),t.ok(l)}function c(l){r.forRange("i",e.length,s,u=>{t.subschema({keyword:a,dataProp:u,dataPropType:py.Type.Num},l),o.allErrors||r.if((0,ti.not)(l),()=>r.break())})}}Os.validateAdditionalItems=N1;Os.default=xU});var fy=y(Ns=>{"use strict";Object.defineProperty(Ns,"__esModule",{value:!0});Ns.validateTuple=void 0;var A1=X(),$u=le(),bU=Gt(),_U={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(t){let{schema:e,it:r}=t;if(Array.isArray(e))return M1(t,"additionalItems",e);r.items=!0,!(0,$u.alwaysValidSchema)(r,e)&&t.ok((0,bU.validateArray)(t))}};function M1(t,e,r=t.schema){let{gen:n,parentSchema:i,data:a,keyword:o,it:s}=t;u(i),s.opts.unevaluated&&r.length&&s.items!==!0&&(s.items=$u.mergeEvaluated.items(n,r.length,s.items));let c=n.name("valid"),l=n.const("len",(0,A1._)`${a}.length`);r.forEach((p,d)=>{(0,$u.alwaysValidSchema)(s,p)||(n.if((0,A1._)`${l} > ${d}`,()=>t.subschema({keyword:o,schemaProp:d,dataProp:d},c)),t.ok(c))});function u(p){let{opts:d,errSchemaPath:f}=s,m=r.length,h=m===p.minItems&&(m===p.maxItems||p[e]===!1);if(d.strictTuples&&!h){let g=`"${o}" is ${m}-tuple, but minItems or maxItems/${e} are not specified or different at path "${f}"`;(0,$u.checkStrictMode)(s,g,d.strictTuples)}}}Ns.validateTuple=M1;Ns.default=_U});var U1=y(my=>{"use strict";Object.defineProperty(my,"__esModule",{value:!0});var wU=fy(),SU={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:t=>(0,wU.validateTuple)(t,"items")};my.default=SU});var q1=y(hy=>{"use strict";Object.defineProperty(hy,"__esModule",{value:!0});var F1=X(),kU=le(),$U=Gt(),IU=dy(),PU={message:({params:{len:t}})=>(0,F1.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,F1._)`{limit: ${t}}`},EU={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:PU,code(t){let{schema:e,parentSchema:r,it:n}=t,{prefixItems:i}=r;n.items=!0,!(0,kU.alwaysValidSchema)(n,e)&&(i?(0,IU.validateAdditionalItems)(t,i):t.ok((0,$U.validateArray)(t)))}};hy.default=EU});var L1=y(gy=>{"use strict";Object.defineProperty(gy,"__esModule",{value:!0});var Xt=X(),Iu=le(),TU={message:({params:{min:t,max:e}})=>e===void 0?(0,Xt.str)`must contain at least ${t} valid item(s)`:(0,Xt.str)`must contain at least ${t} and no more than ${e} valid item(s)`,params:({params:{min:t,max:e}})=>e===void 0?(0,Xt._)`{minContains: ${t}}`:(0,Xt._)`{minContains: ${t}, maxContains: ${e}}`},CU={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:TU,code(t){let{gen:e,schema:r,parentSchema:n,data:i,it:a}=t,o,s,{minContains:c,maxContains:l}=n;a.opts.next?(o=c===void 0?1:c,s=l):o=1;let u=e.const("len",(0,Xt._)`${i}.length`);if(t.setParams({min:o,max:s}),s===void 0&&o===0){(0,Iu.checkStrictMode)(a,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(s!==void 0&&o>s){(0,Iu.checkStrictMode)(a,'"minContains" > "maxContains" is always invalid'),t.fail();return}if((0,Iu.alwaysValidSchema)(a,r)){let h=(0,Xt._)`${u} >= ${o}`;s!==void 0&&(h=(0,Xt._)`${h} && ${u} <= ${s}`),t.pass(h);return}a.items=!0;let p=e.name("valid");s===void 0&&o===1?f(p,()=>e.if(p,()=>e.break())):o===0?(e.let(p,!0),s!==void 0&&e.if((0,Xt._)`${i}.length > 0`,d)):(e.let(p,!1),d()),t.result(p,()=>t.reset());function d(){let h=e.name("_valid"),g=e.let("count",0);f(h,()=>e.if(h,()=>m(g)))}function f(h,g){e.forRange("i",0,u,b=>{t.subschema({keyword:"contains",dataProp:b,dataPropType:Iu.Type.Num,compositeRule:!0},h),g()})}function m(h){e.code((0,Xt._)`${h}++`),s===void 0?e.if((0,Xt._)`${h} >= ${o}`,()=>e.assign(p,!0).break()):(e.if((0,Xt._)`${h} > ${s}`,()=>e.assign(p,!1).break()),o===1?e.assign(p,!0):e.if((0,Xt._)`${h} >= ${o}`,()=>e.assign(p,!0)))}}};gy.default=CU});var B1=y(Sr=>{"use strict";Object.defineProperty(Sr,"__esModule",{value:!0});Sr.validateSchemaDeps=Sr.validatePropertyDeps=Sr.error=void 0;var vy=X(),zU=le(),As=Gt();Sr.error={message:({params:{property:t,depsCount:e,deps:r}})=>{let n=e===1?"property":"properties";return(0,vy.str)`must have ${n} ${r} when property ${t} is present`},params:({params:{property:t,depsCount:e,deps:r,missingProperty:n}})=>(0,vy._)`{property: ${t},
|
|
8
8
|
missingProperty: ${n},
|
|
9
9
|
depsCount: ${e},
|
|
10
|
-
deps: ${r}}`};var RU={keyword:"dependencies",type:"object",schemaType:"object",error:Sr.error,code(t){let[e,r]=jU(t);Z1(t,e),H1(t,r)}};function jU({schema:t}){let e={},r={};for(let n in t){if(n==="__proto__")continue;let i=Array.isArray(t[n])?e:r;i[n]=t[n]}return[e,r]}function Z1(t,e=t.schema){let{gen:r,data:n,it:i}=t;if(Object.keys(e).length===0)return;let a=r.let("missing");for(let o in e){let s=e[o];if(s.length===0)continue;let c=(0,As.propertyInData)(r,n,o,i.opts.ownProperties);t.setParams({property:o,depsCount:s.length,deps:s.join(", ")}),i.allErrors?r.if(c,()=>{for(let l of s)(0,As.checkReportMissingProp)(t,l)}):(r.if((0,vy._)`${c} && (${(0,As.checkMissingProp)(t,s,a)})`),(0,As.reportMissingProp)(t,a),r.else())}}Sr.validatePropertyDeps=Z1;function H1(t,e=t.schema){let{gen:r,data:n,keyword:i,it:a}=t,o=r.name("valid");for(let s in e)(0,zU.alwaysValidSchema)(a,e[s])||(r.if((0,As.propertyInData)(r,n,s,a.opts.ownProperties),()=>{let c=t.subschema({keyword:i,schemaProp:s},o);t.mergeValidEvaluated(c,o)},()=>r.var(o,!0)),t.ok(o))}Sr.validateSchemaDeps=H1;Sr.default=RU});var W1=y(yy=>{"use strict";Object.defineProperty(yy,"__esModule",{value:!0});var V1=X(),DU=le(),OU={message:"property name must be valid",params:({params:t})=>(0,V1._)`{propertyName: ${t.propertyName}}`},NU={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:OU,code(t){let{gen:e,schema:r,data:n,it:i}=t;if((0,DU.alwaysValidSchema)(i,r))return;let a=e.name("valid");e.forIn("key",n,o=>{t.setParams({propertyName:o}),t.subschema({keyword:"propertyNames",data:o,dataTypes:["string"],propertyName:o,compositeRule:!0},a),e.if((0,V1.not)(a),()=>{t.error(!0),i.allErrors||e.break()})}),t.ok(a)}};yy.default=NU});var by=y(xy=>{"use strict";Object.defineProperty(xy,"__esModule",{value:!0});var Pu=Gt(),lr=X(),AU=Kr(),Eu=le(),MU={message:"must NOT have additional properties",params:({params:t})=>(0,lr._)`{additionalProperty: ${t.additionalProperty}}`},UU={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:MU,code(t){let{gen:e,schema:r,parentSchema:n,data:i,errsCount:a,it:o}=t;if(!a)throw new Error("ajv implementation error");let{allErrors:s,opts:c}=o;if(o.props=!0,c.removeAdditional!=="all"&&(0,Eu.alwaysValidSchema)(o,r))return;let l=(0,Pu.allSchemaProperties)(n.properties),u=(0,Pu.allSchemaProperties)(n.patternProperties);p(),t.ok((0,lr._)`${a} === ${AU.default.errors}`);function p(){e.forIn("key",i,g=>{!l.length&&!u.length?m(g):e.if(d(g),()=>m(g))})}function d(g){let b;if(l.length>8){let S=(0,Eu.schemaRefOrVal)(o,n.properties,"properties");b=(0,Pu.isOwnProperty)(e,S,g)}else l.length?b=(0,lr.or)(...l.map(S=>(0,lr._)`${g} === ${S}`)):b=lr.nil;return u.length&&(b=(0,lr.or)(b,...u.map(S=>(0,lr._)`${(0,Pu.usePattern)(t,S)}.test(${g})`))),(0,lr.not)(b)}function f(g){e.code((0,lr._)`delete ${i}[${g}]`)}function m(g){if(c.removeAdditional==="all"||c.removeAdditional&&r===!1){f(g);return}if(r===!1){t.setParams({additionalProperty:g}),t.error(),s||e.break();return}if(typeof r=="object"&&!(0,Eu.alwaysValidSchema)(o,r)){let b=e.name("valid");c.removeAdditional==="failing"?(h(g,b,!1),e.if((0,lr.not)(b),()=>{t.reset(),f(g)})):(h(g,b),s||e.if((0,lr.not)(b),()=>e.break()))}}function h(g,b,S){let _={keyword:"additionalProperties",dataProp:g,dataPropType:Eu.Type.Str};S===!1&&Object.assign(_,{compositeRule:!0,createErrors:!1,allErrors:!1}),t.subschema(_,b)}}};xy.default=UU});var K1=y(wy=>{"use strict";Object.defineProperty(wy,"__esModule",{value:!0});var FU=Ss(),J1=Gt(),_y=le(),G1=by(),qU={keyword:"properties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,parentSchema:n,data:i,it:a}=t;a.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&G1.default.code(new FU.KeywordCxt(a,G1.default,"additionalProperties"));let o=(0,J1.allSchemaProperties)(r);for(let p of o)a.definedProperties.add(p);a.opts.unevaluated&&o.length&&a.props!==!0&&(a.props=_y.mergeEvaluated.props(e,(0,_y.toHash)(o),a.props));let s=o.filter(p=>!(0,_y.alwaysValidSchema)(a,r[p]));if(s.length===0)return;let c=e.name("valid");for(let p of s)l(p)?u(p):(e.if((0,J1.propertyInData)(e,i,p,a.opts.ownProperties)),u(p),a.allErrors||e.else().var(c,!0),e.endIf()),t.it.definedProperties.add(p),t.ok(c);function l(p){return a.opts.useDefaults&&!a.compositeRule&&r[p].default!==void 0}function u(p){t.subschema({keyword:"properties",schemaProp:p,dataProp:p},c)}}};wy.default=qU});var e$=y(Sy=>{"use strict";Object.defineProperty(Sy,"__esModule",{value:!0});var X1=Gt(),Tu=X(),Y1=le(),Q1=le(),LU={keyword:"patternProperties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,data:n,parentSchema:i,it:a}=t,{opts:o}=a,s=(0,X1.allSchemaProperties)(r),c=s.filter(h=>(0,Y1.alwaysValidSchema)(a,r[h]));if(s.length===0||c.length===s.length&&(!a.opts.unevaluated||a.props===!0))return;let l=o.strictSchema&&!o.allowMatchingProperties&&i.properties,u=e.name("valid");a.props!==!0&&!(a.props instanceof Tu.Name)&&(a.props=(0,Q1.evaluatedPropsToName)(e,a.props));let{props:p}=a;d();function d(){for(let h of s)l&&f(h),a.allErrors?m(h):(e.var(u,!0),m(h),e.if(u))}function f(h){for(let g in l)new RegExp(h).test(g)&&(0,Y1.checkStrictMode)(a,`property ${g} matches pattern ${h} (use allowMatchingProperties)`)}function m(h){e.forIn("key",n,g=>{e.if((0,Tu._)`${(0,X1.usePattern)(t,h)}.test(${g})`,()=>{let b=c.includes(h);b||t.subschema({keyword:"patternProperties",schemaProp:h,dataProp:g,dataPropType:Q1.Type.Str},u),a.opts.unevaluated&&p!==!0?e.assign((0,Tu._)`${p}[${g}]`,!0):!b&&!a.allErrors&&e.if((0,Tu.not)(u),()=>e.break())})})}}};Sy.default=LU});var t$=y(ky=>{"use strict";Object.defineProperty(ky,"__esModule",{value:!0});var ZU=le(),HU={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(t){let{gen:e,schema:r,it:n}=t;if((0,ZU.alwaysValidSchema)(n,r)){t.fail();return}let i=e.name("valid");t.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},i),t.failResult(i,()=>t.reset(),()=>t.error())},error:{message:"must NOT be valid"}};ky.default=HU});var r$=y($y=>{"use strict";Object.defineProperty($y,"__esModule",{value:!0});var BU=Gt(),VU={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:BU.validateUnion,error:{message:"must match a schema in anyOf"}};$y.default=VU});var n$=y(Iy=>{"use strict";Object.defineProperty(Iy,"__esModule",{value:!0});var Cu=X(),WU=le(),JU={message:"must match exactly one schema in oneOf",params:({params:t})=>(0,Cu._)`{passingSchemas: ${t.passing}}`},GU={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:JU,code(t){let{gen:e,schema:r,parentSchema:n,it:i}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(i.opts.discriminator&&n.discriminator)return;let a=r,o=e.let("valid",!1),s=e.let("passing",null),c=e.name("_valid");t.setParams({passing:s}),e.block(l),t.result(o,()=>t.reset(),()=>t.error(!0));function l(){a.forEach((u,p)=>{let d;(0,WU.alwaysValidSchema)(i,u)?e.var(c,!0):d=t.subschema({keyword:"oneOf",schemaProp:p,compositeRule:!0},c),p>0&&e.if((0,Cu._)`${c} && ${o}`).assign(o,!1).assign(s,(0,Cu._)`[${s}, ${p}]`).else(),e.if(c,()=>{e.assign(o,!0),e.assign(s,p),d&&t.mergeEvaluated(d,Cu.Name)})})}}};Iy.default=GU});var i$=y(Py=>{"use strict";Object.defineProperty(Py,"__esModule",{value:!0});var KU=le(),XU={keyword:"allOf",schemaType:"array",code(t){let{gen:e,schema:r,it:n}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");let i=e.name("valid");r.forEach((a,o)=>{if((0,KU.alwaysValidSchema)(n,a))return;let s=t.subschema({keyword:"allOf",schemaProp:o},i);t.ok(i),t.mergeEvaluated(s)})}};Py.default=XU});var s$=y(Ey=>{"use strict";Object.defineProperty(Ey,"__esModule",{value:!0});var zu=X(),o$=le(),YU={message:({params:t})=>(0,zu.str)`must match "${t.ifClause}" schema`,params:({params:t})=>(0,zu._)`{failingKeyword: ${t.ifClause}}`},QU={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:YU,code(t){let{gen:e,parentSchema:r,it:n}=t;r.then===void 0&&r.else===void 0&&(0,o$.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let i=a$(n,"then"),a=a$(n,"else");if(!i&&!a)return;let o=e.let("valid",!0),s=e.name("_valid");if(c(),t.reset(),i&&a){let u=e.let("ifClause");t.setParams({ifClause:u}),e.if(s,l("then",u),l("else",u))}else i?e.if(s,l("then")):e.if((0,zu.not)(s),l("else"));t.pass(o,()=>t.error(!0));function c(){let u=t.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},s);t.mergeEvaluated(u)}function l(u,p){return()=>{let d=t.subschema({keyword:u},s);e.assign(o,s),t.mergeValidEvaluated(d,o),p?e.assign(p,(0,zu._)`${u}`):t.setParams({ifClause:u})}}}};function a$(t,e){let r=t.schema[e];return r!==void 0&&!(0,o$.alwaysValidSchema)(t,r)}Ey.default=QU});var c$=y(Ty=>{"use strict";Object.defineProperty(Ty,"__esModule",{value:!0});var e9=le(),t9={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:t,parentSchema:e,it:r}){e.if===void 0&&(0,e9.checkStrictMode)(r,`"${t}" without "if" is ignored`)}};Ty.default=t9});var l$=y(Cy=>{"use strict";Object.defineProperty(Cy,"__esModule",{value:!0});var r9=dy(),n9=U1(),i9=fy(),a9=q1(),o9=L1(),s9=B1(),c9=W1(),l9=by(),u9=K1(),p9=e$(),d9=t$(),f9=r$(),m9=n$(),h9=i$(),g9=s$(),v9=c$();function y9(t=!1){let e=[d9.default,f9.default,m9.default,h9.default,g9.default,v9.default,c9.default,l9.default,s9.default,u9.default,p9.default];return t?e.push(n9.default,a9.default):e.push(r9.default,i9.default),e.push(o9.default),e}Cy.default=y9});var u$=y(zy=>{"use strict";Object.defineProperty(zy,"__esModule",{value:!0});var Ue=X(),x9={message:({schemaCode:t})=>(0,Ue.str)`must match format "${t}"`,params:({schemaCode:t})=>(0,Ue._)`{format: ${t}}`},b9={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:x9,code(t,e){let{gen:r,data:n,$data:i,schema:a,schemaCode:o,it:s}=t,{opts:c,errSchemaPath:l,schemaEnv:u,self:p}=s;if(!c.validateFormats)return;i?d():f();function d(){let m=r.scopeValue("formats",{ref:p.formats,code:c.code.formats}),h=r.const("fDef",(0,Ue._)`${m}[${o}]`),g=r.let("fType"),b=r.let("format");r.if((0,Ue._)`typeof ${h} == "object" && !(${h} instanceof RegExp)`,()=>r.assign(g,(0,Ue._)`${h}.type || "string"`).assign(b,(0,Ue._)`${h}.validate`),()=>r.assign(g,(0,Ue._)`"string"`).assign(b,h)),t.fail$data((0,Ue.or)(S(),_()));function S(){return c.strictSchema===!1?Ue.nil:(0,Ue._)`${o} && !${b}`}function _(){let k=u.$async?(0,Ue._)`(${h}.async ? await ${b}(${n}) : ${b}(${n}))`:(0,Ue._)`${b}(${n})`,$=(0,Ue._)`(typeof ${b} == "function" ? ${k} : ${b}.test(${n}))`;return(0,Ue._)`${b} && ${b} !== true && ${g} === ${e} && !${$}`}}function f(){let m=p.formats[a];if(!m){S();return}if(m===!0)return;let[h,g,b]=_(m);h===e&&t.pass(k());function S(){if(c.strictSchema===!1){p.logger.warn($());return}throw new Error($());function $(){return`unknown format "${a}" ignored in schema at path "${l}"`}}function _($){let N=$ instanceof RegExp?(0,Ue.regexpCode)($):c.code.formats?(0,Ue._)`${c.code.formats}${(0,Ue.getProperty)(a)}`:void 0,Z=r.scopeValue("formats",{key:a,ref:$,code:N});return typeof $=="object"&&!($ instanceof RegExp)?[$.type||"string",$.validate,(0,Ue._)`${Z}.validate`]:["string",$,Z]}function k(){if(typeof m=="object"&&!(m instanceof RegExp)&&m.async){if(!u.$async)throw new Error("async format in sync schema");return(0,Ue._)`await ${b}(${n})`}return typeof g=="function"?(0,Ue._)`${b}(${n})`:(0,Ue._)`${b}.test(${n})`}}}};zy.default=b9});var p$=y(Ry=>{"use strict";Object.defineProperty(Ry,"__esModule",{value:!0});var _9=u$(),w9=[_9.default];Ry.default=w9});var d$=y(oa=>{"use strict";Object.defineProperty(oa,"__esModule",{value:!0});oa.contentVocabulary=oa.metadataVocabulary=void 0;oa.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];oa.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var m$=y(jy=>{"use strict";Object.defineProperty(jy,"__esModule",{value:!0});var S9=_1(),k9=O1(),$9=l$(),I9=p$(),f$=d$(),P9=[S9.default,k9.default,(0,$9.default)(),I9.default,f$.metadataVocabulary,f$.contentVocabulary];jy.default=P9});var g$=y(Ru=>{"use strict";Object.defineProperty(Ru,"__esModule",{value:!0});Ru.DiscrError=void 0;var h$;(function(t){t.Tag="tag",t.Mapping="mapping"})(h$||(Ru.DiscrError=h$={}))});var y$=y(Oy=>{"use strict";Object.defineProperty(Oy,"__esModule",{value:!0});var sa=X(),Dy=g$(),v$=fu(),E9=ks(),T9=le(),C9={message:({params:{discrError:t,tagName:e}})=>t===Dy.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:t,tag:e,tagName:r}})=>(0,sa._)`{error: ${t}, tag: ${r}, tagValue: ${e}}`},z9={keyword:"discriminator",type:"object",schemaType:"object",error:C9,code(t){let{gen:e,data:r,schema:n,parentSchema:i,it:a}=t,{oneOf:o}=i;if(!a.opts.discriminator)throw new Error("discriminator: requires discriminator option");let s=n.propertyName;if(typeof s!="string")throw new Error("discriminator: requires propertyName");if(n.mapping)throw new Error("discriminator: mapping is not supported");if(!o)throw new Error("discriminator: requires oneOf keyword");let c=e.let("valid",!1),l=e.const("tag",(0,sa._)`${r}${(0,sa.getProperty)(s)}`);e.if((0,sa._)`typeof ${l} == "string"`,()=>u(),()=>t.error(!1,{discrError:Dy.DiscrError.Tag,tag:l,tagName:s})),t.ok(c);function u(){let f=d();e.if(!1);for(let m in f)e.elseIf((0,sa._)`${l} === ${m}`),e.assign(c,p(f[m]));e.else(),t.error(!1,{discrError:Dy.DiscrError.Mapping,tag:l,tagName:s}),e.endIf()}function p(f){let m=e.name("valid"),h=t.subschema({keyword:"oneOf",schemaProp:f},m);return t.mergeEvaluated(h,sa.Name),m}function d(){var f;let m={},h=b(i),g=!0;for(let k=0;k<o.length;k++){let $=o[k];if($?.$ref&&!(0,T9.schemaHasRulesButRef)($,a.self.RULES)){let Z=$.$ref;if($=v$.resolveRef.call(a.self,a.schemaEnv.root,a.baseId,Z),$ instanceof v$.SchemaEnv&&($=$.schema),$===void 0)throw new E9.default(a.opts.uriResolver,a.baseId,Z)}let N=(f=$?.properties)===null||f===void 0?void 0:f[s];if(typeof N!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${s}"`);g=g&&(h||b($)),S(N,k)}if(!g)throw new Error(`discriminator: "${s}" must be required`);return m;function b({required:k}){return Array.isArray(k)&&k.includes(s)}function S(k,$){if(k.const)_(k.const,$);else if(k.enum)for(let N of k.enum)_(N,$);else throw new Error(`discriminator: "properties/${s}" must have "const" or "enum"`)}function _(k,$){if(typeof k!="string"||k in m)throw new Error(`discriminator: "${s}" values must be unique strings`);m[k]=$}}}};Oy.default=z9});var x$=y((Mae,R9)=>{R9.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 Ay=y((Te,Ny)=>{"use strict";Object.defineProperty(Te,"__esModule",{value:!0});Te.MissingRefError=Te.ValidationError=Te.CodeGen=Te.Name=Te.nil=Te.stringify=Te.str=Te._=Te.KeywordCxt=Te.Ajv=void 0;var j9=h1(),D9=m$(),O9=y$(),b$=x$(),N9=["/properties"],ju="http://json-schema.org/draft-07/schema",ca=class extends j9.default{_addVocabularies(){super._addVocabularies(),D9.default.forEach(e=>this.addVocabulary(e)),this.opts.discriminator&&this.addKeyword(O9.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let e=this.opts.$data?this.$dataMetaSchema(b$,N9):b$;this.addMetaSchema(e,ju,!1),this.refs["http://json-schema.org/schema"]=ju}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(ju)?ju:void 0)}};Te.Ajv=ca;Ny.exports=Te=ca;Ny.exports.Ajv=ca;Object.defineProperty(Te,"__esModule",{value:!0});Te.default=ca;var A9=Ss();Object.defineProperty(Te,"KeywordCxt",{enumerable:!0,get:function(){return A9.KeywordCxt}});var la=X();Object.defineProperty(Te,"_",{enumerable:!0,get:function(){return la._}});Object.defineProperty(Te,"str",{enumerable:!0,get:function(){return la.str}});Object.defineProperty(Te,"stringify",{enumerable:!0,get:function(){return la.stringify}});Object.defineProperty(Te,"nil",{enumerable:!0,get:function(){return la.nil}});Object.defineProperty(Te,"Name",{enumerable:!0,get:function(){return la.Name}});Object.defineProperty(Te,"CodeGen",{enumerable:!0,get:function(){return la.CodeGen}});var M9=pu();Object.defineProperty(Te,"ValidationError",{enumerable:!0,get:function(){return M9.default}});var U9=ks();Object.defineProperty(Te,"MissingRefError",{enumerable:!0,get:function(){return U9.default}})});var E$=y($r=>{"use strict";Object.defineProperty($r,"__esModule",{value:!0});$r.formatNames=$r.fastFormats=$r.fullFormats=void 0;function kr(t,e){return{validate:t,compare:e}}$r.fullFormats={date:kr(k$,qy),time:kr(Uy(!0),Ly),"date-time":kr(_$(!0),I$),"iso-time":kr(Uy(),$$),"iso-date-time":kr(_$(),P$),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:B9,"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:Y9,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:V9,int32:{type:"number",validate:G9},int64:{type:"number",validate:K9},float:{type:"number",validate:S$},double:{type:"number",validate:S$},password:!0,binary:!0};$r.fastFormats={...$r.fullFormats,date:kr(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,qy),time:kr(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,Ly),"date-time":kr(/^\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,I$),"iso-time":kr(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,$$),"iso-date-time":kr(/^\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,P$),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};$r.formatNames=Object.keys($r.fullFormats);function F9(t){return t%4===0&&(t%100!==0||t%400===0)}var q9=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,L9=[0,31,28,31,30,31,30,31,31,30,31,30,31];function k$(t){let e=q9.exec(t);if(!e)return!1;let r=+e[1],n=+e[2],i=+e[3];return n>=1&&n<=12&&i>=1&&i<=(n===2&&F9(r)?29:L9[n])}function qy(t,e){if(t&&e)return t>e?1:t<e?-1:0}var My=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function Uy(t){return function(r){let n=My.exec(r);if(!n)return!1;let i=+n[1],a=+n[2],o=+n[3],s=n[4],c=n[5]==="-"?-1:1,l=+(n[6]||0),u=+(n[7]||0);if(l>23||u>59||t&&!s)return!1;if(i<=23&&a<=59&&o<60)return!0;let p=a-u*c,d=i-l*c-(p<0?1:0);return(d===23||d===-1)&&(p===59||p===-1)&&o<61}}function Ly(t,e){if(!(t&&e))return;let r=new Date("2020-01-01T"+t).valueOf(),n=new Date("2020-01-01T"+e).valueOf();if(r&&n)return r-n}function $$(t,e){if(!(t&&e))return;let r=My.exec(t),n=My.exec(e);if(r&&n)return t=r[1]+r[2]+r[3],e=n[1]+n[2]+n[3],t>e?1:t<e?-1:0}var Fy=/t|\s/i;function _$(t){let e=Uy(t);return function(n){let i=n.split(Fy);return i.length===2&&k$(i[0])&&e(i[1])}}function I$(t,e){if(!(t&&e))return;let r=new Date(t).valueOf(),n=new Date(e).valueOf();if(r&&n)return r-n}function P$(t,e){if(!(t&&e))return;let[r,n]=t.split(Fy),[i,a]=e.split(Fy),o=qy(r,i);if(o!==void 0)return o||Ly(n,a)}var Z9=/\/|:/,H9=/^(?:[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 B9(t){return Z9.test(t)&&H9.test(t)}var w$=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function V9(t){return w$.lastIndex=0,w$.test(t)}var W9=-(2**31),J9=2**31-1;function G9(t){return Number.isInteger(t)&&t<=J9&&t>=W9}function K9(t){return Number.isInteger(t)}function S$(){return!0}var X9=/[^\\]\\Z/;function Y9(t){if(X9.test(t))return!1;try{return new RegExp(t),!0}catch{return!1}}});var T$=y(ua=>{"use strict";Object.defineProperty(ua,"__esModule",{value:!0});ua.formatLimitDefinition=void 0;var Q9=Ay(),ur=X(),_n=ur.operators,Du={formatMaximum:{okStr:"<=",ok:_n.LTE,fail:_n.GT},formatMinimum:{okStr:">=",ok:_n.GTE,fail:_n.LT},formatExclusiveMaximum:{okStr:"<",ok:_n.LT,fail:_n.GTE},formatExclusiveMinimum:{okStr:">",ok:_n.GT,fail:_n.LTE}},eF={message:({keyword:t,schemaCode:e})=>(0,ur.str)`should be ${Du[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,ur._)`{comparison: ${Du[t].okStr}, limit: ${e}}`};ua.formatLimitDefinition={keyword:Object.keys(Du),type:"string",schemaType:"string",$data:!0,error:eF,code(t){let{gen:e,data:r,schemaCode:n,keyword:i,it:a}=t,{opts:o,self:s}=a;if(!o.validateFormats)return;let c=new Q9.KeywordCxt(a,s.RULES.all.format.definition,"format");c.$data?l():u();function l(){let d=e.scopeValue("formats",{ref:s.formats,code:o.code.formats}),f=e.const("fmt",(0,ur._)`${d}[${c.schemaCode}]`);t.fail$data((0,ur.or)((0,ur._)`typeof ${f} != "object"`,(0,ur._)`${f} instanceof RegExp`,(0,ur._)`typeof ${f}.compare != "function"`,p(f)))}function u(){let d=c.schema,f=s.formats[d];if(!f||f===!0)return;if(typeof f!="object"||f instanceof RegExp||typeof f.compare!="function")throw new Error(`"${i}": format "${d}" does not define "compare" function`);let m=e.scopeValue("formats",{key:d,ref:f,code:o.code.formats?(0,ur._)`${o.code.formats}${(0,ur.getProperty)(d)}`:void 0});t.fail$data(p(m))}function p(d){return(0,ur._)`${d}.compare(${r}, ${n}) ${Du[i].fail} 0`}},dependencies:["format"]};var tF=t=>(t.addKeyword(ua.formatLimitDefinition),t);ua.default=tF});var j$=y((Ms,R$)=>{"use strict";Object.defineProperty(Ms,"__esModule",{value:!0});var pa=E$(),rF=T$(),Zy=X(),C$=new Zy.Name("fullFormats"),nF=new Zy.Name("fastFormats"),Hy=(t,e={keywords:!0})=>{if(Array.isArray(e))return z$(t,e,pa.fullFormats,C$),t;let[r,n]=e.mode==="fast"?[pa.fastFormats,nF]:[pa.fullFormats,C$],i=e.formats||pa.formatNames;return z$(t,i,r,n),e.keywords&&(0,rF.default)(t),t};Hy.get=(t,e="full")=>{let n=(e==="fast"?pa.fastFormats:pa.fullFormats)[t];if(!n)throw new Error(`Unknown format "${t}"`);return n};function z$(t,e,r,n){var i,a;(i=(a=t.opts.code).formats)!==null&&i!==void 0||(a.formats=(0,Zy._)`require("ajv-formats/dist/formats").${n}`);for(let o of e)t.addFormat(o,r[o])}R$.exports=Ms=Hy;Object.defineProperty(Ms,"__esModule",{value:!0});Ms.default=Hy});var Ir=y((hse,Z$)=>{var oF=A("path").relative;Z$.exports=pF;var sF=process.cwd();function q$(t,e){for(var r=t.split(/[ ,]+/),n=String(e).toLowerCase(),i=0;i<r.length;i++){var a=r[i];if(a&&(a==="*"||a.toLowerCase()===n))return!0}return!1}function cF(t,e,r){var n=Object.getOwnPropertyDescriptor(t,e),i=n.value;return n.get=function(){return i},n.writable&&(n.set=function(o){return i=o}),delete n.value,delete n.writable,Object.defineProperty(t,e,n),n}function lF(t){for(var e="",r=0;r<t;r++)e+=", arg"+r;return e.substr(2)}function uF(t){var e=this.name+": "+this.namespace;this.message&&(e+=" deprecated "+this.message);for(var r=0;r<t.length;r++)e+=`
|
|
10
|
+
deps: ${r}}`};var RU={keyword:"dependencies",type:"object",schemaType:"object",error:Sr.error,code(t){let[e,r]=jU(t);Z1(t,e),H1(t,r)}};function jU({schema:t}){let e={},r={};for(let n in t){if(n==="__proto__")continue;let i=Array.isArray(t[n])?e:r;i[n]=t[n]}return[e,r]}function Z1(t,e=t.schema){let{gen:r,data:n,it:i}=t;if(Object.keys(e).length===0)return;let a=r.let("missing");for(let o in e){let s=e[o];if(s.length===0)continue;let c=(0,As.propertyInData)(r,n,o,i.opts.ownProperties);t.setParams({property:o,depsCount:s.length,deps:s.join(", ")}),i.allErrors?r.if(c,()=>{for(let l of s)(0,As.checkReportMissingProp)(t,l)}):(r.if((0,vy._)`${c} && (${(0,As.checkMissingProp)(t,s,a)})`),(0,As.reportMissingProp)(t,a),r.else())}}Sr.validatePropertyDeps=Z1;function H1(t,e=t.schema){let{gen:r,data:n,keyword:i,it:a}=t,o=r.name("valid");for(let s in e)(0,zU.alwaysValidSchema)(a,e[s])||(r.if((0,As.propertyInData)(r,n,s,a.opts.ownProperties),()=>{let c=t.subschema({keyword:i,schemaProp:s},o);t.mergeValidEvaluated(c,o)},()=>r.var(o,!0)),t.ok(o))}Sr.validateSchemaDeps=H1;Sr.default=RU});var W1=y(yy=>{"use strict";Object.defineProperty(yy,"__esModule",{value:!0});var V1=X(),DU=le(),OU={message:"property name must be valid",params:({params:t})=>(0,V1._)`{propertyName: ${t.propertyName}}`},NU={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:OU,code(t){let{gen:e,schema:r,data:n,it:i}=t;if((0,DU.alwaysValidSchema)(i,r))return;let a=e.name("valid");e.forIn("key",n,o=>{t.setParams({propertyName:o}),t.subschema({keyword:"propertyNames",data:o,dataTypes:["string"],propertyName:o,compositeRule:!0},a),e.if((0,V1.not)(a),()=>{t.error(!0),i.allErrors||e.break()})}),t.ok(a)}};yy.default=NU});var by=y(xy=>{"use strict";Object.defineProperty(xy,"__esModule",{value:!0});var Pu=Gt(),lr=X(),AU=Kr(),Eu=le(),MU={message:"must NOT have additional properties",params:({params:t})=>(0,lr._)`{additionalProperty: ${t.additionalProperty}}`},UU={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:MU,code(t){let{gen:e,schema:r,parentSchema:n,data:i,errsCount:a,it:o}=t;if(!a)throw new Error("ajv implementation error");let{allErrors:s,opts:c}=o;if(o.props=!0,c.removeAdditional!=="all"&&(0,Eu.alwaysValidSchema)(o,r))return;let l=(0,Pu.allSchemaProperties)(n.properties),u=(0,Pu.allSchemaProperties)(n.patternProperties);p(),t.ok((0,lr._)`${a} === ${AU.default.errors}`);function p(){e.forIn("key",i,g=>{!l.length&&!u.length?m(g):e.if(d(g),()=>m(g))})}function d(g){let b;if(l.length>8){let S=(0,Eu.schemaRefOrVal)(o,n.properties,"properties");b=(0,Pu.isOwnProperty)(e,S,g)}else l.length?b=(0,lr.or)(...l.map(S=>(0,lr._)`${g} === ${S}`)):b=lr.nil;return u.length&&(b=(0,lr.or)(b,...u.map(S=>(0,lr._)`${(0,Pu.usePattern)(t,S)}.test(${g})`))),(0,lr.not)(b)}function f(g){e.code((0,lr._)`delete ${i}[${g}]`)}function m(g){if(c.removeAdditional==="all"||c.removeAdditional&&r===!1){f(g);return}if(r===!1){t.setParams({additionalProperty:g}),t.error(),s||e.break();return}if(typeof r=="object"&&!(0,Eu.alwaysValidSchema)(o,r)){let b=e.name("valid");c.removeAdditional==="failing"?(h(g,b,!1),e.if((0,lr.not)(b),()=>{t.reset(),f(g)})):(h(g,b),s||e.if((0,lr.not)(b),()=>e.break()))}}function h(g,b,S){let _={keyword:"additionalProperties",dataProp:g,dataPropType:Eu.Type.Str};S===!1&&Object.assign(_,{compositeRule:!0,createErrors:!1,allErrors:!1}),t.subschema(_,b)}}};xy.default=UU});var K1=y(wy=>{"use strict";Object.defineProperty(wy,"__esModule",{value:!0});var FU=Ss(),J1=Gt(),_y=le(),G1=by(),qU={keyword:"properties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,parentSchema:n,data:i,it:a}=t;a.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&G1.default.code(new FU.KeywordCxt(a,G1.default,"additionalProperties"));let o=(0,J1.allSchemaProperties)(r);for(let p of o)a.definedProperties.add(p);a.opts.unevaluated&&o.length&&a.props!==!0&&(a.props=_y.mergeEvaluated.props(e,(0,_y.toHash)(o),a.props));let s=o.filter(p=>!(0,_y.alwaysValidSchema)(a,r[p]));if(s.length===0)return;let c=e.name("valid");for(let p of s)l(p)?u(p):(e.if((0,J1.propertyInData)(e,i,p,a.opts.ownProperties)),u(p),a.allErrors||e.else().var(c,!0),e.endIf()),t.it.definedProperties.add(p),t.ok(c);function l(p){return a.opts.useDefaults&&!a.compositeRule&&r[p].default!==void 0}function u(p){t.subschema({keyword:"properties",schemaProp:p,dataProp:p},c)}}};wy.default=qU});var e$=y(Sy=>{"use strict";Object.defineProperty(Sy,"__esModule",{value:!0});var X1=Gt(),Tu=X(),Y1=le(),Q1=le(),LU={keyword:"patternProperties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,data:n,parentSchema:i,it:a}=t,{opts:o}=a,s=(0,X1.allSchemaProperties)(r),c=s.filter(h=>(0,Y1.alwaysValidSchema)(a,r[h]));if(s.length===0||c.length===s.length&&(!a.opts.unevaluated||a.props===!0))return;let l=o.strictSchema&&!o.allowMatchingProperties&&i.properties,u=e.name("valid");a.props!==!0&&!(a.props instanceof Tu.Name)&&(a.props=(0,Q1.evaluatedPropsToName)(e,a.props));let{props:p}=a;d();function d(){for(let h of s)l&&f(h),a.allErrors?m(h):(e.var(u,!0),m(h),e.if(u))}function f(h){for(let g in l)new RegExp(h).test(g)&&(0,Y1.checkStrictMode)(a,`property ${g} matches pattern ${h} (use allowMatchingProperties)`)}function m(h){e.forIn("key",n,g=>{e.if((0,Tu._)`${(0,X1.usePattern)(t,h)}.test(${g})`,()=>{let b=c.includes(h);b||t.subschema({keyword:"patternProperties",schemaProp:h,dataProp:g,dataPropType:Q1.Type.Str},u),a.opts.unevaluated&&p!==!0?e.assign((0,Tu._)`${p}[${g}]`,!0):!b&&!a.allErrors&&e.if((0,Tu.not)(u),()=>e.break())})})}}};Sy.default=LU});var t$=y(ky=>{"use strict";Object.defineProperty(ky,"__esModule",{value:!0});var ZU=le(),HU={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(t){let{gen:e,schema:r,it:n}=t;if((0,ZU.alwaysValidSchema)(n,r)){t.fail();return}let i=e.name("valid");t.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},i),t.failResult(i,()=>t.reset(),()=>t.error())},error:{message:"must NOT be valid"}};ky.default=HU});var r$=y($y=>{"use strict";Object.defineProperty($y,"__esModule",{value:!0});var BU=Gt(),VU={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:BU.validateUnion,error:{message:"must match a schema in anyOf"}};$y.default=VU});var n$=y(Iy=>{"use strict";Object.defineProperty(Iy,"__esModule",{value:!0});var Cu=X(),WU=le(),JU={message:"must match exactly one schema in oneOf",params:({params:t})=>(0,Cu._)`{passingSchemas: ${t.passing}}`},GU={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:JU,code(t){let{gen:e,schema:r,parentSchema:n,it:i}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(i.opts.discriminator&&n.discriminator)return;let a=r,o=e.let("valid",!1),s=e.let("passing",null),c=e.name("_valid");t.setParams({passing:s}),e.block(l),t.result(o,()=>t.reset(),()=>t.error(!0));function l(){a.forEach((u,p)=>{let d;(0,WU.alwaysValidSchema)(i,u)?e.var(c,!0):d=t.subschema({keyword:"oneOf",schemaProp:p,compositeRule:!0},c),p>0&&e.if((0,Cu._)`${c} && ${o}`).assign(o,!1).assign(s,(0,Cu._)`[${s}, ${p}]`).else(),e.if(c,()=>{e.assign(o,!0),e.assign(s,p),d&&t.mergeEvaluated(d,Cu.Name)})})}}};Iy.default=GU});var i$=y(Py=>{"use strict";Object.defineProperty(Py,"__esModule",{value:!0});var KU=le(),XU={keyword:"allOf",schemaType:"array",code(t){let{gen:e,schema:r,it:n}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");let i=e.name("valid");r.forEach((a,o)=>{if((0,KU.alwaysValidSchema)(n,a))return;let s=t.subschema({keyword:"allOf",schemaProp:o},i);t.ok(i),t.mergeEvaluated(s)})}};Py.default=XU});var s$=y(Ey=>{"use strict";Object.defineProperty(Ey,"__esModule",{value:!0});var zu=X(),o$=le(),YU={message:({params:t})=>(0,zu.str)`must match "${t.ifClause}" schema`,params:({params:t})=>(0,zu._)`{failingKeyword: ${t.ifClause}}`},QU={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:YU,code(t){let{gen:e,parentSchema:r,it:n}=t;r.then===void 0&&r.else===void 0&&(0,o$.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let i=a$(n,"then"),a=a$(n,"else");if(!i&&!a)return;let o=e.let("valid",!0),s=e.name("_valid");if(c(),t.reset(),i&&a){let u=e.let("ifClause");t.setParams({ifClause:u}),e.if(s,l("then",u),l("else",u))}else i?e.if(s,l("then")):e.if((0,zu.not)(s),l("else"));t.pass(o,()=>t.error(!0));function c(){let u=t.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},s);t.mergeEvaluated(u)}function l(u,p){return()=>{let d=t.subschema({keyword:u},s);e.assign(o,s),t.mergeValidEvaluated(d,o),p?e.assign(p,(0,zu._)`${u}`):t.setParams({ifClause:u})}}}};function a$(t,e){let r=t.schema[e];return r!==void 0&&!(0,o$.alwaysValidSchema)(t,r)}Ey.default=QU});var c$=y(Ty=>{"use strict";Object.defineProperty(Ty,"__esModule",{value:!0});var e9=le(),t9={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:t,parentSchema:e,it:r}){e.if===void 0&&(0,e9.checkStrictMode)(r,`"${t}" without "if" is ignored`)}};Ty.default=t9});var l$=y(Cy=>{"use strict";Object.defineProperty(Cy,"__esModule",{value:!0});var r9=dy(),n9=U1(),i9=fy(),a9=q1(),o9=L1(),s9=B1(),c9=W1(),l9=by(),u9=K1(),p9=e$(),d9=t$(),f9=r$(),m9=n$(),h9=i$(),g9=s$(),v9=c$();function y9(t=!1){let e=[d9.default,f9.default,m9.default,h9.default,g9.default,v9.default,c9.default,l9.default,s9.default,u9.default,p9.default];return t?e.push(n9.default,a9.default):e.push(r9.default,i9.default),e.push(o9.default),e}Cy.default=y9});var u$=y(zy=>{"use strict";Object.defineProperty(zy,"__esModule",{value:!0});var Ue=X(),x9={message:({schemaCode:t})=>(0,Ue.str)`must match format "${t}"`,params:({schemaCode:t})=>(0,Ue._)`{format: ${t}}`},b9={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:x9,code(t,e){let{gen:r,data:n,$data:i,schema:a,schemaCode:o,it:s}=t,{opts:c,errSchemaPath:l,schemaEnv:u,self:p}=s;if(!c.validateFormats)return;i?d():f();function d(){let m=r.scopeValue("formats",{ref:p.formats,code:c.code.formats}),h=r.const("fDef",(0,Ue._)`${m}[${o}]`),g=r.let("fType"),b=r.let("format");r.if((0,Ue._)`typeof ${h} == "object" && !(${h} instanceof RegExp)`,()=>r.assign(g,(0,Ue._)`${h}.type || "string"`).assign(b,(0,Ue._)`${h}.validate`),()=>r.assign(g,(0,Ue._)`"string"`).assign(b,h)),t.fail$data((0,Ue.or)(S(),_()));function S(){return c.strictSchema===!1?Ue.nil:(0,Ue._)`${o} && !${b}`}function _(){let k=u.$async?(0,Ue._)`(${h}.async ? await ${b}(${n}) : ${b}(${n}))`:(0,Ue._)`${b}(${n})`,$=(0,Ue._)`(typeof ${b} == "function" ? ${k} : ${b}.test(${n}))`;return(0,Ue._)`${b} && ${b} !== true && ${g} === ${e} && !${$}`}}function f(){let m=p.formats[a];if(!m){S();return}if(m===!0)return;let[h,g,b]=_(m);h===e&&t.pass(k());function S(){if(c.strictSchema===!1){p.logger.warn($());return}throw new Error($());function $(){return`unknown format "${a}" ignored in schema at path "${l}"`}}function _($){let N=$ instanceof RegExp?(0,Ue.regexpCode)($):c.code.formats?(0,Ue._)`${c.code.formats}${(0,Ue.getProperty)(a)}`:void 0,Z=r.scopeValue("formats",{key:a,ref:$,code:N});return typeof $=="object"&&!($ instanceof RegExp)?[$.type||"string",$.validate,(0,Ue._)`${Z}.validate`]:["string",$,Z]}function k(){if(typeof m=="object"&&!(m instanceof RegExp)&&m.async){if(!u.$async)throw new Error("async format in sync schema");return(0,Ue._)`await ${b}(${n})`}return typeof g=="function"?(0,Ue._)`${b}(${n})`:(0,Ue._)`${b}.test(${n})`}}}};zy.default=b9});var p$=y(Ry=>{"use strict";Object.defineProperty(Ry,"__esModule",{value:!0});var _9=u$(),w9=[_9.default];Ry.default=w9});var d$=y(oa=>{"use strict";Object.defineProperty(oa,"__esModule",{value:!0});oa.contentVocabulary=oa.metadataVocabulary=void 0;oa.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];oa.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var m$=y(jy=>{"use strict";Object.defineProperty(jy,"__esModule",{value:!0});var S9=_1(),k9=O1(),$9=l$(),I9=p$(),f$=d$(),P9=[S9.default,k9.default,(0,$9.default)(),I9.default,f$.metadataVocabulary,f$.contentVocabulary];jy.default=P9});var g$=y(Ru=>{"use strict";Object.defineProperty(Ru,"__esModule",{value:!0});Ru.DiscrError=void 0;var h$;(function(t){t.Tag="tag",t.Mapping="mapping"})(h$||(Ru.DiscrError=h$={}))});var y$=y(Oy=>{"use strict";Object.defineProperty(Oy,"__esModule",{value:!0});var sa=X(),Dy=g$(),v$=fu(),E9=ks(),T9=le(),C9={message:({params:{discrError:t,tagName:e}})=>t===Dy.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:t,tag:e,tagName:r}})=>(0,sa._)`{error: ${t}, tag: ${r}, tagValue: ${e}}`},z9={keyword:"discriminator",type:"object",schemaType:"object",error:C9,code(t){let{gen:e,data:r,schema:n,parentSchema:i,it:a}=t,{oneOf:o}=i;if(!a.opts.discriminator)throw new Error("discriminator: requires discriminator option");let s=n.propertyName;if(typeof s!="string")throw new Error("discriminator: requires propertyName");if(n.mapping)throw new Error("discriminator: mapping is not supported");if(!o)throw new Error("discriminator: requires oneOf keyword");let c=e.let("valid",!1),l=e.const("tag",(0,sa._)`${r}${(0,sa.getProperty)(s)}`);e.if((0,sa._)`typeof ${l} == "string"`,()=>u(),()=>t.error(!1,{discrError:Dy.DiscrError.Tag,tag:l,tagName:s})),t.ok(c);function u(){let f=d();e.if(!1);for(let m in f)e.elseIf((0,sa._)`${l} === ${m}`),e.assign(c,p(f[m]));e.else(),t.error(!1,{discrError:Dy.DiscrError.Mapping,tag:l,tagName:s}),e.endIf()}function p(f){let m=e.name("valid"),h=t.subschema({keyword:"oneOf",schemaProp:f},m);return t.mergeEvaluated(h,sa.Name),m}function d(){var f;let m={},h=b(i),g=!0;for(let k=0;k<o.length;k++){let $=o[k];if($?.$ref&&!(0,T9.schemaHasRulesButRef)($,a.self.RULES)){let Z=$.$ref;if($=v$.resolveRef.call(a.self,a.schemaEnv.root,a.baseId,Z),$ instanceof v$.SchemaEnv&&($=$.schema),$===void 0)throw new E9.default(a.opts.uriResolver,a.baseId,Z)}let N=(f=$?.properties)===null||f===void 0?void 0:f[s];if(typeof N!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${s}"`);g=g&&(h||b($)),S(N,k)}if(!g)throw new Error(`discriminator: "${s}" must be required`);return m;function b({required:k}){return Array.isArray(k)&&k.includes(s)}function S(k,$){if(k.const)_(k.const,$);else if(k.enum)for(let N of k.enum)_(N,$);else throw new Error(`discriminator: "properties/${s}" must have "const" or "enum"`)}function _(k,$){if(typeof k!="string"||k in m)throw new Error(`discriminator: "${s}" values must be unique strings`);m[k]=$}}}};Oy.default=z9});var x$=y((Mae,R9)=>{R9.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 Ay=y((Ce,Ny)=>{"use strict";Object.defineProperty(Ce,"__esModule",{value:!0});Ce.MissingRefError=Ce.ValidationError=Ce.CodeGen=Ce.Name=Ce.nil=Ce.stringify=Ce.str=Ce._=Ce.KeywordCxt=Ce.Ajv=void 0;var j9=h1(),D9=m$(),O9=y$(),b$=x$(),N9=["/properties"],ju="http://json-schema.org/draft-07/schema",ca=class extends j9.default{_addVocabularies(){super._addVocabularies(),D9.default.forEach(e=>this.addVocabulary(e)),this.opts.discriminator&&this.addKeyword(O9.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let e=this.opts.$data?this.$dataMetaSchema(b$,N9):b$;this.addMetaSchema(e,ju,!1),this.refs["http://json-schema.org/schema"]=ju}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(ju)?ju:void 0)}};Ce.Ajv=ca;Ny.exports=Ce=ca;Ny.exports.Ajv=ca;Object.defineProperty(Ce,"__esModule",{value:!0});Ce.default=ca;var A9=Ss();Object.defineProperty(Ce,"KeywordCxt",{enumerable:!0,get:function(){return A9.KeywordCxt}});var la=X();Object.defineProperty(Ce,"_",{enumerable:!0,get:function(){return la._}});Object.defineProperty(Ce,"str",{enumerable:!0,get:function(){return la.str}});Object.defineProperty(Ce,"stringify",{enumerable:!0,get:function(){return la.stringify}});Object.defineProperty(Ce,"nil",{enumerable:!0,get:function(){return la.nil}});Object.defineProperty(Ce,"Name",{enumerable:!0,get:function(){return la.Name}});Object.defineProperty(Ce,"CodeGen",{enumerable:!0,get:function(){return la.CodeGen}});var M9=pu();Object.defineProperty(Ce,"ValidationError",{enumerable:!0,get:function(){return M9.default}});var U9=ks();Object.defineProperty(Ce,"MissingRefError",{enumerable:!0,get:function(){return U9.default}})});var E$=y($r=>{"use strict";Object.defineProperty($r,"__esModule",{value:!0});$r.formatNames=$r.fastFormats=$r.fullFormats=void 0;function kr(t,e){return{validate:t,compare:e}}$r.fullFormats={date:kr(k$,qy),time:kr(Uy(!0),Ly),"date-time":kr(_$(!0),I$),"iso-time":kr(Uy(),$$),"iso-date-time":kr(_$(),P$),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:B9,"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:Y9,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:V9,int32:{type:"number",validate:G9},int64:{type:"number",validate:K9},float:{type:"number",validate:S$},double:{type:"number",validate:S$},password:!0,binary:!0};$r.fastFormats={...$r.fullFormats,date:kr(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,qy),time:kr(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,Ly),"date-time":kr(/^\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,I$),"iso-time":kr(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,$$),"iso-date-time":kr(/^\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,P$),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};$r.formatNames=Object.keys($r.fullFormats);function F9(t){return t%4===0&&(t%100!==0||t%400===0)}var q9=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,L9=[0,31,28,31,30,31,30,31,31,30,31,30,31];function k$(t){let e=q9.exec(t);if(!e)return!1;let r=+e[1],n=+e[2],i=+e[3];return n>=1&&n<=12&&i>=1&&i<=(n===2&&F9(r)?29:L9[n])}function qy(t,e){if(t&&e)return t>e?1:t<e?-1:0}var My=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function Uy(t){return function(r){let n=My.exec(r);if(!n)return!1;let i=+n[1],a=+n[2],o=+n[3],s=n[4],c=n[5]==="-"?-1:1,l=+(n[6]||0),u=+(n[7]||0);if(l>23||u>59||t&&!s)return!1;if(i<=23&&a<=59&&o<60)return!0;let p=a-u*c,d=i-l*c-(p<0?1:0);return(d===23||d===-1)&&(p===59||p===-1)&&o<61}}function Ly(t,e){if(!(t&&e))return;let r=new Date("2020-01-01T"+t).valueOf(),n=new Date("2020-01-01T"+e).valueOf();if(r&&n)return r-n}function $$(t,e){if(!(t&&e))return;let r=My.exec(t),n=My.exec(e);if(r&&n)return t=r[1]+r[2]+r[3],e=n[1]+n[2]+n[3],t>e?1:t<e?-1:0}var Fy=/t|\s/i;function _$(t){let e=Uy(t);return function(n){let i=n.split(Fy);return i.length===2&&k$(i[0])&&e(i[1])}}function I$(t,e){if(!(t&&e))return;let r=new Date(t).valueOf(),n=new Date(e).valueOf();if(r&&n)return r-n}function P$(t,e){if(!(t&&e))return;let[r,n]=t.split(Fy),[i,a]=e.split(Fy),o=qy(r,i);if(o!==void 0)return o||Ly(n,a)}var Z9=/\/|:/,H9=/^(?:[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 B9(t){return Z9.test(t)&&H9.test(t)}var w$=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function V9(t){return w$.lastIndex=0,w$.test(t)}var W9=-(2**31),J9=2**31-1;function G9(t){return Number.isInteger(t)&&t<=J9&&t>=W9}function K9(t){return Number.isInteger(t)}function S$(){return!0}var X9=/[^\\]\\Z/;function Y9(t){if(X9.test(t))return!1;try{return new RegExp(t),!0}catch{return!1}}});var T$=y(ua=>{"use strict";Object.defineProperty(ua,"__esModule",{value:!0});ua.formatLimitDefinition=void 0;var Q9=Ay(),ur=X(),_n=ur.operators,Du={formatMaximum:{okStr:"<=",ok:_n.LTE,fail:_n.GT},formatMinimum:{okStr:">=",ok:_n.GTE,fail:_n.LT},formatExclusiveMaximum:{okStr:"<",ok:_n.LT,fail:_n.GTE},formatExclusiveMinimum:{okStr:">",ok:_n.GT,fail:_n.LTE}},eF={message:({keyword:t,schemaCode:e})=>(0,ur.str)`should be ${Du[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,ur._)`{comparison: ${Du[t].okStr}, limit: ${e}}`};ua.formatLimitDefinition={keyword:Object.keys(Du),type:"string",schemaType:"string",$data:!0,error:eF,code(t){let{gen:e,data:r,schemaCode:n,keyword:i,it:a}=t,{opts:o,self:s}=a;if(!o.validateFormats)return;let c=new Q9.KeywordCxt(a,s.RULES.all.format.definition,"format");c.$data?l():u();function l(){let d=e.scopeValue("formats",{ref:s.formats,code:o.code.formats}),f=e.const("fmt",(0,ur._)`${d}[${c.schemaCode}]`);t.fail$data((0,ur.or)((0,ur._)`typeof ${f} != "object"`,(0,ur._)`${f} instanceof RegExp`,(0,ur._)`typeof ${f}.compare != "function"`,p(f)))}function u(){let d=c.schema,f=s.formats[d];if(!f||f===!0)return;if(typeof f!="object"||f instanceof RegExp||typeof f.compare!="function")throw new Error(`"${i}": format "${d}" does not define "compare" function`);let m=e.scopeValue("formats",{key:d,ref:f,code:o.code.formats?(0,ur._)`${o.code.formats}${(0,ur.getProperty)(d)}`:void 0});t.fail$data(p(m))}function p(d){return(0,ur._)`${d}.compare(${r}, ${n}) ${Du[i].fail} 0`}},dependencies:["format"]};var tF=t=>(t.addKeyword(ua.formatLimitDefinition),t);ua.default=tF});var j$=y((Ms,R$)=>{"use strict";Object.defineProperty(Ms,"__esModule",{value:!0});var pa=E$(),rF=T$(),Zy=X(),C$=new Zy.Name("fullFormats"),nF=new Zy.Name("fastFormats"),Hy=(t,e={keywords:!0})=>{if(Array.isArray(e))return z$(t,e,pa.fullFormats,C$),t;let[r,n]=e.mode==="fast"?[pa.fastFormats,nF]:[pa.fullFormats,C$],i=e.formats||pa.formatNames;return z$(t,i,r,n),e.keywords&&(0,rF.default)(t),t};Hy.get=(t,e="full")=>{let n=(e==="fast"?pa.fastFormats:pa.fullFormats)[t];if(!n)throw new Error(`Unknown format "${t}"`);return n};function z$(t,e,r,n){var i,a;(i=(a=t.opts.code).formats)!==null&&i!==void 0||(a.formats=(0,Zy._)`require("ajv-formats/dist/formats").${n}`);for(let o of e)t.addFormat(o,r[o])}R$.exports=Ms=Hy;Object.defineProperty(Ms,"__esModule",{value:!0});Ms.default=Hy});var Ir=y((hse,Z$)=>{var oF=A("path").relative;Z$.exports=pF;var sF=process.cwd();function q$(t,e){for(var r=t.split(/[ ,]+/),n=String(e).toLowerCase(),i=0;i<r.length;i++){var a=r[i];if(a&&(a==="*"||a.toLowerCase()===n))return!0}return!1}function cF(t,e,r){var n=Object.getOwnPropertyDescriptor(t,e),i=n.value;return n.get=function(){return i},n.writable&&(n.set=function(o){return i=o}),delete n.value,delete n.writable,Object.defineProperty(t,e,n),n}function lF(t){for(var e="",r=0;r<t;r++)e+=", arg"+r;return e.substr(2)}function uF(t){var e=this.name+": "+this.namespace;this.message&&(e+=" deprecated "+this.message);for(var r=0;r<t.length;r++)e+=`
|
|
11
11
|
at `+t[r].toString();return e}function pF(t){if(!t)throw new TypeError("argument namespace is required");var e=cp(),r=da(e[1]),n=r[0];function i(a){sp.call(i,a)}return i._file=n,i._ignored=fF(t),i._namespace=t,i._traced=mF(t),i._warned=Object.create(null),i.function=yF,i.property=xF,i}function dF(t,e){var r=typeof t.listenerCount!="function"?t.listeners(e).length:t.listenerCount(e);return r>0}function fF(t){if(process.noDeprecation)return!0;var e=process.env.NO_DEPRECATION||"";return q$(e,t)}function mF(t){if(process.traceDeprecation)return!0;var e=process.env.TRACE_DEPRECATION||"";return q$(e,t)}function sp(t,e){var r=dF(process,"deprecation");if(!(!r&&this._ignored)){var n,i,a,o,s=0,c=!1,l=cp(),u=this._file;for(e?(o=e,a=da(l[1]),a.name=o.name,u=a[0]):(s=2,o=da(l[s]),a=o);s<l.length;s++)if(n=da(l[s]),i=n[0],i===u)c=!0;else if(i===this._file)u=this._file;else if(c)break;var p=n?o.join(":")+"__"+n.join(":"):void 0;if(!(p!==void 0&&p in this._warned)){this._warned[p]=!0;var d=t;if(d||(d=a===o||!a.name?F$(o):F$(a)),r){var f=L$(this._namespace,d,l.slice(s));process.emit("deprecation",f);return}var m=process.stderr.isTTY?gF:hF,h=m.call(this,d,n,l.slice(s));process.stderr.write(h+`
|
|
12
12
|
`,"utf8")}}}function da(t){var e=t.getFileName()||"<anonymous>",r=t.getLineNumber(),n=t.getColumnNumber();t.isEval()&&(e=t.getEvalOrigin()+", "+e);var i=[e,r,n];return i.callSite=t,i.name=t.getFunctionName(),i}function F$(t){var e=t.callSite,r=t.name;r||(r="<anonymous@"+By(t)+">");var n=e.getThis(),i=n&&e.getTypeName();return i==="Object"&&(i=void 0),i==="Function"&&(i=n.name||i),i&&e.getMethodName()?i+"."+r:r}function hF(t,e,r){var n=new Date().toUTCString(),i=n+" "+this._namespace+" deprecated "+t;if(this._traced){for(var a=0;a<r.length;a++)i+=`
|
|
13
13
|
at `+r[a].toString();return i}return e&&(i+=" at "+By(e)),i}function gF(t,e,r){var n="\x1B[36;1m"+this._namespace+"\x1B[22;39m \x1B[33;1mdeprecated\x1B[22;39m \x1B[0m"+t+"\x1B[39m";if(this._traced){for(var i=0;i<r.length;i++)n+=`
|
|
@@ -36,7 +36,7 @@ return fn.apply(this, arguments)
|
|
|
36
36
|
<pre>`+e+`</pre>
|
|
37
37
|
</body>
|
|
38
38
|
</html>
|
|
39
|
-
`}b4.exports=tH;function tH(t,e,r){var n=r||{},i=n.env||process.env.NODE_ENV||"development",a=n.onerror;return function(o){var s,c,l;if(!o&&v4(e)){fb("cannot 404 after headers sent");return}if(o?(l=iH(o),l===void 0?l=oH(e):s=rH(o),c=nH(o,l,i)):(l=404,c="Cannot "+t.method+" "+VZ(aH(t))),fb("default %s",l),o&&a&&YZ(a,o,t,e),v4(e)){fb("cannot %d after headers sent",l),t.socket&&t.socket.destroy();return}sH(t,e,l,s,c)}}function rH(t){if(!(!t.headers||typeof t.headers!="object")){for(var e=Object.create(null),r=Object.keys(t.headers),n=0;n<r.length;n++){var i=r[n];e[i]=t.headers[i]}return e}}function nH(t,e,r){var n;return r!=="production"&&(n=t.stack,!n&&typeof t.toString=="function"&&(n=t.toString())),n||x4.message[e]}function iH(t){if(typeof t.status=="number"&&t.status>=400&&t.status<600)return t.status;if(typeof t.statusCode=="number"&&t.statusCode>=400&&t.statusCode<600)return t.statusCode}function aH(t){try{return JZ.original(t).pathname}catch{return"resource"}}function oH(t){var e=t.statusCode;return(typeof e!="number"||e<400||e>599)&&(e=500),e}function v4(t){return typeof t.headersSent!="boolean"?!!t._header:t.headersSent}function sH(t,e,r,n,i){function a(){var o=eH(i);if(e.statusCode=r,t.httpVersionMajor<2&&(e.statusMessage=x4.message[r]),e.removeHeader("Content-Encoding"),e.removeHeader("Content-Language"),e.removeHeader("Content-Range"),cH(e,n),e.setHeader("Content-Security-Policy","default-src 'none'"),e.setHeader("X-Content-Type-Options","nosniff"),e.setHeader("Content-Type","text/html; charset=utf-8"),e.setHeader("Content-Length",Buffer.byteLength(o,"utf8")),t.method==="HEAD"){e.end();return}e.end(o,"utf8")}if(QZ(t)){a();return}GZ(t),y4(t,a),t.resume()}function cH(t,e){if(e)for(var r=Object.keys(e),n=0;n<r.length;n++){var i=r[n];t.setHeader(i,e[i])}}});var mc=y((ole,k4)=>{"use strict";k4.exports=lH;function w4(t,e,r){for(var n=0;n<t.length;n++){var i=t[n];r>0&&Array.isArray(i)?w4(i,e,r-1):e.push(i)}return e}function S4(t,e){for(var r=0;r<t.length;r++){var n=t[r];Array.isArray(n)?S4(n,e):e.push(n)}return e}function lH(t,e){return e==null?S4(t,[]):w4(t,[],e)}});var E4=y((sle,P4)=>{P4.exports=I4;var $4=/\\.|\((?:\?<(.*?)>)?(?!\?)/g;function I4(t,e,r){r=r||{},e=e||[];var n=r.strict,i=r.end!==!1,a=r.sensitive?"":"i",o=r.lookahead!==!1,s=0,c=e.length,l=0,u=0,p=0,d="",f;if(t instanceof RegExp){for(;f=$4.exec(t.source);)f[0][0]!=="\\"&&e.push({name:f[1]||u++,optional:!1,offset:f.index});return t}if(Array.isArray(t))return t=t.map(function(m){return I4(m,e,r).source}),new RegExp(t.join("|"),a);if(typeof t!="string")throw new TypeError("path must be a string, array of strings, or regular expression");for(t=t.replace(/\\.|(\/)?(\.)?:(\w+)(\(.*?\))?(\*)?(\?)?|[.*]|\/\(/g,function(m,h,g,b,S,_,k,$){if(m[0]==="\\")return d+=m,p+=2,m;if(m===".")return d+="\\.",s+=1,p+=1,"\\.";if(h||g?d="":d+=t.slice(p,$),p=$+m.length,m==="*")return s+=3,"(.*)";if(m==="/(")return d+="/",s+=2,"/(?:";h=h||"",g=g?"\\.":"",k=k||"",S=S?S.replace(/\\.|\*/,function(Z){return Z==="*"?"(.*)":Z}):d?"((?:(?!/|"+d+").)+?)":"([^/"+g+"]+?)",e.push({name:b,optional:!!k,offset:$+s});var N="(?:"+g+h+S+(_?"((?:[/"+g+"].+?)?)":"")+")"+k;return s+=N.length-m.length,N});f=$4.exec(t);)f[0][0]!=="\\"&&((c+l===e.length||e[c+l].offset>f.index)&&e.splice(c+l,0,{name:u++,optional:!1,offset:f.index}),l++);return t+=n?"":t[t.length-1]==="/"?"?":"/?",i?t+="$":t[t.length-1]!=="/"&&(t+=o?"(?=/|$)":"(?:/|$)"),new RegExp("^"+t,a)}});var mb=y((cle,C4)=>{"use strict";var uH=E4(),pH=Yt()("express:router:layer"),dH=Object.prototype.hasOwnProperty;C4.exports=Ca;function Ca(t,e,r){if(!(this instanceof Ca))return new Ca(t,e,r);pH("new %o",t);var n=e||{};this.handle=r,this.name=r.name||"<anonymous>",this.params=void 0,this.path=void 0,this.regexp=uH(t,this.keys=[],n),this.regexp.fast_star=t==="*",this.regexp.fast_slash=t==="/"&&n.end===!1}Ca.prototype.handle_error=function(e,r,n,i){var a=this.handle;if(a.length!==4)return i(e);try{a(e,r,n,i)}catch(o){i(o)}};Ca.prototype.handle_request=function(e,r,n){var i=this.handle;if(i.length>3)return n();try{i(e,r,n)}catch(a){n(a)}};Ca.prototype.match=function(e){var r;if(e!=null){if(this.regexp.fast_slash)return this.params={},this.path="",!0;if(this.regexp.fast_star)return this.params={0:T4(e)},this.path=e,!0;r=this.regexp.exec(e)}if(!r)return this.params=void 0,this.path=void 0,!1;this.params={},this.path=r[0];for(var n=this.keys,i=this.params,a=1;a<r.length;a++){var o=n[a-1],s=o.name,c=T4(r[a]);(c!==void 0||!dH.call(i,s))&&(i[s]=c)}return!0};function T4(t){if(typeof t!="string"||t.length===0)return t;try{return decodeURIComponent(t)}catch(e){throw e instanceof URIError&&(e.message="Failed to decode param '"+t+"'",e.status=e.statusCode=400),e}}});var Gp=y((lle,R4)=>{"use strict";var z4=A("http");R4.exports=fH()||mH();function fH(){return z4.METHODS&&z4.METHODS.map(function(e){return e.toLowerCase()})}function mH(){return["get","post","put","head","delete","options","trace","copy","lock","mkcol","move","purge","propfind","proppatch","unlock","report","mkactivity","checkout","merge","m-search","notify","subscribe","unsubscribe","patch","search","connect"]}});var hb=y((ule,M4)=>{"use strict";var j4=Yt()("express:router:route"),D4=mc(),O4=mb(),hH=Gp(),N4=Array.prototype.slice,A4=Object.prototype.toString;M4.exports=za;function za(t){this.path=t,this.stack=[],j4("new %o",t),this.methods={}}za.prototype._handles_method=function(e){if(this.methods._all)return!0;var r=typeof e=="string"?e.toLowerCase():e;return r==="head"&&!this.methods.head&&(r="get"),!!this.methods[r]};za.prototype._options=function(){var e=Object.keys(this.methods);this.methods.get&&!this.methods.head&&e.push("head");for(var r=0;r<e.length;r++)e[r]=e[r].toUpperCase();return e};za.prototype.dispatch=function(e,r,n){var i=0,a=this.stack,o=0;if(a.length===0)return n();var s=typeof e.method=="string"?e.method.toLowerCase():e.method;s==="head"&&!this.methods.head&&(s="get"),e.route=this,c();function c(l){if(l&&l==="route")return n();if(l&&l==="router")return n(l);if(++o>100)return setImmediate(c,l);var u=a[i++];if(!u)return n(l);u.method&&u.method!==s?c(l):l?u.handle_error(l,e,r,c):u.handle_request(e,r,c),o=0}};za.prototype.all=function(){for(var e=D4(N4.call(arguments)),r=0;r<e.length;r++){var n=e[r];if(typeof n!="function"){var i=A4.call(n),a="Route.all() requires a callback function but got a "+i;throw new TypeError(a)}var o=O4("/",{},n);o.method=void 0,this.methods._all=!0,this.stack.push(o)}return this};hH.forEach(function(t){za.prototype[t]=function(){for(var e=D4(N4.call(arguments)),r=0;r<e.length;r++){var n=e[r];if(typeof n!="function"){var i=A4.call(n),a="Route."+t+"() requires a callback function but got a "+i;throw new Error(a)}j4("%s %o",t,this.path);var o=O4("/",{},n);o.method=t,this.methods[t]=!0,this.stack.push(o)}return this}})});var hc=y((U4,F4)=>{U4=F4.exports=function(t,e){if(t&&e)for(var r in e)t[r]=e[r];return t}});var vb=y((ple,H4)=>{"use strict";var gH=hb(),L4=mb(),vH=Gp(),gb=hc(),Kp=Yt()("express:router"),q4=Ir()("express"),yH=mc(),xH=Ta(),bH=qs(),_H=/^\[object (\S+)\]$/,Z4=Array.prototype.slice,wH=Object.prototype.toString,fi=H4.exports=function(t){var e=t||{};function r(n,i,a){r.handle(n,i,a)}return bH(r,fi),r.params={},r._params=[],r.caseSensitive=e.caseSensitive,r.mergeParams=e.mergeParams,r.strict=e.strict,r.stack=[],r};fi.param=function(e,r){if(typeof e=="function"){q4("router.param(fn): Refactor to use path params"),this._params.push(e);return}var n=this._params,i=n.length,a;e[0]===":"&&(q4("router.param("+JSON.stringify(e)+", fn): Use router.param("+JSON.stringify(e.slice(1))+", fn) instead"),e=e.slice(1));for(var o=0;o<i;++o)(a=n[o](e,r))&&(r=a);if(typeof r!="function")throw new Error("invalid param() call for "+e+", got "+r);return(this.params[e]=this.params[e]||[]).push(r),this};fi.handle=function(e,r,n){var i=this;Kp("dispatching %s %s",e.method,e.url);var a=0,o=$H(e.url)||"",s="",c=!1,l=0,u={},p=[],d=i.stack,f=e.params,m=e.baseUrl||"",h=TH(n,e,"baseUrl","next","params");e.next=g,e.method==="OPTIONS"&&(h=zH(h,function(S,_){if(_||p.length===0)return S(_);CH(r,p,S)})),e.baseUrl=m,e.originalUrl=e.originalUrl||e.url,g();function g(S){var _=S==="route"?null:S;if(c&&(e.url=e.url.slice(1),c=!1),s.length!==0&&(e.baseUrl=m,e.url=o+s+e.url.slice(o.length),s=""),_==="router"){setImmediate(h,null);return}if(a>=d.length){setImmediate(h,_);return}if(++l>100)return setImmediate(g,S);var k=kH(e);if(k==null)return h(_);for(var $,N,Z;N!==!0&&a<d.length;)if($=d[a++],N=PH($,k),Z=$.route,typeof N!="boolean"&&(_=_||N),N===!0&&Z){if(_){N=!1;continue}var me=e.method,Je=Z._handles_method(me);!Je&&me==="OPTIONS"&&SH(p,Z._options()),!Je&&me!=="HEAD"&&(N=!1)}if(N!==!0)return h(_);Z&&(e.route=Z),e.params=i.mergeParams?EH($.params,f):$.params;var He=$.path;i.process_params($,u,e,r,function(rr){rr?g(_||rr):Z?$.handle_request(e,r,g):b($,_,He,k),l=0})}function b(S,_,k,$){if(k.length!==0){if(k!==$.slice(0,k.length)){g(_);return}var N=$[k.length];if(N&&N!=="/"&&N!==".")return g(_);Kp("trim prefix (%s) from url %s",k,e.url),s=k,e.url=o+e.url.slice(o.length+s.length),!o&&e.url[0]!=="/"&&(e.url="/"+e.url,c=!0),e.baseUrl=m+(s[s.length-1]==="/"?s.substring(0,s.length-1):s)}Kp("%s %s : %s",S.name,k,e.originalUrl),_?S.handle_error(_,e,r,g):S.handle_request(e,r,g)}};fi.process_params=function(e,r,n,i,a){var o=this.params,s=e.keys;if(!s||s.length===0)return a();var c=0,l,u=0,p,d,f,m;function h(b){if(b)return a(b);if(c>=s.length)return a();if(u=0,p=s[c++],l=p.name,d=n.params[l],f=o[l],m=r[l],d===void 0||!f)return h();if(m&&(m.match===d||m.error&&m.error!=="route"))return n.params[l]=m.value,h(m.error);r[l]=m={error:null,match:d,value:d},g()}function g(b){var S=f[u++];if(m.value=n.params[p.name],b){m.error=b,h(b);return}if(!S)return h();try{S(n,i,g,d,p.name)}catch(_){g(_)}}h()};fi.use=function(e){var r=0,n="/";if(typeof e!="function"){for(var i=e;Array.isArray(i)&&i.length!==0;)i=i[0];typeof i!="function"&&(r=1,n=e)}var a=yH(Z4.call(arguments,r));if(a.length===0)throw new TypeError("Router.use() requires a middleware function");for(var o=0;o<a.length;o++){var e=a[o];if(typeof e!="function")throw new TypeError("Router.use() requires a middleware function but got a "+IH(e));Kp("use %o %s",n,e.name||"<anonymous>");var s=new L4(n,{sensitive:this.caseSensitive,strict:!1,end:!1},e);s.route=void 0,this.stack.push(s)}return this};fi.route=function(e){var r=new gH(e),n=new L4(e,{sensitive:this.caseSensitive,strict:this.strict,end:!0},r.dispatch.bind(r));return n.route=r,this.stack.push(n),r};vH.concat("all").forEach(function(t){fi[t]=function(e){var r=this.route(e);return r[t].apply(r,Z4.call(arguments,1)),this}});function SH(t,e){for(var r=0;r<e.length;r++){var n=e[r];t.indexOf(n)===-1&&t.push(n)}}function kH(t){try{return xH(t).pathname}catch{return}}function $H(t){if(!(typeof t!="string"||t.length===0||t[0]==="/")){var e=t.indexOf("?"),r=e!==-1?e:t.length,n=t.slice(0,r).indexOf("://");return n!==-1?t.substring(0,t.indexOf("/",3+n)):void 0}}function IH(t){var e=typeof t;return e!=="object"?e:wH.call(t).replace(_H,"$1")}function PH(t,e){try{return t.match(e)}catch(r){return r}}function EH(t,e){if(typeof e!="object"||!e)return t;var r=gb({},e);if(!(0 in t)||!(0 in e))return gb(r,t);for(var n=0,i=0;n in t;)n++;for(;i in e;)i++;for(n--;n>=0;n--)t[n+i]=t[n],n<i&&delete t[n];return gb(r,t)}function TH(t,e){for(var r=new Array(arguments.length-2),n=new Array(arguments.length-2),i=0;i<r.length;i++)r[i]=arguments[i+2],n[i]=e[r[i]];return function(){for(var a=0;a<r.length;a++)e[r[a]]=n[a];return t.apply(this,arguments)}}function CH(t,e,r){try{var n=e.join(",");t.set("Allow",n),t.send(n)}catch(i){r(i)}}function zH(t,e){return function(){var n=new Array(arguments.length+1);n[0]=t;for(var i=0,a=arguments.length;i<a;i++)n[i+1]=arguments[i];e.apply(this,n)}}});var W4=y(V4=>{"use strict";var B4=qs();V4.init=function(t){return function(r,n,i){t.enabled("x-powered-by")&&n.setHeader("X-Powered-By","Express"),r.res=n,n.req=r,r.next=i,B4(r,t.request),B4(n,t.response),n.locals=n.locals||Object.create(null),i()}}});var yb=y((fle,J4)=>{"use strict";var RH=hc(),jH=Ta(),DH=Bp();J4.exports=function(e){var r=RH({},e),n=DH.parse;return typeof e=="function"&&(n=e,r=void 0),r!==void 0&&r.allowPrototypes===void 0&&(r.allowPrototypes=!0),function(a,o,s){if(!a.query){var c=jH(a).query;a.query=n(c,r)}s()}}});var Q4=y((mle,Y4)=>{"use strict";var Xp=Yt()("express:view"),gc=A("path"),OH=A("fs"),NH=gc.dirname,X4=gc.basename,AH=gc.extname,G4=gc.join,MH=gc.resolve;Y4.exports=Yp;function Yp(t,e){var r=e||{};if(this.defaultEngine=r.defaultEngine,this.ext=AH(t),this.name=t,this.root=r.root,!this.ext&&!this.defaultEngine)throw new Error("No default engine was specified and no extension was provided.");var n=t;if(this.ext||(this.ext=this.defaultEngine[0]!=="."?"."+this.defaultEngine:this.defaultEngine,n+=this.ext),!r.engines[this.ext]){var i=this.ext.slice(1);Xp('require "%s"',i);var a=A(i).__express;if(typeof a!="function")throw new Error('Module "'+i+'" does not provide a view engine.');r.engines[this.ext]=a}this.engine=r.engines[this.ext],this.path=this.lookup(n)}Yp.prototype.lookup=function(e){var r,n=[].concat(this.root);Xp('lookup "%s"',e);for(var i=0;i<n.length&&!r;i++){var a=n[i],o=MH(a,e),s=NH(o),c=X4(o);r=this.resolve(s,c)}return r};Yp.prototype.render=function(e,r){Xp('render "%s"',this.path),this.engine(this.path,e,r)};Yp.prototype.resolve=function(e,r){var n=this.ext,i=G4(e,r),a=K4(i);if(a&&a.isFile()||(i=G4(e,X4(r,n),"index"+n),a=K4(i),a&&a.isFile()))return i};function K4(t){Xp('stat "%s"',t);try{return OH.statSync(t)}catch{return}}});var ed=y((xb,tC)=>{var Qp=A("buffer"),Rr=Qp.Buffer;function eC(t,e){for(var r in t)e[r]=t[r]}Rr.from&&Rr.alloc&&Rr.allocUnsafe&&Rr.allocUnsafeSlow?tC.exports=Qp:(eC(Qp,xb),xb.Buffer=mi);function mi(t,e,r){return Rr(t,e,r)}mi.prototype=Object.create(Rr.prototype);eC(Rr,mi);mi.from=function(t,e,r){if(typeof t=="number")throw new TypeError("Argument must not be a number");return Rr(t,e,r)};mi.alloc=function(t,e,r){if(typeof t!="number")throw new TypeError("Argument must be a number");var n=Rr(t);return e!==void 0?typeof r=="string"?n.fill(e,r):n.fill(e):n.fill(0),n};mi.allocUnsafe=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return Rr(t)};mi.allocUnsafeSlow=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return Qp.SlowBuffer(t)}});var _b=y((gle,bb)=>{"use strict";bb.exports=GH;bb.exports.parse=QH;var rC=A("path").basename,UH=ed().Buffer,FH=/[\x00-\x20"'()*,/:;<=>?@[\\\]{}\x7f]/g,qH=/%[0-9A-Fa-f]{2}/,LH=/%([0-9A-Fa-f]{2})/g,iC=/[^\x20-\x7e\xa0-\xff]/g,ZH=/\\([\u0000-\u007f])/g,HH=/([\\"])/g,nC=/;[\x09\x20]*([!#$%&'*+.0-9A-Z^_`a-z|~-]+)[\x09\x20]*=[\x09\x20]*("(?:[\x20!\x23-\x5b\x5d-\x7e\x80-\xff]|\\[\x20-\x7e])*"|[!#$%&'*+.0-9A-Z^_`a-z|~-]+)[\x09\x20]*/g,BH=/^[\x20-\x7e\x80-\xff]+$/,VH=/^[!#$%&'*+.0-9A-Z^_`a-z|~-]+$/,WH=/^([A-Za-z0-9!#$%&+\-^_`{}~]+)'(?:[A-Za-z]{2,3}(?:-[A-Za-z]{3}){0,3}|[A-Za-z]{4,8}|)'((?:%[0-9A-Fa-f]{2}|[A-Za-z0-9!#$&+.^_`|~-])+)$/,JH=/^([!#$%&'*+.0-9A-Z^_`a-z|~-]+)[\x09\x20]*(?:$|;)/;function GH(t,e){var r=e||{},n=r.type||"attachment",i=KH(t,r.fallback);return XH(new oC(n,i))}function KH(t,e){if(t!==void 0){var r={};if(typeof t!="string")throw new TypeError("filename must be a string");if(e===void 0&&(e=!0),typeof e!="string"&&typeof e!="boolean")throw new TypeError("fallback must be a string or boolean");if(typeof e=="string"&&iC.test(e))throw new TypeError("fallback must be ISO-8859-1 string");var n=rC(t),i=BH.test(n),a=typeof e!="string"?e&&aC(n):rC(e),o=typeof a=="string"&&a!==n;return(o||!i||qH.test(n))&&(r["filename*"]=n),(i||o)&&(r.filename=o?a:n),r}}function XH(t){var e=t.parameters,r=t.type;if(!r||typeof r!="string"||!VH.test(r))throw new TypeError("invalid type");var n=String(r).toLowerCase();if(e&&typeof e=="object")for(var i,a=Object.keys(e).sort(),o=0;o<a.length;o++){i=a[o];var s=i.substr(-1)==="*"?n7(e[i]):r7(e[i]);n+="; "+i+"="+s}return n}function YH(t){var e=WH.exec(t);if(!e)throw new TypeError("invalid extended field value");var r=e[1].toLowerCase(),n=e[2],i,a=n.replace(LH,e7);switch(r){case"iso-8859-1":i=aC(a);break;case"utf-8":i=UH.from(a,"binary").toString("utf8");break;default:throw new TypeError("unsupported charset in extended field")}return i}function aC(t){return String(t).replace(iC,"?")}function QH(t){if(!t||typeof t!="string")throw new TypeError("argument string is required");var e=JH.exec(t);if(!e)throw new TypeError("invalid type format");var r=e[0].length,n=e[1].toLowerCase(),i,a=[],o={},s;for(r=nC.lastIndex=e[0].substr(-1)===";"?r-1:r;e=nC.exec(t);){if(e.index!==r)throw new TypeError("invalid parameter format");if(r+=e[0].length,i=e[1].toLowerCase(),s=e[2],a.indexOf(i)!==-1)throw new TypeError("invalid duplicate parameter");if(a.push(i),i.indexOf("*")+1===i.length){i=i.slice(0,-1),s=YH(s),o[i]=s;continue}typeof o[i]!="string"&&(s[0]==='"'&&(s=s.substr(1,s.length-2).replace(ZH,"$1")),o[i]=s)}if(r!==-1&&r!==t.length)throw new TypeError("invalid parameter format");return new oC(n,o)}function e7(t,e){return String.fromCharCode(parseInt(e,16))}function t7(t){return"%"+String(t).charCodeAt(0).toString(16).toUpperCase()}function r7(t){var e=String(t);return'"'+e.replace(HH,"\\$1")+'"'}function n7(t){var e=String(t),r=encodeURIComponent(e).replace(FH,t7);return"UTF-8''"+r}function oC(t,e){this.type=t,this.parameters=e}});var wb=y((vle,lC)=>{"use strict";lC.exports=o7;var i7=A("crypto"),sC=A("fs").Stats,cC=Object.prototype.toString;function a7(t){if(t.length===0)return'"0-2jmj7l5rSw0yVb/vlWAYkK/YBwk"';var e=i7.createHash("sha1").update(t,"utf8").digest("base64").substring(0,27),r=typeof t=="string"?Buffer.byteLength(t,"utf8"):t.length;return'"'+r.toString(16)+"-"+e+'"'}function o7(t,e){if(t==null)throw new TypeError("argument entity is required");var r=s7(t),n=e&&typeof e.weak=="boolean"?e.weak:r;if(!r&&typeof t!="string"&&!Buffer.isBuffer(t))throw new TypeError("argument entity must be string, Buffer, or fs.Stats");var i=r?c7(t):a7(t);return n?"W/"+i:i}function s7(t){return typeof sC=="function"&&t instanceof sC?!0:t&&typeof t=="object"&&"ctime"in t&&cC.call(t.ctime)==="[object Date]"&&"mtime"in t&&cC.call(t.mtime)==="[object Date]"&&"ino"in t&&typeof t.ino=="number"&&"size"in t&&typeof t.size=="number"}function c7(t){var e=t.mtime.getTime().toString(16),r=t.size.toString(16);return'"'+r+"-"+e+'"'}});var Sb=y((yle,pC)=>{"use strict";var l7=/(?:^|,)\s*?no-cache\s*?(?:,|$)/;pC.exports=u7;function u7(t,e){var r=t["if-modified-since"],n=t["if-none-match"];if(!r&&!n)return!1;var i=t["cache-control"];if(i&&l7.test(i))return!1;if(n&&n!=="*"){var a=e.etag;if(!a)return!1;for(var o=!0,s=p7(n),c=0;c<s.length;c++){var l=s[c];if(l===a||l==="W/"+a||"W/"+l===a){o=!1;break}}if(o)return!1}if(r){var u=e["last-modified"],p=!u||!(uC(u)<=uC(r));if(p)return!1}return!0}function uC(t){var e=t&&Date.parse(t);return typeof e=="number"?e:NaN}function p7(t){for(var e=0,r=[],n=0,i=0,a=t.length;i<a;i++)switch(t.charCodeAt(i)){case 32:n===e&&(n=e=i+1);break;case 44:r.push(t.substring(n,e)),n=e=i+1;break;default:e=i+1;break}return r.push(t.substring(n,e)),r}});var dC=y((xle,d7)=>{d7.exports={"application/andrew-inset":["ez"],"application/applixware":["aw"],"application/atom+xml":["atom"],"application/atomcat+xml":["atomcat"],"application/atomsvc+xml":["atomsvc"],"application/bdoc":["bdoc"],"application/ccxml+xml":["ccxml"],"application/cdmi-capability":["cdmia"],"application/cdmi-container":["cdmic"],"application/cdmi-domain":["cdmid"],"application/cdmi-object":["cdmio"],"application/cdmi-queue":["cdmiq"],"application/cu-seeme":["cu"],"application/dash+xml":["mpd"],"application/davmount+xml":["davmount"],"application/docbook+xml":["dbk"],"application/dssc+der":["dssc"],"application/dssc+xml":["xdssc"],"application/ecmascript":["ecma"],"application/emma+xml":["emma"],"application/epub+zip":["epub"],"application/exi":["exi"],"application/font-tdpfr":["pfr"],"application/font-woff":[],"application/font-woff2":[],"application/geo+json":["geojson"],"application/gml+xml":["gml"],"application/gpx+xml":["gpx"],"application/gxf":["gxf"],"application/gzip":["gz"],"application/hyperstudio":["stk"],"application/inkml+xml":["ink","inkml"],"application/ipfix":["ipfix"],"application/java-archive":["jar","war","ear"],"application/java-serialized-object":["ser"],"application/java-vm":["class"],"application/javascript":["js","mjs"],"application/json":["json","map"],"application/json5":["json5"],"application/jsonml+json":["jsonml"],"application/ld+json":["jsonld"],"application/lost+xml":["lostxml"],"application/mac-binhex40":["hqx"],"application/mac-compactpro":["cpt"],"application/mads+xml":["mads"],"application/manifest+json":["webmanifest"],"application/marc":["mrc"],"application/marcxml+xml":["mrcx"],"application/mathematica":["ma","nb","mb"],"application/mathml+xml":["mathml"],"application/mbox":["mbox"],"application/mediaservercontrol+xml":["mscml"],"application/metalink+xml":["metalink"],"application/metalink4+xml":["meta4"],"application/mets+xml":["mets"],"application/mods+xml":["mods"],"application/mp21":["m21","mp21"],"application/mp4":["mp4s","m4p"],"application/msword":["doc","dot"],"application/mxf":["mxf"],"application/octet-stream":["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"],"application/oda":["oda"],"application/oebps-package+xml":["opf"],"application/ogg":["ogx"],"application/omdoc+xml":["omdoc"],"application/onenote":["onetoc","onetoc2","onetmp","onepkg"],"application/oxps":["oxps"],"application/patch-ops-error+xml":["xer"],"application/pdf":["pdf"],"application/pgp-encrypted":["pgp"],"application/pgp-signature":["asc","sig"],"application/pics-rules":["prf"],"application/pkcs10":["p10"],"application/pkcs7-mime":["p7m","p7c"],"application/pkcs7-signature":["p7s"],"application/pkcs8":["p8"],"application/pkix-attr-cert":["ac"],"application/pkix-cert":["cer"],"application/pkix-crl":["crl"],"application/pkix-pkipath":["pkipath"],"application/pkixcmp":["pki"],"application/pls+xml":["pls"],"application/postscript":["ai","eps","ps"],"application/prs.cww":["cww"],"application/pskc+xml":["pskcxml"],"application/raml+yaml":["raml"],"application/rdf+xml":["rdf"],"application/reginfo+xml":["rif"],"application/relax-ng-compact-syntax":["rnc"],"application/resource-lists+xml":["rl"],"application/resource-lists-diff+xml":["rld"],"application/rls-services+xml":["rs"],"application/rpki-ghostbusters":["gbr"],"application/rpki-manifest":["mft"],"application/rpki-roa":["roa"],"application/rsd+xml":["rsd"],"application/rss+xml":["rss"],"application/rtf":["rtf"],"application/sbml+xml":["sbml"],"application/scvp-cv-request":["scq"],"application/scvp-cv-response":["scs"],"application/scvp-vp-request":["spq"],"application/scvp-vp-response":["spp"],"application/sdp":["sdp"],"application/set-payment-initiation":["setpay"],"application/set-registration-initiation":["setreg"],"application/shf+xml":["shf"],"application/smil+xml":["smi","smil"],"application/sparql-query":["rq"],"application/sparql-results+xml":["srx"],"application/srgs":["gram"],"application/srgs+xml":["grxml"],"application/sru+xml":["sru"],"application/ssdl+xml":["ssdl"],"application/ssml+xml":["ssml"],"application/tei+xml":["tei","teicorpus"],"application/thraud+xml":["tfi"],"application/timestamped-data":["tsd"],"application/vnd.3gpp.pic-bw-large":["plb"],"application/vnd.3gpp.pic-bw-small":["psb"],"application/vnd.3gpp.pic-bw-var":["pvb"],"application/vnd.3gpp2.tcap":["tcap"],"application/vnd.3m.post-it-notes":["pwn"],"application/vnd.accpac.simply.aso":["aso"],"application/vnd.accpac.simply.imp":["imp"],"application/vnd.acucobol":["acu"],"application/vnd.acucorp":["atc","acutc"],"application/vnd.adobe.air-application-installer-package+zip":["air"],"application/vnd.adobe.formscentral.fcdt":["fcdt"],"application/vnd.adobe.fxp":["fxp","fxpl"],"application/vnd.adobe.xdp+xml":["xdp"],"application/vnd.adobe.xfdf":["xfdf"],"application/vnd.ahead.space":["ahead"],"application/vnd.airzip.filesecure.azf":["azf"],"application/vnd.airzip.filesecure.azs":["azs"],"application/vnd.amazon.ebook":["azw"],"application/vnd.americandynamics.acc":["acc"],"application/vnd.amiga.ami":["ami"],"application/vnd.android.package-archive":["apk"],"application/vnd.anser-web-certificate-issue-initiation":["cii"],"application/vnd.anser-web-funds-transfer-initiation":["fti"],"application/vnd.antix.game-component":["atx"],"application/vnd.apple.installer+xml":["mpkg"],"application/vnd.apple.mpegurl":["m3u8"],"application/vnd.apple.pkpass":["pkpass"],"application/vnd.aristanetworks.swi":["swi"],"application/vnd.astraea-software.iota":["iota"],"application/vnd.audiograph":["aep"],"application/vnd.blueice.multipass":["mpm"],"application/vnd.bmi":["bmi"],"application/vnd.businessobjects":["rep"],"application/vnd.chemdraw+xml":["cdxml"],"application/vnd.chipnuts.karaoke-mmd":["mmd"],"application/vnd.cinderella":["cdy"],"application/vnd.claymore":["cla"],"application/vnd.cloanto.rp9":["rp9"],"application/vnd.clonk.c4group":["c4g","c4d","c4f","c4p","c4u"],"application/vnd.cluetrust.cartomobile-config":["c11amc"],"application/vnd.cluetrust.cartomobile-config-pkg":["c11amz"],"application/vnd.commonspace":["csp"],"application/vnd.contact.cmsg":["cdbcmsg"],"application/vnd.cosmocaller":["cmc"],"application/vnd.crick.clicker":["clkx"],"application/vnd.crick.clicker.keyboard":["clkk"],"application/vnd.crick.clicker.palette":["clkp"],"application/vnd.crick.clicker.template":["clkt"],"application/vnd.crick.clicker.wordbank":["clkw"],"application/vnd.criticaltools.wbs+xml":["wbs"],"application/vnd.ctc-posml":["pml"],"application/vnd.cups-ppd":["ppd"],"application/vnd.curl.car":["car"],"application/vnd.curl.pcurl":["pcurl"],"application/vnd.dart":["dart"],"application/vnd.data-vision.rdz":["rdz"],"application/vnd.dece.data":["uvf","uvvf","uvd","uvvd"],"application/vnd.dece.ttml+xml":["uvt","uvvt"],"application/vnd.dece.unspecified":["uvx","uvvx"],"application/vnd.dece.zip":["uvz","uvvz"],"application/vnd.denovo.fcselayout-link":["fe_launch"],"application/vnd.dna":["dna"],"application/vnd.dolby.mlp":["mlp"],"application/vnd.dpgraph":["dpg"],"application/vnd.dreamfactory":["dfac"],"application/vnd.ds-keypoint":["kpxx"],"application/vnd.dvb.ait":["ait"],"application/vnd.dvb.service":["svc"],"application/vnd.dynageo":["geo"],"application/vnd.ecowin.chart":["mag"],"application/vnd.enliven":["nml"],"application/vnd.epson.esf":["esf"],"application/vnd.epson.msf":["msf"],"application/vnd.epson.quickanime":["qam"],"application/vnd.epson.salt":["slt"],"application/vnd.epson.ssf":["ssf"],"application/vnd.eszigno3+xml":["es3","et3"],"application/vnd.ezpix-album":["ez2"],"application/vnd.ezpix-package":["ez3"],"application/vnd.fdf":["fdf"],"application/vnd.fdsn.mseed":["mseed"],"application/vnd.fdsn.seed":["seed","dataless"],"application/vnd.flographit":["gph"],"application/vnd.fluxtime.clip":["ftc"],"application/vnd.framemaker":["fm","frame","maker","book"],"application/vnd.frogans.fnc":["fnc"],"application/vnd.frogans.ltf":["ltf"],"application/vnd.fsc.weblaunch":["fsc"],"application/vnd.fujitsu.oasys":["oas"],"application/vnd.fujitsu.oasys2":["oa2"],"application/vnd.fujitsu.oasys3":["oa3"],"application/vnd.fujitsu.oasysgp":["fg5"],"application/vnd.fujitsu.oasysprs":["bh2"],"application/vnd.fujixerox.ddd":["ddd"],"application/vnd.fujixerox.docuworks":["xdw"],"application/vnd.fujixerox.docuworks.binder":["xbd"],"application/vnd.fuzzysheet":["fzs"],"application/vnd.genomatix.tuxedo":["txd"],"application/vnd.geogebra.file":["ggb"],"application/vnd.geogebra.tool":["ggt"],"application/vnd.geometry-explorer":["gex","gre"],"application/vnd.geonext":["gxt"],"application/vnd.geoplan":["g2w"],"application/vnd.geospace":["g3w"],"application/vnd.gmx":["gmx"],"application/vnd.google-apps.document":["gdoc"],"application/vnd.google-apps.presentation":["gslides"],"application/vnd.google-apps.spreadsheet":["gsheet"],"application/vnd.google-earth.kml+xml":["kml"],"application/vnd.google-earth.kmz":["kmz"],"application/vnd.grafeq":["gqf","gqs"],"application/vnd.groove-account":["gac"],"application/vnd.groove-help":["ghf"],"application/vnd.groove-identity-message":["gim"],"application/vnd.groove-injector":["grv"],"application/vnd.groove-tool-message":["gtm"],"application/vnd.groove-tool-template":["tpl"],"application/vnd.groove-vcard":["vcg"],"application/vnd.hal+xml":["hal"],"application/vnd.handheld-entertainment+xml":["zmm"],"application/vnd.hbci":["hbci"],"application/vnd.hhe.lesson-player":["les"],"application/vnd.hp-hpgl":["hpgl"],"application/vnd.hp-hpid":["hpid"],"application/vnd.hp-hps":["hps"],"application/vnd.hp-jlyt":["jlt"],"application/vnd.hp-pcl":["pcl"],"application/vnd.hp-pclxl":["pclxl"],"application/vnd.hydrostatix.sof-data":["sfd-hdstx"],"application/vnd.ibm.minipay":["mpy"],"application/vnd.ibm.modcap":["afp","listafp","list3820"],"application/vnd.ibm.rights-management":["irm"],"application/vnd.ibm.secure-container":["sc"],"application/vnd.iccprofile":["icc","icm"],"application/vnd.igloader":["igl"],"application/vnd.immervision-ivp":["ivp"],"application/vnd.immervision-ivu":["ivu"],"application/vnd.insors.igm":["igm"],"application/vnd.intercon.formnet":["xpw","xpx"],"application/vnd.intergeo":["i2g"],"application/vnd.intu.qbo":["qbo"],"application/vnd.intu.qfx":["qfx"],"application/vnd.ipunplugged.rcprofile":["rcprofile"],"application/vnd.irepository.package+xml":["irp"],"application/vnd.is-xpr":["xpr"],"application/vnd.isac.fcs":["fcs"],"application/vnd.jam":["jam"],"application/vnd.jcp.javame.midlet-rms":["rms"],"application/vnd.jisp":["jisp"],"application/vnd.joost.joda-archive":["joda"],"application/vnd.kahootz":["ktz","ktr"],"application/vnd.kde.karbon":["karbon"],"application/vnd.kde.kchart":["chrt"],"application/vnd.kde.kformula":["kfo"],"application/vnd.kde.kivio":["flw"],"application/vnd.kde.kontour":["kon"],"application/vnd.kde.kpresenter":["kpr","kpt"],"application/vnd.kde.kspread":["ksp"],"application/vnd.kde.kword":["kwd","kwt"],"application/vnd.kenameaapp":["htke"],"application/vnd.kidspiration":["kia"],"application/vnd.kinar":["kne","knp"],"application/vnd.koan":["skp","skd","skt","skm"],"application/vnd.kodak-descriptor":["sse"],"application/vnd.las.las+xml":["lasxml"],"application/vnd.llamagraphics.life-balance.desktop":["lbd"],"application/vnd.llamagraphics.life-balance.exchange+xml":["lbe"],"application/vnd.lotus-1-2-3":["123"],"application/vnd.lotus-approach":["apr"],"application/vnd.lotus-freelance":["pre"],"application/vnd.lotus-notes":["nsf"],"application/vnd.lotus-organizer":["org"],"application/vnd.lotus-screencam":["scm"],"application/vnd.lotus-wordpro":["lwp"],"application/vnd.macports.portpkg":["portpkg"],"application/vnd.mcd":["mcd"],"application/vnd.medcalcdata":["mc1"],"application/vnd.mediastation.cdkey":["cdkey"],"application/vnd.mfer":["mwf"],"application/vnd.mfmp":["mfm"],"application/vnd.micrografx.flo":["flo"],"application/vnd.micrografx.igx":["igx"],"application/vnd.mif":["mif"],"application/vnd.mobius.daf":["daf"],"application/vnd.mobius.dis":["dis"],"application/vnd.mobius.mbk":["mbk"],"application/vnd.mobius.mqy":["mqy"],"application/vnd.mobius.msl":["msl"],"application/vnd.mobius.plc":["plc"],"application/vnd.mobius.txf":["txf"],"application/vnd.mophun.application":["mpn"],"application/vnd.mophun.certificate":["mpc"],"application/vnd.mozilla.xul+xml":["xul"],"application/vnd.ms-artgalry":["cil"],"application/vnd.ms-cab-compressed":["cab"],"application/vnd.ms-excel":["xls","xlm","xla","xlc","xlt","xlw"],"application/vnd.ms-excel.addin.macroenabled.12":["xlam"],"application/vnd.ms-excel.sheet.binary.macroenabled.12":["xlsb"],"application/vnd.ms-excel.sheet.macroenabled.12":["xlsm"],"application/vnd.ms-excel.template.macroenabled.12":["xltm"],"application/vnd.ms-fontobject":["eot"],"application/vnd.ms-htmlhelp":["chm"],"application/vnd.ms-ims":["ims"],"application/vnd.ms-lrm":["lrm"],"application/vnd.ms-officetheme":["thmx"],"application/vnd.ms-outlook":["msg"],"application/vnd.ms-pki.seccat":["cat"],"application/vnd.ms-pki.stl":["stl"],"application/vnd.ms-powerpoint":["ppt","pps","pot"],"application/vnd.ms-powerpoint.addin.macroenabled.12":["ppam"],"application/vnd.ms-powerpoint.presentation.macroenabled.12":["pptm"],"application/vnd.ms-powerpoint.slide.macroenabled.12":["sldm"],"application/vnd.ms-powerpoint.slideshow.macroenabled.12":["ppsm"],"application/vnd.ms-powerpoint.template.macroenabled.12":["potm"],"application/vnd.ms-project":["mpp","mpt"],"application/vnd.ms-word.document.macroenabled.12":["docm"],"application/vnd.ms-word.template.macroenabled.12":["dotm"],"application/vnd.ms-works":["wps","wks","wcm","wdb"],"application/vnd.ms-wpl":["wpl"],"application/vnd.ms-xpsdocument":["xps"],"application/vnd.mseq":["mseq"],"application/vnd.musician":["mus"],"application/vnd.muvee.style":["msty"],"application/vnd.mynfc":["taglet"],"application/vnd.neurolanguage.nlu":["nlu"],"application/vnd.nitf":["ntf","nitf"],"application/vnd.noblenet-directory":["nnd"],"application/vnd.noblenet-sealer":["nns"],"application/vnd.noblenet-web":["nnw"],"application/vnd.nokia.n-gage.data":["ngdat"],"application/vnd.nokia.n-gage.symbian.install":["n-gage"],"application/vnd.nokia.radio-preset":["rpst"],"application/vnd.nokia.radio-presets":["rpss"],"application/vnd.novadigm.edm":["edm"],"application/vnd.novadigm.edx":["edx"],"application/vnd.novadigm.ext":["ext"],"application/vnd.oasis.opendocument.chart":["odc"],"application/vnd.oasis.opendocument.chart-template":["otc"],"application/vnd.oasis.opendocument.database":["odb"],"application/vnd.oasis.opendocument.formula":["odf"],"application/vnd.oasis.opendocument.formula-template":["odft"],"application/vnd.oasis.opendocument.graphics":["odg"],"application/vnd.oasis.opendocument.graphics-template":["otg"],"application/vnd.oasis.opendocument.image":["odi"],"application/vnd.oasis.opendocument.image-template":["oti"],"application/vnd.oasis.opendocument.presentation":["odp"],"application/vnd.oasis.opendocument.presentation-template":["otp"],"application/vnd.oasis.opendocument.spreadsheet":["ods"],"application/vnd.oasis.opendocument.spreadsheet-template":["ots"],"application/vnd.oasis.opendocument.text":["odt"],"application/vnd.oasis.opendocument.text-master":["odm"],"application/vnd.oasis.opendocument.text-template":["ott"],"application/vnd.oasis.opendocument.text-web":["oth"],"application/vnd.olpc-sugar":["xo"],"application/vnd.oma.dd2+xml":["dd2"],"application/vnd.openofficeorg.extension":["oxt"],"application/vnd.openxmlformats-officedocument.presentationml.presentation":["pptx"],"application/vnd.openxmlformats-officedocument.presentationml.slide":["sldx"],"application/vnd.openxmlformats-officedocument.presentationml.slideshow":["ppsx"],"application/vnd.openxmlformats-officedocument.presentationml.template":["potx"],"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":["xlsx"],"application/vnd.openxmlformats-officedocument.spreadsheetml.template":["xltx"],"application/vnd.openxmlformats-officedocument.wordprocessingml.document":["docx"],"application/vnd.openxmlformats-officedocument.wordprocessingml.template":["dotx"],"application/vnd.osgeo.mapguide.package":["mgp"],"application/vnd.osgi.dp":["dp"],"application/vnd.osgi.subsystem":["esa"],"application/vnd.palm":["pdb","pqa","oprc"],"application/vnd.pawaafile":["paw"],"application/vnd.pg.format":["str"],"application/vnd.pg.osasli":["ei6"],"application/vnd.picsel":["efif"],"application/vnd.pmi.widget":["wg"],"application/vnd.pocketlearn":["plf"],"application/vnd.powerbuilder6":["pbd"],"application/vnd.previewsystems.box":["box"],"application/vnd.proteus.magazine":["mgz"],"application/vnd.publishare-delta-tree":["qps"],"application/vnd.pvi.ptid1":["ptid"],"application/vnd.quark.quarkxpress":["qxd","qxt","qwd","qwt","qxl","qxb"],"application/vnd.realvnc.bed":["bed"],"application/vnd.recordare.musicxml":["mxl"],"application/vnd.recordare.musicxml+xml":["musicxml"],"application/vnd.rig.cryptonote":["cryptonote"],"application/vnd.rim.cod":["cod"],"application/vnd.rn-realmedia":["rm"],"application/vnd.rn-realmedia-vbr":["rmvb"],"application/vnd.route66.link66+xml":["link66"],"application/vnd.sailingtracker.track":["st"],"application/vnd.seemail":["see"],"application/vnd.sema":["sema"],"application/vnd.semd":["semd"],"application/vnd.semf":["semf"],"application/vnd.shana.informed.formdata":["ifm"],"application/vnd.shana.informed.formtemplate":["itp"],"application/vnd.shana.informed.interchange":["iif"],"application/vnd.shana.informed.package":["ipk"],"application/vnd.simtech-mindmapper":["twd","twds"],"application/vnd.smaf":["mmf"],"application/vnd.smart.teacher":["teacher"],"application/vnd.solent.sdkm+xml":["sdkm","sdkd"],"application/vnd.spotfire.dxp":["dxp"],"application/vnd.spotfire.sfs":["sfs"],"application/vnd.stardivision.calc":["sdc"],"application/vnd.stardivision.draw":["sda"],"application/vnd.stardivision.impress":["sdd"],"application/vnd.stardivision.math":["smf"],"application/vnd.stardivision.writer":["sdw","vor"],"application/vnd.stardivision.writer-global":["sgl"],"application/vnd.stepmania.package":["smzip"],"application/vnd.stepmania.stepchart":["sm"],"application/vnd.sun.wadl+xml":["wadl"],"application/vnd.sun.xml.calc":["sxc"],"application/vnd.sun.xml.calc.template":["stc"],"application/vnd.sun.xml.draw":["sxd"],"application/vnd.sun.xml.draw.template":["std"],"application/vnd.sun.xml.impress":["sxi"],"application/vnd.sun.xml.impress.template":["sti"],"application/vnd.sun.xml.math":["sxm"],"application/vnd.sun.xml.writer":["sxw"],"application/vnd.sun.xml.writer.global":["sxg"],"application/vnd.sun.xml.writer.template":["stw"],"application/vnd.sus-calendar":["sus","susp"],"application/vnd.svd":["svd"],"application/vnd.symbian.install":["sis","sisx"],"application/vnd.syncml+xml":["xsm"],"application/vnd.syncml.dm+wbxml":["bdm"],"application/vnd.syncml.dm+xml":["xdm"],"application/vnd.tao.intent-module-archive":["tao"],"application/vnd.tcpdump.pcap":["pcap","cap","dmp"],"application/vnd.tmobile-livetv":["tmo"],"application/vnd.trid.tpt":["tpt"],"application/vnd.triscape.mxs":["mxs"],"application/vnd.trueapp":["tra"],"application/vnd.ufdl":["ufd","ufdl"],"application/vnd.uiq.theme":["utz"],"application/vnd.umajin":["umj"],"application/vnd.unity":["unityweb"],"application/vnd.uoml+xml":["uoml"],"application/vnd.vcx":["vcx"],"application/vnd.visio":["vsd","vst","vss","vsw"],"application/vnd.visionary":["vis"],"application/vnd.vsf":["vsf"],"application/vnd.wap.wbxml":["wbxml"],"application/vnd.wap.wmlc":["wmlc"],"application/vnd.wap.wmlscriptc":["wmlsc"],"application/vnd.webturbo":["wtb"],"application/vnd.wolfram.player":["nbp"],"application/vnd.wordperfect":["wpd"],"application/vnd.wqd":["wqd"],"application/vnd.wt.stf":["stf"],"application/vnd.xara":["xar"],"application/vnd.xfdl":["xfdl"],"application/vnd.yamaha.hv-dic":["hvd"],"application/vnd.yamaha.hv-script":["hvs"],"application/vnd.yamaha.hv-voice":["hvp"],"application/vnd.yamaha.openscoreformat":["osf"],"application/vnd.yamaha.openscoreformat.osfpvg+xml":["osfpvg"],"application/vnd.yamaha.smaf-audio":["saf"],"application/vnd.yamaha.smaf-phrase":["spf"],"application/vnd.yellowriver-custom-menu":["cmp"],"application/vnd.zul":["zir","zirz"],"application/vnd.zzazz.deck+xml":["zaz"],"application/voicexml+xml":["vxml"],"application/wasm":["wasm"],"application/widget":["wgt"],"application/winhlp":["hlp"],"application/wsdl+xml":["wsdl"],"application/wspolicy+xml":["wspolicy"],"application/x-7z-compressed":["7z"],"application/x-abiword":["abw"],"application/x-ace-compressed":["ace"],"application/x-apple-diskimage":[],"application/x-arj":["arj"],"application/x-authorware-bin":["aab","x32","u32","vox"],"application/x-authorware-map":["aam"],"application/x-authorware-seg":["aas"],"application/x-bcpio":["bcpio"],"application/x-bdoc":[],"application/x-bittorrent":["torrent"],"application/x-blorb":["blb","blorb"],"application/x-bzip":["bz"],"application/x-bzip2":["bz2","boz"],"application/x-cbr":["cbr","cba","cbt","cbz","cb7"],"application/x-cdlink":["vcd"],"application/x-cfs-compressed":["cfs"],"application/x-chat":["chat"],"application/x-chess-pgn":["pgn"],"application/x-chrome-extension":["crx"],"application/x-cocoa":["cco"],"application/x-conference":["nsc"],"application/x-cpio":["cpio"],"application/x-csh":["csh"],"application/x-debian-package":["udeb"],"application/x-dgc-compressed":["dgc"],"application/x-director":["dir","dcr","dxr","cst","cct","cxt","w3d","fgd","swa"],"application/x-doom":["wad"],"application/x-dtbncx+xml":["ncx"],"application/x-dtbook+xml":["dtb"],"application/x-dtbresource+xml":["res"],"application/x-dvi":["dvi"],"application/x-envoy":["evy"],"application/x-eva":["eva"],"application/x-font-bdf":["bdf"],"application/x-font-ghostscript":["gsf"],"application/x-font-linux-psf":["psf"],"application/x-font-pcf":["pcf"],"application/x-font-snf":["snf"],"application/x-font-type1":["pfa","pfb","pfm","afm"],"application/x-freearc":["arc"],"application/x-futuresplash":["spl"],"application/x-gca-compressed":["gca"],"application/x-glulx":["ulx"],"application/x-gnumeric":["gnumeric"],"application/x-gramps-xml":["gramps"],"application/x-gtar":["gtar"],"application/x-hdf":["hdf"],"application/x-httpd-php":["php"],"application/x-install-instructions":["install"],"application/x-iso9660-image":[],"application/x-java-archive-diff":["jardiff"],"application/x-java-jnlp-file":["jnlp"],"application/x-latex":["latex"],"application/x-lua-bytecode":["luac"],"application/x-lzh-compressed":["lzh","lha"],"application/x-makeself":["run"],"application/x-mie":["mie"],"application/x-mobipocket-ebook":["prc","mobi"],"application/x-ms-application":["application"],"application/x-ms-shortcut":["lnk"],"application/x-ms-wmd":["wmd"],"application/x-ms-wmz":["wmz"],"application/x-ms-xbap":["xbap"],"application/x-msaccess":["mdb"],"application/x-msbinder":["obd"],"application/x-mscardfile":["crd"],"application/x-msclip":["clp"],"application/x-msdos-program":[],"application/x-msdownload":["com","bat"],"application/x-msmediaview":["mvb","m13","m14"],"application/x-msmetafile":["wmf","emf","emz"],"application/x-msmoney":["mny"],"application/x-mspublisher":["pub"],"application/x-msschedule":["scd"],"application/x-msterminal":["trm"],"application/x-mswrite":["wri"],"application/x-netcdf":["nc","cdf"],"application/x-ns-proxy-autoconfig":["pac"],"application/x-nzb":["nzb"],"application/x-perl":["pl","pm"],"application/x-pilot":[],"application/x-pkcs12":["p12","pfx"],"application/x-pkcs7-certificates":["p7b","spc"],"application/x-pkcs7-certreqresp":["p7r"],"application/x-rar-compressed":["rar"],"application/x-redhat-package-manager":["rpm"],"application/x-research-info-systems":["ris"],"application/x-sea":["sea"],"application/x-sh":["sh"],"application/x-shar":["shar"],"application/x-shockwave-flash":["swf"],"application/x-silverlight-app":["xap"],"application/x-sql":["sql"],"application/x-stuffit":["sit"],"application/x-stuffitx":["sitx"],"application/x-subrip":["srt"],"application/x-sv4cpio":["sv4cpio"],"application/x-sv4crc":["sv4crc"],"application/x-t3vm-image":["t3"],"application/x-tads":["gam"],"application/x-tar":["tar"],"application/x-tcl":["tcl","tk"],"application/x-tex":["tex"],"application/x-tex-tfm":["tfm"],"application/x-texinfo":["texinfo","texi"],"application/x-tgif":["obj"],"application/x-ustar":["ustar"],"application/x-virtualbox-hdd":["hdd"],"application/x-virtualbox-ova":["ova"],"application/x-virtualbox-ovf":["ovf"],"application/x-virtualbox-vbox":["vbox"],"application/x-virtualbox-vbox-extpack":["vbox-extpack"],"application/x-virtualbox-vdi":["vdi"],"application/x-virtualbox-vhd":["vhd"],"application/x-virtualbox-vmdk":["vmdk"],"application/x-wais-source":["src"],"application/x-web-app-manifest+json":["webapp"],"application/x-x509-ca-cert":["der","crt","pem"],"application/x-xfig":["fig"],"application/x-xliff+xml":["xlf"],"application/x-xpinstall":["xpi"],"application/x-xz":["xz"],"application/x-zmachine":["z1","z2","z3","z4","z5","z6","z7","z8"],"application/xaml+xml":["xaml"],"application/xcap-diff+xml":["xdf"],"application/xenc+xml":["xenc"],"application/xhtml+xml":["xhtml","xht"],"application/xml":["xml","xsl","xsd","rng"],"application/xml-dtd":["dtd"],"application/xop+xml":["xop"],"application/xproc+xml":["xpl"],"application/xslt+xml":["xslt"],"application/xspf+xml":["xspf"],"application/xv+xml":["mxml","xhvml","xvml","xvm"],"application/yang":["yang"],"application/yin+xml":["yin"],"application/zip":["zip"],"audio/3gpp":[],"audio/adpcm":["adp"],"audio/basic":["au","snd"],"audio/midi":["mid","midi","kar","rmi"],"audio/mp3":[],"audio/mp4":["m4a","mp4a"],"audio/mpeg":["mpga","mp2","mp2a","mp3","m2a","m3a"],"audio/ogg":["oga","ogg","spx"],"audio/s3m":["s3m"],"audio/silk":["sil"],"audio/vnd.dece.audio":["uva","uvva"],"audio/vnd.digital-winds":["eol"],"audio/vnd.dra":["dra"],"audio/vnd.dts":["dts"],"audio/vnd.dts.hd":["dtshd"],"audio/vnd.lucent.voice":["lvp"],"audio/vnd.ms-playready.media.pya":["pya"],"audio/vnd.nuera.ecelp4800":["ecelp4800"],"audio/vnd.nuera.ecelp7470":["ecelp7470"],"audio/vnd.nuera.ecelp9600":["ecelp9600"],"audio/vnd.rip":["rip"],"audio/wav":["wav"],"audio/wave":[],"audio/webm":["weba"],"audio/x-aac":["aac"],"audio/x-aiff":["aif","aiff","aifc"],"audio/x-caf":["caf"],"audio/x-flac":["flac"],"audio/x-m4a":[],"audio/x-matroska":["mka"],"audio/x-mpegurl":["m3u"],"audio/x-ms-wax":["wax"],"audio/x-ms-wma":["wma"],"audio/x-pn-realaudio":["ram","ra"],"audio/x-pn-realaudio-plugin":["rmp"],"audio/x-realaudio":[],"audio/x-wav":[],"audio/xm":["xm"],"chemical/x-cdx":["cdx"],"chemical/x-cif":["cif"],"chemical/x-cmdf":["cmdf"],"chemical/x-cml":["cml"],"chemical/x-csml":["csml"],"chemical/x-xyz":["xyz"],"font/collection":["ttc"],"font/otf":["otf"],"font/ttf":["ttf"],"font/woff":["woff"],"font/woff2":["woff2"],"image/apng":["apng"],"image/bmp":["bmp"],"image/cgm":["cgm"],"image/g3fax":["g3"],"image/gif":["gif"],"image/ief":["ief"],"image/jp2":["jp2","jpg2"],"image/jpeg":["jpeg","jpg","jpe"],"image/jpm":["jpm"],"image/jpx":["jpx","jpf"],"image/ktx":["ktx"],"image/png":["png"],"image/prs.btif":["btif"],"image/sgi":["sgi"],"image/svg+xml":["svg","svgz"],"image/tiff":["tiff","tif"],"image/vnd.adobe.photoshop":["psd"],"image/vnd.dece.graphic":["uvi","uvvi","uvg","uvvg"],"image/vnd.djvu":["djvu","djv"],"image/vnd.dvb.subtitle":[],"image/vnd.dwg":["dwg"],"image/vnd.dxf":["dxf"],"image/vnd.fastbidsheet":["fbs"],"image/vnd.fpx":["fpx"],"image/vnd.fst":["fst"],"image/vnd.fujixerox.edmics-mmr":["mmr"],"image/vnd.fujixerox.edmics-rlc":["rlc"],"image/vnd.ms-modi":["mdi"],"image/vnd.ms-photo":["wdp"],"image/vnd.net-fpx":["npx"],"image/vnd.wap.wbmp":["wbmp"],"image/vnd.xiff":["xif"],"image/webp":["webp"],"image/x-3ds":["3ds"],"image/x-cmu-raster":["ras"],"image/x-cmx":["cmx"],"image/x-freehand":["fh","fhc","fh4","fh5","fh7"],"image/x-icon":["ico"],"image/x-jng":["jng"],"image/x-mrsid-image":["sid"],"image/x-ms-bmp":[],"image/x-pcx":["pcx"],"image/x-pict":["pic","pct"],"image/x-portable-anymap":["pnm"],"image/x-portable-bitmap":["pbm"],"image/x-portable-graymap":["pgm"],"image/x-portable-pixmap":["ppm"],"image/x-rgb":["rgb"],"image/x-tga":["tga"],"image/x-xbitmap":["xbm"],"image/x-xpixmap":["xpm"],"image/x-xwindowdump":["xwd"],"message/rfc822":["eml","mime"],"model/gltf+json":["gltf"],"model/gltf-binary":["glb"],"model/iges":["igs","iges"],"model/mesh":["msh","mesh","silo"],"model/vnd.collada+xml":["dae"],"model/vnd.dwf":["dwf"],"model/vnd.gdl":["gdl"],"model/vnd.gtw":["gtw"],"model/vnd.mts":["mts"],"model/vnd.vtu":["vtu"],"model/vrml":["wrl","vrml"],"model/x3d+binary":["x3db","x3dbz"],"model/x3d+vrml":["x3dv","x3dvz"],"model/x3d+xml":["x3d","x3dz"],"text/cache-manifest":["appcache","manifest"],"text/calendar":["ics","ifb"],"text/coffeescript":["coffee","litcoffee"],"text/css":["css"],"text/csv":["csv"],"text/hjson":["hjson"],"text/html":["html","htm","shtml"],"text/jade":["jade"],"text/jsx":["jsx"],"text/less":["less"],"text/markdown":["markdown","md"],"text/mathml":["mml"],"text/n3":["n3"],"text/plain":["txt","text","conf","def","list","log","in","ini"],"text/prs.lines.tag":["dsc"],"text/richtext":["rtx"],"text/rtf":[],"text/sgml":["sgml","sgm"],"text/slim":["slim","slm"],"text/stylus":["stylus","styl"],"text/tab-separated-values":["tsv"],"text/troff":["t","tr","roff","man","me","ms"],"text/turtle":["ttl"],"text/uri-list":["uri","uris","urls"],"text/vcard":["vcard"],"text/vnd.curl":["curl"],"text/vnd.curl.dcurl":["dcurl"],"text/vnd.curl.mcurl":["mcurl"],"text/vnd.curl.scurl":["scurl"],"text/vnd.dvb.subtitle":["sub"],"text/vnd.fly":["fly"],"text/vnd.fmi.flexstor":["flx"],"text/vnd.graphviz":["gv"],"text/vnd.in3d.3dml":["3dml"],"text/vnd.in3d.spot":["spot"],"text/vnd.sun.j2me.app-descriptor":["jad"],"text/vnd.wap.wml":["wml"],"text/vnd.wap.wmlscript":["wmls"],"text/vtt":["vtt"],"text/x-asm":["s","asm"],"text/x-c":["c","cc","cxx","cpp","h","hh","dic"],"text/x-component":["htc"],"text/x-fortran":["f","for","f77","f90"],"text/x-handlebars-template":["hbs"],"text/x-java-source":["java"],"text/x-lua":["lua"],"text/x-markdown":["mkd"],"text/x-nfo":["nfo"],"text/x-opml":["opml"],"text/x-org":[],"text/x-pascal":["p","pas"],"text/x-processing":["pde"],"text/x-sass":["sass"],"text/x-scss":["scss"],"text/x-setext":["etx"],"text/x-sfv":["sfv"],"text/x-suse-ymp":["ymp"],"text/x-uuencode":["uu"],"text/x-vcalendar":["vcs"],"text/x-vcard":["vcf"],"text/xml":[],"text/yaml":["yaml","yml"],"video/3gpp":["3gp","3gpp"],"video/3gpp2":["3g2"],"video/h261":["h261"],"video/h263":["h263"],"video/h264":["h264"],"video/jpeg":["jpgv"],"video/jpm":["jpgm"],"video/mj2":["mj2","mjp2"],"video/mp2t":["ts"],"video/mp4":["mp4","mp4v","mpg4"],"video/mpeg":["mpeg","mpg","mpe","m1v","m2v"],"video/ogg":["ogv"],"video/quicktime":["qt","mov"],"video/vnd.dece.hd":["uvh","uvvh"],"video/vnd.dece.mobile":["uvm","uvvm"],"video/vnd.dece.pd":["uvp","uvvp"],"video/vnd.dece.sd":["uvs","uvvs"],"video/vnd.dece.video":["uvv","uvvv"],"video/vnd.dvb.file":["dvb"],"video/vnd.fvt":["fvt"],"video/vnd.mpegurl":["mxu","m4u"],"video/vnd.ms-playready.media.pyv":["pyv"],"video/vnd.uvvu.mp4":["uvu","uvvu"],"video/vnd.vivo":["viv"],"video/webm":["webm"],"video/x-f4v":["f4v"],"video/x-fli":["fli"],"video/x-flv":["flv"],"video/x-m4v":["m4v"],"video/x-matroska":["mkv","mk3d","mks"],"video/x-mng":["mng"],"video/x-ms-asf":["asf","asx"],"video/x-ms-vob":["vob"],"video/x-ms-wm":["wm"],"video/x-ms-wmv":["wmv"],"video/x-ms-wmx":["wmx"],"video/x-ms-wvx":["wvx"],"video/x-msvideo":["avi"],"video/x-sgi-movie":["movie"],"video/x-smv":["smv"],"x-conference/x-cooltalk":["ice"]}});var mC=y((_le,fC)=>{var ble=A("path"),f7=A("fs");function ja(){this.types=Object.create(null),this.extensions=Object.create(null)}ja.prototype.define=function(t){for(var e in t){for(var r=t[e],n=0;n<r.length;n++)process.env.DEBUG_MIME&&this.types[r[n]]&&console.warn((this._loading||"define()").replace(/.*\//,""),'changes "'+r[n]+'" extension type from '+this.types[r[n]]+" to "+e),this.types[r[n]]=e;this.extensions[e]||(this.extensions[e]=r[0])}};ja.prototype.load=function(t){this._loading=t;var e={},r=f7.readFileSync(t,"ascii"),n=r.split(/[\r\n]+/);n.forEach(function(i){var a=i.replace(/\s*#.*|^\s*|\s*$/g,"").split(/\s+/);e[a.shift()]=a}),this.define(e),this._loading=null};ja.prototype.lookup=function(t,e){var r=t.replace(/^.*[\.\/\\]/,"").toLowerCase();return this.types[r]||e||this.default_type};ja.prototype.extension=function(t){var e=t.match(/^\s*([^;\s]*)(?:;|\s|$)/)[1].toLowerCase();return this.extensions[e]};var Ra=new ja;Ra.define(dC());Ra.default_type=Ra.lookup("bin");Ra.Mime=ja;Ra.charsets={lookup:function(t,e){return/^text\/|^application\/(javascript|json)/.test(t)?"UTF-8":e}};fC.exports=Ra});var gC=y((wle,hC)=>{var Da=1e3,Oa=Da*60,Na=Oa*60,hi=Na*24,m7=hi*7,h7=hi*365.25;hC.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return g7(t);if(r==="number"&&isFinite(t))return e.long?y7(t):v7(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function g7(t){if(t=String(t),!(t.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(t);if(e){var r=parseFloat(e[1]),n=(e[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*h7;case"weeks":case"week":case"w":return r*m7;case"days":case"day":case"d":return r*hi;case"hours":case"hour":case"hrs":case"hr":case"h":return r*Na;case"minutes":case"minute":case"mins":case"min":case"m":return r*Oa;case"seconds":case"second":case"secs":case"sec":case"s":return r*Da;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function v7(t){var e=Math.abs(t);return e>=hi?Math.round(t/hi)+"d":e>=Na?Math.round(t/Na)+"h":e>=Oa?Math.round(t/Oa)+"m":e>=Da?Math.round(t/Da)+"s":t+"ms"}function y7(t){var e=Math.abs(t);return e>=hi?td(t,e,hi,"day"):e>=Na?td(t,e,Na,"hour"):e>=Oa?td(t,e,Oa,"minute"):e>=Da?td(t,e,Da,"second"):t+" ms"}function td(t,e,r,n){var i=e>=r*1.5;return Math.round(t/r)+" "+n+(i?"s":"")}});var kb=y((Sle,vC)=>{"use strict";vC.exports=x7;function x7(t,e,r){if(typeof e!="string")throw new TypeError("argument str must be a string");var n=e.indexOf("=");if(n===-1)return-2;var i=e.slice(n+1).split(","),a=[];a.type=e.slice(0,n);for(var o=0;o<i.length;o++){var s=i[o].split("-"),c=parseInt(s[0],10),l=parseInt(s[1],10);isNaN(c)?(c=t-l,l=t-1):isNaN(l)&&(l=t-1),l>t-1&&(l=t-1),!(isNaN(c)||isNaN(l)||c>l||c<0)&&a.push({start:c,end:l})}return a.length<1?-1:r&&r.combine?b7(a):a}function b7(t){for(var e=t.map(_7).sort(k7),r=0,n=1;n<e.length;n++){var i=e[n],a=e[r];i.start>a.end+1?e[++r]=i:i.end>a.end&&(a.end=i.end,a.index=Math.min(a.index,i.index))}e.length=r+1;var o=e.sort(S7).map(w7);return o.type=t.type,o}function _7(t,e){return{start:t.start,end:t.end,index:e}}function w7(t){return{start:t.start,end:t.end}}function S7(t,e){return t.index-e.index}function k7(t,e){return t.start-e.start}});var ad=y((kle,Cb)=>{"use strict";var $b=ni(),je=Yt()("send"),gi=Ir()("send"),$7=rx(),I7=dc(),bC=fc(),P7=wb(),E7=Sb(),nd=A("fs"),Pb=mC(),_C=gC(),T7=Xs(),C7=kb(),vc=A("path"),z7=Ls(),wC=A("stream"),R7=A("util"),j7=vc.extname,SC=vc.join,Ib=vc.normalize,Tb=vc.resolve,rd=vc.sep,D7=/^ *bytes=/,kC=60*60*24*365*1e3,yC=/(?:^|[\\/])\.\.(?:[\\/]|$)/;Cb.exports=O7;Cb.exports.mime=Pb;function O7(t,e,r){return new fe(t,e,r)}function fe(t,e,r){wC.call(this);var n=r||{};if(this.options=n,this.path=e,this.req=t,this._acceptRanges=n.acceptRanges!==void 0?!!n.acceptRanges:!0,this._cacheControl=n.cacheControl!==void 0?!!n.cacheControl:!0,this._etag=n.etag!==void 0?!!n.etag:!0,this._dotfiles=n.dotfiles!==void 0?n.dotfiles:"ignore",this._dotfiles!=="ignore"&&this._dotfiles!=="allow"&&this._dotfiles!=="deny")throw new TypeError('dotfiles option must be "allow", "deny", or "ignore"');this._hidden=!!n.hidden,n.hidden!==void 0&&gi("hidden: use dotfiles: '"+(this._hidden?"allow":"ignore")+"' instead"),n.dotfiles===void 0&&(this._dotfiles=void 0),this._extensions=n.extensions!==void 0?Eb(n.extensions,"extensions option"):[],this._immutable=n.immutable!==void 0?!!n.immutable:!1,this._index=n.index!==void 0?Eb(n.index,"index option"):["index.html"],this._lastModified=n.lastModified!==void 0?!!n.lastModified:!0,this._maxage=n.maxAge||n.maxage,this._maxage=typeof this._maxage=="string"?_C(this._maxage):Number(this._maxage),this._maxage=isNaN(this._maxage)?0:Math.min(Math.max(0,this._maxage),kC),this._root=n.root?Tb(n.root):null,!this._root&&n.from&&this.from(n.from)}R7.inherits(fe,wC);fe.prototype.etag=gi.function(function(e){return this._etag=!!e,je("etag %s",this._etag),this},"send.etag: pass etag as option");fe.prototype.hidden=gi.function(function(e){return this._hidden=!!e,this._dotfiles=void 0,je("hidden %s",this._hidden),this},"send.hidden: use dotfiles option");fe.prototype.index=gi.function(function(e){var r=e?Eb(e,"paths argument"):[];return je("index %o",e),this._index=r,this},"send.index: pass index as option");fe.prototype.root=function(e){return this._root=Tb(String(e)),je("root %s",this._root),this};fe.prototype.from=gi.function(fe.prototype.root,"send.from: pass root as option");fe.prototype.root=gi.function(fe.prototype.root,"send.root: pass root as option");fe.prototype.maxage=gi.function(function(e){return this._maxage=typeof e=="string"?_C(e):Number(e),this._maxage=isNaN(this._maxage)?0:Math.min(Math.max(0,this._maxage),kC),je("max-age %d",this._maxage),this},"send.maxage: pass maxAge as option");fe.prototype.error=function(e,r){if(IC(this,"error"))return this.emit("error",U7(e,r));var n=this.res,i=z7.message[e]||String(e),a=$C("Error",bC(i));N7(n),r&&r.headers&&H7(n,r.headers),n.statusCode=e,n.setHeader("Content-Type","text/html; charset=UTF-8"),n.setHeader("Content-Length",Buffer.byteLength(a)),n.setHeader("Content-Security-Policy","default-src 'none'"),n.setHeader("X-Content-Type-Options","nosniff"),n.end(a)};fe.prototype.hasTrailingSlash=function(){return this.path[this.path.length-1]==="/"};fe.prototype.isConditionalGET=function(){return this.req.headers["if-match"]||this.req.headers["if-unmodified-since"]||this.req.headers["if-none-match"]||this.req.headers["if-modified-since"]};fe.prototype.isPreconditionFailure=function(){var e=this.req,r=this.res,n=e.headers["if-match"];if(n){var i=r.getHeader("ETag");return!i||n!=="*"&&Z7(n).every(function(s){return s!==i&&s!=="W/"+i&&"W/"+s!==i})}var a=id(e.headers["if-unmodified-since"]);if(!isNaN(a)){var o=id(r.getHeader("Last-Modified"));return isNaN(o)||o>a}return!1};fe.prototype.removeContentHeaderFields=function(){var e=this.res;e.removeHeader("Content-Encoding"),e.removeHeader("Content-Language"),e.removeHeader("Content-Length"),e.removeHeader("Content-Range"),e.removeHeader("Content-Type")};fe.prototype.notModified=function(){var e=this.res;je("not modified"),this.removeContentHeaderFields(),e.statusCode=304,e.end()};fe.prototype.headersAlreadySent=function(){var e=new Error("Can't set headers after they are sent.");je("headers already sent"),this.error(500,e)};fe.prototype.isCachable=function(){var e=this.res.statusCode;return e>=200&&e<300||e===304};fe.prototype.onStatError=function(e){switch(e.code){case"ENAMETOOLONG":case"ENOENT":case"ENOTDIR":this.error(404,e);break;default:this.error(500,e);break}};fe.prototype.isFresh=function(){return E7(this.req.headers,{etag:this.res.getHeader("ETag"),"last-modified":this.res.getHeader("Last-Modified")})};fe.prototype.isRangeFresh=function(){var e=this.req.headers["if-range"];if(!e)return!0;if(e.indexOf('"')!==-1){var r=this.res.getHeader("ETag");return!!(r&&e.indexOf(r)!==-1)}var n=this.res.getHeader("Last-Modified");return id(n)<=id(e)};fe.prototype.redirect=function(e){var r=this.res;if(IC(this,"directory")){this.emit("directory",r,e);return}if(this.hasTrailingSlash()){this.error(403);return}var n=I7(A7(this.path+"/")),i=$C("Redirecting","Redirecting to "+bC(n));r.statusCode=301,r.setHeader("Content-Type","text/html; charset=UTF-8"),r.setHeader("Content-Length",Buffer.byteLength(i)),r.setHeader("Content-Security-Policy","default-src 'none'"),r.setHeader("X-Content-Type-Options","nosniff"),r.setHeader("Location",n),r.end(i)};fe.prototype.pipe=function(e){var r=this._root;this.res=e;var n=F7(this.path);if(n===-1)return this.error(400),e;if(~n.indexOf("\0"))return this.error(400),e;var i;if(r!==null){if(n&&(n=Ib("."+rd+n)),yC.test(n))return je('malicious path "%s"',n),this.error(403),e;i=n.split(rd),n=Ib(SC(r,n))}else{if(yC.test(n))return je('malicious path "%s"',n),this.error(403),e;i=Ib(n).split(rd),n=Tb(n)}if(M7(i)){var a=this._dotfiles;switch(a===void 0&&(a=i[i.length-1][0]==="."?this._hidden?"allow":"ignore":"allow"),je('%s dotfile "%s"',a,n),a){case"allow":break;case"deny":return this.error(403),e;case"ignore":default:return this.error(404),e}}return this._index.length&&this.hasTrailingSlash()?(this.sendIndex(n),e):(this.sendFile(n),e)};fe.prototype.send=function(e,r){var n=r.size,i=this.options,a={},o=this.res,s=this.req,c=s.headers.range,l=i.start||0;if(L7(o)){this.headersAlreadySent();return}if(je('pipe "%s"',e),this.setHeader(e,r),this.type(e),this.isConditionalGET()){if(this.isPreconditionFailure()){this.error(412);return}if(this.isCachable()&&this.isFresh()){this.notModified();return}}if(n=Math.max(0,n-l),i.end!==void 0){var u=i.end-l+1;n>u&&(n=u)}if(this._acceptRanges&&D7.test(c)){if(c=C7(n,c,{combine:!0}),this.isRangeFresh()||(je("range stale"),c=-2),c===-1)return je("range unsatisfiable"),o.setHeader("Content-Range",xC("bytes",n)),this.error(416,{headers:{"Content-Range":o.getHeader("Content-Range")}});c!==-2&&c.length===1&&(je("range %j",c),o.statusCode=206,o.setHeader("Content-Range",xC("bytes",n,c[0])),l+=c[0].start,n=c[0].end-c[0].start+1)}for(var p in i)a[p]=i[p];if(a.start=l,a.end=Math.max(l,l+n-1),o.setHeader("Content-Length",n),s.method==="HEAD"){o.end();return}this.stream(e,a)};fe.prototype.sendFile=function(e){var r=0,n=this;je('stat "%s"',e),nd.stat(e,function(o,s){if(o&&o.code==="ENOENT"&&!j7(e)&&e[e.length-1]!==rd)return i(o);if(o)return n.onStatError(o);if(s.isDirectory())return n.redirect(e);n.emit("file",e,s),n.send(e,s)});function i(a){if(n._extensions.length<=r)return a?n.onStatError(a):n.error(404);var o=e+"."+n._extensions[r++];je('stat "%s"',o),nd.stat(o,function(s,c){if(s)return i(s);if(c.isDirectory())return i();n.emit("file",o,c),n.send(o,c)})}};fe.prototype.sendIndex=function(e){var r=-1,n=this;function i(a){if(++r>=n._index.length)return a?n.onStatError(a):n.error(404);var o=SC(e,n._index[r]);je('stat "%s"',o),nd.stat(o,function(s,c){if(s)return i(s);if(c.isDirectory())return i();n.emit("file",o,c),n.send(o,c)})}i()};fe.prototype.stream=function(e,r){var n=this,i=this.res,a=nd.createReadStream(e,r);this.emit("stream",a),a.pipe(i);function o(){$7(a,!0)}T7(i,o),a.on("error",function(c){o(),n.onStatError(c)}),a.on("end",function(){n.emit("end")})};fe.prototype.type=function(e){var r=this.res;if(!r.getHeader("Content-Type")){var n=Pb.lookup(e);if(!n){je("no content-type");return}var i=Pb.charsets.lookup(n);je("content-type %s",n),r.setHeader("Content-Type",n+(i?"; charset="+i:""))}};fe.prototype.setHeader=function(e,r){var n=this.res;if(this.emit("headers",n,e,r),this._acceptRanges&&!n.getHeader("Accept-Ranges")&&(je("accept ranges"),n.setHeader("Accept-Ranges","bytes")),this._cacheControl&&!n.getHeader("Cache-Control")){var i="public, max-age="+Math.floor(this._maxage/1e3);this._immutable&&(i+=", immutable"),je("cache-control %s",i),n.setHeader("Cache-Control",i)}if(this._lastModified&&!n.getHeader("Last-Modified")){var a=r.mtime.toUTCString();je("modified %s",a),n.setHeader("Last-Modified",a)}if(this._etag&&!n.getHeader("ETag")){var o=P7(r);je("etag %s",o),n.setHeader("ETag",o)}};function N7(t){for(var e=q7(t),r=0;r<e.length;r++)t.removeHeader(e[r])}function A7(t){for(var e=0;e<t.length&&t[e]==="/";e++);return e>1?"/"+t.substr(e):t}function M7(t){for(var e=0;e<t.length;e++){var r=t[e];if(r.length>1&&r[0]===".")return!0}return!1}function xC(t,e,r){return t+" "+(r?r.start+"-"+r.end:"*")+"/"+e}function $C(t,e){return`<!DOCTYPE html>
|
|
39
|
+
`}b4.exports=tH;function tH(t,e,r){var n=r||{},i=n.env||process.env.NODE_ENV||"development",a=n.onerror;return function(o){var s,c,l;if(!o&&v4(e)){fb("cannot 404 after headers sent");return}if(o?(l=iH(o),l===void 0?l=oH(e):s=rH(o),c=nH(o,l,i)):(l=404,c="Cannot "+t.method+" "+VZ(aH(t))),fb("default %s",l),o&&a&&YZ(a,o,t,e),v4(e)){fb("cannot %d after headers sent",l),t.socket&&t.socket.destroy();return}sH(t,e,l,s,c)}}function rH(t){if(!(!t.headers||typeof t.headers!="object")){for(var e=Object.create(null),r=Object.keys(t.headers),n=0;n<r.length;n++){var i=r[n];e[i]=t.headers[i]}return e}}function nH(t,e,r){var n;return r!=="production"&&(n=t.stack,!n&&typeof t.toString=="function"&&(n=t.toString())),n||x4.message[e]}function iH(t){if(typeof t.status=="number"&&t.status>=400&&t.status<600)return t.status;if(typeof t.statusCode=="number"&&t.statusCode>=400&&t.statusCode<600)return t.statusCode}function aH(t){try{return JZ.original(t).pathname}catch{return"resource"}}function oH(t){var e=t.statusCode;return(typeof e!="number"||e<400||e>599)&&(e=500),e}function v4(t){return typeof t.headersSent!="boolean"?!!t._header:t.headersSent}function sH(t,e,r,n,i){function a(){var o=eH(i);if(e.statusCode=r,t.httpVersionMajor<2&&(e.statusMessage=x4.message[r]),e.removeHeader("Content-Encoding"),e.removeHeader("Content-Language"),e.removeHeader("Content-Range"),cH(e,n),e.setHeader("Content-Security-Policy","default-src 'none'"),e.setHeader("X-Content-Type-Options","nosniff"),e.setHeader("Content-Type","text/html; charset=utf-8"),e.setHeader("Content-Length",Buffer.byteLength(o,"utf8")),t.method==="HEAD"){e.end();return}e.end(o,"utf8")}if(QZ(t)){a();return}GZ(t),y4(t,a),t.resume()}function cH(t,e){if(e)for(var r=Object.keys(e),n=0;n<r.length;n++){var i=r[n];t.setHeader(i,e[i])}}});var mc=y((ole,k4)=>{"use strict";k4.exports=lH;function w4(t,e,r){for(var n=0;n<t.length;n++){var i=t[n];r>0&&Array.isArray(i)?w4(i,e,r-1):e.push(i)}return e}function S4(t,e){for(var r=0;r<t.length;r++){var n=t[r];Array.isArray(n)?S4(n,e):e.push(n)}return e}function lH(t,e){return e==null?S4(t,[]):w4(t,[],e)}});var E4=y((sle,P4)=>{P4.exports=I4;var $4=/\\.|\((?:\?<(.*?)>)?(?!\?)/g;function I4(t,e,r){r=r||{},e=e||[];var n=r.strict,i=r.end!==!1,a=r.sensitive?"":"i",o=r.lookahead!==!1,s=0,c=e.length,l=0,u=0,p=0,d="",f;if(t instanceof RegExp){for(;f=$4.exec(t.source);)f[0][0]!=="\\"&&e.push({name:f[1]||u++,optional:!1,offset:f.index});return t}if(Array.isArray(t))return t=t.map(function(m){return I4(m,e,r).source}),new RegExp(t.join("|"),a);if(typeof t!="string")throw new TypeError("path must be a string, array of strings, or regular expression");for(t=t.replace(/\\.|(\/)?(\.)?:(\w+)(\(.*?\))?(\*)?(\?)?|[.*]|\/\(/g,function(m,h,g,b,S,_,k,$){if(m[0]==="\\")return d+=m,p+=2,m;if(m===".")return d+="\\.",s+=1,p+=1,"\\.";if(h||g?d="":d+=t.slice(p,$),p=$+m.length,m==="*")return s+=3,"(.*)";if(m==="/(")return d+="/",s+=2,"/(?:";h=h||"",g=g?"\\.":"",k=k||"",S=S?S.replace(/\\.|\*/,function(Z){return Z==="*"?"(.*)":Z}):d?"((?:(?!/|"+d+").)+?)":"([^/"+g+"]+?)",e.push({name:b,optional:!!k,offset:$+s});var N="(?:"+g+h+S+(_?"((?:[/"+g+"].+?)?)":"")+")"+k;return s+=N.length-m.length,N});f=$4.exec(t);)f[0][0]!=="\\"&&((c+l===e.length||e[c+l].offset>f.index)&&e.splice(c+l,0,{name:u++,optional:!1,offset:f.index}),l++);return t+=n?"":t[t.length-1]==="/"?"?":"/?",i?t+="$":t[t.length-1]!=="/"&&(t+=o?"(?=/|$)":"(?:/|$)"),new RegExp("^"+t,a)}});var mb=y((cle,C4)=>{"use strict";var uH=E4(),pH=Yt()("express:router:layer"),dH=Object.prototype.hasOwnProperty;C4.exports=Ca;function Ca(t,e,r){if(!(this instanceof Ca))return new Ca(t,e,r);pH("new %o",t);var n=e||{};this.handle=r,this.name=r.name||"<anonymous>",this.params=void 0,this.path=void 0,this.regexp=uH(t,this.keys=[],n),this.regexp.fast_star=t==="*",this.regexp.fast_slash=t==="/"&&n.end===!1}Ca.prototype.handle_error=function(e,r,n,i){var a=this.handle;if(a.length!==4)return i(e);try{a(e,r,n,i)}catch(o){i(o)}};Ca.prototype.handle_request=function(e,r,n){var i=this.handle;if(i.length>3)return n();try{i(e,r,n)}catch(a){n(a)}};Ca.prototype.match=function(e){var r;if(e!=null){if(this.regexp.fast_slash)return this.params={},this.path="",!0;if(this.regexp.fast_star)return this.params={0:T4(e)},this.path=e,!0;r=this.regexp.exec(e)}if(!r)return this.params=void 0,this.path=void 0,!1;this.params={},this.path=r[0];for(var n=this.keys,i=this.params,a=1;a<r.length;a++){var o=n[a-1],s=o.name,c=T4(r[a]);(c!==void 0||!dH.call(i,s))&&(i[s]=c)}return!0};function T4(t){if(typeof t!="string"||t.length===0)return t;try{return decodeURIComponent(t)}catch(e){throw e instanceof URIError&&(e.message="Failed to decode param '"+t+"'",e.status=e.statusCode=400),e}}});var Gp=y((lle,R4)=>{"use strict";var z4=A("http");R4.exports=fH()||mH();function fH(){return z4.METHODS&&z4.METHODS.map(function(e){return e.toLowerCase()})}function mH(){return["get","post","put","head","delete","options","trace","copy","lock","mkcol","move","purge","propfind","proppatch","unlock","report","mkactivity","checkout","merge","m-search","notify","subscribe","unsubscribe","patch","search","connect"]}});var hb=y((ule,M4)=>{"use strict";var j4=Yt()("express:router:route"),D4=mc(),O4=mb(),hH=Gp(),N4=Array.prototype.slice,A4=Object.prototype.toString;M4.exports=za;function za(t){this.path=t,this.stack=[],j4("new %o",t),this.methods={}}za.prototype._handles_method=function(e){if(this.methods._all)return!0;var r=typeof e=="string"?e.toLowerCase():e;return r==="head"&&!this.methods.head&&(r="get"),!!this.methods[r]};za.prototype._options=function(){var e=Object.keys(this.methods);this.methods.get&&!this.methods.head&&e.push("head");for(var r=0;r<e.length;r++)e[r]=e[r].toUpperCase();return e};za.prototype.dispatch=function(e,r,n){var i=0,a=this.stack,o=0;if(a.length===0)return n();var s=typeof e.method=="string"?e.method.toLowerCase():e.method;s==="head"&&!this.methods.head&&(s="get"),e.route=this,c();function c(l){if(l&&l==="route")return n();if(l&&l==="router")return n(l);if(++o>100)return setImmediate(c,l);var u=a[i++];if(!u)return n(l);u.method&&u.method!==s?c(l):l?u.handle_error(l,e,r,c):u.handle_request(e,r,c),o=0}};za.prototype.all=function(){for(var e=D4(N4.call(arguments)),r=0;r<e.length;r++){var n=e[r];if(typeof n!="function"){var i=A4.call(n),a="Route.all() requires a callback function but got a "+i;throw new TypeError(a)}var o=O4("/",{},n);o.method=void 0,this.methods._all=!0,this.stack.push(o)}return this};hH.forEach(function(t){za.prototype[t]=function(){for(var e=D4(N4.call(arguments)),r=0;r<e.length;r++){var n=e[r];if(typeof n!="function"){var i=A4.call(n),a="Route."+t+"() requires a callback function but got a "+i;throw new Error(a)}j4("%s %o",t,this.path);var o=O4("/",{},n);o.method=t,this.methods[t]=!0,this.stack.push(o)}return this}})});var hc=y((U4,F4)=>{U4=F4.exports=function(t,e){if(t&&e)for(var r in e)t[r]=e[r];return t}});var vb=y((ple,H4)=>{"use strict";var gH=hb(),L4=mb(),vH=Gp(),gb=hc(),Kp=Yt()("express:router"),q4=Ir()("express"),yH=mc(),xH=Ta(),bH=qs(),_H=/^\[object (\S+)\]$/,Z4=Array.prototype.slice,wH=Object.prototype.toString,fi=H4.exports=function(t){var e=t||{};function r(n,i,a){r.handle(n,i,a)}return bH(r,fi),r.params={},r._params=[],r.caseSensitive=e.caseSensitive,r.mergeParams=e.mergeParams,r.strict=e.strict,r.stack=[],r};fi.param=function(e,r){if(typeof e=="function"){q4("router.param(fn): Refactor to use path params"),this._params.push(e);return}var n=this._params,i=n.length,a;e[0]===":"&&(q4("router.param("+JSON.stringify(e)+", fn): Use router.param("+JSON.stringify(e.slice(1))+", fn) instead"),e=e.slice(1));for(var o=0;o<i;++o)(a=n[o](e,r))&&(r=a);if(typeof r!="function")throw new Error("invalid param() call for "+e+", got "+r);return(this.params[e]=this.params[e]||[]).push(r),this};fi.handle=function(e,r,n){var i=this;Kp("dispatching %s %s",e.method,e.url);var a=0,o=$H(e.url)||"",s="",c=!1,l=0,u={},p=[],d=i.stack,f=e.params,m=e.baseUrl||"",h=TH(n,e,"baseUrl","next","params");e.next=g,e.method==="OPTIONS"&&(h=zH(h,function(S,_){if(_||p.length===0)return S(_);CH(r,p,S)})),e.baseUrl=m,e.originalUrl=e.originalUrl||e.url,g();function g(S){var _=S==="route"?null:S;if(c&&(e.url=e.url.slice(1),c=!1),s.length!==0&&(e.baseUrl=m,e.url=o+s+e.url.slice(o.length),s=""),_==="router"){setImmediate(h,null);return}if(a>=d.length){setImmediate(h,_);return}if(++l>100)return setImmediate(g,S);var k=kH(e);if(k==null)return h(_);for(var $,N,Z;N!==!0&&a<d.length;)if($=d[a++],N=PH($,k),Z=$.route,typeof N!="boolean"&&(_=_||N),N===!0&&Z){if(_){N=!1;continue}var me=e.method,Je=Z._handles_method(me);!Je&&me==="OPTIONS"&&SH(p,Z._options()),!Je&&me!=="HEAD"&&(N=!1)}if(N!==!0)return h(_);Z&&(e.route=Z),e.params=i.mergeParams?EH($.params,f):$.params;var He=$.path;i.process_params($,u,e,r,function(rr){rr?g(_||rr):Z?$.handle_request(e,r,g):b($,_,He,k),l=0})}function b(S,_,k,$){if(k.length!==0){if(k!==$.slice(0,k.length)){g(_);return}var N=$[k.length];if(N&&N!=="/"&&N!==".")return g(_);Kp("trim prefix (%s) from url %s",k,e.url),s=k,e.url=o+e.url.slice(o.length+s.length),!o&&e.url[0]!=="/"&&(e.url="/"+e.url,c=!0),e.baseUrl=m+(s[s.length-1]==="/"?s.substring(0,s.length-1):s)}Kp("%s %s : %s",S.name,k,e.originalUrl),_?S.handle_error(_,e,r,g):S.handle_request(e,r,g)}};fi.process_params=function(e,r,n,i,a){var o=this.params,s=e.keys;if(!s||s.length===0)return a();var c=0,l,u=0,p,d,f,m;function h(b){if(b)return a(b);if(c>=s.length)return a();if(u=0,p=s[c++],l=p.name,d=n.params[l],f=o[l],m=r[l],d===void 0||!f)return h();if(m&&(m.match===d||m.error&&m.error!=="route"))return n.params[l]=m.value,h(m.error);r[l]=m={error:null,match:d,value:d},g()}function g(b){var S=f[u++];if(m.value=n.params[p.name],b){m.error=b,h(b);return}if(!S)return h();try{S(n,i,g,d,p.name)}catch(_){g(_)}}h()};fi.use=function(e){var r=0,n="/";if(typeof e!="function"){for(var i=e;Array.isArray(i)&&i.length!==0;)i=i[0];typeof i!="function"&&(r=1,n=e)}var a=yH(Z4.call(arguments,r));if(a.length===0)throw new TypeError("Router.use() requires a middleware function");for(var o=0;o<a.length;o++){var e=a[o];if(typeof e!="function")throw new TypeError("Router.use() requires a middleware function but got a "+IH(e));Kp("use %o %s",n,e.name||"<anonymous>");var s=new L4(n,{sensitive:this.caseSensitive,strict:!1,end:!1},e);s.route=void 0,this.stack.push(s)}return this};fi.route=function(e){var r=new gH(e),n=new L4(e,{sensitive:this.caseSensitive,strict:this.strict,end:!0},r.dispatch.bind(r));return n.route=r,this.stack.push(n),r};vH.concat("all").forEach(function(t){fi[t]=function(e){var r=this.route(e);return r[t].apply(r,Z4.call(arguments,1)),this}});function SH(t,e){for(var r=0;r<e.length;r++){var n=e[r];t.indexOf(n)===-1&&t.push(n)}}function kH(t){try{return xH(t).pathname}catch{return}}function $H(t){if(!(typeof t!="string"||t.length===0||t[0]==="/")){var e=t.indexOf("?"),r=e!==-1?e:t.length,n=t.slice(0,r).indexOf("://");return n!==-1?t.substring(0,t.indexOf("/",3+n)):void 0}}function IH(t){var e=typeof t;return e!=="object"?e:wH.call(t).replace(_H,"$1")}function PH(t,e){try{return t.match(e)}catch(r){return r}}function EH(t,e){if(typeof e!="object"||!e)return t;var r=gb({},e);if(!(0 in t)||!(0 in e))return gb(r,t);for(var n=0,i=0;n in t;)n++;for(;i in e;)i++;for(n--;n>=0;n--)t[n+i]=t[n],n<i&&delete t[n];return gb(r,t)}function TH(t,e){for(var r=new Array(arguments.length-2),n=new Array(arguments.length-2),i=0;i<r.length;i++)r[i]=arguments[i+2],n[i]=e[r[i]];return function(){for(var a=0;a<r.length;a++)e[r[a]]=n[a];return t.apply(this,arguments)}}function CH(t,e,r){try{var n=e.join(",");t.set("Allow",n),t.send(n)}catch(i){r(i)}}function zH(t,e){return function(){var n=new Array(arguments.length+1);n[0]=t;for(var i=0,a=arguments.length;i<a;i++)n[i+1]=arguments[i];e.apply(this,n)}}});var W4=y(V4=>{"use strict";var B4=qs();V4.init=function(t){return function(r,n,i){t.enabled("x-powered-by")&&n.setHeader("X-Powered-By","Express"),r.res=n,n.req=r,r.next=i,B4(r,t.request),B4(n,t.response),n.locals=n.locals||Object.create(null),i()}}});var yb=y((fle,J4)=>{"use strict";var RH=hc(),jH=Ta(),DH=Bp();J4.exports=function(e){var r=RH({},e),n=DH.parse;return typeof e=="function"&&(n=e,r=void 0),r!==void 0&&r.allowPrototypes===void 0&&(r.allowPrototypes=!0),function(a,o,s){if(!a.query){var c=jH(a).query;a.query=n(c,r)}s()}}});var Q4=y((mle,Y4)=>{"use strict";var Xp=Yt()("express:view"),gc=A("path"),OH=A("fs"),NH=gc.dirname,X4=gc.basename,AH=gc.extname,G4=gc.join,MH=gc.resolve;Y4.exports=Yp;function Yp(t,e){var r=e||{};if(this.defaultEngine=r.defaultEngine,this.ext=AH(t),this.name=t,this.root=r.root,!this.ext&&!this.defaultEngine)throw new Error("No default engine was specified and no extension was provided.");var n=t;if(this.ext||(this.ext=this.defaultEngine[0]!=="."?"."+this.defaultEngine:this.defaultEngine,n+=this.ext),!r.engines[this.ext]){var i=this.ext.slice(1);Xp('require "%s"',i);var a=A(i).__express;if(typeof a!="function")throw new Error('Module "'+i+'" does not provide a view engine.');r.engines[this.ext]=a}this.engine=r.engines[this.ext],this.path=this.lookup(n)}Yp.prototype.lookup=function(e){var r,n=[].concat(this.root);Xp('lookup "%s"',e);for(var i=0;i<n.length&&!r;i++){var a=n[i],o=MH(a,e),s=NH(o),c=X4(o);r=this.resolve(s,c)}return r};Yp.prototype.render=function(e,r){Xp('render "%s"',this.path),this.engine(this.path,e,r)};Yp.prototype.resolve=function(e,r){var n=this.ext,i=G4(e,r),a=K4(i);if(a&&a.isFile()||(i=G4(e,X4(r,n),"index"+n),a=K4(i),a&&a.isFile()))return i};function K4(t){Xp('stat "%s"',t);try{return OH.statSync(t)}catch{return}}});var ed=y((xb,tC)=>{var Qp=A("buffer"),Rr=Qp.Buffer;function eC(t,e){for(var r in t)e[r]=t[r]}Rr.from&&Rr.alloc&&Rr.allocUnsafe&&Rr.allocUnsafeSlow?tC.exports=Qp:(eC(Qp,xb),xb.Buffer=mi);function mi(t,e,r){return Rr(t,e,r)}mi.prototype=Object.create(Rr.prototype);eC(Rr,mi);mi.from=function(t,e,r){if(typeof t=="number")throw new TypeError("Argument must not be a number");return Rr(t,e,r)};mi.alloc=function(t,e,r){if(typeof t!="number")throw new TypeError("Argument must be a number");var n=Rr(t);return e!==void 0?typeof r=="string"?n.fill(e,r):n.fill(e):n.fill(0),n};mi.allocUnsafe=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return Rr(t)};mi.allocUnsafeSlow=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return Qp.SlowBuffer(t)}});var _b=y((gle,bb)=>{"use strict";bb.exports=GH;bb.exports.parse=QH;var rC=A("path").basename,UH=ed().Buffer,FH=/[\x00-\x20"'()*,/:;<=>?@[\\\]{}\x7f]/g,qH=/%[0-9A-Fa-f]{2}/,LH=/%([0-9A-Fa-f]{2})/g,iC=/[^\x20-\x7e\xa0-\xff]/g,ZH=/\\([\u0000-\u007f])/g,HH=/([\\"])/g,nC=/;[\x09\x20]*([!#$%&'*+.0-9A-Z^_`a-z|~-]+)[\x09\x20]*=[\x09\x20]*("(?:[\x20!\x23-\x5b\x5d-\x7e\x80-\xff]|\\[\x20-\x7e])*"|[!#$%&'*+.0-9A-Z^_`a-z|~-]+)[\x09\x20]*/g,BH=/^[\x20-\x7e\x80-\xff]+$/,VH=/^[!#$%&'*+.0-9A-Z^_`a-z|~-]+$/,WH=/^([A-Za-z0-9!#$%&+\-^_`{}~]+)'(?:[A-Za-z]{2,3}(?:-[A-Za-z]{3}){0,3}|[A-Za-z]{4,8}|)'((?:%[0-9A-Fa-f]{2}|[A-Za-z0-9!#$&+.^_`|~-])+)$/,JH=/^([!#$%&'*+.0-9A-Z^_`a-z|~-]+)[\x09\x20]*(?:$|;)/;function GH(t,e){var r=e||{},n=r.type||"attachment",i=KH(t,r.fallback);return XH(new oC(n,i))}function KH(t,e){if(t!==void 0){var r={};if(typeof t!="string")throw new TypeError("filename must be a string");if(e===void 0&&(e=!0),typeof e!="string"&&typeof e!="boolean")throw new TypeError("fallback must be a string or boolean");if(typeof e=="string"&&iC.test(e))throw new TypeError("fallback must be ISO-8859-1 string");var n=rC(t),i=BH.test(n),a=typeof e!="string"?e&&aC(n):rC(e),o=typeof a=="string"&&a!==n;return(o||!i||qH.test(n))&&(r["filename*"]=n),(i||o)&&(r.filename=o?a:n),r}}function XH(t){var e=t.parameters,r=t.type;if(!r||typeof r!="string"||!VH.test(r))throw new TypeError("invalid type");var n=String(r).toLowerCase();if(e&&typeof e=="object")for(var i,a=Object.keys(e).sort(),o=0;o<a.length;o++){i=a[o];var s=i.substr(-1)==="*"?n7(e[i]):r7(e[i]);n+="; "+i+"="+s}return n}function YH(t){var e=WH.exec(t);if(!e)throw new TypeError("invalid extended field value");var r=e[1].toLowerCase(),n=e[2],i,a=n.replace(LH,e7);switch(r){case"iso-8859-1":i=aC(a);break;case"utf-8":i=UH.from(a,"binary").toString("utf8");break;default:throw new TypeError("unsupported charset in extended field")}return i}function aC(t){return String(t).replace(iC,"?")}function QH(t){if(!t||typeof t!="string")throw new TypeError("argument string is required");var e=JH.exec(t);if(!e)throw new TypeError("invalid type format");var r=e[0].length,n=e[1].toLowerCase(),i,a=[],o={},s;for(r=nC.lastIndex=e[0].substr(-1)===";"?r-1:r;e=nC.exec(t);){if(e.index!==r)throw new TypeError("invalid parameter format");if(r+=e[0].length,i=e[1].toLowerCase(),s=e[2],a.indexOf(i)!==-1)throw new TypeError("invalid duplicate parameter");if(a.push(i),i.indexOf("*")+1===i.length){i=i.slice(0,-1),s=YH(s),o[i]=s;continue}typeof o[i]!="string"&&(s[0]==='"'&&(s=s.substr(1,s.length-2).replace(ZH,"$1")),o[i]=s)}if(r!==-1&&r!==t.length)throw new TypeError("invalid parameter format");return new oC(n,o)}function e7(t,e){return String.fromCharCode(parseInt(e,16))}function t7(t){return"%"+String(t).charCodeAt(0).toString(16).toUpperCase()}function r7(t){var e=String(t);return'"'+e.replace(HH,"\\$1")+'"'}function n7(t){var e=String(t),r=encodeURIComponent(e).replace(FH,t7);return"UTF-8''"+r}function oC(t,e){this.type=t,this.parameters=e}});var wb=y((vle,lC)=>{"use strict";lC.exports=o7;var i7=A("crypto"),sC=A("fs").Stats,cC=Object.prototype.toString;function a7(t){if(t.length===0)return'"0-2jmj7l5rSw0yVb/vlWAYkK/YBwk"';var e=i7.createHash("sha1").update(t,"utf8").digest("base64").substring(0,27),r=typeof t=="string"?Buffer.byteLength(t,"utf8"):t.length;return'"'+r.toString(16)+"-"+e+'"'}function o7(t,e){if(t==null)throw new TypeError("argument entity is required");var r=s7(t),n=e&&typeof e.weak=="boolean"?e.weak:r;if(!r&&typeof t!="string"&&!Buffer.isBuffer(t))throw new TypeError("argument entity must be string, Buffer, or fs.Stats");var i=r?c7(t):a7(t);return n?"W/"+i:i}function s7(t){return typeof sC=="function"&&t instanceof sC?!0:t&&typeof t=="object"&&"ctime"in t&&cC.call(t.ctime)==="[object Date]"&&"mtime"in t&&cC.call(t.mtime)==="[object Date]"&&"ino"in t&&typeof t.ino=="number"&&"size"in t&&typeof t.size=="number"}function c7(t){var e=t.mtime.getTime().toString(16),r=t.size.toString(16);return'"'+r+"-"+e+'"'}});var Sb=y((yle,pC)=>{"use strict";var l7=/(?:^|,)\s*?no-cache\s*?(?:,|$)/;pC.exports=u7;function u7(t,e){var r=t["if-modified-since"],n=t["if-none-match"];if(!r&&!n)return!1;var i=t["cache-control"];if(i&&l7.test(i))return!1;if(n&&n!=="*"){var a=e.etag;if(!a)return!1;for(var o=!0,s=p7(n),c=0;c<s.length;c++){var l=s[c];if(l===a||l==="W/"+a||"W/"+l===a){o=!1;break}}if(o)return!1}if(r){var u=e["last-modified"],p=!u||!(uC(u)<=uC(r));if(p)return!1}return!0}function uC(t){var e=t&&Date.parse(t);return typeof e=="number"?e:NaN}function p7(t){for(var e=0,r=[],n=0,i=0,a=t.length;i<a;i++)switch(t.charCodeAt(i)){case 32:n===e&&(n=e=i+1);break;case 44:r.push(t.substring(n,e)),n=e=i+1;break;default:e=i+1;break}return r.push(t.substring(n,e)),r}});var dC=y((xle,d7)=>{d7.exports={"application/andrew-inset":["ez"],"application/applixware":["aw"],"application/atom+xml":["atom"],"application/atomcat+xml":["atomcat"],"application/atomsvc+xml":["atomsvc"],"application/bdoc":["bdoc"],"application/ccxml+xml":["ccxml"],"application/cdmi-capability":["cdmia"],"application/cdmi-container":["cdmic"],"application/cdmi-domain":["cdmid"],"application/cdmi-object":["cdmio"],"application/cdmi-queue":["cdmiq"],"application/cu-seeme":["cu"],"application/dash+xml":["mpd"],"application/davmount+xml":["davmount"],"application/docbook+xml":["dbk"],"application/dssc+der":["dssc"],"application/dssc+xml":["xdssc"],"application/ecmascript":["ecma"],"application/emma+xml":["emma"],"application/epub+zip":["epub"],"application/exi":["exi"],"application/font-tdpfr":["pfr"],"application/font-woff":[],"application/font-woff2":[],"application/geo+json":["geojson"],"application/gml+xml":["gml"],"application/gpx+xml":["gpx"],"application/gxf":["gxf"],"application/gzip":["gz"],"application/hyperstudio":["stk"],"application/inkml+xml":["ink","inkml"],"application/ipfix":["ipfix"],"application/java-archive":["jar","war","ear"],"application/java-serialized-object":["ser"],"application/java-vm":["class"],"application/javascript":["js","mjs"],"application/json":["json","map"],"application/json5":["json5"],"application/jsonml+json":["jsonml"],"application/ld+json":["jsonld"],"application/lost+xml":["lostxml"],"application/mac-binhex40":["hqx"],"application/mac-compactpro":["cpt"],"application/mads+xml":["mads"],"application/manifest+json":["webmanifest"],"application/marc":["mrc"],"application/marcxml+xml":["mrcx"],"application/mathematica":["ma","nb","mb"],"application/mathml+xml":["mathml"],"application/mbox":["mbox"],"application/mediaservercontrol+xml":["mscml"],"application/metalink+xml":["metalink"],"application/metalink4+xml":["meta4"],"application/mets+xml":["mets"],"application/mods+xml":["mods"],"application/mp21":["m21","mp21"],"application/mp4":["mp4s","m4p"],"application/msword":["doc","dot"],"application/mxf":["mxf"],"application/octet-stream":["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"],"application/oda":["oda"],"application/oebps-package+xml":["opf"],"application/ogg":["ogx"],"application/omdoc+xml":["omdoc"],"application/onenote":["onetoc","onetoc2","onetmp","onepkg"],"application/oxps":["oxps"],"application/patch-ops-error+xml":["xer"],"application/pdf":["pdf"],"application/pgp-encrypted":["pgp"],"application/pgp-signature":["asc","sig"],"application/pics-rules":["prf"],"application/pkcs10":["p10"],"application/pkcs7-mime":["p7m","p7c"],"application/pkcs7-signature":["p7s"],"application/pkcs8":["p8"],"application/pkix-attr-cert":["ac"],"application/pkix-cert":["cer"],"application/pkix-crl":["crl"],"application/pkix-pkipath":["pkipath"],"application/pkixcmp":["pki"],"application/pls+xml":["pls"],"application/postscript":["ai","eps","ps"],"application/prs.cww":["cww"],"application/pskc+xml":["pskcxml"],"application/raml+yaml":["raml"],"application/rdf+xml":["rdf"],"application/reginfo+xml":["rif"],"application/relax-ng-compact-syntax":["rnc"],"application/resource-lists+xml":["rl"],"application/resource-lists-diff+xml":["rld"],"application/rls-services+xml":["rs"],"application/rpki-ghostbusters":["gbr"],"application/rpki-manifest":["mft"],"application/rpki-roa":["roa"],"application/rsd+xml":["rsd"],"application/rss+xml":["rss"],"application/rtf":["rtf"],"application/sbml+xml":["sbml"],"application/scvp-cv-request":["scq"],"application/scvp-cv-response":["scs"],"application/scvp-vp-request":["spq"],"application/scvp-vp-response":["spp"],"application/sdp":["sdp"],"application/set-payment-initiation":["setpay"],"application/set-registration-initiation":["setreg"],"application/shf+xml":["shf"],"application/smil+xml":["smi","smil"],"application/sparql-query":["rq"],"application/sparql-results+xml":["srx"],"application/srgs":["gram"],"application/srgs+xml":["grxml"],"application/sru+xml":["sru"],"application/ssdl+xml":["ssdl"],"application/ssml+xml":["ssml"],"application/tei+xml":["tei","teicorpus"],"application/thraud+xml":["tfi"],"application/timestamped-data":["tsd"],"application/vnd.3gpp.pic-bw-large":["plb"],"application/vnd.3gpp.pic-bw-small":["psb"],"application/vnd.3gpp.pic-bw-var":["pvb"],"application/vnd.3gpp2.tcap":["tcap"],"application/vnd.3m.post-it-notes":["pwn"],"application/vnd.accpac.simply.aso":["aso"],"application/vnd.accpac.simply.imp":["imp"],"application/vnd.acucobol":["acu"],"application/vnd.acucorp":["atc","acutc"],"application/vnd.adobe.air-application-installer-package+zip":["air"],"application/vnd.adobe.formscentral.fcdt":["fcdt"],"application/vnd.adobe.fxp":["fxp","fxpl"],"application/vnd.adobe.xdp+xml":["xdp"],"application/vnd.adobe.xfdf":["xfdf"],"application/vnd.ahead.space":["ahead"],"application/vnd.airzip.filesecure.azf":["azf"],"application/vnd.airzip.filesecure.azs":["azs"],"application/vnd.amazon.ebook":["azw"],"application/vnd.americandynamics.acc":["acc"],"application/vnd.amiga.ami":["ami"],"application/vnd.android.package-archive":["apk"],"application/vnd.anser-web-certificate-issue-initiation":["cii"],"application/vnd.anser-web-funds-transfer-initiation":["fti"],"application/vnd.antix.game-component":["atx"],"application/vnd.apple.installer+xml":["mpkg"],"application/vnd.apple.mpegurl":["m3u8"],"application/vnd.apple.pkpass":["pkpass"],"application/vnd.aristanetworks.swi":["swi"],"application/vnd.astraea-software.iota":["iota"],"application/vnd.audiograph":["aep"],"application/vnd.blueice.multipass":["mpm"],"application/vnd.bmi":["bmi"],"application/vnd.businessobjects":["rep"],"application/vnd.chemdraw+xml":["cdxml"],"application/vnd.chipnuts.karaoke-mmd":["mmd"],"application/vnd.cinderella":["cdy"],"application/vnd.claymore":["cla"],"application/vnd.cloanto.rp9":["rp9"],"application/vnd.clonk.c4group":["c4g","c4d","c4f","c4p","c4u"],"application/vnd.cluetrust.cartomobile-config":["c11amc"],"application/vnd.cluetrust.cartomobile-config-pkg":["c11amz"],"application/vnd.commonspace":["csp"],"application/vnd.contact.cmsg":["cdbcmsg"],"application/vnd.cosmocaller":["cmc"],"application/vnd.crick.clicker":["clkx"],"application/vnd.crick.clicker.keyboard":["clkk"],"application/vnd.crick.clicker.palette":["clkp"],"application/vnd.crick.clicker.template":["clkt"],"application/vnd.crick.clicker.wordbank":["clkw"],"application/vnd.criticaltools.wbs+xml":["wbs"],"application/vnd.ctc-posml":["pml"],"application/vnd.cups-ppd":["ppd"],"application/vnd.curl.car":["car"],"application/vnd.curl.pcurl":["pcurl"],"application/vnd.dart":["dart"],"application/vnd.data-vision.rdz":["rdz"],"application/vnd.dece.data":["uvf","uvvf","uvd","uvvd"],"application/vnd.dece.ttml+xml":["uvt","uvvt"],"application/vnd.dece.unspecified":["uvx","uvvx"],"application/vnd.dece.zip":["uvz","uvvz"],"application/vnd.denovo.fcselayout-link":["fe_launch"],"application/vnd.dna":["dna"],"application/vnd.dolby.mlp":["mlp"],"application/vnd.dpgraph":["dpg"],"application/vnd.dreamfactory":["dfac"],"application/vnd.ds-keypoint":["kpxx"],"application/vnd.dvb.ait":["ait"],"application/vnd.dvb.service":["svc"],"application/vnd.dynageo":["geo"],"application/vnd.ecowin.chart":["mag"],"application/vnd.enliven":["nml"],"application/vnd.epson.esf":["esf"],"application/vnd.epson.msf":["msf"],"application/vnd.epson.quickanime":["qam"],"application/vnd.epson.salt":["slt"],"application/vnd.epson.ssf":["ssf"],"application/vnd.eszigno3+xml":["es3","et3"],"application/vnd.ezpix-album":["ez2"],"application/vnd.ezpix-package":["ez3"],"application/vnd.fdf":["fdf"],"application/vnd.fdsn.mseed":["mseed"],"application/vnd.fdsn.seed":["seed","dataless"],"application/vnd.flographit":["gph"],"application/vnd.fluxtime.clip":["ftc"],"application/vnd.framemaker":["fm","frame","maker","book"],"application/vnd.frogans.fnc":["fnc"],"application/vnd.frogans.ltf":["ltf"],"application/vnd.fsc.weblaunch":["fsc"],"application/vnd.fujitsu.oasys":["oas"],"application/vnd.fujitsu.oasys2":["oa2"],"application/vnd.fujitsu.oasys3":["oa3"],"application/vnd.fujitsu.oasysgp":["fg5"],"application/vnd.fujitsu.oasysprs":["bh2"],"application/vnd.fujixerox.ddd":["ddd"],"application/vnd.fujixerox.docuworks":["xdw"],"application/vnd.fujixerox.docuworks.binder":["xbd"],"application/vnd.fuzzysheet":["fzs"],"application/vnd.genomatix.tuxedo":["txd"],"application/vnd.geogebra.file":["ggb"],"application/vnd.geogebra.tool":["ggt"],"application/vnd.geometry-explorer":["gex","gre"],"application/vnd.geonext":["gxt"],"application/vnd.geoplan":["g2w"],"application/vnd.geospace":["g3w"],"application/vnd.gmx":["gmx"],"application/vnd.google-apps.document":["gdoc"],"application/vnd.google-apps.presentation":["gslides"],"application/vnd.google-apps.spreadsheet":["gsheet"],"application/vnd.google-earth.kml+xml":["kml"],"application/vnd.google-earth.kmz":["kmz"],"application/vnd.grafeq":["gqf","gqs"],"application/vnd.groove-account":["gac"],"application/vnd.groove-help":["ghf"],"application/vnd.groove-identity-message":["gim"],"application/vnd.groove-injector":["grv"],"application/vnd.groove-tool-message":["gtm"],"application/vnd.groove-tool-template":["tpl"],"application/vnd.groove-vcard":["vcg"],"application/vnd.hal+xml":["hal"],"application/vnd.handheld-entertainment+xml":["zmm"],"application/vnd.hbci":["hbci"],"application/vnd.hhe.lesson-player":["les"],"application/vnd.hp-hpgl":["hpgl"],"application/vnd.hp-hpid":["hpid"],"application/vnd.hp-hps":["hps"],"application/vnd.hp-jlyt":["jlt"],"application/vnd.hp-pcl":["pcl"],"application/vnd.hp-pclxl":["pclxl"],"application/vnd.hydrostatix.sof-data":["sfd-hdstx"],"application/vnd.ibm.minipay":["mpy"],"application/vnd.ibm.modcap":["afp","listafp","list3820"],"application/vnd.ibm.rights-management":["irm"],"application/vnd.ibm.secure-container":["sc"],"application/vnd.iccprofile":["icc","icm"],"application/vnd.igloader":["igl"],"application/vnd.immervision-ivp":["ivp"],"application/vnd.immervision-ivu":["ivu"],"application/vnd.insors.igm":["igm"],"application/vnd.intercon.formnet":["xpw","xpx"],"application/vnd.intergeo":["i2g"],"application/vnd.intu.qbo":["qbo"],"application/vnd.intu.qfx":["qfx"],"application/vnd.ipunplugged.rcprofile":["rcprofile"],"application/vnd.irepository.package+xml":["irp"],"application/vnd.is-xpr":["xpr"],"application/vnd.isac.fcs":["fcs"],"application/vnd.jam":["jam"],"application/vnd.jcp.javame.midlet-rms":["rms"],"application/vnd.jisp":["jisp"],"application/vnd.joost.joda-archive":["joda"],"application/vnd.kahootz":["ktz","ktr"],"application/vnd.kde.karbon":["karbon"],"application/vnd.kde.kchart":["chrt"],"application/vnd.kde.kformula":["kfo"],"application/vnd.kde.kivio":["flw"],"application/vnd.kde.kontour":["kon"],"application/vnd.kde.kpresenter":["kpr","kpt"],"application/vnd.kde.kspread":["ksp"],"application/vnd.kde.kword":["kwd","kwt"],"application/vnd.kenameaapp":["htke"],"application/vnd.kidspiration":["kia"],"application/vnd.kinar":["kne","knp"],"application/vnd.koan":["skp","skd","skt","skm"],"application/vnd.kodak-descriptor":["sse"],"application/vnd.las.las+xml":["lasxml"],"application/vnd.llamagraphics.life-balance.desktop":["lbd"],"application/vnd.llamagraphics.life-balance.exchange+xml":["lbe"],"application/vnd.lotus-1-2-3":["123"],"application/vnd.lotus-approach":["apr"],"application/vnd.lotus-freelance":["pre"],"application/vnd.lotus-notes":["nsf"],"application/vnd.lotus-organizer":["org"],"application/vnd.lotus-screencam":["scm"],"application/vnd.lotus-wordpro":["lwp"],"application/vnd.macports.portpkg":["portpkg"],"application/vnd.mcd":["mcd"],"application/vnd.medcalcdata":["mc1"],"application/vnd.mediastation.cdkey":["cdkey"],"application/vnd.mfer":["mwf"],"application/vnd.mfmp":["mfm"],"application/vnd.micrografx.flo":["flo"],"application/vnd.micrografx.igx":["igx"],"application/vnd.mif":["mif"],"application/vnd.mobius.daf":["daf"],"application/vnd.mobius.dis":["dis"],"application/vnd.mobius.mbk":["mbk"],"application/vnd.mobius.mqy":["mqy"],"application/vnd.mobius.msl":["msl"],"application/vnd.mobius.plc":["plc"],"application/vnd.mobius.txf":["txf"],"application/vnd.mophun.application":["mpn"],"application/vnd.mophun.certificate":["mpc"],"application/vnd.mozilla.xul+xml":["xul"],"application/vnd.ms-artgalry":["cil"],"application/vnd.ms-cab-compressed":["cab"],"application/vnd.ms-excel":["xls","xlm","xla","xlc","xlt","xlw"],"application/vnd.ms-excel.addin.macroenabled.12":["xlam"],"application/vnd.ms-excel.sheet.binary.macroenabled.12":["xlsb"],"application/vnd.ms-excel.sheet.macroenabled.12":["xlsm"],"application/vnd.ms-excel.template.macroenabled.12":["xltm"],"application/vnd.ms-fontobject":["eot"],"application/vnd.ms-htmlhelp":["chm"],"application/vnd.ms-ims":["ims"],"application/vnd.ms-lrm":["lrm"],"application/vnd.ms-officetheme":["thmx"],"application/vnd.ms-outlook":["msg"],"application/vnd.ms-pki.seccat":["cat"],"application/vnd.ms-pki.stl":["stl"],"application/vnd.ms-powerpoint":["ppt","pps","pot"],"application/vnd.ms-powerpoint.addin.macroenabled.12":["ppam"],"application/vnd.ms-powerpoint.presentation.macroenabled.12":["pptm"],"application/vnd.ms-powerpoint.slide.macroenabled.12":["sldm"],"application/vnd.ms-powerpoint.slideshow.macroenabled.12":["ppsm"],"application/vnd.ms-powerpoint.template.macroenabled.12":["potm"],"application/vnd.ms-project":["mpp","mpt"],"application/vnd.ms-word.document.macroenabled.12":["docm"],"application/vnd.ms-word.template.macroenabled.12":["dotm"],"application/vnd.ms-works":["wps","wks","wcm","wdb"],"application/vnd.ms-wpl":["wpl"],"application/vnd.ms-xpsdocument":["xps"],"application/vnd.mseq":["mseq"],"application/vnd.musician":["mus"],"application/vnd.muvee.style":["msty"],"application/vnd.mynfc":["taglet"],"application/vnd.neurolanguage.nlu":["nlu"],"application/vnd.nitf":["ntf","nitf"],"application/vnd.noblenet-directory":["nnd"],"application/vnd.noblenet-sealer":["nns"],"application/vnd.noblenet-web":["nnw"],"application/vnd.nokia.n-gage.data":["ngdat"],"application/vnd.nokia.n-gage.symbian.install":["n-gage"],"application/vnd.nokia.radio-preset":["rpst"],"application/vnd.nokia.radio-presets":["rpss"],"application/vnd.novadigm.edm":["edm"],"application/vnd.novadigm.edx":["edx"],"application/vnd.novadigm.ext":["ext"],"application/vnd.oasis.opendocument.chart":["odc"],"application/vnd.oasis.opendocument.chart-template":["otc"],"application/vnd.oasis.opendocument.database":["odb"],"application/vnd.oasis.opendocument.formula":["odf"],"application/vnd.oasis.opendocument.formula-template":["odft"],"application/vnd.oasis.opendocument.graphics":["odg"],"application/vnd.oasis.opendocument.graphics-template":["otg"],"application/vnd.oasis.opendocument.image":["odi"],"application/vnd.oasis.opendocument.image-template":["oti"],"application/vnd.oasis.opendocument.presentation":["odp"],"application/vnd.oasis.opendocument.presentation-template":["otp"],"application/vnd.oasis.opendocument.spreadsheet":["ods"],"application/vnd.oasis.opendocument.spreadsheet-template":["ots"],"application/vnd.oasis.opendocument.text":["odt"],"application/vnd.oasis.opendocument.text-master":["odm"],"application/vnd.oasis.opendocument.text-template":["ott"],"application/vnd.oasis.opendocument.text-web":["oth"],"application/vnd.olpc-sugar":["xo"],"application/vnd.oma.dd2+xml":["dd2"],"application/vnd.openofficeorg.extension":["oxt"],"application/vnd.openxmlformats-officedocument.presentationml.presentation":["pptx"],"application/vnd.openxmlformats-officedocument.presentationml.slide":["sldx"],"application/vnd.openxmlformats-officedocument.presentationml.slideshow":["ppsx"],"application/vnd.openxmlformats-officedocument.presentationml.template":["potx"],"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":["xlsx"],"application/vnd.openxmlformats-officedocument.spreadsheetml.template":["xltx"],"application/vnd.openxmlformats-officedocument.wordprocessingml.document":["docx"],"application/vnd.openxmlformats-officedocument.wordprocessingml.template":["dotx"],"application/vnd.osgeo.mapguide.package":["mgp"],"application/vnd.osgi.dp":["dp"],"application/vnd.osgi.subsystem":["esa"],"application/vnd.palm":["pdb","pqa","oprc"],"application/vnd.pawaafile":["paw"],"application/vnd.pg.format":["str"],"application/vnd.pg.osasli":["ei6"],"application/vnd.picsel":["efif"],"application/vnd.pmi.widget":["wg"],"application/vnd.pocketlearn":["plf"],"application/vnd.powerbuilder6":["pbd"],"application/vnd.previewsystems.box":["box"],"application/vnd.proteus.magazine":["mgz"],"application/vnd.publishare-delta-tree":["qps"],"application/vnd.pvi.ptid1":["ptid"],"application/vnd.quark.quarkxpress":["qxd","qxt","qwd","qwt","qxl","qxb"],"application/vnd.realvnc.bed":["bed"],"application/vnd.recordare.musicxml":["mxl"],"application/vnd.recordare.musicxml+xml":["musicxml"],"application/vnd.rig.cryptonote":["cryptonote"],"application/vnd.rim.cod":["cod"],"application/vnd.rn-realmedia":["rm"],"application/vnd.rn-realmedia-vbr":["rmvb"],"application/vnd.route66.link66+xml":["link66"],"application/vnd.sailingtracker.track":["st"],"application/vnd.seemail":["see"],"application/vnd.sema":["sema"],"application/vnd.semd":["semd"],"application/vnd.semf":["semf"],"application/vnd.shana.informed.formdata":["ifm"],"application/vnd.shana.informed.formtemplate":["itp"],"application/vnd.shana.informed.interchange":["iif"],"application/vnd.shana.informed.package":["ipk"],"application/vnd.simtech-mindmapper":["twd","twds"],"application/vnd.smaf":["mmf"],"application/vnd.smart.teacher":["teacher"],"application/vnd.solent.sdkm+xml":["sdkm","sdkd"],"application/vnd.spotfire.dxp":["dxp"],"application/vnd.spotfire.sfs":["sfs"],"application/vnd.stardivision.calc":["sdc"],"application/vnd.stardivision.draw":["sda"],"application/vnd.stardivision.impress":["sdd"],"application/vnd.stardivision.math":["smf"],"application/vnd.stardivision.writer":["sdw","vor"],"application/vnd.stardivision.writer-global":["sgl"],"application/vnd.stepmania.package":["smzip"],"application/vnd.stepmania.stepchart":["sm"],"application/vnd.sun.wadl+xml":["wadl"],"application/vnd.sun.xml.calc":["sxc"],"application/vnd.sun.xml.calc.template":["stc"],"application/vnd.sun.xml.draw":["sxd"],"application/vnd.sun.xml.draw.template":["std"],"application/vnd.sun.xml.impress":["sxi"],"application/vnd.sun.xml.impress.template":["sti"],"application/vnd.sun.xml.math":["sxm"],"application/vnd.sun.xml.writer":["sxw"],"application/vnd.sun.xml.writer.global":["sxg"],"application/vnd.sun.xml.writer.template":["stw"],"application/vnd.sus-calendar":["sus","susp"],"application/vnd.svd":["svd"],"application/vnd.symbian.install":["sis","sisx"],"application/vnd.syncml+xml":["xsm"],"application/vnd.syncml.dm+wbxml":["bdm"],"application/vnd.syncml.dm+xml":["xdm"],"application/vnd.tao.intent-module-archive":["tao"],"application/vnd.tcpdump.pcap":["pcap","cap","dmp"],"application/vnd.tmobile-livetv":["tmo"],"application/vnd.trid.tpt":["tpt"],"application/vnd.triscape.mxs":["mxs"],"application/vnd.trueapp":["tra"],"application/vnd.ufdl":["ufd","ufdl"],"application/vnd.uiq.theme":["utz"],"application/vnd.umajin":["umj"],"application/vnd.unity":["unityweb"],"application/vnd.uoml+xml":["uoml"],"application/vnd.vcx":["vcx"],"application/vnd.visio":["vsd","vst","vss","vsw"],"application/vnd.visionary":["vis"],"application/vnd.vsf":["vsf"],"application/vnd.wap.wbxml":["wbxml"],"application/vnd.wap.wmlc":["wmlc"],"application/vnd.wap.wmlscriptc":["wmlsc"],"application/vnd.webturbo":["wtb"],"application/vnd.wolfram.player":["nbp"],"application/vnd.wordperfect":["wpd"],"application/vnd.wqd":["wqd"],"application/vnd.wt.stf":["stf"],"application/vnd.xara":["xar"],"application/vnd.xfdl":["xfdl"],"application/vnd.yamaha.hv-dic":["hvd"],"application/vnd.yamaha.hv-script":["hvs"],"application/vnd.yamaha.hv-voice":["hvp"],"application/vnd.yamaha.openscoreformat":["osf"],"application/vnd.yamaha.openscoreformat.osfpvg+xml":["osfpvg"],"application/vnd.yamaha.smaf-audio":["saf"],"application/vnd.yamaha.smaf-phrase":["spf"],"application/vnd.yellowriver-custom-menu":["cmp"],"application/vnd.zul":["zir","zirz"],"application/vnd.zzazz.deck+xml":["zaz"],"application/voicexml+xml":["vxml"],"application/wasm":["wasm"],"application/widget":["wgt"],"application/winhlp":["hlp"],"application/wsdl+xml":["wsdl"],"application/wspolicy+xml":["wspolicy"],"application/x-7z-compressed":["7z"],"application/x-abiword":["abw"],"application/x-ace-compressed":["ace"],"application/x-apple-diskimage":[],"application/x-arj":["arj"],"application/x-authorware-bin":["aab","x32","u32","vox"],"application/x-authorware-map":["aam"],"application/x-authorware-seg":["aas"],"application/x-bcpio":["bcpio"],"application/x-bdoc":[],"application/x-bittorrent":["torrent"],"application/x-blorb":["blb","blorb"],"application/x-bzip":["bz"],"application/x-bzip2":["bz2","boz"],"application/x-cbr":["cbr","cba","cbt","cbz","cb7"],"application/x-cdlink":["vcd"],"application/x-cfs-compressed":["cfs"],"application/x-chat":["chat"],"application/x-chess-pgn":["pgn"],"application/x-chrome-extension":["crx"],"application/x-cocoa":["cco"],"application/x-conference":["nsc"],"application/x-cpio":["cpio"],"application/x-csh":["csh"],"application/x-debian-package":["udeb"],"application/x-dgc-compressed":["dgc"],"application/x-director":["dir","dcr","dxr","cst","cct","cxt","w3d","fgd","swa"],"application/x-doom":["wad"],"application/x-dtbncx+xml":["ncx"],"application/x-dtbook+xml":["dtb"],"application/x-dtbresource+xml":["res"],"application/x-dvi":["dvi"],"application/x-envoy":["evy"],"application/x-eva":["eva"],"application/x-font-bdf":["bdf"],"application/x-font-ghostscript":["gsf"],"application/x-font-linux-psf":["psf"],"application/x-font-pcf":["pcf"],"application/x-font-snf":["snf"],"application/x-font-type1":["pfa","pfb","pfm","afm"],"application/x-freearc":["arc"],"application/x-futuresplash":["spl"],"application/x-gca-compressed":["gca"],"application/x-glulx":["ulx"],"application/x-gnumeric":["gnumeric"],"application/x-gramps-xml":["gramps"],"application/x-gtar":["gtar"],"application/x-hdf":["hdf"],"application/x-httpd-php":["php"],"application/x-install-instructions":["install"],"application/x-iso9660-image":[],"application/x-java-archive-diff":["jardiff"],"application/x-java-jnlp-file":["jnlp"],"application/x-latex":["latex"],"application/x-lua-bytecode":["luac"],"application/x-lzh-compressed":["lzh","lha"],"application/x-makeself":["run"],"application/x-mie":["mie"],"application/x-mobipocket-ebook":["prc","mobi"],"application/x-ms-application":["application"],"application/x-ms-shortcut":["lnk"],"application/x-ms-wmd":["wmd"],"application/x-ms-wmz":["wmz"],"application/x-ms-xbap":["xbap"],"application/x-msaccess":["mdb"],"application/x-msbinder":["obd"],"application/x-mscardfile":["crd"],"application/x-msclip":["clp"],"application/x-msdos-program":[],"application/x-msdownload":["com","bat"],"application/x-msmediaview":["mvb","m13","m14"],"application/x-msmetafile":["wmf","emf","emz"],"application/x-msmoney":["mny"],"application/x-mspublisher":["pub"],"application/x-msschedule":["scd"],"application/x-msterminal":["trm"],"application/x-mswrite":["wri"],"application/x-netcdf":["nc","cdf"],"application/x-ns-proxy-autoconfig":["pac"],"application/x-nzb":["nzb"],"application/x-perl":["pl","pm"],"application/x-pilot":[],"application/x-pkcs12":["p12","pfx"],"application/x-pkcs7-certificates":["p7b","spc"],"application/x-pkcs7-certreqresp":["p7r"],"application/x-rar-compressed":["rar"],"application/x-redhat-package-manager":["rpm"],"application/x-research-info-systems":["ris"],"application/x-sea":["sea"],"application/x-sh":["sh"],"application/x-shar":["shar"],"application/x-shockwave-flash":["swf"],"application/x-silverlight-app":["xap"],"application/x-sql":["sql"],"application/x-stuffit":["sit"],"application/x-stuffitx":["sitx"],"application/x-subrip":["srt"],"application/x-sv4cpio":["sv4cpio"],"application/x-sv4crc":["sv4crc"],"application/x-t3vm-image":["t3"],"application/x-tads":["gam"],"application/x-tar":["tar"],"application/x-tcl":["tcl","tk"],"application/x-tex":["tex"],"application/x-tex-tfm":["tfm"],"application/x-texinfo":["texinfo","texi"],"application/x-tgif":["obj"],"application/x-ustar":["ustar"],"application/x-virtualbox-hdd":["hdd"],"application/x-virtualbox-ova":["ova"],"application/x-virtualbox-ovf":["ovf"],"application/x-virtualbox-vbox":["vbox"],"application/x-virtualbox-vbox-extpack":["vbox-extpack"],"application/x-virtualbox-vdi":["vdi"],"application/x-virtualbox-vhd":["vhd"],"application/x-virtualbox-vmdk":["vmdk"],"application/x-wais-source":["src"],"application/x-web-app-manifest+json":["webapp"],"application/x-x509-ca-cert":["der","crt","pem"],"application/x-xfig":["fig"],"application/x-xliff+xml":["xlf"],"application/x-xpinstall":["xpi"],"application/x-xz":["xz"],"application/x-zmachine":["z1","z2","z3","z4","z5","z6","z7","z8"],"application/xaml+xml":["xaml"],"application/xcap-diff+xml":["xdf"],"application/xenc+xml":["xenc"],"application/xhtml+xml":["xhtml","xht"],"application/xml":["xml","xsl","xsd","rng"],"application/xml-dtd":["dtd"],"application/xop+xml":["xop"],"application/xproc+xml":["xpl"],"application/xslt+xml":["xslt"],"application/xspf+xml":["xspf"],"application/xv+xml":["mxml","xhvml","xvml","xvm"],"application/yang":["yang"],"application/yin+xml":["yin"],"application/zip":["zip"],"audio/3gpp":[],"audio/adpcm":["adp"],"audio/basic":["au","snd"],"audio/midi":["mid","midi","kar","rmi"],"audio/mp3":[],"audio/mp4":["m4a","mp4a"],"audio/mpeg":["mpga","mp2","mp2a","mp3","m2a","m3a"],"audio/ogg":["oga","ogg","spx"],"audio/s3m":["s3m"],"audio/silk":["sil"],"audio/vnd.dece.audio":["uva","uvva"],"audio/vnd.digital-winds":["eol"],"audio/vnd.dra":["dra"],"audio/vnd.dts":["dts"],"audio/vnd.dts.hd":["dtshd"],"audio/vnd.lucent.voice":["lvp"],"audio/vnd.ms-playready.media.pya":["pya"],"audio/vnd.nuera.ecelp4800":["ecelp4800"],"audio/vnd.nuera.ecelp7470":["ecelp7470"],"audio/vnd.nuera.ecelp9600":["ecelp9600"],"audio/vnd.rip":["rip"],"audio/wav":["wav"],"audio/wave":[],"audio/webm":["weba"],"audio/x-aac":["aac"],"audio/x-aiff":["aif","aiff","aifc"],"audio/x-caf":["caf"],"audio/x-flac":["flac"],"audio/x-m4a":[],"audio/x-matroska":["mka"],"audio/x-mpegurl":["m3u"],"audio/x-ms-wax":["wax"],"audio/x-ms-wma":["wma"],"audio/x-pn-realaudio":["ram","ra"],"audio/x-pn-realaudio-plugin":["rmp"],"audio/x-realaudio":[],"audio/x-wav":[],"audio/xm":["xm"],"chemical/x-cdx":["cdx"],"chemical/x-cif":["cif"],"chemical/x-cmdf":["cmdf"],"chemical/x-cml":["cml"],"chemical/x-csml":["csml"],"chemical/x-xyz":["xyz"],"font/collection":["ttc"],"font/otf":["otf"],"font/ttf":["ttf"],"font/woff":["woff"],"font/woff2":["woff2"],"image/apng":["apng"],"image/bmp":["bmp"],"image/cgm":["cgm"],"image/g3fax":["g3"],"image/gif":["gif"],"image/ief":["ief"],"image/jp2":["jp2","jpg2"],"image/jpeg":["jpeg","jpg","jpe"],"image/jpm":["jpm"],"image/jpx":["jpx","jpf"],"image/ktx":["ktx"],"image/png":["png"],"image/prs.btif":["btif"],"image/sgi":["sgi"],"image/svg+xml":["svg","svgz"],"image/tiff":["tiff","tif"],"image/vnd.adobe.photoshop":["psd"],"image/vnd.dece.graphic":["uvi","uvvi","uvg","uvvg"],"image/vnd.djvu":["djvu","djv"],"image/vnd.dvb.subtitle":[],"image/vnd.dwg":["dwg"],"image/vnd.dxf":["dxf"],"image/vnd.fastbidsheet":["fbs"],"image/vnd.fpx":["fpx"],"image/vnd.fst":["fst"],"image/vnd.fujixerox.edmics-mmr":["mmr"],"image/vnd.fujixerox.edmics-rlc":["rlc"],"image/vnd.ms-modi":["mdi"],"image/vnd.ms-photo":["wdp"],"image/vnd.net-fpx":["npx"],"image/vnd.wap.wbmp":["wbmp"],"image/vnd.xiff":["xif"],"image/webp":["webp"],"image/x-3ds":["3ds"],"image/x-cmu-raster":["ras"],"image/x-cmx":["cmx"],"image/x-freehand":["fh","fhc","fh4","fh5","fh7"],"image/x-icon":["ico"],"image/x-jng":["jng"],"image/x-mrsid-image":["sid"],"image/x-ms-bmp":[],"image/x-pcx":["pcx"],"image/x-pict":["pic","pct"],"image/x-portable-anymap":["pnm"],"image/x-portable-bitmap":["pbm"],"image/x-portable-graymap":["pgm"],"image/x-portable-pixmap":["ppm"],"image/x-rgb":["rgb"],"image/x-tga":["tga"],"image/x-xbitmap":["xbm"],"image/x-xpixmap":["xpm"],"image/x-xwindowdump":["xwd"],"message/rfc822":["eml","mime"],"model/gltf+json":["gltf"],"model/gltf-binary":["glb"],"model/iges":["igs","iges"],"model/mesh":["msh","mesh","silo"],"model/vnd.collada+xml":["dae"],"model/vnd.dwf":["dwf"],"model/vnd.gdl":["gdl"],"model/vnd.gtw":["gtw"],"model/vnd.mts":["mts"],"model/vnd.vtu":["vtu"],"model/vrml":["wrl","vrml"],"model/x3d+binary":["x3db","x3dbz"],"model/x3d+vrml":["x3dv","x3dvz"],"model/x3d+xml":["x3d","x3dz"],"text/cache-manifest":["appcache","manifest"],"text/calendar":["ics","ifb"],"text/coffeescript":["coffee","litcoffee"],"text/css":["css"],"text/csv":["csv"],"text/hjson":["hjson"],"text/html":["html","htm","shtml"],"text/jade":["jade"],"text/jsx":["jsx"],"text/less":["less"],"text/markdown":["markdown","md"],"text/mathml":["mml"],"text/n3":["n3"],"text/plain":["txt","text","conf","def","list","log","in","ini"],"text/prs.lines.tag":["dsc"],"text/richtext":["rtx"],"text/rtf":[],"text/sgml":["sgml","sgm"],"text/slim":["slim","slm"],"text/stylus":["stylus","styl"],"text/tab-separated-values":["tsv"],"text/troff":["t","tr","roff","man","me","ms"],"text/turtle":["ttl"],"text/uri-list":["uri","uris","urls"],"text/vcard":["vcard"],"text/vnd.curl":["curl"],"text/vnd.curl.dcurl":["dcurl"],"text/vnd.curl.mcurl":["mcurl"],"text/vnd.curl.scurl":["scurl"],"text/vnd.dvb.subtitle":["sub"],"text/vnd.fly":["fly"],"text/vnd.fmi.flexstor":["flx"],"text/vnd.graphviz":["gv"],"text/vnd.in3d.3dml":["3dml"],"text/vnd.in3d.spot":["spot"],"text/vnd.sun.j2me.app-descriptor":["jad"],"text/vnd.wap.wml":["wml"],"text/vnd.wap.wmlscript":["wmls"],"text/vtt":["vtt"],"text/x-asm":["s","asm"],"text/x-c":["c","cc","cxx","cpp","h","hh","dic"],"text/x-component":["htc"],"text/x-fortran":["f","for","f77","f90"],"text/x-handlebars-template":["hbs"],"text/x-java-source":["java"],"text/x-lua":["lua"],"text/x-markdown":["mkd"],"text/x-nfo":["nfo"],"text/x-opml":["opml"],"text/x-org":[],"text/x-pascal":["p","pas"],"text/x-processing":["pde"],"text/x-sass":["sass"],"text/x-scss":["scss"],"text/x-setext":["etx"],"text/x-sfv":["sfv"],"text/x-suse-ymp":["ymp"],"text/x-uuencode":["uu"],"text/x-vcalendar":["vcs"],"text/x-vcard":["vcf"],"text/xml":[],"text/yaml":["yaml","yml"],"video/3gpp":["3gp","3gpp"],"video/3gpp2":["3g2"],"video/h261":["h261"],"video/h263":["h263"],"video/h264":["h264"],"video/jpeg":["jpgv"],"video/jpm":["jpgm"],"video/mj2":["mj2","mjp2"],"video/mp2t":["ts"],"video/mp4":["mp4","mp4v","mpg4"],"video/mpeg":["mpeg","mpg","mpe","m1v","m2v"],"video/ogg":["ogv"],"video/quicktime":["qt","mov"],"video/vnd.dece.hd":["uvh","uvvh"],"video/vnd.dece.mobile":["uvm","uvvm"],"video/vnd.dece.pd":["uvp","uvvp"],"video/vnd.dece.sd":["uvs","uvvs"],"video/vnd.dece.video":["uvv","uvvv"],"video/vnd.dvb.file":["dvb"],"video/vnd.fvt":["fvt"],"video/vnd.mpegurl":["mxu","m4u"],"video/vnd.ms-playready.media.pyv":["pyv"],"video/vnd.uvvu.mp4":["uvu","uvvu"],"video/vnd.vivo":["viv"],"video/webm":["webm"],"video/x-f4v":["f4v"],"video/x-fli":["fli"],"video/x-flv":["flv"],"video/x-m4v":["m4v"],"video/x-matroska":["mkv","mk3d","mks"],"video/x-mng":["mng"],"video/x-ms-asf":["asf","asx"],"video/x-ms-vob":["vob"],"video/x-ms-wm":["wm"],"video/x-ms-wmv":["wmv"],"video/x-ms-wmx":["wmx"],"video/x-ms-wvx":["wvx"],"video/x-msvideo":["avi"],"video/x-sgi-movie":["movie"],"video/x-smv":["smv"],"x-conference/x-cooltalk":["ice"]}});var mC=y((_le,fC)=>{var ble=A("path"),f7=A("fs");function ja(){this.types=Object.create(null),this.extensions=Object.create(null)}ja.prototype.define=function(t){for(var e in t){for(var r=t[e],n=0;n<r.length;n++)process.env.DEBUG_MIME&&this.types[r[n]]&&console.warn((this._loading||"define()").replace(/.*\//,""),'changes "'+r[n]+'" extension type from '+this.types[r[n]]+" to "+e),this.types[r[n]]=e;this.extensions[e]||(this.extensions[e]=r[0])}};ja.prototype.load=function(t){this._loading=t;var e={},r=f7.readFileSync(t,"ascii"),n=r.split(/[\r\n]+/);n.forEach(function(i){var a=i.replace(/\s*#.*|^\s*|\s*$/g,"").split(/\s+/);e[a.shift()]=a}),this.define(e),this._loading=null};ja.prototype.lookup=function(t,e){var r=t.replace(/^.*[\.\/\\]/,"").toLowerCase();return this.types[r]||e||this.default_type};ja.prototype.extension=function(t){var e=t.match(/^\s*([^;\s]*)(?:;|\s|$)/)[1].toLowerCase();return this.extensions[e]};var Ra=new ja;Ra.define(dC());Ra.default_type=Ra.lookup("bin");Ra.Mime=ja;Ra.charsets={lookup:function(t,e){return/^text\/|^application\/(javascript|json)/.test(t)?"UTF-8":e}};fC.exports=Ra});var gC=y((wle,hC)=>{var Da=1e3,Oa=Da*60,Na=Oa*60,hi=Na*24,m7=hi*7,h7=hi*365.25;hC.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return g7(t);if(r==="number"&&isFinite(t))return e.long?y7(t):v7(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function g7(t){if(t=String(t),!(t.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(t);if(e){var r=parseFloat(e[1]),n=(e[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*h7;case"weeks":case"week":case"w":return r*m7;case"days":case"day":case"d":return r*hi;case"hours":case"hour":case"hrs":case"hr":case"h":return r*Na;case"minutes":case"minute":case"mins":case"min":case"m":return r*Oa;case"seconds":case"second":case"secs":case"sec":case"s":return r*Da;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function v7(t){var e=Math.abs(t);return e>=hi?Math.round(t/hi)+"d":e>=Na?Math.round(t/Na)+"h":e>=Oa?Math.round(t/Oa)+"m":e>=Da?Math.round(t/Da)+"s":t+"ms"}function y7(t){var e=Math.abs(t);return e>=hi?td(t,e,hi,"day"):e>=Na?td(t,e,Na,"hour"):e>=Oa?td(t,e,Oa,"minute"):e>=Da?td(t,e,Da,"second"):t+" ms"}function td(t,e,r,n){var i=e>=r*1.5;return Math.round(t/r)+" "+n+(i?"s":"")}});var kb=y((Sle,vC)=>{"use strict";vC.exports=x7;function x7(t,e,r){if(typeof e!="string")throw new TypeError("argument str must be a string");var n=e.indexOf("=");if(n===-1)return-2;var i=e.slice(n+1).split(","),a=[];a.type=e.slice(0,n);for(var o=0;o<i.length;o++){var s=i[o].split("-"),c=parseInt(s[0],10),l=parseInt(s[1],10);isNaN(c)?(c=t-l,l=t-1):isNaN(l)&&(l=t-1),l>t-1&&(l=t-1),!(isNaN(c)||isNaN(l)||c>l||c<0)&&a.push({start:c,end:l})}return a.length<1?-1:r&&r.combine?b7(a):a}function b7(t){for(var e=t.map(_7).sort(k7),r=0,n=1;n<e.length;n++){var i=e[n],a=e[r];i.start>a.end+1?e[++r]=i:i.end>a.end&&(a.end=i.end,a.index=Math.min(a.index,i.index))}e.length=r+1;var o=e.sort(S7).map(w7);return o.type=t.type,o}function _7(t,e){return{start:t.start,end:t.end,index:e}}function w7(t){return{start:t.start,end:t.end}}function S7(t,e){return t.index-e.index}function k7(t,e){return t.start-e.start}});var ad=y((kle,Cb)=>{"use strict";var $b=ni(),De=Yt()("send"),gi=Ir()("send"),$7=rx(),I7=dc(),bC=fc(),P7=wb(),E7=Sb(),nd=A("fs"),Pb=mC(),_C=gC(),T7=Xs(),C7=kb(),vc=A("path"),z7=Ls(),wC=A("stream"),R7=A("util"),j7=vc.extname,SC=vc.join,Ib=vc.normalize,Tb=vc.resolve,rd=vc.sep,D7=/^ *bytes=/,kC=60*60*24*365*1e3,yC=/(?:^|[\\/])\.\.(?:[\\/]|$)/;Cb.exports=O7;Cb.exports.mime=Pb;function O7(t,e,r){return new fe(t,e,r)}function fe(t,e,r){wC.call(this);var n=r||{};if(this.options=n,this.path=e,this.req=t,this._acceptRanges=n.acceptRanges!==void 0?!!n.acceptRanges:!0,this._cacheControl=n.cacheControl!==void 0?!!n.cacheControl:!0,this._etag=n.etag!==void 0?!!n.etag:!0,this._dotfiles=n.dotfiles!==void 0?n.dotfiles:"ignore",this._dotfiles!=="ignore"&&this._dotfiles!=="allow"&&this._dotfiles!=="deny")throw new TypeError('dotfiles option must be "allow", "deny", or "ignore"');this._hidden=!!n.hidden,n.hidden!==void 0&&gi("hidden: use dotfiles: '"+(this._hidden?"allow":"ignore")+"' instead"),n.dotfiles===void 0&&(this._dotfiles=void 0),this._extensions=n.extensions!==void 0?Eb(n.extensions,"extensions option"):[],this._immutable=n.immutable!==void 0?!!n.immutable:!1,this._index=n.index!==void 0?Eb(n.index,"index option"):["index.html"],this._lastModified=n.lastModified!==void 0?!!n.lastModified:!0,this._maxage=n.maxAge||n.maxage,this._maxage=typeof this._maxage=="string"?_C(this._maxage):Number(this._maxage),this._maxage=isNaN(this._maxage)?0:Math.min(Math.max(0,this._maxage),kC),this._root=n.root?Tb(n.root):null,!this._root&&n.from&&this.from(n.from)}R7.inherits(fe,wC);fe.prototype.etag=gi.function(function(e){return this._etag=!!e,De("etag %s",this._etag),this},"send.etag: pass etag as option");fe.prototype.hidden=gi.function(function(e){return this._hidden=!!e,this._dotfiles=void 0,De("hidden %s",this._hidden),this},"send.hidden: use dotfiles option");fe.prototype.index=gi.function(function(e){var r=e?Eb(e,"paths argument"):[];return De("index %o",e),this._index=r,this},"send.index: pass index as option");fe.prototype.root=function(e){return this._root=Tb(String(e)),De("root %s",this._root),this};fe.prototype.from=gi.function(fe.prototype.root,"send.from: pass root as option");fe.prototype.root=gi.function(fe.prototype.root,"send.root: pass root as option");fe.prototype.maxage=gi.function(function(e){return this._maxage=typeof e=="string"?_C(e):Number(e),this._maxage=isNaN(this._maxage)?0:Math.min(Math.max(0,this._maxage),kC),De("max-age %d",this._maxage),this},"send.maxage: pass maxAge as option");fe.prototype.error=function(e,r){if(IC(this,"error"))return this.emit("error",U7(e,r));var n=this.res,i=z7.message[e]||String(e),a=$C("Error",bC(i));N7(n),r&&r.headers&&H7(n,r.headers),n.statusCode=e,n.setHeader("Content-Type","text/html; charset=UTF-8"),n.setHeader("Content-Length",Buffer.byteLength(a)),n.setHeader("Content-Security-Policy","default-src 'none'"),n.setHeader("X-Content-Type-Options","nosniff"),n.end(a)};fe.prototype.hasTrailingSlash=function(){return this.path[this.path.length-1]==="/"};fe.prototype.isConditionalGET=function(){return this.req.headers["if-match"]||this.req.headers["if-unmodified-since"]||this.req.headers["if-none-match"]||this.req.headers["if-modified-since"]};fe.prototype.isPreconditionFailure=function(){var e=this.req,r=this.res,n=e.headers["if-match"];if(n){var i=r.getHeader("ETag");return!i||n!=="*"&&Z7(n).every(function(s){return s!==i&&s!=="W/"+i&&"W/"+s!==i})}var a=id(e.headers["if-unmodified-since"]);if(!isNaN(a)){var o=id(r.getHeader("Last-Modified"));return isNaN(o)||o>a}return!1};fe.prototype.removeContentHeaderFields=function(){var e=this.res;e.removeHeader("Content-Encoding"),e.removeHeader("Content-Language"),e.removeHeader("Content-Length"),e.removeHeader("Content-Range"),e.removeHeader("Content-Type")};fe.prototype.notModified=function(){var e=this.res;De("not modified"),this.removeContentHeaderFields(),e.statusCode=304,e.end()};fe.prototype.headersAlreadySent=function(){var e=new Error("Can't set headers after they are sent.");De("headers already sent"),this.error(500,e)};fe.prototype.isCachable=function(){var e=this.res.statusCode;return e>=200&&e<300||e===304};fe.prototype.onStatError=function(e){switch(e.code){case"ENAMETOOLONG":case"ENOENT":case"ENOTDIR":this.error(404,e);break;default:this.error(500,e);break}};fe.prototype.isFresh=function(){return E7(this.req.headers,{etag:this.res.getHeader("ETag"),"last-modified":this.res.getHeader("Last-Modified")})};fe.prototype.isRangeFresh=function(){var e=this.req.headers["if-range"];if(!e)return!0;if(e.indexOf('"')!==-1){var r=this.res.getHeader("ETag");return!!(r&&e.indexOf(r)!==-1)}var n=this.res.getHeader("Last-Modified");return id(n)<=id(e)};fe.prototype.redirect=function(e){var r=this.res;if(IC(this,"directory")){this.emit("directory",r,e);return}if(this.hasTrailingSlash()){this.error(403);return}var n=I7(A7(this.path+"/")),i=$C("Redirecting","Redirecting to "+bC(n));r.statusCode=301,r.setHeader("Content-Type","text/html; charset=UTF-8"),r.setHeader("Content-Length",Buffer.byteLength(i)),r.setHeader("Content-Security-Policy","default-src 'none'"),r.setHeader("X-Content-Type-Options","nosniff"),r.setHeader("Location",n),r.end(i)};fe.prototype.pipe=function(e){var r=this._root;this.res=e;var n=F7(this.path);if(n===-1)return this.error(400),e;if(~n.indexOf("\0"))return this.error(400),e;var i;if(r!==null){if(n&&(n=Ib("."+rd+n)),yC.test(n))return De('malicious path "%s"',n),this.error(403),e;i=n.split(rd),n=Ib(SC(r,n))}else{if(yC.test(n))return De('malicious path "%s"',n),this.error(403),e;i=Ib(n).split(rd),n=Tb(n)}if(M7(i)){var a=this._dotfiles;switch(a===void 0&&(a=i[i.length-1][0]==="."?this._hidden?"allow":"ignore":"allow"),De('%s dotfile "%s"',a,n),a){case"allow":break;case"deny":return this.error(403),e;case"ignore":default:return this.error(404),e}}return this._index.length&&this.hasTrailingSlash()?(this.sendIndex(n),e):(this.sendFile(n),e)};fe.prototype.send=function(e,r){var n=r.size,i=this.options,a={},o=this.res,s=this.req,c=s.headers.range,l=i.start||0;if(L7(o)){this.headersAlreadySent();return}if(De('pipe "%s"',e),this.setHeader(e,r),this.type(e),this.isConditionalGET()){if(this.isPreconditionFailure()){this.error(412);return}if(this.isCachable()&&this.isFresh()){this.notModified();return}}if(n=Math.max(0,n-l),i.end!==void 0){var u=i.end-l+1;n>u&&(n=u)}if(this._acceptRanges&&D7.test(c)){if(c=C7(n,c,{combine:!0}),this.isRangeFresh()||(De("range stale"),c=-2),c===-1)return De("range unsatisfiable"),o.setHeader("Content-Range",xC("bytes",n)),this.error(416,{headers:{"Content-Range":o.getHeader("Content-Range")}});c!==-2&&c.length===1&&(De("range %j",c),o.statusCode=206,o.setHeader("Content-Range",xC("bytes",n,c[0])),l+=c[0].start,n=c[0].end-c[0].start+1)}for(var p in i)a[p]=i[p];if(a.start=l,a.end=Math.max(l,l+n-1),o.setHeader("Content-Length",n),s.method==="HEAD"){o.end();return}this.stream(e,a)};fe.prototype.sendFile=function(e){var r=0,n=this;De('stat "%s"',e),nd.stat(e,function(o,s){if(o&&o.code==="ENOENT"&&!j7(e)&&e[e.length-1]!==rd)return i(o);if(o)return n.onStatError(o);if(s.isDirectory())return n.redirect(e);n.emit("file",e,s),n.send(e,s)});function i(a){if(n._extensions.length<=r)return a?n.onStatError(a):n.error(404);var o=e+"."+n._extensions[r++];De('stat "%s"',o),nd.stat(o,function(s,c){if(s)return i(s);if(c.isDirectory())return i();n.emit("file",o,c),n.send(o,c)})}};fe.prototype.sendIndex=function(e){var r=-1,n=this;function i(a){if(++r>=n._index.length)return a?n.onStatError(a):n.error(404);var o=SC(e,n._index[r]);De('stat "%s"',o),nd.stat(o,function(s,c){if(s)return i(s);if(c.isDirectory())return i();n.emit("file",o,c),n.send(o,c)})}i()};fe.prototype.stream=function(e,r){var n=this,i=this.res,a=nd.createReadStream(e,r);this.emit("stream",a),a.pipe(i);function o(){$7(a,!0)}T7(i,o),a.on("error",function(c){o(),n.onStatError(c)}),a.on("end",function(){n.emit("end")})};fe.prototype.type=function(e){var r=this.res;if(!r.getHeader("Content-Type")){var n=Pb.lookup(e);if(!n){De("no content-type");return}var i=Pb.charsets.lookup(n);De("content-type %s",n),r.setHeader("Content-Type",n+(i?"; charset="+i:""))}};fe.prototype.setHeader=function(e,r){var n=this.res;if(this.emit("headers",n,e,r),this._acceptRanges&&!n.getHeader("Accept-Ranges")&&(De("accept ranges"),n.setHeader("Accept-Ranges","bytes")),this._cacheControl&&!n.getHeader("Cache-Control")){var i="public, max-age="+Math.floor(this._maxage/1e3);this._immutable&&(i+=", immutable"),De("cache-control %s",i),n.setHeader("Cache-Control",i)}if(this._lastModified&&!n.getHeader("Last-Modified")){var a=r.mtime.toUTCString();De("modified %s",a),n.setHeader("Last-Modified",a)}if(this._etag&&!n.getHeader("ETag")){var o=P7(r);De("etag %s",o),n.setHeader("ETag",o)}};function N7(t){for(var e=q7(t),r=0;r<e.length;r++)t.removeHeader(e[r])}function A7(t){for(var e=0;e<t.length&&t[e]==="/";e++);return e>1?"/"+t.substr(e):t}function M7(t){for(var e=0;e<t.length;e++){var r=t[e];if(r.length>1&&r[0]===".")return!0}return!1}function xC(t,e,r){return t+" "+(r?r.start+"-"+r.end:"*")+"/"+e}function $C(t,e){return`<!DOCTYPE html>
|
|
40
40
|
<html lang="en">
|
|
41
41
|
<head>
|
|
42
42
|
<meta charset="utf-8">
|
|
@@ -47,7 +47,7 @@ return fn.apply(this, arguments)
|
|
|
47
47
|
</body>
|
|
48
48
|
</html>
|
|
49
49
|
`}function U7(t,e){return e?e instanceof Error?$b(t,e,{expose:!1}):$b(t,e):$b(t)}function F7(t){try{return decodeURIComponent(t)}catch{return-1}}function q7(t){return typeof t.getHeaderNames!="function"?Object.keys(t._headers||{}):t.getHeaderNames()}function IC(t,e){var r=typeof t.listenerCount!="function"?t.listeners(e).length:t.listenerCount(e);return r>0}function L7(t){return typeof t.headersSent!="boolean"?!!t._header:t.headersSent}function Eb(t,e){for(var r=[].concat(t||[]),n=0;n<r.length;n++)if(typeof r[n]!="string")throw new TypeError(e+" must be array of strings or false");return r}function id(t){var e=t&&Date.parse(t);return typeof e=="number"?e:NaN}function Z7(t){for(var e=0,r=[],n=0,i=0,a=t.length;i<a;i++)switch(t.charCodeAt(i)){case 32:n===e&&(n=e=i+1);break;case 44:n!==e&&r.push(t.substring(n,e)),n=e=i+1;break;default:e=i+1;break}return n!==e&&r.push(t.substring(n,e)),r}function H7(t,e){for(var r=Object.keys(e),n=0;n<r.length;n++){var i=r[n];t.setHeader(i,e[i])}}});var EC=y(($le,PC)=>{"use strict";PC.exports=B7;function B7(t){if(!t)throw new TypeError("argument req is required");var e=W7(t.headers["x-forwarded-for"]||""),r=V7(t),n=[r].concat(e);return n}function V7(t){return t.socket?t.socket.remoteAddress:t.connection.remoteAddress}function W7(t){for(var e=t.length,r=[],n=t.length,i=t.length-1;i>=0;i--)switch(t.charCodeAt(i)){case 32:n===e&&(n=e=i);break;case 44:n!==e&&r.push(t.substring(n,e)),n=e=i;break;default:n=i;break}return n!==e&&r.push(t.substring(n,e)),r}});var CC=y((TC,yc)=>{(function(){var t,e,r,n,i,a,o,s,c;e={},s=this,typeof yc<"u"&&yc!==null&&yc.exports?yc.exports=e:s.ipaddr=e,o=function(l,u,p,d){var f,m;if(l.length!==u.length)throw new Error("ipaddr: cannot match CIDR for objects with different lengths");for(f=0;d>0;){if(m=p-d,m<0&&(m=0),l[f]>>m!==u[f]>>m)return!1;d-=p,f+=1}return!0},e.subnetMatch=function(l,u,p){var d,f,m,h,g;p==null&&(p="unicast");for(m in u)for(h=u[m],h[0]&&!(h[0]instanceof Array)&&(h=[h]),d=0,f=h.length;d<f;d++)if(g=h[d],l.kind()===g[0].kind()&&l.match.apply(l,g))return m;return p},e.IPv4=function(){function l(u){var p,d,f;if(u.length!==4)throw new Error("ipaddr: ipv4 octet count should be 4");for(p=0,d=u.length;p<d;p++)if(f=u[p],!(0<=f&&f<=255))throw new Error("ipaddr: ipv4 octet should fit in 8 bits");this.octets=u}return l.prototype.kind=function(){return"ipv4"},l.prototype.toString=function(){return this.octets.join(".")},l.prototype.toNormalizedString=function(){return this.toString()},l.prototype.toByteArray=function(){return this.octets.slice(0)},l.prototype.match=function(u,p){var d;if(p===void 0&&(d=u,u=d[0],p=d[1]),u.kind()!=="ipv4")throw new Error("ipaddr: cannot match ipv4 address with non-ipv4 one");return o(this.octets,u.octets,8,p)},l.prototype.SpecialRanges={unspecified:[[new l([0,0,0,0]),8]],broadcast:[[new l([255,255,255,255]),32]],multicast:[[new l([224,0,0,0]),4]],linkLocal:[[new l([169,254,0,0]),16]],loopback:[[new l([127,0,0,0]),8]],carrierGradeNat:[[new l([100,64,0,0]),10]],private:[[new l([10,0,0,0]),8],[new l([172,16,0,0]),12],[new l([192,168,0,0]),16]],reserved:[[new l([192,0,0,0]),24],[new l([192,0,2,0]),24],[new l([192,88,99,0]),24],[new l([198,51,100,0]),24],[new l([203,0,113,0]),24],[new l([240,0,0,0]),4]]},l.prototype.range=function(){return e.subnetMatch(this,this.SpecialRanges)},l.prototype.toIPv4MappedAddress=function(){return e.IPv6.parse("::ffff:"+this.toString())},l.prototype.prefixLengthFromSubnetMask=function(){var u,p,d,f,m,h,g;for(g={0:8,128:7,192:6,224:5,240:4,248:3,252:2,254:1,255:0},u=0,m=!1,p=d=3;d>=0;p=d+=-1)if(f=this.octets[p],f in g){if(h=g[f],m&&h!==0)return null;h!==8&&(m=!0),u+=h}else return null;return 32-u},l}(),r="(0?\\d+|0x[a-f0-9]+)",n={fourOctet:new RegExp("^"+r+"\\."+r+"\\."+r+"\\."+r+"$","i"),longValue:new RegExp("^"+r+"$","i")},e.IPv4.parser=function(l){var u,p,d,f,m;if(p=function(h){return h[0]==="0"&&h[1]!=="x"?parseInt(h,8):parseInt(h)},u=l.match(n.fourOctet))return function(){var h,g,b,S;for(b=u.slice(1,6),S=[],h=0,g=b.length;h<g;h++)d=b[h],S.push(p(d));return S}();if(u=l.match(n.longValue)){if(m=p(u[1]),m>4294967295||m<0)throw new Error("ipaddr: address outside defined range");return function(){var h,g;for(g=[],f=h=0;h<=24;f=h+=8)g.push(m>>f&255);return g}().reverse()}else return null},e.IPv6=function(){function l(u,p){var d,f,m,h,g,b;if(u.length===16)for(this.parts=[],d=f=0;f<=14;d=f+=2)this.parts.push(u[d]<<8|u[d+1]);else if(u.length===8)this.parts=u;else throw new Error("ipaddr: ipv6 part count should be 8 or 16");for(b=this.parts,m=0,h=b.length;m<h;m++)if(g=b[m],!(0<=g&&g<=65535))throw new Error("ipaddr: ipv6 part should fit in 16 bits");p&&(this.zoneId=p)}return l.prototype.kind=function(){return"ipv6"},l.prototype.toString=function(){return this.toNormalizedString().replace(/((^|:)(0(:|$))+)/,"::")},l.prototype.toRFC5952String=function(){var u,p,d,f,m;for(f=/((^|:)(0(:|$)){2,})/g,m=this.toNormalizedString(),u=0,p=-1;d=f.exec(m);)d[0].length>p&&(u=d.index,p=d[0].length);return p<0?m:m.substring(0,u)+"::"+m.substring(u+p)},l.prototype.toByteArray=function(){var u,p,d,f,m;for(u=[],m=this.parts,p=0,d=m.length;p<d;p++)f=m[p],u.push(f>>8),u.push(f&255);return u},l.prototype.toNormalizedString=function(){var u,p,d;return u=function(){var f,m,h,g;for(h=this.parts,g=[],f=0,m=h.length;f<m;f++)p=h[f],g.push(p.toString(16));return g}.call(this).join(":"),d="",this.zoneId&&(d="%"+this.zoneId),u+d},l.prototype.toFixedLengthString=function(){var u,p,d;return u=function(){var f,m,h,g;for(h=this.parts,g=[],f=0,m=h.length;f<m;f++)p=h[f],g.push(p.toString(16).padStart(4,"0"));return g}.call(this).join(":"),d="",this.zoneId&&(d="%"+this.zoneId),u+d},l.prototype.match=function(u,p){var d;if(p===void 0&&(d=u,u=d[0],p=d[1]),u.kind()!=="ipv6")throw new Error("ipaddr: cannot match ipv6 address with non-ipv6 one");return o(this.parts,u.parts,16,p)},l.prototype.SpecialRanges={unspecified:[new l([0,0,0,0,0,0,0,0]),128],linkLocal:[new l([65152,0,0,0,0,0,0,0]),10],multicast:[new l([65280,0,0,0,0,0,0,0]),8],loopback:[new l([0,0,0,0,0,0,0,1]),128],uniqueLocal:[new l([64512,0,0,0,0,0,0,0]),7],ipv4Mapped:[new l([0,0,0,0,0,65535,0,0]),96],rfc6145:[new l([0,0,0,0,65535,0,0,0]),96],rfc6052:[new l([100,65435,0,0,0,0,0,0]),96],"6to4":[new l([8194,0,0,0,0,0,0,0]),16],teredo:[new l([8193,0,0,0,0,0,0,0]),32],reserved:[[new l([8193,3512,0,0,0,0,0,0]),32]]},l.prototype.range=function(){return e.subnetMatch(this,this.SpecialRanges)},l.prototype.isIPv4MappedAddress=function(){return this.range()==="ipv4Mapped"},l.prototype.toIPv4Address=function(){var u,p,d;if(!this.isIPv4MappedAddress())throw new Error("ipaddr: trying to convert a generic ipv6 address to ipv4");return d=this.parts.slice(-2),u=d[0],p=d[1],new e.IPv4([u>>8,u&255,p>>8,p&255])},l.prototype.prefixLengthFromSubnetMask=function(){var u,p,d,f,m,h,g;for(g={0:16,32768:15,49152:14,57344:13,61440:12,63488:11,64512:10,65024:9,65280:8,65408:7,65472:6,65504:5,65520:4,65528:3,65532:2,65534:1,65535:0},u=0,m=!1,p=d=7;d>=0;p=d+=-1)if(f=this.parts[p],f in g){if(h=g[f],m&&h!==0)return null;h!==16&&(m=!0),u+=h}else return null;return 128-u},l}(),i="(?:[0-9a-f]+::?)+",c="%[0-9a-z]{1,}",a={zoneIndex:new RegExp(c,"i"),native:new RegExp("^(::)?("+i+")?([0-9a-f]+)?(::)?("+c+")?$","i"),transitional:new RegExp("^((?:"+i+")|(?:::)(?:"+i+")?)"+(r+"\\."+r+"\\."+r+"\\."+r)+("("+c+")?$"),"i")},t=function(l,u){var p,d,f,m,h,g;if(l.indexOf("::")!==l.lastIndexOf("::"))return null;for(g=(l.match(a.zoneIndex)||[])[0],g&&(g=g.substring(1),l=l.replace(/%.+$/,"")),p=0,d=-1;(d=l.indexOf(":",d+1))>=0;)p++;if(l.substr(0,2)==="::"&&p--,l.substr(-2,2)==="::"&&p--,p>u)return null;for(h=u-p,m=":";h--;)m+="0:";return l=l.replace("::",m),l[0]===":"&&(l=l.slice(1)),l[l.length-1]===":"&&(l=l.slice(0,-1)),u=function(){var b,S,_,k;for(_=l.split(":"),k=[],b=0,S=_.length;b<S;b++)f=_[b],k.push(parseInt(f,16));return k}(),{parts:u,zoneId:g}},e.IPv6.parser=function(l){var u,p,d,f,m,h,g;if(a.native.test(l))return t(l,8);if((f=l.match(a.transitional))&&(g=f[6]||"",u=t(f[1].slice(0,-1)+g,6),u.parts)){for(h=[parseInt(f[2]),parseInt(f[3]),parseInt(f[4]),parseInt(f[5])],p=0,d=h.length;p<d;p++)if(m=h[p],!(0<=m&&m<=255))return null;return u.parts.push(h[0]<<8|h[1]),u.parts.push(h[2]<<8|h[3]),{parts:u.parts,zoneId:u.zoneId}}return null},e.IPv4.isIPv4=e.IPv6.isIPv6=function(l){return this.parser(l)!==null},e.IPv4.isValid=function(l){var u;try{return new this(this.parser(l)),!0}catch(p){return u=p,!1}},e.IPv4.isValidFourPartDecimal=function(l){return!!(e.IPv4.isValid(l)&&l.match(/^(0|[1-9]\d*)(\.(0|[1-9]\d*)){3}$/))},e.IPv6.isValid=function(l){var u,p;if(typeof l=="string"&&l.indexOf(":")===-1)return!1;try{return u=this.parser(l),new this(u.parts,u.zoneId),!0}catch(d){return p=d,!1}},e.IPv4.parse=function(l){var u;if(u=this.parser(l),u===null)throw new Error("ipaddr: string is not formatted like ip address");return new this(u)},e.IPv6.parse=function(l){var u;if(u=this.parser(l),u.parts===null)throw new Error("ipaddr: string is not formatted like ip address");return new this(u.parts,u.zoneId)},e.IPv4.parseCIDR=function(l){var u,p,d;if((p=l.match(/^(.+)\/(\d+)$/))&&(u=parseInt(p[2]),u>=0&&u<=32))return d=[this.parse(p[1]),u],Object.defineProperty(d,"toString",{value:function(){return this.join("/")}}),d;throw new Error("ipaddr: string is not formatted like an IPv4 CIDR range")},e.IPv4.subnetMaskFromPrefixLength=function(l){var u,p,d;if(l=parseInt(l),l<0||l>32)throw new Error("ipaddr: invalid IPv4 prefix length");for(d=[0,0,0,0],p=0,u=Math.floor(l/8);p<u;)d[p]=255,p++;return u<4&&(d[u]=Math.pow(2,l%8)-1<<8-l%8),new this(d)},e.IPv4.broadcastAddressFromCIDR=function(l){var u,p,d,f,m,h;try{for(u=this.parseCIDR(l),f=u[0].toByteArray(),h=this.subnetMaskFromPrefixLength(u[1]).toByteArray(),m=[],d=0;d<4;)m.push(parseInt(f[d],10)|parseInt(h[d],10)^255),d++;return new this(m)}catch(g){throw p=g,new Error("ipaddr: the address does not have IPv4 CIDR format")}},e.IPv4.networkAddressFromCIDR=function(l){var u,p,d,f,m,h;try{for(u=this.parseCIDR(l),f=u[0].toByteArray(),h=this.subnetMaskFromPrefixLength(u[1]).toByteArray(),m=[],d=0;d<4;)m.push(parseInt(f[d],10)&parseInt(h[d],10)),d++;return new this(m)}catch(g){throw p=g,new Error("ipaddr: the address does not have IPv4 CIDR format")}},e.IPv6.parseCIDR=function(l){var u,p,d;if((p=l.match(/^(.+)\/(\d+)$/))&&(u=parseInt(p[2]),u>=0&&u<=128))return d=[this.parse(p[1]),u],Object.defineProperty(d,"toString",{value:function(){return this.join("/")}}),d;throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range")},e.isValid=function(l){return e.IPv6.isValid(l)||e.IPv4.isValid(l)},e.parse=function(l){if(e.IPv6.isValid(l))return e.IPv6.parse(l);if(e.IPv4.isValid(l))return e.IPv4.parse(l);throw new Error("ipaddr: the address has neither IPv6 nor IPv4 format")},e.parseCIDR=function(l){var u;try{return e.IPv6.parseCIDR(l)}catch(p){u=p;try{return e.IPv4.parseCIDR(l)}catch(d){throw u=d,new Error("ipaddr: the address has neither IPv6 nor IPv4 CIDR format")}}},e.fromByteArray=function(l){var u;if(u=l.length,u===4)return new e.IPv4(l);if(u===16)return new e.IPv6(l);throw new Error("ipaddr: the binary input is neither an IPv6 nor IPv4 address")},e.process=function(l){var u;return u=this.parse(l),u.kind()==="ipv6"&&u.isIPv4MappedAddress()?u.toIPv4Address():u}}).call(TC)});var zb=y((Ile,cd)=>{"use strict";cd.exports=eB;cd.exports.all=jC;cd.exports.compile=DC;var J7=EC(),RC=CC(),G7=/^[0-9]+$/,od=RC.isValid,sd=RC.parse,zC={linklocal:["169.254.0.0/16","fe80::/10"],loopback:["127.0.0.1/8","::1/128"],uniquelocal:["10.0.0.0/8","172.16.0.0/12","192.168.0.0/16","fc00::/7"]};function jC(t,e){var r=J7(t);if(!e)return r;typeof e!="function"&&(e=DC(e));for(var n=0;n<r.length-1;n++)e(r[n],n)||(r.length=n+1);return r}function DC(t){if(!t)throw new TypeError("argument is required");var e;if(typeof t=="string")e=[t];else if(Array.isArray(t))e=t.slice();else throw new TypeError("unsupported trust argument");for(var r=0;r<e.length;r++)t=e[r],Object.prototype.hasOwnProperty.call(zC,t)&&(t=zC[t],e.splice.apply(e,[r,1].concat(t)),r+=t.length-1);return X7(K7(e))}function K7(t){for(var e=new Array(t.length),r=0;r<t.length;r++)e[r]=Y7(t[r]);return e}function X7(t){var e=t.length;return e===0?tB:e===1?nB(t[0]):rB(t)}function Y7(t){var e=t.lastIndexOf("/"),r=e!==-1?t.substring(0,e):t;if(!od(r))throw new TypeError("invalid IP address: "+r);var n=sd(r);e===-1&&n.kind()==="ipv6"&&n.isIPv4MappedAddress()&&(n=n.toIPv4Address());var i=n.kind()==="ipv6"?128:32,a=e!==-1?t.substring(e+1,t.length):null;if(a===null?a=i:G7.test(a)?a=parseInt(a,10):n.kind()==="ipv4"&&od(a)?a=Q7(a):a=null,a<=0||a>i)throw new TypeError("invalid range on address: "+t);return[n,a]}function Q7(t){var e=sd(t),r=e.kind();return r==="ipv4"?e.prefixLengthFromSubnetMask():null}function eB(t,e){if(!t)throw new TypeError("req argument is required");if(!e)throw new TypeError("trust argument is required");var r=jC(t,e),n=r[r.length-1];return n}function tB(){return!1}function rB(t){return function(r){if(!od(r))return!1;for(var n=sd(r),i,a=n.kind(),o=0;o<t.length;o++){var s=t[o],c=s[0],l=c.kind(),u=s[1],p=n;if(a!==l){if(l==="ipv4"&&!n.isIPv4MappedAddress())continue;i||(i=l==="ipv4"?n.toIPv4Address():n.toIPv4MappedAddress()),p=i}if(p.match(c,u))return!0}return!1}}function nB(t){var e=t[0],r=e.kind(),n=r==="ipv4",i=t[1];return function(o){if(!od(o))return!1;var s=sd(o),c=s.kind();if(c!==r){if(n&&!s.isIPv4MappedAddress())return!1;s=n?s.toIPv4Address():s.toIPv4MappedAddress()}return s.match(e,i)}}});var Cn=y(xt=>{"use strict";var OC=ed().Buffer,iB=_b(),NC=Fs(),AC=Ir()("express"),aB=mc(),oB=ad().mime,sB=wb(),cB=zb(),lB=Bp(),uB=A("querystring");xt.etag=MC({weak:!1});xt.wetag=MC({weak:!0});xt.isAbsolute=function(t){if(t[0]==="/"||t[1]===":"&&(t[2]==="\\"||t[2]==="/")||t.substring(0,2)==="\\\\")return!0};xt.flatten=AC.function(aB,"utils.flatten: use array-flatten npm module instead");xt.normalizeType=function(t){return~t.indexOf("/")?pB(t):{value:oB.lookup(t),params:{}}};xt.normalizeTypes=function(t){for(var e=[],r=0;r<t.length;++r)e.push(xt.normalizeType(t[r]));return e};xt.contentDisposition=AC.function(iB,"utils.contentDisposition: use content-disposition npm module instead");function pB(t){for(var e=t.split(/ *; */),r={value:e[0],quality:1,params:{}},n=1;n<e.length;++n){var i=e[n].split(/ *= */);i[0]==="q"?r.quality=parseFloat(i[1]):r.params[i[0]]=i[1]}return r}xt.compileETag=function(t){var e;if(typeof t=="function")return t;switch(t){case!0:case"weak":e=xt.wetag;break;case!1:break;case"strong":e=xt.etag;break;default:throw new TypeError("unknown value for etag function: "+t)}return e};xt.compileQueryParser=function(e){var r;if(typeof e=="function")return e;switch(e){case!0:case"simple":r=uB.parse;break;case!1:r=fB;break;case"extended":r=dB;break;default:throw new TypeError("unknown value for query parser function: "+e)}return r};xt.compileTrust=function(t){return typeof t=="function"?t:t===!0?function(){return!0}:typeof t=="number"?function(e,r){return r<t}:(typeof t=="string"&&(t=t.split(",").map(function(e){return e.trim()})),cB.compile(t||[]))};xt.setCharset=function(e,r){if(!e||!r)return e;var n=NC.parse(e);return n.parameters.charset=r,NC.format(n)};function MC(t){return function(r,n){var i=OC.isBuffer(r)?r:OC.from(r,n);return sB(i,t)}}function dB(t){return lB.parse(t,{allowPrototypes:!0})}function fB(){return{}}});var qC=y((UC,FC)=>{"use strict";var mB=_4(),hB=vb(),jb=Gp(),gB=W4(),vB=yb(),ld=Yt()("express:application"),yB=Q4(),xB=A("http"),bB=Cn().compileETag,_B=Cn().compileQueryParser,wB=Cn().compileTrust,SB=Ir()("express"),kB=mc(),Rb=hc(),$B=A("path").resolve,Aa=qs(),IB=Object.prototype.hasOwnProperty,Ob=Array.prototype.slice,qe=UC=FC.exports={},Db="@@symbol:trust_proxy_default";qe.init=function(){this.cache={},this.engines={},this.settings={},this.defaultConfiguration()};qe.defaultConfiguration=function(){var e=process.env.NODE_ENV||"development";this.enable("x-powered-by"),this.set("etag","weak"),this.set("env",e),this.set("query parser","extended"),this.set("subdomain offset",2),this.set("trust proxy",!1),Object.defineProperty(this.settings,Db,{configurable:!0,value:!0}),ld("booting in %s mode",e),this.on("mount",function(n){this.settings[Db]===!0&&typeof n.settings["trust proxy fn"]=="function"&&(delete this.settings["trust proxy"],delete this.settings["trust proxy fn"]),Aa(this.request,n.request),Aa(this.response,n.response),Aa(this.engines,n.engines),Aa(this.settings,n.settings)}),this.locals=Object.create(null),this.mountpath="/",this.locals.settings=this.settings,this.set("view",yB),this.set("views",$B("views")),this.set("jsonp callback name","callback"),e==="production"&&this.enable("view cache"),Object.defineProperty(this,"router",{get:function(){throw new Error(`'app.router' is deprecated!
|
|
50
|
-
Please see the 3.x to 4.x migration guide for details on how to update your app.`)}})};qe.lazyrouter=function(){this._router||(this._router=new hB({caseSensitive:this.enabled("case sensitive routing"),strict:this.enabled("strict routing")}),this._router.use(vB(this.get("query parser fn"))),this._router.use(gB.init(this)))};qe.handle=function(e,r,n){var i=this._router,a=n||mB(e,r,{env:this.get("env"),onerror:PB.bind(this)});if(!i){ld("no routes defined on app"),a();return}i.handle(e,r,a)};qe.use=function(e){var r=0,n="/";if(typeof e!="function"){for(var i=e;Array.isArray(i)&&i.length!==0;)i=i[0];typeof i!="function"&&(r=1,n=e)}var a=kB(Ob.call(arguments,r));if(a.length===0)throw new TypeError("app.use() requires a middleware function");this.lazyrouter();var o=this._router;return a.forEach(function(s){if(!s||!s.handle||!s.set)return o.use(n,s);ld(".use app under %s",n),s.mountpath=n,s.parent=this,o.use(n,function(l,u,p){var d=l.app;s.handle(l,u,function(f){Aa(l,d.request),Aa(u,d.response),p(f)})}),s.emit("mount",this)},this),this};qe.route=function(e){return this.lazyrouter(),this._router.route(e)};qe.engine=function(e,r){if(typeof r!="function")throw new Error("callback function required");var n=e[0]!=="."?"."+e:e;return this.engines[n]=r,this};qe.param=function(e,r){if(this.lazyrouter(),Array.isArray(e)){for(var n=0;n<e.length;n++)this.param(e[n],r);return this}return this._router.param(e,r),this};qe.set=function(e,r){if(arguments.length===1){for(var n=this.settings;n&&n!==Object.prototype;){if(IB.call(n,e))return n[e];n=Object.getPrototypeOf(n)}return}switch(ld('set "%s" to %o',e,r),this.settings[e]=r,e){case"etag":this.set("etag fn",bB(r));break;case"query parser":this.set("query parser fn",_B(r));break;case"trust proxy":this.set("trust proxy fn",wB(r)),Object.defineProperty(this.settings,Db,{configurable:!0,value:!1});break}return this};qe.path=function(){return this.parent?this.parent.path()+this.mountpath:""};qe.enabled=function(e){return!!this.set(e)};qe.disabled=function(e){return!this.set(e)};qe.enable=function(e){return this.set(e,!0)};qe.disable=function(e){return this.set(e,!1)};jb.forEach(function(t){qe[t]=function(e){if(t==="get"&&arguments.length===1)return this.set(e);this.lazyrouter();var r=this._router.route(e);return r[t].apply(r,Ob.call(arguments,1)),this}});qe.all=function(e){this.lazyrouter();for(var r=this._router.route(e),n=Ob.call(arguments,1),i=0;i<jb.length;i++)r[jb[i]].apply(r,n);return this};qe.del=SB.function(qe.delete,"app.del: Use app.delete instead");qe.render=function(e,r,n){var i=this.cache,a=n,o=this.engines,s=r,c={},l;if(typeof r=="function"&&(a=r,s={}),Rb(c,this.locals),s._locals&&Rb(c,s._locals),Rb(c,s),c.cache==null&&(c.cache=this.enabled("view cache")),c.cache&&(l=i[e]),!l){var u=this.get("view");if(l=new u(e,{defaultEngine:this.get("view engine"),root:this.get("views"),engines:o}),!l.path){var p=Array.isArray(l.root)&&l.root.length>1?'directories "'+l.root.slice(0,-1).join('", "')+'" or "'+l.root[l.root.length-1]+'"':'directory "'+l.root+'"',d=new Error('Failed to lookup view "'+e+'" in views '+p);return d.view=l,a(d)}c.cache&&(i[e]=l)}EB(l,c,a)};qe.listen=function(){var e=xB.createServer(this);return e.listen.apply(e,arguments)};function PB(t){this.get("env")!=="test"&&console.error(t.stack||t.toString())}function EB(t,e,r){try{t.render(e,r)}catch(n){r(n)}}});var BC=y((Ele,Nb)=>{"use strict";Nb.exports=HC;Nb.exports.preferredCharsets=HC;var TB=/^\s*([^\s;]+)\s*(?:;(.*))?$/;function CB(t){for(var e=t.split(","),r=0,n=0;r<e.length;r++){var i=zB(e[r].trim(),r);i&&(e[n++]=i)}return e.length=n,e}function zB(t,e){var r=TB.exec(t);if(!r)return null;var n=r[1],i=1;if(r[2])for(var a=r[2].split(";"),o=0;o<a.length;o++){var s=a[o].trim().split("=");if(s[0]==="q"){i=parseFloat(s[1]);break}}return{charset:n,q:i,i:e}}function RB(t,e,r){for(var n={o:-1,q:0,s:0},i=0;i<e.length;i++){var a=jB(t,e[i],r);a&&(n.s-a.s||n.q-a.q||n.o-a.o)<0&&(n=a)}return n}function jB(t,e,r){var n=0;if(e.charset.toLowerCase()===t.toLowerCase())n|=1;else if(e.charset!=="*")return null;return{i:r,o:e.i,q:e.q,s:n}}function HC(t,e){var r=CB(t===void 0?"*":t||"");if(!e)return r.filter(ZC).sort(LC).map(DB);var n=e.map(function(a,o){return RB(a,r,o)});return n.filter(ZC).sort(LC).map(function(a){return e[n.indexOf(a)]})}function LC(t,e){return e.q-t.q||e.s-t.s||t.o-e.o||t.i-e.i||0}function DB(t){return t.charset}function ZC(t){return t.q>0}});var KC=y((Tle,Ab)=>{"use strict";Ab.exports=GC;Ab.exports.preferredEncodings=GC;var OB=/^\s*([^\s;]+)\s*(?:;(.*))?$/;function NB(t){for(var e=t.split(","),r=!1,n=1,i=0,a=0;i<e.length;i++){var o=AB(e[i].trim(),i);o&&(e[a++]=o,r=r||JC("identity",o),n=Math.min(n,o.q||1))}return r||(e[a++]={encoding:"identity",q:n,i}),e.length=a,e}function AB(t,e){var r=OB.exec(t);if(!r)return null;var n=r[1],i=1;if(r[2])for(var a=r[2].split(";"),o=0;o<a.length;o++){var s=a[o].trim().split("=");if(s[0]==="q"){i=parseFloat(s[1]);break}}return{encoding:n,q:i,i:e}}function MB(t,e,r){for(var n={o:-1,q:0,s:0},i=0;i<e.length;i++){var a=JC(t,e[i],r);a&&(n.s-a.s||n.q-a.q||n.o-a.o)<0&&(n=a)}return n}function JC(t,e,r){var n=0;if(e.encoding.toLowerCase()===t.toLowerCase())n|=1;else if(e.encoding!=="*")return null;return{i:r,o:e.i,q:e.q,s:n}}function GC(t,e){var r=NB(t||"");if(!e)return r.filter(WC).sort(VC).map(UB);var n=e.map(function(a,o){return MB(a,r,o)});return n.filter(WC).sort(VC).map(function(a){return e[n.indexOf(a)]})}function VC(t,e){return e.q-t.q||e.s-t.s||t.o-e.o||t.i-e.i||0}function UB(t){return t.encoding}function WC(t){return t.q>0}});var tz=y((Cle,Mb)=>{"use strict";Mb.exports=ez;Mb.exports.preferredLanguages=ez;var FB=/^\s*([^\s\-;]+)(?:-([^\s;]+))?\s*(?:;(.*))?$/;function qB(t){for(var e=t.split(","),r=0,n=0;r<e.length;r++){var i=QC(e[r].trim(),r);i&&(e[n++]=i)}return e.length=n,e}function QC(t,e){var r=FB.exec(t);if(!r)return null;var n=r[1],i=r[2],a=n;i&&(a+="-"+i);var o=1;if(r[3])for(var s=r[3].split(";"),c=0;c<s.length;c++){var l=s[c].split("=");l[0]==="q"&&(o=parseFloat(l[1]))}return{prefix:n,suffix:i,q:o,i:e,full:a}}function LB(t,e,r){for(var n={o:-1,q:0,s:0},i=0;i<e.length;i++){var a=ZB(t,e[i],r);a&&(n.s-a.s||n.q-a.q||n.o-a.o)<0&&(n=a)}return n}function ZB(t,e,r){var n=QC(t);if(!n)return null;var i=0;if(e.full.toLowerCase()===n.full.toLowerCase())i|=4;else if(e.prefix.toLowerCase()===n.full.toLowerCase())i|=2;else if(e.full.toLowerCase()===n.prefix.toLowerCase())i|=1;else if(e.full!=="*")return null;return{i:r,o:e.i,q:e.q,s:i}}function ez(t,e){var r=qB(t===void 0?"*":t||"");if(!e)return r.filter(YC).sort(XC).map(HB);var n=e.map(function(a,o){return LB(a,r,o)});return n.filter(YC).sort(XC).map(function(a){return e[n.indexOf(a)]})}function XC(t,e){return e.q-t.q||e.s-t.s||t.o-e.o||t.i-e.i||0}function HB(t){return t.full}function YC(t){return t.q>0}});var sz=y((zle,Ub)=>{"use strict";Ub.exports=az;Ub.exports.preferredMediaTypes=az;var BB=/^\s*([^\s\/;]+)\/([^;\s]+)\s*(?:;(.*))?$/;function VB(t){for(var e=XB(t),r=0,n=0;r<e.length;r++){var i=iz(e[r].trim(),r);i&&(e[n++]=i)}return e.length=n,e}function iz(t,e){var r=BB.exec(t);if(!r)return null;var n=Object.create(null),i=1,a=r[2],o=r[1];if(r[3])for(var s=YB(r[3]).map(KB),c=0;c<s.length;c++){var l=s[c],u=l[0].toLowerCase(),p=l[1],d=p&&p[0]==='"'&&p[p.length-1]==='"'?p.substr(1,p.length-2):p;if(u==="q"){i=parseFloat(d);break}n[u]=d}return{type:o,subtype:a,params:n,q:i,i:e}}function WB(t,e,r){for(var n={o:-1,q:0,s:0},i=0;i<e.length;i++){var a=JB(t,e[i],r);a&&(n.s-a.s||n.q-a.q||n.o-a.o)<0&&(n=a)}return n}function JB(t,e,r){var n=iz(t),i=0;if(!n)return null;if(e.type.toLowerCase()==n.type.toLowerCase())i|=4;else if(e.type!="*")return null;if(e.subtype.toLowerCase()==n.subtype.toLowerCase())i|=2;else if(e.subtype!="*")return null;var a=Object.keys(e.params);if(a.length>0)if(a.every(function(o){return e.params[o]=="*"||(e.params[o]||"").toLowerCase()==(n.params[o]||"").toLowerCase()}))i|=1;else return null;return{i:r,o:e.i,q:e.q,s:i}}function az(t,e){var r=VB(t===void 0?"*/*":t||"");if(!e)return r.filter(nz).sort(rz).map(GB);var n=e.map(function(a,o){return WB(a,r,o)});return n.filter(nz).sort(rz).map(function(a){return e[n.indexOf(a)]})}function rz(t,e){return e.q-t.q||e.s-t.s||t.o-e.o||t.i-e.i||0}function GB(t){return t.type+"/"+t.subtype}function nz(t){return t.q>0}function oz(t){for(var e=0,r=0;(r=t.indexOf('"',r))!==-1;)e++,r++;return e}function KB(t){var e=t.indexOf("="),r,n;return e===-1?r=t:(r=t.substr(0,e),n=t.substr(e+1)),[r,n]}function XB(t){for(var e=t.split(","),r=1,n=0;r<e.length;r++)oz(e[n])%2==0?e[++n]=e[r]:e[n]+=","+e[r];return e.length=n+1,e}function YB(t){for(var e=t.split(";"),r=1,n=0;r<e.length;r++)oz(e[n])%2==0?e[++n]=e[r]:e[n]+=";"+e[r];e.length=n+1;for(var r=0;r<e.length;r++)e[r]=e[r].trim();return e}});var cz=y((Rle,Fb)=>{"use strict";var QB=BC(),eV=KC(),tV=tz(),rV=sz();Fb.exports=ye;Fb.exports.Negotiator=ye;function ye(t){if(!(this instanceof ye))return new ye(t);this.request=t}ye.prototype.charset=function(e){var r=this.charsets(e);return r&&r[0]};ye.prototype.charsets=function(e){return QB(this.request.headers["accept-charset"],e)};ye.prototype.encoding=function(e){var r=this.encodings(e);return r&&r[0]};ye.prototype.encodings=function(e){return eV(this.request.headers["accept-encoding"],e)};ye.prototype.language=function(e){var r=this.languages(e);return r&&r[0]};ye.prototype.languages=function(e){return tV(this.request.headers["accept-language"],e)};ye.prototype.mediaType=function(e){var r=this.mediaTypes(e);return r&&r[0]};ye.prototype.mediaTypes=function(e){return rV(this.request.headers.accept,e)};ye.prototype.preferredCharset=ye.prototype.charset;ye.prototype.preferredCharsets=ye.prototype.charsets;ye.prototype.preferredEncoding=ye.prototype.encoding;ye.prototype.preferredEncodings=ye.prototype.encodings;ye.prototype.preferredLanguage=ye.prototype.language;ye.prototype.preferredLanguages=ye.prototype.languages;ye.prototype.preferredMediaType=ye.prototype.mediaType;ye.prototype.preferredMediaTypes=ye.prototype.mediaTypes});var uz=y((jle,lz)=>{"use strict";var nV=cz(),iV=Dx();lz.exports=Ft;function Ft(t){if(!(this instanceof Ft))return new Ft(t);this.headers=t.headers,this.negotiator=new nV(t)}Ft.prototype.type=Ft.prototype.types=function(t){var e=t;if(e&&!Array.isArray(e)){e=new Array(arguments.length);for(var r=0;r<e.length;r++)e[r]=arguments[r]}if(!e||e.length===0)return this.negotiator.mediaTypes();if(!this.headers.accept)return e[0];var n=e.map(aV),i=this.negotiator.mediaTypes(n.filter(oV)),a=i[0];return a?e[n.indexOf(a)]:!1};Ft.prototype.encoding=Ft.prototype.encodings=function(t){var e=t;if(e&&!Array.isArray(e)){e=new Array(arguments.length);for(var r=0;r<e.length;r++)e[r]=arguments[r]}return!e||e.length===0?this.negotiator.encodings():this.negotiator.encodings(e)[0]||!1};Ft.prototype.charset=Ft.prototype.charsets=function(t){var e=t;if(e&&!Array.isArray(e)){e=new Array(arguments.length);for(var r=0;r<e.length;r++)e[r]=arguments[r]}return!e||e.length===0?this.negotiator.charsets():this.negotiator.charsets(e)[0]||!1};Ft.prototype.lang=Ft.prototype.langs=Ft.prototype.language=Ft.prototype.languages=function(t){var e=t;if(e&&!Array.isArray(e)){e=new Array(arguments.length);for(var r=0;r<e.length;r++)e[r]=arguments[r]}return!e||e.length===0?this.negotiator.languages():this.negotiator.languages(e)[0]||!1};function aV(t){return t.indexOf("/")===-1?iV.lookup(t):t}function oV(t){return typeof t=="string"}});var fz=y((Dle,dz)=>{"use strict";var ud=uz(),xc=Ir()("express"),sV=A("net").isIP,cV=wa(),lV=A("http"),uV=Sb(),pV=kb(),dV=Ta(),pz=zb(),Se=Object.create(lV.IncomingMessage.prototype);dz.exports=Se;Se.get=Se.header=function(e){if(!e)throw new TypeError("name argument is required to req.get");if(typeof e!="string")throw new TypeError("name must be a string to req.get");var r=e.toLowerCase();switch(r){case"referer":case"referrer":return this.headers.referrer||this.headers.referer;default:return this.headers[r]}};Se.accepts=function(){var t=ud(this);return t.types.apply(t,arguments)};Se.acceptsEncodings=function(){var t=ud(this);return t.encodings.apply(t,arguments)};Se.acceptsEncoding=xc.function(Se.acceptsEncodings,"req.acceptsEncoding: Use acceptsEncodings instead");Se.acceptsCharsets=function(){var t=ud(this);return t.charsets.apply(t,arguments)};Se.acceptsCharset=xc.function(Se.acceptsCharsets,"req.acceptsCharset: Use acceptsCharsets instead");Se.acceptsLanguages=function(){var t=ud(this);return t.languages.apply(t,arguments)};Se.acceptsLanguage=xc.function(Se.acceptsLanguages,"req.acceptsLanguage: Use acceptsLanguages instead");Se.range=function(e,r){var n=this.get("Range");if(n)return pV(e,n,r)};Se.param=function(e,r){var n=this.params||{},i=this.body||{},a=this.query||{},o=arguments.length===1?"name":"name, default";return xc("req.param("+o+"): Use req.params, req.body, or req.query instead"),n[e]!=null&&n.hasOwnProperty(e)?n[e]:i[e]!=null?i[e]:a[e]!=null?a[e]:r};Se.is=function(e){var r=e;if(!Array.isArray(e)){r=new Array(arguments.length);for(var n=0;n<r.length;n++)r[n]=arguments[n]}return cV(this,r)};fr(Se,"protocol",function(){var e=this.connection.encrypted?"https":"http",r=this.app.get("trust proxy fn");if(!r(this.connection.remoteAddress,0))return e;var n=this.get("X-Forwarded-Proto")||e,i=n.indexOf(",");return i!==-1?n.substring(0,i).trim():n.trim()});fr(Se,"secure",function(){return this.protocol==="https"});fr(Se,"ip",function(){var e=this.app.get("trust proxy fn");return pz(this,e)});fr(Se,"ips",function(){var e=this.app.get("trust proxy fn"),r=pz.all(this,e);return r.reverse().pop(),r});fr(Se,"subdomains",function(){var e=this.hostname;if(!e)return[];var r=this.app.get("subdomain offset"),n=sV(e)?[e]:e.split(".").reverse();return n.slice(r)});fr(Se,"path",function(){return dV(this).pathname});fr(Se,"hostname",function(){var e=this.app.get("trust proxy fn"),r=this.get("X-Forwarded-Host");if(!r||!e(this.connection.remoteAddress,0)?r=this.get("Host"):r.indexOf(",")!==-1&&(r=r.substring(0,r.indexOf(",")).trimRight()),!!r){var n=r[0]==="["?r.indexOf("]")+1:0,i=r.indexOf(":",n);return i!==-1?r.substring(0,i):r}});fr(Se,"host",xc.function(function(){return this.hostname},"req.host: Use req.hostname instead"));fr(Se,"fresh",function(){var t=this.method,e=this.res,r=e.statusCode;return t!=="GET"&&t!=="HEAD"?!1:r>=200&&r<300||r===304?uV(this.headers,{etag:e.get("ETag"),"last-modified":e.get("Last-Modified")}):!1});fr(Se,"stale",function(){return!this.fresh});fr(Se,"xhr",function(){var e=this.get("X-Requested-With")||"";return e.toLowerCase()==="xmlhttprequest"});function fr(t,e,r){Object.defineProperty(t,e,{configurable:!0,enumerable:!0,get:r})}});var gz=y(pd=>{var hz=A("crypto");pd.sign=function(t,e){if(typeof t!="string")throw new TypeError("Cookie value must be provided as a string.");if(e==null)throw new TypeError("Secret key must be provided.");return t+"."+hz.createHmac("sha256",e).update(t).digest("base64").replace(/\=+$/,"")};pd.unsign=function(t,e){if(typeof t!="string")throw new TypeError("Signed cookie string must be provided.");if(e==null)throw new TypeError("Secret key must be provided.");var r=t.slice(0,t.lastIndexOf(".")),n=pd.sign(r,e);return mz(n)==mz(t)?r:!1};function mz(t){return hz.createHash("sha1").update(t).digest("hex")}});var xz=y(qb=>{"use strict";qb.parse=xV;qb.serialize=bV;var fV=Object.prototype.toString,mV=Object.prototype.hasOwnProperty,hV=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/,gV=/^("?)[\u0021\u0023-\u002B\u002D-\u003A\u003C-\u005B\u005D-\u007E]*\1$/,vV=/^([.]?[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)([.][a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)*$/i,yV=/^[\u0020-\u003A\u003D-\u007E]*$/;function xV(t,e){if(typeof t!="string")throw new TypeError("argument str must be a string");var r={},n=t.length;if(n<2)return r;var i=e&&e.decode||_V,a=0,o=0,s=0;do{if(o=t.indexOf("=",a),o===-1)break;if(s=t.indexOf(";",a),s===-1)s=n;else if(o>s){a=t.lastIndexOf(";",o-1)+1;continue}var c=vz(t,a,o),l=yz(t,o,c),u=t.slice(c,l);if(!mV.call(r,u)){var p=vz(t,o+1,s),d=yz(t,s,p);t.charCodeAt(p)===34&&t.charCodeAt(d-1)===34&&(p++,d--);var f=t.slice(p,d);r[u]=SV(f,i)}a=s+1}while(a<n);return r}function vz(t,e,r){do{var n=t.charCodeAt(e);if(n!==32&&n!==9)return e}while(++e<r);return r}function yz(t,e,r){for(;e>r;){var n=t.charCodeAt(--e);if(n!==32&&n!==9)return e+1}return r}function bV(t,e,r){var n=r&&r.encode||encodeURIComponent;if(typeof n!="function")throw new TypeError("option encode is invalid");if(!hV.test(t))throw new TypeError("argument name is invalid");var i=n(e);if(!gV.test(i))throw new TypeError("argument val is invalid");var a=t+"="+i;if(!r)return a;if(r.maxAge!=null){var o=Math.floor(r.maxAge);if(!isFinite(o))throw new TypeError("option maxAge is invalid");a+="; Max-Age="+o}if(r.domain){if(!vV.test(r.domain))throw new TypeError("option domain is invalid");a+="; Domain="+r.domain}if(r.path){if(!yV.test(r.path))throw new TypeError("option path is invalid");a+="; Path="+r.path}if(r.expires){var s=r.expires;if(!wV(s)||isNaN(s.valueOf()))throw new TypeError("option expires is invalid");a+="; Expires="+s.toUTCString()}if(r.httpOnly&&(a+="; HttpOnly"),r.secure&&(a+="; Secure"),r.partitioned&&(a+="; Partitioned"),r.priority){var c=typeof r.priority=="string"?r.priority.toLowerCase():r.priority;switch(c){case"low":a+="; Priority=Low";break;case"medium":a+="; Priority=Medium";break;case"high":a+="; Priority=High";break;default:throw new TypeError("option priority is invalid")}}if(r.sameSite){var l=typeof r.sameSite=="string"?r.sameSite.toLowerCase():r.sameSite;switch(l){case!0:a+="; SameSite=Strict";break;case"lax":a+="; SameSite=Lax";break;case"strict":a+="; SameSite=Strict";break;case"none":a+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}}return a}function _V(t){return t.indexOf("%")!==-1?decodeURIComponent(t):t}function wV(t){return fV.call(t)==="[object Date]"}function SV(t,e){try{return e(t)}catch{return t}}});var wz=y((Ale,Lb)=>{"use strict";Lb.exports=$V;Lb.exports.append=_z;var kV=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/;function _z(t,e){if(typeof t!="string")throw new TypeError("header argument is required");if(!e)throw new TypeError("field argument is required");for(var r=Array.isArray(e)?e:bz(String(e)),n=0;n<r.length;n++)if(!kV.test(r[n]))throw new TypeError("field argument contains an invalid header name");if(t==="*")return t;var i=t,a=bz(t.toLowerCase());if(r.indexOf("*")!==-1||a.indexOf("*")!==-1)return"*";for(var o=0;o<r.length;o++){var s=r[o].toLowerCase();a.indexOf(s)===-1&&(a.push(s),i=i?i+", "+r[o]:r[o])}return i}function bz(t){for(var e=0,r=[],n=0,i=0,a=t.length;i<a;i++)switch(t.charCodeAt(i)){case 32:n===e&&(n=e=i+1);break;case 44:r.push(t.substring(n,e)),n=e=i+1;break;default:e=i+1;break}return r.push(t.substring(n,e)),r}function $V(t,e){if(!t||!t.getHeader||!t.setHeader)throw new TypeError("res argument is required");var r=t.getHeader("Vary")||"",n=Array.isArray(r)?r.join(", "):String(r);(r=_z(n,e))&&t.setHeader("Vary",r)}});var Cz=y((Mle,Tz)=>{"use strict";var bc=ed().Buffer,Sz=_b(),IV=ni(),Ct=Ir()("express"),PV=dc(),EV=fc(),TV=A("http"),CV=Cn().isAbsolute,zV=Xs(),kz=A("path"),dd=Ls(),$z=hc(),RV=gz().sign,jV=Cn().normalizeType,DV=Cn().normalizeTypes,OV=Cn().setCharset,NV=xz(),Zb=ad(),AV=kz.extname,Iz=Zb.mime,MV=kz.resolve,UV=wz(),Ie=Object.create(TV.ServerResponse.prototype);Tz.exports=Ie;var FV=/;\s*charset\s*=/;Ie.status=function(e){return(typeof e=="string"||Math.floor(e)!==e)&&e>99&&e<1e3&&Ct("res.status("+JSON.stringify(e)+"): use res.status("+Math.floor(e)+") instead"),this.statusCode=e,this};Ie.links=function(t){var e=this.get("Link")||"";return e&&(e+=", "),this.set("Link",e+Object.keys(t).map(function(r){return"<"+t[r]+'>; rel="'+r+'"'}).join(", "))};Ie.send=function(e){var r=e,n,i=this.req,a,o=this.app;switch(arguments.length===2&&(typeof arguments[0]!="number"&&typeof arguments[1]=="number"?(Ct("res.send(body, status): Use res.status(status).send(body) instead"),this.statusCode=arguments[1]):(Ct("res.send(status, body): Use res.status(status).send(body) instead"),this.statusCode=arguments[0],r=arguments[1])),typeof r=="number"&&arguments.length===1&&(this.get("Content-Type")||this.type("txt"),Ct("res.send(status): Use res.sendStatus(status) instead"),this.statusCode=r,r=dd.message[r]),typeof r){case"string":this.get("Content-Type")||this.type("html");break;case"boolean":case"number":case"object":if(r===null)r="";else if(bc.isBuffer(r))this.get("Content-Type")||this.type("bin");else return this.json(r);break}typeof r=="string"&&(n="utf8",a=this.get("Content-Type"),typeof a=="string"&&this.set("Content-Type",OV(a,"utf-8")));var s=o.get("etag fn"),c=!this.get("ETag")&&typeof s=="function",l;r!==void 0&&(bc.isBuffer(r)?l=r.length:!c&&r.length<1e3?l=bc.byteLength(r,n):(r=bc.from(r,n),n=void 0,l=r.length),this.set("Content-Length",l));var u;return c&&l!==void 0&&(u=s(r,n))&&this.set("ETag",u),i.fresh&&(this.statusCode=304),(this.statusCode===204||this.statusCode===304)&&(this.removeHeader("Content-Type"),this.removeHeader("Content-Length"),this.removeHeader("Transfer-Encoding"),r=""),this.statusCode===205&&(this.set("Content-Length","0"),this.removeHeader("Transfer-Encoding"),r=""),i.method==="HEAD"?this.end():this.end(r,n),this};Ie.json=function(e){var r=e;arguments.length===2&&(typeof arguments[1]=="number"?(Ct("res.json(obj, status): Use res.status(status).json(obj) instead"),this.statusCode=arguments[1]):(Ct("res.json(status, obj): Use res.status(status).json(obj) instead"),this.statusCode=arguments[0],r=arguments[1]));var n=this.app,i=n.get("json escape"),a=n.get("json replacer"),o=n.get("json spaces"),s=Ez(r,a,o,i);return this.get("Content-Type")||this.set("Content-Type","application/json"),this.send(s)};Ie.jsonp=function(e){var r=e;arguments.length===2&&(typeof arguments[1]=="number"?(Ct("res.jsonp(obj, status): Use res.status(status).jsonp(obj) instead"),this.statusCode=arguments[1]):(Ct("res.jsonp(status, obj): Use res.status(status).jsonp(obj) instead"),this.statusCode=arguments[0],r=arguments[1]));var n=this.app,i=n.get("json escape"),a=n.get("json replacer"),o=n.get("json spaces"),s=Ez(r,a,o,i),c=this.req.query[n.get("jsonp callback name")];return this.get("Content-Type")||(this.set("X-Content-Type-Options","nosniff"),this.set("Content-Type","application/json")),Array.isArray(c)&&(c=c[0]),typeof c=="string"&&c.length!==0&&(this.set("X-Content-Type-Options","nosniff"),this.set("Content-Type","text/javascript"),c=c.replace(/[^\[\]\w$.]/g,""),s===void 0?s="":typeof s=="string"&&(s=s.replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")),s="/**/ typeof "+c+" === 'function' && "+c+"("+s+");"),this.send(s)};Ie.sendStatus=function(e){var r=dd.message[e]||String(e);return this.statusCode=e,this.type("txt"),this.send(r)};Ie.sendFile=function(e,r,n){var i=n,a=this.req,o=this,s=a.next,c=r||{};if(!e)throw new TypeError("path argument is required to res.sendFile");if(typeof e!="string")throw new TypeError("path must be a string to res.sendFile");if(typeof r=="function"&&(i=r,c={}),!c.root&&!CV(e))throw new TypeError("path must be absolute or specify root to res.sendFile");var l=encodeURI(e),u=Zb(a,l,c);Pz(o,u,c,function(p){if(i)return i(p);if(p&&p.code==="EISDIR")return s();p&&p.code!=="ECONNABORTED"&&p.syscall!=="write"&&s(p)})};Ie.sendfile=function(t,e,r){var n=r,i=this.req,a=this,o=i.next,s=e||{};typeof e=="function"&&(n=e,s={});var c=Zb(i,t,s);Pz(a,c,s,function(l){if(n)return n(l);if(l&&l.code==="EISDIR")return o();l&&l.code!=="ECONNABORTED"&&l.syscall!=="write"&&o(l)})};Ie.sendfile=Ct.function(Ie.sendfile,"res.sendfile: Use res.sendFile instead");Ie.download=function(e,r,n,i){var a=i,o=r,s=n||null;typeof r=="function"?(a=r,o=null,s=null):typeof n=="function"&&(a=n,s=null),typeof r=="object"&&(typeof n=="function"||n===void 0)&&(o=null,s=r);var c={"Content-Disposition":Sz(o||e)};if(s&&s.headers)for(var l=Object.keys(s.headers),u=0;u<l.length;u++){var p=l[u];p.toLowerCase()!=="content-disposition"&&(c[p]=s.headers[p])}s=Object.create(s),s.headers=c;var d=s.root?e:MV(e);return this.sendFile(d,s,a)};Ie.contentType=Ie.type=function(e){var r=e.indexOf("/")===-1?Iz.lookup(e):e;return this.set("Content-Type",r)};Ie.format=function(t){var e=this.req,r=e.next,n=Object.keys(t).filter(function(a){return a!=="default"}),i=n.length>0?e.accepts(n):!1;return this.vary("Accept"),i?(this.set("Content-Type",jV(i).value),t[i](e,this,r)):t.default?t.default(e,this,r):r(IV(406,{types:DV(n).map(function(a){return a.value})})),this};Ie.attachment=function(e){return e&&this.type(AV(e)),this.set("Content-Disposition",Sz(e)),this};Ie.append=function(e,r){var n=this.get(e),i=r;return n&&(i=Array.isArray(n)?n.concat(r):Array.isArray(r)?[n].concat(r):[n,r]),this.set(e,i)};Ie.set=Ie.header=function(e,r){if(arguments.length===2){var n=Array.isArray(r)?r.map(String):String(r);if(e.toLowerCase()==="content-type"){if(Array.isArray(n))throw new TypeError("Content-Type cannot be set to an Array");if(!FV.test(n)){var i=Iz.charsets.lookup(n.split(";")[0]);i&&(n+="; charset="+i.toLowerCase())}}this.setHeader(e,n)}else for(var a in e)this.set(a,e[a]);return this};Ie.get=function(t){return this.getHeader(t)};Ie.clearCookie=function(e,r){r&&(r.maxAge&&Ct('res.clearCookie: Passing "options.maxAge" is deprecated. In v5.0.0 of Express, this option will be ignored, as res.clearCookie will automatically set cookies to expire immediately. Please update your code to omit this option.'),r.expires&&Ct('res.clearCookie: Passing "options.expires" is deprecated. In v5.0.0 of Express, this option will be ignored, as res.clearCookie will automatically set cookies to expire immediately. Please update your code to omit this option.'));var n=$z({expires:new Date(1),path:"/"},r);return this.cookie(e,"",n)};Ie.cookie=function(t,e,r){var n=$z({},r),i=this.req.secret,a=n.signed;if(a&&!i)throw new Error('cookieParser("secret") required for signed cookies');var o=typeof e=="object"?"j:"+JSON.stringify(e):String(e);if(a&&(o="s:"+RV(o,i)),n.maxAge!=null){var s=n.maxAge-0;isNaN(s)||(n.expires=new Date(Date.now()+s),n.maxAge=Math.floor(s/1e3))}return n.path==null&&(n.path="/"),this.append("Set-Cookie",NV.serialize(t,String(o),n)),this};Ie.location=function(e){var r;return e==="back"?(Ct('res.location("back"): use res.location(req.get("Referrer") || "/") and refer to https://dub.sh/security-redirect for best practices'),r=this.req.get("Referrer")||"/"):r=String(e),this.set("Location",PV(r))};Ie.redirect=function(e){var r=e,n,i=302;arguments.length===2&&(typeof arguments[0]=="number"?(i=arguments[0],r=arguments[1]):(Ct("res.redirect(url, status): Use res.redirect(status, url) instead"),i=arguments[1])),r=this.location(r).get("Location"),this.format({text:function(){n=dd.message[i]+". Redirecting to "+r},html:function(){var a=EV(r);n="<p>"+dd.message[i]+". Redirecting to "+a+"</p>"},default:function(){n=""}}),this.statusCode=i,this.set("Content-Length",bc.byteLength(n)),this.req.method==="HEAD"?this.end():this.end(n)};Ie.vary=function(t){return!t||Array.isArray(t)&&!t.length?(Ct("res.vary(): Provide a field name"),this):(UV(this,t),this)};Ie.render=function(e,r,n){var i=this.req.app,a=n,o=r||{},s=this.req,c=this;typeof r=="function"&&(a=r,o={}),o._locals=c.locals,a=a||function(l,u){if(l)return s.next(l);c.send(u)},i.render(e,o,a)};function Pz(t,e,r,n){var i=!1,a;function o(){if(!i){i=!0;var f=new Error("Request aborted");f.code="ECONNABORTED",n(f)}}function s(){if(!i){i=!0;var f=new Error("EISDIR, read");f.code="EISDIR",n(f)}}function c(f){i||(i=!0,n(f))}function l(){i||(i=!0,n())}function u(){a=!1}function p(f){if(f&&f.code==="ECONNRESET")return o();if(f)return c(f);i||setImmediate(function(){if(a!==!1&&!i){o();return}i||(i=!0,n())})}function d(){a=!0}e.on("directory",s),e.on("end",l),e.on("error",c),e.on("file",u),e.on("stream",d),zV(t,p),r.headers&&e.on("headers",function(m){for(var h=r.headers,g=Object.keys(h),b=0;b<g.length;b++){var S=g[b];m.setHeader(S,h[S])}}),e.pipe(t)}function Ez(t,e,r,n){var i=e||r?JSON.stringify(t,e,r):JSON.stringify(t);return n&&typeof i=="string"&&(i=i.replace(/[<>&]/g,function(a){switch(a.charCodeAt(0)){case 60:return"\\u003c";case 62:return"\\u003e";case 38:return"\\u0026";default:return a}})),i}});var Rz=y((Ule,Bb)=>{"use strict";var qV=dc(),LV=fc(),Hb=Ta(),ZV=A("path").resolve,zz=ad(),HV=A("url");Bb.exports=BV;Bb.exports.mime=zz.mime;function BV(t,e){if(!t)throw new TypeError("root path required");if(typeof t!="string")throw new TypeError("root path must be a string");var r=Object.create(e||null),n=r.fallthrough!==!1,i=r.redirect!==!1,a=r.setHeaders;if(a&&typeof a!="function")throw new TypeError("option setHeaders must be function");r.maxage=r.maxage||r.maxAge||0,r.root=ZV(t);var o=i?GV():JV();return function(c,l,u){if(c.method!=="GET"&&c.method!=="HEAD"){if(n)return u();l.statusCode=405,l.setHeader("Allow","GET, HEAD"),l.setHeader("Content-Length","0"),l.end();return}var p=!n,d=Hb.original(c),f=Hb(c).pathname;f==="/"&&d.pathname.substr(-1)!=="/"&&(f="");var m=zz(c,f,r);m.on("directory",o),a&&m.on("headers",a),n&&m.on("file",function(){p=!0}),m.on("error",function(g){if(p||!(g.statusCode<500)){u(g);return}u()}),m.pipe(l)}}function VV(t){for(var e=0;e<t.length&&t.charCodeAt(e)===47;e++);return e>1?"/"+t.substr(e):t}function WV(t,e){return`<!DOCTYPE html>
|
|
50
|
+
Please see the 3.x to 4.x migration guide for details on how to update your app.`)}})};qe.lazyrouter=function(){this._router||(this._router=new hB({caseSensitive:this.enabled("case sensitive routing"),strict:this.enabled("strict routing")}),this._router.use(vB(this.get("query parser fn"))),this._router.use(gB.init(this)))};qe.handle=function(e,r,n){var i=this._router,a=n||mB(e,r,{env:this.get("env"),onerror:PB.bind(this)});if(!i){ld("no routes defined on app"),a();return}i.handle(e,r,a)};qe.use=function(e){var r=0,n="/";if(typeof e!="function"){for(var i=e;Array.isArray(i)&&i.length!==0;)i=i[0];typeof i!="function"&&(r=1,n=e)}var a=kB(Ob.call(arguments,r));if(a.length===0)throw new TypeError("app.use() requires a middleware function");this.lazyrouter();var o=this._router;return a.forEach(function(s){if(!s||!s.handle||!s.set)return o.use(n,s);ld(".use app under %s",n),s.mountpath=n,s.parent=this,o.use(n,function(l,u,p){var d=l.app;s.handle(l,u,function(f){Aa(l,d.request),Aa(u,d.response),p(f)})}),s.emit("mount",this)},this),this};qe.route=function(e){return this.lazyrouter(),this._router.route(e)};qe.engine=function(e,r){if(typeof r!="function")throw new Error("callback function required");var n=e[0]!=="."?"."+e:e;return this.engines[n]=r,this};qe.param=function(e,r){if(this.lazyrouter(),Array.isArray(e)){for(var n=0;n<e.length;n++)this.param(e[n],r);return this}return this._router.param(e,r),this};qe.set=function(e,r){if(arguments.length===1){for(var n=this.settings;n&&n!==Object.prototype;){if(IB.call(n,e))return n[e];n=Object.getPrototypeOf(n)}return}switch(ld('set "%s" to %o',e,r),this.settings[e]=r,e){case"etag":this.set("etag fn",bB(r));break;case"query parser":this.set("query parser fn",_B(r));break;case"trust proxy":this.set("trust proxy fn",wB(r)),Object.defineProperty(this.settings,Db,{configurable:!0,value:!1});break}return this};qe.path=function(){return this.parent?this.parent.path()+this.mountpath:""};qe.enabled=function(e){return!!this.set(e)};qe.disabled=function(e){return!this.set(e)};qe.enable=function(e){return this.set(e,!0)};qe.disable=function(e){return this.set(e,!1)};jb.forEach(function(t){qe[t]=function(e){if(t==="get"&&arguments.length===1)return this.set(e);this.lazyrouter();var r=this._router.route(e);return r[t].apply(r,Ob.call(arguments,1)),this}});qe.all=function(e){this.lazyrouter();for(var r=this._router.route(e),n=Ob.call(arguments,1),i=0;i<jb.length;i++)r[jb[i]].apply(r,n);return this};qe.del=SB.function(qe.delete,"app.del: Use app.delete instead");qe.render=function(e,r,n){var i=this.cache,a=n,o=this.engines,s=r,c={},l;if(typeof r=="function"&&(a=r,s={}),Rb(c,this.locals),s._locals&&Rb(c,s._locals),Rb(c,s),c.cache==null&&(c.cache=this.enabled("view cache")),c.cache&&(l=i[e]),!l){var u=this.get("view");if(l=new u(e,{defaultEngine:this.get("view engine"),root:this.get("views"),engines:o}),!l.path){var p=Array.isArray(l.root)&&l.root.length>1?'directories "'+l.root.slice(0,-1).join('", "')+'" or "'+l.root[l.root.length-1]+'"':'directory "'+l.root+'"',d=new Error('Failed to lookup view "'+e+'" in views '+p);return d.view=l,a(d)}c.cache&&(i[e]=l)}EB(l,c,a)};qe.listen=function(){var e=xB.createServer(this);return e.listen.apply(e,arguments)};function PB(t){this.get("env")!=="test"&&console.error(t.stack||t.toString())}function EB(t,e,r){try{t.render(e,r)}catch(n){r(n)}}});var BC=y((Ele,Nb)=>{"use strict";Nb.exports=HC;Nb.exports.preferredCharsets=HC;var TB=/^\s*([^\s;]+)\s*(?:;(.*))?$/;function CB(t){for(var e=t.split(","),r=0,n=0;r<e.length;r++){var i=zB(e[r].trim(),r);i&&(e[n++]=i)}return e.length=n,e}function zB(t,e){var r=TB.exec(t);if(!r)return null;var n=r[1],i=1;if(r[2])for(var a=r[2].split(";"),o=0;o<a.length;o++){var s=a[o].trim().split("=");if(s[0]==="q"){i=parseFloat(s[1]);break}}return{charset:n,q:i,i:e}}function RB(t,e,r){for(var n={o:-1,q:0,s:0},i=0;i<e.length;i++){var a=jB(t,e[i],r);a&&(n.s-a.s||n.q-a.q||n.o-a.o)<0&&(n=a)}return n}function jB(t,e,r){var n=0;if(e.charset.toLowerCase()===t.toLowerCase())n|=1;else if(e.charset!=="*")return null;return{i:r,o:e.i,q:e.q,s:n}}function HC(t,e){var r=CB(t===void 0?"*":t||"");if(!e)return r.filter(ZC).sort(LC).map(DB);var n=e.map(function(a,o){return RB(a,r,o)});return n.filter(ZC).sort(LC).map(function(a){return e[n.indexOf(a)]})}function LC(t,e){return e.q-t.q||e.s-t.s||t.o-e.o||t.i-e.i||0}function DB(t){return t.charset}function ZC(t){return t.q>0}});var KC=y((Tle,Ab)=>{"use strict";Ab.exports=GC;Ab.exports.preferredEncodings=GC;var OB=/^\s*([^\s;]+)\s*(?:;(.*))?$/;function NB(t){for(var e=t.split(","),r=!1,n=1,i=0,a=0;i<e.length;i++){var o=AB(e[i].trim(),i);o&&(e[a++]=o,r=r||JC("identity",o),n=Math.min(n,o.q||1))}return r||(e[a++]={encoding:"identity",q:n,i}),e.length=a,e}function AB(t,e){var r=OB.exec(t);if(!r)return null;var n=r[1],i=1;if(r[2])for(var a=r[2].split(";"),o=0;o<a.length;o++){var s=a[o].trim().split("=");if(s[0]==="q"){i=parseFloat(s[1]);break}}return{encoding:n,q:i,i:e}}function MB(t,e,r){for(var n={o:-1,q:0,s:0},i=0;i<e.length;i++){var a=JC(t,e[i],r);a&&(n.s-a.s||n.q-a.q||n.o-a.o)<0&&(n=a)}return n}function JC(t,e,r){var n=0;if(e.encoding.toLowerCase()===t.toLowerCase())n|=1;else if(e.encoding!=="*")return null;return{i:r,o:e.i,q:e.q,s:n}}function GC(t,e){var r=NB(t||"");if(!e)return r.filter(WC).sort(VC).map(UB);var n=e.map(function(a,o){return MB(a,r,o)});return n.filter(WC).sort(VC).map(function(a){return e[n.indexOf(a)]})}function VC(t,e){return e.q-t.q||e.s-t.s||t.o-e.o||t.i-e.i||0}function UB(t){return t.encoding}function WC(t){return t.q>0}});var tz=y((Cle,Mb)=>{"use strict";Mb.exports=ez;Mb.exports.preferredLanguages=ez;var FB=/^\s*([^\s\-;]+)(?:-([^\s;]+))?\s*(?:;(.*))?$/;function qB(t){for(var e=t.split(","),r=0,n=0;r<e.length;r++){var i=QC(e[r].trim(),r);i&&(e[n++]=i)}return e.length=n,e}function QC(t,e){var r=FB.exec(t);if(!r)return null;var n=r[1],i=r[2],a=n;i&&(a+="-"+i);var o=1;if(r[3])for(var s=r[3].split(";"),c=0;c<s.length;c++){var l=s[c].split("=");l[0]==="q"&&(o=parseFloat(l[1]))}return{prefix:n,suffix:i,q:o,i:e,full:a}}function LB(t,e,r){for(var n={o:-1,q:0,s:0},i=0;i<e.length;i++){var a=ZB(t,e[i],r);a&&(n.s-a.s||n.q-a.q||n.o-a.o)<0&&(n=a)}return n}function ZB(t,e,r){var n=QC(t);if(!n)return null;var i=0;if(e.full.toLowerCase()===n.full.toLowerCase())i|=4;else if(e.prefix.toLowerCase()===n.full.toLowerCase())i|=2;else if(e.full.toLowerCase()===n.prefix.toLowerCase())i|=1;else if(e.full!=="*")return null;return{i:r,o:e.i,q:e.q,s:i}}function ez(t,e){var r=qB(t===void 0?"*":t||"");if(!e)return r.filter(YC).sort(XC).map(HB);var n=e.map(function(a,o){return LB(a,r,o)});return n.filter(YC).sort(XC).map(function(a){return e[n.indexOf(a)]})}function XC(t,e){return e.q-t.q||e.s-t.s||t.o-e.o||t.i-e.i||0}function HB(t){return t.full}function YC(t){return t.q>0}});var sz=y((zle,Ub)=>{"use strict";Ub.exports=az;Ub.exports.preferredMediaTypes=az;var BB=/^\s*([^\s\/;]+)\/([^;\s]+)\s*(?:;(.*))?$/;function VB(t){for(var e=XB(t),r=0,n=0;r<e.length;r++){var i=iz(e[r].trim(),r);i&&(e[n++]=i)}return e.length=n,e}function iz(t,e){var r=BB.exec(t);if(!r)return null;var n=Object.create(null),i=1,a=r[2],o=r[1];if(r[3])for(var s=YB(r[3]).map(KB),c=0;c<s.length;c++){var l=s[c],u=l[0].toLowerCase(),p=l[1],d=p&&p[0]==='"'&&p[p.length-1]==='"'?p.substr(1,p.length-2):p;if(u==="q"){i=parseFloat(d);break}n[u]=d}return{type:o,subtype:a,params:n,q:i,i:e}}function WB(t,e,r){for(var n={o:-1,q:0,s:0},i=0;i<e.length;i++){var a=JB(t,e[i],r);a&&(n.s-a.s||n.q-a.q||n.o-a.o)<0&&(n=a)}return n}function JB(t,e,r){var n=iz(t),i=0;if(!n)return null;if(e.type.toLowerCase()==n.type.toLowerCase())i|=4;else if(e.type!="*")return null;if(e.subtype.toLowerCase()==n.subtype.toLowerCase())i|=2;else if(e.subtype!="*")return null;var a=Object.keys(e.params);if(a.length>0)if(a.every(function(o){return e.params[o]=="*"||(e.params[o]||"").toLowerCase()==(n.params[o]||"").toLowerCase()}))i|=1;else return null;return{i:r,o:e.i,q:e.q,s:i}}function az(t,e){var r=VB(t===void 0?"*/*":t||"");if(!e)return r.filter(nz).sort(rz).map(GB);var n=e.map(function(a,o){return WB(a,r,o)});return n.filter(nz).sort(rz).map(function(a){return e[n.indexOf(a)]})}function rz(t,e){return e.q-t.q||e.s-t.s||t.o-e.o||t.i-e.i||0}function GB(t){return t.type+"/"+t.subtype}function nz(t){return t.q>0}function oz(t){for(var e=0,r=0;(r=t.indexOf('"',r))!==-1;)e++,r++;return e}function KB(t){var e=t.indexOf("="),r,n;return e===-1?r=t:(r=t.substr(0,e),n=t.substr(e+1)),[r,n]}function XB(t){for(var e=t.split(","),r=1,n=0;r<e.length;r++)oz(e[n])%2==0?e[++n]=e[r]:e[n]+=","+e[r];return e.length=n+1,e}function YB(t){for(var e=t.split(";"),r=1,n=0;r<e.length;r++)oz(e[n])%2==0?e[++n]=e[r]:e[n]+=";"+e[r];e.length=n+1;for(var r=0;r<e.length;r++)e[r]=e[r].trim();return e}});var cz=y((Rle,Fb)=>{"use strict";var QB=BC(),eV=KC(),tV=tz(),rV=sz();Fb.exports=ye;Fb.exports.Negotiator=ye;function ye(t){if(!(this instanceof ye))return new ye(t);this.request=t}ye.prototype.charset=function(e){var r=this.charsets(e);return r&&r[0]};ye.prototype.charsets=function(e){return QB(this.request.headers["accept-charset"],e)};ye.prototype.encoding=function(e){var r=this.encodings(e);return r&&r[0]};ye.prototype.encodings=function(e){return eV(this.request.headers["accept-encoding"],e)};ye.prototype.language=function(e){var r=this.languages(e);return r&&r[0]};ye.prototype.languages=function(e){return tV(this.request.headers["accept-language"],e)};ye.prototype.mediaType=function(e){var r=this.mediaTypes(e);return r&&r[0]};ye.prototype.mediaTypes=function(e){return rV(this.request.headers.accept,e)};ye.prototype.preferredCharset=ye.prototype.charset;ye.prototype.preferredCharsets=ye.prototype.charsets;ye.prototype.preferredEncoding=ye.prototype.encoding;ye.prototype.preferredEncodings=ye.prototype.encodings;ye.prototype.preferredLanguage=ye.prototype.language;ye.prototype.preferredLanguages=ye.prototype.languages;ye.prototype.preferredMediaType=ye.prototype.mediaType;ye.prototype.preferredMediaTypes=ye.prototype.mediaTypes});var uz=y((jle,lz)=>{"use strict";var nV=cz(),iV=Dx();lz.exports=Ft;function Ft(t){if(!(this instanceof Ft))return new Ft(t);this.headers=t.headers,this.negotiator=new nV(t)}Ft.prototype.type=Ft.prototype.types=function(t){var e=t;if(e&&!Array.isArray(e)){e=new Array(arguments.length);for(var r=0;r<e.length;r++)e[r]=arguments[r]}if(!e||e.length===0)return this.negotiator.mediaTypes();if(!this.headers.accept)return e[0];var n=e.map(aV),i=this.negotiator.mediaTypes(n.filter(oV)),a=i[0];return a?e[n.indexOf(a)]:!1};Ft.prototype.encoding=Ft.prototype.encodings=function(t){var e=t;if(e&&!Array.isArray(e)){e=new Array(arguments.length);for(var r=0;r<e.length;r++)e[r]=arguments[r]}return!e||e.length===0?this.negotiator.encodings():this.negotiator.encodings(e)[0]||!1};Ft.prototype.charset=Ft.prototype.charsets=function(t){var e=t;if(e&&!Array.isArray(e)){e=new Array(arguments.length);for(var r=0;r<e.length;r++)e[r]=arguments[r]}return!e||e.length===0?this.negotiator.charsets():this.negotiator.charsets(e)[0]||!1};Ft.prototype.lang=Ft.prototype.langs=Ft.prototype.language=Ft.prototype.languages=function(t){var e=t;if(e&&!Array.isArray(e)){e=new Array(arguments.length);for(var r=0;r<e.length;r++)e[r]=arguments[r]}return!e||e.length===0?this.negotiator.languages():this.negotiator.languages(e)[0]||!1};function aV(t){return t.indexOf("/")===-1?iV.lookup(t):t}function oV(t){return typeof t=="string"}});var fz=y((Dle,dz)=>{"use strict";var ud=uz(),xc=Ir()("express"),sV=A("net").isIP,cV=wa(),lV=A("http"),uV=Sb(),pV=kb(),dV=Ta(),pz=zb(),Se=Object.create(lV.IncomingMessage.prototype);dz.exports=Se;Se.get=Se.header=function(e){if(!e)throw new TypeError("name argument is required to req.get");if(typeof e!="string")throw new TypeError("name must be a string to req.get");var r=e.toLowerCase();switch(r){case"referer":case"referrer":return this.headers.referrer||this.headers.referer;default:return this.headers[r]}};Se.accepts=function(){var t=ud(this);return t.types.apply(t,arguments)};Se.acceptsEncodings=function(){var t=ud(this);return t.encodings.apply(t,arguments)};Se.acceptsEncoding=xc.function(Se.acceptsEncodings,"req.acceptsEncoding: Use acceptsEncodings instead");Se.acceptsCharsets=function(){var t=ud(this);return t.charsets.apply(t,arguments)};Se.acceptsCharset=xc.function(Se.acceptsCharsets,"req.acceptsCharset: Use acceptsCharsets instead");Se.acceptsLanguages=function(){var t=ud(this);return t.languages.apply(t,arguments)};Se.acceptsLanguage=xc.function(Se.acceptsLanguages,"req.acceptsLanguage: Use acceptsLanguages instead");Se.range=function(e,r){var n=this.get("Range");if(n)return pV(e,n,r)};Se.param=function(e,r){var n=this.params||{},i=this.body||{},a=this.query||{},o=arguments.length===1?"name":"name, default";return xc("req.param("+o+"): Use req.params, req.body, or req.query instead"),n[e]!=null&&n.hasOwnProperty(e)?n[e]:i[e]!=null?i[e]:a[e]!=null?a[e]:r};Se.is=function(e){var r=e;if(!Array.isArray(e)){r=new Array(arguments.length);for(var n=0;n<r.length;n++)r[n]=arguments[n]}return cV(this,r)};fr(Se,"protocol",function(){var e=this.connection.encrypted?"https":"http",r=this.app.get("trust proxy fn");if(!r(this.connection.remoteAddress,0))return e;var n=this.get("X-Forwarded-Proto")||e,i=n.indexOf(",");return i!==-1?n.substring(0,i).trim():n.trim()});fr(Se,"secure",function(){return this.protocol==="https"});fr(Se,"ip",function(){var e=this.app.get("trust proxy fn");return pz(this,e)});fr(Se,"ips",function(){var e=this.app.get("trust proxy fn"),r=pz.all(this,e);return r.reverse().pop(),r});fr(Se,"subdomains",function(){var e=this.hostname;if(!e)return[];var r=this.app.get("subdomain offset"),n=sV(e)?[e]:e.split(".").reverse();return n.slice(r)});fr(Se,"path",function(){return dV(this).pathname});fr(Se,"hostname",function(){var e=this.app.get("trust proxy fn"),r=this.get("X-Forwarded-Host");if(!r||!e(this.connection.remoteAddress,0)?r=this.get("Host"):r.indexOf(",")!==-1&&(r=r.substring(0,r.indexOf(",")).trimRight()),!!r){var n=r[0]==="["?r.indexOf("]")+1:0,i=r.indexOf(":",n);return i!==-1?r.substring(0,i):r}});fr(Se,"host",xc.function(function(){return this.hostname},"req.host: Use req.hostname instead"));fr(Se,"fresh",function(){var t=this.method,e=this.res,r=e.statusCode;return t!=="GET"&&t!=="HEAD"?!1:r>=200&&r<300||r===304?uV(this.headers,{etag:e.get("ETag"),"last-modified":e.get("Last-Modified")}):!1});fr(Se,"stale",function(){return!this.fresh});fr(Se,"xhr",function(){var e=this.get("X-Requested-With")||"";return e.toLowerCase()==="xmlhttprequest"});function fr(t,e,r){Object.defineProperty(t,e,{configurable:!0,enumerable:!0,get:r})}});var gz=y(pd=>{var hz=A("crypto");pd.sign=function(t,e){if(typeof t!="string")throw new TypeError("Cookie value must be provided as a string.");if(e==null)throw new TypeError("Secret key must be provided.");return t+"."+hz.createHmac("sha256",e).update(t).digest("base64").replace(/\=+$/,"")};pd.unsign=function(t,e){if(typeof t!="string")throw new TypeError("Signed cookie string must be provided.");if(e==null)throw new TypeError("Secret key must be provided.");var r=t.slice(0,t.lastIndexOf(".")),n=pd.sign(r,e);return mz(n)==mz(t)?r:!1};function mz(t){return hz.createHash("sha1").update(t).digest("hex")}});var xz=y(qb=>{"use strict";qb.parse=xV;qb.serialize=bV;var fV=Object.prototype.toString,mV=Object.prototype.hasOwnProperty,hV=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/,gV=/^("?)[\u0021\u0023-\u002B\u002D-\u003A\u003C-\u005B\u005D-\u007E]*\1$/,vV=/^([.]?[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)([.][a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)*$/i,yV=/^[\u0020-\u003A\u003D-\u007E]*$/;function xV(t,e){if(typeof t!="string")throw new TypeError("argument str must be a string");var r={},n=t.length;if(n<2)return r;var i=e&&e.decode||_V,a=0,o=0,s=0;do{if(o=t.indexOf("=",a),o===-1)break;if(s=t.indexOf(";",a),s===-1)s=n;else if(o>s){a=t.lastIndexOf(";",o-1)+1;continue}var c=vz(t,a,o),l=yz(t,o,c),u=t.slice(c,l);if(!mV.call(r,u)){var p=vz(t,o+1,s),d=yz(t,s,p);t.charCodeAt(p)===34&&t.charCodeAt(d-1)===34&&(p++,d--);var f=t.slice(p,d);r[u]=SV(f,i)}a=s+1}while(a<n);return r}function vz(t,e,r){do{var n=t.charCodeAt(e);if(n!==32&&n!==9)return e}while(++e<r);return r}function yz(t,e,r){for(;e>r;){var n=t.charCodeAt(--e);if(n!==32&&n!==9)return e+1}return r}function bV(t,e,r){var n=r&&r.encode||encodeURIComponent;if(typeof n!="function")throw new TypeError("option encode is invalid");if(!hV.test(t))throw new TypeError("argument name is invalid");var i=n(e);if(!gV.test(i))throw new TypeError("argument val is invalid");var a=t+"="+i;if(!r)return a;if(r.maxAge!=null){var o=Math.floor(r.maxAge);if(!isFinite(o))throw new TypeError("option maxAge is invalid");a+="; Max-Age="+o}if(r.domain){if(!vV.test(r.domain))throw new TypeError("option domain is invalid");a+="; Domain="+r.domain}if(r.path){if(!yV.test(r.path))throw new TypeError("option path is invalid");a+="; Path="+r.path}if(r.expires){var s=r.expires;if(!wV(s)||isNaN(s.valueOf()))throw new TypeError("option expires is invalid");a+="; Expires="+s.toUTCString()}if(r.httpOnly&&(a+="; HttpOnly"),r.secure&&(a+="; Secure"),r.partitioned&&(a+="; Partitioned"),r.priority){var c=typeof r.priority=="string"?r.priority.toLowerCase():r.priority;switch(c){case"low":a+="; Priority=Low";break;case"medium":a+="; Priority=Medium";break;case"high":a+="; Priority=High";break;default:throw new TypeError("option priority is invalid")}}if(r.sameSite){var l=typeof r.sameSite=="string"?r.sameSite.toLowerCase():r.sameSite;switch(l){case!0:a+="; SameSite=Strict";break;case"lax":a+="; SameSite=Lax";break;case"strict":a+="; SameSite=Strict";break;case"none":a+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}}return a}function _V(t){return t.indexOf("%")!==-1?decodeURIComponent(t):t}function wV(t){return fV.call(t)==="[object Date]"}function SV(t,e){try{return e(t)}catch{return t}}});var wz=y((Ale,Lb)=>{"use strict";Lb.exports=$V;Lb.exports.append=_z;var kV=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/;function _z(t,e){if(typeof t!="string")throw new TypeError("header argument is required");if(!e)throw new TypeError("field argument is required");for(var r=Array.isArray(e)?e:bz(String(e)),n=0;n<r.length;n++)if(!kV.test(r[n]))throw new TypeError("field argument contains an invalid header name");if(t==="*")return t;var i=t,a=bz(t.toLowerCase());if(r.indexOf("*")!==-1||a.indexOf("*")!==-1)return"*";for(var o=0;o<r.length;o++){var s=r[o].toLowerCase();a.indexOf(s)===-1&&(a.push(s),i=i?i+", "+r[o]:r[o])}return i}function bz(t){for(var e=0,r=[],n=0,i=0,a=t.length;i<a;i++)switch(t.charCodeAt(i)){case 32:n===e&&(n=e=i+1);break;case 44:r.push(t.substring(n,e)),n=e=i+1;break;default:e=i+1;break}return r.push(t.substring(n,e)),r}function $V(t,e){if(!t||!t.getHeader||!t.setHeader)throw new TypeError("res argument is required");var r=t.getHeader("Vary")||"",n=Array.isArray(r)?r.join(", "):String(r);(r=_z(n,e))&&t.setHeader("Vary",r)}});var Cz=y((Mle,Tz)=>{"use strict";var bc=ed().Buffer,Sz=_b(),IV=ni(),Ct=Ir()("express"),PV=dc(),EV=fc(),TV=A("http"),CV=Cn().isAbsolute,zV=Xs(),kz=A("path"),dd=Ls(),$z=hc(),RV=gz().sign,jV=Cn().normalizeType,DV=Cn().normalizeTypes,OV=Cn().setCharset,NV=xz(),Zb=ad(),AV=kz.extname,Iz=Zb.mime,MV=kz.resolve,UV=wz(),Pe=Object.create(TV.ServerResponse.prototype);Tz.exports=Pe;var FV=/;\s*charset\s*=/;Pe.status=function(e){return(typeof e=="string"||Math.floor(e)!==e)&&e>99&&e<1e3&&Ct("res.status("+JSON.stringify(e)+"): use res.status("+Math.floor(e)+") instead"),this.statusCode=e,this};Pe.links=function(t){var e=this.get("Link")||"";return e&&(e+=", "),this.set("Link",e+Object.keys(t).map(function(r){return"<"+t[r]+'>; rel="'+r+'"'}).join(", "))};Pe.send=function(e){var r=e,n,i=this.req,a,o=this.app;switch(arguments.length===2&&(typeof arguments[0]!="number"&&typeof arguments[1]=="number"?(Ct("res.send(body, status): Use res.status(status).send(body) instead"),this.statusCode=arguments[1]):(Ct("res.send(status, body): Use res.status(status).send(body) instead"),this.statusCode=arguments[0],r=arguments[1])),typeof r=="number"&&arguments.length===1&&(this.get("Content-Type")||this.type("txt"),Ct("res.send(status): Use res.sendStatus(status) instead"),this.statusCode=r,r=dd.message[r]),typeof r){case"string":this.get("Content-Type")||this.type("html");break;case"boolean":case"number":case"object":if(r===null)r="";else if(bc.isBuffer(r))this.get("Content-Type")||this.type("bin");else return this.json(r);break}typeof r=="string"&&(n="utf8",a=this.get("Content-Type"),typeof a=="string"&&this.set("Content-Type",OV(a,"utf-8")));var s=o.get("etag fn"),c=!this.get("ETag")&&typeof s=="function",l;r!==void 0&&(bc.isBuffer(r)?l=r.length:!c&&r.length<1e3?l=bc.byteLength(r,n):(r=bc.from(r,n),n=void 0,l=r.length),this.set("Content-Length",l));var u;return c&&l!==void 0&&(u=s(r,n))&&this.set("ETag",u),i.fresh&&(this.statusCode=304),(this.statusCode===204||this.statusCode===304)&&(this.removeHeader("Content-Type"),this.removeHeader("Content-Length"),this.removeHeader("Transfer-Encoding"),r=""),this.statusCode===205&&(this.set("Content-Length","0"),this.removeHeader("Transfer-Encoding"),r=""),i.method==="HEAD"?this.end():this.end(r,n),this};Pe.json=function(e){var r=e;arguments.length===2&&(typeof arguments[1]=="number"?(Ct("res.json(obj, status): Use res.status(status).json(obj) instead"),this.statusCode=arguments[1]):(Ct("res.json(status, obj): Use res.status(status).json(obj) instead"),this.statusCode=arguments[0],r=arguments[1]));var n=this.app,i=n.get("json escape"),a=n.get("json replacer"),o=n.get("json spaces"),s=Ez(r,a,o,i);return this.get("Content-Type")||this.set("Content-Type","application/json"),this.send(s)};Pe.jsonp=function(e){var r=e;arguments.length===2&&(typeof arguments[1]=="number"?(Ct("res.jsonp(obj, status): Use res.status(status).jsonp(obj) instead"),this.statusCode=arguments[1]):(Ct("res.jsonp(status, obj): Use res.status(status).jsonp(obj) instead"),this.statusCode=arguments[0],r=arguments[1]));var n=this.app,i=n.get("json escape"),a=n.get("json replacer"),o=n.get("json spaces"),s=Ez(r,a,o,i),c=this.req.query[n.get("jsonp callback name")];return this.get("Content-Type")||(this.set("X-Content-Type-Options","nosniff"),this.set("Content-Type","application/json")),Array.isArray(c)&&(c=c[0]),typeof c=="string"&&c.length!==0&&(this.set("X-Content-Type-Options","nosniff"),this.set("Content-Type","text/javascript"),c=c.replace(/[^\[\]\w$.]/g,""),s===void 0?s="":typeof s=="string"&&(s=s.replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")),s="/**/ typeof "+c+" === 'function' && "+c+"("+s+");"),this.send(s)};Pe.sendStatus=function(e){var r=dd.message[e]||String(e);return this.statusCode=e,this.type("txt"),this.send(r)};Pe.sendFile=function(e,r,n){var i=n,a=this.req,o=this,s=a.next,c=r||{};if(!e)throw new TypeError("path argument is required to res.sendFile");if(typeof e!="string")throw new TypeError("path must be a string to res.sendFile");if(typeof r=="function"&&(i=r,c={}),!c.root&&!CV(e))throw new TypeError("path must be absolute or specify root to res.sendFile");var l=encodeURI(e),u=Zb(a,l,c);Pz(o,u,c,function(p){if(i)return i(p);if(p&&p.code==="EISDIR")return s();p&&p.code!=="ECONNABORTED"&&p.syscall!=="write"&&s(p)})};Pe.sendfile=function(t,e,r){var n=r,i=this.req,a=this,o=i.next,s=e||{};typeof e=="function"&&(n=e,s={});var c=Zb(i,t,s);Pz(a,c,s,function(l){if(n)return n(l);if(l&&l.code==="EISDIR")return o();l&&l.code!=="ECONNABORTED"&&l.syscall!=="write"&&o(l)})};Pe.sendfile=Ct.function(Pe.sendfile,"res.sendfile: Use res.sendFile instead");Pe.download=function(e,r,n,i){var a=i,o=r,s=n||null;typeof r=="function"?(a=r,o=null,s=null):typeof n=="function"&&(a=n,s=null),typeof r=="object"&&(typeof n=="function"||n===void 0)&&(o=null,s=r);var c={"Content-Disposition":Sz(o||e)};if(s&&s.headers)for(var l=Object.keys(s.headers),u=0;u<l.length;u++){var p=l[u];p.toLowerCase()!=="content-disposition"&&(c[p]=s.headers[p])}s=Object.create(s),s.headers=c;var d=s.root?e:MV(e);return this.sendFile(d,s,a)};Pe.contentType=Pe.type=function(e){var r=e.indexOf("/")===-1?Iz.lookup(e):e;return this.set("Content-Type",r)};Pe.format=function(t){var e=this.req,r=e.next,n=Object.keys(t).filter(function(a){return a!=="default"}),i=n.length>0?e.accepts(n):!1;return this.vary("Accept"),i?(this.set("Content-Type",jV(i).value),t[i](e,this,r)):t.default?t.default(e,this,r):r(IV(406,{types:DV(n).map(function(a){return a.value})})),this};Pe.attachment=function(e){return e&&this.type(AV(e)),this.set("Content-Disposition",Sz(e)),this};Pe.append=function(e,r){var n=this.get(e),i=r;return n&&(i=Array.isArray(n)?n.concat(r):Array.isArray(r)?[n].concat(r):[n,r]),this.set(e,i)};Pe.set=Pe.header=function(e,r){if(arguments.length===2){var n=Array.isArray(r)?r.map(String):String(r);if(e.toLowerCase()==="content-type"){if(Array.isArray(n))throw new TypeError("Content-Type cannot be set to an Array");if(!FV.test(n)){var i=Iz.charsets.lookup(n.split(";")[0]);i&&(n+="; charset="+i.toLowerCase())}}this.setHeader(e,n)}else for(var a in e)this.set(a,e[a]);return this};Pe.get=function(t){return this.getHeader(t)};Pe.clearCookie=function(e,r){r&&(r.maxAge&&Ct('res.clearCookie: Passing "options.maxAge" is deprecated. In v5.0.0 of Express, this option will be ignored, as res.clearCookie will automatically set cookies to expire immediately. Please update your code to omit this option.'),r.expires&&Ct('res.clearCookie: Passing "options.expires" is deprecated. In v5.0.0 of Express, this option will be ignored, as res.clearCookie will automatically set cookies to expire immediately. Please update your code to omit this option.'));var n=$z({expires:new Date(1),path:"/"},r);return this.cookie(e,"",n)};Pe.cookie=function(t,e,r){var n=$z({},r),i=this.req.secret,a=n.signed;if(a&&!i)throw new Error('cookieParser("secret") required for signed cookies');var o=typeof e=="object"?"j:"+JSON.stringify(e):String(e);if(a&&(o="s:"+RV(o,i)),n.maxAge!=null){var s=n.maxAge-0;isNaN(s)||(n.expires=new Date(Date.now()+s),n.maxAge=Math.floor(s/1e3))}return n.path==null&&(n.path="/"),this.append("Set-Cookie",NV.serialize(t,String(o),n)),this};Pe.location=function(e){var r;return e==="back"?(Ct('res.location("back"): use res.location(req.get("Referrer") || "/") and refer to https://dub.sh/security-redirect for best practices'),r=this.req.get("Referrer")||"/"):r=String(e),this.set("Location",PV(r))};Pe.redirect=function(e){var r=e,n,i=302;arguments.length===2&&(typeof arguments[0]=="number"?(i=arguments[0],r=arguments[1]):(Ct("res.redirect(url, status): Use res.redirect(status, url) instead"),i=arguments[1])),r=this.location(r).get("Location"),this.format({text:function(){n=dd.message[i]+". Redirecting to "+r},html:function(){var a=EV(r);n="<p>"+dd.message[i]+". Redirecting to "+a+"</p>"},default:function(){n=""}}),this.statusCode=i,this.set("Content-Length",bc.byteLength(n)),this.req.method==="HEAD"?this.end():this.end(n)};Pe.vary=function(t){return!t||Array.isArray(t)&&!t.length?(Ct("res.vary(): Provide a field name"),this):(UV(this,t),this)};Pe.render=function(e,r,n){var i=this.req.app,a=n,o=r||{},s=this.req,c=this;typeof r=="function"&&(a=r,o={}),o._locals=c.locals,a=a||function(l,u){if(l)return s.next(l);c.send(u)},i.render(e,o,a)};function Pz(t,e,r,n){var i=!1,a;function o(){if(!i){i=!0;var f=new Error("Request aborted");f.code="ECONNABORTED",n(f)}}function s(){if(!i){i=!0;var f=new Error("EISDIR, read");f.code="EISDIR",n(f)}}function c(f){i||(i=!0,n(f))}function l(){i||(i=!0,n())}function u(){a=!1}function p(f){if(f&&f.code==="ECONNRESET")return o();if(f)return c(f);i||setImmediate(function(){if(a!==!1&&!i){o();return}i||(i=!0,n())})}function d(){a=!0}e.on("directory",s),e.on("end",l),e.on("error",c),e.on("file",u),e.on("stream",d),zV(t,p),r.headers&&e.on("headers",function(m){for(var h=r.headers,g=Object.keys(h),b=0;b<g.length;b++){var S=g[b];m.setHeader(S,h[S])}}),e.pipe(t)}function Ez(t,e,r,n){var i=e||r?JSON.stringify(t,e,r):JSON.stringify(t);return n&&typeof i=="string"&&(i=i.replace(/[<>&]/g,function(a){switch(a.charCodeAt(0)){case 60:return"\\u003c";case 62:return"\\u003e";case 38:return"\\u0026";default:return a}})),i}});var Rz=y((Ule,Bb)=>{"use strict";var qV=dc(),LV=fc(),Hb=Ta(),ZV=A("path").resolve,zz=ad(),HV=A("url");Bb.exports=BV;Bb.exports.mime=zz.mime;function BV(t,e){if(!t)throw new TypeError("root path required");if(typeof t!="string")throw new TypeError("root path must be a string");var r=Object.create(e||null),n=r.fallthrough!==!1,i=r.redirect!==!1,a=r.setHeaders;if(a&&typeof a!="function")throw new TypeError("option setHeaders must be function");r.maxage=r.maxage||r.maxAge||0,r.root=ZV(t);var o=i?GV():JV();return function(c,l,u){if(c.method!=="GET"&&c.method!=="HEAD"){if(n)return u();l.statusCode=405,l.setHeader("Allow","GET, HEAD"),l.setHeader("Content-Length","0"),l.end();return}var p=!n,d=Hb.original(c),f=Hb(c).pathname;f==="/"&&d.pathname.substr(-1)!=="/"&&(f="");var m=zz(c,f,r);m.on("directory",o),a&&m.on("headers",a),n&&m.on("file",function(){p=!0}),m.on("error",function(g){if(p||!(g.statusCode<500)){u(g);return}u()}),m.pipe(l)}}function VV(t){for(var e=0;e<t.length&&t.charCodeAt(e)===47;e++);return e>1?"/"+t.substr(e):t}function WV(t,e){return`<!DOCTYPE html>
|
|
51
51
|
<html lang="en">
|
|
52
52
|
<head>
|
|
53
53
|
<meta charset="utf-8">
|
|
@@ -57,7 +57,7 @@ Please see the 3.x to 4.x migration guide for details on how to update your app.
|
|
|
57
57
|
<pre>`+e+`</pre>
|
|
58
58
|
</body>
|
|
59
59
|
</html>
|
|
60
|
-
`}function JV(){return function(){this.error(404)}}function GV(){return function(e){if(this.hasTrailingSlash()){this.error(404);return}var r=Hb.original(this.req);r.path=null,r.pathname=VV(r.pathname+"/");var n=qV(HV.format(r)),i=WV("Redirecting","Redirecting to "+LV(n));e.statusCode=301,e.setHeader("Content-Type","text/html; charset=UTF-8"),e.setHeader("Content-Length",Buffer.byteLength(i)),e.setHeader("Content-Security-Policy","default-src 'none'"),e.setHeader("X-Content-Type-Options","nosniff"),e.setHeader("Location",n),e.end(i)}}});var Mz=y((zt,Az)=>{"use strict";var fd=s4(),KV=A("events").EventEmitter,jz=l4(),Dz=qC(),XV=hb(),YV=vb(),Oz=fz(),Nz=Cz();zt=Az.exports=QV;function QV(){var t=function(e,r,n){t.handle(e,r,n)};return jz(t,KV.prototype,!1),jz(t,Dz,!1),t.request=Object.create(Oz,{app:{configurable:!0,enumerable:!0,writable:!0,value:t}}),t.response=Object.create(Nz,{app:{configurable:!0,enumerable:!0,writable:!0,value:t}}),t.init(),t}zt.application=Dz;zt.request=Oz;zt.response=Nz;zt.Route=XV;zt.Router=YV;zt.json=fd.json;zt.query=yb();zt.raw=fd.raw;zt.static=Rz();zt.text=fd.text;zt.urlencoded=fd.urlencoded;var eW=["bodyParser","compress","cookieSession","session","logger","cookieParser","favicon","responseTime","errorHandler","timeout","methodOverride","vhost","csrf","directory","limit","multipart","staticCache"];eW.forEach(function(t){Object.defineProperty(zt,t,{get:function(){throw new Error("Most middleware (like "+t+") is no longer bundled with Express and must be installed separately. Please see https://github.com/senchalabs/connect#middleware.")},configurable:!0})})});var md=y((Fle,Uz)=>{"use strict";Uz.exports=Mz()});var ie;(function(t){t.assertEqual=i=>{};function e(i){}t.assertIs=e;function r(i){throw new Error}t.assertNever=r,t.arrayToEnum=i=>{let a={};for(let o of i)a[o]=o;return a},t.getValidEnumValues=i=>{let a=t.objectKeys(i).filter(s=>typeof i[i[s]]!="number"),o={};for(let s of a)o[s]=i[s];return t.objectValues(o)},t.objectValues=i=>t.objectKeys(i).map(function(a){return i[a]}),t.objectKeys=typeof Object.keys=="function"?i=>Object.keys(i):i=>{let a=[];for(let o in i)Object.prototype.hasOwnProperty.call(i,o)&&a.push(o);return a},t.find=(i,a)=>{for(let o of i)if(a(o))return o},t.isInteger=typeof Number.isInteger=="function"?i=>Number.isInteger(i):i=>typeof i=="number"&&Number.isFinite(i)&&Math.floor(i)===i;function n(i,a=" | "){return i.map(o=>typeof o=="string"?`'${o}'`:o).join(a)}t.joinValues=n,t.jsonStringifyReplacer=(i,a)=>typeof a=="bigint"?a.toString():a})(ie||(ie={}));var T_;(function(t){t.mergeShapes=(e,r)=>({...e,...r})})(T_||(T_={}));var C=ie.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Mr=t=>{switch(typeof t){case"undefined":return C.undefined;case"string":return C.string;case"number":return Number.isNaN(t)?C.nan:C.number;case"boolean":return C.boolean;case"function":return C.function;case"bigint":return C.bigint;case"symbol":return C.symbol;case"object":return Array.isArray(t)?C.array:t===null?C.null:t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?C.promise:typeof Map<"u"&&t instanceof Map?C.map:typeof Set<"u"&&t instanceof Set?C.set:typeof Date<"u"&&t instanceof Date?C.date:C.object;default:return C.unknown}};var I=ie.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"]);var Dt=class t extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=n=>{this.issues=[...this.issues,n]},this.addIssues=(n=[])=>{this.issues=[...this.issues,...n]};let r=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,r):this.__proto__=r,this.name="ZodError",this.issues=e}format(e){let r=e||function(a){return a.message},n={_errors:[]},i=a=>{for(let o of a.issues)if(o.code==="invalid_union")o.unionErrors.map(i);else if(o.code==="invalid_return_type")i(o.returnTypeError);else if(o.code==="invalid_arguments")i(o.argumentsError);else if(o.path.length===0)n._errors.push(r(o));else{let s=n,c=0;for(;c<o.path.length;){let l=o.path[c];c===o.path.length-1?(s[l]=s[l]||{_errors:[]},s[l]._errors.push(r(o))):s[l]=s[l]||{_errors:[]},s=s[l],c++}}};return i(this),n}static assert(e){if(!(e instanceof t))throw new Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,ie.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=r=>r.message){let r=Object.create(null),n=[];for(let i of this.issues)if(i.path.length>0){let a=i.path[0];r[a]=r[a]||[],r[a].push(e(i))}else n.push(e(i));return{formErrors:n,fieldErrors:r}}get formErrors(){return this.flatten()}};Dt.create=t=>new Dt(t);var Cj=(t,e)=>{let r;switch(t.code){case I.invalid_type:t.received===C.undefined?r="Required":r=`Expected ${t.expected}, received ${t.received}`;break;case I.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(t.expected,ie.jsonStringifyReplacer)}`;break;case I.unrecognized_keys:r=`Unrecognized key(s) in object: ${ie.joinValues(t.keys,", ")}`;break;case I.invalid_union:r="Invalid input";break;case I.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${ie.joinValues(t.options)}`;break;case I.invalid_enum_value:r=`Invalid enum value. Expected ${ie.joinValues(t.options)}, received '${t.received}'`;break;case I.invalid_arguments:r="Invalid function arguments";break;case I.invalid_return_type:r="Invalid function return type";break;case I.invalid_date:r="Invalid date";break;case I.invalid_string:typeof t.validation=="object"?"includes"in t.validation?(r=`Invalid input: must include "${t.validation.includes}"`,typeof t.validation.position=="number"&&(r=`${r} at one or more positions greater than or equal to ${t.validation.position}`)):"startsWith"in t.validation?r=`Invalid input: must start with "${t.validation.startsWith}"`:"endsWith"in t.validation?r=`Invalid input: must end with "${t.validation.endsWith}"`:ie.assertNever(t.validation):t.validation!=="regex"?r=`Invalid ${t.validation}`:r="Invalid";break;case I.too_small:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at least":"more than"} ${t.minimum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at least":"over"} ${t.minimum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="bigint"?r=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(t.minimum))}`:r="Invalid input";break;case I.too_big:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at most":"less than"} ${t.maximum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at most":"under"} ${t.maximum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="bigint"?r=`BigInt must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly":t.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(t.maximum))}`:r="Invalid input";break;case I.custom:r="Invalid input";break;case I.invalid_intersection_types:r="Intersection results could not be merged";break;case I.not_multiple_of:r=`Number must be a multiple of ${t.multipleOf}`;break;case I.not_finite:r="Number must be finite";break;default:r=e.defaultError,ie.assertNever(t)}return{message:r}},rn=Cj;var zj=rn;function to(){return zj}var Cc=t=>{let{data:e,path:r,errorMaps:n,issueData:i}=t,a=[...r,...i.path||[]],o={...i,path:a};if(i.message!==void 0)return{...i,path:a,message:i.message};let s="",c=n.filter(l=>!!l).slice().reverse();for(let l of c)s=l(o,{data:e,defaultError:s}).message;return{...i,path:a,message:s}};function E(t,e){let r=to(),n=Cc({issueData:e,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,r,r===rn?void 0:rn].filter(i=>!!i)});t.common.issues.push(n)}var it=class t{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,r){let n=[];for(let i of r){if(i.status==="aborted")return q;i.status==="dirty"&&e.dirty(),n.push(i.value)}return{status:e.value,value:n}}static async mergeObjectAsync(e,r){let n=[];for(let i of r){let a=await i.key,o=await i.value;n.push({key:a,value:o})}return t.mergeObjectSync(e,n)}static mergeObjectSync(e,r){let n={};for(let i of r){let{key:a,value:o}=i;if(a.status==="aborted"||o.status==="aborted")return q;a.status==="dirty"&&e.dirty(),o.status==="dirty"&&e.dirty(),a.value!=="__proto__"&&(typeof o.value<"u"||i.alwaysSet)&&(n[a.value]=o.value)}return{status:e.value,value:n}}},q=Object.freeze({status:"aborted"}),Si=t=>({status:"dirty",value:t}),pt=t=>({status:"valid",value:t}),af=t=>t.status==="aborted",of=t=>t.status==="dirty",An=t=>t.status==="valid",ro=t=>typeof Promise<"u"&&t instanceof Promise;var R;(function(t){t.errToObj=e=>typeof e=="string"?{message:e}:e||{},t.toString=e=>typeof e=="string"?e:e?.message})(R||(R={}));var Zt=class{constructor(e,r,n,i){this._cachedPath=[],this.parent=e,this.data=r,this._path=n,this._key=i}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},C_=(t,e)=>{if(An(e))return{success:!0,data:e.value};if(!t.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let r=new Dt(t.common.issues);return this._error=r,this._error}}};function V(t){if(!t)return{};let{errorMap:e,invalid_type_error:r,required_error:n,description:i}=t;if(e&&(r||n))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:i}:{errorMap:(o,s)=>{let{message:c}=t;return o.code==="invalid_enum_value"?{message:c??s.defaultError}:typeof s.data>"u"?{message:c??n??s.defaultError}:o.code!=="invalid_type"?{message:s.defaultError}:{message:c??r??s.defaultError}},description:i}}var Y=class{get description(){return this._def.description}_getType(e){return Mr(e.data)}_getOrReturnCtx(e,r){return r||{common:e.parent.common,data:e.data,parsedType:Mr(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new it,ctx:{common:e.parent.common,data:e.data,parsedType:Mr(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let r=this._parse(e);if(ro(r))throw new Error("Synchronous parse encountered promise.");return r}_parseAsync(e){let r=this._parse(e);return Promise.resolve(r)}parse(e,r){let n=this.safeParse(e,r);if(n.success)return n.data;throw n.error}safeParse(e,r){let n={common:{issues:[],async:r?.async??!1,contextualErrorMap:r?.errorMap},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Mr(e)},i=this._parseSync({data:e,path:n.path,parent:n});return C_(n,i)}"~validate"(e){let r={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Mr(e)};if(!this["~standard"].async)try{let n=this._parseSync({data:e,path:[],parent:r});return An(n)?{value:n.value}:{issues:r.common.issues}}catch(n){n?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),r.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:r}).then(n=>An(n)?{value:n.value}:{issues:r.common.issues})}async parseAsync(e,r){let n=await this.safeParseAsync(e,r);if(n.success)return n.data;throw n.error}async safeParseAsync(e,r){let n={common:{issues:[],contextualErrorMap:r?.errorMap,async:!0},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Mr(e)},i=this._parse({data:e,path:n.path,parent:n}),a=await(ro(i)?i:Promise.resolve(i));return C_(n,a)}refine(e,r){let n=i=>typeof r=="string"||typeof r>"u"?{message:r}:typeof r=="function"?r(i):r;return this._refinement((i,a)=>{let o=e(i),s=()=>a.addIssue({code:I.custom,...n(i)});return typeof Promise<"u"&&o instanceof Promise?o.then(c=>c?!0:(s(),!1)):o?!0:(s(),!1)})}refinement(e,r){return this._refinement((n,i)=>e(n)?!0:(i.addIssue(typeof r=="function"?r(n,i):r),!1))}_refinement(e){return new ir({schema:this,typeName:M.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,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:r=>this["~validate"](r)}}optional(){return nr.create(this,this._def)}nullable(){return qr.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return an.create(this)}promise(){return Mn.create(this,this._def)}or(e){return Ei.create([this,e],this._def)}and(e){return Ti.create(this,e,this._def)}transform(e){return new ir({...V(this._def),schema:this,typeName:M.ZodEffects,effect:{type:"transform",transform:e}})}default(e){let r=typeof e=="function"?e:()=>e;return new Di({...V(this._def),innerType:this,defaultValue:r,typeName:M.ZodDefault})}brand(){return new zc({typeName:M.ZodBranded,type:this,...V(this._def)})}catch(e){let r=typeof e=="function"?e:()=>e;return new Oi({...V(this._def),innerType:this,catchValue:r,typeName:M.ZodCatch})}describe(e){let r=this.constructor;return new r({...this._def,description:e})}pipe(e){return Rc.create(this,e)}readonly(){return Ni.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},Rj=/^c[^\s-]{8,}$/i,jj=/^[0-9a-z]+$/,Dj=/^[0-9A-HJKMNP-TV-Z]{26}$/i,Oj=/^[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,Nj=/^[a-z0-9_-]{21}$/i,Aj=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Mj=/^[-+]?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)?)??$/,Uj=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Fj="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",sf,qj=/^(?:(?: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])$/,Lj=/^(?:(?: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])$/,Zj=/^(([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]))$/,Hj=/^(([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])$/,Bj=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Vj=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,z_="((\\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])))",Wj=new RegExp(`^${z_}$`);function R_(t){let e="[0-5]\\d";t.precision?e=`${e}\\.\\d{${t.precision}}`:t.precision==null&&(e=`${e}(\\.\\d+)?`);let r=t.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${e})${r}`}function Jj(t){return new RegExp(`^${R_(t)}$`)}function Gj(t){let e=`${z_}T${R_(t)}`,r=[];return r.push(t.local?"Z?":"Z"),t.offset&&r.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${r.join("|")})`,new RegExp(`^${e}$`)}function Kj(t,e){return!!((e==="v4"||!e)&&qj.test(t)||(e==="v6"||!e)&&Zj.test(t))}function Xj(t,e){if(!Aj.test(t))return!1;try{let[r]=t.split(".");if(!r)return!1;let n=r.replace(/-/g,"+").replace(/_/g,"/").padEnd(r.length+(4-r.length%4)%4,"="),i=JSON.parse(atob(n));return!(typeof i!="object"||i===null||"typ"in i&&i?.typ!=="JWT"||!i.alg||e&&i.alg!==e)}catch{return!1}}function Yj(t,e){return!!((e==="v4"||!e)&&Lj.test(t)||(e==="v6"||!e)&&Hj.test(t))}var $i=class t extends Y{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==C.string){let a=this._getOrReturnCtx(e);return E(a,{code:I.invalid_type,expected:C.string,received:a.parsedType}),q}let n=new it,i;for(let a of this._def.checks)if(a.kind==="min")e.data.length<a.value&&(i=this._getOrReturnCtx(e,i),E(i,{code:I.too_small,minimum:a.value,type:"string",inclusive:!0,exact:!1,message:a.message}),n.dirty());else if(a.kind==="max")e.data.length>a.value&&(i=this._getOrReturnCtx(e,i),E(i,{code:I.too_big,maximum:a.value,type:"string",inclusive:!0,exact:!1,message:a.message}),n.dirty());else if(a.kind==="length"){let o=e.data.length>a.value,s=e.data.length<a.value;(o||s)&&(i=this._getOrReturnCtx(e,i),o?E(i,{code:I.too_big,maximum:a.value,type:"string",inclusive:!0,exact:!0,message:a.message}):s&&E(i,{code:I.too_small,minimum:a.value,type:"string",inclusive:!0,exact:!0,message:a.message}),n.dirty())}else if(a.kind==="email")Uj.test(e.data)||(i=this._getOrReturnCtx(e,i),E(i,{validation:"email",code:I.invalid_string,message:a.message}),n.dirty());else if(a.kind==="emoji")sf||(sf=new RegExp(Fj,"u")),sf.test(e.data)||(i=this._getOrReturnCtx(e,i),E(i,{validation:"emoji",code:I.invalid_string,message:a.message}),n.dirty());else if(a.kind==="uuid")Oj.test(e.data)||(i=this._getOrReturnCtx(e,i),E(i,{validation:"uuid",code:I.invalid_string,message:a.message}),n.dirty());else if(a.kind==="nanoid")Nj.test(e.data)||(i=this._getOrReturnCtx(e,i),E(i,{validation:"nanoid",code:I.invalid_string,message:a.message}),n.dirty());else if(a.kind==="cuid")Rj.test(e.data)||(i=this._getOrReturnCtx(e,i),E(i,{validation:"cuid",code:I.invalid_string,message:a.message}),n.dirty());else if(a.kind==="cuid2")jj.test(e.data)||(i=this._getOrReturnCtx(e,i),E(i,{validation:"cuid2",code:I.invalid_string,message:a.message}),n.dirty());else if(a.kind==="ulid")Dj.test(e.data)||(i=this._getOrReturnCtx(e,i),E(i,{validation:"ulid",code:I.invalid_string,message:a.message}),n.dirty());else if(a.kind==="url")try{new URL(e.data)}catch{i=this._getOrReturnCtx(e,i),E(i,{validation:"url",code:I.invalid_string,message:a.message}),n.dirty()}else a.kind==="regex"?(a.regex.lastIndex=0,a.regex.test(e.data)||(i=this._getOrReturnCtx(e,i),E(i,{validation:"regex",code:I.invalid_string,message:a.message}),n.dirty())):a.kind==="trim"?e.data=e.data.trim():a.kind==="includes"?e.data.includes(a.value,a.position)||(i=this._getOrReturnCtx(e,i),E(i,{code:I.invalid_string,validation:{includes:a.value,position:a.position},message:a.message}),n.dirty()):a.kind==="toLowerCase"?e.data=e.data.toLowerCase():a.kind==="toUpperCase"?e.data=e.data.toUpperCase():a.kind==="startsWith"?e.data.startsWith(a.value)||(i=this._getOrReturnCtx(e,i),E(i,{code:I.invalid_string,validation:{startsWith:a.value},message:a.message}),n.dirty()):a.kind==="endsWith"?e.data.endsWith(a.value)||(i=this._getOrReturnCtx(e,i),E(i,{code:I.invalid_string,validation:{endsWith:a.value},message:a.message}),n.dirty()):a.kind==="datetime"?Gj(a).test(e.data)||(i=this._getOrReturnCtx(e,i),E(i,{code:I.invalid_string,validation:"datetime",message:a.message}),n.dirty()):a.kind==="date"?Wj.test(e.data)||(i=this._getOrReturnCtx(e,i),E(i,{code:I.invalid_string,validation:"date",message:a.message}),n.dirty()):a.kind==="time"?Jj(a).test(e.data)||(i=this._getOrReturnCtx(e,i),E(i,{code:I.invalid_string,validation:"time",message:a.message}),n.dirty()):a.kind==="duration"?Mj.test(e.data)||(i=this._getOrReturnCtx(e,i),E(i,{validation:"duration",code:I.invalid_string,message:a.message}),n.dirty()):a.kind==="ip"?Kj(e.data,a.version)||(i=this._getOrReturnCtx(e,i),E(i,{validation:"ip",code:I.invalid_string,message:a.message}),n.dirty()):a.kind==="jwt"?Xj(e.data,a.alg)||(i=this._getOrReturnCtx(e,i),E(i,{validation:"jwt",code:I.invalid_string,message:a.message}),n.dirty()):a.kind==="cidr"?Yj(e.data,a.version)||(i=this._getOrReturnCtx(e,i),E(i,{validation:"cidr",code:I.invalid_string,message:a.message}),n.dirty()):a.kind==="base64"?Bj.test(e.data)||(i=this._getOrReturnCtx(e,i),E(i,{validation:"base64",code:I.invalid_string,message:a.message}),n.dirty()):a.kind==="base64url"?Vj.test(e.data)||(i=this._getOrReturnCtx(e,i),E(i,{validation:"base64url",code:I.invalid_string,message:a.message}),n.dirty()):ie.assertNever(a);return{status:n.value,value:e.data}}_regex(e,r,n){return this.refinement(i=>e.test(i),{validation:r,code:I.invalid_string,...R.errToObj(n)})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...R.errToObj(e)})}url(e){return this._addCheck({kind:"url",...R.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...R.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...R.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...R.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...R.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...R.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...R.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...R.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...R.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...R.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...R.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...R.errToObj(e)})}datetime(e){return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof e?.precision>"u"?null:e?.precision,offset:e?.offset??!1,local:e?.local??!1,...R.errToObj(e?.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof e?.precision>"u"?null:e?.precision,...R.errToObj(e?.message)})}duration(e){return this._addCheck({kind:"duration",...R.errToObj(e)})}regex(e,r){return this._addCheck({kind:"regex",regex:e,...R.errToObj(r)})}includes(e,r){return this._addCheck({kind:"includes",value:e,position:r?.position,...R.errToObj(r?.message)})}startsWith(e,r){return this._addCheck({kind:"startsWith",value:e,...R.errToObj(r)})}endsWith(e,r){return this._addCheck({kind:"endsWith",value:e,...R.errToObj(r)})}min(e,r){return this._addCheck({kind:"min",value:e,...R.errToObj(r)})}max(e,r){return this._addCheck({kind:"max",value:e,...R.errToObj(r)})}length(e,r){return this._addCheck({kind:"length",value:e,...R.errToObj(r)})}nonempty(e){return this.min(1,R.errToObj(e))}trim(){return new t({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isCIDR(){return!!this._def.checks.find(e=>e.kind==="cidr")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get isBase64url(){return!!this._def.checks.find(e=>e.kind==="base64url")}get minLength(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxLength(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e}};$i.create=t=>new $i({checks:[],typeName:M.ZodString,coerce:t?.coerce??!1,...V(t)});function Qj(t,e){let r=(t.toString().split(".")[1]||"").length,n=(e.toString().split(".")[1]||"").length,i=r>n?r:n,a=Number.parseInt(t.toFixed(i).replace(".","")),o=Number.parseInt(e.toFixed(i).replace(".",""));return a%o/10**i}var no=class t extends Y{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==C.number){let a=this._getOrReturnCtx(e);return E(a,{code:I.invalid_type,expected:C.number,received:a.parsedType}),q}let n,i=new it;for(let a of this._def.checks)a.kind==="int"?ie.isInteger(e.data)||(n=this._getOrReturnCtx(e,n),E(n,{code:I.invalid_type,expected:"integer",received:"float",message:a.message}),i.dirty()):a.kind==="min"?(a.inclusive?e.data<a.value:e.data<=a.value)&&(n=this._getOrReturnCtx(e,n),E(n,{code:I.too_small,minimum:a.value,type:"number",inclusive:a.inclusive,exact:!1,message:a.message}),i.dirty()):a.kind==="max"?(a.inclusive?e.data>a.value:e.data>=a.value)&&(n=this._getOrReturnCtx(e,n),E(n,{code:I.too_big,maximum:a.value,type:"number",inclusive:a.inclusive,exact:!1,message:a.message}),i.dirty()):a.kind==="multipleOf"?Qj(e.data,a.value)!==0&&(n=this._getOrReturnCtx(e,n),E(n,{code:I.not_multiple_of,multipleOf:a.value,message:a.message}),i.dirty()):a.kind==="finite"?Number.isFinite(e.data)||(n=this._getOrReturnCtx(e,n),E(n,{code:I.not_finite,message:a.message}),i.dirty()):ie.assertNever(a);return{status:i.value,value:e.data}}gte(e,r){return this.setLimit("min",e,!0,R.toString(r))}gt(e,r){return this.setLimit("min",e,!1,R.toString(r))}lte(e,r){return this.setLimit("max",e,!0,R.toString(r))}lt(e,r){return this.setLimit("max",e,!1,R.toString(r))}setLimit(e,r,n,i){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:R.toString(i)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:R.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:R.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:R.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:R.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:R.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:R.toString(r)})}finite(e){return this._addCheck({kind:"finite",message:R.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:R.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:R.toString(e)})}get minValue(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind==="int"||e.kind==="multipleOf"&&ie.isInteger(e.value))}get isFinite(){let e=null,r=null;for(let n of this._def.checks){if(n.kind==="finite"||n.kind==="int"||n.kind==="multipleOf")return!0;n.kind==="min"?(r===null||n.value>r)&&(r=n.value):n.kind==="max"&&(e===null||n.value<e)&&(e=n.value)}return Number.isFinite(r)&&Number.isFinite(e)}};no.create=t=>new no({checks:[],typeName:M.ZodNumber,coerce:t?.coerce||!1,...V(t)});var io=class t extends Y{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==C.bigint)return this._getInvalidInput(e);let n,i=new it;for(let a of this._def.checks)a.kind==="min"?(a.inclusive?e.data<a.value:e.data<=a.value)&&(n=this._getOrReturnCtx(e,n),E(n,{code:I.too_small,type:"bigint",minimum:a.value,inclusive:a.inclusive,message:a.message}),i.dirty()):a.kind==="max"?(a.inclusive?e.data>a.value:e.data>=a.value)&&(n=this._getOrReturnCtx(e,n),E(n,{code:I.too_big,type:"bigint",maximum:a.value,inclusive:a.inclusive,message:a.message}),i.dirty()):a.kind==="multipleOf"?e.data%a.value!==BigInt(0)&&(n=this._getOrReturnCtx(e,n),E(n,{code:I.not_multiple_of,multipleOf:a.value,message:a.message}),i.dirty()):ie.assertNever(a);return{status:i.value,value:e.data}}_getInvalidInput(e){let r=this._getOrReturnCtx(e);return E(r,{code:I.invalid_type,expected:C.bigint,received:r.parsedType}),q}gte(e,r){return this.setLimit("min",e,!0,R.toString(r))}gt(e,r){return this.setLimit("min",e,!1,R.toString(r))}lte(e,r){return this.setLimit("max",e,!0,R.toString(r))}lt(e,r){return this.setLimit("max",e,!1,R.toString(r))}setLimit(e,r,n,i){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:R.toString(i)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:R.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:R.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:R.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:R.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:R.toString(r)})}get minValue(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e}};io.create=t=>new io({checks:[],typeName:M.ZodBigInt,coerce:t?.coerce??!1,...V(t)});var ao=class extends Y{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==C.boolean){let n=this._getOrReturnCtx(e);return E(n,{code:I.invalid_type,expected:C.boolean,received:n.parsedType}),q}return pt(e.data)}};ao.create=t=>new ao({typeName:M.ZodBoolean,coerce:t?.coerce||!1,...V(t)});var oo=class t extends Y{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==C.date){let a=this._getOrReturnCtx(e);return E(a,{code:I.invalid_type,expected:C.date,received:a.parsedType}),q}if(Number.isNaN(e.data.getTime())){let a=this._getOrReturnCtx(e);return E(a,{code:I.invalid_date}),q}let n=new it,i;for(let a of this._def.checks)a.kind==="min"?e.data.getTime()<a.value&&(i=this._getOrReturnCtx(e,i),E(i,{code:I.too_small,message:a.message,inclusive:!0,exact:!1,minimum:a.value,type:"date"}),n.dirty()):a.kind==="max"?e.data.getTime()>a.value&&(i=this._getOrReturnCtx(e,i),E(i,{code:I.too_big,message:a.message,inclusive:!0,exact:!1,maximum:a.value,type:"date"}),n.dirty()):ie.assertNever(a);return{status:n.value,value:new Date(e.data.getTime())}}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}min(e,r){return this._addCheck({kind:"min",value:e.getTime(),message:R.toString(r)})}max(e,r){return this._addCheck({kind:"max",value:e.getTime(),message:R.toString(r)})}get minDate(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e!=null?new Date(e):null}};oo.create=t=>new oo({checks:[],coerce:t?.coerce||!1,typeName:M.ZodDate,...V(t)});var so=class extends Y{_parse(e){if(this._getType(e)!==C.symbol){let n=this._getOrReturnCtx(e);return E(n,{code:I.invalid_type,expected:C.symbol,received:n.parsedType}),q}return pt(e.data)}};so.create=t=>new so({typeName:M.ZodSymbol,...V(t)});var Ii=class extends Y{_parse(e){if(this._getType(e)!==C.undefined){let n=this._getOrReturnCtx(e);return E(n,{code:I.invalid_type,expected:C.undefined,received:n.parsedType}),q}return pt(e.data)}};Ii.create=t=>new Ii({typeName:M.ZodUndefined,...V(t)});var Pi=class extends Y{_parse(e){if(this._getType(e)!==C.null){let n=this._getOrReturnCtx(e);return E(n,{code:I.invalid_type,expected:C.null,received:n.parsedType}),q}return pt(e.data)}};Pi.create=t=>new Pi({typeName:M.ZodNull,...V(t)});var co=class extends Y{constructor(){super(...arguments),this._any=!0}_parse(e){return pt(e.data)}};co.create=t=>new co({typeName:M.ZodAny,...V(t)});var nn=class extends Y{constructor(){super(...arguments),this._unknown=!0}_parse(e){return pt(e.data)}};nn.create=t=>new nn({typeName:M.ZodUnknown,...V(t)});var vr=class extends Y{_parse(e){let r=this._getOrReturnCtx(e);return E(r,{code:I.invalid_type,expected:C.never,received:r.parsedType}),q}};vr.create=t=>new vr({typeName:M.ZodNever,...V(t)});var lo=class extends Y{_parse(e){if(this._getType(e)!==C.undefined){let n=this._getOrReturnCtx(e);return E(n,{code:I.invalid_type,expected:C.void,received:n.parsedType}),q}return pt(e.data)}};lo.create=t=>new lo({typeName:M.ZodVoid,...V(t)});var an=class t extends Y{_parse(e){let{ctx:r,status:n}=this._processInputParams(e),i=this._def;if(r.parsedType!==C.array)return E(r,{code:I.invalid_type,expected:C.array,received:r.parsedType}),q;if(i.exactLength!==null){let o=r.data.length>i.exactLength.value,s=r.data.length<i.exactLength.value;(o||s)&&(E(r,{code:o?I.too_big:I.too_small,minimum:s?i.exactLength.value:void 0,maximum:o?i.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:i.exactLength.message}),n.dirty())}if(i.minLength!==null&&r.data.length<i.minLength.value&&(E(r,{code:I.too_small,minimum:i.minLength.value,type:"array",inclusive:!0,exact:!1,message:i.minLength.message}),n.dirty()),i.maxLength!==null&&r.data.length>i.maxLength.value&&(E(r,{code:I.too_big,maximum:i.maxLength.value,type:"array",inclusive:!0,exact:!1,message:i.maxLength.message}),n.dirty()),r.common.async)return Promise.all([...r.data].map((o,s)=>i.type._parseAsync(new Zt(r,o,r.path,s)))).then(o=>it.mergeArray(n,o));let a=[...r.data].map((o,s)=>i.type._parseSync(new Zt(r,o,r.path,s)));return it.mergeArray(n,a)}get element(){return this._def.type}min(e,r){return new t({...this._def,minLength:{value:e,message:R.toString(r)}})}max(e,r){return new t({...this._def,maxLength:{value:e,message:R.toString(r)}})}length(e,r){return new t({...this._def,exactLength:{value:e,message:R.toString(r)}})}nonempty(e){return this.min(1,e)}};an.create=(t,e)=>new an({type:t,minLength:null,maxLength:null,exactLength:null,typeName:M.ZodArray,...V(e)});function ki(t){if(t instanceof Ot){let e={};for(let r in t.shape){let n=t.shape[r];e[r]=nr.create(ki(n))}return new Ot({...t._def,shape:()=>e})}else return t instanceof an?new an({...t._def,type:ki(t.element)}):t instanceof nr?nr.create(ki(t.unwrap())):t instanceof qr?qr.create(ki(t.unwrap())):t instanceof Fr?Fr.create(t.items.map(e=>ki(e))):t}var Ot=class t extends Y{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let e=this._def.shape(),r=ie.objectKeys(e);return this._cached={shape:e,keys:r},this._cached}_parse(e){if(this._getType(e)!==C.object){let l=this._getOrReturnCtx(e);return E(l,{code:I.invalid_type,expected:C.object,received:l.parsedType}),q}let{status:n,ctx:i}=this._processInputParams(e),{shape:a,keys:o}=this._getCached(),s=[];if(!(this._def.catchall instanceof vr&&this._def.unknownKeys==="strip"))for(let l in i.data)o.includes(l)||s.push(l);let c=[];for(let l of o){let u=a[l],p=i.data[l];c.push({key:{status:"valid",value:l},value:u._parse(new Zt(i,p,i.path,l)),alwaysSet:l in i.data})}if(this._def.catchall instanceof vr){let l=this._def.unknownKeys;if(l==="passthrough")for(let u of s)c.push({key:{status:"valid",value:u},value:{status:"valid",value:i.data[u]}});else if(l==="strict")s.length>0&&(E(i,{code:I.unrecognized_keys,keys:s}),n.dirty());else if(l!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let l=this._def.catchall;for(let u of s){let p=i.data[u];c.push({key:{status:"valid",value:u},value:l._parse(new Zt(i,p,i.path,u)),alwaysSet:u in i.data})}}return i.common.async?Promise.resolve().then(async()=>{let l=[];for(let u of c){let p=await u.key,d=await u.value;l.push({key:p,value:d,alwaysSet:u.alwaysSet})}return l}).then(l=>it.mergeObjectSync(n,l)):it.mergeObjectSync(n,c)}get shape(){return this._def.shape()}strict(e){return R.errToObj,new t({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(r,n)=>{let i=this._def.errorMap?.(r,n).message??n.defaultError;return r.code==="unrecognized_keys"?{message:R.errToObj(e).message??i}:{message:i}}}:{}})}strip(){return new t({...this._def,unknownKeys:"strip"})}passthrough(){return new t({...this._def,unknownKeys:"passthrough"})}extend(e){return new t({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new t({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:M.ZodObject})}setKey(e,r){return this.augment({[e]:r})}catchall(e){return new t({...this._def,catchall:e})}pick(e){let r={};for(let n of ie.objectKeys(e))e[n]&&this.shape[n]&&(r[n]=this.shape[n]);return new t({...this._def,shape:()=>r})}omit(e){let r={};for(let n of ie.objectKeys(this.shape))e[n]||(r[n]=this.shape[n]);return new t({...this._def,shape:()=>r})}deepPartial(){return ki(this)}partial(e){let r={};for(let n of ie.objectKeys(this.shape)){let i=this.shape[n];e&&!e[n]?r[n]=i:r[n]=i.optional()}return new t({...this._def,shape:()=>r})}required(e){let r={};for(let n of ie.objectKeys(this.shape))if(e&&!e[n])r[n]=this.shape[n];else{let a=this.shape[n];for(;a instanceof nr;)a=a._def.innerType;r[n]=a}return new t({...this._def,shape:()=>r})}keyof(){return j_(ie.objectKeys(this.shape))}};Ot.create=(t,e)=>new Ot({shape:()=>t,unknownKeys:"strip",catchall:vr.create(),typeName:M.ZodObject,...V(e)});Ot.strictCreate=(t,e)=>new Ot({shape:()=>t,unknownKeys:"strict",catchall:vr.create(),typeName:M.ZodObject,...V(e)});Ot.lazycreate=(t,e)=>new Ot({shape:t,unknownKeys:"strip",catchall:vr.create(),typeName:M.ZodObject,...V(e)});var Ei=class extends Y{_parse(e){let{ctx:r}=this._processInputParams(e),n=this._def.options;function i(a){for(let s of a)if(s.result.status==="valid")return s.result;for(let s of a)if(s.result.status==="dirty")return r.common.issues.push(...s.ctx.common.issues),s.result;let o=a.map(s=>new Dt(s.ctx.common.issues));return E(r,{code:I.invalid_union,unionErrors:o}),q}if(r.common.async)return Promise.all(n.map(async a=>{let o={...r,common:{...r.common,issues:[]},parent:null};return{result:await a._parseAsync({data:r.data,path:r.path,parent:o}),ctx:o}})).then(i);{let a,o=[];for(let c of n){let l={...r,common:{...r.common,issues:[]},parent:null},u=c._parseSync({data:r.data,path:r.path,parent:l});if(u.status==="valid")return u;u.status==="dirty"&&!a&&(a={result:u,ctx:l}),l.common.issues.length&&o.push(l.common.issues)}if(a)return r.common.issues.push(...a.ctx.common.issues),a.result;let s=o.map(c=>new Dt(c));return E(r,{code:I.invalid_union,unionErrors:s}),q}}get options(){return this._def.options}};Ei.create=(t,e)=>new Ei({options:t,typeName:M.ZodUnion,...V(e)});var Ur=t=>t instanceof Ci?Ur(t.schema):t instanceof ir?Ur(t.innerType()):t instanceof zi?[t.value]:t instanceof Ri?t.options:t instanceof ji?ie.objectValues(t.enum):t instanceof Di?Ur(t._def.innerType):t instanceof Ii?[void 0]:t instanceof Pi?[null]:t instanceof nr?[void 0,...Ur(t.unwrap())]:t instanceof qr?[null,...Ur(t.unwrap())]:t instanceof zc||t instanceof Ni?Ur(t.unwrap()):t instanceof Oi?Ur(t._def.innerType):[],cf=class t extends Y{_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==C.object)return E(r,{code:I.invalid_type,expected:C.object,received:r.parsedType}),q;let n=this.discriminator,i=r.data[n],a=this.optionsMap.get(i);return a?r.common.async?a._parseAsync({data:r.data,path:r.path,parent:r}):a._parseSync({data:r.data,path:r.path,parent:r}):(E(r,{code:I.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),q)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,r,n){let i=new Map;for(let a of r){let o=Ur(a.shape[e]);if(!o.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(let s of o){if(i.has(s))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(s)}`);i.set(s,a)}}return new t({typeName:M.ZodDiscriminatedUnion,discriminator:e,options:r,optionsMap:i,...V(n)})}};function lf(t,e){let r=Mr(t),n=Mr(e);if(t===e)return{valid:!0,data:t};if(r===C.object&&n===C.object){let i=ie.objectKeys(e),a=ie.objectKeys(t).filter(s=>i.indexOf(s)!==-1),o={...t,...e};for(let s of a){let c=lf(t[s],e[s]);if(!c.valid)return{valid:!1};o[s]=c.data}return{valid:!0,data:o}}else if(r===C.array&&n===C.array){if(t.length!==e.length)return{valid:!1};let i=[];for(let a=0;a<t.length;a++){let o=t[a],s=e[a],c=lf(o,s);if(!c.valid)return{valid:!1};i.push(c.data)}return{valid:!0,data:i}}else return r===C.date&&n===C.date&&+t==+e?{valid:!0,data:t}:{valid:!1}}var Ti=class extends Y{_parse(e){let{status:r,ctx:n}=this._processInputParams(e),i=(a,o)=>{if(af(a)||af(o))return q;let s=lf(a.value,o.value);return s.valid?((of(a)||of(o))&&r.dirty(),{status:r.value,value:s.data}):(E(n,{code:I.invalid_intersection_types}),q)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([a,o])=>i(a,o)):i(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}};Ti.create=(t,e,r)=>new Ti({left:t,right:e,typeName:M.ZodIntersection,...V(r)});var Fr=class t extends Y{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==C.array)return E(n,{code:I.invalid_type,expected:C.array,received:n.parsedType}),q;if(n.data.length<this._def.items.length)return E(n,{code:I.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),q;!this._def.rest&&n.data.length>this._def.items.length&&(E(n,{code:I.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),r.dirty());let a=[...n.data].map((o,s)=>{let c=this._def.items[s]||this._def.rest;return c?c._parse(new Zt(n,o,n.path,s)):null}).filter(o=>!!o);return n.common.async?Promise.all(a).then(o=>it.mergeArray(r,o)):it.mergeArray(r,a)}get items(){return this._def.items}rest(e){return new t({...this._def,rest:e})}};Fr.create=(t,e)=>{if(!Array.isArray(t))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Fr({items:t,typeName:M.ZodTuple,rest:null,...V(e)})};var uf=class t extends Y{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==C.object)return E(n,{code:I.invalid_type,expected:C.object,received:n.parsedType}),q;let i=[],a=this._def.keyType,o=this._def.valueType;for(let s in n.data)i.push({key:a._parse(new Zt(n,s,n.path,s)),value:o._parse(new Zt(n,n.data[s],n.path,s)),alwaysSet:s in n.data});return n.common.async?it.mergeObjectAsync(r,i):it.mergeObjectSync(r,i)}get element(){return this._def.valueType}static create(e,r,n){return r instanceof Y?new t({keyType:e,valueType:r,typeName:M.ZodRecord,...V(n)}):new t({keyType:$i.create(),valueType:e,typeName:M.ZodRecord,...V(r)})}},uo=class extends Y{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==C.map)return E(n,{code:I.invalid_type,expected:C.map,received:n.parsedType}),q;let i=this._def.keyType,a=this._def.valueType,o=[...n.data.entries()].map(([s,c],l)=>({key:i._parse(new Zt(n,s,n.path,[l,"key"])),value:a._parse(new Zt(n,c,n.path,[l,"value"]))}));if(n.common.async){let s=new Map;return Promise.resolve().then(async()=>{for(let c of o){let l=await c.key,u=await c.value;if(l.status==="aborted"||u.status==="aborted")return q;(l.status==="dirty"||u.status==="dirty")&&r.dirty(),s.set(l.value,u.value)}return{status:r.value,value:s}})}else{let s=new Map;for(let c of o){let l=c.key,u=c.value;if(l.status==="aborted"||u.status==="aborted")return q;(l.status==="dirty"||u.status==="dirty")&&r.dirty(),s.set(l.value,u.value)}return{status:r.value,value:s}}}};uo.create=(t,e,r)=>new uo({valueType:e,keyType:t,typeName:M.ZodMap,...V(r)});var po=class t extends Y{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==C.set)return E(n,{code:I.invalid_type,expected:C.set,received:n.parsedType}),q;let i=this._def;i.minSize!==null&&n.data.size<i.minSize.value&&(E(n,{code:I.too_small,minimum:i.minSize.value,type:"set",inclusive:!0,exact:!1,message:i.minSize.message}),r.dirty()),i.maxSize!==null&&n.data.size>i.maxSize.value&&(E(n,{code:I.too_big,maximum:i.maxSize.value,type:"set",inclusive:!0,exact:!1,message:i.maxSize.message}),r.dirty());let a=this._def.valueType;function o(c){let l=new Set;for(let u of c){if(u.status==="aborted")return q;u.status==="dirty"&&r.dirty(),l.add(u.value)}return{status:r.value,value:l}}let s=[...n.data.values()].map((c,l)=>a._parse(new Zt(n,c,n.path,l)));return n.common.async?Promise.all(s).then(c=>o(c)):o(s)}min(e,r){return new t({...this._def,minSize:{value:e,message:R.toString(r)}})}max(e,r){return new t({...this._def,maxSize:{value:e,message:R.toString(r)}})}size(e,r){return this.min(e,r).max(e,r)}nonempty(e){return this.min(1,e)}};po.create=(t,e)=>new po({valueType:t,minSize:null,maxSize:null,typeName:M.ZodSet,...V(e)});var pf=class t extends Y{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==C.function)return E(r,{code:I.invalid_type,expected:C.function,received:r.parsedType}),q;function n(s,c){return Cc({data:s,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,to(),rn].filter(l=>!!l),issueData:{code:I.invalid_arguments,argumentsError:c}})}function i(s,c){return Cc({data:s,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,to(),rn].filter(l=>!!l),issueData:{code:I.invalid_return_type,returnTypeError:c}})}let a={errorMap:r.common.contextualErrorMap},o=r.data;if(this._def.returns instanceof Mn){let s=this;return pt(async function(...c){let l=new Dt([]),u=await s._def.args.parseAsync(c,a).catch(f=>{throw l.addIssue(n(c,f)),l}),p=await Reflect.apply(o,this,u);return await s._def.returns._def.type.parseAsync(p,a).catch(f=>{throw l.addIssue(i(p,f)),l})})}else{let s=this;return pt(function(...c){let l=s._def.args.safeParse(c,a);if(!l.success)throw new Dt([n(c,l.error)]);let u=Reflect.apply(o,this,l.data),p=s._def.returns.safeParse(u,a);if(!p.success)throw new Dt([i(u,p.error)]);return p.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new t({...this._def,args:Fr.create(e).rest(nn.create())})}returns(e){return new t({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,r,n){return new t({args:e||Fr.create([]).rest(nn.create()),returns:r||nn.create(),typeName:M.ZodFunction,...V(n)})}},Ci=class extends Y{get schema(){return this._def.getter()}_parse(e){let{ctx:r}=this._processInputParams(e);return this._def.getter()._parse({data:r.data,path:r.path,parent:r})}};Ci.create=(t,e)=>new Ci({getter:t,typeName:M.ZodLazy,...V(e)});var zi=class extends Y{_parse(e){if(e.data!==this._def.value){let r=this._getOrReturnCtx(e);return E(r,{received:r.data,code:I.invalid_literal,expected:this._def.value}),q}return{status:"valid",value:e.data}}get value(){return this._def.value}};zi.create=(t,e)=>new zi({value:t,typeName:M.ZodLiteral,...V(e)});function j_(t,e){return new Ri({values:t,typeName:M.ZodEnum,...V(e)})}var Ri=class t extends Y{_parse(e){if(typeof e.data!="string"){let r=this._getOrReturnCtx(e),n=this._def.values;return E(r,{expected:ie.joinValues(n),received:r.parsedType,code:I.invalid_type}),q}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(e.data)){let r=this._getOrReturnCtx(e),n=this._def.values;return E(r,{received:r.data,code:I.invalid_enum_value,options:n}),q}return pt(e.data)}get options(){return this._def.values}get enum(){let e={};for(let r of this._def.values)e[r]=r;return e}get Values(){let e={};for(let r of this._def.values)e[r]=r;return e}get Enum(){let e={};for(let r of this._def.values)e[r]=r;return e}extract(e,r=this._def){return t.create(e,{...this._def,...r})}exclude(e,r=this._def){return t.create(this.options.filter(n=>!e.includes(n)),{...this._def,...r})}};Ri.create=j_;var ji=class extends Y{_parse(e){let r=ie.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==C.string&&n.parsedType!==C.number){let i=ie.objectValues(r);return E(n,{expected:ie.joinValues(i),received:n.parsedType,code:I.invalid_type}),q}if(this._cache||(this._cache=new Set(ie.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){let i=ie.objectValues(r);return E(n,{received:n.data,code:I.invalid_enum_value,options:i}),q}return pt(e.data)}get enum(){return this._def.values}};ji.create=(t,e)=>new ji({values:t,typeName:M.ZodNativeEnum,...V(e)});var Mn=class extends Y{unwrap(){return this._def.type}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==C.promise&&r.common.async===!1)return E(r,{code:I.invalid_type,expected:C.promise,received:r.parsedType}),q;let n=r.parsedType===C.promise?r.data:Promise.resolve(r.data);return pt(n.then(i=>this._def.type.parseAsync(i,{path:r.path,errorMap:r.common.contextualErrorMap})))}};Mn.create=(t,e)=>new Mn({type:t,typeName:M.ZodPromise,...V(e)});var ir=class extends Y{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===M.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:r,ctx:n}=this._processInputParams(e),i=this._def.effect||null,a={addIssue:o=>{E(n,o),o.fatal?r.abort():r.dirty()},get path(){return n.path}};if(a.addIssue=a.addIssue.bind(a),i.type==="preprocess"){let o=i.transform(n.data,a);if(n.common.async)return Promise.resolve(o).then(async s=>{if(r.value==="aborted")return q;let c=await this._def.schema._parseAsync({data:s,path:n.path,parent:n});return c.status==="aborted"?q:c.status==="dirty"?Si(c.value):r.value==="dirty"?Si(c.value):c});{if(r.value==="aborted")return q;let s=this._def.schema._parseSync({data:o,path:n.path,parent:n});return s.status==="aborted"?q:s.status==="dirty"?Si(s.value):r.value==="dirty"?Si(s.value):s}}if(i.type==="refinement"){let o=s=>{let c=i.refinement(s,a);if(n.common.async)return Promise.resolve(c);if(c instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return s};if(n.common.async===!1){let s=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return s.status==="aborted"?q:(s.status==="dirty"&&r.dirty(),o(s.value),{status:r.value,value:s.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(s=>s.status==="aborted"?q:(s.status==="dirty"&&r.dirty(),o(s.value).then(()=>({status:r.value,value:s.value}))))}if(i.type==="transform")if(n.common.async===!1){let o=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!An(o))return q;let s=i.transform(o.value,a);if(s instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:r.value,value:s}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(o=>An(o)?Promise.resolve(i.transform(o.value,a)).then(s=>({status:r.value,value:s})):q);ie.assertNever(i)}};ir.create=(t,e,r)=>new ir({schema:t,typeName:M.ZodEffects,effect:e,...V(r)});ir.createWithPreprocess=(t,e,r)=>new ir({schema:e,effect:{type:"preprocess",transform:t},typeName:M.ZodEffects,...V(r)});var nr=class extends Y{_parse(e){return this._getType(e)===C.undefined?pt(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};nr.create=(t,e)=>new nr({innerType:t,typeName:M.ZodOptional,...V(e)});var qr=class extends Y{_parse(e){return this._getType(e)===C.null?pt(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};qr.create=(t,e)=>new qr({innerType:t,typeName:M.ZodNullable,...V(e)});var Di=class extends Y{_parse(e){let{ctx:r}=this._processInputParams(e),n=r.data;return r.parsedType===C.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:r.path,parent:r})}removeDefault(){return this._def.innerType}};Di.create=(t,e)=>new Di({innerType:t,typeName:M.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...V(e)});var Oi=class extends Y{_parse(e){let{ctx:r}=this._processInputParams(e),n={...r,common:{...r.common,issues:[]}},i=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return ro(i)?i.then(a=>({status:"valid",value:a.status==="valid"?a.value:this._def.catchValue({get error(){return new Dt(n.common.issues)},input:n.data})})):{status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new Dt(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};Oi.create=(t,e)=>new Oi({innerType:t,typeName:M.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...V(e)});var fo=class extends Y{_parse(e){if(this._getType(e)!==C.nan){let n=this._getOrReturnCtx(e);return E(n,{code:I.invalid_type,expected:C.nan,received:n.parsedType}),q}return{status:"valid",value:e.data}}};fo.create=t=>new fo({typeName:M.ZodNaN,...V(t)});var PG=Symbol("zod_brand"),zc=class extends Y{_parse(e){let{ctx:r}=this._processInputParams(e),n=r.data;return this._def.type._parse({data:n,path:r.path,parent:r})}unwrap(){return this._def.type}},Rc=class t extends Y{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.common.async)return(async()=>{let a=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return a.status==="aborted"?q:a.status==="dirty"?(r.dirty(),Si(a.value)):this._def.out._parseAsync({data:a.value,path:n.path,parent:n})})();{let i=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return i.status==="aborted"?q:i.status==="dirty"?(r.dirty(),{status:"dirty",value:i.value}):this._def.out._parseSync({data:i.value,path:n.path,parent:n})}}static create(e,r){return new t({in:e,out:r,typeName:M.ZodPipeline})}},Ni=class extends Y{_parse(e){let r=this._def.innerType._parse(e),n=i=>(An(i)&&(i.value=Object.freeze(i.value)),i);return ro(r)?r.then(i=>n(i)):n(r)}unwrap(){return this._def.innerType}};Ni.create=(t,e)=>new Ni({innerType:t,typeName:M.ZodReadonly,...V(e)});var EG={object:Ot.lazycreate},M;(function(t){t.ZodString="ZodString",t.ZodNumber="ZodNumber",t.ZodNaN="ZodNaN",t.ZodBigInt="ZodBigInt",t.ZodBoolean="ZodBoolean",t.ZodDate="ZodDate",t.ZodSymbol="ZodSymbol",t.ZodUndefined="ZodUndefined",t.ZodNull="ZodNull",t.ZodAny="ZodAny",t.ZodUnknown="ZodUnknown",t.ZodNever="ZodNever",t.ZodVoid="ZodVoid",t.ZodArray="ZodArray",t.ZodObject="ZodObject",t.ZodUnion="ZodUnion",t.ZodDiscriminatedUnion="ZodDiscriminatedUnion",t.ZodIntersection="ZodIntersection",t.ZodTuple="ZodTuple",t.ZodRecord="ZodRecord",t.ZodMap="ZodMap",t.ZodSet="ZodSet",t.ZodFunction="ZodFunction",t.ZodLazy="ZodLazy",t.ZodLiteral="ZodLiteral",t.ZodEnum="ZodEnum",t.ZodEffects="ZodEffects",t.ZodNativeEnum="ZodNativeEnum",t.ZodOptional="ZodOptional",t.ZodNullable="ZodNullable",t.ZodDefault="ZodDefault",t.ZodCatch="ZodCatch",t.ZodPromise="ZodPromise",t.ZodBranded="ZodBranded",t.ZodPipeline="ZodPipeline",t.ZodReadonly="ZodReadonly"})(M||(M={}));var TG=$i.create,CG=no.create,zG=fo.create,RG=io.create,jG=ao.create,DG=oo.create,OG=so.create,NG=Ii.create,AG=Pi.create,MG=co.create,UG=nn.create,FG=vr.create,qG=lo.create,LG=an.create,eD=Ot.create,ZG=Ot.strictCreate,HG=Ei.create,BG=cf.create,VG=Ti.create,WG=Fr.create,JG=uf.create,GG=uo.create,KG=po.create,XG=pf.create,YG=Ci.create,QG=zi.create,eK=Ri.create,tK=ji.create,rK=Mn.create,nK=ir.create,iK=nr.create,aK=qr.create,oK=ir.createWithPreprocess,sK=Rc.create;var D_=Object.freeze({status:"aborted"});function x(t,e,r){function n(s,c){if(s._zod||Object.defineProperty(s,"_zod",{value:{def:c,constr:o,traits:new Set},enumerable:!1}),s._zod.traits.has(t))return;s._zod.traits.add(t),e(s,c);let l=o.prototype,u=Object.keys(l);for(let p=0;p<u.length;p++){let d=u[p];d in s||(s[d]=l[d].bind(s))}}let i=r?.Parent??Object;class a extends i{}Object.defineProperty(a,"name",{value:t});function o(s){var c;let l=r?.Parent?new a:this;n(l,s),(c=l._zod).deferred??(c.deferred=[]);for(let u of l._zod.deferred)u();return l}return Object.defineProperty(o,"init",{value:n}),Object.defineProperty(o,Symbol.hasInstance,{value:s=>r?.Parent&&s instanceof r.Parent?!0:s?._zod?.traits?.has(t)}),Object.defineProperty(o,"name",{value:t}),o}var df=Symbol("zod_brand"),yr=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},Un=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name="ZodEncodeError"}},jc={};function Be(t){return t&&Object.assign(jc,t),jc}var P={};Qa(P,{BIGINT_FORMAT_RANGES:()=>wf,Class:()=>mf,NUMBER_FORMAT_RANGES:()=>_f,aborted:()=>ln,allowsEval:()=>vf,assert:()=>sD,assertEqual:()=>nD,assertIs:()=>aD,assertNever:()=>oD,assertNotEqual:()=>iD,assignProp:()=>sn,base64ToUint8Array:()=>L_,base64urlToUint8Array:()=>yD,cached:()=>Mi,captureStackTrace:()=>Oc,cleanEnum:()=>vD,cleanRegex:()=>go,clone:()=>dt,cloneDef:()=>lD,createTransparentProxy:()=>hD,defineLazy:()=>W,esc:()=>Dc,escapeRegex:()=>Ht,extend:()=>M_,finalizeIssue:()=>St,floatSafeRemainder:()=>hf,getElementAtPath:()=>uD,getEnumValues:()=>ho,getLengthableOrigin:()=>xo,getParsedType:()=>mD,getSizableOrigin:()=>yo,hexToUint8Array:()=>bD,isObject:()=>Fn,isPlainObject:()=>cn,issue:()=>Ui,joinValues:()=>U,jsonStringifyReplacer:()=>Ai,merge:()=>gD,mergeDefs:()=>Lr,normalizeParams:()=>T,nullish:()=>on,numKeys:()=>fD,objectClone:()=>cD,omit:()=>A_,optionalKeys:()=>bf,parsedType:()=>L,partial:()=>F_,pick:()=>N_,prefixIssues:()=>Nt,primitiveTypes:()=>xf,promiseAllObject:()=>pD,propertyKeyTypes:()=>vo,randomString:()=>dD,required:()=>q_,safeExtend:()=>U_,shallowClone:()=>yf,slugify:()=>gf,stringifyPrimitive:()=>F,uint8ArrayToBase64:()=>Z_,uint8ArrayToBase64url:()=>xD,uint8ArrayToHex:()=>_D,unwrapMessage:()=>mo});function nD(t){return t}function iD(t){return t}function aD(t){}function oD(t){throw new Error("Unexpected value in exhaustive check")}function sD(t){}function ho(t){let e=Object.values(t).filter(n=>typeof n=="number");return Object.entries(t).filter(([n,i])=>e.indexOf(+n)===-1).map(([n,i])=>i)}function U(t,e="|"){return t.map(r=>F(r)).join(e)}function Ai(t,e){return typeof e=="bigint"?e.toString():e}function Mi(t){return{get value(){{let r=t();return Object.defineProperty(this,"value",{value:r}),r}throw new Error("cached value already set")}}}function on(t){return t==null}function go(t){let e=t.startsWith("^")?1:0,r=t.endsWith("$")?t.length-1:t.length;return t.slice(e,r)}function hf(t,e){let r=(t.toString().split(".")[1]||"").length,n=e.toString(),i=(n.split(".")[1]||"").length;if(i===0&&/\d?e-\d?/.test(n)){let c=n.match(/\d?e-(\d?)/);c?.[1]&&(i=Number.parseInt(c[1]))}let a=r>i?r:i,o=Number.parseInt(t.toFixed(a).replace(".","")),s=Number.parseInt(e.toFixed(a).replace(".",""));return o%s/10**a}var O_=Symbol("evaluating");function W(t,e,r){let n;Object.defineProperty(t,e,{get(){if(n!==O_)return n===void 0&&(n=O_,n=r()),n},set(i){Object.defineProperty(t,e,{value:i})},configurable:!0})}function cD(t){return Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t))}function sn(t,e,r){Object.defineProperty(t,e,{value:r,writable:!0,enumerable:!0,configurable:!0})}function Lr(...t){let e={};for(let r of t){let n=Object.getOwnPropertyDescriptors(r);Object.assign(e,n)}return Object.defineProperties({},e)}function lD(t){return Lr(t._zod.def)}function uD(t,e){return e?e.reduce((r,n)=>r?.[n],t):t}function pD(t){let e=Object.keys(t),r=e.map(n=>t[n]);return Promise.all(r).then(n=>{let i={};for(let a=0;a<e.length;a++)i[e[a]]=n[a];return i})}function dD(t=10){let e="abcdefghijklmnopqrstuvwxyz",r="";for(let n=0;n<t;n++)r+=e[Math.floor(Math.random()*e.length)];return r}function Dc(t){return JSON.stringify(t)}function gf(t){return t.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}var Oc="captureStackTrace"in Error?Error.captureStackTrace:(...t)=>{};function Fn(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}var vf=Mi(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let t=Function;return new t(""),!0}catch{return!1}});function cn(t){if(Fn(t)===!1)return!1;let e=t.constructor;if(e===void 0||typeof e!="function")return!0;let r=e.prototype;return!(Fn(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function yf(t){return cn(t)?{...t}:Array.isArray(t)?[...t]:t}function fD(t){let e=0;for(let r in t)Object.prototype.hasOwnProperty.call(t,r)&&e++;return e}var mD=t=>{let e=typeof t;switch(e){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(t)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":return Array.isArray(t)?"array":t===null?"null":t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?"promise":typeof Map<"u"&&t instanceof Map?"map":typeof Set<"u"&&t instanceof Set?"set":typeof Date<"u"&&t instanceof Date?"date":typeof File<"u"&&t instanceof File?"file":"object";default:throw new Error(`Unknown data type: ${e}`)}},vo=new Set(["string","number","symbol"]),xf=new Set(["string","number","bigint","boolean","symbol","undefined"]);function Ht(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function dt(t,e,r){let n=new t._zod.constr(e??t._zod.def);return(!e||r?.parent)&&(n._zod.parent=t),n}function T(t){let e=t;if(!e)return{};if(typeof e=="string")return{error:()=>e};if(e?.message!==void 0){if(e?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");e.error=e.message}return delete e.message,typeof e.error=="string"?{...e,error:()=>e.error}:e}function hD(t){let e;return new Proxy({},{get(r,n,i){return e??(e=t()),Reflect.get(e,n,i)},set(r,n,i,a){return e??(e=t()),Reflect.set(e,n,i,a)},has(r,n){return e??(e=t()),Reflect.has(e,n)},deleteProperty(r,n){return e??(e=t()),Reflect.deleteProperty(e,n)},ownKeys(r){return e??(e=t()),Reflect.ownKeys(e)},getOwnPropertyDescriptor(r,n){return e??(e=t()),Reflect.getOwnPropertyDescriptor(e,n)},defineProperty(r,n,i){return e??(e=t()),Reflect.defineProperty(e,n,i)}})}function F(t){return typeof t=="bigint"?t.toString()+"n":typeof t=="string"?`"${t}"`:`${t}`}function bf(t){return Object.keys(t).filter(e=>t[e]._zod.optin==="optional"&&t[e]._zod.optout==="optional")}var _f={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},wf={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function N_(t,e){let r=t._zod.def,n=r.checks;if(n&&n.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");let a=Lr(t._zod.def,{get shape(){let o={};for(let s in e){if(!(s in r.shape))throw new Error(`Unrecognized key: "${s}"`);e[s]&&(o[s]=r.shape[s])}return sn(this,"shape",o),o},checks:[]});return dt(t,a)}function A_(t,e){let r=t._zod.def,n=r.checks;if(n&&n.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");let a=Lr(t._zod.def,{get shape(){let o={...t._zod.def.shape};for(let s in e){if(!(s in r.shape))throw new Error(`Unrecognized key: "${s}"`);e[s]&&delete o[s]}return sn(this,"shape",o),o},checks:[]});return dt(t,a)}function M_(t,e){if(!cn(e))throw new Error("Invalid input to extend: expected a plain object");let r=t._zod.def.checks;if(r&&r.length>0){let a=t._zod.def.shape;for(let o in e)if(Object.getOwnPropertyDescriptor(a,o)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let i=Lr(t._zod.def,{get shape(){let a={...t._zod.def.shape,...e};return sn(this,"shape",a),a}});return dt(t,i)}function U_(t,e){if(!cn(e))throw new Error("Invalid input to safeExtend: expected a plain object");let r=Lr(t._zod.def,{get shape(){let n={...t._zod.def.shape,...e};return sn(this,"shape",n),n}});return dt(t,r)}function gD(t,e){let r=Lr(t._zod.def,{get shape(){let n={...t._zod.def.shape,...e._zod.def.shape};return sn(this,"shape",n),n},get catchall(){return e._zod.def.catchall},checks:[]});return dt(t,r)}function F_(t,e,r){let i=e._zod.def.checks;if(i&&i.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");let o=Lr(e._zod.def,{get shape(){let s=e._zod.def.shape,c={...s};if(r)for(let l in r){if(!(l in s))throw new Error(`Unrecognized key: "${l}"`);r[l]&&(c[l]=t?new t({type:"optional",innerType:s[l]}):s[l])}else for(let l in s)c[l]=t?new t({type:"optional",innerType:s[l]}):s[l];return sn(this,"shape",c),c},checks:[]});return dt(e,o)}function q_(t,e,r){let n=Lr(e._zod.def,{get shape(){let i=e._zod.def.shape,a={...i};if(r)for(let o in r){if(!(o in a))throw new Error(`Unrecognized key: "${o}"`);r[o]&&(a[o]=new t({type:"nonoptional",innerType:i[o]}))}else for(let o in i)a[o]=new t({type:"nonoptional",innerType:i[o]});return sn(this,"shape",a),a}});return dt(e,n)}function ln(t,e=0){if(t.aborted===!0)return!0;for(let r=e;r<t.issues.length;r++)if(t.issues[r]?.continue!==!0)return!0;return!1}function Nt(t,e){return e.map(r=>{var n;return(n=r).path??(n.path=[]),r.path.unshift(t),r})}function mo(t){return typeof t=="string"?t:t?.message}function St(t,e,r){let n={...t,path:t.path??[]};if(!t.message){let i=mo(t.inst?._zod.def?.error?.(t))??mo(e?.error?.(t))??mo(r.customError?.(t))??mo(r.localeError?.(t))??"Invalid input";n.message=i}return delete n.inst,delete n.continue,e?.reportInput||delete n.input,n}function yo(t){return t instanceof Set?"set":t instanceof Map?"map":t instanceof File?"file":"unknown"}function xo(t){return Array.isArray(t)?"array":typeof t=="string"?"string":"unknown"}function L(t){let e=typeof t;switch(e){case"number":return Number.isNaN(t)?"nan":"number";case"object":{if(t===null)return"null";if(Array.isArray(t))return"array";let r=t;if(r&&Object.getPrototypeOf(r)!==Object.prototype&&"constructor"in r&&r.constructor)return r.constructor.name}}return e}function Ui(...t){let[e,r,n]=t;return typeof e=="string"?{message:e,code:"custom",input:r,inst:n}:{...e}}function vD(t){return Object.entries(t).filter(([e,r])=>Number.isNaN(Number.parseInt(e,10))).map(e=>e[1])}function L_(t){let e=atob(t),r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=e.charCodeAt(n);return r}function Z_(t){let e="";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return btoa(e)}function yD(t){let e=t.replace(/-/g,"+").replace(/_/g,"/"),r="=".repeat((4-e.length%4)%4);return L_(e+r)}function xD(t){return Z_(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function bD(t){let e=t.replace(/^0x/,"");if(e.length%2!==0)throw new Error("Invalid hex string length");let r=new Uint8Array(e.length/2);for(let n=0;n<e.length;n+=2)r[n/2]=Number.parseInt(e.slice(n,n+2),16);return r}function _D(t){return Array.from(t).map(e=>e.toString(16).padStart(2,"0")).join("")}var mf=class{constructor(...e){}};var H_=(t,e)=>{t.name="$ZodError",Object.defineProperty(t,"_zod",{value:t._zod,enumerable:!1}),Object.defineProperty(t,"issues",{value:e,enumerable:!1}),t.message=JSON.stringify(e,Ai,2),Object.defineProperty(t,"toString",{value:()=>t.message,enumerable:!1})},Nc=x("$ZodError",H_),bo=x("$ZodError",H_,{Parent:Error});function Ac(t,e=r=>r.message){let r={},n=[];for(let i of t.issues)i.path.length>0?(r[i.path[0]]=r[i.path[0]]||[],r[i.path[0]].push(e(i))):n.push(e(i));return{formErrors:n,fieldErrors:r}}function Mc(t,e=r=>r.message){let r={_errors:[]},n=i=>{for(let a of i.issues)if(a.code==="invalid_union"&&a.errors.length)a.errors.map(o=>n({issues:o}));else if(a.code==="invalid_key")n({issues:a.issues});else if(a.code==="invalid_element")n({issues:a.issues});else if(a.path.length===0)r._errors.push(e(a));else{let o=r,s=0;for(;s<a.path.length;){let c=a.path[s];s===a.path.length-1?(o[c]=o[c]||{_errors:[]},o[c]._errors.push(e(a))):o[c]=o[c]||{_errors:[]},o=o[c],s++}}};return n(t),r}var _o=t=>(e,r,n,i)=>{let a=n?Object.assign(n,{async:!1}):{async:!1},o=e._zod.run({value:r,issues:[]},a);if(o instanceof Promise)throw new yr;if(o.issues.length){let s=new(i?.Err??t)(o.issues.map(c=>St(c,a,Be())));throw Oc(s,i?.callee),s}return o.value},wo=_o(bo),So=t=>async(e,r,n,i)=>{let a=n?Object.assign(n,{async:!0}):{async:!0},o=e._zod.run({value:r,issues:[]},a);if(o instanceof Promise&&(o=await o),o.issues.length){let s=new(i?.Err??t)(o.issues.map(c=>St(c,a,Be())));throw Oc(s,i?.callee),s}return o.value},ko=So(bo),$o=t=>(e,r,n)=>{let i=n?{...n,async:!1}:{async:!1},a=e._zod.run({value:r,issues:[]},i);if(a instanceof Promise)throw new yr;return a.issues.length?{success:!1,error:new(t??Nc)(a.issues.map(o=>St(o,i,Be())))}:{success:!0,data:a.value}},Fi=$o(bo),Io=t=>async(e,r,n)=>{let i=n?Object.assign(n,{async:!0}):{async:!0},a=e._zod.run({value:r,issues:[]},i);return a instanceof Promise&&(a=await a),a.issues.length?{success:!1,error:new t(a.issues.map(o=>St(o,i,Be())))}:{success:!0,data:a.value}},Po=Io(bo),B_=t=>(e,r,n)=>{let i=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return _o(t)(e,r,i)};var V_=t=>(e,r,n)=>_o(t)(e,r,n);var W_=t=>async(e,r,n)=>{let i=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return So(t)(e,r,i)};var J_=t=>async(e,r,n)=>So(t)(e,r,n);var G_=t=>(e,r,n)=>{let i=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return $o(t)(e,r,i)};var K_=t=>(e,r,n)=>$o(t)(e,r,n);var X_=t=>async(e,r,n)=>{let i=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return Io(t)(e,r,i)};var Y_=t=>async(e,r,n)=>Io(t)(e,r,n);var Bt={};Qa(Bt,{base64:()=>Mf,base64url:()=>Uc,bigint:()=>Hf,boolean:()=>Vf,browserEmail:()=>CD,cidrv4:()=>Nf,cidrv6:()=>Af,cuid:()=>Sf,cuid2:()=>kf,date:()=>Ff,datetime:()=>Lf,domain:()=>jD,duration:()=>Tf,e164:()=>Uf,email:()=>zf,emoji:()=>Rf,extendedDuration:()=>SD,guid:()=>Cf,hex:()=>DD,hostname:()=>RD,html5Email:()=>PD,idnEmail:()=>TD,integer:()=>Bf,ipv4:()=>jf,ipv6:()=>Df,ksuid:()=>Pf,lowercase:()=>Gf,mac:()=>Of,md5_base64:()=>ND,md5_base64url:()=>AD,md5_hex:()=>OD,nanoid:()=>Ef,null:()=>Wf,number:()=>Fc,rfc5322Email:()=>ED,sha1_base64:()=>UD,sha1_base64url:()=>FD,sha1_hex:()=>MD,sha256_base64:()=>LD,sha256_base64url:()=>ZD,sha256_hex:()=>qD,sha384_base64:()=>BD,sha384_base64url:()=>VD,sha384_hex:()=>HD,sha512_base64:()=>JD,sha512_base64url:()=>GD,sha512_hex:()=>WD,string:()=>Zf,time:()=>qf,ulid:()=>$f,undefined:()=>Jf,unicodeEmail:()=>Q_,uppercase:()=>Kf,uuid:()=>qn,uuid4:()=>kD,uuid6:()=>$D,uuid7:()=>ID,xid:()=>If});var Sf=/^[cC][^\s-]{8,}$/,kf=/^[0-9a-z]+$/,$f=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,If=/^[0-9a-vA-V]{20}$/,Pf=/^[A-Za-z0-9]{27}$/,Ef=/^[a-zA-Z0-9_-]{21}$/,Tf=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,SD=/^[-+]?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)?)??$/,Cf=/^([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})$/,qn=t=>t?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${t}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,kD=qn(4),$D=qn(6),ID=qn(7),zf=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,PD=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,ED=/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,Q_=/^[^\s@"]{1,64}@[^\s@]{1,255}$/u,TD=Q_,CD=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,zD="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function Rf(){return new RegExp(zD,"u")}var jf=/^(?:(?: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])$/,Df=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,Of=t=>{let e=Ht(t??":");return new RegExp(`^(?:[0-9A-F]{2}${e}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${e}){5}[0-9a-f]{2}$`)},Nf=/^((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])$/,Af=/^(([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])$/,Mf=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Uc=/^[A-Za-z0-9_-]*$/,RD=/^(?=.{1,253}\.?$)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[-0-9a-zA-Z]{0,61}[0-9a-zA-Z])?)*\.?$/,jD=/^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/,Uf=/^\+[1-9]\d{6,14}$/,e0="(?:(?:\\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])))",Ff=new RegExp(`^${e0}$`);function t0(t){let e="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof t.precision=="number"?t.precision===-1?`${e}`:t.precision===0?`${e}:[0-5]\\d`:`${e}:[0-5]\\d\\.\\d{${t.precision}}`:`${e}(?::[0-5]\\d(?:\\.\\d+)?)?`}function qf(t){return new RegExp(`^${t0(t)}$`)}function Lf(t){let e=t0({precision:t.precision}),r=["Z"];t.local&&r.push(""),t.offset&&r.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let n=`${e}(?:${r.join("|")})`;return new RegExp(`^${e0}T(?:${n})$`)}var Zf=t=>{let e=t?`[\\s\\S]{${t?.minimum??0},${t?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${e}$`)},Hf=/^-?\d+n?$/,Bf=/^-?\d+$/,Fc=/^-?\d+(?:\.\d+)?$/,Vf=/^(?:true|false)$/i,Wf=/^null$/i;var Jf=/^undefined$/i;var Gf=/^[^A-Z]*$/,Kf=/^[^a-z]*$/,DD=/^[0-9a-fA-F]*$/;function Eo(t,e){return new RegExp(`^[A-Za-z0-9+/]{${t}}${e}$`)}function To(t){return new RegExp(`^[A-Za-z0-9_-]{${t}}$`)}var OD=/^[0-9a-fA-F]{32}$/,ND=Eo(22,"=="),AD=To(22),MD=/^[0-9a-fA-F]{40}$/,UD=Eo(27,"="),FD=To(27),qD=/^[0-9a-fA-F]{64}$/,LD=Eo(43,"="),ZD=To(43),HD=/^[0-9a-fA-F]{96}$/,BD=Eo(64,""),VD=To(64),WD=/^[0-9a-fA-F]{128}$/,JD=Eo(86,"=="),GD=To(86);var xe=x("$ZodCheck",(t,e)=>{var r;t._zod??(t._zod={}),t._zod.def=e,(r=t._zod).onattach??(r.onattach=[])}),n0={number:"number",bigint:"bigint",object:"date"},Xf=x("$ZodCheckLessThan",(t,e)=>{xe.init(t,e);let r=n0[typeof e.value];t._zod.onattach.push(n=>{let i=n._zod.bag,a=(e.inclusive?i.maximum:i.exclusiveMaximum)??Number.POSITIVE_INFINITY;e.value<a&&(e.inclusive?i.maximum=e.value:i.exclusiveMaximum=e.value)}),t._zod.check=n=>{(e.inclusive?n.value<=e.value:n.value<e.value)||n.issues.push({origin:r,code:"too_big",maximum:typeof e.value=="object"?e.value.getTime():e.value,input:n.value,inclusive:e.inclusive,inst:t,continue:!e.abort})}}),Yf=x("$ZodCheckGreaterThan",(t,e)=>{xe.init(t,e);let r=n0[typeof e.value];t._zod.onattach.push(n=>{let i=n._zod.bag,a=(e.inclusive?i.minimum:i.exclusiveMinimum)??Number.NEGATIVE_INFINITY;e.value>a&&(e.inclusive?i.minimum=e.value:i.exclusiveMinimum=e.value)}),t._zod.check=n=>{(e.inclusive?n.value>=e.value:n.value>e.value)||n.issues.push({origin:r,code:"too_small",minimum:typeof e.value=="object"?e.value.getTime():e.value,input:n.value,inclusive:e.inclusive,inst:t,continue:!e.abort})}}),i0=x("$ZodCheckMultipleOf",(t,e)=>{xe.init(t,e),t._zod.onattach.push(r=>{var n;(n=r._zod.bag).multipleOf??(n.multipleOf=e.value)}),t._zod.check=r=>{if(typeof r.value!=typeof e.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof r.value=="bigint"?r.value%e.value===BigInt(0):hf(r.value,e.value)===0)||r.issues.push({origin:typeof r.value,code:"not_multiple_of",divisor:e.value,input:r.value,inst:t,continue:!e.abort})}}),a0=x("$ZodCheckNumberFormat",(t,e)=>{xe.init(t,e),e.format=e.format||"float64";let r=e.format?.includes("int"),n=r?"int":"number",[i,a]=_f[e.format];t._zod.onattach.push(o=>{let s=o._zod.bag;s.format=e.format,s.minimum=i,s.maximum=a,r&&(s.pattern=Bf)}),t._zod.check=o=>{let s=o.value;if(r){if(!Number.isInteger(s)){o.issues.push({expected:n,format:e.format,code:"invalid_type",continue:!1,input:s,inst:t});return}if(!Number.isSafeInteger(s)){s>0?o.issues.push({input:s,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:t,origin:n,inclusive:!0,continue:!e.abort}):o.issues.push({input:s,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:t,origin:n,inclusive:!0,continue:!e.abort});return}}s<i&&o.issues.push({origin:"number",input:s,code:"too_small",minimum:i,inclusive:!0,inst:t,continue:!e.abort}),s>a&&o.issues.push({origin:"number",input:s,code:"too_big",maximum:a,inclusive:!0,inst:t,continue:!e.abort})}}),o0=x("$ZodCheckBigIntFormat",(t,e)=>{xe.init(t,e);let[r,n]=wf[e.format];t._zod.onattach.push(i=>{let a=i._zod.bag;a.format=e.format,a.minimum=r,a.maximum=n}),t._zod.check=i=>{let a=i.value;a<r&&i.issues.push({origin:"bigint",input:a,code:"too_small",minimum:r,inclusive:!0,inst:t,continue:!e.abort}),a>n&&i.issues.push({origin:"bigint",input:a,code:"too_big",maximum:n,inclusive:!0,inst:t,continue:!e.abort})}}),s0=x("$ZodCheckMaxSize",(t,e)=>{var r;xe.init(t,e),(r=t._zod.def).when??(r.when=n=>{let i=n.value;return!on(i)&&i.size!==void 0}),t._zod.onattach.push(n=>{let i=n._zod.bag.maximum??Number.POSITIVE_INFINITY;e.maximum<i&&(n._zod.bag.maximum=e.maximum)}),t._zod.check=n=>{let i=n.value;i.size<=e.maximum||n.issues.push({origin:yo(i),code:"too_big",maximum:e.maximum,inclusive:!0,input:i,inst:t,continue:!e.abort})}}),c0=x("$ZodCheckMinSize",(t,e)=>{var r;xe.init(t,e),(r=t._zod.def).when??(r.when=n=>{let i=n.value;return!on(i)&&i.size!==void 0}),t._zod.onattach.push(n=>{let i=n._zod.bag.minimum??Number.NEGATIVE_INFINITY;e.minimum>i&&(n._zod.bag.minimum=e.minimum)}),t._zod.check=n=>{let i=n.value;i.size>=e.minimum||n.issues.push({origin:yo(i),code:"too_small",minimum:e.minimum,inclusive:!0,input:i,inst:t,continue:!e.abort})}}),l0=x("$ZodCheckSizeEquals",(t,e)=>{var r;xe.init(t,e),(r=t._zod.def).when??(r.when=n=>{let i=n.value;return!on(i)&&i.size!==void 0}),t._zod.onattach.push(n=>{let i=n._zod.bag;i.minimum=e.size,i.maximum=e.size,i.size=e.size}),t._zod.check=n=>{let i=n.value,a=i.size;if(a===e.size)return;let o=a>e.size;n.issues.push({origin:yo(i),...o?{code:"too_big",maximum:e.size}:{code:"too_small",minimum:e.size},inclusive:!0,exact:!0,input:n.value,inst:t,continue:!e.abort})}}),u0=x("$ZodCheckMaxLength",(t,e)=>{var r;xe.init(t,e),(r=t._zod.def).when??(r.when=n=>{let i=n.value;return!on(i)&&i.length!==void 0}),t._zod.onattach.push(n=>{let i=n._zod.bag.maximum??Number.POSITIVE_INFINITY;e.maximum<i&&(n._zod.bag.maximum=e.maximum)}),t._zod.check=n=>{let i=n.value;if(i.length<=e.maximum)return;let o=xo(i);n.issues.push({origin:o,code:"too_big",maximum:e.maximum,inclusive:!0,input:i,inst:t,continue:!e.abort})}}),p0=x("$ZodCheckMinLength",(t,e)=>{var r;xe.init(t,e),(r=t._zod.def).when??(r.when=n=>{let i=n.value;return!on(i)&&i.length!==void 0}),t._zod.onattach.push(n=>{let i=n._zod.bag.minimum??Number.NEGATIVE_INFINITY;e.minimum>i&&(n._zod.bag.minimum=e.minimum)}),t._zod.check=n=>{let i=n.value;if(i.length>=e.minimum)return;let o=xo(i);n.issues.push({origin:o,code:"too_small",minimum:e.minimum,inclusive:!0,input:i,inst:t,continue:!e.abort})}}),d0=x("$ZodCheckLengthEquals",(t,e)=>{var r;xe.init(t,e),(r=t._zod.def).when??(r.when=n=>{let i=n.value;return!on(i)&&i.length!==void 0}),t._zod.onattach.push(n=>{let i=n._zod.bag;i.minimum=e.length,i.maximum=e.length,i.length=e.length}),t._zod.check=n=>{let i=n.value,a=i.length;if(a===e.length)return;let o=xo(i),s=a>e.length;n.issues.push({origin:o,...s?{code:"too_big",maximum:e.length}:{code:"too_small",minimum:e.length},inclusive:!0,exact:!0,input:n.value,inst:t,continue:!e.abort})}}),Co=x("$ZodCheckStringFormat",(t,e)=>{var r,n;xe.init(t,e),t._zod.onattach.push(i=>{let a=i._zod.bag;a.format=e.format,e.pattern&&(a.patterns??(a.patterns=new Set),a.patterns.add(e.pattern))}),e.pattern?(r=t._zod).check??(r.check=i=>{e.pattern.lastIndex=0,!e.pattern.test(i.value)&&i.issues.push({origin:"string",code:"invalid_format",format:e.format,input:i.value,...e.pattern?{pattern:e.pattern.toString()}:{},inst:t,continue:!e.abort})}):(n=t._zod).check??(n.check=()=>{})}),f0=x("$ZodCheckRegex",(t,e)=>{Co.init(t,e),t._zod.check=r=>{e.pattern.lastIndex=0,!e.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:e.pattern.toString(),inst:t,continue:!e.abort})}}),m0=x("$ZodCheckLowerCase",(t,e)=>{e.pattern??(e.pattern=Gf),Co.init(t,e)}),h0=x("$ZodCheckUpperCase",(t,e)=>{e.pattern??(e.pattern=Kf),Co.init(t,e)}),g0=x("$ZodCheckIncludes",(t,e)=>{xe.init(t,e);let r=Ht(e.includes),n=new RegExp(typeof e.position=="number"?`^.{${e.position}}${r}`:r);e.pattern=n,t._zod.onattach.push(i=>{let a=i._zod.bag;a.patterns??(a.patterns=new Set),a.patterns.add(n)}),t._zod.check=i=>{i.value.includes(e.includes,e.position)||i.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:e.includes,input:i.value,inst:t,continue:!e.abort})}}),v0=x("$ZodCheckStartsWith",(t,e)=>{xe.init(t,e);let r=new RegExp(`^${Ht(e.prefix)}.*`);e.pattern??(e.pattern=r),t._zod.onattach.push(n=>{let i=n._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(r)}),t._zod.check=n=>{n.value.startsWith(e.prefix)||n.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:e.prefix,input:n.value,inst:t,continue:!e.abort})}}),y0=x("$ZodCheckEndsWith",(t,e)=>{xe.init(t,e);let r=new RegExp(`.*${Ht(e.suffix)}$`);e.pattern??(e.pattern=r),t._zod.onattach.push(n=>{let i=n._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(r)}),t._zod.check=n=>{n.value.endsWith(e.suffix)||n.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:e.suffix,input:n.value,inst:t,continue:!e.abort})}});function r0(t,e,r){t.issues.length&&e.issues.push(...Nt(r,t.issues))}var x0=x("$ZodCheckProperty",(t,e)=>{xe.init(t,e),t._zod.check=r=>{let n=e.schema._zod.run({value:r.value[e.property],issues:[]},{});if(n instanceof Promise)return n.then(i=>r0(i,r,e.property));r0(n,r,e.property)}}),b0=x("$ZodCheckMimeType",(t,e)=>{xe.init(t,e);let r=new Set(e.mime);t._zod.onattach.push(n=>{n._zod.bag.mime=e.mime}),t._zod.check=n=>{r.has(n.value.type)||n.issues.push({code:"invalid_value",values:e.mime,input:n.value.type,inst:t,continue:!e.abort})}}),_0=x("$ZodCheckOverwrite",(t,e)=>{xe.init(t,e),t._zod.check=r=>{r.value=e.tx(r.value)}});var qc=class{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e)}indented(e){this.indent+=1,e(this),this.indent-=1}write(e){if(typeof e=="function"){e(this,{execution:"sync"}),e(this,{execution:"async"});return}let n=e.split(`
|
|
60
|
+
`}function JV(){return function(){this.error(404)}}function GV(){return function(e){if(this.hasTrailingSlash()){this.error(404);return}var r=Hb.original(this.req);r.path=null,r.pathname=VV(r.pathname+"/");var n=qV(HV.format(r)),i=WV("Redirecting","Redirecting to "+LV(n));e.statusCode=301,e.setHeader("Content-Type","text/html; charset=UTF-8"),e.setHeader("Content-Length",Buffer.byteLength(i)),e.setHeader("Content-Security-Policy","default-src 'none'"),e.setHeader("X-Content-Type-Options","nosniff"),e.setHeader("Location",n),e.end(i)}}});var Mz=y((zt,Az)=>{"use strict";var fd=s4(),KV=A("events").EventEmitter,jz=l4(),Dz=qC(),XV=hb(),YV=vb(),Oz=fz(),Nz=Cz();zt=Az.exports=QV;function QV(){var t=function(e,r,n){t.handle(e,r,n)};return jz(t,KV.prototype,!1),jz(t,Dz,!1),t.request=Object.create(Oz,{app:{configurable:!0,enumerable:!0,writable:!0,value:t}}),t.response=Object.create(Nz,{app:{configurable:!0,enumerable:!0,writable:!0,value:t}}),t.init(),t}zt.application=Dz;zt.request=Oz;zt.response=Nz;zt.Route=XV;zt.Router=YV;zt.json=fd.json;zt.query=yb();zt.raw=fd.raw;zt.static=Rz();zt.text=fd.text;zt.urlencoded=fd.urlencoded;var eW=["bodyParser","compress","cookieSession","session","logger","cookieParser","favicon","responseTime","errorHandler","timeout","methodOverride","vhost","csrf","directory","limit","multipart","staticCache"];eW.forEach(function(t){Object.defineProperty(zt,t,{get:function(){throw new Error("Most middleware (like "+t+") is no longer bundled with Express and must be installed separately. Please see https://github.com/senchalabs/connect#middleware.")},configurable:!0})})});var md=y((Fle,Uz)=>{"use strict";Uz.exports=Mz()});var ie;(function(t){t.assertEqual=i=>{};function e(i){}t.assertIs=e;function r(i){throw new Error}t.assertNever=r,t.arrayToEnum=i=>{let a={};for(let o of i)a[o]=o;return a},t.getValidEnumValues=i=>{let a=t.objectKeys(i).filter(s=>typeof i[i[s]]!="number"),o={};for(let s of a)o[s]=i[s];return t.objectValues(o)},t.objectValues=i=>t.objectKeys(i).map(function(a){return i[a]}),t.objectKeys=typeof Object.keys=="function"?i=>Object.keys(i):i=>{let a=[];for(let o in i)Object.prototype.hasOwnProperty.call(i,o)&&a.push(o);return a},t.find=(i,a)=>{for(let o of i)if(a(o))return o},t.isInteger=typeof Number.isInteger=="function"?i=>Number.isInteger(i):i=>typeof i=="number"&&Number.isFinite(i)&&Math.floor(i)===i;function n(i,a=" | "){return i.map(o=>typeof o=="string"?`'${o}'`:o).join(a)}t.joinValues=n,t.jsonStringifyReplacer=(i,a)=>typeof a=="bigint"?a.toString():a})(ie||(ie={}));var T_;(function(t){t.mergeShapes=(e,r)=>({...e,...r})})(T_||(T_={}));var C=ie.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Mr=t=>{switch(typeof t){case"undefined":return C.undefined;case"string":return C.string;case"number":return Number.isNaN(t)?C.nan:C.number;case"boolean":return C.boolean;case"function":return C.function;case"bigint":return C.bigint;case"symbol":return C.symbol;case"object":return Array.isArray(t)?C.array:t===null?C.null:t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?C.promise:typeof Map<"u"&&t instanceof Map?C.map:typeof Set<"u"&&t instanceof Set?C.set:typeof Date<"u"&&t instanceof Date?C.date:C.object;default:return C.unknown}};var I=ie.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"]);var Dt=class t extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=n=>{this.issues=[...this.issues,n]},this.addIssues=(n=[])=>{this.issues=[...this.issues,...n]};let r=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,r):this.__proto__=r,this.name="ZodError",this.issues=e}format(e){let r=e||function(a){return a.message},n={_errors:[]},i=a=>{for(let o of a.issues)if(o.code==="invalid_union")o.unionErrors.map(i);else if(o.code==="invalid_return_type")i(o.returnTypeError);else if(o.code==="invalid_arguments")i(o.argumentsError);else if(o.path.length===0)n._errors.push(r(o));else{let s=n,c=0;for(;c<o.path.length;){let l=o.path[c];c===o.path.length-1?(s[l]=s[l]||{_errors:[]},s[l]._errors.push(r(o))):s[l]=s[l]||{_errors:[]},s=s[l],c++}}};return i(this),n}static assert(e){if(!(e instanceof t))throw new Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,ie.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=r=>r.message){let r=Object.create(null),n=[];for(let i of this.issues)if(i.path.length>0){let a=i.path[0];r[a]=r[a]||[],r[a].push(e(i))}else n.push(e(i));return{formErrors:n,fieldErrors:r}}get formErrors(){return this.flatten()}};Dt.create=t=>new Dt(t);var Cj=(t,e)=>{let r;switch(t.code){case I.invalid_type:t.received===C.undefined?r="Required":r=`Expected ${t.expected}, received ${t.received}`;break;case I.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(t.expected,ie.jsonStringifyReplacer)}`;break;case I.unrecognized_keys:r=`Unrecognized key(s) in object: ${ie.joinValues(t.keys,", ")}`;break;case I.invalid_union:r="Invalid input";break;case I.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${ie.joinValues(t.options)}`;break;case I.invalid_enum_value:r=`Invalid enum value. Expected ${ie.joinValues(t.options)}, received '${t.received}'`;break;case I.invalid_arguments:r="Invalid function arguments";break;case I.invalid_return_type:r="Invalid function return type";break;case I.invalid_date:r="Invalid date";break;case I.invalid_string:typeof t.validation=="object"?"includes"in t.validation?(r=`Invalid input: must include "${t.validation.includes}"`,typeof t.validation.position=="number"&&(r=`${r} at one or more positions greater than or equal to ${t.validation.position}`)):"startsWith"in t.validation?r=`Invalid input: must start with "${t.validation.startsWith}"`:"endsWith"in t.validation?r=`Invalid input: must end with "${t.validation.endsWith}"`:ie.assertNever(t.validation):t.validation!=="regex"?r=`Invalid ${t.validation}`:r="Invalid";break;case I.too_small:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at least":"more than"} ${t.minimum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at least":"over"} ${t.minimum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="bigint"?r=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(t.minimum))}`:r="Invalid input";break;case I.too_big:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at most":"less than"} ${t.maximum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at most":"under"} ${t.maximum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="bigint"?r=`BigInt must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly":t.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(t.maximum))}`:r="Invalid input";break;case I.custom:r="Invalid input";break;case I.invalid_intersection_types:r="Intersection results could not be merged";break;case I.not_multiple_of:r=`Number must be a multiple of ${t.multipleOf}`;break;case I.not_finite:r="Number must be finite";break;default:r=e.defaultError,ie.assertNever(t)}return{message:r}},rn=Cj;var zj=rn;function to(){return zj}var Cc=t=>{let{data:e,path:r,errorMaps:n,issueData:i}=t,a=[...r,...i.path||[]],o={...i,path:a};if(i.message!==void 0)return{...i,path:a,message:i.message};let s="",c=n.filter(l=>!!l).slice().reverse();for(let l of c)s=l(o,{data:e,defaultError:s}).message;return{...i,path:a,message:s}};function E(t,e){let r=to(),n=Cc({issueData:e,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,r,r===rn?void 0:rn].filter(i=>!!i)});t.common.issues.push(n)}var at=class t{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,r){let n=[];for(let i of r){if(i.status==="aborted")return q;i.status==="dirty"&&e.dirty(),n.push(i.value)}return{status:e.value,value:n}}static async mergeObjectAsync(e,r){let n=[];for(let i of r){let a=await i.key,o=await i.value;n.push({key:a,value:o})}return t.mergeObjectSync(e,n)}static mergeObjectSync(e,r){let n={};for(let i of r){let{key:a,value:o}=i;if(a.status==="aborted"||o.status==="aborted")return q;a.status==="dirty"&&e.dirty(),o.status==="dirty"&&e.dirty(),a.value!=="__proto__"&&(typeof o.value<"u"||i.alwaysSet)&&(n[a.value]=o.value)}return{status:e.value,value:n}}},q=Object.freeze({status:"aborted"}),Si=t=>({status:"dirty",value:t}),pt=t=>({status:"valid",value:t}),af=t=>t.status==="aborted",of=t=>t.status==="dirty",An=t=>t.status==="valid",ro=t=>typeof Promise<"u"&&t instanceof Promise;var R;(function(t){t.errToObj=e=>typeof e=="string"?{message:e}:e||{},t.toString=e=>typeof e=="string"?e:e?.message})(R||(R={}));var Zt=class{constructor(e,r,n,i){this._cachedPath=[],this.parent=e,this.data=r,this._path=n,this._key=i}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},C_=(t,e)=>{if(An(e))return{success:!0,data:e.value};if(!t.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let r=new Dt(t.common.issues);return this._error=r,this._error}}};function V(t){if(!t)return{};let{errorMap:e,invalid_type_error:r,required_error:n,description:i}=t;if(e&&(r||n))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:i}:{errorMap:(o,s)=>{let{message:c}=t;return o.code==="invalid_enum_value"?{message:c??s.defaultError}:typeof s.data>"u"?{message:c??n??s.defaultError}:o.code!=="invalid_type"?{message:s.defaultError}:{message:c??r??s.defaultError}},description:i}}var Y=class{get description(){return this._def.description}_getType(e){return Mr(e.data)}_getOrReturnCtx(e,r){return r||{common:e.parent.common,data:e.data,parsedType:Mr(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new at,ctx:{common:e.parent.common,data:e.data,parsedType:Mr(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let r=this._parse(e);if(ro(r))throw new Error("Synchronous parse encountered promise.");return r}_parseAsync(e){let r=this._parse(e);return Promise.resolve(r)}parse(e,r){let n=this.safeParse(e,r);if(n.success)return n.data;throw n.error}safeParse(e,r){let n={common:{issues:[],async:r?.async??!1,contextualErrorMap:r?.errorMap},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Mr(e)},i=this._parseSync({data:e,path:n.path,parent:n});return C_(n,i)}"~validate"(e){let r={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Mr(e)};if(!this["~standard"].async)try{let n=this._parseSync({data:e,path:[],parent:r});return An(n)?{value:n.value}:{issues:r.common.issues}}catch(n){n?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),r.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:r}).then(n=>An(n)?{value:n.value}:{issues:r.common.issues})}async parseAsync(e,r){let n=await this.safeParseAsync(e,r);if(n.success)return n.data;throw n.error}async safeParseAsync(e,r){let n={common:{issues:[],contextualErrorMap:r?.errorMap,async:!0},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Mr(e)},i=this._parse({data:e,path:n.path,parent:n}),a=await(ro(i)?i:Promise.resolve(i));return C_(n,a)}refine(e,r){let n=i=>typeof r=="string"||typeof r>"u"?{message:r}:typeof r=="function"?r(i):r;return this._refinement((i,a)=>{let o=e(i),s=()=>a.addIssue({code:I.custom,...n(i)});return typeof Promise<"u"&&o instanceof Promise?o.then(c=>c?!0:(s(),!1)):o?!0:(s(),!1)})}refinement(e,r){return this._refinement((n,i)=>e(n)?!0:(i.addIssue(typeof r=="function"?r(n,i):r),!1))}_refinement(e){return new ir({schema:this,typeName:M.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,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:r=>this["~validate"](r)}}optional(){return nr.create(this,this._def)}nullable(){return qr.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return an.create(this)}promise(){return Mn.create(this,this._def)}or(e){return Ei.create([this,e],this._def)}and(e){return Ti.create(this,e,this._def)}transform(e){return new ir({...V(this._def),schema:this,typeName:M.ZodEffects,effect:{type:"transform",transform:e}})}default(e){let r=typeof e=="function"?e:()=>e;return new Di({...V(this._def),innerType:this,defaultValue:r,typeName:M.ZodDefault})}brand(){return new zc({typeName:M.ZodBranded,type:this,...V(this._def)})}catch(e){let r=typeof e=="function"?e:()=>e;return new Oi({...V(this._def),innerType:this,catchValue:r,typeName:M.ZodCatch})}describe(e){let r=this.constructor;return new r({...this._def,description:e})}pipe(e){return Rc.create(this,e)}readonly(){return Ni.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},Rj=/^c[^\s-]{8,}$/i,jj=/^[0-9a-z]+$/,Dj=/^[0-9A-HJKMNP-TV-Z]{26}$/i,Oj=/^[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,Nj=/^[a-z0-9_-]{21}$/i,Aj=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Mj=/^[-+]?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)?)??$/,Uj=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Fj="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",sf,qj=/^(?:(?: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])$/,Lj=/^(?:(?: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])$/,Zj=/^(([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]))$/,Hj=/^(([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])$/,Bj=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Vj=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,z_="((\\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])))",Wj=new RegExp(`^${z_}$`);function R_(t){let e="[0-5]\\d";t.precision?e=`${e}\\.\\d{${t.precision}}`:t.precision==null&&(e=`${e}(\\.\\d+)?`);let r=t.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${e})${r}`}function Jj(t){return new RegExp(`^${R_(t)}$`)}function Gj(t){let e=`${z_}T${R_(t)}`,r=[];return r.push(t.local?"Z?":"Z"),t.offset&&r.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${r.join("|")})`,new RegExp(`^${e}$`)}function Kj(t,e){return!!((e==="v4"||!e)&&qj.test(t)||(e==="v6"||!e)&&Zj.test(t))}function Xj(t,e){if(!Aj.test(t))return!1;try{let[r]=t.split(".");if(!r)return!1;let n=r.replace(/-/g,"+").replace(/_/g,"/").padEnd(r.length+(4-r.length%4)%4,"="),i=JSON.parse(atob(n));return!(typeof i!="object"||i===null||"typ"in i&&i?.typ!=="JWT"||!i.alg||e&&i.alg!==e)}catch{return!1}}function Yj(t,e){return!!((e==="v4"||!e)&&Lj.test(t)||(e==="v6"||!e)&&Hj.test(t))}var $i=class t extends Y{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==C.string){let a=this._getOrReturnCtx(e);return E(a,{code:I.invalid_type,expected:C.string,received:a.parsedType}),q}let n=new at,i;for(let a of this._def.checks)if(a.kind==="min")e.data.length<a.value&&(i=this._getOrReturnCtx(e,i),E(i,{code:I.too_small,minimum:a.value,type:"string",inclusive:!0,exact:!1,message:a.message}),n.dirty());else if(a.kind==="max")e.data.length>a.value&&(i=this._getOrReturnCtx(e,i),E(i,{code:I.too_big,maximum:a.value,type:"string",inclusive:!0,exact:!1,message:a.message}),n.dirty());else if(a.kind==="length"){let o=e.data.length>a.value,s=e.data.length<a.value;(o||s)&&(i=this._getOrReturnCtx(e,i),o?E(i,{code:I.too_big,maximum:a.value,type:"string",inclusive:!0,exact:!0,message:a.message}):s&&E(i,{code:I.too_small,minimum:a.value,type:"string",inclusive:!0,exact:!0,message:a.message}),n.dirty())}else if(a.kind==="email")Uj.test(e.data)||(i=this._getOrReturnCtx(e,i),E(i,{validation:"email",code:I.invalid_string,message:a.message}),n.dirty());else if(a.kind==="emoji")sf||(sf=new RegExp(Fj,"u")),sf.test(e.data)||(i=this._getOrReturnCtx(e,i),E(i,{validation:"emoji",code:I.invalid_string,message:a.message}),n.dirty());else if(a.kind==="uuid")Oj.test(e.data)||(i=this._getOrReturnCtx(e,i),E(i,{validation:"uuid",code:I.invalid_string,message:a.message}),n.dirty());else if(a.kind==="nanoid")Nj.test(e.data)||(i=this._getOrReturnCtx(e,i),E(i,{validation:"nanoid",code:I.invalid_string,message:a.message}),n.dirty());else if(a.kind==="cuid")Rj.test(e.data)||(i=this._getOrReturnCtx(e,i),E(i,{validation:"cuid",code:I.invalid_string,message:a.message}),n.dirty());else if(a.kind==="cuid2")jj.test(e.data)||(i=this._getOrReturnCtx(e,i),E(i,{validation:"cuid2",code:I.invalid_string,message:a.message}),n.dirty());else if(a.kind==="ulid")Dj.test(e.data)||(i=this._getOrReturnCtx(e,i),E(i,{validation:"ulid",code:I.invalid_string,message:a.message}),n.dirty());else if(a.kind==="url")try{new URL(e.data)}catch{i=this._getOrReturnCtx(e,i),E(i,{validation:"url",code:I.invalid_string,message:a.message}),n.dirty()}else a.kind==="regex"?(a.regex.lastIndex=0,a.regex.test(e.data)||(i=this._getOrReturnCtx(e,i),E(i,{validation:"regex",code:I.invalid_string,message:a.message}),n.dirty())):a.kind==="trim"?e.data=e.data.trim():a.kind==="includes"?e.data.includes(a.value,a.position)||(i=this._getOrReturnCtx(e,i),E(i,{code:I.invalid_string,validation:{includes:a.value,position:a.position},message:a.message}),n.dirty()):a.kind==="toLowerCase"?e.data=e.data.toLowerCase():a.kind==="toUpperCase"?e.data=e.data.toUpperCase():a.kind==="startsWith"?e.data.startsWith(a.value)||(i=this._getOrReturnCtx(e,i),E(i,{code:I.invalid_string,validation:{startsWith:a.value},message:a.message}),n.dirty()):a.kind==="endsWith"?e.data.endsWith(a.value)||(i=this._getOrReturnCtx(e,i),E(i,{code:I.invalid_string,validation:{endsWith:a.value},message:a.message}),n.dirty()):a.kind==="datetime"?Gj(a).test(e.data)||(i=this._getOrReturnCtx(e,i),E(i,{code:I.invalid_string,validation:"datetime",message:a.message}),n.dirty()):a.kind==="date"?Wj.test(e.data)||(i=this._getOrReturnCtx(e,i),E(i,{code:I.invalid_string,validation:"date",message:a.message}),n.dirty()):a.kind==="time"?Jj(a).test(e.data)||(i=this._getOrReturnCtx(e,i),E(i,{code:I.invalid_string,validation:"time",message:a.message}),n.dirty()):a.kind==="duration"?Mj.test(e.data)||(i=this._getOrReturnCtx(e,i),E(i,{validation:"duration",code:I.invalid_string,message:a.message}),n.dirty()):a.kind==="ip"?Kj(e.data,a.version)||(i=this._getOrReturnCtx(e,i),E(i,{validation:"ip",code:I.invalid_string,message:a.message}),n.dirty()):a.kind==="jwt"?Xj(e.data,a.alg)||(i=this._getOrReturnCtx(e,i),E(i,{validation:"jwt",code:I.invalid_string,message:a.message}),n.dirty()):a.kind==="cidr"?Yj(e.data,a.version)||(i=this._getOrReturnCtx(e,i),E(i,{validation:"cidr",code:I.invalid_string,message:a.message}),n.dirty()):a.kind==="base64"?Bj.test(e.data)||(i=this._getOrReturnCtx(e,i),E(i,{validation:"base64",code:I.invalid_string,message:a.message}),n.dirty()):a.kind==="base64url"?Vj.test(e.data)||(i=this._getOrReturnCtx(e,i),E(i,{validation:"base64url",code:I.invalid_string,message:a.message}),n.dirty()):ie.assertNever(a);return{status:n.value,value:e.data}}_regex(e,r,n){return this.refinement(i=>e.test(i),{validation:r,code:I.invalid_string,...R.errToObj(n)})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...R.errToObj(e)})}url(e){return this._addCheck({kind:"url",...R.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...R.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...R.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...R.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...R.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...R.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...R.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...R.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...R.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...R.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...R.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...R.errToObj(e)})}datetime(e){return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof e?.precision>"u"?null:e?.precision,offset:e?.offset??!1,local:e?.local??!1,...R.errToObj(e?.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof e?.precision>"u"?null:e?.precision,...R.errToObj(e?.message)})}duration(e){return this._addCheck({kind:"duration",...R.errToObj(e)})}regex(e,r){return this._addCheck({kind:"regex",regex:e,...R.errToObj(r)})}includes(e,r){return this._addCheck({kind:"includes",value:e,position:r?.position,...R.errToObj(r?.message)})}startsWith(e,r){return this._addCheck({kind:"startsWith",value:e,...R.errToObj(r)})}endsWith(e,r){return this._addCheck({kind:"endsWith",value:e,...R.errToObj(r)})}min(e,r){return this._addCheck({kind:"min",value:e,...R.errToObj(r)})}max(e,r){return this._addCheck({kind:"max",value:e,...R.errToObj(r)})}length(e,r){return this._addCheck({kind:"length",value:e,...R.errToObj(r)})}nonempty(e){return this.min(1,R.errToObj(e))}trim(){return new t({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isCIDR(){return!!this._def.checks.find(e=>e.kind==="cidr")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get isBase64url(){return!!this._def.checks.find(e=>e.kind==="base64url")}get minLength(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxLength(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e}};$i.create=t=>new $i({checks:[],typeName:M.ZodString,coerce:t?.coerce??!1,...V(t)});function Qj(t,e){let r=(t.toString().split(".")[1]||"").length,n=(e.toString().split(".")[1]||"").length,i=r>n?r:n,a=Number.parseInt(t.toFixed(i).replace(".","")),o=Number.parseInt(e.toFixed(i).replace(".",""));return a%o/10**i}var no=class t extends Y{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==C.number){let a=this._getOrReturnCtx(e);return E(a,{code:I.invalid_type,expected:C.number,received:a.parsedType}),q}let n,i=new at;for(let a of this._def.checks)a.kind==="int"?ie.isInteger(e.data)||(n=this._getOrReturnCtx(e,n),E(n,{code:I.invalid_type,expected:"integer",received:"float",message:a.message}),i.dirty()):a.kind==="min"?(a.inclusive?e.data<a.value:e.data<=a.value)&&(n=this._getOrReturnCtx(e,n),E(n,{code:I.too_small,minimum:a.value,type:"number",inclusive:a.inclusive,exact:!1,message:a.message}),i.dirty()):a.kind==="max"?(a.inclusive?e.data>a.value:e.data>=a.value)&&(n=this._getOrReturnCtx(e,n),E(n,{code:I.too_big,maximum:a.value,type:"number",inclusive:a.inclusive,exact:!1,message:a.message}),i.dirty()):a.kind==="multipleOf"?Qj(e.data,a.value)!==0&&(n=this._getOrReturnCtx(e,n),E(n,{code:I.not_multiple_of,multipleOf:a.value,message:a.message}),i.dirty()):a.kind==="finite"?Number.isFinite(e.data)||(n=this._getOrReturnCtx(e,n),E(n,{code:I.not_finite,message:a.message}),i.dirty()):ie.assertNever(a);return{status:i.value,value:e.data}}gte(e,r){return this.setLimit("min",e,!0,R.toString(r))}gt(e,r){return this.setLimit("min",e,!1,R.toString(r))}lte(e,r){return this.setLimit("max",e,!0,R.toString(r))}lt(e,r){return this.setLimit("max",e,!1,R.toString(r))}setLimit(e,r,n,i){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:R.toString(i)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:R.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:R.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:R.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:R.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:R.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:R.toString(r)})}finite(e){return this._addCheck({kind:"finite",message:R.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:R.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:R.toString(e)})}get minValue(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind==="int"||e.kind==="multipleOf"&&ie.isInteger(e.value))}get isFinite(){let e=null,r=null;for(let n of this._def.checks){if(n.kind==="finite"||n.kind==="int"||n.kind==="multipleOf")return!0;n.kind==="min"?(r===null||n.value>r)&&(r=n.value):n.kind==="max"&&(e===null||n.value<e)&&(e=n.value)}return Number.isFinite(r)&&Number.isFinite(e)}};no.create=t=>new no({checks:[],typeName:M.ZodNumber,coerce:t?.coerce||!1,...V(t)});var io=class t extends Y{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==C.bigint)return this._getInvalidInput(e);let n,i=new at;for(let a of this._def.checks)a.kind==="min"?(a.inclusive?e.data<a.value:e.data<=a.value)&&(n=this._getOrReturnCtx(e,n),E(n,{code:I.too_small,type:"bigint",minimum:a.value,inclusive:a.inclusive,message:a.message}),i.dirty()):a.kind==="max"?(a.inclusive?e.data>a.value:e.data>=a.value)&&(n=this._getOrReturnCtx(e,n),E(n,{code:I.too_big,type:"bigint",maximum:a.value,inclusive:a.inclusive,message:a.message}),i.dirty()):a.kind==="multipleOf"?e.data%a.value!==BigInt(0)&&(n=this._getOrReturnCtx(e,n),E(n,{code:I.not_multiple_of,multipleOf:a.value,message:a.message}),i.dirty()):ie.assertNever(a);return{status:i.value,value:e.data}}_getInvalidInput(e){let r=this._getOrReturnCtx(e);return E(r,{code:I.invalid_type,expected:C.bigint,received:r.parsedType}),q}gte(e,r){return this.setLimit("min",e,!0,R.toString(r))}gt(e,r){return this.setLimit("min",e,!1,R.toString(r))}lte(e,r){return this.setLimit("max",e,!0,R.toString(r))}lt(e,r){return this.setLimit("max",e,!1,R.toString(r))}setLimit(e,r,n,i){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:R.toString(i)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:R.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:R.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:R.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:R.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:R.toString(r)})}get minValue(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e}};io.create=t=>new io({checks:[],typeName:M.ZodBigInt,coerce:t?.coerce??!1,...V(t)});var ao=class extends Y{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==C.boolean){let n=this._getOrReturnCtx(e);return E(n,{code:I.invalid_type,expected:C.boolean,received:n.parsedType}),q}return pt(e.data)}};ao.create=t=>new ao({typeName:M.ZodBoolean,coerce:t?.coerce||!1,...V(t)});var oo=class t extends Y{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==C.date){let a=this._getOrReturnCtx(e);return E(a,{code:I.invalid_type,expected:C.date,received:a.parsedType}),q}if(Number.isNaN(e.data.getTime())){let a=this._getOrReturnCtx(e);return E(a,{code:I.invalid_date}),q}let n=new at,i;for(let a of this._def.checks)a.kind==="min"?e.data.getTime()<a.value&&(i=this._getOrReturnCtx(e,i),E(i,{code:I.too_small,message:a.message,inclusive:!0,exact:!1,minimum:a.value,type:"date"}),n.dirty()):a.kind==="max"?e.data.getTime()>a.value&&(i=this._getOrReturnCtx(e,i),E(i,{code:I.too_big,message:a.message,inclusive:!0,exact:!1,maximum:a.value,type:"date"}),n.dirty()):ie.assertNever(a);return{status:n.value,value:new Date(e.data.getTime())}}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}min(e,r){return this._addCheck({kind:"min",value:e.getTime(),message:R.toString(r)})}max(e,r){return this._addCheck({kind:"max",value:e.getTime(),message:R.toString(r)})}get minDate(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e!=null?new Date(e):null}};oo.create=t=>new oo({checks:[],coerce:t?.coerce||!1,typeName:M.ZodDate,...V(t)});var so=class extends Y{_parse(e){if(this._getType(e)!==C.symbol){let n=this._getOrReturnCtx(e);return E(n,{code:I.invalid_type,expected:C.symbol,received:n.parsedType}),q}return pt(e.data)}};so.create=t=>new so({typeName:M.ZodSymbol,...V(t)});var Ii=class extends Y{_parse(e){if(this._getType(e)!==C.undefined){let n=this._getOrReturnCtx(e);return E(n,{code:I.invalid_type,expected:C.undefined,received:n.parsedType}),q}return pt(e.data)}};Ii.create=t=>new Ii({typeName:M.ZodUndefined,...V(t)});var Pi=class extends Y{_parse(e){if(this._getType(e)!==C.null){let n=this._getOrReturnCtx(e);return E(n,{code:I.invalid_type,expected:C.null,received:n.parsedType}),q}return pt(e.data)}};Pi.create=t=>new Pi({typeName:M.ZodNull,...V(t)});var co=class extends Y{constructor(){super(...arguments),this._any=!0}_parse(e){return pt(e.data)}};co.create=t=>new co({typeName:M.ZodAny,...V(t)});var nn=class extends Y{constructor(){super(...arguments),this._unknown=!0}_parse(e){return pt(e.data)}};nn.create=t=>new nn({typeName:M.ZodUnknown,...V(t)});var vr=class extends Y{_parse(e){let r=this._getOrReturnCtx(e);return E(r,{code:I.invalid_type,expected:C.never,received:r.parsedType}),q}};vr.create=t=>new vr({typeName:M.ZodNever,...V(t)});var lo=class extends Y{_parse(e){if(this._getType(e)!==C.undefined){let n=this._getOrReturnCtx(e);return E(n,{code:I.invalid_type,expected:C.void,received:n.parsedType}),q}return pt(e.data)}};lo.create=t=>new lo({typeName:M.ZodVoid,...V(t)});var an=class t extends Y{_parse(e){let{ctx:r,status:n}=this._processInputParams(e),i=this._def;if(r.parsedType!==C.array)return E(r,{code:I.invalid_type,expected:C.array,received:r.parsedType}),q;if(i.exactLength!==null){let o=r.data.length>i.exactLength.value,s=r.data.length<i.exactLength.value;(o||s)&&(E(r,{code:o?I.too_big:I.too_small,minimum:s?i.exactLength.value:void 0,maximum:o?i.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:i.exactLength.message}),n.dirty())}if(i.minLength!==null&&r.data.length<i.minLength.value&&(E(r,{code:I.too_small,minimum:i.minLength.value,type:"array",inclusive:!0,exact:!1,message:i.minLength.message}),n.dirty()),i.maxLength!==null&&r.data.length>i.maxLength.value&&(E(r,{code:I.too_big,maximum:i.maxLength.value,type:"array",inclusive:!0,exact:!1,message:i.maxLength.message}),n.dirty()),r.common.async)return Promise.all([...r.data].map((o,s)=>i.type._parseAsync(new Zt(r,o,r.path,s)))).then(o=>at.mergeArray(n,o));let a=[...r.data].map((o,s)=>i.type._parseSync(new Zt(r,o,r.path,s)));return at.mergeArray(n,a)}get element(){return this._def.type}min(e,r){return new t({...this._def,minLength:{value:e,message:R.toString(r)}})}max(e,r){return new t({...this._def,maxLength:{value:e,message:R.toString(r)}})}length(e,r){return new t({...this._def,exactLength:{value:e,message:R.toString(r)}})}nonempty(e){return this.min(1,e)}};an.create=(t,e)=>new an({type:t,minLength:null,maxLength:null,exactLength:null,typeName:M.ZodArray,...V(e)});function ki(t){if(t instanceof Ot){let e={};for(let r in t.shape){let n=t.shape[r];e[r]=nr.create(ki(n))}return new Ot({...t._def,shape:()=>e})}else return t instanceof an?new an({...t._def,type:ki(t.element)}):t instanceof nr?nr.create(ki(t.unwrap())):t instanceof qr?qr.create(ki(t.unwrap())):t instanceof Fr?Fr.create(t.items.map(e=>ki(e))):t}var Ot=class t extends Y{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let e=this._def.shape(),r=ie.objectKeys(e);return this._cached={shape:e,keys:r},this._cached}_parse(e){if(this._getType(e)!==C.object){let l=this._getOrReturnCtx(e);return E(l,{code:I.invalid_type,expected:C.object,received:l.parsedType}),q}let{status:n,ctx:i}=this._processInputParams(e),{shape:a,keys:o}=this._getCached(),s=[];if(!(this._def.catchall instanceof vr&&this._def.unknownKeys==="strip"))for(let l in i.data)o.includes(l)||s.push(l);let c=[];for(let l of o){let u=a[l],p=i.data[l];c.push({key:{status:"valid",value:l},value:u._parse(new Zt(i,p,i.path,l)),alwaysSet:l in i.data})}if(this._def.catchall instanceof vr){let l=this._def.unknownKeys;if(l==="passthrough")for(let u of s)c.push({key:{status:"valid",value:u},value:{status:"valid",value:i.data[u]}});else if(l==="strict")s.length>0&&(E(i,{code:I.unrecognized_keys,keys:s}),n.dirty());else if(l!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let l=this._def.catchall;for(let u of s){let p=i.data[u];c.push({key:{status:"valid",value:u},value:l._parse(new Zt(i,p,i.path,u)),alwaysSet:u in i.data})}}return i.common.async?Promise.resolve().then(async()=>{let l=[];for(let u of c){let p=await u.key,d=await u.value;l.push({key:p,value:d,alwaysSet:u.alwaysSet})}return l}).then(l=>at.mergeObjectSync(n,l)):at.mergeObjectSync(n,c)}get shape(){return this._def.shape()}strict(e){return R.errToObj,new t({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(r,n)=>{let i=this._def.errorMap?.(r,n).message??n.defaultError;return r.code==="unrecognized_keys"?{message:R.errToObj(e).message??i}:{message:i}}}:{}})}strip(){return new t({...this._def,unknownKeys:"strip"})}passthrough(){return new t({...this._def,unknownKeys:"passthrough"})}extend(e){return new t({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new t({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:M.ZodObject})}setKey(e,r){return this.augment({[e]:r})}catchall(e){return new t({...this._def,catchall:e})}pick(e){let r={};for(let n of ie.objectKeys(e))e[n]&&this.shape[n]&&(r[n]=this.shape[n]);return new t({...this._def,shape:()=>r})}omit(e){let r={};for(let n of ie.objectKeys(this.shape))e[n]||(r[n]=this.shape[n]);return new t({...this._def,shape:()=>r})}deepPartial(){return ki(this)}partial(e){let r={};for(let n of ie.objectKeys(this.shape)){let i=this.shape[n];e&&!e[n]?r[n]=i:r[n]=i.optional()}return new t({...this._def,shape:()=>r})}required(e){let r={};for(let n of ie.objectKeys(this.shape))if(e&&!e[n])r[n]=this.shape[n];else{let a=this.shape[n];for(;a instanceof nr;)a=a._def.innerType;r[n]=a}return new t({...this._def,shape:()=>r})}keyof(){return j_(ie.objectKeys(this.shape))}};Ot.create=(t,e)=>new Ot({shape:()=>t,unknownKeys:"strip",catchall:vr.create(),typeName:M.ZodObject,...V(e)});Ot.strictCreate=(t,e)=>new Ot({shape:()=>t,unknownKeys:"strict",catchall:vr.create(),typeName:M.ZodObject,...V(e)});Ot.lazycreate=(t,e)=>new Ot({shape:t,unknownKeys:"strip",catchall:vr.create(),typeName:M.ZodObject,...V(e)});var Ei=class extends Y{_parse(e){let{ctx:r}=this._processInputParams(e),n=this._def.options;function i(a){for(let s of a)if(s.result.status==="valid")return s.result;for(let s of a)if(s.result.status==="dirty")return r.common.issues.push(...s.ctx.common.issues),s.result;let o=a.map(s=>new Dt(s.ctx.common.issues));return E(r,{code:I.invalid_union,unionErrors:o}),q}if(r.common.async)return Promise.all(n.map(async a=>{let o={...r,common:{...r.common,issues:[]},parent:null};return{result:await a._parseAsync({data:r.data,path:r.path,parent:o}),ctx:o}})).then(i);{let a,o=[];for(let c of n){let l={...r,common:{...r.common,issues:[]},parent:null},u=c._parseSync({data:r.data,path:r.path,parent:l});if(u.status==="valid")return u;u.status==="dirty"&&!a&&(a={result:u,ctx:l}),l.common.issues.length&&o.push(l.common.issues)}if(a)return r.common.issues.push(...a.ctx.common.issues),a.result;let s=o.map(c=>new Dt(c));return E(r,{code:I.invalid_union,unionErrors:s}),q}}get options(){return this._def.options}};Ei.create=(t,e)=>new Ei({options:t,typeName:M.ZodUnion,...V(e)});var Ur=t=>t instanceof Ci?Ur(t.schema):t instanceof ir?Ur(t.innerType()):t instanceof zi?[t.value]:t instanceof Ri?t.options:t instanceof ji?ie.objectValues(t.enum):t instanceof Di?Ur(t._def.innerType):t instanceof Ii?[void 0]:t instanceof Pi?[null]:t instanceof nr?[void 0,...Ur(t.unwrap())]:t instanceof qr?[null,...Ur(t.unwrap())]:t instanceof zc||t instanceof Ni?Ur(t.unwrap()):t instanceof Oi?Ur(t._def.innerType):[],cf=class t extends Y{_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==C.object)return E(r,{code:I.invalid_type,expected:C.object,received:r.parsedType}),q;let n=this.discriminator,i=r.data[n],a=this.optionsMap.get(i);return a?r.common.async?a._parseAsync({data:r.data,path:r.path,parent:r}):a._parseSync({data:r.data,path:r.path,parent:r}):(E(r,{code:I.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),q)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,r,n){let i=new Map;for(let a of r){let o=Ur(a.shape[e]);if(!o.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(let s of o){if(i.has(s))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(s)}`);i.set(s,a)}}return new t({typeName:M.ZodDiscriminatedUnion,discriminator:e,options:r,optionsMap:i,...V(n)})}};function lf(t,e){let r=Mr(t),n=Mr(e);if(t===e)return{valid:!0,data:t};if(r===C.object&&n===C.object){let i=ie.objectKeys(e),a=ie.objectKeys(t).filter(s=>i.indexOf(s)!==-1),o={...t,...e};for(let s of a){let c=lf(t[s],e[s]);if(!c.valid)return{valid:!1};o[s]=c.data}return{valid:!0,data:o}}else if(r===C.array&&n===C.array){if(t.length!==e.length)return{valid:!1};let i=[];for(let a=0;a<t.length;a++){let o=t[a],s=e[a],c=lf(o,s);if(!c.valid)return{valid:!1};i.push(c.data)}return{valid:!0,data:i}}else return r===C.date&&n===C.date&&+t==+e?{valid:!0,data:t}:{valid:!1}}var Ti=class extends Y{_parse(e){let{status:r,ctx:n}=this._processInputParams(e),i=(a,o)=>{if(af(a)||af(o))return q;let s=lf(a.value,o.value);return s.valid?((of(a)||of(o))&&r.dirty(),{status:r.value,value:s.data}):(E(n,{code:I.invalid_intersection_types}),q)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([a,o])=>i(a,o)):i(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}};Ti.create=(t,e,r)=>new Ti({left:t,right:e,typeName:M.ZodIntersection,...V(r)});var Fr=class t extends Y{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==C.array)return E(n,{code:I.invalid_type,expected:C.array,received:n.parsedType}),q;if(n.data.length<this._def.items.length)return E(n,{code:I.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),q;!this._def.rest&&n.data.length>this._def.items.length&&(E(n,{code:I.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),r.dirty());let a=[...n.data].map((o,s)=>{let c=this._def.items[s]||this._def.rest;return c?c._parse(new Zt(n,o,n.path,s)):null}).filter(o=>!!o);return n.common.async?Promise.all(a).then(o=>at.mergeArray(r,o)):at.mergeArray(r,a)}get items(){return this._def.items}rest(e){return new t({...this._def,rest:e})}};Fr.create=(t,e)=>{if(!Array.isArray(t))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Fr({items:t,typeName:M.ZodTuple,rest:null,...V(e)})};var uf=class t extends Y{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==C.object)return E(n,{code:I.invalid_type,expected:C.object,received:n.parsedType}),q;let i=[],a=this._def.keyType,o=this._def.valueType;for(let s in n.data)i.push({key:a._parse(new Zt(n,s,n.path,s)),value:o._parse(new Zt(n,n.data[s],n.path,s)),alwaysSet:s in n.data});return n.common.async?at.mergeObjectAsync(r,i):at.mergeObjectSync(r,i)}get element(){return this._def.valueType}static create(e,r,n){return r instanceof Y?new t({keyType:e,valueType:r,typeName:M.ZodRecord,...V(n)}):new t({keyType:$i.create(),valueType:e,typeName:M.ZodRecord,...V(r)})}},uo=class extends Y{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==C.map)return E(n,{code:I.invalid_type,expected:C.map,received:n.parsedType}),q;let i=this._def.keyType,a=this._def.valueType,o=[...n.data.entries()].map(([s,c],l)=>({key:i._parse(new Zt(n,s,n.path,[l,"key"])),value:a._parse(new Zt(n,c,n.path,[l,"value"]))}));if(n.common.async){let s=new Map;return Promise.resolve().then(async()=>{for(let c of o){let l=await c.key,u=await c.value;if(l.status==="aborted"||u.status==="aborted")return q;(l.status==="dirty"||u.status==="dirty")&&r.dirty(),s.set(l.value,u.value)}return{status:r.value,value:s}})}else{let s=new Map;for(let c of o){let l=c.key,u=c.value;if(l.status==="aborted"||u.status==="aborted")return q;(l.status==="dirty"||u.status==="dirty")&&r.dirty(),s.set(l.value,u.value)}return{status:r.value,value:s}}}};uo.create=(t,e,r)=>new uo({valueType:e,keyType:t,typeName:M.ZodMap,...V(r)});var po=class t extends Y{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==C.set)return E(n,{code:I.invalid_type,expected:C.set,received:n.parsedType}),q;let i=this._def;i.minSize!==null&&n.data.size<i.minSize.value&&(E(n,{code:I.too_small,minimum:i.minSize.value,type:"set",inclusive:!0,exact:!1,message:i.minSize.message}),r.dirty()),i.maxSize!==null&&n.data.size>i.maxSize.value&&(E(n,{code:I.too_big,maximum:i.maxSize.value,type:"set",inclusive:!0,exact:!1,message:i.maxSize.message}),r.dirty());let a=this._def.valueType;function o(c){let l=new Set;for(let u of c){if(u.status==="aborted")return q;u.status==="dirty"&&r.dirty(),l.add(u.value)}return{status:r.value,value:l}}let s=[...n.data.values()].map((c,l)=>a._parse(new Zt(n,c,n.path,l)));return n.common.async?Promise.all(s).then(c=>o(c)):o(s)}min(e,r){return new t({...this._def,minSize:{value:e,message:R.toString(r)}})}max(e,r){return new t({...this._def,maxSize:{value:e,message:R.toString(r)}})}size(e,r){return this.min(e,r).max(e,r)}nonempty(e){return this.min(1,e)}};po.create=(t,e)=>new po({valueType:t,minSize:null,maxSize:null,typeName:M.ZodSet,...V(e)});var pf=class t extends Y{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==C.function)return E(r,{code:I.invalid_type,expected:C.function,received:r.parsedType}),q;function n(s,c){return Cc({data:s,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,to(),rn].filter(l=>!!l),issueData:{code:I.invalid_arguments,argumentsError:c}})}function i(s,c){return Cc({data:s,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,to(),rn].filter(l=>!!l),issueData:{code:I.invalid_return_type,returnTypeError:c}})}let a={errorMap:r.common.contextualErrorMap},o=r.data;if(this._def.returns instanceof Mn){let s=this;return pt(async function(...c){let l=new Dt([]),u=await s._def.args.parseAsync(c,a).catch(f=>{throw l.addIssue(n(c,f)),l}),p=await Reflect.apply(o,this,u);return await s._def.returns._def.type.parseAsync(p,a).catch(f=>{throw l.addIssue(i(p,f)),l})})}else{let s=this;return pt(function(...c){let l=s._def.args.safeParse(c,a);if(!l.success)throw new Dt([n(c,l.error)]);let u=Reflect.apply(o,this,l.data),p=s._def.returns.safeParse(u,a);if(!p.success)throw new Dt([i(u,p.error)]);return p.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new t({...this._def,args:Fr.create(e).rest(nn.create())})}returns(e){return new t({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,r,n){return new t({args:e||Fr.create([]).rest(nn.create()),returns:r||nn.create(),typeName:M.ZodFunction,...V(n)})}},Ci=class extends Y{get schema(){return this._def.getter()}_parse(e){let{ctx:r}=this._processInputParams(e);return this._def.getter()._parse({data:r.data,path:r.path,parent:r})}};Ci.create=(t,e)=>new Ci({getter:t,typeName:M.ZodLazy,...V(e)});var zi=class extends Y{_parse(e){if(e.data!==this._def.value){let r=this._getOrReturnCtx(e);return E(r,{received:r.data,code:I.invalid_literal,expected:this._def.value}),q}return{status:"valid",value:e.data}}get value(){return this._def.value}};zi.create=(t,e)=>new zi({value:t,typeName:M.ZodLiteral,...V(e)});function j_(t,e){return new Ri({values:t,typeName:M.ZodEnum,...V(e)})}var Ri=class t extends Y{_parse(e){if(typeof e.data!="string"){let r=this._getOrReturnCtx(e),n=this._def.values;return E(r,{expected:ie.joinValues(n),received:r.parsedType,code:I.invalid_type}),q}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(e.data)){let r=this._getOrReturnCtx(e),n=this._def.values;return E(r,{received:r.data,code:I.invalid_enum_value,options:n}),q}return pt(e.data)}get options(){return this._def.values}get enum(){let e={};for(let r of this._def.values)e[r]=r;return e}get Values(){let e={};for(let r of this._def.values)e[r]=r;return e}get Enum(){let e={};for(let r of this._def.values)e[r]=r;return e}extract(e,r=this._def){return t.create(e,{...this._def,...r})}exclude(e,r=this._def){return t.create(this.options.filter(n=>!e.includes(n)),{...this._def,...r})}};Ri.create=j_;var ji=class extends Y{_parse(e){let r=ie.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==C.string&&n.parsedType!==C.number){let i=ie.objectValues(r);return E(n,{expected:ie.joinValues(i),received:n.parsedType,code:I.invalid_type}),q}if(this._cache||(this._cache=new Set(ie.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){let i=ie.objectValues(r);return E(n,{received:n.data,code:I.invalid_enum_value,options:i}),q}return pt(e.data)}get enum(){return this._def.values}};ji.create=(t,e)=>new ji({values:t,typeName:M.ZodNativeEnum,...V(e)});var Mn=class extends Y{unwrap(){return this._def.type}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==C.promise&&r.common.async===!1)return E(r,{code:I.invalid_type,expected:C.promise,received:r.parsedType}),q;let n=r.parsedType===C.promise?r.data:Promise.resolve(r.data);return pt(n.then(i=>this._def.type.parseAsync(i,{path:r.path,errorMap:r.common.contextualErrorMap})))}};Mn.create=(t,e)=>new Mn({type:t,typeName:M.ZodPromise,...V(e)});var ir=class extends Y{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===M.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:r,ctx:n}=this._processInputParams(e),i=this._def.effect||null,a={addIssue:o=>{E(n,o),o.fatal?r.abort():r.dirty()},get path(){return n.path}};if(a.addIssue=a.addIssue.bind(a),i.type==="preprocess"){let o=i.transform(n.data,a);if(n.common.async)return Promise.resolve(o).then(async s=>{if(r.value==="aborted")return q;let c=await this._def.schema._parseAsync({data:s,path:n.path,parent:n});return c.status==="aborted"?q:c.status==="dirty"?Si(c.value):r.value==="dirty"?Si(c.value):c});{if(r.value==="aborted")return q;let s=this._def.schema._parseSync({data:o,path:n.path,parent:n});return s.status==="aborted"?q:s.status==="dirty"?Si(s.value):r.value==="dirty"?Si(s.value):s}}if(i.type==="refinement"){let o=s=>{let c=i.refinement(s,a);if(n.common.async)return Promise.resolve(c);if(c instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return s};if(n.common.async===!1){let s=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return s.status==="aborted"?q:(s.status==="dirty"&&r.dirty(),o(s.value),{status:r.value,value:s.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(s=>s.status==="aborted"?q:(s.status==="dirty"&&r.dirty(),o(s.value).then(()=>({status:r.value,value:s.value}))))}if(i.type==="transform")if(n.common.async===!1){let o=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!An(o))return q;let s=i.transform(o.value,a);if(s instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:r.value,value:s}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(o=>An(o)?Promise.resolve(i.transform(o.value,a)).then(s=>({status:r.value,value:s})):q);ie.assertNever(i)}};ir.create=(t,e,r)=>new ir({schema:t,typeName:M.ZodEffects,effect:e,...V(r)});ir.createWithPreprocess=(t,e,r)=>new ir({schema:e,effect:{type:"preprocess",transform:t},typeName:M.ZodEffects,...V(r)});var nr=class extends Y{_parse(e){return this._getType(e)===C.undefined?pt(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};nr.create=(t,e)=>new nr({innerType:t,typeName:M.ZodOptional,...V(e)});var qr=class extends Y{_parse(e){return this._getType(e)===C.null?pt(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};qr.create=(t,e)=>new qr({innerType:t,typeName:M.ZodNullable,...V(e)});var Di=class extends Y{_parse(e){let{ctx:r}=this._processInputParams(e),n=r.data;return r.parsedType===C.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:r.path,parent:r})}removeDefault(){return this._def.innerType}};Di.create=(t,e)=>new Di({innerType:t,typeName:M.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...V(e)});var Oi=class extends Y{_parse(e){let{ctx:r}=this._processInputParams(e),n={...r,common:{...r.common,issues:[]}},i=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return ro(i)?i.then(a=>({status:"valid",value:a.status==="valid"?a.value:this._def.catchValue({get error(){return new Dt(n.common.issues)},input:n.data})})):{status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new Dt(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};Oi.create=(t,e)=>new Oi({innerType:t,typeName:M.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...V(e)});var fo=class extends Y{_parse(e){if(this._getType(e)!==C.nan){let n=this._getOrReturnCtx(e);return E(n,{code:I.invalid_type,expected:C.nan,received:n.parsedType}),q}return{status:"valid",value:e.data}}};fo.create=t=>new fo({typeName:M.ZodNaN,...V(t)});var PG=Symbol("zod_brand"),zc=class extends Y{_parse(e){let{ctx:r}=this._processInputParams(e),n=r.data;return this._def.type._parse({data:n,path:r.path,parent:r})}unwrap(){return this._def.type}},Rc=class t extends Y{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.common.async)return(async()=>{let a=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return a.status==="aborted"?q:a.status==="dirty"?(r.dirty(),Si(a.value)):this._def.out._parseAsync({data:a.value,path:n.path,parent:n})})();{let i=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return i.status==="aborted"?q:i.status==="dirty"?(r.dirty(),{status:"dirty",value:i.value}):this._def.out._parseSync({data:i.value,path:n.path,parent:n})}}static create(e,r){return new t({in:e,out:r,typeName:M.ZodPipeline})}},Ni=class extends Y{_parse(e){let r=this._def.innerType._parse(e),n=i=>(An(i)&&(i.value=Object.freeze(i.value)),i);return ro(r)?r.then(i=>n(i)):n(r)}unwrap(){return this._def.innerType}};Ni.create=(t,e)=>new Ni({innerType:t,typeName:M.ZodReadonly,...V(e)});var EG={object:Ot.lazycreate},M;(function(t){t.ZodString="ZodString",t.ZodNumber="ZodNumber",t.ZodNaN="ZodNaN",t.ZodBigInt="ZodBigInt",t.ZodBoolean="ZodBoolean",t.ZodDate="ZodDate",t.ZodSymbol="ZodSymbol",t.ZodUndefined="ZodUndefined",t.ZodNull="ZodNull",t.ZodAny="ZodAny",t.ZodUnknown="ZodUnknown",t.ZodNever="ZodNever",t.ZodVoid="ZodVoid",t.ZodArray="ZodArray",t.ZodObject="ZodObject",t.ZodUnion="ZodUnion",t.ZodDiscriminatedUnion="ZodDiscriminatedUnion",t.ZodIntersection="ZodIntersection",t.ZodTuple="ZodTuple",t.ZodRecord="ZodRecord",t.ZodMap="ZodMap",t.ZodSet="ZodSet",t.ZodFunction="ZodFunction",t.ZodLazy="ZodLazy",t.ZodLiteral="ZodLiteral",t.ZodEnum="ZodEnum",t.ZodEffects="ZodEffects",t.ZodNativeEnum="ZodNativeEnum",t.ZodOptional="ZodOptional",t.ZodNullable="ZodNullable",t.ZodDefault="ZodDefault",t.ZodCatch="ZodCatch",t.ZodPromise="ZodPromise",t.ZodBranded="ZodBranded",t.ZodPipeline="ZodPipeline",t.ZodReadonly="ZodReadonly"})(M||(M={}));var TG=$i.create,CG=no.create,zG=fo.create,RG=io.create,jG=ao.create,DG=oo.create,OG=so.create,NG=Ii.create,AG=Pi.create,MG=co.create,UG=nn.create,FG=vr.create,qG=lo.create,LG=an.create,eD=Ot.create,ZG=Ot.strictCreate,HG=Ei.create,BG=cf.create,VG=Ti.create,WG=Fr.create,JG=uf.create,GG=uo.create,KG=po.create,XG=pf.create,YG=Ci.create,QG=zi.create,eK=Ri.create,tK=ji.create,rK=Mn.create,nK=ir.create,iK=nr.create,aK=qr.create,oK=ir.createWithPreprocess,sK=Rc.create;var D_=Object.freeze({status:"aborted"});function x(t,e,r){function n(s,c){if(s._zod||Object.defineProperty(s,"_zod",{value:{def:c,constr:o,traits:new Set},enumerable:!1}),s._zod.traits.has(t))return;s._zod.traits.add(t),e(s,c);let l=o.prototype,u=Object.keys(l);for(let p=0;p<u.length;p++){let d=u[p];d in s||(s[d]=l[d].bind(s))}}let i=r?.Parent??Object;class a extends i{}Object.defineProperty(a,"name",{value:t});function o(s){var c;let l=r?.Parent?new a:this;n(l,s),(c=l._zod).deferred??(c.deferred=[]);for(let u of l._zod.deferred)u();return l}return Object.defineProperty(o,"init",{value:n}),Object.defineProperty(o,Symbol.hasInstance,{value:s=>r?.Parent&&s instanceof r.Parent?!0:s?._zod?.traits?.has(t)}),Object.defineProperty(o,"name",{value:t}),o}var df=Symbol("zod_brand"),yr=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},Un=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name="ZodEncodeError"}},jc={};function Be(t){return t&&Object.assign(jc,t),jc}var P={};Qa(P,{BIGINT_FORMAT_RANGES:()=>wf,Class:()=>mf,NUMBER_FORMAT_RANGES:()=>_f,aborted:()=>ln,allowsEval:()=>vf,assert:()=>sD,assertEqual:()=>nD,assertIs:()=>aD,assertNever:()=>oD,assertNotEqual:()=>iD,assignProp:()=>sn,base64ToUint8Array:()=>L_,base64urlToUint8Array:()=>yD,cached:()=>Mi,captureStackTrace:()=>Oc,cleanEnum:()=>vD,cleanRegex:()=>go,clone:()=>dt,cloneDef:()=>lD,createTransparentProxy:()=>hD,defineLazy:()=>W,esc:()=>Dc,escapeRegex:()=>Ht,extend:()=>M_,finalizeIssue:()=>St,floatSafeRemainder:()=>hf,getElementAtPath:()=>uD,getEnumValues:()=>ho,getLengthableOrigin:()=>xo,getParsedType:()=>mD,getSizableOrigin:()=>yo,hexToUint8Array:()=>bD,isObject:()=>Fn,isPlainObject:()=>cn,issue:()=>Ui,joinValues:()=>U,jsonStringifyReplacer:()=>Ai,merge:()=>gD,mergeDefs:()=>Lr,normalizeParams:()=>T,nullish:()=>on,numKeys:()=>fD,objectClone:()=>cD,omit:()=>A_,optionalKeys:()=>bf,parsedType:()=>L,partial:()=>F_,pick:()=>N_,prefixIssues:()=>Nt,primitiveTypes:()=>xf,promiseAllObject:()=>pD,propertyKeyTypes:()=>vo,randomString:()=>dD,required:()=>q_,safeExtend:()=>U_,shallowClone:()=>yf,slugify:()=>gf,stringifyPrimitive:()=>F,uint8ArrayToBase64:()=>Z_,uint8ArrayToBase64url:()=>xD,uint8ArrayToHex:()=>_D,unwrapMessage:()=>mo});function nD(t){return t}function iD(t){return t}function aD(t){}function oD(t){throw new Error("Unexpected value in exhaustive check")}function sD(t){}function ho(t){let e=Object.values(t).filter(n=>typeof n=="number");return Object.entries(t).filter(([n,i])=>e.indexOf(+n)===-1).map(([n,i])=>i)}function U(t,e="|"){return t.map(r=>F(r)).join(e)}function Ai(t,e){return typeof e=="bigint"?e.toString():e}function Mi(t){return{get value(){{let r=t();return Object.defineProperty(this,"value",{value:r}),r}throw new Error("cached value already set")}}}function on(t){return t==null}function go(t){let e=t.startsWith("^")?1:0,r=t.endsWith("$")?t.length-1:t.length;return t.slice(e,r)}function hf(t,e){let r=(t.toString().split(".")[1]||"").length,n=e.toString(),i=(n.split(".")[1]||"").length;if(i===0&&/\d?e-\d?/.test(n)){let c=n.match(/\d?e-(\d?)/);c?.[1]&&(i=Number.parseInt(c[1]))}let a=r>i?r:i,o=Number.parseInt(t.toFixed(a).replace(".","")),s=Number.parseInt(e.toFixed(a).replace(".",""));return o%s/10**a}var O_=Symbol("evaluating");function W(t,e,r){let n;Object.defineProperty(t,e,{get(){if(n!==O_)return n===void 0&&(n=O_,n=r()),n},set(i){Object.defineProperty(t,e,{value:i})},configurable:!0})}function cD(t){return Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t))}function sn(t,e,r){Object.defineProperty(t,e,{value:r,writable:!0,enumerable:!0,configurable:!0})}function Lr(...t){let e={};for(let r of t){let n=Object.getOwnPropertyDescriptors(r);Object.assign(e,n)}return Object.defineProperties({},e)}function lD(t){return Lr(t._zod.def)}function uD(t,e){return e?e.reduce((r,n)=>r?.[n],t):t}function pD(t){let e=Object.keys(t),r=e.map(n=>t[n]);return Promise.all(r).then(n=>{let i={};for(let a=0;a<e.length;a++)i[e[a]]=n[a];return i})}function dD(t=10){let e="abcdefghijklmnopqrstuvwxyz",r="";for(let n=0;n<t;n++)r+=e[Math.floor(Math.random()*e.length)];return r}function Dc(t){return JSON.stringify(t)}function gf(t){return t.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}var Oc="captureStackTrace"in Error?Error.captureStackTrace:(...t)=>{};function Fn(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}var vf=Mi(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let t=Function;return new t(""),!0}catch{return!1}});function cn(t){if(Fn(t)===!1)return!1;let e=t.constructor;if(e===void 0||typeof e!="function")return!0;let r=e.prototype;return!(Fn(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function yf(t){return cn(t)?{...t}:Array.isArray(t)?[...t]:t}function fD(t){let e=0;for(let r in t)Object.prototype.hasOwnProperty.call(t,r)&&e++;return e}var mD=t=>{let e=typeof t;switch(e){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(t)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":return Array.isArray(t)?"array":t===null?"null":t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?"promise":typeof Map<"u"&&t instanceof Map?"map":typeof Set<"u"&&t instanceof Set?"set":typeof Date<"u"&&t instanceof Date?"date":typeof File<"u"&&t instanceof File?"file":"object";default:throw new Error(`Unknown data type: ${e}`)}},vo=new Set(["string","number","symbol"]),xf=new Set(["string","number","bigint","boolean","symbol","undefined"]);function Ht(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function dt(t,e,r){let n=new t._zod.constr(e??t._zod.def);return(!e||r?.parent)&&(n._zod.parent=t),n}function T(t){let e=t;if(!e)return{};if(typeof e=="string")return{error:()=>e};if(e?.message!==void 0){if(e?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");e.error=e.message}return delete e.message,typeof e.error=="string"?{...e,error:()=>e.error}:e}function hD(t){let e;return new Proxy({},{get(r,n,i){return e??(e=t()),Reflect.get(e,n,i)},set(r,n,i,a){return e??(e=t()),Reflect.set(e,n,i,a)},has(r,n){return e??(e=t()),Reflect.has(e,n)},deleteProperty(r,n){return e??(e=t()),Reflect.deleteProperty(e,n)},ownKeys(r){return e??(e=t()),Reflect.ownKeys(e)},getOwnPropertyDescriptor(r,n){return e??(e=t()),Reflect.getOwnPropertyDescriptor(e,n)},defineProperty(r,n,i){return e??(e=t()),Reflect.defineProperty(e,n,i)}})}function F(t){return typeof t=="bigint"?t.toString()+"n":typeof t=="string"?`"${t}"`:`${t}`}function bf(t){return Object.keys(t).filter(e=>t[e]._zod.optin==="optional"&&t[e]._zod.optout==="optional")}var _f={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},wf={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function N_(t,e){let r=t._zod.def,n=r.checks;if(n&&n.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");let a=Lr(t._zod.def,{get shape(){let o={};for(let s in e){if(!(s in r.shape))throw new Error(`Unrecognized key: "${s}"`);e[s]&&(o[s]=r.shape[s])}return sn(this,"shape",o),o},checks:[]});return dt(t,a)}function A_(t,e){let r=t._zod.def,n=r.checks;if(n&&n.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");let a=Lr(t._zod.def,{get shape(){let o={...t._zod.def.shape};for(let s in e){if(!(s in r.shape))throw new Error(`Unrecognized key: "${s}"`);e[s]&&delete o[s]}return sn(this,"shape",o),o},checks:[]});return dt(t,a)}function M_(t,e){if(!cn(e))throw new Error("Invalid input to extend: expected a plain object");let r=t._zod.def.checks;if(r&&r.length>0){let a=t._zod.def.shape;for(let o in e)if(Object.getOwnPropertyDescriptor(a,o)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let i=Lr(t._zod.def,{get shape(){let a={...t._zod.def.shape,...e};return sn(this,"shape",a),a}});return dt(t,i)}function U_(t,e){if(!cn(e))throw new Error("Invalid input to safeExtend: expected a plain object");let r=Lr(t._zod.def,{get shape(){let n={...t._zod.def.shape,...e};return sn(this,"shape",n),n}});return dt(t,r)}function gD(t,e){let r=Lr(t._zod.def,{get shape(){let n={...t._zod.def.shape,...e._zod.def.shape};return sn(this,"shape",n),n},get catchall(){return e._zod.def.catchall},checks:[]});return dt(t,r)}function F_(t,e,r){let i=e._zod.def.checks;if(i&&i.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");let o=Lr(e._zod.def,{get shape(){let s=e._zod.def.shape,c={...s};if(r)for(let l in r){if(!(l in s))throw new Error(`Unrecognized key: "${l}"`);r[l]&&(c[l]=t?new t({type:"optional",innerType:s[l]}):s[l])}else for(let l in s)c[l]=t?new t({type:"optional",innerType:s[l]}):s[l];return sn(this,"shape",c),c},checks:[]});return dt(e,o)}function q_(t,e,r){let n=Lr(e._zod.def,{get shape(){let i=e._zod.def.shape,a={...i};if(r)for(let o in r){if(!(o in a))throw new Error(`Unrecognized key: "${o}"`);r[o]&&(a[o]=new t({type:"nonoptional",innerType:i[o]}))}else for(let o in i)a[o]=new t({type:"nonoptional",innerType:i[o]});return sn(this,"shape",a),a}});return dt(e,n)}function ln(t,e=0){if(t.aborted===!0)return!0;for(let r=e;r<t.issues.length;r++)if(t.issues[r]?.continue!==!0)return!0;return!1}function Nt(t,e){return e.map(r=>{var n;return(n=r).path??(n.path=[]),r.path.unshift(t),r})}function mo(t){return typeof t=="string"?t:t?.message}function St(t,e,r){let n={...t,path:t.path??[]};if(!t.message){let i=mo(t.inst?._zod.def?.error?.(t))??mo(e?.error?.(t))??mo(r.customError?.(t))??mo(r.localeError?.(t))??"Invalid input";n.message=i}return delete n.inst,delete n.continue,e?.reportInput||delete n.input,n}function yo(t){return t instanceof Set?"set":t instanceof Map?"map":t instanceof File?"file":"unknown"}function xo(t){return Array.isArray(t)?"array":typeof t=="string"?"string":"unknown"}function L(t){let e=typeof t;switch(e){case"number":return Number.isNaN(t)?"nan":"number";case"object":{if(t===null)return"null";if(Array.isArray(t))return"array";let r=t;if(r&&Object.getPrototypeOf(r)!==Object.prototype&&"constructor"in r&&r.constructor)return r.constructor.name}}return e}function Ui(...t){let[e,r,n]=t;return typeof e=="string"?{message:e,code:"custom",input:r,inst:n}:{...e}}function vD(t){return Object.entries(t).filter(([e,r])=>Number.isNaN(Number.parseInt(e,10))).map(e=>e[1])}function L_(t){let e=atob(t),r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=e.charCodeAt(n);return r}function Z_(t){let e="";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return btoa(e)}function yD(t){let e=t.replace(/-/g,"+").replace(/_/g,"/"),r="=".repeat((4-e.length%4)%4);return L_(e+r)}function xD(t){return Z_(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function bD(t){let e=t.replace(/^0x/,"");if(e.length%2!==0)throw new Error("Invalid hex string length");let r=new Uint8Array(e.length/2);for(let n=0;n<e.length;n+=2)r[n/2]=Number.parseInt(e.slice(n,n+2),16);return r}function _D(t){return Array.from(t).map(e=>e.toString(16).padStart(2,"0")).join("")}var mf=class{constructor(...e){}};var H_=(t,e)=>{t.name="$ZodError",Object.defineProperty(t,"_zod",{value:t._zod,enumerable:!1}),Object.defineProperty(t,"issues",{value:e,enumerable:!1}),t.message=JSON.stringify(e,Ai,2),Object.defineProperty(t,"toString",{value:()=>t.message,enumerable:!1})},Nc=x("$ZodError",H_),bo=x("$ZodError",H_,{Parent:Error});function Ac(t,e=r=>r.message){let r={},n=[];for(let i of t.issues)i.path.length>0?(r[i.path[0]]=r[i.path[0]]||[],r[i.path[0]].push(e(i))):n.push(e(i));return{formErrors:n,fieldErrors:r}}function Mc(t,e=r=>r.message){let r={_errors:[]},n=i=>{for(let a of i.issues)if(a.code==="invalid_union"&&a.errors.length)a.errors.map(o=>n({issues:o}));else if(a.code==="invalid_key")n({issues:a.issues});else if(a.code==="invalid_element")n({issues:a.issues});else if(a.path.length===0)r._errors.push(e(a));else{let o=r,s=0;for(;s<a.path.length;){let c=a.path[s];s===a.path.length-1?(o[c]=o[c]||{_errors:[]},o[c]._errors.push(e(a))):o[c]=o[c]||{_errors:[]},o=o[c],s++}}};return n(t),r}var _o=t=>(e,r,n,i)=>{let a=n?Object.assign(n,{async:!1}):{async:!1},o=e._zod.run({value:r,issues:[]},a);if(o instanceof Promise)throw new yr;if(o.issues.length){let s=new(i?.Err??t)(o.issues.map(c=>St(c,a,Be())));throw Oc(s,i?.callee),s}return o.value},wo=_o(bo),So=t=>async(e,r,n,i)=>{let a=n?Object.assign(n,{async:!0}):{async:!0},o=e._zod.run({value:r,issues:[]},a);if(o instanceof Promise&&(o=await o),o.issues.length){let s=new(i?.Err??t)(o.issues.map(c=>St(c,a,Be())));throw Oc(s,i?.callee),s}return o.value},ko=So(bo),$o=t=>(e,r,n)=>{let i=n?{...n,async:!1}:{async:!1},a=e._zod.run({value:r,issues:[]},i);if(a instanceof Promise)throw new yr;return a.issues.length?{success:!1,error:new(t??Nc)(a.issues.map(o=>St(o,i,Be())))}:{success:!0,data:a.value}},Fi=$o(bo),Io=t=>async(e,r,n)=>{let i=n?Object.assign(n,{async:!0}):{async:!0},a=e._zod.run({value:r,issues:[]},i);return a instanceof Promise&&(a=await a),a.issues.length?{success:!1,error:new t(a.issues.map(o=>St(o,i,Be())))}:{success:!0,data:a.value}},Po=Io(bo),B_=t=>(e,r,n)=>{let i=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return _o(t)(e,r,i)};var V_=t=>(e,r,n)=>_o(t)(e,r,n);var W_=t=>async(e,r,n)=>{let i=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return So(t)(e,r,i)};var J_=t=>async(e,r,n)=>So(t)(e,r,n);var G_=t=>(e,r,n)=>{let i=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return $o(t)(e,r,i)};var K_=t=>(e,r,n)=>$o(t)(e,r,n);var X_=t=>async(e,r,n)=>{let i=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return Io(t)(e,r,i)};var Y_=t=>async(e,r,n)=>Io(t)(e,r,n);var Bt={};Qa(Bt,{base64:()=>Mf,base64url:()=>Uc,bigint:()=>Hf,boolean:()=>Vf,browserEmail:()=>CD,cidrv4:()=>Nf,cidrv6:()=>Af,cuid:()=>Sf,cuid2:()=>kf,date:()=>Ff,datetime:()=>Lf,domain:()=>jD,duration:()=>Tf,e164:()=>Uf,email:()=>zf,emoji:()=>Rf,extendedDuration:()=>SD,guid:()=>Cf,hex:()=>DD,hostname:()=>RD,html5Email:()=>PD,idnEmail:()=>TD,integer:()=>Bf,ipv4:()=>jf,ipv6:()=>Df,ksuid:()=>Pf,lowercase:()=>Gf,mac:()=>Of,md5_base64:()=>ND,md5_base64url:()=>AD,md5_hex:()=>OD,nanoid:()=>Ef,null:()=>Wf,number:()=>Fc,rfc5322Email:()=>ED,sha1_base64:()=>UD,sha1_base64url:()=>FD,sha1_hex:()=>MD,sha256_base64:()=>LD,sha256_base64url:()=>ZD,sha256_hex:()=>qD,sha384_base64:()=>BD,sha384_base64url:()=>VD,sha384_hex:()=>HD,sha512_base64:()=>JD,sha512_base64url:()=>GD,sha512_hex:()=>WD,string:()=>Zf,time:()=>qf,ulid:()=>$f,undefined:()=>Jf,unicodeEmail:()=>Q_,uppercase:()=>Kf,uuid:()=>qn,uuid4:()=>kD,uuid6:()=>$D,uuid7:()=>ID,xid:()=>If});var Sf=/^[cC][^\s-]{8,}$/,kf=/^[0-9a-z]+$/,$f=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,If=/^[0-9a-vA-V]{20}$/,Pf=/^[A-Za-z0-9]{27}$/,Ef=/^[a-zA-Z0-9_-]{21}$/,Tf=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,SD=/^[-+]?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)?)??$/,Cf=/^([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})$/,qn=t=>t?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${t}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,kD=qn(4),$D=qn(6),ID=qn(7),zf=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,PD=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,ED=/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,Q_=/^[^\s@"]{1,64}@[^\s@]{1,255}$/u,TD=Q_,CD=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,zD="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function Rf(){return new RegExp(zD,"u")}var jf=/^(?:(?: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])$/,Df=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,Of=t=>{let e=Ht(t??":");return new RegExp(`^(?:[0-9A-F]{2}${e}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${e}){5}[0-9a-f]{2}$`)},Nf=/^((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])$/,Af=/^(([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])$/,Mf=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Uc=/^[A-Za-z0-9_-]*$/,RD=/^(?=.{1,253}\.?$)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[-0-9a-zA-Z]{0,61}[0-9a-zA-Z])?)*\.?$/,jD=/^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/,Uf=/^\+[1-9]\d{6,14}$/,e0="(?:(?:\\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])))",Ff=new RegExp(`^${e0}$`);function t0(t){let e="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof t.precision=="number"?t.precision===-1?`${e}`:t.precision===0?`${e}:[0-5]\\d`:`${e}:[0-5]\\d\\.\\d{${t.precision}}`:`${e}(?::[0-5]\\d(?:\\.\\d+)?)?`}function qf(t){return new RegExp(`^${t0(t)}$`)}function Lf(t){let e=t0({precision:t.precision}),r=["Z"];t.local&&r.push(""),t.offset&&r.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let n=`${e}(?:${r.join("|")})`;return new RegExp(`^${e0}T(?:${n})$`)}var Zf=t=>{let e=t?`[\\s\\S]{${t?.minimum??0},${t?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${e}$`)},Hf=/^-?\d+n?$/,Bf=/^-?\d+$/,Fc=/^-?\d+(?:\.\d+)?$/,Vf=/^(?:true|false)$/i,Wf=/^null$/i;var Jf=/^undefined$/i;var Gf=/^[^A-Z]*$/,Kf=/^[^a-z]*$/,DD=/^[0-9a-fA-F]*$/;function Eo(t,e){return new RegExp(`^[A-Za-z0-9+/]{${t}}${e}$`)}function To(t){return new RegExp(`^[A-Za-z0-9_-]{${t}}$`)}var OD=/^[0-9a-fA-F]{32}$/,ND=Eo(22,"=="),AD=To(22),MD=/^[0-9a-fA-F]{40}$/,UD=Eo(27,"="),FD=To(27),qD=/^[0-9a-fA-F]{64}$/,LD=Eo(43,"="),ZD=To(43),HD=/^[0-9a-fA-F]{96}$/,BD=Eo(64,""),VD=To(64),WD=/^[0-9a-fA-F]{128}$/,JD=Eo(86,"=="),GD=To(86);var xe=x("$ZodCheck",(t,e)=>{var r;t._zod??(t._zod={}),t._zod.def=e,(r=t._zod).onattach??(r.onattach=[])}),n0={number:"number",bigint:"bigint",object:"date"},Xf=x("$ZodCheckLessThan",(t,e)=>{xe.init(t,e);let r=n0[typeof e.value];t._zod.onattach.push(n=>{let i=n._zod.bag,a=(e.inclusive?i.maximum:i.exclusiveMaximum)??Number.POSITIVE_INFINITY;e.value<a&&(e.inclusive?i.maximum=e.value:i.exclusiveMaximum=e.value)}),t._zod.check=n=>{(e.inclusive?n.value<=e.value:n.value<e.value)||n.issues.push({origin:r,code:"too_big",maximum:typeof e.value=="object"?e.value.getTime():e.value,input:n.value,inclusive:e.inclusive,inst:t,continue:!e.abort})}}),Yf=x("$ZodCheckGreaterThan",(t,e)=>{xe.init(t,e);let r=n0[typeof e.value];t._zod.onattach.push(n=>{let i=n._zod.bag,a=(e.inclusive?i.minimum:i.exclusiveMinimum)??Number.NEGATIVE_INFINITY;e.value>a&&(e.inclusive?i.minimum=e.value:i.exclusiveMinimum=e.value)}),t._zod.check=n=>{(e.inclusive?n.value>=e.value:n.value>e.value)||n.issues.push({origin:r,code:"too_small",minimum:typeof e.value=="object"?e.value.getTime():e.value,input:n.value,inclusive:e.inclusive,inst:t,continue:!e.abort})}}),i0=x("$ZodCheckMultipleOf",(t,e)=>{xe.init(t,e),t._zod.onattach.push(r=>{var n;(n=r._zod.bag).multipleOf??(n.multipleOf=e.value)}),t._zod.check=r=>{if(typeof r.value!=typeof e.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof r.value=="bigint"?r.value%e.value===BigInt(0):hf(r.value,e.value)===0)||r.issues.push({origin:typeof r.value,code:"not_multiple_of",divisor:e.value,input:r.value,inst:t,continue:!e.abort})}}),a0=x("$ZodCheckNumberFormat",(t,e)=>{xe.init(t,e),e.format=e.format||"float64";let r=e.format?.includes("int"),n=r?"int":"number",[i,a]=_f[e.format];t._zod.onattach.push(o=>{let s=o._zod.bag;s.format=e.format,s.minimum=i,s.maximum=a,r&&(s.pattern=Bf)}),t._zod.check=o=>{let s=o.value;if(r){if(!Number.isInteger(s)){o.issues.push({expected:n,format:e.format,code:"invalid_type",continue:!1,input:s,inst:t});return}if(!Number.isSafeInteger(s)){s>0?o.issues.push({input:s,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:t,origin:n,inclusive:!0,continue:!e.abort}):o.issues.push({input:s,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:t,origin:n,inclusive:!0,continue:!e.abort});return}}s<i&&o.issues.push({origin:"number",input:s,code:"too_small",minimum:i,inclusive:!0,inst:t,continue:!e.abort}),s>a&&o.issues.push({origin:"number",input:s,code:"too_big",maximum:a,inclusive:!0,inst:t,continue:!e.abort})}}),o0=x("$ZodCheckBigIntFormat",(t,e)=>{xe.init(t,e);let[r,n]=wf[e.format];t._zod.onattach.push(i=>{let a=i._zod.bag;a.format=e.format,a.minimum=r,a.maximum=n}),t._zod.check=i=>{let a=i.value;a<r&&i.issues.push({origin:"bigint",input:a,code:"too_small",minimum:r,inclusive:!0,inst:t,continue:!e.abort}),a>n&&i.issues.push({origin:"bigint",input:a,code:"too_big",maximum:n,inclusive:!0,inst:t,continue:!e.abort})}}),s0=x("$ZodCheckMaxSize",(t,e)=>{var r;xe.init(t,e),(r=t._zod.def).when??(r.when=n=>{let i=n.value;return!on(i)&&i.size!==void 0}),t._zod.onattach.push(n=>{let i=n._zod.bag.maximum??Number.POSITIVE_INFINITY;e.maximum<i&&(n._zod.bag.maximum=e.maximum)}),t._zod.check=n=>{let i=n.value;i.size<=e.maximum||n.issues.push({origin:yo(i),code:"too_big",maximum:e.maximum,inclusive:!0,input:i,inst:t,continue:!e.abort})}}),c0=x("$ZodCheckMinSize",(t,e)=>{var r;xe.init(t,e),(r=t._zod.def).when??(r.when=n=>{let i=n.value;return!on(i)&&i.size!==void 0}),t._zod.onattach.push(n=>{let i=n._zod.bag.minimum??Number.NEGATIVE_INFINITY;e.minimum>i&&(n._zod.bag.minimum=e.minimum)}),t._zod.check=n=>{let i=n.value;i.size>=e.minimum||n.issues.push({origin:yo(i),code:"too_small",minimum:e.minimum,inclusive:!0,input:i,inst:t,continue:!e.abort})}}),l0=x("$ZodCheckSizeEquals",(t,e)=>{var r;xe.init(t,e),(r=t._zod.def).when??(r.when=n=>{let i=n.value;return!on(i)&&i.size!==void 0}),t._zod.onattach.push(n=>{let i=n._zod.bag;i.minimum=e.size,i.maximum=e.size,i.size=e.size}),t._zod.check=n=>{let i=n.value,a=i.size;if(a===e.size)return;let o=a>e.size;n.issues.push({origin:yo(i),...o?{code:"too_big",maximum:e.size}:{code:"too_small",minimum:e.size},inclusive:!0,exact:!0,input:n.value,inst:t,continue:!e.abort})}}),u0=x("$ZodCheckMaxLength",(t,e)=>{var r;xe.init(t,e),(r=t._zod.def).when??(r.when=n=>{let i=n.value;return!on(i)&&i.length!==void 0}),t._zod.onattach.push(n=>{let i=n._zod.bag.maximum??Number.POSITIVE_INFINITY;e.maximum<i&&(n._zod.bag.maximum=e.maximum)}),t._zod.check=n=>{let i=n.value;if(i.length<=e.maximum)return;let o=xo(i);n.issues.push({origin:o,code:"too_big",maximum:e.maximum,inclusive:!0,input:i,inst:t,continue:!e.abort})}}),p0=x("$ZodCheckMinLength",(t,e)=>{var r;xe.init(t,e),(r=t._zod.def).when??(r.when=n=>{let i=n.value;return!on(i)&&i.length!==void 0}),t._zod.onattach.push(n=>{let i=n._zod.bag.minimum??Number.NEGATIVE_INFINITY;e.minimum>i&&(n._zod.bag.minimum=e.minimum)}),t._zod.check=n=>{let i=n.value;if(i.length>=e.minimum)return;let o=xo(i);n.issues.push({origin:o,code:"too_small",minimum:e.minimum,inclusive:!0,input:i,inst:t,continue:!e.abort})}}),d0=x("$ZodCheckLengthEquals",(t,e)=>{var r;xe.init(t,e),(r=t._zod.def).when??(r.when=n=>{let i=n.value;return!on(i)&&i.length!==void 0}),t._zod.onattach.push(n=>{let i=n._zod.bag;i.minimum=e.length,i.maximum=e.length,i.length=e.length}),t._zod.check=n=>{let i=n.value,a=i.length;if(a===e.length)return;let o=xo(i),s=a>e.length;n.issues.push({origin:o,...s?{code:"too_big",maximum:e.length}:{code:"too_small",minimum:e.length},inclusive:!0,exact:!0,input:n.value,inst:t,continue:!e.abort})}}),Co=x("$ZodCheckStringFormat",(t,e)=>{var r,n;xe.init(t,e),t._zod.onattach.push(i=>{let a=i._zod.bag;a.format=e.format,e.pattern&&(a.patterns??(a.patterns=new Set),a.patterns.add(e.pattern))}),e.pattern?(r=t._zod).check??(r.check=i=>{e.pattern.lastIndex=0,!e.pattern.test(i.value)&&i.issues.push({origin:"string",code:"invalid_format",format:e.format,input:i.value,...e.pattern?{pattern:e.pattern.toString()}:{},inst:t,continue:!e.abort})}):(n=t._zod).check??(n.check=()=>{})}),f0=x("$ZodCheckRegex",(t,e)=>{Co.init(t,e),t._zod.check=r=>{e.pattern.lastIndex=0,!e.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:e.pattern.toString(),inst:t,continue:!e.abort})}}),m0=x("$ZodCheckLowerCase",(t,e)=>{e.pattern??(e.pattern=Gf),Co.init(t,e)}),h0=x("$ZodCheckUpperCase",(t,e)=>{e.pattern??(e.pattern=Kf),Co.init(t,e)}),g0=x("$ZodCheckIncludes",(t,e)=>{xe.init(t,e);let r=Ht(e.includes),n=new RegExp(typeof e.position=="number"?`^.{${e.position}}${r}`:r);e.pattern=n,t._zod.onattach.push(i=>{let a=i._zod.bag;a.patterns??(a.patterns=new Set),a.patterns.add(n)}),t._zod.check=i=>{i.value.includes(e.includes,e.position)||i.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:e.includes,input:i.value,inst:t,continue:!e.abort})}}),v0=x("$ZodCheckStartsWith",(t,e)=>{xe.init(t,e);let r=new RegExp(`^${Ht(e.prefix)}.*`);e.pattern??(e.pattern=r),t._zod.onattach.push(n=>{let i=n._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(r)}),t._zod.check=n=>{n.value.startsWith(e.prefix)||n.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:e.prefix,input:n.value,inst:t,continue:!e.abort})}}),y0=x("$ZodCheckEndsWith",(t,e)=>{xe.init(t,e);let r=new RegExp(`.*${Ht(e.suffix)}$`);e.pattern??(e.pattern=r),t._zod.onattach.push(n=>{let i=n._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(r)}),t._zod.check=n=>{n.value.endsWith(e.suffix)||n.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:e.suffix,input:n.value,inst:t,continue:!e.abort})}});function r0(t,e,r){t.issues.length&&e.issues.push(...Nt(r,t.issues))}var x0=x("$ZodCheckProperty",(t,e)=>{xe.init(t,e),t._zod.check=r=>{let n=e.schema._zod.run({value:r.value[e.property],issues:[]},{});if(n instanceof Promise)return n.then(i=>r0(i,r,e.property));r0(n,r,e.property)}}),b0=x("$ZodCheckMimeType",(t,e)=>{xe.init(t,e);let r=new Set(e.mime);t._zod.onattach.push(n=>{n._zod.bag.mime=e.mime}),t._zod.check=n=>{r.has(n.value.type)||n.issues.push({code:"invalid_value",values:e.mime,input:n.value.type,inst:t,continue:!e.abort})}}),_0=x("$ZodCheckOverwrite",(t,e)=>{xe.init(t,e),t._zod.check=r=>{r.value=e.tx(r.value)}});var qc=class{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e)}indented(e){this.indent+=1,e(this),this.indent-=1}write(e){if(typeof e=="function"){e(this,{execution:"sync"}),e(this,{execution:"async"});return}let n=e.split(`
|
|
61
61
|
`).filter(o=>o),i=Math.min(...n.map(o=>o.length-o.trimStart().length)),a=n.map(o=>o.slice(i)).map(o=>" ".repeat(this.indent*2)+o);for(let o of a)this.content.push(o)}compile(){let e=Function,r=this?.args,i=[...(this?.content??[""]).map(a=>` ${a}`)];return new e(...r,i.join(`
|
|
62
62
|
`))}};var S0={major:4,minor:3,patch:6};var B=x("$ZodType",(t,e)=>{var r;t??(t={}),t._zod.def=e,t._zod.bag=t._zod.bag||{},t._zod.version=S0;let n=[...t._zod.def.checks??[]];t._zod.traits.has("$ZodCheck")&&n.unshift(t);for(let i of n)for(let a of i._zod.onattach)a(t);if(n.length===0)(r=t._zod).deferred??(r.deferred=[]),t._zod.deferred?.push(()=>{t._zod.run=t._zod.parse});else{let i=(o,s,c)=>{let l=ln(o),u;for(let p of s){if(p._zod.def.when){if(!p._zod.def.when(o))continue}else if(l)continue;let d=o.issues.length,f=p._zod.check(o);if(f instanceof Promise&&c?.async===!1)throw new yr;if(u||f instanceof Promise)u=(u??Promise.resolve()).then(async()=>{await f,o.issues.length!==d&&(l||(l=ln(o,d)))});else{if(o.issues.length===d)continue;l||(l=ln(o,d))}}return u?u.then(()=>o):o},a=(o,s,c)=>{if(ln(o))return o.aborted=!0,o;let l=i(s,n,c);if(l instanceof Promise){if(c.async===!1)throw new yr;return l.then(u=>t._zod.parse(u,c))}return t._zod.parse(l,c)};t._zod.run=(o,s)=>{if(s.skipChecks)return t._zod.parse(o,s);if(s.direction==="backward"){let l=t._zod.parse({value:o.value,issues:[]},{...s,skipChecks:!0});return l instanceof Promise?l.then(u=>a(u,o,s)):a(l,o,s)}let c=t._zod.parse(o,s);if(c instanceof Promise){if(s.async===!1)throw new yr;return c.then(l=>i(l,n,s))}return i(c,n,s)}}W(t,"~standard",()=>({validate:i=>{try{let a=Fi(t,i);return a.success?{value:a.data}:{issues:a.error?.issues}}catch{return Po(t,i).then(o=>o.success?{value:o.data}:{issues:o.error?.issues})}},vendor:"zod",version:1}))}),Ln=x("$ZodString",(t,e)=>{B.init(t,e),t._zod.pattern=[...t?._zod.bag?.patterns??[]].pop()??Zf(t._zod.bag),t._zod.parse=(r,n)=>{if(e.coerce)try{r.value=String(r.value)}catch{}return typeof r.value=="string"||r.issues.push({expected:"string",code:"invalid_type",input:r.value,inst:t}),r}}),he=x("$ZodStringFormat",(t,e)=>{Co.init(t,e),Ln.init(t,e)}),em=x("$ZodGUID",(t,e)=>{e.pattern??(e.pattern=Cf),he.init(t,e)}),tm=x("$ZodUUID",(t,e)=>{if(e.version){let n={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[e.version];if(n===void 0)throw new Error(`Invalid UUID version: "${e.version}"`);e.pattern??(e.pattern=qn(n))}else e.pattern??(e.pattern=qn());he.init(t,e)}),rm=x("$ZodEmail",(t,e)=>{e.pattern??(e.pattern=zf),he.init(t,e)}),nm=x("$ZodURL",(t,e)=>{he.init(t,e),t._zod.check=r=>{try{let n=r.value.trim(),i=new URL(n);e.hostname&&(e.hostname.lastIndex=0,e.hostname.test(i.hostname)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:e.hostname.source,input:r.value,inst:t,continue:!e.abort})),e.protocol&&(e.protocol.lastIndex=0,e.protocol.test(i.protocol.endsWith(":")?i.protocol.slice(0,-1):i.protocol)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:e.protocol.source,input:r.value,inst:t,continue:!e.abort})),e.normalize?r.value=i.href:r.value=n;return}catch{r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:t,continue:!e.abort})}}}),im=x("$ZodEmoji",(t,e)=>{e.pattern??(e.pattern=Rf()),he.init(t,e)}),am=x("$ZodNanoID",(t,e)=>{e.pattern??(e.pattern=Ef),he.init(t,e)}),om=x("$ZodCUID",(t,e)=>{e.pattern??(e.pattern=Sf),he.init(t,e)}),sm=x("$ZodCUID2",(t,e)=>{e.pattern??(e.pattern=kf),he.init(t,e)}),cm=x("$ZodULID",(t,e)=>{e.pattern??(e.pattern=$f),he.init(t,e)}),lm=x("$ZodXID",(t,e)=>{e.pattern??(e.pattern=If),he.init(t,e)}),um=x("$ZodKSUID",(t,e)=>{e.pattern??(e.pattern=Pf),he.init(t,e)}),pm=x("$ZodISODateTime",(t,e)=>{e.pattern??(e.pattern=Lf(e)),he.init(t,e)}),dm=x("$ZodISODate",(t,e)=>{e.pattern??(e.pattern=Ff),he.init(t,e)}),fm=x("$ZodISOTime",(t,e)=>{e.pattern??(e.pattern=qf(e)),he.init(t,e)}),mm=x("$ZodISODuration",(t,e)=>{e.pattern??(e.pattern=Tf),he.init(t,e)}),hm=x("$ZodIPv4",(t,e)=>{e.pattern??(e.pattern=jf),he.init(t,e),t._zod.bag.format="ipv4"}),gm=x("$ZodIPv6",(t,e)=>{e.pattern??(e.pattern=Df),he.init(t,e),t._zod.bag.format="ipv6",t._zod.check=r=>{try{new URL(`http://[${r.value}]`)}catch{r.issues.push({code:"invalid_format",format:"ipv6",input:r.value,inst:t,continue:!e.abort})}}}),vm=x("$ZodMAC",(t,e)=>{e.pattern??(e.pattern=Of(e.delimiter)),he.init(t,e),t._zod.bag.format="mac"}),ym=x("$ZodCIDRv4",(t,e)=>{e.pattern??(e.pattern=Nf),he.init(t,e)}),xm=x("$ZodCIDRv6",(t,e)=>{e.pattern??(e.pattern=Af),he.init(t,e),t._zod.check=r=>{let n=r.value.split("/");try{if(n.length!==2)throw new Error;let[i,a]=n;if(!a)throw new Error;let o=Number(a);if(`${o}`!==a)throw new Error;if(o<0||o>128)throw new Error;new URL(`http://[${i}]`)}catch{r.issues.push({code:"invalid_format",format:"cidrv6",input:r.value,inst:t,continue:!e.abort})}}});function O0(t){if(t==="")return!0;if(t.length%4!==0)return!1;try{return atob(t),!0}catch{return!1}}var bm=x("$ZodBase64",(t,e)=>{e.pattern??(e.pattern=Mf),he.init(t,e),t._zod.bag.contentEncoding="base64",t._zod.check=r=>{O0(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:t,continue:!e.abort})}});function KD(t){if(!Uc.test(t))return!1;let e=t.replace(/[-_]/g,n=>n==="-"?"+":"/"),r=e.padEnd(Math.ceil(e.length/4)*4,"=");return O0(r)}var _m=x("$ZodBase64URL",(t,e)=>{e.pattern??(e.pattern=Uc),he.init(t,e),t._zod.bag.contentEncoding="base64url",t._zod.check=r=>{KD(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:t,continue:!e.abort})}}),wm=x("$ZodE164",(t,e)=>{e.pattern??(e.pattern=Uf),he.init(t,e)});function XD(t,e=null){try{let r=t.split(".");if(r.length!==3)return!1;let[n]=r;if(!n)return!1;let i=JSON.parse(atob(n));return!("typ"in i&&i?.typ!=="JWT"||!i.alg||e&&(!("alg"in i)||i.alg!==e))}catch{return!1}}var Sm=x("$ZodJWT",(t,e)=>{he.init(t,e),t._zod.check=r=>{XD(r.value,e.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:t,continue:!e.abort})}}),km=x("$ZodCustomStringFormat",(t,e)=>{he.init(t,e),t._zod.check=r=>{e.fn(r.value)||r.issues.push({code:"invalid_format",format:e.format,input:r.value,inst:t,continue:!e.abort})}}),Wc=x("$ZodNumber",(t,e)=>{B.init(t,e),t._zod.pattern=t._zod.bag.pattern??Fc,t._zod.parse=(r,n)=>{if(e.coerce)try{r.value=Number(r.value)}catch{}let i=r.value;if(typeof i=="number"&&!Number.isNaN(i)&&Number.isFinite(i))return r;let a=typeof i=="number"?Number.isNaN(i)?"NaN":Number.isFinite(i)?void 0:"Infinity":void 0;return r.issues.push({expected:"number",code:"invalid_type",input:i,inst:t,...a?{received:a}:{}}),r}}),$m=x("$ZodNumberFormat",(t,e)=>{a0.init(t,e),Wc.init(t,e)}),zo=x("$ZodBoolean",(t,e)=>{B.init(t,e),t._zod.pattern=Vf,t._zod.parse=(r,n)=>{if(e.coerce)try{r.value=!!r.value}catch{}let i=r.value;return typeof i=="boolean"||r.issues.push({expected:"boolean",code:"invalid_type",input:i,inst:t}),r}}),Jc=x("$ZodBigInt",(t,e)=>{B.init(t,e),t._zod.pattern=Hf,t._zod.parse=(r,n)=>{if(e.coerce)try{r.value=BigInt(r.value)}catch{}return typeof r.value=="bigint"||r.issues.push({expected:"bigint",code:"invalid_type",input:r.value,inst:t}),r}}),Im=x("$ZodBigIntFormat",(t,e)=>{o0.init(t,e),Jc.init(t,e)}),Pm=x("$ZodSymbol",(t,e)=>{B.init(t,e),t._zod.parse=(r,n)=>{let i=r.value;return typeof i=="symbol"||r.issues.push({expected:"symbol",code:"invalid_type",input:i,inst:t}),r}}),Em=x("$ZodUndefined",(t,e)=>{B.init(t,e),t._zod.pattern=Jf,t._zod.values=new Set([void 0]),t._zod.optin="optional",t._zod.optout="optional",t._zod.parse=(r,n)=>{let i=r.value;return typeof i>"u"||r.issues.push({expected:"undefined",code:"invalid_type",input:i,inst:t}),r}}),Tm=x("$ZodNull",(t,e)=>{B.init(t,e),t._zod.pattern=Wf,t._zod.values=new Set([null]),t._zod.parse=(r,n)=>{let i=r.value;return i===null||r.issues.push({expected:"null",code:"invalid_type",input:i,inst:t}),r}}),Cm=x("$ZodAny",(t,e)=>{B.init(t,e),t._zod.parse=r=>r}),zm=x("$ZodUnknown",(t,e)=>{B.init(t,e),t._zod.parse=r=>r}),Rm=x("$ZodNever",(t,e)=>{B.init(t,e),t._zod.parse=(r,n)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:t}),r)}),jm=x("$ZodVoid",(t,e)=>{B.init(t,e),t._zod.parse=(r,n)=>{let i=r.value;return typeof i>"u"||r.issues.push({expected:"void",code:"invalid_type",input:i,inst:t}),r}}),Dm=x("$ZodDate",(t,e)=>{B.init(t,e),t._zod.parse=(r,n)=>{if(e.coerce)try{r.value=new Date(r.value)}catch{}let i=r.value,a=i instanceof Date;return a&&!Number.isNaN(i.getTime())||r.issues.push({expected:"date",code:"invalid_type",input:i,...a?{received:"Invalid Date"}:{},inst:t}),r}});function k0(t,e,r){t.issues.length&&e.issues.push(...Nt(r,t.issues)),e.value[r]=t.value}var Om=x("$ZodArray",(t,e)=>{B.init(t,e),t._zod.parse=(r,n)=>{let i=r.value;if(!Array.isArray(i))return r.issues.push({expected:"array",code:"invalid_type",input:i,inst:t}),r;r.value=Array(i.length);let a=[];for(let o=0;o<i.length;o++){let s=i[o],c=e.element._zod.run({value:s,issues:[]},n);c instanceof Promise?a.push(c.then(l=>k0(l,r,o))):k0(c,r,o)}return a.length?Promise.all(a).then(()=>r):r}});function Vc(t,e,r,n,i){if(t.issues.length){if(i&&!(r in n))return;e.issues.push(...Nt(r,t.issues))}t.value===void 0?r in n&&(e.value[r]=void 0):e.value[r]=t.value}function N0(t){let e=Object.keys(t.shape);for(let n of e)if(!t.shape?.[n]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${n}": expected a Zod schema`);let r=bf(t.shape);return{...t,keys:e,keySet:new Set(e),numKeys:e.length,optionalKeys:new Set(r)}}function A0(t,e,r,n,i,a){let o=[],s=i.keySet,c=i.catchall._zod,l=c.def.type,u=c.optout==="optional";for(let p in e){if(s.has(p))continue;if(l==="never"){o.push(p);continue}let d=c.run({value:e[p],issues:[]},n);d instanceof Promise?t.push(d.then(f=>Vc(f,r,p,e,u))):Vc(d,r,p,e,u)}return o.length&&r.issues.push({code:"unrecognized_keys",keys:o,input:e,inst:a}),t.length?Promise.all(t).then(()=>r):r}var M0=x("$ZodObject",(t,e)=>{if(B.init(t,e),!Object.getOwnPropertyDescriptor(e,"shape")?.get){let s=e.shape;Object.defineProperty(e,"shape",{get:()=>{let c={...s};return Object.defineProperty(e,"shape",{value:c}),c}})}let n=Mi(()=>N0(e));W(t._zod,"propValues",()=>{let s=e.shape,c={};for(let l in s){let u=s[l]._zod;if(u.values){c[l]??(c[l]=new Set);for(let p of u.values)c[l].add(p)}}return c});let i=Fn,a=e.catchall,o;t._zod.parse=(s,c)=>{o??(o=n.value);let l=s.value;if(!i(l))return s.issues.push({expected:"object",code:"invalid_type",input:l,inst:t}),s;s.value={};let u=[],p=o.shape;for(let d of o.keys){let f=p[d],m=f._zod.optout==="optional",h=f._zod.run({value:l[d],issues:[]},c);h instanceof Promise?u.push(h.then(g=>Vc(g,s,d,l,m))):Vc(h,s,d,l,m)}return a?A0(u,l,s,c,n.value,t):u.length?Promise.all(u).then(()=>s):s}}),U0=x("$ZodObjectJIT",(t,e)=>{M0.init(t,e);let r=t._zod.parse,n=Mi(()=>N0(e)),i=d=>{let f=new qc(["shape","payload","ctx"]),m=n.value,h=_=>{let k=Dc(_);return`shape[${k}]._zod.run({ value: input[${k}], issues: [] }, ctx)`};f.write("const input = payload.value;");let g=Object.create(null),b=0;for(let _ of m.keys)g[_]=`key_${b++}`;f.write("const newResult = {};");for(let _ of m.keys){let k=g[_],$=Dc(_),Z=d[_]?._zod?.optout==="optional";f.write(`const ${k} = ${h(_)};`),Z?f.write(`
|
|
63
63
|
if (${k}.issues.length) {
|
|
@@ -93,28 +93,28 @@ Please see the 3.x to 4.x migration guide for details on how to update your app.
|
|
|
93
93
|
newResult[${$}] = ${k}.value;
|
|
94
94
|
}
|
|
95
95
|
|
|
96
|
-
`)}f.write("payload.value = newResult;"),f.write("return payload;");let S=f.compile();return(_,k)=>S(d,_,k)},a,o=Fn,s=!jc.jitless,l=s&&vf.value,u=e.catchall,p;t._zod.parse=(d,f)=>{p??(p=n.value);let m=d.value;return o(m)?s&&l&&f?.async===!1&&f.jitless!==!0?(a||(a=i(e.shape)),d=a(d,f),u?A0([],m,d,f,p,t):d):r(d,f):(d.issues.push({expected:"object",code:"invalid_type",input:m,inst:t}),d)}});function $0(t,e,r,n){for(let a of t)if(a.issues.length===0)return e.value=a.value,e;let i=t.filter(a=>!ln(a));return i.length===1?(e.value=i[0].value,i[0]):(e.issues.push({code:"invalid_union",input:e.value,inst:r,errors:t.map(a=>a.issues.map(o=>St(o,n,Be())))}),e)}var Ro=x("$ZodUnion",(t,e)=>{B.init(t,e),W(t._zod,"optin",()=>e.options.some(i=>i._zod.optin==="optional")?"optional":void 0),W(t._zod,"optout",()=>e.options.some(i=>i._zod.optout==="optional")?"optional":void 0),W(t._zod,"values",()=>{if(e.options.every(i=>i._zod.values))return new Set(e.options.flatMap(i=>Array.from(i._zod.values)))}),W(t._zod,"pattern",()=>{if(e.options.every(i=>i._zod.pattern)){let i=e.options.map(a=>a._zod.pattern);return new RegExp(`^(${i.map(a=>go(a.source)).join("|")})$`)}});let r=e.options.length===1,n=e.options[0]._zod.run;t._zod.parse=(i,a)=>{if(r)return n(i,a);let o=!1,s=[];for(let c of e.options){let l=c._zod.run({value:i.value,issues:[]},a);if(l instanceof Promise)s.push(l),o=!0;else{if(l.issues.length===0)return l;s.push(l)}}return o?Promise.all(s).then(c=>$0(c,i,t,a)):$0(s,i,t,a)}});function I0(t,e,r,n){let i=t.filter(a=>a.issues.length===0);return i.length===1?(e.value=i[0].value,e):(i.length===0?e.issues.push({code:"invalid_union",input:e.value,inst:r,errors:t.map(a=>a.issues.map(o=>St(o,n,Be())))}):e.issues.push({code:"invalid_union",input:e.value,inst:r,errors:[],inclusive:!1}),e)}var Nm=x("$ZodXor",(t,e)=>{Ro.init(t,e),e.inclusive=!1;let r=e.options.length===1,n=e.options[0]._zod.run;t._zod.parse=(i,a)=>{if(r)return n(i,a);let o=!1,s=[];for(let c of e.options){let l=c._zod.run({value:i.value,issues:[]},a);l instanceof Promise?(s.push(l),o=!0):s.push(l)}return o?Promise.all(s).then(c=>I0(c,i,t,a)):I0(s,i,t,a)}}),Am=x("$ZodDiscriminatedUnion",(t,e)=>{e.inclusive=!1,Ro.init(t,e);let r=t._zod.parse;W(t._zod,"propValues",()=>{let i={};for(let a of e.options){let o=a._zod.propValues;if(!o||Object.keys(o).length===0)throw new Error(`Invalid discriminated union option at index "${e.options.indexOf(a)}"`);for(let[s,c]of Object.entries(o)){i[s]||(i[s]=new Set);for(let l of c)i[s].add(l)}}return i});let n=Mi(()=>{let i=e.options,a=new Map;for(let o of i){let s=o._zod.propValues?.[e.discriminator];if(!s||s.size===0)throw new Error(`Invalid discriminated union option at index "${e.options.indexOf(o)}"`);for(let c of s){if(a.has(c))throw new Error(`Duplicate discriminator value "${String(c)}"`);a.set(c,o)}}return a});t._zod.parse=(i,a)=>{let o=i.value;if(!Fn(o))return i.issues.push({code:"invalid_type",expected:"object",input:o,inst:t}),i;let s=n.value.get(o?.[e.discriminator]);return s?s._zod.run(i,a):e.unionFallback?r(i,a):(i.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:e.discriminator,input:o,path:[e.discriminator],inst:t}),i)}}),Mm=x("$ZodIntersection",(t,e)=>{B.init(t,e),t._zod.parse=(r,n)=>{let i=r.value,a=e.left._zod.run({value:i,issues:[]},n),o=e.right._zod.run({value:i,issues:[]},n);return a instanceof Promise||o instanceof Promise?Promise.all([a,o]).then(([c,l])=>P0(r,c,l)):P0(r,a,o)}});function Qf(t,e){if(t===e)return{valid:!0,data:t};if(t instanceof Date&&e instanceof Date&&+t==+e)return{valid:!0,data:t};if(cn(t)&&cn(e)){let r=Object.keys(e),n=Object.keys(t).filter(a=>r.indexOf(a)!==-1),i={...t,...e};for(let a of n){let o=Qf(t[a],e[a]);if(!o.valid)return{valid:!1,mergeErrorPath:[a,...o.mergeErrorPath]};i[a]=o.data}return{valid:!0,data:i}}if(Array.isArray(t)&&Array.isArray(e)){if(t.length!==e.length)return{valid:!1,mergeErrorPath:[]};let r=[];for(let n=0;n<t.length;n++){let i=t[n],a=e[n],o=Qf(i,a);if(!o.valid)return{valid:!1,mergeErrorPath:[n,...o.mergeErrorPath]};r.push(o.data)}return{valid:!0,data:r}}return{valid:!1,mergeErrorPath:[]}}function P0(t,e,r){let n=new Map,i;for(let s of e.issues)if(s.code==="unrecognized_keys"){i??(i=s);for(let c of s.keys)n.has(c)||n.set(c,{}),n.get(c).l=!0}else t.issues.push(s);for(let s of r.issues)if(s.code==="unrecognized_keys")for(let c of s.keys)n.has(c)||n.set(c,{}),n.get(c).r=!0;else t.issues.push(s);let a=[...n].filter(([,s])=>s.l&&s.r).map(([s])=>s);if(a.length&&i&&t.issues.push({...i,keys:a}),ln(t))return t;let o=Qf(e.value,r.value);if(!o.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(o.mergeErrorPath)}`);return t.value=o.data,t}var Gc=x("$ZodTuple",(t,e)=>{B.init(t,e);let r=e.items;t._zod.parse=(n,i)=>{let a=n.value;if(!Array.isArray(a))return n.issues.push({input:a,inst:t,expected:"tuple",code:"invalid_type"}),n;n.value=[];let o=[],s=[...r].reverse().findIndex(u=>u._zod.optin!=="optional"),c=s===-1?0:r.length-s;if(!e.rest){let u=a.length>r.length,p=a.length<c-1;if(u||p)return n.issues.push({...u?{code:"too_big",maximum:r.length,inclusive:!0}:{code:"too_small",minimum:r.length},input:a,inst:t,origin:"array"}),n}let l=-1;for(let u of r){if(l++,l>=a.length&&l>=c)continue;let p=u._zod.run({value:a[l],issues:[]},i);p instanceof Promise?o.push(p.then(d=>Lc(d,n,l))):Lc(p,n,l)}if(e.rest){let u=a.slice(r.length);for(let p of u){l++;let d=e.rest._zod.run({value:p,issues:[]},i);d instanceof Promise?o.push(d.then(f=>Lc(f,n,l))):Lc(d,n,l)}}return o.length?Promise.all(o).then(()=>n):n}});function Lc(t,e,r){t.issues.length&&e.issues.push(...Nt(r,t.issues)),e.value[r]=t.value}var Um=x("$ZodRecord",(t,e)=>{B.init(t,e),t._zod.parse=(r,n)=>{let i=r.value;if(!cn(i))return r.issues.push({expected:"record",code:"invalid_type",input:i,inst:t}),r;let a=[],o=e.keyType._zod.values;if(o){r.value={};let s=new Set;for(let l of o)if(typeof l=="string"||typeof l=="number"||typeof l=="symbol"){s.add(typeof l=="number"?l.toString():l);let u=e.valueType._zod.run({value:i[l],issues:[]},n);u instanceof Promise?a.push(u.then(p=>{p.issues.length&&r.issues.push(...Nt(l,p.issues)),r.value[l]=p.value})):(u.issues.length&&r.issues.push(...Nt(l,u.issues)),r.value[l]=u.value)}let c;for(let l in i)s.has(l)||(c=c??[],c.push(l));c&&c.length>0&&r.issues.push({code:"unrecognized_keys",input:i,inst:t,keys:c})}else{r.value={};for(let s of Reflect.ownKeys(i)){if(s==="__proto__")continue;let c=e.keyType._zod.run({value:s,issues:[]},n);if(c instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(typeof s=="string"&&Fc.test(s)&&c.issues.length){let p=e.keyType._zod.run({value:Number(s),issues:[]},n);if(p instanceof Promise)throw new Error("Async schemas not supported in object keys currently");p.issues.length===0&&(c=p)}if(c.issues.length){e.mode==="loose"?r.value[s]=i[s]:r.issues.push({code:"invalid_key",origin:"record",issues:c.issues.map(p=>St(p,n,Be())),input:s,path:[s],inst:t});continue}let u=e.valueType._zod.run({value:i[s],issues:[]},n);u instanceof Promise?a.push(u.then(p=>{p.issues.length&&r.issues.push(...Nt(s,p.issues)),r.value[c.value]=p.value})):(u.issues.length&&r.issues.push(...Nt(s,u.issues)),r.value[c.value]=u.value)}}return a.length?Promise.all(a).then(()=>r):r}}),Fm=x("$ZodMap",(t,e)=>{B.init(t,e),t._zod.parse=(r,n)=>{let i=r.value;if(!(i instanceof Map))return r.issues.push({expected:"map",code:"invalid_type",input:i,inst:t}),r;let a=[];r.value=new Map;for(let[o,s]of i){let c=e.keyType._zod.run({value:o,issues:[]},n),l=e.valueType._zod.run({value:s,issues:[]},n);c instanceof Promise||l instanceof Promise?a.push(Promise.all([c,l]).then(([u,p])=>{E0(u,p,r,o,i,t,n)})):E0(c,l,r,o,i,t,n)}return a.length?Promise.all(a).then(()=>r):r}});function E0(t,e,r,n,i,a,o){t.issues.length&&(vo.has(typeof n)?r.issues.push(...Nt(n,t.issues)):r.issues.push({code:"invalid_key",origin:"map",input:i,inst:a,issues:t.issues.map(s=>St(s,o,Be()))})),e.issues.length&&(vo.has(typeof n)?r.issues.push(...Nt(n,e.issues)):r.issues.push({origin:"map",code:"invalid_element",input:i,inst:a,key:n,issues:e.issues.map(s=>St(s,o,Be()))})),r.value.set(t.value,e.value)}var qm=x("$ZodSet",(t,e)=>{B.init(t,e),t._zod.parse=(r,n)=>{let i=r.value;if(!(i instanceof Set))return r.issues.push({input:i,inst:t,expected:"set",code:"invalid_type"}),r;let a=[];r.value=new Set;for(let o of i){let s=e.valueType._zod.run({value:o,issues:[]},n);s instanceof Promise?a.push(s.then(c=>T0(c,r))):T0(s,r)}return a.length?Promise.all(a).then(()=>r):r}});function T0(t,e){t.issues.length&&e.issues.push(...t.issues),e.value.add(t.value)}var Lm=x("$ZodEnum",(t,e)=>{B.init(t,e);let r=ho(e.entries),n=new Set(r);t._zod.values=n,t._zod.pattern=new RegExp(`^(${r.filter(i=>vo.has(typeof i)).map(i=>typeof i=="string"?Ht(i):i.toString()).join("|")})$`),t._zod.parse=(i,a)=>{let o=i.value;return n.has(o)||i.issues.push({code:"invalid_value",values:r,input:o,inst:t}),i}}),Zm=x("$ZodLiteral",(t,e)=>{if(B.init(t,e),e.values.length===0)throw new Error("Cannot create literal schema with no valid values");let r=new Set(e.values);t._zod.values=r,t._zod.pattern=new RegExp(`^(${e.values.map(n=>typeof n=="string"?Ht(n):n?Ht(n.toString()):String(n)).join("|")})$`),t._zod.parse=(n,i)=>{let a=n.value;return r.has(a)||n.issues.push({code:"invalid_value",values:e.values,input:a,inst:t}),n}}),Hm=x("$ZodFile",(t,e)=>{B.init(t,e),t._zod.parse=(r,n)=>{let i=r.value;return i instanceof File||r.issues.push({expected:"file",code:"invalid_type",input:i,inst:t}),r}}),Bm=x("$ZodTransform",(t,e)=>{B.init(t,e),t._zod.parse=(r,n)=>{if(n.direction==="backward")throw new Un(t.constructor.name);let i=e.transform(r.value,r);if(n.async)return(i instanceof Promise?i:Promise.resolve(i)).then(o=>(r.value=o,r));if(i instanceof Promise)throw new yr;return r.value=i,r}});function C0(t,e){return t.issues.length&&e===void 0?{issues:[],value:void 0}:t}var Kc=x("$ZodOptional",(t,e)=>{B.init(t,e),t._zod.optin="optional",t._zod.optout="optional",W(t._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,void 0]):void 0),W(t._zod,"pattern",()=>{let r=e.innerType._zod.pattern;return r?new RegExp(`^(${go(r.source)})?$`):void 0}),t._zod.parse=(r,n)=>{if(e.innerType._zod.optin==="optional"){let i=e.innerType._zod.run(r,n);return i instanceof Promise?i.then(a=>C0(a,r.value)):C0(i,r.value)}return r.value===void 0?r:e.innerType._zod.run(r,n)}}),Vm=x("$ZodExactOptional",(t,e)=>{Kc.init(t,e),W(t._zod,"values",()=>e.innerType._zod.values),W(t._zod,"pattern",()=>e.innerType._zod.pattern),t._zod.parse=(r,n)=>e.innerType._zod.run(r,n)}),Wm=x("$ZodNullable",(t,e)=>{B.init(t,e),W(t._zod,"optin",()=>e.innerType._zod.optin),W(t._zod,"optout",()=>e.innerType._zod.optout),W(t._zod,"pattern",()=>{let r=e.innerType._zod.pattern;return r?new RegExp(`^(${go(r.source)}|null)$`):void 0}),W(t._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,null]):void 0),t._zod.parse=(r,n)=>r.value===null?r:e.innerType._zod.run(r,n)}),Jm=x("$ZodDefault",(t,e)=>{B.init(t,e),t._zod.optin="optional",W(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,n)=>{if(n.direction==="backward")return e.innerType._zod.run(r,n);if(r.value===void 0)return r.value=e.defaultValue,r;let i=e.innerType._zod.run(r,n);return i instanceof Promise?i.then(a=>z0(a,e)):z0(i,e)}});function z0(t,e){return t.value===void 0&&(t.value=e.defaultValue),t}var Gm=x("$ZodPrefault",(t,e)=>{B.init(t,e),t._zod.optin="optional",W(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,n)=>(n.direction==="backward"||r.value===void 0&&(r.value=e.defaultValue),e.innerType._zod.run(r,n))}),Km=x("$ZodNonOptional",(t,e)=>{B.init(t,e),W(t._zod,"values",()=>{let r=e.innerType._zod.values;return r?new Set([...r].filter(n=>n!==void 0)):void 0}),t._zod.parse=(r,n)=>{let i=e.innerType._zod.run(r,n);return i instanceof Promise?i.then(a=>R0(a,t)):R0(i,t)}});function R0(t,e){return!t.issues.length&&t.value===void 0&&t.issues.push({code:"invalid_type",expected:"nonoptional",input:t.value,inst:e}),t}var Xm=x("$ZodSuccess",(t,e)=>{B.init(t,e),t._zod.parse=(r,n)=>{if(n.direction==="backward")throw new Un("ZodSuccess");let i=e.innerType._zod.run(r,n);return i instanceof Promise?i.then(a=>(r.value=a.issues.length===0,r)):(r.value=i.issues.length===0,r)}}),Ym=x("$ZodCatch",(t,e)=>{B.init(t,e),W(t._zod,"optin",()=>e.innerType._zod.optin),W(t._zod,"optout",()=>e.innerType._zod.optout),W(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,n)=>{if(n.direction==="backward")return e.innerType._zod.run(r,n);let i=e.innerType._zod.run(r,n);return i instanceof Promise?i.then(a=>(r.value=a.value,a.issues.length&&(r.value=e.catchValue({...r,error:{issues:a.issues.map(o=>St(o,n,Be()))},input:r.value}),r.issues=[]),r)):(r.value=i.value,i.issues.length&&(r.value=e.catchValue({...r,error:{issues:i.issues.map(a=>St(a,n,Be()))},input:r.value}),r.issues=[]),r)}}),Qm=x("$ZodNaN",(t,e)=>{B.init(t,e),t._zod.parse=(r,n)=>((typeof r.value!="number"||!Number.isNaN(r.value))&&r.issues.push({input:r.value,inst:t,expected:"nan",code:"invalid_type"}),r)}),eh=x("$ZodPipe",(t,e)=>{B.init(t,e),W(t._zod,"values",()=>e.in._zod.values),W(t._zod,"optin",()=>e.in._zod.optin),W(t._zod,"optout",()=>e.out._zod.optout),W(t._zod,"propValues",()=>e.in._zod.propValues),t._zod.parse=(r,n)=>{if(n.direction==="backward"){let a=e.out._zod.run(r,n);return a instanceof Promise?a.then(o=>Zc(o,e.in,n)):Zc(a,e.in,n)}let i=e.in._zod.run(r,n);return i instanceof Promise?i.then(a=>Zc(a,e.out,n)):Zc(i,e.out,n)}});function Zc(t,e,r){return t.issues.length?(t.aborted=!0,t):e._zod.run({value:t.value,issues:t.issues},r)}var jo=x("$ZodCodec",(t,e)=>{B.init(t,e),W(t._zod,"values",()=>e.in._zod.values),W(t._zod,"optin",()=>e.in._zod.optin),W(t._zod,"optout",()=>e.out._zod.optout),W(t._zod,"propValues",()=>e.in._zod.propValues),t._zod.parse=(r,n)=>{if((n.direction||"forward")==="forward"){let a=e.in._zod.run(r,n);return a instanceof Promise?a.then(o=>Hc(o,e,n)):Hc(a,e,n)}else{let a=e.out._zod.run(r,n);return a instanceof Promise?a.then(o=>Hc(o,e,n)):Hc(a,e,n)}}});function Hc(t,e,r){if(t.issues.length)return t.aborted=!0,t;if((r.direction||"forward")==="forward"){let i=e.transform(t.value,t);return i instanceof Promise?i.then(a=>Bc(t,a,e.out,r)):Bc(t,i,e.out,r)}else{let i=e.reverseTransform(t.value,t);return i instanceof Promise?i.then(a=>Bc(t,a,e.in,r)):Bc(t,i,e.in,r)}}function Bc(t,e,r,n){return t.issues.length?(t.aborted=!0,t):r._zod.run({value:e,issues:t.issues},n)}var th=x("$ZodReadonly",(t,e)=>{B.init(t,e),W(t._zod,"propValues",()=>e.innerType._zod.propValues),W(t._zod,"values",()=>e.innerType._zod.values),W(t._zod,"optin",()=>e.innerType?._zod?.optin),W(t._zod,"optout",()=>e.innerType?._zod?.optout),t._zod.parse=(r,n)=>{if(n.direction==="backward")return e.innerType._zod.run(r,n);let i=e.innerType._zod.run(r,n);return i instanceof Promise?i.then(j0):j0(i)}});function j0(t){return t.value=Object.freeze(t.value),t}var rh=x("$ZodTemplateLiteral",(t,e)=>{B.init(t,e);let r=[];for(let n of e.parts)if(typeof n=="object"&&n!==null){if(!n._zod.pattern)throw new Error(`Invalid template literal part, no pattern found: ${[...n._zod.traits].shift()}`);let i=n._zod.pattern instanceof RegExp?n._zod.pattern.source:n._zod.pattern;if(!i)throw new Error(`Invalid template literal part: ${n._zod.traits}`);let a=i.startsWith("^")?1:0,o=i.endsWith("$")?i.length-1:i.length;r.push(i.slice(a,o))}else if(n===null||xf.has(typeof n))r.push(Ht(`${n}`));else throw new Error(`Invalid template literal part: ${n}`);t._zod.pattern=new RegExp(`^${r.join("")}$`),t._zod.parse=(n,i)=>typeof n.value!="string"?(n.issues.push({input:n.value,inst:t,expected:"string",code:"invalid_type"}),n):(t._zod.pattern.lastIndex=0,t._zod.pattern.test(n.value)||n.issues.push({input:n.value,inst:t,code:"invalid_format",format:e.format??"template_literal",pattern:t._zod.pattern.source}),n)}),nh=x("$ZodFunction",(t,e)=>(B.init(t,e),t._def=e,t._zod.def=e,t.implement=r=>{if(typeof r!="function")throw new Error("implement() must be called with a function");return function(...n){let i=t._def.input?wo(t._def.input,n):n,a=Reflect.apply(r,this,i);return t._def.output?wo(t._def.output,a):a}},t.implementAsync=r=>{if(typeof r!="function")throw new Error("implementAsync() must be called with a function");return async function(...n){let i=t._def.input?await ko(t._def.input,n):n,a=await Reflect.apply(r,this,i);return t._def.output?await ko(t._def.output,a):a}},t._zod.parse=(r,n)=>typeof r.value!="function"?(r.issues.push({code:"invalid_type",expected:"function",input:r.value,inst:t}),r):(t._def.output&&t._def.output._zod.def.type==="promise"?r.value=t.implementAsync(r.value):r.value=t.implement(r.value),r),t.input=(...r)=>{let n=t.constructor;return Array.isArray(r[0])?new n({type:"function",input:new Gc({type:"tuple",items:r[0],rest:r[1]}),output:t._def.output}):new n({type:"function",input:r[0],output:t._def.output})},t.output=r=>{let n=t.constructor;return new n({type:"function",input:t._def.input,output:r})},t)),ih=x("$ZodPromise",(t,e)=>{B.init(t,e),t._zod.parse=(r,n)=>Promise.resolve(r.value).then(i=>e.innerType._zod.run({value:i,issues:[]},n))}),ah=x("$ZodLazy",(t,e)=>{B.init(t,e),W(t._zod,"innerType",()=>e.getter()),W(t._zod,"pattern",()=>t._zod.innerType?._zod?.pattern),W(t._zod,"propValues",()=>t._zod.innerType?._zod?.propValues),W(t._zod,"optin",()=>t._zod.innerType?._zod?.optin??void 0),W(t._zod,"optout",()=>t._zod.innerType?._zod?.optout??void 0),t._zod.parse=(r,n)=>t._zod.innerType._zod.run(r,n)}),oh=x("$ZodCustom",(t,e)=>{xe.init(t,e),B.init(t,e),t._zod.parse=(r,n)=>r,t._zod.check=r=>{let n=r.value,i=e.fn(n);if(i instanceof Promise)return i.then(a=>D0(a,r,n,t));D0(i,r,n,t)}});function D0(t,e,r,n){if(!t){let i={code:"custom",input:r,inst:n,path:[...n._zod.def.path??[]],continue:!n._zod.def.abort};n._zod.def.params&&(i.params=n._zod.def.params),e.issues.push(Ui(i))}}var QD=()=>{let t={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"},map:{unit:"entries",verb:"to have"}};function e(i){return t[i]??null}let r={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",mac:"MAC address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"},n={nan:"NaN"};return i=>{switch(i.code){case"invalid_type":{let a=n[i.expected]??i.expected,o=L(i.input),s=n[o]??o;return`Invalid input: expected ${a}, received ${s}`}case"invalid_value":return i.values.length===1?`Invalid input: expected ${F(i.values[0])}`:`Invalid option: expected one of ${U(i.values,"|")}`;case"too_big":{let a=i.inclusive?"<=":"<",o=e(i.origin);return o?`Too big: expected ${i.origin??"value"} to have ${a}${i.maximum.toString()} ${o.unit??"elements"}`:`Too big: expected ${i.origin??"value"} to be ${a}${i.maximum.toString()}`}case"too_small":{let a=i.inclusive?">=":">",o=e(i.origin);return o?`Too small: expected ${i.origin} to have ${a}${i.minimum.toString()} ${o.unit}`:`Too small: expected ${i.origin} to be ${a}${i.minimum.toString()}`}case"invalid_format":{let a=i;return a.format==="starts_with"?`Invalid string: must start with "${a.prefix}"`:a.format==="ends_with"?`Invalid string: must end with "${a.suffix}"`:a.format==="includes"?`Invalid string: must include "${a.includes}"`:a.format==="regex"?`Invalid string: must match pattern ${a.pattern}`:`Invalid ${r[a.format]??i.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${i.divisor}`;case"unrecognized_keys":return`Unrecognized key${i.keys.length>1?"s":""}: ${U(i.keys,", ")}`;case"invalid_key":return`Invalid key in ${i.origin}`;case"invalid_union":return"Invalid input";case"invalid_element":return`Invalid value in ${i.origin}`;default:return"Invalid input"}}};function sh(){return{localeError:QD()}}var F0,q0=Symbol("ZodOutput"),L0=Symbol("ZodInput"),lh=class{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...r){let n=r[0];return this._map.set(e,n),n&&typeof n=="object"&&"id"in n&&this._idmap.set(n.id,e),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(e){let r=this._map.get(e);return r&&typeof r=="object"&&"id"in r&&this._idmap.delete(r.id),this._map.delete(e),this}get(e){let r=e._zod.parent;if(r){let n={...this.get(r)??{}};delete n.id;let i={...n,...this._map.get(e)};return Object.keys(i).length?i:void 0}return this._map.get(e)}has(e){return this._map.has(e)}};function uh(){return new lh}(F0=globalThis).__zod_globalRegistry??(F0.__zod_globalRegistry=uh());var ft=globalThis.__zod_globalRegistry;function ph(t,e){return new t({type:"string",...T(e)})}function Xc(t,e){return new t({type:"string",format:"email",check:"string_format",abort:!1,...T(e)})}function Do(t,e){return new t({type:"string",format:"guid",check:"string_format",abort:!1,...T(e)})}function Yc(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,...T(e)})}function Qc(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...T(e)})}function el(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...T(e)})}function tl(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...T(e)})}function Oo(t,e){return new t({type:"string",format:"url",check:"string_format",abort:!1,...T(e)})}function rl(t,e){return new t({type:"string",format:"emoji",check:"string_format",abort:!1,...T(e)})}function nl(t,e){return new t({type:"string",format:"nanoid",check:"string_format",abort:!1,...T(e)})}function il(t,e){return new t({type:"string",format:"cuid",check:"string_format",abort:!1,...T(e)})}function al(t,e){return new t({type:"string",format:"cuid2",check:"string_format",abort:!1,...T(e)})}function ol(t,e){return new t({type:"string",format:"ulid",check:"string_format",abort:!1,...T(e)})}function sl(t,e){return new t({type:"string",format:"xid",check:"string_format",abort:!1,...T(e)})}function cl(t,e){return new t({type:"string",format:"ksuid",check:"string_format",abort:!1,...T(e)})}function ll(t,e){return new t({type:"string",format:"ipv4",check:"string_format",abort:!1,...T(e)})}function ul(t,e){return new t({type:"string",format:"ipv6",check:"string_format",abort:!1,...T(e)})}function dh(t,e){return new t({type:"string",format:"mac",check:"string_format",abort:!1,...T(e)})}function pl(t,e){return new t({type:"string",format:"cidrv4",check:"string_format",abort:!1,...T(e)})}function dl(t,e){return new t({type:"string",format:"cidrv6",check:"string_format",abort:!1,...T(e)})}function fl(t,e){return new t({type:"string",format:"base64",check:"string_format",abort:!1,...T(e)})}function ml(t,e){return new t({type:"string",format:"base64url",check:"string_format",abort:!1,...T(e)})}function hl(t,e){return new t({type:"string",format:"e164",check:"string_format",abort:!1,...T(e)})}function gl(t,e){return new t({type:"string",format:"jwt",check:"string_format",abort:!1,...T(e)})}function fh(t,e){return new t({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...T(e)})}function mh(t,e){return new t({type:"string",format:"date",check:"string_format",...T(e)})}function hh(t,e){return new t({type:"string",format:"time",check:"string_format",precision:null,...T(e)})}function gh(t,e){return new t({type:"string",format:"duration",check:"string_format",...T(e)})}function vh(t,e){return new t({type:"number",checks:[],...T(e)})}function yh(t,e){return new t({type:"number",check:"number_format",abort:!1,format:"safeint",...T(e)})}function xh(t,e){return new t({type:"number",check:"number_format",abort:!1,format:"float32",...T(e)})}function bh(t,e){return new t({type:"number",check:"number_format",abort:!1,format:"float64",...T(e)})}function _h(t,e){return new t({type:"number",check:"number_format",abort:!1,format:"int32",...T(e)})}function wh(t,e){return new t({type:"number",check:"number_format",abort:!1,format:"uint32",...T(e)})}function Sh(t,e){return new t({type:"boolean",...T(e)})}function kh(t,e){return new t({type:"bigint",...T(e)})}function $h(t,e){return new t({type:"bigint",check:"bigint_format",abort:!1,format:"int64",...T(e)})}function Ih(t,e){return new t({type:"bigint",check:"bigint_format",abort:!1,format:"uint64",...T(e)})}function Ph(t,e){return new t({type:"symbol",...T(e)})}function Eh(t,e){return new t({type:"undefined",...T(e)})}function Th(t,e){return new t({type:"null",...T(e)})}function Ch(t){return new t({type:"any"})}function zh(t){return new t({type:"unknown"})}function Rh(t,e){return new t({type:"never",...T(e)})}function jh(t,e){return new t({type:"void",...T(e)})}function Dh(t,e){return new t({type:"date",...T(e)})}function Oh(t,e){return new t({type:"nan",...T(e)})}function Zr(t,e){return new Xf({check:"less_than",...T(e),value:t,inclusive:!1})}function At(t,e){return new Xf({check:"less_than",...T(e),value:t,inclusive:!0})}function Hr(t,e){return new Yf({check:"greater_than",...T(e),value:t,inclusive:!1})}function mt(t,e){return new Yf({check:"greater_than",...T(e),value:t,inclusive:!0})}function Nh(t){return Hr(0,t)}function Ah(t){return Zr(0,t)}function Mh(t){return At(0,t)}function Uh(t){return mt(0,t)}function Zn(t,e){return new i0({check:"multiple_of",...T(e),value:t})}function Hn(t,e){return new s0({check:"max_size",...T(e),maximum:t})}function Br(t,e){return new c0({check:"min_size",...T(e),minimum:t})}function qi(t,e){return new l0({check:"size_equals",...T(e),size:t})}function Li(t,e){return new u0({check:"max_length",...T(e),maximum:t})}function un(t,e){return new p0({check:"min_length",...T(e),minimum:t})}function Zi(t,e){return new d0({check:"length_equals",...T(e),length:t})}function No(t,e){return new f0({check:"string_format",format:"regex",...T(e),pattern:t})}function Ao(t){return new m0({check:"string_format",format:"lowercase",...T(t)})}function Mo(t){return new h0({check:"string_format",format:"uppercase",...T(t)})}function Uo(t,e){return new g0({check:"string_format",format:"includes",...T(e),includes:t})}function Fo(t,e){return new v0({check:"string_format",format:"starts_with",...T(e),prefix:t})}function qo(t,e){return new y0({check:"string_format",format:"ends_with",...T(e),suffix:t})}function Fh(t,e,r){return new x0({check:"property",property:t,schema:e,...T(r)})}function Lo(t,e){return new b0({check:"mime_type",mime:t,...T(e)})}function xr(t){return new _0({check:"overwrite",tx:t})}function Zo(t){return xr(e=>e.normalize(t))}function Ho(){return xr(t=>t.trim())}function Bo(){return xr(t=>t.toLowerCase())}function Vo(){return xr(t=>t.toUpperCase())}function vl(){return xr(t=>gf(t))}function Z0(t,e,r){return new t({type:"array",element:e,...T(r)})}function qh(t,e){return new t({type:"file",...T(e)})}function Lh(t,e,r){let n=T(r);return n.abort??(n.abort=!0),new t({type:"custom",check:"custom",fn:e,...n})}function Zh(t,e,r){return new t({type:"custom",check:"custom",fn:e,...T(r)})}function Hh(t){let e=nO(r=>(r.addIssue=n=>{if(typeof n=="string")r.issues.push(Ui(n,r.value,e._zod.def));else{let i=n;i.fatal&&(i.continue=!1),i.code??(i.code="custom"),i.input??(i.input=r.value),i.inst??(i.inst=e),i.continue??(i.continue=!e._zod.def.abort),r.issues.push(Ui(i))}},t(r.value,r)));return e}function nO(t,e){let r=new xe({check:"custom",...T(e)});return r._zod.check=t,r}function Bh(t){let e=new xe({check:"describe"});return e._zod.onattach=[r=>{let n=ft.get(r)??{};ft.add(r,{...n,description:t})}],e._zod.check=()=>{},e}function Vh(t){let e=new xe({check:"meta"});return e._zod.onattach=[r=>{let n=ft.get(r)??{};ft.add(r,{...n,...t})}],e._zod.check=()=>{},e}function Wh(t,e){let r=T(e),n=r.truthy??["true","1","yes","on","y","enabled"],i=r.falsy??["false","0","no","off","n","disabled"];r.case!=="sensitive"&&(n=n.map(f=>typeof f=="string"?f.toLowerCase():f),i=i.map(f=>typeof f=="string"?f.toLowerCase():f));let a=new Set(n),o=new Set(i),s=t.Codec??jo,c=t.Boolean??zo,l=t.String??Ln,u=new l({type:"string",error:r.error}),p=new c({type:"boolean",error:r.error}),d=new s({type:"pipe",in:u,out:p,transform:(f,m)=>{let h=f;return r.case!=="sensitive"&&(h=h.toLowerCase()),a.has(h)?!0:o.has(h)?!1:(m.issues.push({code:"invalid_value",expected:"stringbool",values:[...a,...o],input:m.value,inst:d,continue:!1}),{})},reverseTransform:(f,m)=>f===!0?n[0]||"true":i[0]||"false",error:r.error});return d}function Hi(t,e,r,n={}){let i=T(n),a={...T(n),check:"string_format",type:"string",format:e,fn:typeof r=="function"?r:s=>r.test(s),...i};return r instanceof RegExp&&(a.pattern=r),new t(a)}function yl(t){let e=t?.target??"draft-2020-12";return e==="draft-4"&&(e="draft-04"),e==="draft-7"&&(e="draft-07"),{processors:t.processors??{},metadataRegistry:t?.metadata??ft,target:e,unrepresentable:t?.unrepresentable??"throw",override:t?.override??(()=>{}),io:t?.io??"output",counter:0,seen:new Map,cycles:t?.cycles??"ref",reused:t?.reused??"inline",external:t?.external??void 0}}function ke(t,e,r={path:[],schemaPath:[]}){var n;let i=t._zod.def,a=e.seen.get(t);if(a)return a.count++,r.schemaPath.includes(t)&&(a.cycle=r.path),a.schema;let o={schema:{},count:1,cycle:void 0,path:r.path};e.seen.set(t,o);let s=t._zod.toJSONSchema?.();if(s)o.schema=s;else{let u={...r,schemaPath:[...r.schemaPath,t],path:r.path};if(t._zod.processJSONSchema)t._zod.processJSONSchema(e,o.schema,u);else{let d=o.schema,f=e.processors[i.type];if(!f)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${i.type}`);f(t,e,d,u)}let p=t._zod.parent;p&&(o.ref||(o.ref=p),ke(p,e,u),e.seen.get(p).isParent=!0)}let c=e.metadataRegistry.get(t);return c&&Object.assign(o.schema,c),e.io==="input"&&ht(t)&&(delete o.schema.examples,delete o.schema.default),e.io==="input"&&o.schema._prefault&&((n=o.schema).default??(n.default=o.schema._prefault)),delete o.schema._prefault,e.seen.get(t).schema}function xl(t,e){let r=t.seen.get(e);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");let n=new Map;for(let o of t.seen.entries()){let s=t.metadataRegistry.get(o[0])?.id;if(s){let c=n.get(s);if(c&&c!==o[0])throw new Error(`Duplicate schema id "${s}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);n.set(s,o[0])}}let i=o=>{let s=t.target==="draft-2020-12"?"$defs":"definitions";if(t.external){let p=t.external.registry.get(o[0])?.id,d=t.external.uri??(m=>m);if(p)return{ref:d(p)};let f=o[1].defId??o[1].schema.id??`schema${t.counter++}`;return o[1].defId=f,{defId:f,ref:`${d("__shared")}#/${s}/${f}`}}if(o[1]===r)return{ref:"#"};let l=`#/${s}/`,u=o[1].schema.id??`__schema${t.counter++}`;return{defId:u,ref:l+u}},a=o=>{if(o[1].schema.$ref)return;let s=o[1],{ref:c,defId:l}=i(o);s.def={...s.schema},l&&(s.defId=l);let u=s.schema;for(let p in u)delete u[p];u.$ref=c};if(t.cycles==="throw")for(let o of t.seen.entries()){let s=o[1];if(s.cycle)throw new Error(`Cycle detected: #/${s.cycle?.join("/")}/<root>
|
|
96
|
+
`)}f.write("payload.value = newResult;"),f.write("return payload;");let S=f.compile();return(_,k)=>S(d,_,k)},a,o=Fn,s=!jc.jitless,l=s&&vf.value,u=e.catchall,p;t._zod.parse=(d,f)=>{p??(p=n.value);let m=d.value;return o(m)?s&&l&&f?.async===!1&&f.jitless!==!0?(a||(a=i(e.shape)),d=a(d,f),u?A0([],m,d,f,p,t):d):r(d,f):(d.issues.push({expected:"object",code:"invalid_type",input:m,inst:t}),d)}});function $0(t,e,r,n){for(let a of t)if(a.issues.length===0)return e.value=a.value,e;let i=t.filter(a=>!ln(a));return i.length===1?(e.value=i[0].value,i[0]):(e.issues.push({code:"invalid_union",input:e.value,inst:r,errors:t.map(a=>a.issues.map(o=>St(o,n,Be())))}),e)}var Ro=x("$ZodUnion",(t,e)=>{B.init(t,e),W(t._zod,"optin",()=>e.options.some(i=>i._zod.optin==="optional")?"optional":void 0),W(t._zod,"optout",()=>e.options.some(i=>i._zod.optout==="optional")?"optional":void 0),W(t._zod,"values",()=>{if(e.options.every(i=>i._zod.values))return new Set(e.options.flatMap(i=>Array.from(i._zod.values)))}),W(t._zod,"pattern",()=>{if(e.options.every(i=>i._zod.pattern)){let i=e.options.map(a=>a._zod.pattern);return new RegExp(`^(${i.map(a=>go(a.source)).join("|")})$`)}});let r=e.options.length===1,n=e.options[0]._zod.run;t._zod.parse=(i,a)=>{if(r)return n(i,a);let o=!1,s=[];for(let c of e.options){let l=c._zod.run({value:i.value,issues:[]},a);if(l instanceof Promise)s.push(l),o=!0;else{if(l.issues.length===0)return l;s.push(l)}}return o?Promise.all(s).then(c=>$0(c,i,t,a)):$0(s,i,t,a)}});function I0(t,e,r,n){let i=t.filter(a=>a.issues.length===0);return i.length===1?(e.value=i[0].value,e):(i.length===0?e.issues.push({code:"invalid_union",input:e.value,inst:r,errors:t.map(a=>a.issues.map(o=>St(o,n,Be())))}):e.issues.push({code:"invalid_union",input:e.value,inst:r,errors:[],inclusive:!1}),e)}var Nm=x("$ZodXor",(t,e)=>{Ro.init(t,e),e.inclusive=!1;let r=e.options.length===1,n=e.options[0]._zod.run;t._zod.parse=(i,a)=>{if(r)return n(i,a);let o=!1,s=[];for(let c of e.options){let l=c._zod.run({value:i.value,issues:[]},a);l instanceof Promise?(s.push(l),o=!0):s.push(l)}return o?Promise.all(s).then(c=>I0(c,i,t,a)):I0(s,i,t,a)}}),Am=x("$ZodDiscriminatedUnion",(t,e)=>{e.inclusive=!1,Ro.init(t,e);let r=t._zod.parse;W(t._zod,"propValues",()=>{let i={};for(let a of e.options){let o=a._zod.propValues;if(!o||Object.keys(o).length===0)throw new Error(`Invalid discriminated union option at index "${e.options.indexOf(a)}"`);for(let[s,c]of Object.entries(o)){i[s]||(i[s]=new Set);for(let l of c)i[s].add(l)}}return i});let n=Mi(()=>{let i=e.options,a=new Map;for(let o of i){let s=o._zod.propValues?.[e.discriminator];if(!s||s.size===0)throw new Error(`Invalid discriminated union option at index "${e.options.indexOf(o)}"`);for(let c of s){if(a.has(c))throw new Error(`Duplicate discriminator value "${String(c)}"`);a.set(c,o)}}return a});t._zod.parse=(i,a)=>{let o=i.value;if(!Fn(o))return i.issues.push({code:"invalid_type",expected:"object",input:o,inst:t}),i;let s=n.value.get(o?.[e.discriminator]);return s?s._zod.run(i,a):e.unionFallback?r(i,a):(i.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:e.discriminator,input:o,path:[e.discriminator],inst:t}),i)}}),Mm=x("$ZodIntersection",(t,e)=>{B.init(t,e),t._zod.parse=(r,n)=>{let i=r.value,a=e.left._zod.run({value:i,issues:[]},n),o=e.right._zod.run({value:i,issues:[]},n);return a instanceof Promise||o instanceof Promise?Promise.all([a,o]).then(([c,l])=>P0(r,c,l)):P0(r,a,o)}});function Qf(t,e){if(t===e)return{valid:!0,data:t};if(t instanceof Date&&e instanceof Date&&+t==+e)return{valid:!0,data:t};if(cn(t)&&cn(e)){let r=Object.keys(e),n=Object.keys(t).filter(a=>r.indexOf(a)!==-1),i={...t,...e};for(let a of n){let o=Qf(t[a],e[a]);if(!o.valid)return{valid:!1,mergeErrorPath:[a,...o.mergeErrorPath]};i[a]=o.data}return{valid:!0,data:i}}if(Array.isArray(t)&&Array.isArray(e)){if(t.length!==e.length)return{valid:!1,mergeErrorPath:[]};let r=[];for(let n=0;n<t.length;n++){let i=t[n],a=e[n],o=Qf(i,a);if(!o.valid)return{valid:!1,mergeErrorPath:[n,...o.mergeErrorPath]};r.push(o.data)}return{valid:!0,data:r}}return{valid:!1,mergeErrorPath:[]}}function P0(t,e,r){let n=new Map,i;for(let s of e.issues)if(s.code==="unrecognized_keys"){i??(i=s);for(let c of s.keys)n.has(c)||n.set(c,{}),n.get(c).l=!0}else t.issues.push(s);for(let s of r.issues)if(s.code==="unrecognized_keys")for(let c of s.keys)n.has(c)||n.set(c,{}),n.get(c).r=!0;else t.issues.push(s);let a=[...n].filter(([,s])=>s.l&&s.r).map(([s])=>s);if(a.length&&i&&t.issues.push({...i,keys:a}),ln(t))return t;let o=Qf(e.value,r.value);if(!o.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(o.mergeErrorPath)}`);return t.value=o.data,t}var Gc=x("$ZodTuple",(t,e)=>{B.init(t,e);let r=e.items;t._zod.parse=(n,i)=>{let a=n.value;if(!Array.isArray(a))return n.issues.push({input:a,inst:t,expected:"tuple",code:"invalid_type"}),n;n.value=[];let o=[],s=[...r].reverse().findIndex(u=>u._zod.optin!=="optional"),c=s===-1?0:r.length-s;if(!e.rest){let u=a.length>r.length,p=a.length<c-1;if(u||p)return n.issues.push({...u?{code:"too_big",maximum:r.length,inclusive:!0}:{code:"too_small",minimum:r.length},input:a,inst:t,origin:"array"}),n}let l=-1;for(let u of r){if(l++,l>=a.length&&l>=c)continue;let p=u._zod.run({value:a[l],issues:[]},i);p instanceof Promise?o.push(p.then(d=>Lc(d,n,l))):Lc(p,n,l)}if(e.rest){let u=a.slice(r.length);for(let p of u){l++;let d=e.rest._zod.run({value:p,issues:[]},i);d instanceof Promise?o.push(d.then(f=>Lc(f,n,l))):Lc(d,n,l)}}return o.length?Promise.all(o).then(()=>n):n}});function Lc(t,e,r){t.issues.length&&e.issues.push(...Nt(r,t.issues)),e.value[r]=t.value}var Um=x("$ZodRecord",(t,e)=>{B.init(t,e),t._zod.parse=(r,n)=>{let i=r.value;if(!cn(i))return r.issues.push({expected:"record",code:"invalid_type",input:i,inst:t}),r;let a=[],o=e.keyType._zod.values;if(o){r.value={};let s=new Set;for(let l of o)if(typeof l=="string"||typeof l=="number"||typeof l=="symbol"){s.add(typeof l=="number"?l.toString():l);let u=e.valueType._zod.run({value:i[l],issues:[]},n);u instanceof Promise?a.push(u.then(p=>{p.issues.length&&r.issues.push(...Nt(l,p.issues)),r.value[l]=p.value})):(u.issues.length&&r.issues.push(...Nt(l,u.issues)),r.value[l]=u.value)}let c;for(let l in i)s.has(l)||(c=c??[],c.push(l));c&&c.length>0&&r.issues.push({code:"unrecognized_keys",input:i,inst:t,keys:c})}else{r.value={};for(let s of Reflect.ownKeys(i)){if(s==="__proto__")continue;let c=e.keyType._zod.run({value:s,issues:[]},n);if(c instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(typeof s=="string"&&Fc.test(s)&&c.issues.length){let p=e.keyType._zod.run({value:Number(s),issues:[]},n);if(p instanceof Promise)throw new Error("Async schemas not supported in object keys currently");p.issues.length===0&&(c=p)}if(c.issues.length){e.mode==="loose"?r.value[s]=i[s]:r.issues.push({code:"invalid_key",origin:"record",issues:c.issues.map(p=>St(p,n,Be())),input:s,path:[s],inst:t});continue}let u=e.valueType._zod.run({value:i[s],issues:[]},n);u instanceof Promise?a.push(u.then(p=>{p.issues.length&&r.issues.push(...Nt(s,p.issues)),r.value[c.value]=p.value})):(u.issues.length&&r.issues.push(...Nt(s,u.issues)),r.value[c.value]=u.value)}}return a.length?Promise.all(a).then(()=>r):r}}),Fm=x("$ZodMap",(t,e)=>{B.init(t,e),t._zod.parse=(r,n)=>{let i=r.value;if(!(i instanceof Map))return r.issues.push({expected:"map",code:"invalid_type",input:i,inst:t}),r;let a=[];r.value=new Map;for(let[o,s]of i){let c=e.keyType._zod.run({value:o,issues:[]},n),l=e.valueType._zod.run({value:s,issues:[]},n);c instanceof Promise||l instanceof Promise?a.push(Promise.all([c,l]).then(([u,p])=>{E0(u,p,r,o,i,t,n)})):E0(c,l,r,o,i,t,n)}return a.length?Promise.all(a).then(()=>r):r}});function E0(t,e,r,n,i,a,o){t.issues.length&&(vo.has(typeof n)?r.issues.push(...Nt(n,t.issues)):r.issues.push({code:"invalid_key",origin:"map",input:i,inst:a,issues:t.issues.map(s=>St(s,o,Be()))})),e.issues.length&&(vo.has(typeof n)?r.issues.push(...Nt(n,e.issues)):r.issues.push({origin:"map",code:"invalid_element",input:i,inst:a,key:n,issues:e.issues.map(s=>St(s,o,Be()))})),r.value.set(t.value,e.value)}var qm=x("$ZodSet",(t,e)=>{B.init(t,e),t._zod.parse=(r,n)=>{let i=r.value;if(!(i instanceof Set))return r.issues.push({input:i,inst:t,expected:"set",code:"invalid_type"}),r;let a=[];r.value=new Set;for(let o of i){let s=e.valueType._zod.run({value:o,issues:[]},n);s instanceof Promise?a.push(s.then(c=>T0(c,r))):T0(s,r)}return a.length?Promise.all(a).then(()=>r):r}});function T0(t,e){t.issues.length&&e.issues.push(...t.issues),e.value.add(t.value)}var Lm=x("$ZodEnum",(t,e)=>{B.init(t,e);let r=ho(e.entries),n=new Set(r);t._zod.values=n,t._zod.pattern=new RegExp(`^(${r.filter(i=>vo.has(typeof i)).map(i=>typeof i=="string"?Ht(i):i.toString()).join("|")})$`),t._zod.parse=(i,a)=>{let o=i.value;return n.has(o)||i.issues.push({code:"invalid_value",values:r,input:o,inst:t}),i}}),Zm=x("$ZodLiteral",(t,e)=>{if(B.init(t,e),e.values.length===0)throw new Error("Cannot create literal schema with no valid values");let r=new Set(e.values);t._zod.values=r,t._zod.pattern=new RegExp(`^(${e.values.map(n=>typeof n=="string"?Ht(n):n?Ht(n.toString()):String(n)).join("|")})$`),t._zod.parse=(n,i)=>{let a=n.value;return r.has(a)||n.issues.push({code:"invalid_value",values:e.values,input:a,inst:t}),n}}),Hm=x("$ZodFile",(t,e)=>{B.init(t,e),t._zod.parse=(r,n)=>{let i=r.value;return i instanceof File||r.issues.push({expected:"file",code:"invalid_type",input:i,inst:t}),r}}),Bm=x("$ZodTransform",(t,e)=>{B.init(t,e),t._zod.parse=(r,n)=>{if(n.direction==="backward")throw new Un(t.constructor.name);let i=e.transform(r.value,r);if(n.async)return(i instanceof Promise?i:Promise.resolve(i)).then(o=>(r.value=o,r));if(i instanceof Promise)throw new yr;return r.value=i,r}});function C0(t,e){return t.issues.length&&e===void 0?{issues:[],value:void 0}:t}var Kc=x("$ZodOptional",(t,e)=>{B.init(t,e),t._zod.optin="optional",t._zod.optout="optional",W(t._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,void 0]):void 0),W(t._zod,"pattern",()=>{let r=e.innerType._zod.pattern;return r?new RegExp(`^(${go(r.source)})?$`):void 0}),t._zod.parse=(r,n)=>{if(e.innerType._zod.optin==="optional"){let i=e.innerType._zod.run(r,n);return i instanceof Promise?i.then(a=>C0(a,r.value)):C0(i,r.value)}return r.value===void 0?r:e.innerType._zod.run(r,n)}}),Vm=x("$ZodExactOptional",(t,e)=>{Kc.init(t,e),W(t._zod,"values",()=>e.innerType._zod.values),W(t._zod,"pattern",()=>e.innerType._zod.pattern),t._zod.parse=(r,n)=>e.innerType._zod.run(r,n)}),Wm=x("$ZodNullable",(t,e)=>{B.init(t,e),W(t._zod,"optin",()=>e.innerType._zod.optin),W(t._zod,"optout",()=>e.innerType._zod.optout),W(t._zod,"pattern",()=>{let r=e.innerType._zod.pattern;return r?new RegExp(`^(${go(r.source)}|null)$`):void 0}),W(t._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,null]):void 0),t._zod.parse=(r,n)=>r.value===null?r:e.innerType._zod.run(r,n)}),Jm=x("$ZodDefault",(t,e)=>{B.init(t,e),t._zod.optin="optional",W(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,n)=>{if(n.direction==="backward")return e.innerType._zod.run(r,n);if(r.value===void 0)return r.value=e.defaultValue,r;let i=e.innerType._zod.run(r,n);return i instanceof Promise?i.then(a=>z0(a,e)):z0(i,e)}});function z0(t,e){return t.value===void 0&&(t.value=e.defaultValue),t}var Gm=x("$ZodPrefault",(t,e)=>{B.init(t,e),t._zod.optin="optional",W(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,n)=>(n.direction==="backward"||r.value===void 0&&(r.value=e.defaultValue),e.innerType._zod.run(r,n))}),Km=x("$ZodNonOptional",(t,e)=>{B.init(t,e),W(t._zod,"values",()=>{let r=e.innerType._zod.values;return r?new Set([...r].filter(n=>n!==void 0)):void 0}),t._zod.parse=(r,n)=>{let i=e.innerType._zod.run(r,n);return i instanceof Promise?i.then(a=>R0(a,t)):R0(i,t)}});function R0(t,e){return!t.issues.length&&t.value===void 0&&t.issues.push({code:"invalid_type",expected:"nonoptional",input:t.value,inst:e}),t}var Xm=x("$ZodSuccess",(t,e)=>{B.init(t,e),t._zod.parse=(r,n)=>{if(n.direction==="backward")throw new Un("ZodSuccess");let i=e.innerType._zod.run(r,n);return i instanceof Promise?i.then(a=>(r.value=a.issues.length===0,r)):(r.value=i.issues.length===0,r)}}),Ym=x("$ZodCatch",(t,e)=>{B.init(t,e),W(t._zod,"optin",()=>e.innerType._zod.optin),W(t._zod,"optout",()=>e.innerType._zod.optout),W(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,n)=>{if(n.direction==="backward")return e.innerType._zod.run(r,n);let i=e.innerType._zod.run(r,n);return i instanceof Promise?i.then(a=>(r.value=a.value,a.issues.length&&(r.value=e.catchValue({...r,error:{issues:a.issues.map(o=>St(o,n,Be()))},input:r.value}),r.issues=[]),r)):(r.value=i.value,i.issues.length&&(r.value=e.catchValue({...r,error:{issues:i.issues.map(a=>St(a,n,Be()))},input:r.value}),r.issues=[]),r)}}),Qm=x("$ZodNaN",(t,e)=>{B.init(t,e),t._zod.parse=(r,n)=>((typeof r.value!="number"||!Number.isNaN(r.value))&&r.issues.push({input:r.value,inst:t,expected:"nan",code:"invalid_type"}),r)}),eh=x("$ZodPipe",(t,e)=>{B.init(t,e),W(t._zod,"values",()=>e.in._zod.values),W(t._zod,"optin",()=>e.in._zod.optin),W(t._zod,"optout",()=>e.out._zod.optout),W(t._zod,"propValues",()=>e.in._zod.propValues),t._zod.parse=(r,n)=>{if(n.direction==="backward"){let a=e.out._zod.run(r,n);return a instanceof Promise?a.then(o=>Zc(o,e.in,n)):Zc(a,e.in,n)}let i=e.in._zod.run(r,n);return i instanceof Promise?i.then(a=>Zc(a,e.out,n)):Zc(i,e.out,n)}});function Zc(t,e,r){return t.issues.length?(t.aborted=!0,t):e._zod.run({value:t.value,issues:t.issues},r)}var jo=x("$ZodCodec",(t,e)=>{B.init(t,e),W(t._zod,"values",()=>e.in._zod.values),W(t._zod,"optin",()=>e.in._zod.optin),W(t._zod,"optout",()=>e.out._zod.optout),W(t._zod,"propValues",()=>e.in._zod.propValues),t._zod.parse=(r,n)=>{if((n.direction||"forward")==="forward"){let a=e.in._zod.run(r,n);return a instanceof Promise?a.then(o=>Hc(o,e,n)):Hc(a,e,n)}else{let a=e.out._zod.run(r,n);return a instanceof Promise?a.then(o=>Hc(o,e,n)):Hc(a,e,n)}}});function Hc(t,e,r){if(t.issues.length)return t.aborted=!0,t;if((r.direction||"forward")==="forward"){let i=e.transform(t.value,t);return i instanceof Promise?i.then(a=>Bc(t,a,e.out,r)):Bc(t,i,e.out,r)}else{let i=e.reverseTransform(t.value,t);return i instanceof Promise?i.then(a=>Bc(t,a,e.in,r)):Bc(t,i,e.in,r)}}function Bc(t,e,r,n){return t.issues.length?(t.aborted=!0,t):r._zod.run({value:e,issues:t.issues},n)}var th=x("$ZodReadonly",(t,e)=>{B.init(t,e),W(t._zod,"propValues",()=>e.innerType._zod.propValues),W(t._zod,"values",()=>e.innerType._zod.values),W(t._zod,"optin",()=>e.innerType?._zod?.optin),W(t._zod,"optout",()=>e.innerType?._zod?.optout),t._zod.parse=(r,n)=>{if(n.direction==="backward")return e.innerType._zod.run(r,n);let i=e.innerType._zod.run(r,n);return i instanceof Promise?i.then(j0):j0(i)}});function j0(t){return t.value=Object.freeze(t.value),t}var rh=x("$ZodTemplateLiteral",(t,e)=>{B.init(t,e);let r=[];for(let n of e.parts)if(typeof n=="object"&&n!==null){if(!n._zod.pattern)throw new Error(`Invalid template literal part, no pattern found: ${[...n._zod.traits].shift()}`);let i=n._zod.pattern instanceof RegExp?n._zod.pattern.source:n._zod.pattern;if(!i)throw new Error(`Invalid template literal part: ${n._zod.traits}`);let a=i.startsWith("^")?1:0,o=i.endsWith("$")?i.length-1:i.length;r.push(i.slice(a,o))}else if(n===null||xf.has(typeof n))r.push(Ht(`${n}`));else throw new Error(`Invalid template literal part: ${n}`);t._zod.pattern=new RegExp(`^${r.join("")}$`),t._zod.parse=(n,i)=>typeof n.value!="string"?(n.issues.push({input:n.value,inst:t,expected:"string",code:"invalid_type"}),n):(t._zod.pattern.lastIndex=0,t._zod.pattern.test(n.value)||n.issues.push({input:n.value,inst:t,code:"invalid_format",format:e.format??"template_literal",pattern:t._zod.pattern.source}),n)}),nh=x("$ZodFunction",(t,e)=>(B.init(t,e),t._def=e,t._zod.def=e,t.implement=r=>{if(typeof r!="function")throw new Error("implement() must be called with a function");return function(...n){let i=t._def.input?wo(t._def.input,n):n,a=Reflect.apply(r,this,i);return t._def.output?wo(t._def.output,a):a}},t.implementAsync=r=>{if(typeof r!="function")throw new Error("implementAsync() must be called with a function");return async function(...n){let i=t._def.input?await ko(t._def.input,n):n,a=await Reflect.apply(r,this,i);return t._def.output?await ko(t._def.output,a):a}},t._zod.parse=(r,n)=>typeof r.value!="function"?(r.issues.push({code:"invalid_type",expected:"function",input:r.value,inst:t}),r):(t._def.output&&t._def.output._zod.def.type==="promise"?r.value=t.implementAsync(r.value):r.value=t.implement(r.value),r),t.input=(...r)=>{let n=t.constructor;return Array.isArray(r[0])?new n({type:"function",input:new Gc({type:"tuple",items:r[0],rest:r[1]}),output:t._def.output}):new n({type:"function",input:r[0],output:t._def.output})},t.output=r=>{let n=t.constructor;return new n({type:"function",input:t._def.input,output:r})},t)),ih=x("$ZodPromise",(t,e)=>{B.init(t,e),t._zod.parse=(r,n)=>Promise.resolve(r.value).then(i=>e.innerType._zod.run({value:i,issues:[]},n))}),ah=x("$ZodLazy",(t,e)=>{B.init(t,e),W(t._zod,"innerType",()=>e.getter()),W(t._zod,"pattern",()=>t._zod.innerType?._zod?.pattern),W(t._zod,"propValues",()=>t._zod.innerType?._zod?.propValues),W(t._zod,"optin",()=>t._zod.innerType?._zod?.optin??void 0),W(t._zod,"optout",()=>t._zod.innerType?._zod?.optout??void 0),t._zod.parse=(r,n)=>t._zod.innerType._zod.run(r,n)}),oh=x("$ZodCustom",(t,e)=>{xe.init(t,e),B.init(t,e),t._zod.parse=(r,n)=>r,t._zod.check=r=>{let n=r.value,i=e.fn(n);if(i instanceof Promise)return i.then(a=>D0(a,r,n,t));D0(i,r,n,t)}});function D0(t,e,r,n){if(!t){let i={code:"custom",input:r,inst:n,path:[...n._zod.def.path??[]],continue:!n._zod.def.abort};n._zod.def.params&&(i.params=n._zod.def.params),e.issues.push(Ui(i))}}var QD=()=>{let t={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"},map:{unit:"entries",verb:"to have"}};function e(i){return t[i]??null}let r={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",mac:"MAC address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"},n={nan:"NaN"};return i=>{switch(i.code){case"invalid_type":{let a=n[i.expected]??i.expected,o=L(i.input),s=n[o]??o;return`Invalid input: expected ${a}, received ${s}`}case"invalid_value":return i.values.length===1?`Invalid input: expected ${F(i.values[0])}`:`Invalid option: expected one of ${U(i.values,"|")}`;case"too_big":{let a=i.inclusive?"<=":"<",o=e(i.origin);return o?`Too big: expected ${i.origin??"value"} to have ${a}${i.maximum.toString()} ${o.unit??"elements"}`:`Too big: expected ${i.origin??"value"} to be ${a}${i.maximum.toString()}`}case"too_small":{let a=i.inclusive?">=":">",o=e(i.origin);return o?`Too small: expected ${i.origin} to have ${a}${i.minimum.toString()} ${o.unit}`:`Too small: expected ${i.origin} to be ${a}${i.minimum.toString()}`}case"invalid_format":{let a=i;return a.format==="starts_with"?`Invalid string: must start with "${a.prefix}"`:a.format==="ends_with"?`Invalid string: must end with "${a.suffix}"`:a.format==="includes"?`Invalid string: must include "${a.includes}"`:a.format==="regex"?`Invalid string: must match pattern ${a.pattern}`:`Invalid ${r[a.format]??i.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${i.divisor}`;case"unrecognized_keys":return`Unrecognized key${i.keys.length>1?"s":""}: ${U(i.keys,", ")}`;case"invalid_key":return`Invalid key in ${i.origin}`;case"invalid_union":return"Invalid input";case"invalid_element":return`Invalid value in ${i.origin}`;default:return"Invalid input"}}};function sh(){return{localeError:QD()}}var F0,q0=Symbol("ZodOutput"),L0=Symbol("ZodInput"),lh=class{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...r){let n=r[0];return this._map.set(e,n),n&&typeof n=="object"&&"id"in n&&this._idmap.set(n.id,e),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(e){let r=this._map.get(e);return r&&typeof r=="object"&&"id"in r&&this._idmap.delete(r.id),this._map.delete(e),this}get(e){let r=e._zod.parent;if(r){let n={...this.get(r)??{}};delete n.id;let i={...n,...this._map.get(e)};return Object.keys(i).length?i:void 0}return this._map.get(e)}has(e){return this._map.has(e)}};function uh(){return new lh}(F0=globalThis).__zod_globalRegistry??(F0.__zod_globalRegistry=uh());var ft=globalThis.__zod_globalRegistry;function ph(t,e){return new t({type:"string",...T(e)})}function Xc(t,e){return new t({type:"string",format:"email",check:"string_format",abort:!1,...T(e)})}function Do(t,e){return new t({type:"string",format:"guid",check:"string_format",abort:!1,...T(e)})}function Yc(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,...T(e)})}function Qc(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...T(e)})}function el(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...T(e)})}function tl(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...T(e)})}function Oo(t,e){return new t({type:"string",format:"url",check:"string_format",abort:!1,...T(e)})}function rl(t,e){return new t({type:"string",format:"emoji",check:"string_format",abort:!1,...T(e)})}function nl(t,e){return new t({type:"string",format:"nanoid",check:"string_format",abort:!1,...T(e)})}function il(t,e){return new t({type:"string",format:"cuid",check:"string_format",abort:!1,...T(e)})}function al(t,e){return new t({type:"string",format:"cuid2",check:"string_format",abort:!1,...T(e)})}function ol(t,e){return new t({type:"string",format:"ulid",check:"string_format",abort:!1,...T(e)})}function sl(t,e){return new t({type:"string",format:"xid",check:"string_format",abort:!1,...T(e)})}function cl(t,e){return new t({type:"string",format:"ksuid",check:"string_format",abort:!1,...T(e)})}function ll(t,e){return new t({type:"string",format:"ipv4",check:"string_format",abort:!1,...T(e)})}function ul(t,e){return new t({type:"string",format:"ipv6",check:"string_format",abort:!1,...T(e)})}function dh(t,e){return new t({type:"string",format:"mac",check:"string_format",abort:!1,...T(e)})}function pl(t,e){return new t({type:"string",format:"cidrv4",check:"string_format",abort:!1,...T(e)})}function dl(t,e){return new t({type:"string",format:"cidrv6",check:"string_format",abort:!1,...T(e)})}function fl(t,e){return new t({type:"string",format:"base64",check:"string_format",abort:!1,...T(e)})}function ml(t,e){return new t({type:"string",format:"base64url",check:"string_format",abort:!1,...T(e)})}function hl(t,e){return new t({type:"string",format:"e164",check:"string_format",abort:!1,...T(e)})}function gl(t,e){return new t({type:"string",format:"jwt",check:"string_format",abort:!1,...T(e)})}function fh(t,e){return new t({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...T(e)})}function mh(t,e){return new t({type:"string",format:"date",check:"string_format",...T(e)})}function hh(t,e){return new t({type:"string",format:"time",check:"string_format",precision:null,...T(e)})}function gh(t,e){return new t({type:"string",format:"duration",check:"string_format",...T(e)})}function vh(t,e){return new t({type:"number",checks:[],...T(e)})}function yh(t,e){return new t({type:"number",check:"number_format",abort:!1,format:"safeint",...T(e)})}function xh(t,e){return new t({type:"number",check:"number_format",abort:!1,format:"float32",...T(e)})}function bh(t,e){return new t({type:"number",check:"number_format",abort:!1,format:"float64",...T(e)})}function _h(t,e){return new t({type:"number",check:"number_format",abort:!1,format:"int32",...T(e)})}function wh(t,e){return new t({type:"number",check:"number_format",abort:!1,format:"uint32",...T(e)})}function Sh(t,e){return new t({type:"boolean",...T(e)})}function kh(t,e){return new t({type:"bigint",...T(e)})}function $h(t,e){return new t({type:"bigint",check:"bigint_format",abort:!1,format:"int64",...T(e)})}function Ih(t,e){return new t({type:"bigint",check:"bigint_format",abort:!1,format:"uint64",...T(e)})}function Ph(t,e){return new t({type:"symbol",...T(e)})}function Eh(t,e){return new t({type:"undefined",...T(e)})}function Th(t,e){return new t({type:"null",...T(e)})}function Ch(t){return new t({type:"any"})}function zh(t){return new t({type:"unknown"})}function Rh(t,e){return new t({type:"never",...T(e)})}function jh(t,e){return new t({type:"void",...T(e)})}function Dh(t,e){return new t({type:"date",...T(e)})}function Oh(t,e){return new t({type:"nan",...T(e)})}function Zr(t,e){return new Xf({check:"less_than",...T(e),value:t,inclusive:!1})}function At(t,e){return new Xf({check:"less_than",...T(e),value:t,inclusive:!0})}function Hr(t,e){return new Yf({check:"greater_than",...T(e),value:t,inclusive:!1})}function mt(t,e){return new Yf({check:"greater_than",...T(e),value:t,inclusive:!0})}function Nh(t){return Hr(0,t)}function Ah(t){return Zr(0,t)}function Mh(t){return At(0,t)}function Uh(t){return mt(0,t)}function Zn(t,e){return new i0({check:"multiple_of",...T(e),value:t})}function Hn(t,e){return new s0({check:"max_size",...T(e),maximum:t})}function Br(t,e){return new c0({check:"min_size",...T(e),minimum:t})}function qi(t,e){return new l0({check:"size_equals",...T(e),size:t})}function Li(t,e){return new u0({check:"max_length",...T(e),maximum:t})}function un(t,e){return new p0({check:"min_length",...T(e),minimum:t})}function Zi(t,e){return new d0({check:"length_equals",...T(e),length:t})}function No(t,e){return new f0({check:"string_format",format:"regex",...T(e),pattern:t})}function Ao(t){return new m0({check:"string_format",format:"lowercase",...T(t)})}function Mo(t){return new h0({check:"string_format",format:"uppercase",...T(t)})}function Uo(t,e){return new g0({check:"string_format",format:"includes",...T(e),includes:t})}function Fo(t,e){return new v0({check:"string_format",format:"starts_with",...T(e),prefix:t})}function qo(t,e){return new y0({check:"string_format",format:"ends_with",...T(e),suffix:t})}function Fh(t,e,r){return new x0({check:"property",property:t,schema:e,...T(r)})}function Lo(t,e){return new b0({check:"mime_type",mime:t,...T(e)})}function xr(t){return new _0({check:"overwrite",tx:t})}function Zo(t){return xr(e=>e.normalize(t))}function Ho(){return xr(t=>t.trim())}function Bo(){return xr(t=>t.toLowerCase())}function Vo(){return xr(t=>t.toUpperCase())}function vl(){return xr(t=>gf(t))}function Z0(t,e,r){return new t({type:"array",element:e,...T(r)})}function qh(t,e){return new t({type:"file",...T(e)})}function Lh(t,e,r){let n=T(r);return n.abort??(n.abort=!0),new t({type:"custom",check:"custom",fn:e,...n})}function Zh(t,e,r){return new t({type:"custom",check:"custom",fn:e,...T(r)})}function Hh(t){let e=nO(r=>(r.addIssue=n=>{if(typeof n=="string")r.issues.push(Ui(n,r.value,e._zod.def));else{let i=n;i.fatal&&(i.continue=!1),i.code??(i.code="custom"),i.input??(i.input=r.value),i.inst??(i.inst=e),i.continue??(i.continue=!e._zod.def.abort),r.issues.push(Ui(i))}},t(r.value,r)));return e}function nO(t,e){let r=new xe({check:"custom",...T(e)});return r._zod.check=t,r}function Bh(t){let e=new xe({check:"describe"});return e._zod.onattach=[r=>{let n=ft.get(r)??{};ft.add(r,{...n,description:t})}],e._zod.check=()=>{},e}function Vh(t){let e=new xe({check:"meta"});return e._zod.onattach=[r=>{let n=ft.get(r)??{};ft.add(r,{...n,...t})}],e._zod.check=()=>{},e}function Wh(t,e){let r=T(e),n=r.truthy??["true","1","yes","on","y","enabled"],i=r.falsy??["false","0","no","off","n","disabled"];r.case!=="sensitive"&&(n=n.map(f=>typeof f=="string"?f.toLowerCase():f),i=i.map(f=>typeof f=="string"?f.toLowerCase():f));let a=new Set(n),o=new Set(i),s=t.Codec??jo,c=t.Boolean??zo,l=t.String??Ln,u=new l({type:"string",error:r.error}),p=new c({type:"boolean",error:r.error}),d=new s({type:"pipe",in:u,out:p,transform:(f,m)=>{let h=f;return r.case!=="sensitive"&&(h=h.toLowerCase()),a.has(h)?!0:o.has(h)?!1:(m.issues.push({code:"invalid_value",expected:"stringbool",values:[...a,...o],input:m.value,inst:d,continue:!1}),{})},reverseTransform:(f,m)=>f===!0?n[0]||"true":i[0]||"false",error:r.error});return d}function Hi(t,e,r,n={}){let i=T(n),a={...T(n),check:"string_format",type:"string",format:e,fn:typeof r=="function"?r:s=>r.test(s),...i};return r instanceof RegExp&&(a.pattern=r),new t(a)}function yl(t){let e=t?.target??"draft-2020-12";return e==="draft-4"&&(e="draft-04"),e==="draft-7"&&(e="draft-07"),{processors:t.processors??{},metadataRegistry:t?.metadata??ft,target:e,unrepresentable:t?.unrepresentable??"throw",override:t?.override??(()=>{}),io:t?.io??"output",counter:0,seen:new Map,cycles:t?.cycles??"ref",reused:t?.reused??"inline",external:t?.external??void 0}}function $e(t,e,r={path:[],schemaPath:[]}){var n;let i=t._zod.def,a=e.seen.get(t);if(a)return a.count++,r.schemaPath.includes(t)&&(a.cycle=r.path),a.schema;let o={schema:{},count:1,cycle:void 0,path:r.path};e.seen.set(t,o);let s=t._zod.toJSONSchema?.();if(s)o.schema=s;else{let u={...r,schemaPath:[...r.schemaPath,t],path:r.path};if(t._zod.processJSONSchema)t._zod.processJSONSchema(e,o.schema,u);else{let d=o.schema,f=e.processors[i.type];if(!f)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${i.type}`);f(t,e,d,u)}let p=t._zod.parent;p&&(o.ref||(o.ref=p),$e(p,e,u),e.seen.get(p).isParent=!0)}let c=e.metadataRegistry.get(t);return c&&Object.assign(o.schema,c),e.io==="input"&&ht(t)&&(delete o.schema.examples,delete o.schema.default),e.io==="input"&&o.schema._prefault&&((n=o.schema).default??(n.default=o.schema._prefault)),delete o.schema._prefault,e.seen.get(t).schema}function xl(t,e){let r=t.seen.get(e);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");let n=new Map;for(let o of t.seen.entries()){let s=t.metadataRegistry.get(o[0])?.id;if(s){let c=n.get(s);if(c&&c!==o[0])throw new Error(`Duplicate schema id "${s}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);n.set(s,o[0])}}let i=o=>{let s=t.target==="draft-2020-12"?"$defs":"definitions";if(t.external){let p=t.external.registry.get(o[0])?.id,d=t.external.uri??(m=>m);if(p)return{ref:d(p)};let f=o[1].defId??o[1].schema.id??`schema${t.counter++}`;return o[1].defId=f,{defId:f,ref:`${d("__shared")}#/${s}/${f}`}}if(o[1]===r)return{ref:"#"};let l=`#/${s}/`,u=o[1].schema.id??`__schema${t.counter++}`;return{defId:u,ref:l+u}},a=o=>{if(o[1].schema.$ref)return;let s=o[1],{ref:c,defId:l}=i(o);s.def={...s.schema},l&&(s.defId=l);let u=s.schema;for(let p in u)delete u[p];u.$ref=c};if(t.cycles==="throw")for(let o of t.seen.entries()){let s=o[1];if(s.cycle)throw new Error(`Cycle detected: #/${s.cycle?.join("/")}/<root>
|
|
97
97
|
|
|
98
|
-
Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let o of t.seen.entries()){let s=o[1];if(e===o[0]){a(o);continue}if(t.external){let l=t.external.registry.get(o[0])?.id;if(e!==o[0]&&l){a(o);continue}}if(t.metadataRegistry.get(o[0])?.id){a(o);continue}if(s.cycle){a(o);continue}if(s.count>1&&t.reused==="ref"){a(o);continue}}}function bl(t,e){let r=t.seen.get(e);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");let n=o=>{let s=t.seen.get(o);if(s.ref===null)return;let c=s.def??s.schema,l={...c},u=s.ref;if(s.ref=null,u){n(u);let d=t.seen.get(u),f=d.schema;if(f.$ref&&(t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0")?(c.allOf=c.allOf??[],c.allOf.push(f)):Object.assign(c,f),Object.assign(c,l),o._zod.parent===u)for(let h in c)h==="$ref"||h==="allOf"||h in l||delete c[h];if(f.$ref&&d.def)for(let h in c)h==="$ref"||h==="allOf"||h in d.def&&JSON.stringify(c[h])===JSON.stringify(d.def[h])&&delete c[h]}let p=o._zod.parent;if(p&&p!==u){n(p);let d=t.seen.get(p);if(d?.schema.$ref&&(c.$ref=d.schema.$ref,d.def))for(let f in c)f==="$ref"||f==="allOf"||f in d.def&&JSON.stringify(c[f])===JSON.stringify(d.def[f])&&delete c[f]}t.override({zodSchema:o,jsonSchema:c,path:s.path??[]})};for(let o of[...t.seen.entries()].reverse())n(o[0]);let i={};if(t.target==="draft-2020-12"?i.$schema="https://json-schema.org/draft/2020-12/schema":t.target==="draft-07"?i.$schema="http://json-schema.org/draft-07/schema#":t.target==="draft-04"?i.$schema="http://json-schema.org/draft-04/schema#":t.target,t.external?.uri){let o=t.external.registry.get(e)?.id;if(!o)throw new Error("Schema is missing an `id` property");i.$id=t.external.uri(o)}Object.assign(i,r.def??r.schema);let a=t.external?.defs??{};for(let o of t.seen.entries()){let s=o[1];s.def&&s.defId&&(a[s.defId]=s.def)}t.external||Object.keys(a).length>0&&(t.target==="draft-2020-12"?i.$defs=a:i.definitions=a);try{let o=JSON.parse(JSON.stringify(i));return Object.defineProperty(o,"~standard",{value:{...e["~standard"],jsonSchema:{input:Wo(e,"input",t.processors),output:Wo(e,"output",t.processors)}},enumerable:!1,writable:!1}),o}catch{throw new Error("Error converting schema to JSON.")}}function ht(t,e){let r=e??{seen:new Set};if(r.seen.has(t))return!1;r.seen.add(t);let n=t._zod.def;if(n.type==="transform")return!0;if(n.type==="array")return ht(n.element,r);if(n.type==="set")return ht(n.valueType,r);if(n.type==="lazy")return ht(n.getter(),r);if(n.type==="promise"||n.type==="optional"||n.type==="nonoptional"||n.type==="nullable"||n.type==="readonly"||n.type==="default"||n.type==="prefault")return ht(n.innerType,r);if(n.type==="intersection")return ht(n.left,r)||ht(n.right,r);if(n.type==="record"||n.type==="map")return ht(n.keyType,r)||ht(n.valueType,r);if(n.type==="pipe")return ht(n.in,r)||ht(n.out,r);if(n.type==="object"){for(let i in n.shape)if(ht(n.shape[i],r))return!0;return!1}if(n.type==="union"){for(let i of n.options)if(ht(i,r))return!0;return!1}if(n.type==="tuple"){for(let i of n.items)if(ht(i,r))return!0;return!!(n.rest&&ht(n.rest,r))}return!1}var H0=(t,e={})=>r=>{let n=yl({...r,processors:e});return ke(t,n),xl(n,t),bl(n,t)},Wo=(t,e,r={})=>n=>{let{libraryOptions:i,target:a}=n??{},o=yl({...i??{},target:a,io:e,processors:r});return ke(t,o),xl(o,t),bl(o,t)};var iO={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},B0=(t,e,r,n)=>{let i=r;i.type="string";let{minimum:a,maximum:o,format:s,patterns:c,contentEncoding:l}=t._zod.bag;if(typeof a=="number"&&(i.minLength=a),typeof o=="number"&&(i.maxLength=o),s&&(i.format=iO[s]??s,i.format===""&&delete i.format,s==="time"&&delete i.format),l&&(i.contentEncoding=l),c&&c.size>0){let u=[...c];u.length===1?i.pattern=u[0].source:u.length>1&&(i.allOf=[...u.map(p=>({...e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0"?{type:"string"}:{},pattern:p.source}))])}},V0=(t,e,r,n)=>{let i=r,{minimum:a,maximum:o,format:s,multipleOf:c,exclusiveMaximum:l,exclusiveMinimum:u}=t._zod.bag;typeof s=="string"&&s.includes("int")?i.type="integer":i.type="number",typeof u=="number"&&(e.target==="draft-04"||e.target==="openapi-3.0"?(i.minimum=u,i.exclusiveMinimum=!0):i.exclusiveMinimum=u),typeof a=="number"&&(i.minimum=a,typeof u=="number"&&e.target!=="draft-04"&&(u>=a?delete i.minimum:delete i.exclusiveMinimum)),typeof l=="number"&&(e.target==="draft-04"||e.target==="openapi-3.0"?(i.maximum=l,i.exclusiveMaximum=!0):i.exclusiveMaximum=l),typeof o=="number"&&(i.maximum=o,typeof l=="number"&&e.target!=="draft-04"&&(l<=o?delete i.maximum:delete i.exclusiveMaximum)),typeof c=="number"&&(i.multipleOf=c)},W0=(t,e,r,n)=>{r.type="boolean"},J0=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("BigInt cannot be represented in JSON Schema")},G0=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("Symbols cannot be represented in JSON Schema")},K0=(t,e,r,n)=>{e.target==="openapi-3.0"?(r.type="string",r.nullable=!0,r.enum=[null]):r.type="null"},X0=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("Undefined cannot be represented in JSON Schema")},Y0=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("Void cannot be represented in JSON Schema")},Q0=(t,e,r,n)=>{r.not={}},ew=(t,e,r,n)=>{},tw=(t,e,r,n)=>{},rw=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("Date cannot be represented in JSON Schema")},nw=(t,e,r,n)=>{let i=t._zod.def,a=ho(i.entries);a.every(o=>typeof o=="number")&&(r.type="number"),a.every(o=>typeof o=="string")&&(r.type="string"),r.enum=a},iw=(t,e,r,n)=>{let i=t._zod.def,a=[];for(let o of i.values)if(o===void 0){if(e.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof o=="bigint"){if(e.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");a.push(Number(o))}else a.push(o);if(a.length!==0)if(a.length===1){let o=a[0];r.type=o===null?"null":typeof o,e.target==="draft-04"||e.target==="openapi-3.0"?r.enum=[o]:r.const=o}else a.every(o=>typeof o=="number")&&(r.type="number"),a.every(o=>typeof o=="string")&&(r.type="string"),a.every(o=>typeof o=="boolean")&&(r.type="boolean"),a.every(o=>o===null)&&(r.type="null"),r.enum=a},aw=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("NaN cannot be represented in JSON Schema")},ow=(t,e,r,n)=>{let i=r,a=t._zod.pattern;if(!a)throw new Error("Pattern not found in template literal");i.type="string",i.pattern=a.source},sw=(t,e,r,n)=>{let i=r,a={type:"string",format:"binary",contentEncoding:"binary"},{minimum:o,maximum:s,mime:c}=t._zod.bag;o!==void 0&&(a.minLength=o),s!==void 0&&(a.maxLength=s),c?c.length===1?(a.contentMediaType=c[0],Object.assign(i,a)):(Object.assign(i,a),i.anyOf=c.map(l=>({contentMediaType:l}))):Object.assign(i,a)},cw=(t,e,r,n)=>{r.type="boolean"},lw=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},uw=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("Function types cannot be represented in JSON Schema")},pw=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},dw=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("Map cannot be represented in JSON Schema")},fw=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("Set cannot be represented in JSON Schema")},mw=(t,e,r,n)=>{let i=r,a=t._zod.def,{minimum:o,maximum:s}=t._zod.bag;typeof o=="number"&&(i.minItems=o),typeof s=="number"&&(i.maxItems=s),i.type="array",i.items=ke(a.element,e,{...n,path:[...n.path,"items"]})},hw=(t,e,r,n)=>{let i=r,a=t._zod.def;i.type="object",i.properties={};let o=a.shape;for(let l in o)i.properties[l]=ke(o[l],e,{...n,path:[...n.path,"properties",l]});let s=new Set(Object.keys(o)),c=new Set([...s].filter(l=>{let u=a.shape[l]._zod;return e.io==="input"?u.optin===void 0:u.optout===void 0}));c.size>0&&(i.required=Array.from(c)),a.catchall?._zod.def.type==="never"?i.additionalProperties=!1:a.catchall?a.catchall&&(i.additionalProperties=ke(a.catchall,e,{...n,path:[...n.path,"additionalProperties"]})):e.io==="output"&&(i.additionalProperties=!1)},Jh=(t,e,r,n)=>{let i=t._zod.def,a=i.inclusive===!1,o=i.options.map((s,c)=>ke(s,e,{...n,path:[...n.path,a?"oneOf":"anyOf",c]}));a?r.oneOf=o:r.anyOf=o},gw=(t,e,r,n)=>{let i=t._zod.def,a=ke(i.left,e,{...n,path:[...n.path,"allOf",0]}),o=ke(i.right,e,{...n,path:[...n.path,"allOf",1]}),s=l=>"allOf"in l&&Object.keys(l).length===1,c=[...s(a)?a.allOf:[a],...s(o)?o.allOf:[o]];r.allOf=c},vw=(t,e,r,n)=>{let i=r,a=t._zod.def;i.type="array";let o=e.target==="draft-2020-12"?"prefixItems":"items",s=e.target==="draft-2020-12"||e.target==="openapi-3.0"?"items":"additionalItems",c=a.items.map((d,f)=>ke(d,e,{...n,path:[...n.path,o,f]})),l=a.rest?ke(a.rest,e,{...n,path:[...n.path,s,...e.target==="openapi-3.0"?[a.items.length]:[]]}):null;e.target==="draft-2020-12"?(i.prefixItems=c,l&&(i.items=l)):e.target==="openapi-3.0"?(i.items={anyOf:c},l&&i.items.anyOf.push(l),i.minItems=c.length,l||(i.maxItems=c.length)):(i.items=c,l&&(i.additionalItems=l));let{minimum:u,maximum:p}=t._zod.bag;typeof u=="number"&&(i.minItems=u),typeof p=="number"&&(i.maxItems=p)},yw=(t,e,r,n)=>{let i=r,a=t._zod.def;i.type="object";let o=a.keyType,c=o._zod.bag?.patterns;if(a.mode==="loose"&&c&&c.size>0){let u=ke(a.valueType,e,{...n,path:[...n.path,"patternProperties","*"]});i.patternProperties={};for(let p of c)i.patternProperties[p.source]=u}else(e.target==="draft-07"||e.target==="draft-2020-12")&&(i.propertyNames=ke(a.keyType,e,{...n,path:[...n.path,"propertyNames"]})),i.additionalProperties=ke(a.valueType,e,{...n,path:[...n.path,"additionalProperties"]});let l=o._zod.values;if(l){let u=[...l].filter(p=>typeof p=="string"||typeof p=="number");u.length>0&&(i.required=u)}},xw=(t,e,r,n)=>{let i=t._zod.def,a=ke(i.innerType,e,n),o=e.seen.get(t);e.target==="openapi-3.0"?(o.ref=i.innerType,r.nullable=!0):r.anyOf=[a,{type:"null"}]},bw=(t,e,r,n)=>{let i=t._zod.def;ke(i.innerType,e,n);let a=e.seen.get(t);a.ref=i.innerType},_w=(t,e,r,n)=>{let i=t._zod.def;ke(i.innerType,e,n);let a=e.seen.get(t);a.ref=i.innerType,r.default=JSON.parse(JSON.stringify(i.defaultValue))},ww=(t,e,r,n)=>{let i=t._zod.def;ke(i.innerType,e,n);let a=e.seen.get(t);a.ref=i.innerType,e.io==="input"&&(r._prefault=JSON.parse(JSON.stringify(i.defaultValue)))},Sw=(t,e,r,n)=>{let i=t._zod.def;ke(i.innerType,e,n);let a=e.seen.get(t);a.ref=i.innerType;let o;try{o=i.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}r.default=o},kw=(t,e,r,n)=>{let i=t._zod.def,a=e.io==="input"?i.in._zod.def.type==="transform"?i.out:i.in:i.out;ke(a,e,n);let o=e.seen.get(t);o.ref=a},$w=(t,e,r,n)=>{let i=t._zod.def;ke(i.innerType,e,n);let a=e.seen.get(t);a.ref=i.innerType,r.readOnly=!0},Iw=(t,e,r,n)=>{let i=t._zod.def;ke(i.innerType,e,n);let a=e.seen.get(t);a.ref=i.innerType},Gh=(t,e,r,n)=>{let i=t._zod.def;ke(i.innerType,e,n);let a=e.seen.get(t);a.ref=i.innerType},Pw=(t,e,r,n)=>{let i=t._zod.innerType;ke(i,e,n);let a=e.seen.get(t);a.ref=i};function Bi(t){return!!t._zod}function pn(t,e){return Bi(t)?Fi(t,e):t.safeParse(e)}function _l(t){if(!t)return;let e;if(Bi(t)?e=t._zod?.def?.shape:e=t.shape,!!e){if(typeof e=="function")try{return e()}catch{return}return e}}function Cw(t){if(Bi(t)){let a=t._zod?.def;if(a){if(a.value!==void 0)return a.value;if(Array.isArray(a.values)&&a.values.length>0)return a.values[0]}}let r=t._def;if(r){if(r.value!==void 0)return r.value;if(Array.isArray(r.values)&&r.values.length>0)return r.values[0]}let n=t.value;if(n!==void 0)return n}var Jo={};Qa(Jo,{ZodAny:()=>Jw,ZodArray:()=>Yw,ZodBase64:()=>xg,ZodBase64URL:()=>bg,ZodBigInt:()=>Cl,ZodBigIntFormat:()=>Sg,ZodBoolean:()=>Tl,ZodCIDRv4:()=>vg,ZodCIDRv6:()=>yg,ZodCUID:()=>ug,ZodCUID2:()=>pg,ZodCatch:()=>yS,ZodCodec:()=>Cg,ZodCustom:()=>Ol,ZodCustomStringFormat:()=>Ko,ZodDate:()=>$g,ZodDefault:()=>dS,ZodDiscriminatedUnion:()=>eS,ZodE164:()=>_g,ZodEmail:()=>sg,ZodEmoji:()=>cg,ZodEnum:()=>Go,ZodExactOptional:()=>lS,ZodFile:()=>sS,ZodFunction:()=>PS,ZodGUID:()=>Sl,ZodIPv4:()=>hg,ZodIPv6:()=>gg,ZodIntersection:()=>tS,ZodJWT:()=>wg,ZodKSUID:()=>mg,ZodLazy:()=>kS,ZodLiteral:()=>oS,ZodMAC:()=>Hw,ZodMap:()=>iS,ZodNaN:()=>bS,ZodNanoID:()=>lg,ZodNever:()=>Kw,ZodNonOptional:()=>Eg,ZodNull:()=>Ww,ZodNullable:()=>pS,ZodNumber:()=>El,ZodNumberFormat:()=>Vi,ZodObject:()=>zl,ZodOptional:()=>Pg,ZodPipe:()=>Tg,ZodPrefault:()=>mS,ZodPromise:()=>IS,ZodReadonly:()=>_S,ZodRecord:()=>Dl,ZodSet:()=>aS,ZodString:()=>Il,ZodStringFormat:()=>be,ZodSuccess:()=>vS,ZodSymbol:()=>Bw,ZodTemplateLiteral:()=>SS,ZodTransform:()=>cS,ZodTuple:()=>rS,ZodType:()=>J,ZodULID:()=>dg,ZodURL:()=>Pl,ZodUUID:()=>Vr,ZodUndefined:()=>Vw,ZodUnion:()=>Rl,ZodUnknown:()=>Gw,ZodVoid:()=>Xw,ZodXID:()=>fg,ZodXor:()=>Qw,_ZodString:()=>og,_default:()=>fS,_function:()=>b6,any:()=>r6,array:()=>ee,base64:()=>UO,base64url:()=>FO,bigint:()=>XO,boolean:()=>Fe,catch:()=>xS,check:()=>_6,cidrv4:()=>AO,cidrv6:()=>MO,codec:()=>v6,cuid:()=>TO,cuid2:()=>CO,custom:()=>zg,date:()=>i6,describe:()=>w6,discriminatedUnion:()=>jl,e164:()=>qO,email:()=>xO,emoji:()=>PO,enum:()=>ot,exactOptional:()=>uS,file:()=>f6,float32:()=>WO,float64:()=>JO,function:()=>b6,guid:()=>bO,hash:()=>VO,hex:()=>BO,hostname:()=>HO,httpUrl:()=>IO,instanceof:()=>k6,int:()=>ag,int32:()=>GO,int64:()=>YO,intersection:()=>Yo,ipv4:()=>DO,ipv6:()=>NO,json:()=>I6,jwt:()=>LO,keyof:()=>a6,ksuid:()=>jO,lazy:()=>$S,literal:()=>D,looseObject:()=>at,looseRecord:()=>l6,mac:()=>OO,map:()=>u6,meta:()=>S6,nan:()=>g6,nanoid:()=>EO,nativeEnum:()=>d6,never:()=>kg,nonoptional:()=>gS,null:()=>Xo,nullable:()=>kl,nullish:()=>m6,number:()=>ue,object:()=>z,optional:()=>Pe,partialRecord:()=>c6,pipe:()=>$l,prefault:()=>hS,preprocess:()=>Nl,promise:()=>x6,readonly:()=>wS,record:()=>$e,refine:()=>ES,set:()=>p6,strictObject:()=>o6,string:()=>w,stringFormat:()=>ZO,stringbool:()=>$6,success:()=>h6,superRefine:()=>TS,symbol:()=>e6,templateLiteral:()=>y6,transform:()=>Ig,tuple:()=>nS,uint32:()=>KO,uint64:()=>QO,ulid:()=>zO,undefined:()=>t6,union:()=>ge,unknown:()=>_e,url:()=>$O,uuid:()=>_O,uuidv4:()=>wO,uuidv6:()=>SO,uuidv7:()=>kO,void:()=>n6,xid:()=>RO,xor:()=>s6});var wl={};Qa(wl,{endsWith:()=>qo,gt:()=>Hr,gte:()=>mt,includes:()=>Uo,length:()=>Zi,lowercase:()=>Ao,lt:()=>Zr,lte:()=>At,maxLength:()=>Li,maxSize:()=>Hn,mime:()=>Lo,minLength:()=>un,minSize:()=>Br,multipleOf:()=>Zn,negative:()=>Ah,nonnegative:()=>Uh,nonpositive:()=>Mh,normalize:()=>Zo,overwrite:()=>xr,positive:()=>Nh,property:()=>Fh,regex:()=>No,size:()=>qi,slugify:()=>vl,startsWith:()=>Fo,toLowerCase:()=>Bo,toUpperCase:()=>Vo,trim:()=>Ho,uppercase:()=>Mo});var Bn={};Qa(Bn,{ZodISODate:()=>Qh,ZodISODateTime:()=>Xh,ZodISODuration:()=>ng,ZodISOTime:()=>tg,date:()=>eg,datetime:()=>Yh,duration:()=>ig,time:()=>rg});var Xh=x("ZodISODateTime",(t,e)=>{pm.init(t,e),be.init(t,e)});function Yh(t){return fh(Xh,t)}var Qh=x("ZodISODate",(t,e)=>{dm.init(t,e),be.init(t,e)});function eg(t){return mh(Qh,t)}var tg=x("ZodISOTime",(t,e)=>{fm.init(t,e),be.init(t,e)});function rg(t){return hh(tg,t)}var ng=x("ZodISODuration",(t,e)=>{mm.init(t,e),be.init(t,e)});function ig(t){return gh(ng,t)}var zw=(t,e)=>{Nc.init(t,e),t.name="ZodError",Object.defineProperties(t,{format:{value:r=>Mc(t,r)},flatten:{value:r=>Ac(t,r)},addIssue:{value:r=>{t.issues.push(r),t.message=JSON.stringify(t.issues,Ai,2)}},addIssues:{value:r=>{t.issues.push(...r),t.message=JSON.stringify(t.issues,Ai,2)}},isEmpty:{get(){return t.issues.length===0}}})},lee=x("ZodError",zw),Mt=x("ZodError",zw,{Parent:Error});var Rw=_o(Mt),jw=So(Mt),Dw=$o(Mt),Ow=Io(Mt),Nw=B_(Mt),Aw=V_(Mt),Mw=W_(Mt),Uw=J_(Mt),Fw=G_(Mt),qw=K_(Mt),Lw=X_(Mt),Zw=Y_(Mt);var J=x("ZodType",(t,e)=>(B.init(t,e),Object.assign(t["~standard"],{jsonSchema:{input:Wo(t,"input"),output:Wo(t,"output")}}),t.toJSONSchema=H0(t,{}),t.def=e,t.type=e.type,Object.defineProperty(t,"_def",{value:e}),t.check=(...r)=>t.clone(P.mergeDefs(e,{checks:[...e.checks??[],...r.map(n=>typeof n=="function"?{_zod:{check:n,def:{check:"custom"},onattach:[]}}:n)]}),{parent:!0}),t.with=t.check,t.clone=(r,n)=>dt(t,r,n),t.brand=()=>t,t.register=(r,n)=>(r.add(t,n),t),t.parse=(r,n)=>Rw(t,r,n,{callee:t.parse}),t.safeParse=(r,n)=>Dw(t,r,n),t.parseAsync=async(r,n)=>jw(t,r,n,{callee:t.parseAsync}),t.safeParseAsync=async(r,n)=>Ow(t,r,n),t.spa=t.safeParseAsync,t.encode=(r,n)=>Nw(t,r,n),t.decode=(r,n)=>Aw(t,r,n),t.encodeAsync=async(r,n)=>Mw(t,r,n),t.decodeAsync=async(r,n)=>Uw(t,r,n),t.safeEncode=(r,n)=>Fw(t,r,n),t.safeDecode=(r,n)=>qw(t,r,n),t.safeEncodeAsync=async(r,n)=>Lw(t,r,n),t.safeDecodeAsync=async(r,n)=>Zw(t,r,n),t.refine=(r,n)=>t.check(ES(r,n)),t.superRefine=r=>t.check(TS(r)),t.overwrite=r=>t.check(xr(r)),t.optional=()=>Pe(t),t.exactOptional=()=>uS(t),t.nullable=()=>kl(t),t.nullish=()=>Pe(kl(t)),t.nonoptional=r=>gS(t,r),t.array=()=>ee(t),t.or=r=>ge([t,r]),t.and=r=>Yo(t,r),t.transform=r=>$l(t,Ig(r)),t.default=r=>fS(t,r),t.prefault=r=>hS(t,r),t.catch=r=>xS(t,r),t.pipe=r=>$l(t,r),t.readonly=()=>wS(t),t.describe=r=>{let n=t.clone();return ft.add(n,{description:r}),n},Object.defineProperty(t,"description",{get(){return ft.get(t)?.description},configurable:!0}),t.meta=(...r)=>{if(r.length===0)return ft.get(t);let n=t.clone();return ft.add(n,r[0]),n},t.isOptional=()=>t.safeParse(void 0).success,t.isNullable=()=>t.safeParse(null).success,t.apply=r=>r(t),t)),og=x("_ZodString",(t,e)=>{Ln.init(t,e),J.init(t,e),t._zod.processJSONSchema=(n,i,a)=>B0(t,n,i,a);let r=t._zod.bag;t.format=r.format??null,t.minLength=r.minimum??null,t.maxLength=r.maximum??null,t.regex=(...n)=>t.check(No(...n)),t.includes=(...n)=>t.check(Uo(...n)),t.startsWith=(...n)=>t.check(Fo(...n)),t.endsWith=(...n)=>t.check(qo(...n)),t.min=(...n)=>t.check(un(...n)),t.max=(...n)=>t.check(Li(...n)),t.length=(...n)=>t.check(Zi(...n)),t.nonempty=(...n)=>t.check(un(1,...n)),t.lowercase=n=>t.check(Ao(n)),t.uppercase=n=>t.check(Mo(n)),t.trim=()=>t.check(Ho()),t.normalize=(...n)=>t.check(Zo(...n)),t.toLowerCase=()=>t.check(Bo()),t.toUpperCase=()=>t.check(Vo()),t.slugify=()=>t.check(vl())}),Il=x("ZodString",(t,e)=>{Ln.init(t,e),og.init(t,e),t.email=r=>t.check(Xc(sg,r)),t.url=r=>t.check(Oo(Pl,r)),t.jwt=r=>t.check(gl(wg,r)),t.emoji=r=>t.check(rl(cg,r)),t.guid=r=>t.check(Do(Sl,r)),t.uuid=r=>t.check(Yc(Vr,r)),t.uuidv4=r=>t.check(Qc(Vr,r)),t.uuidv6=r=>t.check(el(Vr,r)),t.uuidv7=r=>t.check(tl(Vr,r)),t.nanoid=r=>t.check(nl(lg,r)),t.guid=r=>t.check(Do(Sl,r)),t.cuid=r=>t.check(il(ug,r)),t.cuid2=r=>t.check(al(pg,r)),t.ulid=r=>t.check(ol(dg,r)),t.base64=r=>t.check(fl(xg,r)),t.base64url=r=>t.check(ml(bg,r)),t.xid=r=>t.check(sl(fg,r)),t.ksuid=r=>t.check(cl(mg,r)),t.ipv4=r=>t.check(ll(hg,r)),t.ipv6=r=>t.check(ul(gg,r)),t.cidrv4=r=>t.check(pl(vg,r)),t.cidrv6=r=>t.check(dl(yg,r)),t.e164=r=>t.check(hl(_g,r)),t.datetime=r=>t.check(Yh(r)),t.date=r=>t.check(eg(r)),t.time=r=>t.check(rg(r)),t.duration=r=>t.check(ig(r))});function w(t){return ph(Il,t)}var be=x("ZodStringFormat",(t,e)=>{he.init(t,e),og.init(t,e)}),sg=x("ZodEmail",(t,e)=>{rm.init(t,e),be.init(t,e)});function xO(t){return Xc(sg,t)}var Sl=x("ZodGUID",(t,e)=>{em.init(t,e),be.init(t,e)});function bO(t){return Do(Sl,t)}var Vr=x("ZodUUID",(t,e)=>{tm.init(t,e),be.init(t,e)});function _O(t){return Yc(Vr,t)}function wO(t){return Qc(Vr,t)}function SO(t){return el(Vr,t)}function kO(t){return tl(Vr,t)}var Pl=x("ZodURL",(t,e)=>{nm.init(t,e),be.init(t,e)});function $O(t){return Oo(Pl,t)}function IO(t){return Oo(Pl,{protocol:/^https?$/,hostname:Bt.domain,...P.normalizeParams(t)})}var cg=x("ZodEmoji",(t,e)=>{im.init(t,e),be.init(t,e)});function PO(t){return rl(cg,t)}var lg=x("ZodNanoID",(t,e)=>{am.init(t,e),be.init(t,e)});function EO(t){return nl(lg,t)}var ug=x("ZodCUID",(t,e)=>{om.init(t,e),be.init(t,e)});function TO(t){return il(ug,t)}var pg=x("ZodCUID2",(t,e)=>{sm.init(t,e),be.init(t,e)});function CO(t){return al(pg,t)}var dg=x("ZodULID",(t,e)=>{cm.init(t,e),be.init(t,e)});function zO(t){return ol(dg,t)}var fg=x("ZodXID",(t,e)=>{lm.init(t,e),be.init(t,e)});function RO(t){return sl(fg,t)}var mg=x("ZodKSUID",(t,e)=>{um.init(t,e),be.init(t,e)});function jO(t){return cl(mg,t)}var hg=x("ZodIPv4",(t,e)=>{hm.init(t,e),be.init(t,e)});function DO(t){return ll(hg,t)}var Hw=x("ZodMAC",(t,e)=>{vm.init(t,e),be.init(t,e)});function OO(t){return dh(Hw,t)}var gg=x("ZodIPv6",(t,e)=>{gm.init(t,e),be.init(t,e)});function NO(t){return ul(gg,t)}var vg=x("ZodCIDRv4",(t,e)=>{ym.init(t,e),be.init(t,e)});function AO(t){return pl(vg,t)}var yg=x("ZodCIDRv6",(t,e)=>{xm.init(t,e),be.init(t,e)});function MO(t){return dl(yg,t)}var xg=x("ZodBase64",(t,e)=>{bm.init(t,e),be.init(t,e)});function UO(t){return fl(xg,t)}var bg=x("ZodBase64URL",(t,e)=>{_m.init(t,e),be.init(t,e)});function FO(t){return ml(bg,t)}var _g=x("ZodE164",(t,e)=>{wm.init(t,e),be.init(t,e)});function qO(t){return hl(_g,t)}var wg=x("ZodJWT",(t,e)=>{Sm.init(t,e),be.init(t,e)});function LO(t){return gl(wg,t)}var Ko=x("ZodCustomStringFormat",(t,e)=>{km.init(t,e),be.init(t,e)});function ZO(t,e,r={}){return Hi(Ko,t,e,r)}function HO(t){return Hi(Ko,"hostname",Bt.hostname,t)}function BO(t){return Hi(Ko,"hex",Bt.hex,t)}function VO(t,e){let r=e?.enc??"hex",n=`${t}_${r}`,i=Bt[n];if(!i)throw new Error(`Unrecognized hash format: ${n}`);return Hi(Ko,n,i,e)}var El=x("ZodNumber",(t,e)=>{Wc.init(t,e),J.init(t,e),t._zod.processJSONSchema=(n,i,a)=>V0(t,n,i,a),t.gt=(n,i)=>t.check(Hr(n,i)),t.gte=(n,i)=>t.check(mt(n,i)),t.min=(n,i)=>t.check(mt(n,i)),t.lt=(n,i)=>t.check(Zr(n,i)),t.lte=(n,i)=>t.check(At(n,i)),t.max=(n,i)=>t.check(At(n,i)),t.int=n=>t.check(ag(n)),t.safe=n=>t.check(ag(n)),t.positive=n=>t.check(Hr(0,n)),t.nonnegative=n=>t.check(mt(0,n)),t.negative=n=>t.check(Zr(0,n)),t.nonpositive=n=>t.check(At(0,n)),t.multipleOf=(n,i)=>t.check(Zn(n,i)),t.step=(n,i)=>t.check(Zn(n,i)),t.finite=()=>t;let r=t._zod.bag;t.minValue=Math.max(r.minimum??Number.NEGATIVE_INFINITY,r.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,t.maxValue=Math.min(r.maximum??Number.POSITIVE_INFINITY,r.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,t.isInt=(r.format??"").includes("int")||Number.isSafeInteger(r.multipleOf??.5),t.isFinite=!0,t.format=r.format??null});function ue(t){return vh(El,t)}var Vi=x("ZodNumberFormat",(t,e)=>{$m.init(t,e),El.init(t,e)});function ag(t){return yh(Vi,t)}function WO(t){return xh(Vi,t)}function JO(t){return bh(Vi,t)}function GO(t){return _h(Vi,t)}function KO(t){return wh(Vi,t)}var Tl=x("ZodBoolean",(t,e)=>{zo.init(t,e),J.init(t,e),t._zod.processJSONSchema=(r,n,i)=>W0(t,r,n,i)});function Fe(t){return Sh(Tl,t)}var Cl=x("ZodBigInt",(t,e)=>{Jc.init(t,e),J.init(t,e),t._zod.processJSONSchema=(n,i,a)=>J0(t,n,i,a),t.gte=(n,i)=>t.check(mt(n,i)),t.min=(n,i)=>t.check(mt(n,i)),t.gt=(n,i)=>t.check(Hr(n,i)),t.gte=(n,i)=>t.check(mt(n,i)),t.min=(n,i)=>t.check(mt(n,i)),t.lt=(n,i)=>t.check(Zr(n,i)),t.lte=(n,i)=>t.check(At(n,i)),t.max=(n,i)=>t.check(At(n,i)),t.positive=n=>t.check(Hr(BigInt(0),n)),t.negative=n=>t.check(Zr(BigInt(0),n)),t.nonpositive=n=>t.check(At(BigInt(0),n)),t.nonnegative=n=>t.check(mt(BigInt(0),n)),t.multipleOf=(n,i)=>t.check(Zn(n,i));let r=t._zod.bag;t.minValue=r.minimum??null,t.maxValue=r.maximum??null,t.format=r.format??null});function XO(t){return kh(Cl,t)}var Sg=x("ZodBigIntFormat",(t,e)=>{Im.init(t,e),Cl.init(t,e)});function YO(t){return $h(Sg,t)}function QO(t){return Ih(Sg,t)}var Bw=x("ZodSymbol",(t,e)=>{Pm.init(t,e),J.init(t,e),t._zod.processJSONSchema=(r,n,i)=>G0(t,r,n,i)});function e6(t){return Ph(Bw,t)}var Vw=x("ZodUndefined",(t,e)=>{Em.init(t,e),J.init(t,e),t._zod.processJSONSchema=(r,n,i)=>X0(t,r,n,i)});function t6(t){return Eh(Vw,t)}var Ww=x("ZodNull",(t,e)=>{Tm.init(t,e),J.init(t,e),t._zod.processJSONSchema=(r,n,i)=>K0(t,r,n,i)});function Xo(t){return Th(Ww,t)}var Jw=x("ZodAny",(t,e)=>{Cm.init(t,e),J.init(t,e),t._zod.processJSONSchema=(r,n,i)=>ew(t,r,n,i)});function r6(){return Ch(Jw)}var Gw=x("ZodUnknown",(t,e)=>{zm.init(t,e),J.init(t,e),t._zod.processJSONSchema=(r,n,i)=>tw(t,r,n,i)});function _e(){return zh(Gw)}var Kw=x("ZodNever",(t,e)=>{Rm.init(t,e),J.init(t,e),t._zod.processJSONSchema=(r,n,i)=>Q0(t,r,n,i)});function kg(t){return Rh(Kw,t)}var Xw=x("ZodVoid",(t,e)=>{jm.init(t,e),J.init(t,e),t._zod.processJSONSchema=(r,n,i)=>Y0(t,r,n,i)});function n6(t){return jh(Xw,t)}var $g=x("ZodDate",(t,e)=>{Dm.init(t,e),J.init(t,e),t._zod.processJSONSchema=(n,i,a)=>rw(t,n,i,a),t.min=(n,i)=>t.check(mt(n,i)),t.max=(n,i)=>t.check(At(n,i));let r=t._zod.bag;t.minDate=r.minimum?new Date(r.minimum):null,t.maxDate=r.maximum?new Date(r.maximum):null});function i6(t){return Dh($g,t)}var Yw=x("ZodArray",(t,e)=>{Om.init(t,e),J.init(t,e),t._zod.processJSONSchema=(r,n,i)=>mw(t,r,n,i),t.element=e.element,t.min=(r,n)=>t.check(un(r,n)),t.nonempty=r=>t.check(un(1,r)),t.max=(r,n)=>t.check(Li(r,n)),t.length=(r,n)=>t.check(Zi(r,n)),t.unwrap=()=>t.element});function ee(t,e){return Z0(Yw,t,e)}function a6(t){let e=t._zod.def.shape;return ot(Object.keys(e))}var zl=x("ZodObject",(t,e)=>{U0.init(t,e),J.init(t,e),t._zod.processJSONSchema=(r,n,i)=>hw(t,r,n,i),P.defineLazy(t,"shape",()=>e.shape),t.keyof=()=>ot(Object.keys(t._zod.def.shape)),t.catchall=r=>t.clone({...t._zod.def,catchall:r}),t.passthrough=()=>t.clone({...t._zod.def,catchall:_e()}),t.loose=()=>t.clone({...t._zod.def,catchall:_e()}),t.strict=()=>t.clone({...t._zod.def,catchall:kg()}),t.strip=()=>t.clone({...t._zod.def,catchall:void 0}),t.extend=r=>P.extend(t,r),t.safeExtend=r=>P.safeExtend(t,r),t.merge=r=>P.merge(t,r),t.pick=r=>P.pick(t,r),t.omit=r=>P.omit(t,r),t.partial=(...r)=>P.partial(Pg,t,r[0]),t.required=(...r)=>P.required(Eg,t,r[0])});function z(t,e){let r={type:"object",shape:t??{},...P.normalizeParams(e)};return new zl(r)}function o6(t,e){return new zl({type:"object",shape:t,catchall:kg(),...P.normalizeParams(e)})}function at(t,e){return new zl({type:"object",shape:t,catchall:_e(),...P.normalizeParams(e)})}var Rl=x("ZodUnion",(t,e)=>{Ro.init(t,e),J.init(t,e),t._zod.processJSONSchema=(r,n,i)=>Jh(t,r,n,i),t.options=e.options});function ge(t,e){return new Rl({type:"union",options:t,...P.normalizeParams(e)})}var Qw=x("ZodXor",(t,e)=>{Rl.init(t,e),Nm.init(t,e),t._zod.processJSONSchema=(r,n,i)=>Jh(t,r,n,i),t.options=e.options});function s6(t,e){return new Qw({type:"union",options:t,inclusive:!1,...P.normalizeParams(e)})}var eS=x("ZodDiscriminatedUnion",(t,e)=>{Rl.init(t,e),Am.init(t,e)});function jl(t,e,r){return new eS({type:"union",options:e,discriminator:t,...P.normalizeParams(r)})}var tS=x("ZodIntersection",(t,e)=>{Mm.init(t,e),J.init(t,e),t._zod.processJSONSchema=(r,n,i)=>gw(t,r,n,i)});function Yo(t,e){return new tS({type:"intersection",left:t,right:e})}var rS=x("ZodTuple",(t,e)=>{Gc.init(t,e),J.init(t,e),t._zod.processJSONSchema=(r,n,i)=>vw(t,r,n,i),t.rest=r=>t.clone({...t._zod.def,rest:r})});function nS(t,e,r){let n=e instanceof B,i=n?r:e,a=n?e:null;return new rS({type:"tuple",items:t,rest:a,...P.normalizeParams(i)})}var Dl=x("ZodRecord",(t,e)=>{Um.init(t,e),J.init(t,e),t._zod.processJSONSchema=(r,n,i)=>yw(t,r,n,i),t.keyType=e.keyType,t.valueType=e.valueType});function $e(t,e,r){return new Dl({type:"record",keyType:t,valueType:e,...P.normalizeParams(r)})}function c6(t,e,r){let n=dt(t);return n._zod.values=void 0,new Dl({type:"record",keyType:n,valueType:e,...P.normalizeParams(r)})}function l6(t,e,r){return new Dl({type:"record",keyType:t,valueType:e,mode:"loose",...P.normalizeParams(r)})}var iS=x("ZodMap",(t,e)=>{Fm.init(t,e),J.init(t,e),t._zod.processJSONSchema=(r,n,i)=>dw(t,r,n,i),t.keyType=e.keyType,t.valueType=e.valueType,t.min=(...r)=>t.check(Br(...r)),t.nonempty=r=>t.check(Br(1,r)),t.max=(...r)=>t.check(Hn(...r)),t.size=(...r)=>t.check(qi(...r))});function u6(t,e,r){return new iS({type:"map",keyType:t,valueType:e,...P.normalizeParams(r)})}var aS=x("ZodSet",(t,e)=>{qm.init(t,e),J.init(t,e),t._zod.processJSONSchema=(r,n,i)=>fw(t,r,n,i),t.min=(...r)=>t.check(Br(...r)),t.nonempty=r=>t.check(Br(1,r)),t.max=(...r)=>t.check(Hn(...r)),t.size=(...r)=>t.check(qi(...r))});function p6(t,e){return new aS({type:"set",valueType:t,...P.normalizeParams(e)})}var Go=x("ZodEnum",(t,e)=>{Lm.init(t,e),J.init(t,e),t._zod.processJSONSchema=(n,i,a)=>nw(t,n,i,a),t.enum=e.entries,t.options=Object.values(e.entries);let r=new Set(Object.keys(e.entries));t.extract=(n,i)=>{let a={};for(let o of n)if(r.has(o))a[o]=e.entries[o];else throw new Error(`Key ${o} not found in enum`);return new Go({...e,checks:[],...P.normalizeParams(i),entries:a})},t.exclude=(n,i)=>{let a={...e.entries};for(let o of n)if(r.has(o))delete a[o];else throw new Error(`Key ${o} not found in enum`);return new Go({...e,checks:[],...P.normalizeParams(i),entries:a})}});function ot(t,e){let r=Array.isArray(t)?Object.fromEntries(t.map(n=>[n,n])):t;return new Go({type:"enum",entries:r,...P.normalizeParams(e)})}function d6(t,e){return new Go({type:"enum",entries:t,...P.normalizeParams(e)})}var oS=x("ZodLiteral",(t,e)=>{Zm.init(t,e),J.init(t,e),t._zod.processJSONSchema=(r,n,i)=>iw(t,r,n,i),t.values=new Set(e.values),Object.defineProperty(t,"value",{get(){if(e.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return e.values[0]}})});function D(t,e){return new oS({type:"literal",values:Array.isArray(t)?t:[t],...P.normalizeParams(e)})}var sS=x("ZodFile",(t,e)=>{Hm.init(t,e),J.init(t,e),t._zod.processJSONSchema=(r,n,i)=>sw(t,r,n,i),t.min=(r,n)=>t.check(Br(r,n)),t.max=(r,n)=>t.check(Hn(r,n)),t.mime=(r,n)=>t.check(Lo(Array.isArray(r)?r:[r],n))});function f6(t){return qh(sS,t)}var cS=x("ZodTransform",(t,e)=>{Bm.init(t,e),J.init(t,e),t._zod.processJSONSchema=(r,n,i)=>pw(t,r,n,i),t._zod.parse=(r,n)=>{if(n.direction==="backward")throw new Un(t.constructor.name);r.addIssue=a=>{if(typeof a=="string")r.issues.push(P.issue(a,r.value,e));else{let o=a;o.fatal&&(o.continue=!1),o.code??(o.code="custom"),o.input??(o.input=r.value),o.inst??(o.inst=t),r.issues.push(P.issue(o))}};let i=e.transform(r.value,r);return i instanceof Promise?i.then(a=>(r.value=a,r)):(r.value=i,r)}});function Ig(t){return new cS({type:"transform",transform:t})}var Pg=x("ZodOptional",(t,e)=>{Kc.init(t,e),J.init(t,e),t._zod.processJSONSchema=(r,n,i)=>Gh(t,r,n,i),t.unwrap=()=>t._zod.def.innerType});function Pe(t){return new Pg({type:"optional",innerType:t})}var lS=x("ZodExactOptional",(t,e)=>{Vm.init(t,e),J.init(t,e),t._zod.processJSONSchema=(r,n,i)=>Gh(t,r,n,i),t.unwrap=()=>t._zod.def.innerType});function uS(t){return new lS({type:"optional",innerType:t})}var pS=x("ZodNullable",(t,e)=>{Wm.init(t,e),J.init(t,e),t._zod.processJSONSchema=(r,n,i)=>xw(t,r,n,i),t.unwrap=()=>t._zod.def.innerType});function kl(t){return new pS({type:"nullable",innerType:t})}function m6(t){return Pe(kl(t))}var dS=x("ZodDefault",(t,e)=>{Jm.init(t,e),J.init(t,e),t._zod.processJSONSchema=(r,n,i)=>_w(t,r,n,i),t.unwrap=()=>t._zod.def.innerType,t.removeDefault=t.unwrap});function fS(t,e){return new dS({type:"default",innerType:t,get defaultValue(){return typeof e=="function"?e():P.shallowClone(e)}})}var mS=x("ZodPrefault",(t,e)=>{Gm.init(t,e),J.init(t,e),t._zod.processJSONSchema=(r,n,i)=>ww(t,r,n,i),t.unwrap=()=>t._zod.def.innerType});function hS(t,e){return new mS({type:"prefault",innerType:t,get defaultValue(){return typeof e=="function"?e():P.shallowClone(e)}})}var Eg=x("ZodNonOptional",(t,e)=>{Km.init(t,e),J.init(t,e),t._zod.processJSONSchema=(r,n,i)=>bw(t,r,n,i),t.unwrap=()=>t._zod.def.innerType});function gS(t,e){return new Eg({type:"nonoptional",innerType:t,...P.normalizeParams(e)})}var vS=x("ZodSuccess",(t,e)=>{Xm.init(t,e),J.init(t,e),t._zod.processJSONSchema=(r,n,i)=>cw(t,r,n,i),t.unwrap=()=>t._zod.def.innerType});function h6(t){return new vS({type:"success",innerType:t})}var yS=x("ZodCatch",(t,e)=>{Ym.init(t,e),J.init(t,e),t._zod.processJSONSchema=(r,n,i)=>Sw(t,r,n,i),t.unwrap=()=>t._zod.def.innerType,t.removeCatch=t.unwrap});function xS(t,e){return new yS({type:"catch",innerType:t,catchValue:typeof e=="function"?e:()=>e})}var bS=x("ZodNaN",(t,e)=>{Qm.init(t,e),J.init(t,e),t._zod.processJSONSchema=(r,n,i)=>aw(t,r,n,i)});function g6(t){return Oh(bS,t)}var Tg=x("ZodPipe",(t,e)=>{eh.init(t,e),J.init(t,e),t._zod.processJSONSchema=(r,n,i)=>kw(t,r,n,i),t.in=e.in,t.out=e.out});function $l(t,e){return new Tg({type:"pipe",in:t,out:e})}var Cg=x("ZodCodec",(t,e)=>{Tg.init(t,e),jo.init(t,e)});function v6(t,e,r){return new Cg({type:"pipe",in:t,out:e,transform:r.decode,reverseTransform:r.encode})}var _S=x("ZodReadonly",(t,e)=>{th.init(t,e),J.init(t,e),t._zod.processJSONSchema=(r,n,i)=>$w(t,r,n,i),t.unwrap=()=>t._zod.def.innerType});function wS(t){return new _S({type:"readonly",innerType:t})}var SS=x("ZodTemplateLiteral",(t,e)=>{rh.init(t,e),J.init(t,e),t._zod.processJSONSchema=(r,n,i)=>ow(t,r,n,i)});function y6(t,e){return new SS({type:"template_literal",parts:t,...P.normalizeParams(e)})}var kS=x("ZodLazy",(t,e)=>{ah.init(t,e),J.init(t,e),t._zod.processJSONSchema=(r,n,i)=>Pw(t,r,n,i),t.unwrap=()=>t._zod.def.getter()});function $S(t){return new kS({type:"lazy",getter:t})}var IS=x("ZodPromise",(t,e)=>{ih.init(t,e),J.init(t,e),t._zod.processJSONSchema=(r,n,i)=>Iw(t,r,n,i),t.unwrap=()=>t._zod.def.innerType});function x6(t){return new IS({type:"promise",innerType:t})}var PS=x("ZodFunction",(t,e)=>{nh.init(t,e),J.init(t,e),t._zod.processJSONSchema=(r,n,i)=>uw(t,r,n,i)});function b6(t){return new PS({type:"function",input:Array.isArray(t?.input)?nS(t?.input):t?.input??ee(_e()),output:t?.output??_e()})}var Ol=x("ZodCustom",(t,e)=>{oh.init(t,e),J.init(t,e),t._zod.processJSONSchema=(r,n,i)=>lw(t,r,n,i)});function _6(t){let e=new xe({check:"custom"});return e._zod.check=t,e}function zg(t,e){return Lh(Ol,t??(()=>!0),e)}function ES(t,e={}){return Zh(Ol,t,e)}function TS(t){return Hh(t)}var w6=Bh,S6=Vh;function k6(t,e={}){let r=new Ol({type:"custom",check:"custom",fn:n=>n instanceof t,abort:!0,...P.normalizeParams(e)});return r._zod.bag.Class=t,r._zod.check=n=>{n.value instanceof t||n.issues.push({code:"invalid_type",expected:t.name,input:n.value,inst:r,path:[...r._zod.def.path??[]]})},r}var $6=(...t)=>Wh({Codec:Cg,Boolean:Tl,String:Il},...t);function I6(t){let e=$S(()=>ge([w(t),ue(),Fe(),Xo(),ee(e),$e(w(),e)]));return e}function Nl(t,e){return $l(Ig(t),e)}var CS;CS||(CS={});var vee={...Jo,...wl,iso:Bn};Be(sh());var jg="2025-11-25";var zS=[jg,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],dn="io.modelcontextprotocol/related-task",Ml="2.0",Ye=zg(t=>t!==null&&(typeof t=="object"||typeof t=="function")),RS=ge([w(),ue().int()]),jS=w(),Nee=at({ttl:ge([ue(),Xo()]).optional(),pollInterval:ue().optional()}),C6=z({ttl:ue().optional()}),z6=z({taskId:w()}),Dg=at({progressToken:RS.optional(),[dn]:z6.optional()}),Ut=z({_meta:Dg.optional()}),Qo=Ut.extend({task:C6.optional()}),DS=t=>Qo.safeParse(t).success,Qe=z({method:w(),params:Ut.loose().optional()}),Vt=z({_meta:Dg.optional()}),Wt=z({method:w(),params:Vt.loose().optional()}),et=at({_meta:Dg.optional()}),Ul=ge([w(),ue().int()]),OS=z({jsonrpc:D(Ml),id:Ul,...Qe.shape}).strict(),Og=t=>OS.safeParse(t).success,NS=z({jsonrpc:D(Ml),...Wt.shape}).strict(),AS=t=>NS.safeParse(t).success,Ng=z({jsonrpc:D(Ml),id:Ul,result:et}).strict(),es=t=>Ng.safeParse(t).success;var ae;(function(t){t[t.ConnectionClosed=-32e3]="ConnectionClosed",t[t.RequestTimeout=-32001]="RequestTimeout",t[t.ParseError=-32700]="ParseError",t[t.InvalidRequest=-32600]="InvalidRequest",t[t.MethodNotFound=-32601]="MethodNotFound",t[t.InvalidParams=-32602]="InvalidParams",t[t.InternalError=-32603]="InternalError",t[t.UrlElicitationRequired=-32042]="UrlElicitationRequired"})(ae||(ae={}));var Ag=z({jsonrpc:D(Ml),id:Ul.optional(),error:z({code:ue().int(),message:w(),data:_e().optional()})}).strict();var MS=t=>Ag.safeParse(t).success;var US=ge([OS,NS,Ng,Ag]),Aee=ge([Ng,Ag]),Fl=et.strict(),R6=Vt.extend({requestId:Ul.optional(),reason:w().optional()}),ql=Wt.extend({method:D("notifications/cancelled"),params:R6}),j6=z({src:w(),mimeType:w().optional(),sizes:ee(w()).optional(),theme:ot(["light","dark"]).optional()}),ts=z({icons:ee(j6).optional()}),Wi=z({name:w(),title:w().optional()}),FS=Wi.extend({...Wi.shape,...ts.shape,version:w(),websiteUrl:w().optional(),description:w().optional()}),D6=Yo(z({applyDefaults:Fe().optional()}),$e(w(),_e())),O6=Nl(t=>t&&typeof t=="object"&&!Array.isArray(t)&&Object.keys(t).length===0?{form:{}}:t,Yo(z({form:D6.optional(),url:Ye.optional()}),$e(w(),_e()).optional())),N6=at({list:Ye.optional(),cancel:Ye.optional(),requests:at({sampling:at({createMessage:Ye.optional()}).optional(),elicitation:at({create:Ye.optional()}).optional()}).optional()}),A6=at({list:Ye.optional(),cancel:Ye.optional(),requests:at({tools:at({call:Ye.optional()}).optional()}).optional()}),M6=z({experimental:$e(w(),Ye).optional(),sampling:z({context:Ye.optional(),tools:Ye.optional()}).optional(),elicitation:O6.optional(),roots:z({listChanged:Fe().optional()}).optional(),tasks:N6.optional()}),U6=Ut.extend({protocolVersion:w(),capabilities:M6,clientInfo:FS}),Mg=Qe.extend({method:D("initialize"),params:U6});var F6=z({experimental:$e(w(),Ye).optional(),logging:Ye.optional(),completions:Ye.optional(),prompts:z({listChanged:Fe().optional()}).optional(),resources:z({subscribe:Fe().optional(),listChanged:Fe().optional()}).optional(),tools:z({listChanged:Fe().optional()}).optional(),tasks:A6.optional()}),q6=et.extend({protocolVersion:w(),capabilities:F6,serverInfo:FS,instructions:w().optional()}),Ug=Wt.extend({method:D("notifications/initialized"),params:Vt.optional()});var Ll=Qe.extend({method:D("ping"),params:Ut.optional()}),L6=z({progress:ue(),total:Pe(ue()),message:Pe(w())}),Z6=z({...Vt.shape,...L6.shape,progressToken:RS}),Zl=Wt.extend({method:D("notifications/progress"),params:Z6}),H6=Ut.extend({cursor:jS.optional()}),rs=Qe.extend({params:H6.optional()}),ns=et.extend({nextCursor:jS.optional()}),B6=ot(["working","input_required","completed","failed","cancelled"]),is=z({taskId:w(),status:B6,ttl:ge([ue(),Xo()]),createdAt:w(),lastUpdatedAt:w(),pollInterval:Pe(ue()),statusMessage:Pe(w())}),Ji=et.extend({task:is}),V6=Vt.merge(is),as=Wt.extend({method:D("notifications/tasks/status"),params:V6}),Hl=Qe.extend({method:D("tasks/get"),params:Ut.extend({taskId:w()})}),Bl=et.merge(is),Vl=Qe.extend({method:D("tasks/result"),params:Ut.extend({taskId:w()})}),Mee=et.loose(),Wl=rs.extend({method:D("tasks/list")}),Jl=ns.extend({tasks:ee(is)}),Gl=Qe.extend({method:D("tasks/cancel"),params:Ut.extend({taskId:w()})}),qS=et.merge(is),LS=z({uri:w(),mimeType:Pe(w()),_meta:$e(w(),_e()).optional()}),ZS=LS.extend({text:w()}),Fg=w().refine(t=>{try{return atob(t),!0}catch{return!1}},{message:"Invalid Base64 string"}),HS=LS.extend({blob:Fg}),os=ot(["user","assistant"]),Gi=z({audience:ee(os).optional(),priority:ue().min(0).max(1).optional(),lastModified:Bn.datetime({offset:!0}).optional()}),BS=z({...Wi.shape,...ts.shape,uri:w(),description:Pe(w()),mimeType:Pe(w()),annotations:Gi.optional(),_meta:Pe(at({}))}),W6=z({...Wi.shape,...ts.shape,uriTemplate:w(),description:Pe(w()),mimeType:Pe(w()),annotations:Gi.optional(),_meta:Pe(at({}))}),J6=rs.extend({method:D("resources/list")}),G6=ns.extend({resources:ee(BS)}),K6=rs.extend({method:D("resources/templates/list")}),X6=ns.extend({resourceTemplates:ee(W6)}),qg=Ut.extend({uri:w()}),Y6=qg,Q6=Qe.extend({method:D("resources/read"),params:Y6}),eN=et.extend({contents:ee(ge([ZS,HS]))}),tN=Wt.extend({method:D("notifications/resources/list_changed"),params:Vt.optional()}),rN=qg,nN=Qe.extend({method:D("resources/subscribe"),params:rN}),iN=qg,aN=Qe.extend({method:D("resources/unsubscribe"),params:iN}),oN=Vt.extend({uri:w()}),sN=Wt.extend({method:D("notifications/resources/updated"),params:oN}),cN=z({name:w(),description:Pe(w()),required:Pe(Fe())}),lN=z({...Wi.shape,...ts.shape,description:Pe(w()),arguments:Pe(ee(cN)),_meta:Pe(at({}))}),uN=rs.extend({method:D("prompts/list")}),pN=ns.extend({prompts:ee(lN)}),dN=Ut.extend({name:w(),arguments:$e(w(),w()).optional()}),fN=Qe.extend({method:D("prompts/get"),params:dN}),Lg=z({type:D("text"),text:w(),annotations:Gi.optional(),_meta:$e(w(),_e()).optional()}),Zg=z({type:D("image"),data:Fg,mimeType:w(),annotations:Gi.optional(),_meta:$e(w(),_e()).optional()}),Hg=z({type:D("audio"),data:Fg,mimeType:w(),annotations:Gi.optional(),_meta:$e(w(),_e()).optional()}),mN=z({type:D("tool_use"),name:w(),id:w(),input:$e(w(),_e()),_meta:$e(w(),_e()).optional()}),hN=z({type:D("resource"),resource:ge([ZS,HS]),annotations:Gi.optional(),_meta:$e(w(),_e()).optional()}),gN=BS.extend({type:D("resource_link")}),Bg=ge([Lg,Zg,Hg,gN,hN]),vN=z({role:os,content:Bg}),yN=et.extend({description:w().optional(),messages:ee(vN)}),xN=Wt.extend({method:D("notifications/prompts/list_changed"),params:Vt.optional()}),bN=z({title:w().optional(),readOnlyHint:Fe().optional(),destructiveHint:Fe().optional(),idempotentHint:Fe().optional(),openWorldHint:Fe().optional()}),_N=z({taskSupport:ot(["required","optional","forbidden"]).optional()}),VS=z({...Wi.shape,...ts.shape,description:w().optional(),inputSchema:z({type:D("object"),properties:$e(w(),Ye).optional(),required:ee(w()).optional()}).catchall(_e()),outputSchema:z({type:D("object"),properties:$e(w(),Ye).optional(),required:ee(w()).optional()}).catchall(_e()).optional(),annotations:bN.optional(),execution:_N.optional(),_meta:$e(w(),_e()).optional()}),Vg=rs.extend({method:D("tools/list")}),wN=ns.extend({tools:ee(VS)}),Kl=et.extend({content:ee(Bg).default([]),structuredContent:$e(w(),_e()).optional(),isError:Fe().optional()}),Uee=Kl.or(et.extend({toolResult:_e()})),SN=Qo.extend({name:w(),arguments:$e(w(),_e()).optional()}),ss=Qe.extend({method:D("tools/call"),params:SN}),kN=Wt.extend({method:D("notifications/tools/list_changed"),params:Vt.optional()}),Fee=z({autoRefresh:Fe().default(!0),debounceMs:ue().int().nonnegative().default(300)}),cs=ot(["debug","info","notice","warning","error","critical","alert","emergency"]),$N=Ut.extend({level:cs}),Wg=Qe.extend({method:D("logging/setLevel"),params:$N}),IN=Vt.extend({level:cs,logger:w().optional(),data:_e()}),PN=Wt.extend({method:D("notifications/message"),params:IN}),EN=z({name:w().optional()}),TN=z({hints:ee(EN).optional(),costPriority:ue().min(0).max(1).optional(),speedPriority:ue().min(0).max(1).optional(),intelligencePriority:ue().min(0).max(1).optional()}),CN=z({mode:ot(["auto","required","none"]).optional()}),zN=z({type:D("tool_result"),toolUseId:w().describe("The unique identifier for the corresponding tool call."),content:ee(Bg).default([]),structuredContent:z({}).loose().optional(),isError:Fe().optional(),_meta:$e(w(),_e()).optional()}),RN=jl("type",[Lg,Zg,Hg]),Al=jl("type",[Lg,Zg,Hg,mN,zN]),jN=z({role:os,content:ge([Al,ee(Al)]),_meta:$e(w(),_e()).optional()}),DN=Qo.extend({messages:ee(jN),modelPreferences:TN.optional(),systemPrompt:w().optional(),includeContext:ot(["none","thisServer","allServers"]).optional(),temperature:ue().optional(),maxTokens:ue().int(),stopSequences:ee(w()).optional(),metadata:Ye.optional(),tools:ee(VS).optional(),toolChoice:CN.optional()}),ON=Qe.extend({method:D("sampling/createMessage"),params:DN}),Jg=et.extend({model:w(),stopReason:Pe(ot(["endTurn","stopSequence","maxTokens"]).or(w())),role:os,content:RN}),Gg=et.extend({model:w(),stopReason:Pe(ot(["endTurn","stopSequence","maxTokens","toolUse"]).or(w())),role:os,content:ge([Al,ee(Al)])}),NN=z({type:D("boolean"),title:w().optional(),description:w().optional(),default:Fe().optional()}),AN=z({type:D("string"),title:w().optional(),description:w().optional(),minLength:ue().optional(),maxLength:ue().optional(),format:ot(["email","uri","date","date-time"]).optional(),default:w().optional()}),MN=z({type:ot(["number","integer"]),title:w().optional(),description:w().optional(),minimum:ue().optional(),maximum:ue().optional(),default:ue().optional()}),UN=z({type:D("string"),title:w().optional(),description:w().optional(),enum:ee(w()),default:w().optional()}),FN=z({type:D("string"),title:w().optional(),description:w().optional(),oneOf:ee(z({const:w(),title:w()})),default:w().optional()}),qN=z({type:D("string"),title:w().optional(),description:w().optional(),enum:ee(w()),enumNames:ee(w()).optional(),default:w().optional()}),LN=ge([UN,FN]),ZN=z({type:D("array"),title:w().optional(),description:w().optional(),minItems:ue().optional(),maxItems:ue().optional(),items:z({type:D("string"),enum:ee(w())}),default:ee(w()).optional()}),HN=z({type:D("array"),title:w().optional(),description:w().optional(),minItems:ue().optional(),maxItems:ue().optional(),items:z({anyOf:ee(z({const:w(),title:w()}))}),default:ee(w()).optional()}),BN=ge([ZN,HN]),VN=ge([qN,LN,BN]),WN=ge([VN,NN,AN,MN]),JN=Qo.extend({mode:D("form").optional(),message:w(),requestedSchema:z({type:D("object"),properties:$e(w(),WN),required:ee(w()).optional()})}),GN=Qo.extend({mode:D("url"),message:w(),elicitationId:w(),url:w().url()}),KN=ge([JN,GN]),XN=Qe.extend({method:D("elicitation/create"),params:KN}),YN=Vt.extend({elicitationId:w()}),QN=Wt.extend({method:D("notifications/elicitation/complete"),params:YN}),Xl=et.extend({action:ot(["accept","decline","cancel"]),content:Nl(t=>t===null?void 0:t,$e(w(),ge([w(),ue(),Fe(),ee(w())])).optional())}),eA=z({type:D("ref/resource"),uri:w()});var tA=z({type:D("ref/prompt"),name:w()}),rA=Ut.extend({ref:ge([tA,eA]),argument:z({name:w(),value:w()}),context:z({arguments:$e(w(),w()).optional()}).optional()}),nA=Qe.extend({method:D("completion/complete"),params:rA});var iA=et.extend({completion:at({values:ee(w()).max(100),total:Pe(ue().int()),hasMore:Pe(Fe())})}),aA=z({uri:w().startsWith("file://"),name:w().optional(),_meta:$e(w(),_e()).optional()}),oA=Qe.extend({method:D("roots/list"),params:Ut.optional()}),Kg=et.extend({roots:ee(aA)}),sA=Wt.extend({method:D("notifications/roots/list_changed"),params:Vt.optional()}),qee=ge([Ll,Mg,nA,Wg,fN,uN,J6,K6,Q6,nN,aN,ss,Vg,Hl,Vl,Wl,Gl]),Lee=ge([ql,Zl,Ug,sA,as]),Zee=ge([Fl,Jg,Gg,Xl,Kg,Bl,Jl,Ji]),Hee=ge([Ll,ON,XN,oA,Hl,Vl,Wl,Gl]),Bee=ge([ql,Zl,PN,sN,tN,kN,xN,as,QN]),Vee=ge([Fl,q6,iA,yN,pN,G6,X6,eN,Kl,wN,Bl,Jl,Ji]),K=class t extends Error{constructor(e,r,n){super(`MCP error ${e}: ${r}`),this.code=e,this.data=n,this.name="McpError"}static fromError(e,r,n){if(e===ae.UrlElicitationRequired&&n){let i=n;if(i.elicitations)return new Rg(i.elicitations,r)}return new t(e,r,n)}},Rg=class extends K{constructor(e,r=`URL elicitation${e.length>1?"s":""} required`){super(ae.UrlElicitationRequired,r,{elicitations:e})}get elicitations(){return this.data?.elicitations??[]}};function fn(t){return t==="completed"||t==="failed"||t==="cancelled"}var cA=Symbol("Let zodToJsonSchema decide on which parser to use");var Ite=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function Xg(t){let r=_l(t)?.method;if(!r)throw new Error("Schema is missing a method literal");let n=Cw(r);if(typeof n!="string")throw new Error("Schema method literal must be a string");return n}function Yg(t,e){let r=pn(t,e);if(!r.success)throw r.error;return r.data}var mA=6e4,Yl=class{constructor(e){this._options=e,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(ql,r=>{this._oncancel(r)}),this.setNotificationHandler(Zl,r=>{this._onprogress(r)}),this.setRequestHandler(Ll,r=>({})),this._taskStore=e?.taskStore,this._taskMessageQueue=e?.taskMessageQueue,this._taskStore&&(this.setRequestHandler(Hl,async(r,n)=>{let i=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!i)throw new K(ae.InvalidParams,"Failed to retrieve task: Task not found");return{...i}}),this.setRequestHandler(Vl,async(r,n)=>{let i=async()=>{let a=r.params.taskId;if(this._taskMessageQueue){let s;for(;s=await this._taskMessageQueue.dequeue(a,n.sessionId);){if(s.type==="response"||s.type==="error"){let c=s.message,l=c.id,u=this._requestResolvers.get(l);if(u)if(this._requestResolvers.delete(l),s.type==="response")u(c);else{let p=c,d=new K(p.error.code,p.error.message,p.error.data);u(d)}else{let p=s.type==="response"?"Response":"Error";this._onerror(new Error(`${p} handler missing for request ${l}`))}continue}await this._transport?.send(s.message,{relatedRequestId:n.requestId})}}let o=await this._taskStore.getTask(a,n.sessionId);if(!o)throw new K(ae.InvalidParams,`Task not found: ${a}`);if(!fn(o.status))return await this._waitForTaskUpdate(a,n.signal),await i();if(fn(o.status)){let s=await this._taskStore.getTaskResult(a,n.sessionId);return this._clearTaskQueue(a),{...s,_meta:{...s._meta,[dn]:{taskId:a}}}}return await i()};return await i()}),this.setRequestHandler(Wl,async(r,n)=>{try{let{tasks:i,nextCursor:a}=await this._taskStore.listTasks(r.params?.cursor,n.sessionId);return{tasks:i,nextCursor:a,_meta:{}}}catch(i){throw new K(ae.InvalidParams,`Failed to list tasks: ${i instanceof Error?i.message:String(i)}`)}}),this.setRequestHandler(Gl,async(r,n)=>{try{let i=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!i)throw new K(ae.InvalidParams,`Task not found: ${r.params.taskId}`);if(fn(i.status))throw new K(ae.InvalidParams,`Cannot cancel task in terminal status: ${i.status}`);await this._taskStore.updateTaskStatus(r.params.taskId,"cancelled","Client cancelled task execution.",n.sessionId),this._clearTaskQueue(r.params.taskId);let a=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!a)throw new K(ae.InvalidParams,`Task not found after cancellation: ${r.params.taskId}`);return{_meta:{},...a}}catch(i){throw i instanceof K?i:new K(ae.InvalidRequest,`Failed to cancel task: ${i instanceof Error?i.message:String(i)}`)}}))}async _oncancel(e){if(!e.params.requestId)return;this._requestHandlerAbortControllers.get(e.params.requestId)?.abort(e.params.reason)}_setupTimeout(e,r,n,i,a=!1){this._timeoutInfo.set(e,{timeoutId:setTimeout(i,r),startTime:Date.now(),timeout:r,maxTotalTimeout:n,resetTimeoutOnProgress:a,onTimeout:i})}_resetTimeout(e){let r=this._timeoutInfo.get(e);if(!r)return!1;let n=Date.now()-r.startTime;if(r.maxTotalTimeout&&n>=r.maxTotalTimeout)throw this._timeoutInfo.delete(e),K.fromError(ae.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:r.maxTotalTimeout,totalElapsed:n});return clearTimeout(r.timeoutId),r.timeoutId=setTimeout(r.onTimeout,r.timeout),!0}_cleanupTimeout(e){let r=this._timeoutInfo.get(e);r&&(clearTimeout(r.timeoutId),this._timeoutInfo.delete(e))}async connect(e){this._transport=e;let r=this.transport?.onclose;this._transport.onclose=()=>{r?.(),this._onclose()};let n=this.transport?.onerror;this._transport.onerror=a=>{n?.(a),this._onerror(a)};let i=this._transport?.onmessage;this._transport.onmessage=(a,o)=>{i?.(a,o),es(a)||MS(a)?this._onresponse(a):Og(a)?this._onrequest(a,o):AS(a)?this._onnotification(a):this._onerror(new Error(`Unknown message type: ${JSON.stringify(a)}`))},await this._transport.start()}_onclose(){let e=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._taskProgressTokens.clear(),this._pendingDebouncedNotifications.clear();let r=K.fromError(ae.ConnectionClosed,"Connection closed");this._transport=void 0,this.onclose?.();for(let n of e.values())n(r)}_onerror(e){this.onerror?.(e)}_onnotification(e){let r=this._notificationHandlers.get(e.method)??this.fallbackNotificationHandler;r!==void 0&&Promise.resolve().then(()=>r(e)).catch(n=>this._onerror(new Error(`Uncaught error in notification handler: ${n}`)))}_onrequest(e,r){let n=this._requestHandlers.get(e.method)??this.fallbackRequestHandler,i=this._transport,a=e.params?._meta?.[dn]?.taskId;if(n===void 0){let u={jsonrpc:"2.0",id:e.id,error:{code:ae.MethodNotFound,message:"Method not found"}};a&&this._taskMessageQueue?this._enqueueTaskMessage(a,{type:"error",message:u,timestamp:Date.now()},i?.sessionId).catch(p=>this._onerror(new Error(`Failed to enqueue error response: ${p}`))):i?.send(u).catch(p=>this._onerror(new Error(`Failed to send an error response: ${p}`)));return}let o=new AbortController;this._requestHandlerAbortControllers.set(e.id,o);let s=DS(e.params)?e.params.task:void 0,c=this._taskStore?this.requestTaskStore(e,i?.sessionId):void 0,l={signal:o.signal,sessionId:i?.sessionId,_meta:e.params?._meta,sendNotification:async u=>{let p={relatedRequestId:e.id};a&&(p.relatedTask={taskId:a}),await this.notification(u,p)},sendRequest:async(u,p,d)=>{let f={...d,relatedRequestId:e.id};a&&!f.relatedTask&&(f.relatedTask={taskId:a});let m=f.relatedTask?.taskId??a;return m&&c&&await c.updateTaskStatus(m,"input_required"),await this.request(u,p,f)},authInfo:r?.authInfo,requestId:e.id,requestInfo:r?.requestInfo,taskId:a,taskStore:c,taskRequestedTtl:s?.ttl,closeSSEStream:r?.closeSSEStream,closeStandaloneSSEStream:r?.closeStandaloneSSEStream};Promise.resolve().then(()=>{s&&this.assertTaskHandlerCapability(e.method)}).then(()=>n(e,l)).then(async u=>{if(o.signal.aborted)return;let p={result:u,jsonrpc:"2.0",id:e.id};a&&this._taskMessageQueue?await this._enqueueTaskMessage(a,{type:"response",message:p,timestamp:Date.now()},i?.sessionId):await i?.send(p)},async u=>{if(o.signal.aborted)return;let p={jsonrpc:"2.0",id:e.id,error:{code:Number.isSafeInteger(u.code)?u.code:ae.InternalError,message:u.message??"Internal error",...u.data!==void 0&&{data:u.data}}};a&&this._taskMessageQueue?await this._enqueueTaskMessage(a,{type:"error",message:p,timestamp:Date.now()},i?.sessionId):await i?.send(p)}).catch(u=>this._onerror(new Error(`Failed to send response: ${u}`))).finally(()=>{this._requestHandlerAbortControllers.delete(e.id)})}_onprogress(e){let{progressToken:r,...n}=e.params,i=Number(r),a=this._progressHandlers.get(i);if(!a){this._onerror(new Error(`Received a progress notification for an unknown token: ${JSON.stringify(e)}`));return}let o=this._responseHandlers.get(i),s=this._timeoutInfo.get(i);if(s&&o&&s.resetTimeoutOnProgress)try{this._resetTimeout(i)}catch(c){this._responseHandlers.delete(i),this._progressHandlers.delete(i),this._cleanupTimeout(i),o(c);return}a(n)}_onresponse(e){let r=Number(e.id),n=this._requestResolvers.get(r);if(n){if(this._requestResolvers.delete(r),es(e))n(e);else{let o=new K(e.error.code,e.error.message,e.error.data);n(o)}return}let i=this._responseHandlers.get(r);if(i===void 0){this._onerror(new Error(`Received a response for an unknown message ID: ${JSON.stringify(e)}`));return}this._responseHandlers.delete(r),this._cleanupTimeout(r);let a=!1;if(es(e)&&e.result&&typeof e.result=="object"){let o=e.result;if(o.task&&typeof o.task=="object"){let s=o.task;typeof s.taskId=="string"&&(a=!0,this._taskProgressTokens.set(s.taskId,r))}}if(a||this._progressHandlers.delete(r),es(e))i(e);else{let o=K.fromError(e.error.code,e.error.message,e.error.data);i(o)}}get transport(){return this._transport}async close(){await this._transport?.close()}async*requestStream(e,r,n){let{task:i}=n??{};if(!i){try{yield{type:"result",result:await this.request(e,r,n)}}catch(o){yield{type:"error",error:o instanceof K?o:new K(ae.InternalError,String(o))}}return}let a;try{let o=await this.request(e,Ji,n);if(o.task)a=o.task.taskId,yield{type:"taskCreated",task:o.task};else throw new K(ae.InternalError,"Task creation did not return a task");for(;;){let s=await this.getTask({taskId:a},n);if(yield{type:"taskStatus",task:s},fn(s.status)){s.status==="completed"?yield{type:"result",result:await this.getTaskResult({taskId:a},r,n)}:s.status==="failed"?yield{type:"error",error:new K(ae.InternalError,`Task ${a} failed`)}:s.status==="cancelled"&&(yield{type:"error",error:new K(ae.InternalError,`Task ${a} was cancelled`)});return}if(s.status==="input_required"){yield{type:"result",result:await this.getTaskResult({taskId:a},r,n)};return}let c=s.pollInterval??this._options?.defaultTaskPollInterval??1e3;await new Promise(l=>setTimeout(l,c)),n?.signal?.throwIfAborted()}}catch(o){yield{type:"error",error:o instanceof K?o:new K(ae.InternalError,String(o))}}}request(e,r,n){let{relatedRequestId:i,resumptionToken:a,onresumptiontoken:o,task:s,relatedTask:c}=n??{};return new Promise((l,u)=>{let p=S=>{u(S)};if(!this._transport){p(new Error("Not connected"));return}if(this._options?.enforceStrictCapabilities===!0)try{this.assertCapabilityForMethod(e.method),s&&this.assertTaskCapability(e.method)}catch(S){p(S);return}n?.signal?.throwIfAborted();let d=this._requestMessageId++,f={...e,jsonrpc:"2.0",id:d};n?.onprogress&&(this._progressHandlers.set(d,n.onprogress),f.params={...e.params,_meta:{...e.params?._meta||{},progressToken:d}}),s&&(f.params={...f.params,task:s}),c&&(f.params={...f.params,_meta:{...f.params?._meta||{},[dn]:c}});let m=S=>{this._responseHandlers.delete(d),this._progressHandlers.delete(d),this._cleanupTimeout(d),this._transport?.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:d,reason:String(S)}},{relatedRequestId:i,resumptionToken:a,onresumptiontoken:o}).catch(k=>this._onerror(new Error(`Failed to send cancellation: ${k}`)));let _=S instanceof K?S:new K(ae.RequestTimeout,String(S));u(_)};this._responseHandlers.set(d,S=>{if(!n?.signal?.aborted){if(S instanceof Error)return u(S);try{let _=pn(r,S.result);_.success?l(_.data):u(_.error)}catch(_){u(_)}}}),n?.signal?.addEventListener("abort",()=>{m(n?.signal?.reason)});let h=n?.timeout??mA,g=()=>m(K.fromError(ae.RequestTimeout,"Request timed out",{timeout:h}));this._setupTimeout(d,h,n?.maxTotalTimeout,g,n?.resetTimeoutOnProgress??!1);let b=c?.taskId;if(b){let S=_=>{let k=this._responseHandlers.get(d);k?k(_):this._onerror(new Error(`Response handler missing for side-channeled request ${d}`))};this._requestResolvers.set(d,S),this._enqueueTaskMessage(b,{type:"request",message:f,timestamp:Date.now()}).catch(_=>{this._cleanupTimeout(d),u(_)})}else this._transport.send(f,{relatedRequestId:i,resumptionToken:a,onresumptiontoken:o}).catch(S=>{this._cleanupTimeout(d),u(S)})})}async getTask(e,r){return this.request({method:"tasks/get",params:e},Bl,r)}async getTaskResult(e,r,n){return this.request({method:"tasks/result",params:e},r,n)}async listTasks(e,r){return this.request({method:"tasks/list",params:e},Jl,r)}async cancelTask(e,r){return this.request({method:"tasks/cancel",params:e},qS,r)}async notification(e,r){if(!this._transport)throw new Error("Not connected");this.assertNotificationCapability(e.method);let n=r?.relatedTask?.taskId;if(n){let s={...e,jsonrpc:"2.0",params:{...e.params,_meta:{...e.params?._meta||{},[dn]:r.relatedTask}}};await this._enqueueTaskMessage(n,{type:"notification",message:s,timestamp:Date.now()});return}if((this._options?.debouncedNotificationMethods??[]).includes(e.method)&&!e.params&&!r?.relatedRequestId&&!r?.relatedTask){if(this._pendingDebouncedNotifications.has(e.method))return;this._pendingDebouncedNotifications.add(e.method),Promise.resolve().then(()=>{if(this._pendingDebouncedNotifications.delete(e.method),!this._transport)return;let s={...e,jsonrpc:"2.0"};r?.relatedTask&&(s={...s,params:{...s.params,_meta:{...s.params?._meta||{},[dn]:r.relatedTask}}}),this._transport?.send(s,r).catch(c=>this._onerror(c))});return}let o={...e,jsonrpc:"2.0"};r?.relatedTask&&(o={...o,params:{...o.params,_meta:{...o.params?._meta||{},[dn]:r.relatedTask}}}),await this._transport.send(o,r)}setRequestHandler(e,r){let n=Xg(e);this.assertRequestHandlerCapability(n),this._requestHandlers.set(n,(i,a)=>{let o=Yg(e,i);return Promise.resolve(r(o,a))})}removeRequestHandler(e){this._requestHandlers.delete(e)}assertCanSetRequestHandler(e){if(this._requestHandlers.has(e))throw new Error(`A request handler for ${e} already exists, which would be overridden`)}setNotificationHandler(e,r){let n=Xg(e);this._notificationHandlers.set(n,i=>{let a=Yg(e,i);return Promise.resolve(r(a))})}removeNotificationHandler(e){this._notificationHandlers.delete(e)}_cleanupTaskProgressHandler(e){let r=this._taskProgressTokens.get(e);r!==void 0&&(this._progressHandlers.delete(r),this._taskProgressTokens.delete(e))}async _enqueueTaskMessage(e,r,n){if(!this._taskStore||!this._taskMessageQueue)throw new Error("Cannot enqueue task message: taskStore and taskMessageQueue are not configured");let i=this._options?.maxTaskQueueSize;await this._taskMessageQueue.enqueue(e,r,n,i)}async _clearTaskQueue(e,r){if(this._taskMessageQueue){let n=await this._taskMessageQueue.dequeueAll(e,r);for(let i of n)if(i.type==="request"&&Og(i.message)){let a=i.message.id,o=this._requestResolvers.get(a);o?(o(new K(ae.InternalError,"Task cancelled or completed")),this._requestResolvers.delete(a)):this._onerror(new Error(`Resolver missing for request ${a} during task ${e} cleanup`))}}}async _waitForTaskUpdate(e,r){let n=this._options?.defaultTaskPollInterval??1e3;try{let i=await this._taskStore?.getTask(e);i?.pollInterval&&(n=i.pollInterval)}catch{}return new Promise((i,a)=>{if(r.aborted){a(new K(ae.InvalidRequest,"Request cancelled"));return}let o=setTimeout(i,n);r.addEventListener("abort",()=>{clearTimeout(o),a(new K(ae.InvalidRequest,"Request cancelled"))},{once:!0})})}requestTaskStore(e,r){let n=this._taskStore;if(!n)throw new Error("No task store configured");return{createTask:async i=>{if(!e)throw new Error("No request provided");return await n.createTask(i,e.id,{method:e.method,params:e.params},r)},getTask:async i=>{let a=await n.getTask(i,r);if(!a)throw new K(ae.InvalidParams,"Failed to retrieve task: Task not found");return a},storeTaskResult:async(i,a,o)=>{await n.storeTaskResult(i,a,o,r);let s=await n.getTask(i,r);if(s){let c=as.parse({method:"notifications/tasks/status",params:s});await this.notification(c),fn(s.status)&&this._cleanupTaskProgressHandler(i)}},getTaskResult:i=>n.getTaskResult(i,r),updateTaskStatus:async(i,a,o)=>{let s=await n.getTask(i,r);if(!s)throw new K(ae.InvalidParams,`Task "${i}" not found - it may have been cleaned up`);if(fn(s.status))throw new K(ae.InvalidParams,`Cannot update task "${i}" from terminal status "${s.status}" to "${a}". Terminal states (completed, failed, cancelled) cannot transition to other states.`);await n.updateTaskStatus(i,a,o,r);let c=await n.getTask(i,r);if(c){let l=as.parse({method:"notifications/tasks/status",params:c});await this.notification(l),fn(c.status)&&this._cleanupTaskProgressHandler(i)}},listTasks:i=>n.listTasks(i,r)}}};function WS(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)}function JS(t,e){let r={...t};for(let n in e){let i=n,a=e[i];if(a===void 0)continue;let o=r[i];WS(o)&&WS(a)?r[i]={...o,...a}:r[i]=a}return r}var D$=eo(Ay(),1),O$=eo(j$(),1);function iF(){let t=new D$.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return(0,O$.default)(t),t}var Ou=class{constructor(e){this._ajv=e??iF()}getValidator(e){let r="$id"in e&&typeof e.$id=="string"?this._ajv.getSchema(e.$id)??this._ajv.compile(e):this._ajv.compile(e);return n=>r(n)?{valid:!0,data:n,errorMessage:void 0}:{valid:!1,data:void 0,errorMessage:this._ajv.errorsText(r.errors)}}};var Nu=class{constructor(e){this._server=e}requestStream(e,r,n){return this._server.requestStream(e,r,n)}async getTask(e,r){return this._server.getTask({taskId:e},r)}async getTaskResult(e,r,n){return this._server.getTaskResult({taskId:e},r,n)}async listTasks(e,r){return this._server.listTasks(e?{cursor:e}:void 0,r)}async cancelTask(e,r){return this._server.cancelTask({taskId:e},r)}};function N$(t,e,r){if(!t)throw new Error(`${r} does not support task creation (required for ${e})`);switch(e){case"tools/call":if(!t.tools?.call)throw new Error(`${r} does not support task creation for tools/call (required for ${e})`);break;default:break}}function A$(t,e,r){if(!t)throw new Error(`${r} does not support task creation (required for ${e})`);switch(e){case"sampling/createMessage":if(!t.sampling?.createMessage)throw new Error(`${r} does not support task creation for sampling/createMessage (required for ${e})`);break;case"elicitation/create":if(!t.elicitation?.create)throw new Error(`${r} does not support task creation for elicitation/create (required for ${e})`);break;default:break}}var Au=class extends Yl{constructor(e,r){super(r),this._serverInfo=e,this._loggingLevels=new Map,this.LOG_LEVEL_SEVERITY=new Map(cs.options.map((n,i)=>[n,i])),this.isMessageIgnored=(n,i)=>{let a=this._loggingLevels.get(i);return a?this.LOG_LEVEL_SEVERITY.get(n)<this.LOG_LEVEL_SEVERITY.get(a):!1},this._capabilities=r?.capabilities??{},this._instructions=r?.instructions,this._jsonSchemaValidator=r?.jsonSchemaValidator??new Ou,this.setRequestHandler(Mg,n=>this._oninitialize(n)),this.setNotificationHandler(Ug,()=>this.oninitialized?.()),this._capabilities.logging&&this.setRequestHandler(Wg,async(n,i)=>{let a=i.sessionId||i.requestInfo?.headers["mcp-session-id"]||void 0,{level:o}=n.params,s=cs.safeParse(o);return s.success&&this._loggingLevels.set(a,s.data),{}})}get experimental(){return this._experimental||(this._experimental={tasks:new Nu(this)}),this._experimental}registerCapabilities(e){if(this.transport)throw new Error("Cannot register capabilities after connecting to transport");this._capabilities=JS(this._capabilities,e)}setRequestHandler(e,r){let i=_l(e)?.method;if(!i)throw new Error("Schema is missing a method literal");let a;if(Bi(i)){let s=i;a=s._zod?.def?.value??s.value}else{let s=i;a=s._def?.value??s.value}if(typeof a!="string")throw new Error("Schema method literal must be a string");if(a==="tools/call"){let s=async(c,l)=>{let u=pn(ss,c);if(!u.success){let m=u.error instanceof Error?u.error.message:String(u.error);throw new K(ae.InvalidParams,`Invalid tools/call request: ${m}`)}let{params:p}=u.data,d=await Promise.resolve(r(c,l));if(p.task){let m=pn(Ji,d);if(!m.success){let h=m.error instanceof Error?m.error.message:String(m.error);throw new K(ae.InvalidParams,`Invalid task creation result: ${h}`)}return m.data}let f=pn(Kl,d);if(!f.success){let m=f.error instanceof Error?f.error.message:String(f.error);throw new K(ae.InvalidParams,`Invalid tools/call result: ${m}`)}return f.data};return super.setRequestHandler(e,s)}return super.setRequestHandler(e,r)}assertCapabilityForMethod(e){switch(e){case"sampling/createMessage":if(!this._clientCapabilities?.sampling)throw new Error(`Client does not support sampling (required for ${e})`);break;case"elicitation/create":if(!this._clientCapabilities?.elicitation)throw new Error(`Client does not support elicitation (required for ${e})`);break;case"roots/list":if(!this._clientCapabilities?.roots)throw new Error(`Client does not support listing roots (required for ${e})`);break;case"ping":break}}assertNotificationCapability(e){switch(e){case"notifications/message":if(!this._capabilities.logging)throw new Error(`Server does not support logging (required for ${e})`);break;case"notifications/resources/updated":case"notifications/resources/list_changed":if(!this._capabilities.resources)throw new Error(`Server does not support notifying about resources (required for ${e})`);break;case"notifications/tools/list_changed":if(!this._capabilities.tools)throw new Error(`Server does not support notifying of tool list changes (required for ${e})`);break;case"notifications/prompts/list_changed":if(!this._capabilities.prompts)throw new Error(`Server does not support notifying of prompt list changes (required for ${e})`);break;case"notifications/elicitation/complete":if(!this._clientCapabilities?.elicitation?.url)throw new Error(`Client does not support URL elicitation (required for ${e})`);break;case"notifications/cancelled":break;case"notifications/progress":break}}assertRequestHandlerCapability(e){if(this._capabilities)switch(e){case"completion/complete":if(!this._capabilities.completions)throw new Error(`Server does not support completions (required for ${e})`);break;case"logging/setLevel":if(!this._capabilities.logging)throw new Error(`Server does not support logging (required for ${e})`);break;case"prompts/get":case"prompts/list":if(!this._capabilities.prompts)throw new Error(`Server does not support prompts (required for ${e})`);break;case"resources/list":case"resources/templates/list":case"resources/read":if(!this._capabilities.resources)throw new Error(`Server does not support resources (required for ${e})`);break;case"tools/call":case"tools/list":if(!this._capabilities.tools)throw new Error(`Server does not support tools (required for ${e})`);break;case"tasks/get":case"tasks/list":case"tasks/result":case"tasks/cancel":if(!this._capabilities.tasks)throw new Error(`Server does not support tasks capability (required for ${e})`);break;case"ping":case"initialize":break}}assertTaskCapability(e){A$(this._clientCapabilities?.tasks?.requests,e,"Client")}assertTaskHandlerCapability(e){this._capabilities&&N$(this._capabilities.tasks?.requests,e,"Server")}async _oninitialize(e){let r=e.params.protocolVersion;return this._clientCapabilities=e.params.capabilities,this._clientVersion=e.params.clientInfo,{protocolVersion:zS.includes(r)?r:jg,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"},Fl)}async createMessage(e,r){if((e.tools||e.toolChoice)&&!this._clientCapabilities?.sampling?.tools)throw new Error("Client does not support sampling tools capability.");if(e.messages.length>0){let n=e.messages[e.messages.length-1],i=Array.isArray(n.content)?n.content:[n.content],a=i.some(l=>l.type==="tool_result"),o=e.messages.length>1?e.messages[e.messages.length-2]:void 0,s=o?Array.isArray(o.content)?o.content:[o.content]:[],c=s.some(l=>l.type==="tool_use");if(a){if(i.some(l=>l.type!=="tool_result"))throw new Error("The last message must contain only tool_result content if any is present");if(!c)throw new Error("tool_result blocks are not matching any tool_use from the previous message")}if(c){let l=new Set(s.filter(p=>p.type==="tool_use").map(p=>p.id)),u=new Set(i.filter(p=>p.type==="tool_result").map(p=>p.toolUseId));if(l.size!==u.size||![...l].every(p=>u.has(p)))throw new Error("ids of tool_result blocks and tool_use blocks from previous message do not match")}}return e.tools?this.request({method:"sampling/createMessage",params:e},Gg,r):this.request({method:"sampling/createMessage",params:e},Jg,r)}async elicitInput(e,r){switch(e.mode??"form"){case"url":{if(!this._clientCapabilities?.elicitation?.url)throw new Error("Client does not support url elicitation.");let i=e;return this.request({method:"elicitation/create",params:i},Xl,r)}case"form":{if(!this._clientCapabilities?.elicitation?.form)throw new Error("Client does not support form elicitation.");let i=e.mode==="form"?e:{...e,mode:"form"},a=await this.request({method:"elicitation/create",params:i},Xl,r);if(a.action==="accept"&&a.content&&i.requestedSchema)try{let s=this._jsonSchemaValidator.getValidator(i.requestedSchema)(a.content);if(!s.valid)throw new K(ae.InvalidParams,`Elicitation response content does not match requested schema: ${s.errorMessage}`)}catch(o){throw o instanceof K?o:new K(ae.InternalError,`Error validating elicitation response: ${o instanceof Error?o.message:String(o)}`)}return a}}}createElicitationCompletionNotifier(e,r){if(!this._clientCapabilities?.elicitation?.url)throw new Error("Client does not support URL elicitation (required for notifications/elicitation/complete)");return()=>this.notification({method:"notifications/elicitation/complete",params:{elicitationId:e}},r)}async listRoots(e,r){return this.request({method:"roots/list",params:e},Kg,r)}async sendLoggingMessage(e,r){if(this._capabilities.logging&&!this.isMessageIgnored(e.level,r))return this.notification({method:"notifications/message",params:e})}async sendResourceUpdated(e){return this.notification({method:"notifications/resources/updated",params:e})}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"})}};import U$ from"node:process";var Mu=class{append(e){this._buffer=this._buffer?Buffer.concat([this._buffer,e]):e}readMessage(){if(!this._buffer)return null;let e=this._buffer.indexOf(`
|
|
98
|
+
Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let o of t.seen.entries()){let s=o[1];if(e===o[0]){a(o);continue}if(t.external){let l=t.external.registry.get(o[0])?.id;if(e!==o[0]&&l){a(o);continue}}if(t.metadataRegistry.get(o[0])?.id){a(o);continue}if(s.cycle){a(o);continue}if(s.count>1&&t.reused==="ref"){a(o);continue}}}function bl(t,e){let r=t.seen.get(e);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");let n=o=>{let s=t.seen.get(o);if(s.ref===null)return;let c=s.def??s.schema,l={...c},u=s.ref;if(s.ref=null,u){n(u);let d=t.seen.get(u),f=d.schema;if(f.$ref&&(t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0")?(c.allOf=c.allOf??[],c.allOf.push(f)):Object.assign(c,f),Object.assign(c,l),o._zod.parent===u)for(let h in c)h==="$ref"||h==="allOf"||h in l||delete c[h];if(f.$ref&&d.def)for(let h in c)h==="$ref"||h==="allOf"||h in d.def&&JSON.stringify(c[h])===JSON.stringify(d.def[h])&&delete c[h]}let p=o._zod.parent;if(p&&p!==u){n(p);let d=t.seen.get(p);if(d?.schema.$ref&&(c.$ref=d.schema.$ref,d.def))for(let f in c)f==="$ref"||f==="allOf"||f in d.def&&JSON.stringify(c[f])===JSON.stringify(d.def[f])&&delete c[f]}t.override({zodSchema:o,jsonSchema:c,path:s.path??[]})};for(let o of[...t.seen.entries()].reverse())n(o[0]);let i={};if(t.target==="draft-2020-12"?i.$schema="https://json-schema.org/draft/2020-12/schema":t.target==="draft-07"?i.$schema="http://json-schema.org/draft-07/schema#":t.target==="draft-04"?i.$schema="http://json-schema.org/draft-04/schema#":t.target,t.external?.uri){let o=t.external.registry.get(e)?.id;if(!o)throw new Error("Schema is missing an `id` property");i.$id=t.external.uri(o)}Object.assign(i,r.def??r.schema);let a=t.external?.defs??{};for(let o of t.seen.entries()){let s=o[1];s.def&&s.defId&&(a[s.defId]=s.def)}t.external||Object.keys(a).length>0&&(t.target==="draft-2020-12"?i.$defs=a:i.definitions=a);try{let o=JSON.parse(JSON.stringify(i));return Object.defineProperty(o,"~standard",{value:{...e["~standard"],jsonSchema:{input:Wo(e,"input",t.processors),output:Wo(e,"output",t.processors)}},enumerable:!1,writable:!1}),o}catch{throw new Error("Error converting schema to JSON.")}}function ht(t,e){let r=e??{seen:new Set};if(r.seen.has(t))return!1;r.seen.add(t);let n=t._zod.def;if(n.type==="transform")return!0;if(n.type==="array")return ht(n.element,r);if(n.type==="set")return ht(n.valueType,r);if(n.type==="lazy")return ht(n.getter(),r);if(n.type==="promise"||n.type==="optional"||n.type==="nonoptional"||n.type==="nullable"||n.type==="readonly"||n.type==="default"||n.type==="prefault")return ht(n.innerType,r);if(n.type==="intersection")return ht(n.left,r)||ht(n.right,r);if(n.type==="record"||n.type==="map")return ht(n.keyType,r)||ht(n.valueType,r);if(n.type==="pipe")return ht(n.in,r)||ht(n.out,r);if(n.type==="object"){for(let i in n.shape)if(ht(n.shape[i],r))return!0;return!1}if(n.type==="union"){for(let i of n.options)if(ht(i,r))return!0;return!1}if(n.type==="tuple"){for(let i of n.items)if(ht(i,r))return!0;return!!(n.rest&&ht(n.rest,r))}return!1}var H0=(t,e={})=>r=>{let n=yl({...r,processors:e});return $e(t,n),xl(n,t),bl(n,t)},Wo=(t,e,r={})=>n=>{let{libraryOptions:i,target:a}=n??{},o=yl({...i??{},target:a,io:e,processors:r});return $e(t,o),xl(o,t),bl(o,t)};var iO={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},B0=(t,e,r,n)=>{let i=r;i.type="string";let{minimum:a,maximum:o,format:s,patterns:c,contentEncoding:l}=t._zod.bag;if(typeof a=="number"&&(i.minLength=a),typeof o=="number"&&(i.maxLength=o),s&&(i.format=iO[s]??s,i.format===""&&delete i.format,s==="time"&&delete i.format),l&&(i.contentEncoding=l),c&&c.size>0){let u=[...c];u.length===1?i.pattern=u[0].source:u.length>1&&(i.allOf=[...u.map(p=>({...e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0"?{type:"string"}:{},pattern:p.source}))])}},V0=(t,e,r,n)=>{let i=r,{minimum:a,maximum:o,format:s,multipleOf:c,exclusiveMaximum:l,exclusiveMinimum:u}=t._zod.bag;typeof s=="string"&&s.includes("int")?i.type="integer":i.type="number",typeof u=="number"&&(e.target==="draft-04"||e.target==="openapi-3.0"?(i.minimum=u,i.exclusiveMinimum=!0):i.exclusiveMinimum=u),typeof a=="number"&&(i.minimum=a,typeof u=="number"&&e.target!=="draft-04"&&(u>=a?delete i.minimum:delete i.exclusiveMinimum)),typeof l=="number"&&(e.target==="draft-04"||e.target==="openapi-3.0"?(i.maximum=l,i.exclusiveMaximum=!0):i.exclusiveMaximum=l),typeof o=="number"&&(i.maximum=o,typeof l=="number"&&e.target!=="draft-04"&&(l<=o?delete i.maximum:delete i.exclusiveMaximum)),typeof c=="number"&&(i.multipleOf=c)},W0=(t,e,r,n)=>{r.type="boolean"},J0=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("BigInt cannot be represented in JSON Schema")},G0=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("Symbols cannot be represented in JSON Schema")},K0=(t,e,r,n)=>{e.target==="openapi-3.0"?(r.type="string",r.nullable=!0,r.enum=[null]):r.type="null"},X0=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("Undefined cannot be represented in JSON Schema")},Y0=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("Void cannot be represented in JSON Schema")},Q0=(t,e,r,n)=>{r.not={}},ew=(t,e,r,n)=>{},tw=(t,e,r,n)=>{},rw=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("Date cannot be represented in JSON Schema")},nw=(t,e,r,n)=>{let i=t._zod.def,a=ho(i.entries);a.every(o=>typeof o=="number")&&(r.type="number"),a.every(o=>typeof o=="string")&&(r.type="string"),r.enum=a},iw=(t,e,r,n)=>{let i=t._zod.def,a=[];for(let o of i.values)if(o===void 0){if(e.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof o=="bigint"){if(e.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");a.push(Number(o))}else a.push(o);if(a.length!==0)if(a.length===1){let o=a[0];r.type=o===null?"null":typeof o,e.target==="draft-04"||e.target==="openapi-3.0"?r.enum=[o]:r.const=o}else a.every(o=>typeof o=="number")&&(r.type="number"),a.every(o=>typeof o=="string")&&(r.type="string"),a.every(o=>typeof o=="boolean")&&(r.type="boolean"),a.every(o=>o===null)&&(r.type="null"),r.enum=a},aw=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("NaN cannot be represented in JSON Schema")},ow=(t,e,r,n)=>{let i=r,a=t._zod.pattern;if(!a)throw new Error("Pattern not found in template literal");i.type="string",i.pattern=a.source},sw=(t,e,r,n)=>{let i=r,a={type:"string",format:"binary",contentEncoding:"binary"},{minimum:o,maximum:s,mime:c}=t._zod.bag;o!==void 0&&(a.minLength=o),s!==void 0&&(a.maxLength=s),c?c.length===1?(a.contentMediaType=c[0],Object.assign(i,a)):(Object.assign(i,a),i.anyOf=c.map(l=>({contentMediaType:l}))):Object.assign(i,a)},cw=(t,e,r,n)=>{r.type="boolean"},lw=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},uw=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("Function types cannot be represented in JSON Schema")},pw=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},dw=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("Map cannot be represented in JSON Schema")},fw=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("Set cannot be represented in JSON Schema")},mw=(t,e,r,n)=>{let i=r,a=t._zod.def,{minimum:o,maximum:s}=t._zod.bag;typeof o=="number"&&(i.minItems=o),typeof s=="number"&&(i.maxItems=s),i.type="array",i.items=$e(a.element,e,{...n,path:[...n.path,"items"]})},hw=(t,e,r,n)=>{let i=r,a=t._zod.def;i.type="object",i.properties={};let o=a.shape;for(let l in o)i.properties[l]=$e(o[l],e,{...n,path:[...n.path,"properties",l]});let s=new Set(Object.keys(o)),c=new Set([...s].filter(l=>{let u=a.shape[l]._zod;return e.io==="input"?u.optin===void 0:u.optout===void 0}));c.size>0&&(i.required=Array.from(c)),a.catchall?._zod.def.type==="never"?i.additionalProperties=!1:a.catchall?a.catchall&&(i.additionalProperties=$e(a.catchall,e,{...n,path:[...n.path,"additionalProperties"]})):e.io==="output"&&(i.additionalProperties=!1)},Jh=(t,e,r,n)=>{let i=t._zod.def,a=i.inclusive===!1,o=i.options.map((s,c)=>$e(s,e,{...n,path:[...n.path,a?"oneOf":"anyOf",c]}));a?r.oneOf=o:r.anyOf=o},gw=(t,e,r,n)=>{let i=t._zod.def,a=$e(i.left,e,{...n,path:[...n.path,"allOf",0]}),o=$e(i.right,e,{...n,path:[...n.path,"allOf",1]}),s=l=>"allOf"in l&&Object.keys(l).length===1,c=[...s(a)?a.allOf:[a],...s(o)?o.allOf:[o]];r.allOf=c},vw=(t,e,r,n)=>{let i=r,a=t._zod.def;i.type="array";let o=e.target==="draft-2020-12"?"prefixItems":"items",s=e.target==="draft-2020-12"||e.target==="openapi-3.0"?"items":"additionalItems",c=a.items.map((d,f)=>$e(d,e,{...n,path:[...n.path,o,f]})),l=a.rest?$e(a.rest,e,{...n,path:[...n.path,s,...e.target==="openapi-3.0"?[a.items.length]:[]]}):null;e.target==="draft-2020-12"?(i.prefixItems=c,l&&(i.items=l)):e.target==="openapi-3.0"?(i.items={anyOf:c},l&&i.items.anyOf.push(l),i.minItems=c.length,l||(i.maxItems=c.length)):(i.items=c,l&&(i.additionalItems=l));let{minimum:u,maximum:p}=t._zod.bag;typeof u=="number"&&(i.minItems=u),typeof p=="number"&&(i.maxItems=p)},yw=(t,e,r,n)=>{let i=r,a=t._zod.def;i.type="object";let o=a.keyType,c=o._zod.bag?.patterns;if(a.mode==="loose"&&c&&c.size>0){let u=$e(a.valueType,e,{...n,path:[...n.path,"patternProperties","*"]});i.patternProperties={};for(let p of c)i.patternProperties[p.source]=u}else(e.target==="draft-07"||e.target==="draft-2020-12")&&(i.propertyNames=$e(a.keyType,e,{...n,path:[...n.path,"propertyNames"]})),i.additionalProperties=$e(a.valueType,e,{...n,path:[...n.path,"additionalProperties"]});let l=o._zod.values;if(l){let u=[...l].filter(p=>typeof p=="string"||typeof p=="number");u.length>0&&(i.required=u)}},xw=(t,e,r,n)=>{let i=t._zod.def,a=$e(i.innerType,e,n),o=e.seen.get(t);e.target==="openapi-3.0"?(o.ref=i.innerType,r.nullable=!0):r.anyOf=[a,{type:"null"}]},bw=(t,e,r,n)=>{let i=t._zod.def;$e(i.innerType,e,n);let a=e.seen.get(t);a.ref=i.innerType},_w=(t,e,r,n)=>{let i=t._zod.def;$e(i.innerType,e,n);let a=e.seen.get(t);a.ref=i.innerType,r.default=JSON.parse(JSON.stringify(i.defaultValue))},ww=(t,e,r,n)=>{let i=t._zod.def;$e(i.innerType,e,n);let a=e.seen.get(t);a.ref=i.innerType,e.io==="input"&&(r._prefault=JSON.parse(JSON.stringify(i.defaultValue)))},Sw=(t,e,r,n)=>{let i=t._zod.def;$e(i.innerType,e,n);let a=e.seen.get(t);a.ref=i.innerType;let o;try{o=i.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}r.default=o},kw=(t,e,r,n)=>{let i=t._zod.def,a=e.io==="input"?i.in._zod.def.type==="transform"?i.out:i.in:i.out;$e(a,e,n);let o=e.seen.get(t);o.ref=a},$w=(t,e,r,n)=>{let i=t._zod.def;$e(i.innerType,e,n);let a=e.seen.get(t);a.ref=i.innerType,r.readOnly=!0},Iw=(t,e,r,n)=>{let i=t._zod.def;$e(i.innerType,e,n);let a=e.seen.get(t);a.ref=i.innerType},Gh=(t,e,r,n)=>{let i=t._zod.def;$e(i.innerType,e,n);let a=e.seen.get(t);a.ref=i.innerType},Pw=(t,e,r,n)=>{let i=t._zod.innerType;$e(i,e,n);let a=e.seen.get(t);a.ref=i};function Bi(t){return!!t._zod}function pn(t,e){return Bi(t)?Fi(t,e):t.safeParse(e)}function _l(t){if(!t)return;let e;if(Bi(t)?e=t._zod?.def?.shape:e=t.shape,!!e){if(typeof e=="function")try{return e()}catch{return}return e}}function Cw(t){if(Bi(t)){let a=t._zod?.def;if(a){if(a.value!==void 0)return a.value;if(Array.isArray(a.values)&&a.values.length>0)return a.values[0]}}let r=t._def;if(r){if(r.value!==void 0)return r.value;if(Array.isArray(r.values)&&r.values.length>0)return r.values[0]}let n=t.value;if(n!==void 0)return n}var Jo={};Qa(Jo,{ZodAny:()=>Jw,ZodArray:()=>Yw,ZodBase64:()=>xg,ZodBase64URL:()=>bg,ZodBigInt:()=>Cl,ZodBigIntFormat:()=>Sg,ZodBoolean:()=>Tl,ZodCIDRv4:()=>vg,ZodCIDRv6:()=>yg,ZodCUID:()=>ug,ZodCUID2:()=>pg,ZodCatch:()=>yS,ZodCodec:()=>Cg,ZodCustom:()=>Ol,ZodCustomStringFormat:()=>Ko,ZodDate:()=>$g,ZodDefault:()=>dS,ZodDiscriminatedUnion:()=>eS,ZodE164:()=>_g,ZodEmail:()=>sg,ZodEmoji:()=>cg,ZodEnum:()=>Go,ZodExactOptional:()=>lS,ZodFile:()=>sS,ZodFunction:()=>PS,ZodGUID:()=>Sl,ZodIPv4:()=>hg,ZodIPv6:()=>gg,ZodIntersection:()=>tS,ZodJWT:()=>wg,ZodKSUID:()=>mg,ZodLazy:()=>kS,ZodLiteral:()=>oS,ZodMAC:()=>Hw,ZodMap:()=>iS,ZodNaN:()=>bS,ZodNanoID:()=>lg,ZodNever:()=>Kw,ZodNonOptional:()=>Eg,ZodNull:()=>Ww,ZodNullable:()=>pS,ZodNumber:()=>El,ZodNumberFormat:()=>Vi,ZodObject:()=>zl,ZodOptional:()=>Pg,ZodPipe:()=>Tg,ZodPrefault:()=>mS,ZodPromise:()=>IS,ZodReadonly:()=>_S,ZodRecord:()=>Dl,ZodSet:()=>aS,ZodString:()=>Il,ZodStringFormat:()=>be,ZodSuccess:()=>vS,ZodSymbol:()=>Bw,ZodTemplateLiteral:()=>SS,ZodTransform:()=>cS,ZodTuple:()=>rS,ZodType:()=>J,ZodULID:()=>dg,ZodURL:()=>Pl,ZodUUID:()=>Vr,ZodUndefined:()=>Vw,ZodUnion:()=>Rl,ZodUnknown:()=>Gw,ZodVoid:()=>Xw,ZodXID:()=>fg,ZodXor:()=>Qw,_ZodString:()=>og,_default:()=>fS,_function:()=>b6,any:()=>r6,array:()=>ee,base64:()=>UO,base64url:()=>FO,bigint:()=>XO,boolean:()=>Fe,catch:()=>xS,check:()=>_6,cidrv4:()=>AO,cidrv6:()=>MO,codec:()=>v6,cuid:()=>TO,cuid2:()=>CO,custom:()=>zg,date:()=>i6,describe:()=>w6,discriminatedUnion:()=>jl,e164:()=>qO,email:()=>xO,emoji:()=>PO,enum:()=>st,exactOptional:()=>uS,file:()=>f6,float32:()=>WO,float64:()=>JO,function:()=>b6,guid:()=>bO,hash:()=>VO,hex:()=>BO,hostname:()=>HO,httpUrl:()=>IO,instanceof:()=>k6,int:()=>ag,int32:()=>GO,int64:()=>YO,intersection:()=>Yo,ipv4:()=>DO,ipv6:()=>NO,json:()=>I6,jwt:()=>LO,keyof:()=>a6,ksuid:()=>jO,lazy:()=>$S,literal:()=>D,looseObject:()=>ot,looseRecord:()=>l6,mac:()=>OO,map:()=>u6,meta:()=>S6,nan:()=>g6,nanoid:()=>EO,nativeEnum:()=>d6,never:()=>kg,nonoptional:()=>gS,null:()=>Xo,nullable:()=>kl,nullish:()=>m6,number:()=>ue,object:()=>z,optional:()=>Ee,partialRecord:()=>c6,pipe:()=>$l,prefault:()=>hS,preprocess:()=>Nl,promise:()=>x6,readonly:()=>wS,record:()=>Ie,refine:()=>ES,set:()=>p6,strictObject:()=>o6,string:()=>w,stringFormat:()=>ZO,stringbool:()=>$6,success:()=>h6,superRefine:()=>TS,symbol:()=>e6,templateLiteral:()=>y6,transform:()=>Ig,tuple:()=>nS,uint32:()=>KO,uint64:()=>QO,ulid:()=>zO,undefined:()=>t6,union:()=>ge,unknown:()=>_e,url:()=>$O,uuid:()=>_O,uuidv4:()=>wO,uuidv6:()=>SO,uuidv7:()=>kO,void:()=>n6,xid:()=>RO,xor:()=>s6});var wl={};Qa(wl,{endsWith:()=>qo,gt:()=>Hr,gte:()=>mt,includes:()=>Uo,length:()=>Zi,lowercase:()=>Ao,lt:()=>Zr,lte:()=>At,maxLength:()=>Li,maxSize:()=>Hn,mime:()=>Lo,minLength:()=>un,minSize:()=>Br,multipleOf:()=>Zn,negative:()=>Ah,nonnegative:()=>Uh,nonpositive:()=>Mh,normalize:()=>Zo,overwrite:()=>xr,positive:()=>Nh,property:()=>Fh,regex:()=>No,size:()=>qi,slugify:()=>vl,startsWith:()=>Fo,toLowerCase:()=>Bo,toUpperCase:()=>Vo,trim:()=>Ho,uppercase:()=>Mo});var Bn={};Qa(Bn,{ZodISODate:()=>Qh,ZodISODateTime:()=>Xh,ZodISODuration:()=>ng,ZodISOTime:()=>tg,date:()=>eg,datetime:()=>Yh,duration:()=>ig,time:()=>rg});var Xh=x("ZodISODateTime",(t,e)=>{pm.init(t,e),be.init(t,e)});function Yh(t){return fh(Xh,t)}var Qh=x("ZodISODate",(t,e)=>{dm.init(t,e),be.init(t,e)});function eg(t){return mh(Qh,t)}var tg=x("ZodISOTime",(t,e)=>{fm.init(t,e),be.init(t,e)});function rg(t){return hh(tg,t)}var ng=x("ZodISODuration",(t,e)=>{mm.init(t,e),be.init(t,e)});function ig(t){return gh(ng,t)}var zw=(t,e)=>{Nc.init(t,e),t.name="ZodError",Object.defineProperties(t,{format:{value:r=>Mc(t,r)},flatten:{value:r=>Ac(t,r)},addIssue:{value:r=>{t.issues.push(r),t.message=JSON.stringify(t.issues,Ai,2)}},addIssues:{value:r=>{t.issues.push(...r),t.message=JSON.stringify(t.issues,Ai,2)}},isEmpty:{get(){return t.issues.length===0}}})},lee=x("ZodError",zw),Mt=x("ZodError",zw,{Parent:Error});var Rw=_o(Mt),jw=So(Mt),Dw=$o(Mt),Ow=Io(Mt),Nw=B_(Mt),Aw=V_(Mt),Mw=W_(Mt),Uw=J_(Mt),Fw=G_(Mt),qw=K_(Mt),Lw=X_(Mt),Zw=Y_(Mt);var J=x("ZodType",(t,e)=>(B.init(t,e),Object.assign(t["~standard"],{jsonSchema:{input:Wo(t,"input"),output:Wo(t,"output")}}),t.toJSONSchema=H0(t,{}),t.def=e,t.type=e.type,Object.defineProperty(t,"_def",{value:e}),t.check=(...r)=>t.clone(P.mergeDefs(e,{checks:[...e.checks??[],...r.map(n=>typeof n=="function"?{_zod:{check:n,def:{check:"custom"},onattach:[]}}:n)]}),{parent:!0}),t.with=t.check,t.clone=(r,n)=>dt(t,r,n),t.brand=()=>t,t.register=(r,n)=>(r.add(t,n),t),t.parse=(r,n)=>Rw(t,r,n,{callee:t.parse}),t.safeParse=(r,n)=>Dw(t,r,n),t.parseAsync=async(r,n)=>jw(t,r,n,{callee:t.parseAsync}),t.safeParseAsync=async(r,n)=>Ow(t,r,n),t.spa=t.safeParseAsync,t.encode=(r,n)=>Nw(t,r,n),t.decode=(r,n)=>Aw(t,r,n),t.encodeAsync=async(r,n)=>Mw(t,r,n),t.decodeAsync=async(r,n)=>Uw(t,r,n),t.safeEncode=(r,n)=>Fw(t,r,n),t.safeDecode=(r,n)=>qw(t,r,n),t.safeEncodeAsync=async(r,n)=>Lw(t,r,n),t.safeDecodeAsync=async(r,n)=>Zw(t,r,n),t.refine=(r,n)=>t.check(ES(r,n)),t.superRefine=r=>t.check(TS(r)),t.overwrite=r=>t.check(xr(r)),t.optional=()=>Ee(t),t.exactOptional=()=>uS(t),t.nullable=()=>kl(t),t.nullish=()=>Ee(kl(t)),t.nonoptional=r=>gS(t,r),t.array=()=>ee(t),t.or=r=>ge([t,r]),t.and=r=>Yo(t,r),t.transform=r=>$l(t,Ig(r)),t.default=r=>fS(t,r),t.prefault=r=>hS(t,r),t.catch=r=>xS(t,r),t.pipe=r=>$l(t,r),t.readonly=()=>wS(t),t.describe=r=>{let n=t.clone();return ft.add(n,{description:r}),n},Object.defineProperty(t,"description",{get(){return ft.get(t)?.description},configurable:!0}),t.meta=(...r)=>{if(r.length===0)return ft.get(t);let n=t.clone();return ft.add(n,r[0]),n},t.isOptional=()=>t.safeParse(void 0).success,t.isNullable=()=>t.safeParse(null).success,t.apply=r=>r(t),t)),og=x("_ZodString",(t,e)=>{Ln.init(t,e),J.init(t,e),t._zod.processJSONSchema=(n,i,a)=>B0(t,n,i,a);let r=t._zod.bag;t.format=r.format??null,t.minLength=r.minimum??null,t.maxLength=r.maximum??null,t.regex=(...n)=>t.check(No(...n)),t.includes=(...n)=>t.check(Uo(...n)),t.startsWith=(...n)=>t.check(Fo(...n)),t.endsWith=(...n)=>t.check(qo(...n)),t.min=(...n)=>t.check(un(...n)),t.max=(...n)=>t.check(Li(...n)),t.length=(...n)=>t.check(Zi(...n)),t.nonempty=(...n)=>t.check(un(1,...n)),t.lowercase=n=>t.check(Ao(n)),t.uppercase=n=>t.check(Mo(n)),t.trim=()=>t.check(Ho()),t.normalize=(...n)=>t.check(Zo(...n)),t.toLowerCase=()=>t.check(Bo()),t.toUpperCase=()=>t.check(Vo()),t.slugify=()=>t.check(vl())}),Il=x("ZodString",(t,e)=>{Ln.init(t,e),og.init(t,e),t.email=r=>t.check(Xc(sg,r)),t.url=r=>t.check(Oo(Pl,r)),t.jwt=r=>t.check(gl(wg,r)),t.emoji=r=>t.check(rl(cg,r)),t.guid=r=>t.check(Do(Sl,r)),t.uuid=r=>t.check(Yc(Vr,r)),t.uuidv4=r=>t.check(Qc(Vr,r)),t.uuidv6=r=>t.check(el(Vr,r)),t.uuidv7=r=>t.check(tl(Vr,r)),t.nanoid=r=>t.check(nl(lg,r)),t.guid=r=>t.check(Do(Sl,r)),t.cuid=r=>t.check(il(ug,r)),t.cuid2=r=>t.check(al(pg,r)),t.ulid=r=>t.check(ol(dg,r)),t.base64=r=>t.check(fl(xg,r)),t.base64url=r=>t.check(ml(bg,r)),t.xid=r=>t.check(sl(fg,r)),t.ksuid=r=>t.check(cl(mg,r)),t.ipv4=r=>t.check(ll(hg,r)),t.ipv6=r=>t.check(ul(gg,r)),t.cidrv4=r=>t.check(pl(vg,r)),t.cidrv6=r=>t.check(dl(yg,r)),t.e164=r=>t.check(hl(_g,r)),t.datetime=r=>t.check(Yh(r)),t.date=r=>t.check(eg(r)),t.time=r=>t.check(rg(r)),t.duration=r=>t.check(ig(r))});function w(t){return ph(Il,t)}var be=x("ZodStringFormat",(t,e)=>{he.init(t,e),og.init(t,e)}),sg=x("ZodEmail",(t,e)=>{rm.init(t,e),be.init(t,e)});function xO(t){return Xc(sg,t)}var Sl=x("ZodGUID",(t,e)=>{em.init(t,e),be.init(t,e)});function bO(t){return Do(Sl,t)}var Vr=x("ZodUUID",(t,e)=>{tm.init(t,e),be.init(t,e)});function _O(t){return Yc(Vr,t)}function wO(t){return Qc(Vr,t)}function SO(t){return el(Vr,t)}function kO(t){return tl(Vr,t)}var Pl=x("ZodURL",(t,e)=>{nm.init(t,e),be.init(t,e)});function $O(t){return Oo(Pl,t)}function IO(t){return Oo(Pl,{protocol:/^https?$/,hostname:Bt.domain,...P.normalizeParams(t)})}var cg=x("ZodEmoji",(t,e)=>{im.init(t,e),be.init(t,e)});function PO(t){return rl(cg,t)}var lg=x("ZodNanoID",(t,e)=>{am.init(t,e),be.init(t,e)});function EO(t){return nl(lg,t)}var ug=x("ZodCUID",(t,e)=>{om.init(t,e),be.init(t,e)});function TO(t){return il(ug,t)}var pg=x("ZodCUID2",(t,e)=>{sm.init(t,e),be.init(t,e)});function CO(t){return al(pg,t)}var dg=x("ZodULID",(t,e)=>{cm.init(t,e),be.init(t,e)});function zO(t){return ol(dg,t)}var fg=x("ZodXID",(t,e)=>{lm.init(t,e),be.init(t,e)});function RO(t){return sl(fg,t)}var mg=x("ZodKSUID",(t,e)=>{um.init(t,e),be.init(t,e)});function jO(t){return cl(mg,t)}var hg=x("ZodIPv4",(t,e)=>{hm.init(t,e),be.init(t,e)});function DO(t){return ll(hg,t)}var Hw=x("ZodMAC",(t,e)=>{vm.init(t,e),be.init(t,e)});function OO(t){return dh(Hw,t)}var gg=x("ZodIPv6",(t,e)=>{gm.init(t,e),be.init(t,e)});function NO(t){return ul(gg,t)}var vg=x("ZodCIDRv4",(t,e)=>{ym.init(t,e),be.init(t,e)});function AO(t){return pl(vg,t)}var yg=x("ZodCIDRv6",(t,e)=>{xm.init(t,e),be.init(t,e)});function MO(t){return dl(yg,t)}var xg=x("ZodBase64",(t,e)=>{bm.init(t,e),be.init(t,e)});function UO(t){return fl(xg,t)}var bg=x("ZodBase64URL",(t,e)=>{_m.init(t,e),be.init(t,e)});function FO(t){return ml(bg,t)}var _g=x("ZodE164",(t,e)=>{wm.init(t,e),be.init(t,e)});function qO(t){return hl(_g,t)}var wg=x("ZodJWT",(t,e)=>{Sm.init(t,e),be.init(t,e)});function LO(t){return gl(wg,t)}var Ko=x("ZodCustomStringFormat",(t,e)=>{km.init(t,e),be.init(t,e)});function ZO(t,e,r={}){return Hi(Ko,t,e,r)}function HO(t){return Hi(Ko,"hostname",Bt.hostname,t)}function BO(t){return Hi(Ko,"hex",Bt.hex,t)}function VO(t,e){let r=e?.enc??"hex",n=`${t}_${r}`,i=Bt[n];if(!i)throw new Error(`Unrecognized hash format: ${n}`);return Hi(Ko,n,i,e)}var El=x("ZodNumber",(t,e)=>{Wc.init(t,e),J.init(t,e),t._zod.processJSONSchema=(n,i,a)=>V0(t,n,i,a),t.gt=(n,i)=>t.check(Hr(n,i)),t.gte=(n,i)=>t.check(mt(n,i)),t.min=(n,i)=>t.check(mt(n,i)),t.lt=(n,i)=>t.check(Zr(n,i)),t.lte=(n,i)=>t.check(At(n,i)),t.max=(n,i)=>t.check(At(n,i)),t.int=n=>t.check(ag(n)),t.safe=n=>t.check(ag(n)),t.positive=n=>t.check(Hr(0,n)),t.nonnegative=n=>t.check(mt(0,n)),t.negative=n=>t.check(Zr(0,n)),t.nonpositive=n=>t.check(At(0,n)),t.multipleOf=(n,i)=>t.check(Zn(n,i)),t.step=(n,i)=>t.check(Zn(n,i)),t.finite=()=>t;let r=t._zod.bag;t.minValue=Math.max(r.minimum??Number.NEGATIVE_INFINITY,r.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,t.maxValue=Math.min(r.maximum??Number.POSITIVE_INFINITY,r.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,t.isInt=(r.format??"").includes("int")||Number.isSafeInteger(r.multipleOf??.5),t.isFinite=!0,t.format=r.format??null});function ue(t){return vh(El,t)}var Vi=x("ZodNumberFormat",(t,e)=>{$m.init(t,e),El.init(t,e)});function ag(t){return yh(Vi,t)}function WO(t){return xh(Vi,t)}function JO(t){return bh(Vi,t)}function GO(t){return _h(Vi,t)}function KO(t){return wh(Vi,t)}var Tl=x("ZodBoolean",(t,e)=>{zo.init(t,e),J.init(t,e),t._zod.processJSONSchema=(r,n,i)=>W0(t,r,n,i)});function Fe(t){return Sh(Tl,t)}var Cl=x("ZodBigInt",(t,e)=>{Jc.init(t,e),J.init(t,e),t._zod.processJSONSchema=(n,i,a)=>J0(t,n,i,a),t.gte=(n,i)=>t.check(mt(n,i)),t.min=(n,i)=>t.check(mt(n,i)),t.gt=(n,i)=>t.check(Hr(n,i)),t.gte=(n,i)=>t.check(mt(n,i)),t.min=(n,i)=>t.check(mt(n,i)),t.lt=(n,i)=>t.check(Zr(n,i)),t.lte=(n,i)=>t.check(At(n,i)),t.max=(n,i)=>t.check(At(n,i)),t.positive=n=>t.check(Hr(BigInt(0),n)),t.negative=n=>t.check(Zr(BigInt(0),n)),t.nonpositive=n=>t.check(At(BigInt(0),n)),t.nonnegative=n=>t.check(mt(BigInt(0),n)),t.multipleOf=(n,i)=>t.check(Zn(n,i));let r=t._zod.bag;t.minValue=r.minimum??null,t.maxValue=r.maximum??null,t.format=r.format??null});function XO(t){return kh(Cl,t)}var Sg=x("ZodBigIntFormat",(t,e)=>{Im.init(t,e),Cl.init(t,e)});function YO(t){return $h(Sg,t)}function QO(t){return Ih(Sg,t)}var Bw=x("ZodSymbol",(t,e)=>{Pm.init(t,e),J.init(t,e),t._zod.processJSONSchema=(r,n,i)=>G0(t,r,n,i)});function e6(t){return Ph(Bw,t)}var Vw=x("ZodUndefined",(t,e)=>{Em.init(t,e),J.init(t,e),t._zod.processJSONSchema=(r,n,i)=>X0(t,r,n,i)});function t6(t){return Eh(Vw,t)}var Ww=x("ZodNull",(t,e)=>{Tm.init(t,e),J.init(t,e),t._zod.processJSONSchema=(r,n,i)=>K0(t,r,n,i)});function Xo(t){return Th(Ww,t)}var Jw=x("ZodAny",(t,e)=>{Cm.init(t,e),J.init(t,e),t._zod.processJSONSchema=(r,n,i)=>ew(t,r,n,i)});function r6(){return Ch(Jw)}var Gw=x("ZodUnknown",(t,e)=>{zm.init(t,e),J.init(t,e),t._zod.processJSONSchema=(r,n,i)=>tw(t,r,n,i)});function _e(){return zh(Gw)}var Kw=x("ZodNever",(t,e)=>{Rm.init(t,e),J.init(t,e),t._zod.processJSONSchema=(r,n,i)=>Q0(t,r,n,i)});function kg(t){return Rh(Kw,t)}var Xw=x("ZodVoid",(t,e)=>{jm.init(t,e),J.init(t,e),t._zod.processJSONSchema=(r,n,i)=>Y0(t,r,n,i)});function n6(t){return jh(Xw,t)}var $g=x("ZodDate",(t,e)=>{Dm.init(t,e),J.init(t,e),t._zod.processJSONSchema=(n,i,a)=>rw(t,n,i,a),t.min=(n,i)=>t.check(mt(n,i)),t.max=(n,i)=>t.check(At(n,i));let r=t._zod.bag;t.minDate=r.minimum?new Date(r.minimum):null,t.maxDate=r.maximum?new Date(r.maximum):null});function i6(t){return Dh($g,t)}var Yw=x("ZodArray",(t,e)=>{Om.init(t,e),J.init(t,e),t._zod.processJSONSchema=(r,n,i)=>mw(t,r,n,i),t.element=e.element,t.min=(r,n)=>t.check(un(r,n)),t.nonempty=r=>t.check(un(1,r)),t.max=(r,n)=>t.check(Li(r,n)),t.length=(r,n)=>t.check(Zi(r,n)),t.unwrap=()=>t.element});function ee(t,e){return Z0(Yw,t,e)}function a6(t){let e=t._zod.def.shape;return st(Object.keys(e))}var zl=x("ZodObject",(t,e)=>{U0.init(t,e),J.init(t,e),t._zod.processJSONSchema=(r,n,i)=>hw(t,r,n,i),P.defineLazy(t,"shape",()=>e.shape),t.keyof=()=>st(Object.keys(t._zod.def.shape)),t.catchall=r=>t.clone({...t._zod.def,catchall:r}),t.passthrough=()=>t.clone({...t._zod.def,catchall:_e()}),t.loose=()=>t.clone({...t._zod.def,catchall:_e()}),t.strict=()=>t.clone({...t._zod.def,catchall:kg()}),t.strip=()=>t.clone({...t._zod.def,catchall:void 0}),t.extend=r=>P.extend(t,r),t.safeExtend=r=>P.safeExtend(t,r),t.merge=r=>P.merge(t,r),t.pick=r=>P.pick(t,r),t.omit=r=>P.omit(t,r),t.partial=(...r)=>P.partial(Pg,t,r[0]),t.required=(...r)=>P.required(Eg,t,r[0])});function z(t,e){let r={type:"object",shape:t??{},...P.normalizeParams(e)};return new zl(r)}function o6(t,e){return new zl({type:"object",shape:t,catchall:kg(),...P.normalizeParams(e)})}function ot(t,e){return new zl({type:"object",shape:t,catchall:_e(),...P.normalizeParams(e)})}var Rl=x("ZodUnion",(t,e)=>{Ro.init(t,e),J.init(t,e),t._zod.processJSONSchema=(r,n,i)=>Jh(t,r,n,i),t.options=e.options});function ge(t,e){return new Rl({type:"union",options:t,...P.normalizeParams(e)})}var Qw=x("ZodXor",(t,e)=>{Rl.init(t,e),Nm.init(t,e),t._zod.processJSONSchema=(r,n,i)=>Jh(t,r,n,i),t.options=e.options});function s6(t,e){return new Qw({type:"union",options:t,inclusive:!1,...P.normalizeParams(e)})}var eS=x("ZodDiscriminatedUnion",(t,e)=>{Rl.init(t,e),Am.init(t,e)});function jl(t,e,r){return new eS({type:"union",options:e,discriminator:t,...P.normalizeParams(r)})}var tS=x("ZodIntersection",(t,e)=>{Mm.init(t,e),J.init(t,e),t._zod.processJSONSchema=(r,n,i)=>gw(t,r,n,i)});function Yo(t,e){return new tS({type:"intersection",left:t,right:e})}var rS=x("ZodTuple",(t,e)=>{Gc.init(t,e),J.init(t,e),t._zod.processJSONSchema=(r,n,i)=>vw(t,r,n,i),t.rest=r=>t.clone({...t._zod.def,rest:r})});function nS(t,e,r){let n=e instanceof B,i=n?r:e,a=n?e:null;return new rS({type:"tuple",items:t,rest:a,...P.normalizeParams(i)})}var Dl=x("ZodRecord",(t,e)=>{Um.init(t,e),J.init(t,e),t._zod.processJSONSchema=(r,n,i)=>yw(t,r,n,i),t.keyType=e.keyType,t.valueType=e.valueType});function Ie(t,e,r){return new Dl({type:"record",keyType:t,valueType:e,...P.normalizeParams(r)})}function c6(t,e,r){let n=dt(t);return n._zod.values=void 0,new Dl({type:"record",keyType:n,valueType:e,...P.normalizeParams(r)})}function l6(t,e,r){return new Dl({type:"record",keyType:t,valueType:e,mode:"loose",...P.normalizeParams(r)})}var iS=x("ZodMap",(t,e)=>{Fm.init(t,e),J.init(t,e),t._zod.processJSONSchema=(r,n,i)=>dw(t,r,n,i),t.keyType=e.keyType,t.valueType=e.valueType,t.min=(...r)=>t.check(Br(...r)),t.nonempty=r=>t.check(Br(1,r)),t.max=(...r)=>t.check(Hn(...r)),t.size=(...r)=>t.check(qi(...r))});function u6(t,e,r){return new iS({type:"map",keyType:t,valueType:e,...P.normalizeParams(r)})}var aS=x("ZodSet",(t,e)=>{qm.init(t,e),J.init(t,e),t._zod.processJSONSchema=(r,n,i)=>fw(t,r,n,i),t.min=(...r)=>t.check(Br(...r)),t.nonempty=r=>t.check(Br(1,r)),t.max=(...r)=>t.check(Hn(...r)),t.size=(...r)=>t.check(qi(...r))});function p6(t,e){return new aS({type:"set",valueType:t,...P.normalizeParams(e)})}var Go=x("ZodEnum",(t,e)=>{Lm.init(t,e),J.init(t,e),t._zod.processJSONSchema=(n,i,a)=>nw(t,n,i,a),t.enum=e.entries,t.options=Object.values(e.entries);let r=new Set(Object.keys(e.entries));t.extract=(n,i)=>{let a={};for(let o of n)if(r.has(o))a[o]=e.entries[o];else throw new Error(`Key ${o} not found in enum`);return new Go({...e,checks:[],...P.normalizeParams(i),entries:a})},t.exclude=(n,i)=>{let a={...e.entries};for(let o of n)if(r.has(o))delete a[o];else throw new Error(`Key ${o} not found in enum`);return new Go({...e,checks:[],...P.normalizeParams(i),entries:a})}});function st(t,e){let r=Array.isArray(t)?Object.fromEntries(t.map(n=>[n,n])):t;return new Go({type:"enum",entries:r,...P.normalizeParams(e)})}function d6(t,e){return new Go({type:"enum",entries:t,...P.normalizeParams(e)})}var oS=x("ZodLiteral",(t,e)=>{Zm.init(t,e),J.init(t,e),t._zod.processJSONSchema=(r,n,i)=>iw(t,r,n,i),t.values=new Set(e.values),Object.defineProperty(t,"value",{get(){if(e.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return e.values[0]}})});function D(t,e){return new oS({type:"literal",values:Array.isArray(t)?t:[t],...P.normalizeParams(e)})}var sS=x("ZodFile",(t,e)=>{Hm.init(t,e),J.init(t,e),t._zod.processJSONSchema=(r,n,i)=>sw(t,r,n,i),t.min=(r,n)=>t.check(Br(r,n)),t.max=(r,n)=>t.check(Hn(r,n)),t.mime=(r,n)=>t.check(Lo(Array.isArray(r)?r:[r],n))});function f6(t){return qh(sS,t)}var cS=x("ZodTransform",(t,e)=>{Bm.init(t,e),J.init(t,e),t._zod.processJSONSchema=(r,n,i)=>pw(t,r,n,i),t._zod.parse=(r,n)=>{if(n.direction==="backward")throw new Un(t.constructor.name);r.addIssue=a=>{if(typeof a=="string")r.issues.push(P.issue(a,r.value,e));else{let o=a;o.fatal&&(o.continue=!1),o.code??(o.code="custom"),o.input??(o.input=r.value),o.inst??(o.inst=t),r.issues.push(P.issue(o))}};let i=e.transform(r.value,r);return i instanceof Promise?i.then(a=>(r.value=a,r)):(r.value=i,r)}});function Ig(t){return new cS({type:"transform",transform:t})}var Pg=x("ZodOptional",(t,e)=>{Kc.init(t,e),J.init(t,e),t._zod.processJSONSchema=(r,n,i)=>Gh(t,r,n,i),t.unwrap=()=>t._zod.def.innerType});function Ee(t){return new Pg({type:"optional",innerType:t})}var lS=x("ZodExactOptional",(t,e)=>{Vm.init(t,e),J.init(t,e),t._zod.processJSONSchema=(r,n,i)=>Gh(t,r,n,i),t.unwrap=()=>t._zod.def.innerType});function uS(t){return new lS({type:"optional",innerType:t})}var pS=x("ZodNullable",(t,e)=>{Wm.init(t,e),J.init(t,e),t._zod.processJSONSchema=(r,n,i)=>xw(t,r,n,i),t.unwrap=()=>t._zod.def.innerType});function kl(t){return new pS({type:"nullable",innerType:t})}function m6(t){return Ee(kl(t))}var dS=x("ZodDefault",(t,e)=>{Jm.init(t,e),J.init(t,e),t._zod.processJSONSchema=(r,n,i)=>_w(t,r,n,i),t.unwrap=()=>t._zod.def.innerType,t.removeDefault=t.unwrap});function fS(t,e){return new dS({type:"default",innerType:t,get defaultValue(){return typeof e=="function"?e():P.shallowClone(e)}})}var mS=x("ZodPrefault",(t,e)=>{Gm.init(t,e),J.init(t,e),t._zod.processJSONSchema=(r,n,i)=>ww(t,r,n,i),t.unwrap=()=>t._zod.def.innerType});function hS(t,e){return new mS({type:"prefault",innerType:t,get defaultValue(){return typeof e=="function"?e():P.shallowClone(e)}})}var Eg=x("ZodNonOptional",(t,e)=>{Km.init(t,e),J.init(t,e),t._zod.processJSONSchema=(r,n,i)=>bw(t,r,n,i),t.unwrap=()=>t._zod.def.innerType});function gS(t,e){return new Eg({type:"nonoptional",innerType:t,...P.normalizeParams(e)})}var vS=x("ZodSuccess",(t,e)=>{Xm.init(t,e),J.init(t,e),t._zod.processJSONSchema=(r,n,i)=>cw(t,r,n,i),t.unwrap=()=>t._zod.def.innerType});function h6(t){return new vS({type:"success",innerType:t})}var yS=x("ZodCatch",(t,e)=>{Ym.init(t,e),J.init(t,e),t._zod.processJSONSchema=(r,n,i)=>Sw(t,r,n,i),t.unwrap=()=>t._zod.def.innerType,t.removeCatch=t.unwrap});function xS(t,e){return new yS({type:"catch",innerType:t,catchValue:typeof e=="function"?e:()=>e})}var bS=x("ZodNaN",(t,e)=>{Qm.init(t,e),J.init(t,e),t._zod.processJSONSchema=(r,n,i)=>aw(t,r,n,i)});function g6(t){return Oh(bS,t)}var Tg=x("ZodPipe",(t,e)=>{eh.init(t,e),J.init(t,e),t._zod.processJSONSchema=(r,n,i)=>kw(t,r,n,i),t.in=e.in,t.out=e.out});function $l(t,e){return new Tg({type:"pipe",in:t,out:e})}var Cg=x("ZodCodec",(t,e)=>{Tg.init(t,e),jo.init(t,e)});function v6(t,e,r){return new Cg({type:"pipe",in:t,out:e,transform:r.decode,reverseTransform:r.encode})}var _S=x("ZodReadonly",(t,e)=>{th.init(t,e),J.init(t,e),t._zod.processJSONSchema=(r,n,i)=>$w(t,r,n,i),t.unwrap=()=>t._zod.def.innerType});function wS(t){return new _S({type:"readonly",innerType:t})}var SS=x("ZodTemplateLiteral",(t,e)=>{rh.init(t,e),J.init(t,e),t._zod.processJSONSchema=(r,n,i)=>ow(t,r,n,i)});function y6(t,e){return new SS({type:"template_literal",parts:t,...P.normalizeParams(e)})}var kS=x("ZodLazy",(t,e)=>{ah.init(t,e),J.init(t,e),t._zod.processJSONSchema=(r,n,i)=>Pw(t,r,n,i),t.unwrap=()=>t._zod.def.getter()});function $S(t){return new kS({type:"lazy",getter:t})}var IS=x("ZodPromise",(t,e)=>{ih.init(t,e),J.init(t,e),t._zod.processJSONSchema=(r,n,i)=>Iw(t,r,n,i),t.unwrap=()=>t._zod.def.innerType});function x6(t){return new IS({type:"promise",innerType:t})}var PS=x("ZodFunction",(t,e)=>{nh.init(t,e),J.init(t,e),t._zod.processJSONSchema=(r,n,i)=>uw(t,r,n,i)});function b6(t){return new PS({type:"function",input:Array.isArray(t?.input)?nS(t?.input):t?.input??ee(_e()),output:t?.output??_e()})}var Ol=x("ZodCustom",(t,e)=>{oh.init(t,e),J.init(t,e),t._zod.processJSONSchema=(r,n,i)=>lw(t,r,n,i)});function _6(t){let e=new xe({check:"custom"});return e._zod.check=t,e}function zg(t,e){return Lh(Ol,t??(()=>!0),e)}function ES(t,e={}){return Zh(Ol,t,e)}function TS(t){return Hh(t)}var w6=Bh,S6=Vh;function k6(t,e={}){let r=new Ol({type:"custom",check:"custom",fn:n=>n instanceof t,abort:!0,...P.normalizeParams(e)});return r._zod.bag.Class=t,r._zod.check=n=>{n.value instanceof t||n.issues.push({code:"invalid_type",expected:t.name,input:n.value,inst:r,path:[...r._zod.def.path??[]]})},r}var $6=(...t)=>Wh({Codec:Cg,Boolean:Tl,String:Il},...t);function I6(t){let e=$S(()=>ge([w(t),ue(),Fe(),Xo(),ee(e),Ie(w(),e)]));return e}function Nl(t,e){return $l(Ig(t),e)}var CS;CS||(CS={});var vee={...Jo,...wl,iso:Bn};Be(sh());var jg="2025-11-25";var zS=[jg,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],dn="io.modelcontextprotocol/related-task",Ml="2.0",Qe=zg(t=>t!==null&&(typeof t=="object"||typeof t=="function")),RS=ge([w(),ue().int()]),jS=w(),Nee=ot({ttl:ge([ue(),Xo()]).optional(),pollInterval:ue().optional()}),C6=z({ttl:ue().optional()}),z6=z({taskId:w()}),Dg=ot({progressToken:RS.optional(),[dn]:z6.optional()}),Ut=z({_meta:Dg.optional()}),Qo=Ut.extend({task:C6.optional()}),DS=t=>Qo.safeParse(t).success,et=z({method:w(),params:Ut.loose().optional()}),Vt=z({_meta:Dg.optional()}),Wt=z({method:w(),params:Vt.loose().optional()}),tt=ot({_meta:Dg.optional()}),Ul=ge([w(),ue().int()]),OS=z({jsonrpc:D(Ml),id:Ul,...et.shape}).strict(),Og=t=>OS.safeParse(t).success,NS=z({jsonrpc:D(Ml),...Wt.shape}).strict(),AS=t=>NS.safeParse(t).success,Ng=z({jsonrpc:D(Ml),id:Ul,result:tt}).strict(),es=t=>Ng.safeParse(t).success;var ae;(function(t){t[t.ConnectionClosed=-32e3]="ConnectionClosed",t[t.RequestTimeout=-32001]="RequestTimeout",t[t.ParseError=-32700]="ParseError",t[t.InvalidRequest=-32600]="InvalidRequest",t[t.MethodNotFound=-32601]="MethodNotFound",t[t.InvalidParams=-32602]="InvalidParams",t[t.InternalError=-32603]="InternalError",t[t.UrlElicitationRequired=-32042]="UrlElicitationRequired"})(ae||(ae={}));var Ag=z({jsonrpc:D(Ml),id:Ul.optional(),error:z({code:ue().int(),message:w(),data:_e().optional()})}).strict();var MS=t=>Ag.safeParse(t).success;var US=ge([OS,NS,Ng,Ag]),Aee=ge([Ng,Ag]),Fl=tt.strict(),R6=Vt.extend({requestId:Ul.optional(),reason:w().optional()}),ql=Wt.extend({method:D("notifications/cancelled"),params:R6}),j6=z({src:w(),mimeType:w().optional(),sizes:ee(w()).optional(),theme:st(["light","dark"]).optional()}),ts=z({icons:ee(j6).optional()}),Wi=z({name:w(),title:w().optional()}),FS=Wi.extend({...Wi.shape,...ts.shape,version:w(),websiteUrl:w().optional(),description:w().optional()}),D6=Yo(z({applyDefaults:Fe().optional()}),Ie(w(),_e())),O6=Nl(t=>t&&typeof t=="object"&&!Array.isArray(t)&&Object.keys(t).length===0?{form:{}}:t,Yo(z({form:D6.optional(),url:Qe.optional()}),Ie(w(),_e()).optional())),N6=ot({list:Qe.optional(),cancel:Qe.optional(),requests:ot({sampling:ot({createMessage:Qe.optional()}).optional(),elicitation:ot({create:Qe.optional()}).optional()}).optional()}),A6=ot({list:Qe.optional(),cancel:Qe.optional(),requests:ot({tools:ot({call:Qe.optional()}).optional()}).optional()}),M6=z({experimental:Ie(w(),Qe).optional(),sampling:z({context:Qe.optional(),tools:Qe.optional()}).optional(),elicitation:O6.optional(),roots:z({listChanged:Fe().optional()}).optional(),tasks:N6.optional()}),U6=Ut.extend({protocolVersion:w(),capabilities:M6,clientInfo:FS}),Mg=et.extend({method:D("initialize"),params:U6});var F6=z({experimental:Ie(w(),Qe).optional(),logging:Qe.optional(),completions:Qe.optional(),prompts:z({listChanged:Fe().optional()}).optional(),resources:z({subscribe:Fe().optional(),listChanged:Fe().optional()}).optional(),tools:z({listChanged:Fe().optional()}).optional(),tasks:A6.optional()}),q6=tt.extend({protocolVersion:w(),capabilities:F6,serverInfo:FS,instructions:w().optional()}),Ug=Wt.extend({method:D("notifications/initialized"),params:Vt.optional()});var Ll=et.extend({method:D("ping"),params:Ut.optional()}),L6=z({progress:ue(),total:Ee(ue()),message:Ee(w())}),Z6=z({...Vt.shape,...L6.shape,progressToken:RS}),Zl=Wt.extend({method:D("notifications/progress"),params:Z6}),H6=Ut.extend({cursor:jS.optional()}),rs=et.extend({params:H6.optional()}),ns=tt.extend({nextCursor:jS.optional()}),B6=st(["working","input_required","completed","failed","cancelled"]),is=z({taskId:w(),status:B6,ttl:ge([ue(),Xo()]),createdAt:w(),lastUpdatedAt:w(),pollInterval:Ee(ue()),statusMessage:Ee(w())}),Ji=tt.extend({task:is}),V6=Vt.merge(is),as=Wt.extend({method:D("notifications/tasks/status"),params:V6}),Hl=et.extend({method:D("tasks/get"),params:Ut.extend({taskId:w()})}),Bl=tt.merge(is),Vl=et.extend({method:D("tasks/result"),params:Ut.extend({taskId:w()})}),Mee=tt.loose(),Wl=rs.extend({method:D("tasks/list")}),Jl=ns.extend({tasks:ee(is)}),Gl=et.extend({method:D("tasks/cancel"),params:Ut.extend({taskId:w()})}),qS=tt.merge(is),LS=z({uri:w(),mimeType:Ee(w()),_meta:Ie(w(),_e()).optional()}),ZS=LS.extend({text:w()}),Fg=w().refine(t=>{try{return atob(t),!0}catch{return!1}},{message:"Invalid Base64 string"}),HS=LS.extend({blob:Fg}),os=st(["user","assistant"]),Gi=z({audience:ee(os).optional(),priority:ue().min(0).max(1).optional(),lastModified:Bn.datetime({offset:!0}).optional()}),BS=z({...Wi.shape,...ts.shape,uri:w(),description:Ee(w()),mimeType:Ee(w()),annotations:Gi.optional(),_meta:Ee(ot({}))}),W6=z({...Wi.shape,...ts.shape,uriTemplate:w(),description:Ee(w()),mimeType:Ee(w()),annotations:Gi.optional(),_meta:Ee(ot({}))}),J6=rs.extend({method:D("resources/list")}),G6=ns.extend({resources:ee(BS)}),K6=rs.extend({method:D("resources/templates/list")}),X6=ns.extend({resourceTemplates:ee(W6)}),qg=Ut.extend({uri:w()}),Y6=qg,Q6=et.extend({method:D("resources/read"),params:Y6}),eN=tt.extend({contents:ee(ge([ZS,HS]))}),tN=Wt.extend({method:D("notifications/resources/list_changed"),params:Vt.optional()}),rN=qg,nN=et.extend({method:D("resources/subscribe"),params:rN}),iN=qg,aN=et.extend({method:D("resources/unsubscribe"),params:iN}),oN=Vt.extend({uri:w()}),sN=Wt.extend({method:D("notifications/resources/updated"),params:oN}),cN=z({name:w(),description:Ee(w()),required:Ee(Fe())}),lN=z({...Wi.shape,...ts.shape,description:Ee(w()),arguments:Ee(ee(cN)),_meta:Ee(ot({}))}),uN=rs.extend({method:D("prompts/list")}),pN=ns.extend({prompts:ee(lN)}),dN=Ut.extend({name:w(),arguments:Ie(w(),w()).optional()}),fN=et.extend({method:D("prompts/get"),params:dN}),Lg=z({type:D("text"),text:w(),annotations:Gi.optional(),_meta:Ie(w(),_e()).optional()}),Zg=z({type:D("image"),data:Fg,mimeType:w(),annotations:Gi.optional(),_meta:Ie(w(),_e()).optional()}),Hg=z({type:D("audio"),data:Fg,mimeType:w(),annotations:Gi.optional(),_meta:Ie(w(),_e()).optional()}),mN=z({type:D("tool_use"),name:w(),id:w(),input:Ie(w(),_e()),_meta:Ie(w(),_e()).optional()}),hN=z({type:D("resource"),resource:ge([ZS,HS]),annotations:Gi.optional(),_meta:Ie(w(),_e()).optional()}),gN=BS.extend({type:D("resource_link")}),Bg=ge([Lg,Zg,Hg,gN,hN]),vN=z({role:os,content:Bg}),yN=tt.extend({description:w().optional(),messages:ee(vN)}),xN=Wt.extend({method:D("notifications/prompts/list_changed"),params:Vt.optional()}),bN=z({title:w().optional(),readOnlyHint:Fe().optional(),destructiveHint:Fe().optional(),idempotentHint:Fe().optional(),openWorldHint:Fe().optional()}),_N=z({taskSupport:st(["required","optional","forbidden"]).optional()}),VS=z({...Wi.shape,...ts.shape,description:w().optional(),inputSchema:z({type:D("object"),properties:Ie(w(),Qe).optional(),required:ee(w()).optional()}).catchall(_e()),outputSchema:z({type:D("object"),properties:Ie(w(),Qe).optional(),required:ee(w()).optional()}).catchall(_e()).optional(),annotations:bN.optional(),execution:_N.optional(),_meta:Ie(w(),_e()).optional()}),Vg=rs.extend({method:D("tools/list")}),wN=ns.extend({tools:ee(VS)}),Kl=tt.extend({content:ee(Bg).default([]),structuredContent:Ie(w(),_e()).optional(),isError:Fe().optional()}),Uee=Kl.or(tt.extend({toolResult:_e()})),SN=Qo.extend({name:w(),arguments:Ie(w(),_e()).optional()}),ss=et.extend({method:D("tools/call"),params:SN}),kN=Wt.extend({method:D("notifications/tools/list_changed"),params:Vt.optional()}),Fee=z({autoRefresh:Fe().default(!0),debounceMs:ue().int().nonnegative().default(300)}),cs=st(["debug","info","notice","warning","error","critical","alert","emergency"]),$N=Ut.extend({level:cs}),Wg=et.extend({method:D("logging/setLevel"),params:$N}),IN=Vt.extend({level:cs,logger:w().optional(),data:_e()}),PN=Wt.extend({method:D("notifications/message"),params:IN}),EN=z({name:w().optional()}),TN=z({hints:ee(EN).optional(),costPriority:ue().min(0).max(1).optional(),speedPriority:ue().min(0).max(1).optional(),intelligencePriority:ue().min(0).max(1).optional()}),CN=z({mode:st(["auto","required","none"]).optional()}),zN=z({type:D("tool_result"),toolUseId:w().describe("The unique identifier for the corresponding tool call."),content:ee(Bg).default([]),structuredContent:z({}).loose().optional(),isError:Fe().optional(),_meta:Ie(w(),_e()).optional()}),RN=jl("type",[Lg,Zg,Hg]),Al=jl("type",[Lg,Zg,Hg,mN,zN]),jN=z({role:os,content:ge([Al,ee(Al)]),_meta:Ie(w(),_e()).optional()}),DN=Qo.extend({messages:ee(jN),modelPreferences:TN.optional(),systemPrompt:w().optional(),includeContext:st(["none","thisServer","allServers"]).optional(),temperature:ue().optional(),maxTokens:ue().int(),stopSequences:ee(w()).optional(),metadata:Qe.optional(),tools:ee(VS).optional(),toolChoice:CN.optional()}),ON=et.extend({method:D("sampling/createMessage"),params:DN}),Jg=tt.extend({model:w(),stopReason:Ee(st(["endTurn","stopSequence","maxTokens"]).or(w())),role:os,content:RN}),Gg=tt.extend({model:w(),stopReason:Ee(st(["endTurn","stopSequence","maxTokens","toolUse"]).or(w())),role:os,content:ge([Al,ee(Al)])}),NN=z({type:D("boolean"),title:w().optional(),description:w().optional(),default:Fe().optional()}),AN=z({type:D("string"),title:w().optional(),description:w().optional(),minLength:ue().optional(),maxLength:ue().optional(),format:st(["email","uri","date","date-time"]).optional(),default:w().optional()}),MN=z({type:st(["number","integer"]),title:w().optional(),description:w().optional(),minimum:ue().optional(),maximum:ue().optional(),default:ue().optional()}),UN=z({type:D("string"),title:w().optional(),description:w().optional(),enum:ee(w()),default:w().optional()}),FN=z({type:D("string"),title:w().optional(),description:w().optional(),oneOf:ee(z({const:w(),title:w()})),default:w().optional()}),qN=z({type:D("string"),title:w().optional(),description:w().optional(),enum:ee(w()),enumNames:ee(w()).optional(),default:w().optional()}),LN=ge([UN,FN]),ZN=z({type:D("array"),title:w().optional(),description:w().optional(),minItems:ue().optional(),maxItems:ue().optional(),items:z({type:D("string"),enum:ee(w())}),default:ee(w()).optional()}),HN=z({type:D("array"),title:w().optional(),description:w().optional(),minItems:ue().optional(),maxItems:ue().optional(),items:z({anyOf:ee(z({const:w(),title:w()}))}),default:ee(w()).optional()}),BN=ge([ZN,HN]),VN=ge([qN,LN,BN]),WN=ge([VN,NN,AN,MN]),JN=Qo.extend({mode:D("form").optional(),message:w(),requestedSchema:z({type:D("object"),properties:Ie(w(),WN),required:ee(w()).optional()})}),GN=Qo.extend({mode:D("url"),message:w(),elicitationId:w(),url:w().url()}),KN=ge([JN,GN]),XN=et.extend({method:D("elicitation/create"),params:KN}),YN=Vt.extend({elicitationId:w()}),QN=Wt.extend({method:D("notifications/elicitation/complete"),params:YN}),Xl=tt.extend({action:st(["accept","decline","cancel"]),content:Nl(t=>t===null?void 0:t,Ie(w(),ge([w(),ue(),Fe(),ee(w())])).optional())}),eA=z({type:D("ref/resource"),uri:w()});var tA=z({type:D("ref/prompt"),name:w()}),rA=Ut.extend({ref:ge([tA,eA]),argument:z({name:w(),value:w()}),context:z({arguments:Ie(w(),w()).optional()}).optional()}),nA=et.extend({method:D("completion/complete"),params:rA});var iA=tt.extend({completion:ot({values:ee(w()).max(100),total:Ee(ue().int()),hasMore:Ee(Fe())})}),aA=z({uri:w().startsWith("file://"),name:w().optional(),_meta:Ie(w(),_e()).optional()}),oA=et.extend({method:D("roots/list"),params:Ut.optional()}),Kg=tt.extend({roots:ee(aA)}),sA=Wt.extend({method:D("notifications/roots/list_changed"),params:Vt.optional()}),qee=ge([Ll,Mg,nA,Wg,fN,uN,J6,K6,Q6,nN,aN,ss,Vg,Hl,Vl,Wl,Gl]),Lee=ge([ql,Zl,Ug,sA,as]),Zee=ge([Fl,Jg,Gg,Xl,Kg,Bl,Jl,Ji]),Hee=ge([Ll,ON,XN,oA,Hl,Vl,Wl,Gl]),Bee=ge([ql,Zl,PN,sN,tN,kN,xN,as,QN]),Vee=ge([Fl,q6,iA,yN,pN,G6,X6,eN,Kl,wN,Bl,Jl,Ji]),K=class t extends Error{constructor(e,r,n){super(`MCP error ${e}: ${r}`),this.code=e,this.data=n,this.name="McpError"}static fromError(e,r,n){if(e===ae.UrlElicitationRequired&&n){let i=n;if(i.elicitations)return new Rg(i.elicitations,r)}return new t(e,r,n)}},Rg=class extends K{constructor(e,r=`URL elicitation${e.length>1?"s":""} required`){super(ae.UrlElicitationRequired,r,{elicitations:e})}get elicitations(){return this.data?.elicitations??[]}};function fn(t){return t==="completed"||t==="failed"||t==="cancelled"}var cA=Symbol("Let zodToJsonSchema decide on which parser to use");var Ite=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function Xg(t){let r=_l(t)?.method;if(!r)throw new Error("Schema is missing a method literal");let n=Cw(r);if(typeof n!="string")throw new Error("Schema method literal must be a string");return n}function Yg(t,e){let r=pn(t,e);if(!r.success)throw r.error;return r.data}var mA=6e4,Yl=class{constructor(e){this._options=e,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(ql,r=>{this._oncancel(r)}),this.setNotificationHandler(Zl,r=>{this._onprogress(r)}),this.setRequestHandler(Ll,r=>({})),this._taskStore=e?.taskStore,this._taskMessageQueue=e?.taskMessageQueue,this._taskStore&&(this.setRequestHandler(Hl,async(r,n)=>{let i=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!i)throw new K(ae.InvalidParams,"Failed to retrieve task: Task not found");return{...i}}),this.setRequestHandler(Vl,async(r,n)=>{let i=async()=>{let a=r.params.taskId;if(this._taskMessageQueue){let s;for(;s=await this._taskMessageQueue.dequeue(a,n.sessionId);){if(s.type==="response"||s.type==="error"){let c=s.message,l=c.id,u=this._requestResolvers.get(l);if(u)if(this._requestResolvers.delete(l),s.type==="response")u(c);else{let p=c,d=new K(p.error.code,p.error.message,p.error.data);u(d)}else{let p=s.type==="response"?"Response":"Error";this._onerror(new Error(`${p} handler missing for request ${l}`))}continue}await this._transport?.send(s.message,{relatedRequestId:n.requestId})}}let o=await this._taskStore.getTask(a,n.sessionId);if(!o)throw new K(ae.InvalidParams,`Task not found: ${a}`);if(!fn(o.status))return await this._waitForTaskUpdate(a,n.signal),await i();if(fn(o.status)){let s=await this._taskStore.getTaskResult(a,n.sessionId);return this._clearTaskQueue(a),{...s,_meta:{...s._meta,[dn]:{taskId:a}}}}return await i()};return await i()}),this.setRequestHandler(Wl,async(r,n)=>{try{let{tasks:i,nextCursor:a}=await this._taskStore.listTasks(r.params?.cursor,n.sessionId);return{tasks:i,nextCursor:a,_meta:{}}}catch(i){throw new K(ae.InvalidParams,`Failed to list tasks: ${i instanceof Error?i.message:String(i)}`)}}),this.setRequestHandler(Gl,async(r,n)=>{try{let i=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!i)throw new K(ae.InvalidParams,`Task not found: ${r.params.taskId}`);if(fn(i.status))throw new K(ae.InvalidParams,`Cannot cancel task in terminal status: ${i.status}`);await this._taskStore.updateTaskStatus(r.params.taskId,"cancelled","Client cancelled task execution.",n.sessionId),this._clearTaskQueue(r.params.taskId);let a=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!a)throw new K(ae.InvalidParams,`Task not found after cancellation: ${r.params.taskId}`);return{_meta:{},...a}}catch(i){throw i instanceof K?i:new K(ae.InvalidRequest,`Failed to cancel task: ${i instanceof Error?i.message:String(i)}`)}}))}async _oncancel(e){if(!e.params.requestId)return;this._requestHandlerAbortControllers.get(e.params.requestId)?.abort(e.params.reason)}_setupTimeout(e,r,n,i,a=!1){this._timeoutInfo.set(e,{timeoutId:setTimeout(i,r),startTime:Date.now(),timeout:r,maxTotalTimeout:n,resetTimeoutOnProgress:a,onTimeout:i})}_resetTimeout(e){let r=this._timeoutInfo.get(e);if(!r)return!1;let n=Date.now()-r.startTime;if(r.maxTotalTimeout&&n>=r.maxTotalTimeout)throw this._timeoutInfo.delete(e),K.fromError(ae.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:r.maxTotalTimeout,totalElapsed:n});return clearTimeout(r.timeoutId),r.timeoutId=setTimeout(r.onTimeout,r.timeout),!0}_cleanupTimeout(e){let r=this._timeoutInfo.get(e);r&&(clearTimeout(r.timeoutId),this._timeoutInfo.delete(e))}async connect(e){this._transport=e;let r=this.transport?.onclose;this._transport.onclose=()=>{r?.(),this._onclose()};let n=this.transport?.onerror;this._transport.onerror=a=>{n?.(a),this._onerror(a)};let i=this._transport?.onmessage;this._transport.onmessage=(a,o)=>{i?.(a,o),es(a)||MS(a)?this._onresponse(a):Og(a)?this._onrequest(a,o):AS(a)?this._onnotification(a):this._onerror(new Error(`Unknown message type: ${JSON.stringify(a)}`))},await this._transport.start()}_onclose(){let e=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._taskProgressTokens.clear(),this._pendingDebouncedNotifications.clear();let r=K.fromError(ae.ConnectionClosed,"Connection closed");this._transport=void 0,this.onclose?.();for(let n of e.values())n(r)}_onerror(e){this.onerror?.(e)}_onnotification(e){let r=this._notificationHandlers.get(e.method)??this.fallbackNotificationHandler;r!==void 0&&Promise.resolve().then(()=>r(e)).catch(n=>this._onerror(new Error(`Uncaught error in notification handler: ${n}`)))}_onrequest(e,r){let n=this._requestHandlers.get(e.method)??this.fallbackRequestHandler,i=this._transport,a=e.params?._meta?.[dn]?.taskId;if(n===void 0){let u={jsonrpc:"2.0",id:e.id,error:{code:ae.MethodNotFound,message:"Method not found"}};a&&this._taskMessageQueue?this._enqueueTaskMessage(a,{type:"error",message:u,timestamp:Date.now()},i?.sessionId).catch(p=>this._onerror(new Error(`Failed to enqueue error response: ${p}`))):i?.send(u).catch(p=>this._onerror(new Error(`Failed to send an error response: ${p}`)));return}let o=new AbortController;this._requestHandlerAbortControllers.set(e.id,o);let s=DS(e.params)?e.params.task:void 0,c=this._taskStore?this.requestTaskStore(e,i?.sessionId):void 0,l={signal:o.signal,sessionId:i?.sessionId,_meta:e.params?._meta,sendNotification:async u=>{let p={relatedRequestId:e.id};a&&(p.relatedTask={taskId:a}),await this.notification(u,p)},sendRequest:async(u,p,d)=>{let f={...d,relatedRequestId:e.id};a&&!f.relatedTask&&(f.relatedTask={taskId:a});let m=f.relatedTask?.taskId??a;return m&&c&&await c.updateTaskStatus(m,"input_required"),await this.request(u,p,f)},authInfo:r?.authInfo,requestId:e.id,requestInfo:r?.requestInfo,taskId:a,taskStore:c,taskRequestedTtl:s?.ttl,closeSSEStream:r?.closeSSEStream,closeStandaloneSSEStream:r?.closeStandaloneSSEStream};Promise.resolve().then(()=>{s&&this.assertTaskHandlerCapability(e.method)}).then(()=>n(e,l)).then(async u=>{if(o.signal.aborted)return;let p={result:u,jsonrpc:"2.0",id:e.id};a&&this._taskMessageQueue?await this._enqueueTaskMessage(a,{type:"response",message:p,timestamp:Date.now()},i?.sessionId):await i?.send(p)},async u=>{if(o.signal.aborted)return;let p={jsonrpc:"2.0",id:e.id,error:{code:Number.isSafeInteger(u.code)?u.code:ae.InternalError,message:u.message??"Internal error",...u.data!==void 0&&{data:u.data}}};a&&this._taskMessageQueue?await this._enqueueTaskMessage(a,{type:"error",message:p,timestamp:Date.now()},i?.sessionId):await i?.send(p)}).catch(u=>this._onerror(new Error(`Failed to send response: ${u}`))).finally(()=>{this._requestHandlerAbortControllers.delete(e.id)})}_onprogress(e){let{progressToken:r,...n}=e.params,i=Number(r),a=this._progressHandlers.get(i);if(!a){this._onerror(new Error(`Received a progress notification for an unknown token: ${JSON.stringify(e)}`));return}let o=this._responseHandlers.get(i),s=this._timeoutInfo.get(i);if(s&&o&&s.resetTimeoutOnProgress)try{this._resetTimeout(i)}catch(c){this._responseHandlers.delete(i),this._progressHandlers.delete(i),this._cleanupTimeout(i),o(c);return}a(n)}_onresponse(e){let r=Number(e.id),n=this._requestResolvers.get(r);if(n){if(this._requestResolvers.delete(r),es(e))n(e);else{let o=new K(e.error.code,e.error.message,e.error.data);n(o)}return}let i=this._responseHandlers.get(r);if(i===void 0){this._onerror(new Error(`Received a response for an unknown message ID: ${JSON.stringify(e)}`));return}this._responseHandlers.delete(r),this._cleanupTimeout(r);let a=!1;if(es(e)&&e.result&&typeof e.result=="object"){let o=e.result;if(o.task&&typeof o.task=="object"){let s=o.task;typeof s.taskId=="string"&&(a=!0,this._taskProgressTokens.set(s.taskId,r))}}if(a||this._progressHandlers.delete(r),es(e))i(e);else{let o=K.fromError(e.error.code,e.error.message,e.error.data);i(o)}}get transport(){return this._transport}async close(){await this._transport?.close()}async*requestStream(e,r,n){let{task:i}=n??{};if(!i){try{yield{type:"result",result:await this.request(e,r,n)}}catch(o){yield{type:"error",error:o instanceof K?o:new K(ae.InternalError,String(o))}}return}let a;try{let o=await this.request(e,Ji,n);if(o.task)a=o.task.taskId,yield{type:"taskCreated",task:o.task};else throw new K(ae.InternalError,"Task creation did not return a task");for(;;){let s=await this.getTask({taskId:a},n);if(yield{type:"taskStatus",task:s},fn(s.status)){s.status==="completed"?yield{type:"result",result:await this.getTaskResult({taskId:a},r,n)}:s.status==="failed"?yield{type:"error",error:new K(ae.InternalError,`Task ${a} failed`)}:s.status==="cancelled"&&(yield{type:"error",error:new K(ae.InternalError,`Task ${a} was cancelled`)});return}if(s.status==="input_required"){yield{type:"result",result:await this.getTaskResult({taskId:a},r,n)};return}let c=s.pollInterval??this._options?.defaultTaskPollInterval??1e3;await new Promise(l=>setTimeout(l,c)),n?.signal?.throwIfAborted()}}catch(o){yield{type:"error",error:o instanceof K?o:new K(ae.InternalError,String(o))}}}request(e,r,n){let{relatedRequestId:i,resumptionToken:a,onresumptiontoken:o,task:s,relatedTask:c}=n??{};return new Promise((l,u)=>{let p=S=>{u(S)};if(!this._transport){p(new Error("Not connected"));return}if(this._options?.enforceStrictCapabilities===!0)try{this.assertCapabilityForMethod(e.method),s&&this.assertTaskCapability(e.method)}catch(S){p(S);return}n?.signal?.throwIfAborted();let d=this._requestMessageId++,f={...e,jsonrpc:"2.0",id:d};n?.onprogress&&(this._progressHandlers.set(d,n.onprogress),f.params={...e.params,_meta:{...e.params?._meta||{},progressToken:d}}),s&&(f.params={...f.params,task:s}),c&&(f.params={...f.params,_meta:{...f.params?._meta||{},[dn]:c}});let m=S=>{this._responseHandlers.delete(d),this._progressHandlers.delete(d),this._cleanupTimeout(d),this._transport?.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:d,reason:String(S)}},{relatedRequestId:i,resumptionToken:a,onresumptiontoken:o}).catch(k=>this._onerror(new Error(`Failed to send cancellation: ${k}`)));let _=S instanceof K?S:new K(ae.RequestTimeout,String(S));u(_)};this._responseHandlers.set(d,S=>{if(!n?.signal?.aborted){if(S instanceof Error)return u(S);try{let _=pn(r,S.result);_.success?l(_.data):u(_.error)}catch(_){u(_)}}}),n?.signal?.addEventListener("abort",()=>{m(n?.signal?.reason)});let h=n?.timeout??mA,g=()=>m(K.fromError(ae.RequestTimeout,"Request timed out",{timeout:h}));this._setupTimeout(d,h,n?.maxTotalTimeout,g,n?.resetTimeoutOnProgress??!1);let b=c?.taskId;if(b){let S=_=>{let k=this._responseHandlers.get(d);k?k(_):this._onerror(new Error(`Response handler missing for side-channeled request ${d}`))};this._requestResolvers.set(d,S),this._enqueueTaskMessage(b,{type:"request",message:f,timestamp:Date.now()}).catch(_=>{this._cleanupTimeout(d),u(_)})}else this._transport.send(f,{relatedRequestId:i,resumptionToken:a,onresumptiontoken:o}).catch(S=>{this._cleanupTimeout(d),u(S)})})}async getTask(e,r){return this.request({method:"tasks/get",params:e},Bl,r)}async getTaskResult(e,r,n){return this.request({method:"tasks/result",params:e},r,n)}async listTasks(e,r){return this.request({method:"tasks/list",params:e},Jl,r)}async cancelTask(e,r){return this.request({method:"tasks/cancel",params:e},qS,r)}async notification(e,r){if(!this._transport)throw new Error("Not connected");this.assertNotificationCapability(e.method);let n=r?.relatedTask?.taskId;if(n){let s={...e,jsonrpc:"2.0",params:{...e.params,_meta:{...e.params?._meta||{},[dn]:r.relatedTask}}};await this._enqueueTaskMessage(n,{type:"notification",message:s,timestamp:Date.now()});return}if((this._options?.debouncedNotificationMethods??[]).includes(e.method)&&!e.params&&!r?.relatedRequestId&&!r?.relatedTask){if(this._pendingDebouncedNotifications.has(e.method))return;this._pendingDebouncedNotifications.add(e.method),Promise.resolve().then(()=>{if(this._pendingDebouncedNotifications.delete(e.method),!this._transport)return;let s={...e,jsonrpc:"2.0"};r?.relatedTask&&(s={...s,params:{...s.params,_meta:{...s.params?._meta||{},[dn]:r.relatedTask}}}),this._transport?.send(s,r).catch(c=>this._onerror(c))});return}let o={...e,jsonrpc:"2.0"};r?.relatedTask&&(o={...o,params:{...o.params,_meta:{...o.params?._meta||{},[dn]:r.relatedTask}}}),await this._transport.send(o,r)}setRequestHandler(e,r){let n=Xg(e);this.assertRequestHandlerCapability(n),this._requestHandlers.set(n,(i,a)=>{let o=Yg(e,i);return Promise.resolve(r(o,a))})}removeRequestHandler(e){this._requestHandlers.delete(e)}assertCanSetRequestHandler(e){if(this._requestHandlers.has(e))throw new Error(`A request handler for ${e} already exists, which would be overridden`)}setNotificationHandler(e,r){let n=Xg(e);this._notificationHandlers.set(n,i=>{let a=Yg(e,i);return Promise.resolve(r(a))})}removeNotificationHandler(e){this._notificationHandlers.delete(e)}_cleanupTaskProgressHandler(e){let r=this._taskProgressTokens.get(e);r!==void 0&&(this._progressHandlers.delete(r),this._taskProgressTokens.delete(e))}async _enqueueTaskMessage(e,r,n){if(!this._taskStore||!this._taskMessageQueue)throw new Error("Cannot enqueue task message: taskStore and taskMessageQueue are not configured");let i=this._options?.maxTaskQueueSize;await this._taskMessageQueue.enqueue(e,r,n,i)}async _clearTaskQueue(e,r){if(this._taskMessageQueue){let n=await this._taskMessageQueue.dequeueAll(e,r);for(let i of n)if(i.type==="request"&&Og(i.message)){let a=i.message.id,o=this._requestResolvers.get(a);o?(o(new K(ae.InternalError,"Task cancelled or completed")),this._requestResolvers.delete(a)):this._onerror(new Error(`Resolver missing for request ${a} during task ${e} cleanup`))}}}async _waitForTaskUpdate(e,r){let n=this._options?.defaultTaskPollInterval??1e3;try{let i=await this._taskStore?.getTask(e);i?.pollInterval&&(n=i.pollInterval)}catch{}return new Promise((i,a)=>{if(r.aborted){a(new K(ae.InvalidRequest,"Request cancelled"));return}let o=setTimeout(i,n);r.addEventListener("abort",()=>{clearTimeout(o),a(new K(ae.InvalidRequest,"Request cancelled"))},{once:!0})})}requestTaskStore(e,r){let n=this._taskStore;if(!n)throw new Error("No task store configured");return{createTask:async i=>{if(!e)throw new Error("No request provided");return await n.createTask(i,e.id,{method:e.method,params:e.params},r)},getTask:async i=>{let a=await n.getTask(i,r);if(!a)throw new K(ae.InvalidParams,"Failed to retrieve task: Task not found");return a},storeTaskResult:async(i,a,o)=>{await n.storeTaskResult(i,a,o,r);let s=await n.getTask(i,r);if(s){let c=as.parse({method:"notifications/tasks/status",params:s});await this.notification(c),fn(s.status)&&this._cleanupTaskProgressHandler(i)}},getTaskResult:i=>n.getTaskResult(i,r),updateTaskStatus:async(i,a,o)=>{let s=await n.getTask(i,r);if(!s)throw new K(ae.InvalidParams,`Task "${i}" not found - it may have been cleaned up`);if(fn(s.status))throw new K(ae.InvalidParams,`Cannot update task "${i}" from terminal status "${s.status}" to "${a}". Terminal states (completed, failed, cancelled) cannot transition to other states.`);await n.updateTaskStatus(i,a,o,r);let c=await n.getTask(i,r);if(c){let l=as.parse({method:"notifications/tasks/status",params:c});await this.notification(l),fn(c.status)&&this._cleanupTaskProgressHandler(i)}},listTasks:i=>n.listTasks(i,r)}}};function WS(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)}function JS(t,e){let r={...t};for(let n in e){let i=n,a=e[i];if(a===void 0)continue;let o=r[i];WS(o)&&WS(a)?r[i]={...o,...a}:r[i]=a}return r}var D$=eo(Ay(),1),O$=eo(j$(),1);function iF(){let t=new D$.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return(0,O$.default)(t),t}var Ou=class{constructor(e){this._ajv=e??iF()}getValidator(e){let r="$id"in e&&typeof e.$id=="string"?this._ajv.getSchema(e.$id)??this._ajv.compile(e):this._ajv.compile(e);return n=>r(n)?{valid:!0,data:n,errorMessage:void 0}:{valid:!1,data:void 0,errorMessage:this._ajv.errorsText(r.errors)}}};var Nu=class{constructor(e){this._server=e}requestStream(e,r,n){return this._server.requestStream(e,r,n)}async getTask(e,r){return this._server.getTask({taskId:e},r)}async getTaskResult(e,r,n){return this._server.getTaskResult({taskId:e},r,n)}async listTasks(e,r){return this._server.listTasks(e?{cursor:e}:void 0,r)}async cancelTask(e,r){return this._server.cancelTask({taskId:e},r)}};function N$(t,e,r){if(!t)throw new Error(`${r} does not support task creation (required for ${e})`);switch(e){case"tools/call":if(!t.tools?.call)throw new Error(`${r} does not support task creation for tools/call (required for ${e})`);break;default:break}}function A$(t,e,r){if(!t)throw new Error(`${r} does not support task creation (required for ${e})`);switch(e){case"sampling/createMessage":if(!t.sampling?.createMessage)throw new Error(`${r} does not support task creation for sampling/createMessage (required for ${e})`);break;case"elicitation/create":if(!t.elicitation?.create)throw new Error(`${r} does not support task creation for elicitation/create (required for ${e})`);break;default:break}}var Au=class extends Yl{constructor(e,r){super(r),this._serverInfo=e,this._loggingLevels=new Map,this.LOG_LEVEL_SEVERITY=new Map(cs.options.map((n,i)=>[n,i])),this.isMessageIgnored=(n,i)=>{let a=this._loggingLevels.get(i);return a?this.LOG_LEVEL_SEVERITY.get(n)<this.LOG_LEVEL_SEVERITY.get(a):!1},this._capabilities=r?.capabilities??{},this._instructions=r?.instructions,this._jsonSchemaValidator=r?.jsonSchemaValidator??new Ou,this.setRequestHandler(Mg,n=>this._oninitialize(n)),this.setNotificationHandler(Ug,()=>this.oninitialized?.()),this._capabilities.logging&&this.setRequestHandler(Wg,async(n,i)=>{let a=i.sessionId||i.requestInfo?.headers["mcp-session-id"]||void 0,{level:o}=n.params,s=cs.safeParse(o);return s.success&&this._loggingLevels.set(a,s.data),{}})}get experimental(){return this._experimental||(this._experimental={tasks:new Nu(this)}),this._experimental}registerCapabilities(e){if(this.transport)throw new Error("Cannot register capabilities after connecting to transport");this._capabilities=JS(this._capabilities,e)}setRequestHandler(e,r){let i=_l(e)?.method;if(!i)throw new Error("Schema is missing a method literal");let a;if(Bi(i)){let s=i;a=s._zod?.def?.value??s.value}else{let s=i;a=s._def?.value??s.value}if(typeof a!="string")throw new Error("Schema method literal must be a string");if(a==="tools/call"){let s=async(c,l)=>{let u=pn(ss,c);if(!u.success){let m=u.error instanceof Error?u.error.message:String(u.error);throw new K(ae.InvalidParams,`Invalid tools/call request: ${m}`)}let{params:p}=u.data,d=await Promise.resolve(r(c,l));if(p.task){let m=pn(Ji,d);if(!m.success){let h=m.error instanceof Error?m.error.message:String(m.error);throw new K(ae.InvalidParams,`Invalid task creation result: ${h}`)}return m.data}let f=pn(Kl,d);if(!f.success){let m=f.error instanceof Error?f.error.message:String(f.error);throw new K(ae.InvalidParams,`Invalid tools/call result: ${m}`)}return f.data};return super.setRequestHandler(e,s)}return super.setRequestHandler(e,r)}assertCapabilityForMethod(e){switch(e){case"sampling/createMessage":if(!this._clientCapabilities?.sampling)throw new Error(`Client does not support sampling (required for ${e})`);break;case"elicitation/create":if(!this._clientCapabilities?.elicitation)throw new Error(`Client does not support elicitation (required for ${e})`);break;case"roots/list":if(!this._clientCapabilities?.roots)throw new Error(`Client does not support listing roots (required for ${e})`);break;case"ping":break}}assertNotificationCapability(e){switch(e){case"notifications/message":if(!this._capabilities.logging)throw new Error(`Server does not support logging (required for ${e})`);break;case"notifications/resources/updated":case"notifications/resources/list_changed":if(!this._capabilities.resources)throw new Error(`Server does not support notifying about resources (required for ${e})`);break;case"notifications/tools/list_changed":if(!this._capabilities.tools)throw new Error(`Server does not support notifying of tool list changes (required for ${e})`);break;case"notifications/prompts/list_changed":if(!this._capabilities.prompts)throw new Error(`Server does not support notifying of prompt list changes (required for ${e})`);break;case"notifications/elicitation/complete":if(!this._clientCapabilities?.elicitation?.url)throw new Error(`Client does not support URL elicitation (required for ${e})`);break;case"notifications/cancelled":break;case"notifications/progress":break}}assertRequestHandlerCapability(e){if(this._capabilities)switch(e){case"completion/complete":if(!this._capabilities.completions)throw new Error(`Server does not support completions (required for ${e})`);break;case"logging/setLevel":if(!this._capabilities.logging)throw new Error(`Server does not support logging (required for ${e})`);break;case"prompts/get":case"prompts/list":if(!this._capabilities.prompts)throw new Error(`Server does not support prompts (required for ${e})`);break;case"resources/list":case"resources/templates/list":case"resources/read":if(!this._capabilities.resources)throw new Error(`Server does not support resources (required for ${e})`);break;case"tools/call":case"tools/list":if(!this._capabilities.tools)throw new Error(`Server does not support tools (required for ${e})`);break;case"tasks/get":case"tasks/list":case"tasks/result":case"tasks/cancel":if(!this._capabilities.tasks)throw new Error(`Server does not support tasks capability (required for ${e})`);break;case"ping":case"initialize":break}}assertTaskCapability(e){A$(this._clientCapabilities?.tasks?.requests,e,"Client")}assertTaskHandlerCapability(e){this._capabilities&&N$(this._capabilities.tasks?.requests,e,"Server")}async _oninitialize(e){let r=e.params.protocolVersion;return this._clientCapabilities=e.params.capabilities,this._clientVersion=e.params.clientInfo,{protocolVersion:zS.includes(r)?r:jg,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"},Fl)}async createMessage(e,r){if((e.tools||e.toolChoice)&&!this._clientCapabilities?.sampling?.tools)throw new Error("Client does not support sampling tools capability.");if(e.messages.length>0){let n=e.messages[e.messages.length-1],i=Array.isArray(n.content)?n.content:[n.content],a=i.some(l=>l.type==="tool_result"),o=e.messages.length>1?e.messages[e.messages.length-2]:void 0,s=o?Array.isArray(o.content)?o.content:[o.content]:[],c=s.some(l=>l.type==="tool_use");if(a){if(i.some(l=>l.type!=="tool_result"))throw new Error("The last message must contain only tool_result content if any is present");if(!c)throw new Error("tool_result blocks are not matching any tool_use from the previous message")}if(c){let l=new Set(s.filter(p=>p.type==="tool_use").map(p=>p.id)),u=new Set(i.filter(p=>p.type==="tool_result").map(p=>p.toolUseId));if(l.size!==u.size||![...l].every(p=>u.has(p)))throw new Error("ids of tool_result blocks and tool_use blocks from previous message do not match")}}return e.tools?this.request({method:"sampling/createMessage",params:e},Gg,r):this.request({method:"sampling/createMessage",params:e},Jg,r)}async elicitInput(e,r){switch(e.mode??"form"){case"url":{if(!this._clientCapabilities?.elicitation?.url)throw new Error("Client does not support url elicitation.");let i=e;return this.request({method:"elicitation/create",params:i},Xl,r)}case"form":{if(!this._clientCapabilities?.elicitation?.form)throw new Error("Client does not support form elicitation.");let i=e.mode==="form"?e:{...e,mode:"form"},a=await this.request({method:"elicitation/create",params:i},Xl,r);if(a.action==="accept"&&a.content&&i.requestedSchema)try{let s=this._jsonSchemaValidator.getValidator(i.requestedSchema)(a.content);if(!s.valid)throw new K(ae.InvalidParams,`Elicitation response content does not match requested schema: ${s.errorMessage}`)}catch(o){throw o instanceof K?o:new K(ae.InternalError,`Error validating elicitation response: ${o instanceof Error?o.message:String(o)}`)}return a}}}createElicitationCompletionNotifier(e,r){if(!this._clientCapabilities?.elicitation?.url)throw new Error("Client does not support URL elicitation (required for notifications/elicitation/complete)");return()=>this.notification({method:"notifications/elicitation/complete",params:{elicitationId:e}},r)}async listRoots(e,r){return this.request({method:"roots/list",params:e},Kg,r)}async sendLoggingMessage(e,r){if(this._capabilities.logging&&!this.isMessageIgnored(e.level,r))return this.notification({method:"notifications/message",params:e})}async sendResourceUpdated(e){return this.notification({method:"notifications/resources/updated",params:e})}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"})}};import U$ from"node:process";var Mu=class{append(e){this._buffer=this._buffer?Buffer.concat([this._buffer,e]):e}readMessage(){if(!this._buffer)return null;let e=this._buffer.indexOf(`
|
|
99
99
|
`);if(e===-1)return null;let r=this._buffer.toString("utf8",0,e).replace(/\r$/,"");return this._buffer=this._buffer.subarray(e+1),aF(r)}clear(){this._buffer=void 0}};function aF(t){return US.parse(JSON.parse(t))}function M$(t){return JSON.stringify(t)+`
|
|
100
100
|
`}var Uu=class{constructor(e=U$.stdin,r=U$.stdout){this._stdin=e,this._stdout=r,this._readBuffer=new Mu,this._started=!1,this._ondata=n=>{this._readBuffer.append(n),this.processReadBuffer()},this._onerror=n=>{this.onerror?.(n)}}async start(){if(this._started)throw new 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(){for(;;)try{let e=this._readBuffer.readMessage();if(e===null)break;this.onmessage?.(e)}catch(e){this.onerror?.(e)}}async close(){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(e){return new Promise(r=>{let n=M$(e);this._stdout.write(n)?r():this._stdout.once("drain",r)})}};var Fu={name:"query_instances",description:"Query Roblox instances: get, children, find child/descendant, wait for child, class info, search by name/class. [PRO] file_tree, project_structure, descendants, ancestors, search by property/tag.",inputSchema:{type:"object",properties:{action:{type:"string",enum:["get","children","find_child","find_descendant","wait_for_child","class_info","search_name","search_class","search_property","search_tag","file_tree","project_structure","descendants","ancestors"],description:"Query action to perform. Basic: get, children, find_child, find_descendant, wait_for_child, class_info, search_name, search_class. [PRO]: search_property, search_tag, file_tree, project_structure, descendants, ancestors."},path:{type:"string",description:'Instance path to query (e.g., "game.Workspace.Part"). Used by: get, children, find_child, find_descendant, wait_for_child, descendants, ancestors.'},childName:{type:"string",description:"Name of the child instance to find. Used by: find_child, wait_for_child."},descendantName:{type:"string",description:"Name of the descendant instance to find. Used by: find_descendant."},className:{type:"string",description:"Roblox class name. Used by: find_child/find_descendant (optional filter), class_info (required), search_class (required)."},recursive:{type:"boolean",description:"If true, returns all descendants instead of just immediate children. Used by: children. Default: false."},maxDepth:{type:"number",description:"Maximum depth for recursive traversal. Used by: children (default: 10), file_tree (default: 5)."},timeout:{type:"number",description:"Maximum time to wait in seconds. Used by: wait_for_child. Default: 5. Maximum: 30."},root:{type:"string",description:'Root path to search/scan from. Used by: search_name, search_class, search_property, search_tag, file_tree, project_structure. Default: "game".'},query:{type:"string",description:"Search pattern for name search (supports * and ? wildcards). Used by: search_name."},propertyName:{type:"string",description:"[PRO] Property name to search by. Used by: search_property."},propertyValue:{description:"[PRO] Property value to match. Used by: search_property."},tag:{type:"string",description:"[PRO] Tag string to search by (case-sensitive). Used by: search_tag."},includeServices:{type:"boolean",description:'[PRO] Include Roblox services when root is "game". Used by: file_tree. Default: true.'},includeSubclasses:{type:"boolean",description:"Include subclasses in class search (e.g., BasePart finds Part, MeshPart). Used by: search_class. Default: true."},caseSensitive:{type:"boolean",description:"Case-sensitive name search. Used by: search_name. Default: false."},maxResults:{type:"number",description:"Maximum results to return. Used by: search_name, search_class, search_property, search_tag, descendants. Default: 100."},depth:{type:"number",description:"[PRO] Maximum depth for project structure traversal. Used by: project_structure. Default: 3."}},required:["action"]}};var qu={name:"mutate_instances",description:"Create, delete, clone, move, rename, or pivot instances. [PRO] create_tree, mass_create, mass_delete, mass_duplicate, smart_duplicate.",inputSchema:{type:"object",properties:{action:{type:"string",enum:["create","create_with_props","delete","clone","move","rename","pivot","create_tree","mass_create","mass_delete","mass_duplicate","smart_duplicate"],description:"Mutation action. Basic: create, create_with_props, delete, clone, move, rename, pivot. [PRO]: create_tree, mass_create, mass_delete, mass_duplicate, smart_duplicate."},className:{type:"string",description:"Roblox class name (e.g., Part, Script, Folder). Used by: create, create_with_props."},parent:{type:"string",description:"Parent path for new instance. Used by: create, create_with_props."},name:{type:"string",description:"Name for the instance. Used by: create (optional), create_with_props (required)."},properties:{type:"object",description:"Properties to set on the instance. Supports Vector3, Color3, CFrame, UDim2, Enum types. Used by: create (optional), create_with_props (required).",additionalProperties:!0},path:{type:"string",description:"Instance path to operate on. Used by: delete, clone (as sourcePath), move, rename, pivot, smart_duplicate."},sourcePath:{type:"string",description:"Source instance path to clone from. Used by: clone. Alternative to path."},targetParent:{type:"string",description:"Target parent for cloned/duplicated instances. Used by: clone, mass_duplicate, smart_duplicate."},newName:{type:"string",description:"New name for instance. Used by: rename (required), clone (optional)."},newParent:{type:"string",description:"New parent path to move instance to. Used by: move."},position:{type:"object",description:"Target position as Vector3 {x, y, z}. Used by: pivot.",properties:{x:{type:"number"},y:{type:"number"},z:{type:"number"}},required:["x","y","z"]},cframe:{type:"array",description:"Target CFrame as 12-number array [x, y, z, r00, r01, r02, r10, r11, r12, r20, r21, r22]. Used by: pivot.",items:{type:"number"},minItems:12,maxItems:12},offset:{type:"object",description:"Relative offset to move by (ignores position/cframe). Used by: pivot, smart_duplicate.",properties:{x:{type:"number"},y:{type:"number"},z:{type:"number"}},required:["x","y","z"]},tree:{type:"object",description:"[PRO] Instance tree specification for hierarchical creation. Used by: create_tree.",additionalProperties:!0},instances:{type:"array",description:"[PRO] Array of instance specifications for batch creation. Used by: mass_create. Each item: {className, name, parentPath, properties?}.",items:{type:"object",properties:{className:{type:"string"},name:{type:"string"},parentPath:{type:"string"},properties:{type:"object",additionalProperties:!0}},required:["className","name","parentPath"]}},paths:{type:"array",description:"[PRO] Array of instance paths. Used by: mass_delete, mass_duplicate.",items:{type:"string"}},count:{type:"number",description:"[PRO] Number of copies to create. Used by: smart_duplicate."},spacing:{type:"object",description:"[PRO] Spacing between duplicated instances. Used by: smart_duplicate. Alias for offset.",properties:{x:{type:"number"},y:{type:"number"},z:{type:"number"}}}},required:["action"]}};var Lu={name:"manage_properties",description:"Get/set properties, attributes, and tags on instances. [PRO] set_calculated, set_relative, mass_set, mass_get, modify_children.",inputSchema:{type:"object",properties:{action:{type:"string",enum:["get","set","get_all","set_multiple","get_attr","set_attr","get_all_attrs","delete_attr","add_tag","remove_tag","check_tag","get_tags","get_tagged","set_calculated","set_relative","mass_set","mass_get","modify_children"],description:"Property action. Basic: get, set, get_all, set_multiple, get_attr, set_attr, get_all_attrs, delete_attr, add_tag, remove_tag, check_tag, get_tags, get_tagged. [PRO]: set_calculated, set_relative, mass_set, mass_get, modify_children."},path:{type:"string",description:"Instance path. Used by: get, set, get_all, set_multiple, get_attr, set_attr, get_all_attrs, delete_attr, add_tag, remove_tag, check_tag, get_tags, set_calculated, set_relative."},property:{type:"string",description:'Property name (e.g., "Size", "Position", "Anchored"). Used by: get, set.'},value:{description:"Value to set. Supports primitives, Vector3 {x,y,z}, Color3 {r,g,b} (0-255), CFrame (12-number array), UDim2 {xScale,xOffset,yScale,yOffset}, Enum strings. Used by: set, set_attr, set_relative."},properties:{type:"object",description:"Dictionary of property names to values. Used by: set_multiple.",additionalProperties:!0},attribute:{type:"string",description:"Attribute name. Used by: get_attr, set_attr, delete_attr."},tag:{type:"string",description:"Tag string (case-sensitive). Used by: add_tag, remove_tag, check_tag."},tagName:{type:"string",description:"Tag to search for. Used by: get_tagged."},root:{type:"string",description:"Root path to filter get_tagged results. Used by: get_tagged."},maxResults:{type:"number",description:"Maximum results for get_tagged. Default: 100."},expression:{type:"string",description:'[PRO] Mathematical expression to evaluate. Used by: set_calculated. Example: "baseValue * multiplier".'},variables:{type:"object",description:'[PRO] Variable name to value/path mapping. Used by: set_calculated. Example: {"baseValue": "workspace.Config.BaseValue", "multiplier": 2}.',additionalProperties:!0},operation:{type:"string",enum:["add","subtract","multiply","divide"],description:"[PRO] Mathematical operation for relative property change. Used by: set_relative."},amount:{description:"[PRO] Value for relative operation. Can be number, Vector3, etc. Used by: set_relative. Alias for value in set_relative context."},paths:{type:"array",description:"[PRO] Array of instance paths for bulk operations. Used by: mass_set, mass_get.",items:{type:"string"}},parentPath:{type:"string",description:"[PRO] Parent path whose children will be modified. Used by: modify_children."},modifications:{type:"object",description:"[PRO] Properties to set on children. Used by: modify_children. Contains propertyName, propertyValue, filter, recursive.",properties:{propertyName:{type:"string",description:"Property name to set on all children."},propertyValue:{description:"Value to set on all children."},filter:{type:"string",description:"Optional class name filter for children."},recursive:{type:"boolean",description:"If true, modifies all descendants. Default: false."}}},propertyName:{type:"string",description:"[PRO] Property name for mass operations or set_calculated/set_relative. Used by: mass_set, mass_get, set_calculated, set_relative, modify_children."},propertyValue:{description:"[PRO] Property value for mass_set and modify_children."},filter:{type:"string",description:"[PRO] Class name filter for modify_children."},recursive:{type:"boolean",description:"[PRO] Modify all descendants, not just immediate children. Used by: modify_children. Default: false."},includeReadOnly:{type:"boolean",description:"Include read-only properties. Used by: get_all. Default: false."}},required:["action"]}};var Zu={name:"manage_scripts",description:"Manage script source code: read, write, create, delete, edit lines, search. [PRO] replace across scripts.",inputSchema:{type:"object",properties:{action:{type:"string",enum:["get_source","set_source","create","delete","edit_replace","edit_insert","edit_delete","search","get_dependencies","replace"],description:"Script action. Basic: get_source, set_source, create, delete, edit_replace, edit_insert, edit_delete, search, get_dependencies. [PRO]: replace."},path:{type:"string",description:"Path to the script instance. Used by: get_source, set_source, delete, edit_replace, edit_insert, edit_delete, search, get_dependencies, replace."},source:{type:"string",description:"Script source code. Used by: set_source (required), create (optional initial source)."},scriptType:{type:"string",enum:["Script","LocalScript","ModuleScript"],description:"Type of script to create. Used by: create."},parent:{type:"string",description:"Parent path for new script. Used by: create."},name:{type:"string",description:"Name for new script. Used by: create."},startLine:{type:"number",description:"Starting line number, 1-based inclusive. Used by: edit_replace, edit_delete."},endLine:{type:"number",description:"Ending line number, 1-based inclusive. Used by: edit_replace, edit_delete."},newLines:{type:"string",description:"New content to replace specified lines. Used by: edit_replace. Can be multi-line."},lines:{type:"string",description:"Content to insert after afterLine. Used by: edit_insert. Can be multi-line. Alias for content."},afterLine:{type:"number",description:"Line number after which to insert. Used by: edit_insert. Use 0 to insert at beginning."},content:{type:"string",description:"Content to insert. Used by: edit_insert. Can be multi-line."},pattern:{type:"string",description:"Search pattern (plain text or Lua pattern). Used by: search, replace."},replacement:{type:"string",description:"[PRO] Replacement text. Used by: replace."},caseSensitive:{type:"boolean",description:"Case-sensitive search. Used by: search. Default: false."},wholeWord:{type:"boolean",description:"Match whole words only. Used by: search. Default: false."},usePattern:{type:"boolean",description:"Treat pattern as Lua pattern instead of plain text. Used by: search, replace. Default: false."},dryRun:{type:"boolean",description:"[PRO] Show what would be replaced without making changes. Used by: replace. Default: false."},maxResults:{type:"number",description:"Maximum results to return. Used by: search. Default: 100."}},required:["action"]}};var Hu={name:"manage_lighting",description:"[PRO] Configure environment: lighting, atmosphere, sky, terrain properties, time of day.",inputSchema:{type:"object",properties:{action:{type:"string",enum:["lighting","atmosphere","sky","terrain_props","time"],description:"[PRO] Environment action. lighting: set Lighting service properties. atmosphere: set Atmosphere properties. sky: set Sky properties. terrain_props: set Terrain water/visual properties. time: set time of day."},properties:{type:"object",description:"Dictionary of properties to set. Used by: lighting, atmosphere, sky, terrain_props. Supports Color3 {r,g,b} (0-255), numbers, booleans, Enum strings.",additionalProperties:!0},createIfMissing:{type:"boolean",description:"Create Atmosphere/Sky instance if missing. Used by: atmosphere, sky. Default: true."},time:{type:"string",description:'Time string in "HH:MM:SS" format (e.g., "14:30:00"). Used by: time. Provide this OR clockTime.'},clockTime:{type:"number",description:"Numeric time in 24-hour format (e.g., 14.5 for 2:30 PM). Used by: time. Provide this OR time."}},required:["action"]}};var Bu={name:"manage_selection",description:"Get, set, or clear selection. [PRO] context, details, add/remove items, watch changes.",inputSchema:{type:"object",properties:{action:{type:"string",enum:["get","set","clear","cached","context","details","add","remove","watch"],description:"Selection action. Basic: get (current selection), set (replace selection), clear (deselect all), cached (from cache without round-trip). [PRO]: context (detailed with source/properties), details (hierarchical with ancestors/descendants), add (add to selection), remove (remove from selection), watch (monitor changes)."},paths:{type:"array",description:"Array of instance paths. Used by: set (required), add (required), remove (required).",items:{type:"string"}},maxAge:{type:"number",description:"Maximum age of cached data in milliseconds. Used by: cached. Default: 30000. Set to 0 for any age."},maxDepth:{type:"number",description:"[PRO] Maximum depth for descendant tree traversal. Used by: details. Default: 1."},includeSource:{type:"boolean",description:"[PRO] Include script source code. Used by: context. Default: true."},includeProperties:{type:"boolean",description:"[PRO] Include all readable properties. Used by: context. Default: true."},includeChildren:{type:"boolean",description:"[PRO] Include immediate children. Used by: context. Default: false."},includeAncestors:{type:"boolean",description:"[PRO] Include full ancestor chain. Used by: details. Default: false."}},required:["action"]}};var Vu={name:"manage_camera",description:"Camera operations: get info, focus on instance by path or position, get suggested view.",inputSchema:{type:"object",properties:{action:{type:"string",enum:["info","focus_path","focus_position","suggest"],description:"Camera action. info: get current camera position, rotation, FOV, viewport size. focus_path: move camera to focus on instance by path. focus_position: move camera to focus on world position. suggest: get suggested camera view for a target."},path:{type:"string",description:"Instance path to focus on. Used by: focus_path (if not provided, focuses on selection), suggest (if not provided, uses selection)."},position:{type:"object",description:"World position to focus on as Vector3. Used by: focus_position (required).",properties:{x:{type:"number",description:"X coordinate"},y:{type:"number",description:"Y coordinate"},z:{type:"number",description:"Z coordinate"}},required:["x","y","z"]},distance:{type:"number",description:"Distance from target in studs. Used by: focus_path, focus_position. Auto-calculated if not provided."},duration:{type:"number",description:"Animation duration in seconds. Used by: focus_path, focus_position. Default: 0.5."},offset:{type:"object",description:"Camera offset direction from target (normalized and scaled by distance). Used by: focus_path, focus_position. Default: {x:1, y:0.5, z:1}.",properties:{x:{type:"number"},y:{type:"number"},z:{type:"number"}}},lookAt:{type:"object",description:"Point for camera to look at. Used by: focus_position.",properties:{x:{type:"number"},y:{type:"number"},z:{type:"number"}}},respectAutoFocusSetting:{type:"boolean",description:"If true, only focus when plugin Auto Focus setting is enabled. Used by: focus_path, focus_position. Default: false."}},required:["action"]}};var Wu={name:"manage_tween",description:"[PRO] Tween service: create, play, pause, cancel tweens for smooth animations.",inputSchema:{type:"object",properties:{action:{type:"string",enum:["create","play","pause","cancel"],description:"[PRO] Tween action. create: create a new tween with target properties. play: play a created tween. pause: pause a running tween. cancel: cancel a tween."},path:{type:"string",description:"Instance path to tween. Used by: create (required)."},tweenInfo:{type:"object",description:"Tween configuration. Used by: create.",properties:{time:{type:"number",description:"Duration in seconds. Default: 1."},easingStyle:{type:"string",description:'Easing style (e.g., "Linear", "Quad", "Cubic", "Sine", "Bounce", "Elastic"). Default: "Quad".'},easingDirection:{type:"string",enum:["In","Out","InOut"],description:'Easing direction. Default: "Out".'},repeatCount:{type:"number",description:"Number of times to repeat. -1 for infinite. Default: 0."},reverses:{type:"boolean",description:"Whether the tween reverses on each repeat. Default: false."},delayTime:{type:"number",description:"Delay before tween starts in seconds. Default: 0."}}},properties:{type:"object",description:"Target property values to tween to. Used by: create. Supports Vector3, Color3, numbers, etc.",additionalProperties:!0},tweenId:{type:"string",description:"Tween identifier returned by create. Used by: play, pause, cancel."}},required:["action"]}};var Ju={name:"manage_audio",description:"[PRO] Audio management: play, stop, pause, resume sounds. Set audio listener.",inputSchema:{type:"object",properties:{action:{type:"string",enum:["play","stop","pause","resume","set_listener"],description:"[PRO] Audio action. play: play a sound (creates Sound if needed). stop: stop a playing sound. pause: pause a playing sound. resume: resume a paused sound. set_listener: set the audio listener type/target."},path:{type:"string",description:"Path to the Sound instance or parent to create Sound in. Used by: play, stop, pause, resume."},soundId:{type:"string",description:'Roblox sound asset ID (e.g., "rbxassetid://1234567"). Used by: play (if creating a new Sound).'},volume:{type:"number",description:"Sound volume (0-10). Used by: play. Default: 0.5."},looped:{type:"boolean",description:"Whether the sound loops. Used by: play. Default: false."},playbackSpeed:{type:"number",description:"Playback speed multiplier. Used by: play. Default: 1."},listenerType:{type:"string",enum:["Camera","CFrame","ObjectPosition","ObjectCFrame"],description:"Listener type for SoundService. Used by: set_listener."},listenerPath:{type:"string",description:"Instance path for ObjectPosition/ObjectCFrame listener type. Used by: set_listener."}},required:["action"]}};var Gu={name:"manage_animation",description:"[PRO] Animation: load, play, stop animations. Get animation tracks from humanoid/controller.",inputSchema:{type:"object",properties:{action:{type:"string",enum:["load","play","stop","get_tracks"],description:"[PRO] Animation action. load: load an animation on a Humanoid/AnimationController. play: play a loaded animation track. stop: stop a playing animation. get_tracks: list all loaded animation tracks."},path:{type:"string",description:"Path to the Humanoid, AnimationController, or Model containing one. Used by: load, play, stop, get_tracks."},animationId:{type:"string",description:'Roblox animation asset ID (e.g., "rbxassetid://1234567"). Used by: load.'},trackId:{type:"string",description:"Animation track identifier returned by load. Used by: play (required), stop (required)."},speed:{type:"number",description:"Playback speed multiplier. Used by: play. Default: 1."},fadeTime:{type:"number",description:"Fade time in seconds when starting/stopping. Used by: play, stop. Default: 0.1."},weight:{type:"number",description:"Animation weight (0-1) for blending. Used by: play. Default: 1."},priority:{type:"string",enum:["Core","Idle","Movement","Action","Action2","Action3","Action4"],description:"Animation priority. Used by: play."}},required:["action"]}};var Ku={name:"manage_physics",description:"[PRO] Physics collision groups: register, set collidable between groups, list groups.",inputSchema:{type:"object",properties:{action:{type:"string",enum:["register_group","set_collidable","get_groups"],description:"[PRO] Physics action. register_group: register a new collision group with PhysicsService. set_collidable: set whether two groups can collide. get_groups: list all registered collision groups."},groupName:{type:"string",description:"Collision group name. Used by: register_group (required)."},group1:{type:"string",description:"First collision group name. Used by: set_collidable (required)."},group2:{type:"string",description:"Second collision group name. Used by: set_collidable (required)."},collidable:{type:"boolean",description:"Whether the two groups can collide. Used by: set_collidable (required)."}},required:["action"]}};var Xu={name:"manage_effects",description:"[PRO] Particle effects: emit particles, clear all particles, toggle effect enabled state.",inputSchema:{type:"object",properties:{action:{type:"string",enum:["emit","clear","toggle"],description:"[PRO] Effects action. emit: emit a burst of particles from a ParticleEmitter. clear: clear all particles from a ParticleEmitter or all emitters under an instance. toggle: enable or disable a ParticleEmitter, Beam, Trail, or other effect."},path:{type:"string",description:"Path to the effect instance (ParticleEmitter, Beam, Trail) or parent containing effects. Used by: emit, clear, toggle."},count:{type:"number",description:"Number of particles to emit in a burst. Used by: emit. Default: 16."},enabled:{type:"boolean",description:"Enable or disable the effect. Used by: toggle."}},required:["action"]}};var Yu={name:"manage_terrain",description:"[PRO] Terrain operations: fill shapes, clear regions, replace materials, manage colors, read/write voxels, generate procedural terrain, smooth terrain.",inputSchema:{type:"object",properties:{action:{type:"string",enum:["fill_block","fill_ball","fill_cylinder","fill_wedge","clear_region","clear_bounds","replace_material","colors_get","colors_set","read_voxel","read_voxels","write_voxels","generate","smooth"],description:"[PRO] Terrain action. fill_block/fill_ball/fill_cylinder/fill_wedge: fill shapes with material. clear_region/clear_bounds: clear terrain. replace_material: swap materials in region. colors_get/colors_set: manage material colors. read_voxel: single voxel. read_voxels/write_voxels: bulk voxels. generate: procedural terrain. smooth: smooth terrain."},material:{type:"string",description:"Terrain material name (e.g., Grass, Rock, Water, Sand, Slate, Concrete). Used by: fill_*, replace_material, colors_get, colors_set."},center:{type:"object",description:"Center position as Vector3. Used by: fill_ball.",properties:{x:{type:"number"},y:{type:"number"},z:{type:"number"}},required:["x","y","z"]},position:{type:"object",description:"Position as Vector3. Used by: read_voxel.",properties:{x:{type:"number"},y:{type:"number"},z:{type:"number"}},required:["x","y","z"]},cframe:{type:"object",description:"Position and rotation for fill shapes. Used by: fill_block, fill_cylinder, fill_wedge.",properties:{position:{type:"object",properties:{x:{type:"number"},y:{type:"number"},z:{type:"number"}},required:["x","y","z"]},rotation:{type:"object",description:"Optional rotation in degrees.",properties:{x:{type:"number"},y:{type:"number"},z:{type:"number"}}}},required:["position"]},size:{type:"object",description:"Size in studs. Used by: fill_block, fill_wedge.",properties:{x:{type:"number"},y:{type:"number"},z:{type:"number"}},required:["x","y","z"]},radius:{type:"number",description:"Radius in studs. Used by: fill_ball, fill_cylinder."},height:{type:"number",description:"Height in studs. Used by: fill_cylinder."},region:{type:"object",description:"Rectangular region with min/max corners. Used by: clear_region, replace_material, read_voxels, write_voxels, generate, smooth.",properties:{min:{type:"object",properties:{x:{type:"number"},y:{type:"number"},z:{type:"number"}},required:["x","y","z"]},max:{type:"object",properties:{x:{type:"number"},y:{type:"number"},z:{type:"number"}},required:["x","y","z"]}},required:["min","max"]},min:{type:"object",description:"Minimum corner for bounds-based clear. Used by: clear_bounds.",properties:{x:{type:"number"},y:{type:"number"},z:{type:"number"}},required:["x","y","z"]},max:{type:"object",description:"Maximum corner for bounds-based clear. Used by: clear_bounds.",properties:{x:{type:"number"},y:{type:"number"},z:{type:"number"}},required:["x","y","z"]},sourceMaterial:{type:"string",description:"Material to replace. Used by: replace_material."},targetMaterial:{type:"string",description:"Replacement material. Used by: replace_material."},color:{type:"object",description:"RGB color (0-255). Used by: colors_set.",properties:{r:{type:"number",minimum:0,maximum:255},g:{type:"number",minimum:0,maximum:255},b:{type:"number",minimum:0,maximum:255}},required:["r","g","b"]},resolution:{type:"number",description:"Voxel resolution (studs per voxel). Used by: read_voxels, write_voxels. Default: 4."},materials:{type:"array",description:"3D array of material names [x][y][z]. Used by: write_voxels.",items:{type:"array",items:{type:"array",items:{type:"string"}}}},occupancy:{type:"array",description:"3D array of occupancy values [x][y][z] (0-1). Used by: write_voxels.",items:{type:"array",items:{type:"array",items:{type:"number",minimum:0,maximum:1}}}},baseHeight:{type:"number",description:"Base terrain height in studs. Used by: generate. Default: 32."},amplitude:{type:"number",description:"Height variation amplitude in studs. Used by: generate. Default: 24."},frequency:{type:"number",description:"Noise frequency (0.001-0.1). Used by: generate. Default: 0.01.",minimum:.001,maximum:.1},seed:{type:"number",description:"Random seed for terrain generation. Used by: generate."},layers:{type:"array",description:"Material layers by height. Used by: generate. Each: {material, maxHeight}.",items:{type:"object",properties:{material:{type:"string"},maxHeight:{type:"number"}},required:["material","maxHeight"]}},intensity:{type:"number",description:"Smoothing intensity (0-1). Used by: smooth. Default: 0.5.",minimum:0,maximum:1}},required:["action"]}};var Qu={name:"spatial_query",description:"[PRO] Spatial queries: raycast, find ground, check placement, multi-raycast, scan area, find flat areas, find spawn positions, analyze walkable, spatial map, find empty space, get bounds, snap to grid, check collision.",inputSchema:{type:"object",properties:{action:{type:"string",enum:["raycast","find_ground","check_placement","multi_raycast","scan_area","find_flat","find_spawn","analyze_walkable","spatial_map","find_space","bounds","snap_grid","collision"],description:"[PRO] Spatial action. raycast: single ray. find_ground: ground below point. check_placement: collision-free placement check. multi_raycast: batch rays. scan_area: heightmap generation. find_flat: flat areas for building. find_spawn: spawn positions. analyze_walkable: walkability grid. spatial_map: all BasePart positions. find_space: empty space for object. bounds: bounding box. snap_grid: snap position to grid. collision: AABB collision check."},origin:{type:"object",description:"Ray origin as Vector3. Used by: raycast.",properties:{x:{type:"number"},y:{type:"number"},z:{type:"number"}},required:["x","y","z"]},direction:{type:"object",description:"Ray direction and length as Vector3. Used by: raycast.",properties:{x:{type:"number"},y:{type:"number"},z:{type:"number"}},required:["x","y","z"]},maxDistance:{type:"number",description:"Maximum distance for ground search. Used by: find_ground. Default: 1000."},position:{type:"object",description:"Position as Vector3. Used by: find_ground (cast from here), check_placement (center), collision (hypothetical position).",properties:{x:{type:"number"},y:{type:"number"},z:{type:"number"}},required:["x","y","z"]},size:{type:"object",description:"Size as Vector3. Used by: check_placement (object size), find_space (required space size), scan_area (area X/Z dimensions).",properties:{x:{type:"number"},y:{type:"number"},z:{type:"number"}}},filterType:{type:"string",enum:["Exclude","Include"],description:'Raycast filter type. Used by: raycast, multi_raycast. Default: "Exclude".'},filterList:{type:"array",description:"Instance paths to filter. Used by: raycast, multi_raycast, find_ground, check_placement, scan_area. Alias: filterInstances.",items:{type:"string"}},filterInstances:{type:"array",description:"Instance paths to filter (alias for filterList). Used by: raycast, multi_raycast, find_ground, check_placement, scan_area.",items:{type:"string"}},ignoreWater:{type:"boolean",description:"Ignore terrain water. Used by: raycast, multi_raycast. Default: false."},rays:{type:"array",description:"Array of ray specifications. Used by: multi_raycast. Max 50 rays.",items:{type:"object",properties:{origin:{type:"object",properties:{x:{type:"number"},y:{type:"number"},z:{type:"number"}},required:["x","y","z"]},direction:{type:"object",properties:{x:{type:"number"},y:{type:"number"},z:{type:"number"}},required:["x","y","z"]}},required:["origin","direction"]},maxItems:50},center:{type:"object",description:"Center point for area scan. Used by: scan_area.",properties:{x:{type:"number"},y:{type:"number"},z:{type:"number"}},required:["x","y","z"]},area:{type:"object",description:"Bounding box for analysis. Used by: analyze_walkable. Contains min/max.",properties:{min:{type:"object",properties:{x:{type:"number"},y:{type:"number"},z:{type:"number"}},required:["x","y","z"]},max:{type:"object",properties:{x:{type:"number"},y:{type:"number"},z:{type:"number"}},required:["x","y","z"]}},required:["min","max"]},searchArea:{type:"object",description:"Bounding box for search. Used by: find_flat, find_spawn, find_space.",properties:{min:{type:"object",properties:{x:{type:"number"},y:{type:"number"},z:{type:"number"}},required:["x","y","z"]},max:{type:"object",properties:{x:{type:"number"},y:{type:"number"},z:{type:"number"}},required:["x","y","z"]}},required:["min","max"]},minSize:{type:"object",description:"Minimum flat area size. Used by: find_flat.",properties:{x:{type:"number"},z:{type:"number"}},required:["x","z"]},maxSlope:{type:"number",description:"Maximum slope in degrees. Used by: find_flat (default: 10), analyze_walkable (default: 45)."},resolution:{type:"number",description:"Grid resolution in studs. Used by: scan_area, analyze_walkable. Default: 4."},gridSize:{type:"number",description:"Grid snap size in studs. Used by: snap_grid (default: 4), find_space (default: 4)."},path:{type:"string",description:"Instance path. Used by: bounds (optional), snap_grid (required), collision (required), spatial_map (rootPath alias)."},paths:{type:"array",description:"Multiple instance paths for batch bounds. Used by: bounds.",items:{type:"string"}},tolerance:{type:"number",description:"Height variation tolerance in studs. Used by: find_flat."},gridSnap:{type:"number",description:"Grid snap size. Alias for gridSize."},axes:{type:"array",description:'Axes to snap. Used by: snap_grid. Default: ["x","y","z"]. Use ["x","z"] for horizontal only.',items:{type:"string",enum:["x","y","z"]}},ignorePaths:{type:"array",description:"Instance paths to ignore in collision check. Used by: collision.",items:{type:"string"}},offset:{type:"number",description:"Vertical offset for ground position. Used by: find_ground. Default: 0."},rotation:{type:"object",description:"Rotation in degrees. Used by: check_placement.",properties:{x:{type:"number"},y:{type:"number"},z:{type:"number"}}},checkGround:{type:"boolean",description:"Verify ground support for placement. Used by: check_placement. Default: true."},spawnSize:{type:"object",description:"Size of spawning entity. Used by: find_spawn. Default: {x:4, y:5, z:4}.",properties:{x:{type:"number"},y:{type:"number"},z:{type:"number"}}},minSpacing:{type:"number",description:"Minimum distance between spawn positions. Used by: find_spawn. Default: 10."},preferOutdoor:{type:"boolean",description:"Prefer open sky positions. Used by: find_spawn. Default: false."},count:{type:"number",description:"Number of results to find. Used by: find_spawn. Default: 10."},characterHeight:{type:"number",description:"Character height for clearance checks. Used by: analyze_walkable. Default: 5."},maxStepHeight:{type:"number",description:"Maximum step height. Used by: analyze_walkable. Default: 2."},rootPath:{type:"string",description:'Root path for spatial map scan. Used by: spatial_map. Default: "game.Workspace".'},includeModels:{type:"boolean",description:"Include Model bounding boxes. Used by: spatial_map. Default: true."},maxResults:{type:"number",description:"Maximum results. Used by: spatial_map (default: 500), scan_area (default: 500), find_flat (default: 10)."},padding:{type:"number",description:"Minimum distance from other objects. Used by: find_space. Default: 1."}},required:["action"]}};var ep={name:"manage_assets",description:"[PRO] Asset management: insert models by ID, get asset info, search creator store, insert free models/packages, export selection.",inputSchema:{type:"object",properties:{action:{type:"string",enum:["insert","info","search","search_insert","insert_free","insert_package","export"],description:"[PRO] Asset action. insert: insert model by asset ID. info: get asset metadata. search: search Creator Store. search_insert: search and insert first match. insert_free: insert free model. insert_package: insert package. export: export current selection."},assetId:{type:"number",description:"Roblox asset ID. Used by: insert (required), info (required), insert_free (required), insert_package (required)."},parent:{type:"string",description:'Parent path for inserted asset. Used by: insert, search_insert, insert_free, insert_package. Default: "game.Workspace".'},name:{type:"string",description:"Optional name for inserted instance."},position:{type:"object",description:"Position to place the model. Used by: insert, insert_free.",properties:{x:{type:"number"},y:{type:"number"},z:{type:"number"}},required:["x","y","z"]},query:{type:"string",description:'Search keyword. Used by: search (required), search_insert (required). E.g., "monster", "tree", "car".'},maxResults:{type:"number",description:"Maximum search results. Used by: search. Default: 10."},category:{type:"string",description:"Asset category filter. Used by: search."},sortType:{type:"string",description:"Sort order for search results. Used by: search."},format:{type:"string",description:"Export format. Used by: export."},includeProperties:{type:"boolean",description:"Include all properties in export. Used by: export. Default: false."},includeChildren:{type:"boolean",description:"Include children in export. Used by: export. Default: false."},maxDepth:{type:"number",description:"Maximum depth for recursive child export. Used by: export. Default: 5."}},required:["action"]}};var tp={name:"manage_sync",description:"[PRO] Project sync management: status, config, history, direction settings, read/write synced files.",inputSchema:{type:"object",properties:{action:{type:"string",enum:["status","config","history","directions","read_file","write_file","progress"],description:"[PRO] Sync action. status: get sync status for a place. config: get sync configuration. history: get change history. directions: get per-type sync directions. read_file: read a synced file. write_file: write to a synced file. progress: get real-time sync progress and bandwidth."},placeId:{type:"number",description:"Place ID for sync operations. Used by: status, config, history, directions."},instancePath:{type:"string",description:"Instance path for file read/write. Used by: read_file, write_file."},content:{type:"string",description:"File content to write. Used by: write_file."},query:{type:"object",description:"Query parameters for history. Used by: history.",properties:{limit:{type:"number",description:"Maximum entries to return."},offset:{type:"number",description:"Number of entries to skip."}}}},required:["action"]}};var rp={name:"workspace_state",description:"[PRO] Workspace state: full sync, snapshot, recent changes, viewport info.",inputSchema:{type:"object",properties:{action:{type:"string",enum:["sync","snapshot","changes","viewport"],description:"[PRO] State action. sync: fetch current Workspace state (hierarchy, history, stats). snapshot: get full instance tree structure. changes: get recent changes (added/removed/modified). viewport: get camera position, FOV, viewport size, selection bounds."},includeMetadata:{type:"boolean",description:"Include metadata (instance counts, timestamps). Used by: sync. Default: true."},limit:{type:"number",description:"Maximum number of changes to return. Used by: changes. Default: 20."},includeCameraInfo:{type:"boolean",description:"Include camera position and settings. Used by: viewport. Default: true."},includeSelectionBounds:{type:"boolean",description:"Include current selection bounds info. Used by: viewport. Default: true."}},required:["action"]}};var np={name:"manage_logs",description:"Output logs: get filtered logs, clear buffer, get recent errors.",inputSchema:{type:"object",properties:{action:{type:"string",enum:["get","clear","errors"],description:"Log action. get: retrieve logs with optional type/limit/since filter. clear: clear internal log buffer. errors: quick access to recent errors only."},level:{type:"string",enum:["all","error","warning","info"],description:'Log level filter. Used by: get. Default: "all".'},limit:{type:"number",description:"Maximum entries to return. Used by: get (default: 100, max: 500), errors (default: 20, max: 100)."},pattern:{type:"string",description:"Text pattern to filter log messages. Used by: get."},since:{type:"number",description:"Unix timestamp in milliseconds. Only logs after this time. Used by: get."}},required:["action"]}};var ip={name:"system_info",description:"System info: ping, connection status, usage tier. [PRO] place info, services list, studio settings.",inputSchema:{type:"object",properties:{action:{type:"string",enum:["ping","connection","usage","place_info","services","studio_settings"],description:"System action. Basic: ping (test connection, returns pong), connection (server/plugin connection info with session IDs), usage (current tier: basic/pro). [PRO]: place_info (place ID, name, game ID, creator), services (list all Roblox services), studio_settings (Studio preferences)."},message:{type:"string",description:"Optional message to echo back. Used by: ping."}},required:["action"]}};var ap={name:"batch_execute",description:'[PRO] Execute multiple commands in a single batch. Each command is an object with "tool" name and "args". Commands execute sequentially; optionally continue on error.',inputSchema:{type:"object",properties:{commands:{type:"array",description:"Array of commands to execute sequentially. Each command specifies a tool name and its arguments.",items:{type:"object",properties:{tool:{type:"string",description:'Tool name to invoke (e.g., "mutate_instances", "manage_properties").'},args:{type:"object",description:"Arguments to pass to the tool, including action and other parameters.",additionalProperties:!0}},required:["tool","args"]}},stopOnError:{type:"boolean",description:"If true, stop executing remaining commands when one fails. Default: true."}},required:["commands"]}};var op={name:"execute_luau",description:"[PRO] Execute arbitrary Luau code in Roblox Studio sandbox. Blocked services: HttpService, DataStoreService, MessagingService. Cannot access CoreGui/CorePackages.",inputSchema:{type:"object",properties:{source:{type:"string",description:"Luau source code to execute. The code runs in a sandboxed environment with access to game services (except blocked ones). Return values are serialized and sent back as the tool result."}},required:["source"]}};var Us=[Fu,qu,Lu,Zu,Hu,Bu,Vu,Wu,Ju,Gu,Ku,Xu,Yu,Qu,ep,tp,rp,np,ip,ap,op];var dj=eo(md(),1);import{randomUUID as CJ}from"crypto";import{createServer as zJ}from"http";var hd=(i=>(i.DEBUG="debug",i.INFO="info",i.WARN="warn",i.ERROR="error",i))(hd||{});var gd={reset:"\x1B[0m",debug:"\x1B[36m",info:"\x1B[32m",warn:"\x1B[33m",error:"\x1B[31m",gray:"\x1B[90m"},Vb=class{static currentLevel="info";static{let e=process.env.LOG_LEVEL?.toLowerCase();e&&Object.values(hd).includes(e)&&(this.currentLevel=e)}static setLevel(e){this.currentLevel=e}static getLevel(){return this.currentLevel}static shouldLog(e){let r=["debug","info","warn","error"],n=r.indexOf(this.currentLevel);return r.indexOf(e)>=n}static getTimestamp(){return new Date().toISOString()}static formatData(e){if(e==null)return"";if(e instanceof Error)return`
|
|
101
101
|
Error: ${e.message}
|
|
102
102
|
Stack: ${e.stack}`;if(typeof e=="object")try{return`
|
|
103
103
|
`+JSON.stringify(e,null,2).replace(/\n/g,`
|
|
104
104
|
`)}catch{return`
|
|
105
|
-
[Circular or non-serializable object]`}return` ${String(e)}`}static log(e,r,n){if(!this.shouldLog(e))return;let i=this.getTimestamp(),a=gd[e],o=this.formatData(n),s=`${gd.gray}[${i}]${gd.reset} ${a}[${e.toUpperCase()}]${gd.reset} ${r}${o}`;console.error(s)}static debug(e,r){this.log("debug",e,r)}static info(e,r){this.log("info",e,r)}static warn(e,r){this.log("warn",e,r)}static error(e,r){this.log("error",e,r)}},v=Vb;import d_ from"path";import{randomUUID as pJ}from"crypto";import{promises as Ka}from"fs";var Ma=typeof performance=="object"&&performance&&typeof performance.now=="function"?performance:Date,qz=new Set,Wb=typeof process=="object"&&process?process:{},Lz=(t,e,r,n)=>{typeof Wb.emitWarning=="function"?Wb.emitWarning(t,e,r,n):console.error(`[${r}] ${e}: ${t}`)},vd=globalThis.AbortController,Fz=globalThis.AbortSignal;if(typeof vd>"u"){Fz=class{onabort;_onabort=[];reason;aborted=!1;addEventListener(n,i){this._onabort.push(i)}},vd=class{constructor(){e()}signal=new Fz;abort(n){if(!this.signal.aborted){this.signal.reason=n,this.signal.aborted=!0;for(let i of this.signal._onabort)i(n);this.signal.onabort?.(n)}}};let t=Wb.env?.LRU_CACHE_IGNORE_AC_WARNING!=="1",e=()=>{t&&(t=!1,Lz("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.","NO_ABORT_CONTROLLER","ENOTSUP",e))}}var tW=t=>!qz.has(t),Vle=Symbol("type"),zn=t=>t&&t===Math.floor(t)&&t>0&&isFinite(t),Zz=t=>zn(t)?t<=Math.pow(2,8)?Uint8Array:t<=Math.pow(2,16)?Uint16Array:t<=Math.pow(2,32)?Uint32Array:t<=Number.MAX_SAFE_INTEGER?Ua:null:null,Ua=class extends Array{constructor(e){super(e),this.fill(0)}},Jb=class t{heap;length;static#c=!1;static create(e){let r=Zz(e);if(!r)return[];t.#c=!0;let n=new t(e,r);return t.#c=!1,n}constructor(e,r){if(!t.#c)throw new TypeError("instantiate Stack using Stack.create(n)");this.heap=new r(e),this.length=0}push(e){this.heap[this.length++]=e}pop(){return this.heap[--this.length]}},yd=class t{#c;#p;#h;#g;#C;#z;ttl;ttlResolution;ttlAutopurge;updateAgeOnGet;updateAgeOnHas;allowStale;noDisposeOnSet;noUpdateTTL;maxEntrySize;sizeCalculation;noDeleteOnFetchRejection;noDeleteOnStaleGet;allowStaleOnFetchAbort;allowStaleOnFetchRejection;ignoreFetchAbort;#i;#v;#n;#r;#e;#l;#d;#s;#a;#y;#o;#x;#b;#f;#_;#I;#u;static unsafeExposeInternals(e){return{starts:e.#b,ttls:e.#f,sizes:e.#x,keyMap:e.#n,keyList:e.#r,valList:e.#e,next:e.#l,prev:e.#d,get head(){return e.#s},get tail(){return e.#a},free:e.#y,isBackgroundFetch:r=>e.#t(r),backgroundFetch:(r,n,i,a)=>e.#D(r,n,i,a),moveToTail:r=>e.#T(r),indexes:r=>e.#w(r),rindexes:r=>e.#S(r),isStale:r=>e.#m(r)}}get max(){return this.#c}get maxSize(){return this.#p}get calculatedSize(){return this.#v}get size(){return this.#i}get fetchMethod(){return this.#C}get memoMethod(){return this.#z}get dispose(){return this.#h}get disposeAfter(){return this.#g}constructor(e){let{max:r=0,ttl:n,ttlResolution:i=1,ttlAutopurge:a,updateAgeOnGet:o,updateAgeOnHas:s,allowStale:c,dispose:l,disposeAfter:u,noDisposeOnSet:p,noUpdateTTL:d,maxSize:f=0,maxEntrySize:m=0,sizeCalculation:h,fetchMethod:g,memoMethod:b,noDeleteOnFetchRejection:S,noDeleteOnStaleGet:_,allowStaleOnFetchRejection:k,allowStaleOnFetchAbort:$,ignoreFetchAbort:N}=e;if(r!==0&&!zn(r))throw new TypeError("max option must be a nonnegative integer");let Z=r?Zz(r):Array;if(!Z)throw new Error("invalid max value: "+r);if(this.#c=r,this.#p=f,this.maxEntrySize=m||this.#p,this.sizeCalculation=h,this.sizeCalculation){if(!this.#p&&!this.maxEntrySize)throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");if(typeof this.sizeCalculation!="function")throw new TypeError("sizeCalculation set to non-function")}if(b!==void 0&&typeof b!="function")throw new TypeError("memoMethod must be a function if defined");if(this.#z=b,g!==void 0&&typeof g!="function")throw new TypeError("fetchMethod must be a function if specified");if(this.#C=g,this.#I=!!g,this.#n=new Map,this.#r=new Array(r).fill(void 0),this.#e=new Array(r).fill(void 0),this.#l=new Z(r),this.#d=new Z(r),this.#s=0,this.#a=0,this.#y=Jb.create(r),this.#i=0,this.#v=0,typeof l=="function"&&(this.#h=l),typeof u=="function"?(this.#g=u,this.#o=[]):(this.#g=void 0,this.#o=void 0),this.#_=!!this.#h,this.#u=!!this.#g,this.noDisposeOnSet=!!p,this.noUpdateTTL=!!d,this.noDeleteOnFetchRejection=!!S,this.allowStaleOnFetchRejection=!!k,this.allowStaleOnFetchAbort=!!$,this.ignoreFetchAbort=!!N,this.maxEntrySize!==0){if(this.#p!==0&&!zn(this.#p))throw new TypeError("maxSize must be a positive integer if specified");if(!zn(this.maxEntrySize))throw new TypeError("maxEntrySize must be a positive integer if specified");this.#q()}if(this.allowStale=!!c,this.noDeleteOnStaleGet=!!_,this.updateAgeOnGet=!!o,this.updateAgeOnHas=!!s,this.ttlResolution=zn(i)||i===0?i:1,this.ttlAutopurge=!!a,this.ttl=n||0,this.ttl){if(!zn(this.ttl))throw new TypeError("ttl must be a positive integer if specified");this.#O()}if(this.#c===0&&this.ttl===0&&this.#p===0)throw new TypeError("At least one of max, maxSize, or ttl is required");if(!this.ttlAutopurge&&!this.#c&&!this.#p){let me="LRU_CACHE_UNBOUNDED";tW(me)&&(qz.add(me),Lz("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.","UnboundedCacheWarning",me,t))}}getRemainingTTL(e){return this.#n.has(e)?1/0:0}#O(){let e=new Ua(this.#c),r=new Ua(this.#c);this.#f=e,this.#b=r,this.#N=(a,o,s=Ma.now())=>{if(r[a]=o!==0?s:0,e[a]=o,o!==0&&this.ttlAutopurge){let c=setTimeout(()=>{this.#m(a)&&this.#k(this.#r[a],"expire")},o+1);c.unref&&c.unref()}},this.#P=a=>{r[a]=e[a]!==0?Ma.now():0},this.#$=(a,o)=>{if(e[o]){let s=e[o],c=r[o];if(!s||!c)return;a.ttl=s,a.start=c,a.now=n||i();let l=a.now-c;a.remainingTTL=s-l}};let n=0,i=()=>{let a=Ma.now();if(this.ttlResolution>0){n=a;let o=setTimeout(()=>n=0,this.ttlResolution);o.unref&&o.unref()}return a};this.getRemainingTTL=a=>{let o=this.#n.get(a);if(o===void 0)return 0;let s=e[o],c=r[o];if(!s||!c)return 1/0;let l=(n||i())-c;return s-l},this.#m=a=>{let o=r[a],s=e[a];return!!s&&!!o&&(n||i())-o>s}}#P=()=>{};#$=()=>{};#N=()=>{};#m=()=>!1;#q(){let e=new Ua(this.#c);this.#v=0,this.#x=e,this.#E=r=>{this.#v-=e[r],e[r]=0},this.#A=(r,n,i,a)=>{if(this.#t(n))return 0;if(!zn(i))if(a){if(typeof a!="function")throw new TypeError("sizeCalculation must be a function");if(i=a(n,r),!zn(i))throw new TypeError("sizeCalculation return invalid (expect positive integer)")}else throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");return i},this.#R=(r,n,i)=>{if(e[r]=n,this.#p){let a=this.#p-e[r];for(;this.#v>a;)this.#j(!0)}this.#v+=e[r],i&&(i.entrySize=n,i.totalCalculatedSize=this.#v)}}#E=e=>{};#R=(e,r,n)=>{};#A=(e,r,n,i)=>{if(n||i)throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");return 0};*#w({allowStale:e=this.allowStale}={}){if(this.#i)for(let r=this.#a;!(!this.#M(r)||((e||!this.#m(r))&&(yield r),r===this.#s));)r=this.#d[r]}*#S({allowStale:e=this.allowStale}={}){if(this.#i)for(let r=this.#s;!(!this.#M(r)||((e||!this.#m(r))&&(yield r),r===this.#a));)r=this.#l[r]}#M(e){return e!==void 0&&this.#n.get(this.#r[e])===e}*entries(){for(let e of this.#w())this.#e[e]!==void 0&&this.#r[e]!==void 0&&!this.#t(this.#e[e])&&(yield[this.#r[e],this.#e[e]])}*rentries(){for(let e of this.#S())this.#e[e]!==void 0&&this.#r[e]!==void 0&&!this.#t(this.#e[e])&&(yield[this.#r[e],this.#e[e]])}*keys(){for(let e of this.#w()){let r=this.#r[e];r!==void 0&&!this.#t(this.#e[e])&&(yield r)}}*rkeys(){for(let e of this.#S()){let r=this.#r[e];r!==void 0&&!this.#t(this.#e[e])&&(yield r)}}*values(){for(let e of this.#w())this.#e[e]!==void 0&&!this.#t(this.#e[e])&&(yield this.#e[e])}*rvalues(){for(let e of this.#S())this.#e[e]!==void 0&&!this.#t(this.#e[e])&&(yield this.#e[e])}[Symbol.iterator](){return this.entries()}[Symbol.toStringTag]="LRUCache";find(e,r={}){for(let n of this.#w()){let i=this.#e[n],a=this.#t(i)?i.__staleWhileFetching:i;if(a!==void 0&&e(a,this.#r[n],this))return this.get(this.#r[n],r)}}forEach(e,r=this){for(let n of this.#w()){let i=this.#e[n],a=this.#t(i)?i.__staleWhileFetching:i;a!==void 0&&e.call(r,a,this.#r[n],this)}}rforEach(e,r=this){for(let n of this.#S()){let i=this.#e[n],a=this.#t(i)?i.__staleWhileFetching:i;a!==void 0&&e.call(r,a,this.#r[n],this)}}purgeStale(){let e=!1;for(let r of this.#S({allowStale:!0}))this.#m(r)&&(this.#k(this.#r[r],"expire"),e=!0);return e}info(e){let r=this.#n.get(e);if(r===void 0)return;let n=this.#e[r],i=this.#t(n)?n.__staleWhileFetching:n;if(i===void 0)return;let a={value:i};if(this.#f&&this.#b){let o=this.#f[r],s=this.#b[r];if(o&&s){let c=o-(Ma.now()-s);a.ttl=c,a.start=Date.now()}}return this.#x&&(a.size=this.#x[r]),a}dump(){let e=[];for(let r of this.#w({allowStale:!0})){let n=this.#r[r],i=this.#e[r],a=this.#t(i)?i.__staleWhileFetching:i;if(a===void 0||n===void 0)continue;let o={value:a};if(this.#f&&this.#b){o.ttl=this.#f[r];let s=Ma.now()-this.#b[r];o.start=Math.floor(Date.now()-s)}this.#x&&(o.size=this.#x[r]),e.unshift([n,o])}return e}load(e){this.clear();for(let[r,n]of e){if(n.start){let i=Date.now()-n.start;n.start=Ma.now()-i}this.set(r,n.value,n)}}set(e,r,n={}){if(r===void 0)return this.delete(e),this;let{ttl:i=this.ttl,start:a,noDisposeOnSet:o=this.noDisposeOnSet,sizeCalculation:s=this.sizeCalculation,status:c}=n,{noUpdateTTL:l=this.noUpdateTTL}=n,u=this.#A(e,r,n.size||0,s);if(this.maxEntrySize&&u>this.maxEntrySize)return c&&(c.set="miss",c.maxEntrySizeExceeded=!0),this.#k(e,"set"),this;let p=this.#i===0?void 0:this.#n.get(e);if(p===void 0)p=this.#i===0?this.#a:this.#y.length!==0?this.#y.pop():this.#i===this.#c?this.#j(!1):this.#i,this.#r[p]=e,this.#e[p]=r,this.#n.set(e,p),this.#l[this.#a]=p,this.#d[p]=this.#a,this.#a=p,this.#i++,this.#R(p,u,c),c&&(c.set="add"),l=!1;else{this.#T(p);let d=this.#e[p];if(r!==d){if(this.#I&&this.#t(d)){d.__abortController.abort(new Error("replaced"));let{__staleWhileFetching:f}=d;f!==void 0&&!o&&(this.#_&&this.#h?.(f,e,"set"),this.#u&&this.#o?.push([f,e,"set"]))}else o||(this.#_&&this.#h?.(d,e,"set"),this.#u&&this.#o?.push([d,e,"set"]));if(this.#E(p),this.#R(p,u,c),this.#e[p]=r,c){c.set="replace";let f=d&&this.#t(d)?d.__staleWhileFetching:d;f!==void 0&&(c.oldValue=f)}}else c&&(c.set="update")}if(i!==0&&!this.#f&&this.#O(),this.#f&&(l||this.#N(p,i,a),c&&this.#$(c,p)),!o&&this.#u&&this.#o){let d=this.#o,f;for(;f=d?.shift();)this.#g?.(...f)}return this}pop(){try{for(;this.#i;){let e=this.#e[this.#s];if(this.#j(!0),this.#t(e)){if(e.__staleWhileFetching)return e.__staleWhileFetching}else if(e!==void 0)return e}}finally{if(this.#u&&this.#o){let e=this.#o,r;for(;r=e?.shift();)this.#g?.(...r)}}}#j(e){let r=this.#s,n=this.#r[r],i=this.#e[r];return this.#I&&this.#t(i)?i.__abortController.abort(new Error("evicted")):(this.#_||this.#u)&&(this.#_&&this.#h?.(i,n,"evict"),this.#u&&this.#o?.push([i,n,"evict"])),this.#E(r),e&&(this.#r[r]=void 0,this.#e[r]=void 0,this.#y.push(r)),this.#i===1?(this.#s=this.#a=0,this.#y.length=0):this.#s=this.#l[r],this.#n.delete(n),this.#i--,r}has(e,r={}){let{updateAgeOnHas:n=this.updateAgeOnHas,status:i}=r,a=this.#n.get(e);if(a!==void 0){let o=this.#e[a];if(this.#t(o)&&o.__staleWhileFetching===void 0)return!1;if(this.#m(a))i&&(i.has="stale",this.#$(i,a));else return n&&this.#P(a),i&&(i.has="hit",this.#$(i,a)),!0}else i&&(i.has="miss");return!1}peek(e,r={}){let{allowStale:n=this.allowStale}=r,i=this.#n.get(e);if(i===void 0||!n&&this.#m(i))return;let a=this.#e[i];return this.#t(a)?a.__staleWhileFetching:a}#D(e,r,n,i){let a=r===void 0?void 0:this.#e[r];if(this.#t(a))return a;let o=new vd,{signal:s}=n;s?.addEventListener("abort",()=>o.abort(s.reason),{signal:o.signal});let c={signal:o.signal,options:n,context:i},l=(h,g=!1)=>{let{aborted:b}=o.signal,S=n.ignoreFetchAbort&&h!==void 0;if(n.status&&(b&&!g?(n.status.fetchAborted=!0,n.status.fetchError=o.signal.reason,S&&(n.status.fetchAbortIgnored=!0)):n.status.fetchResolved=!0),b&&!S&&!g)return p(o.signal.reason);let _=f;return this.#e[r]===f&&(h===void 0?_.__staleWhileFetching?this.#e[r]=_.__staleWhileFetching:this.#k(e,"fetch"):(n.status&&(n.status.fetchUpdated=!0),this.set(e,h,c.options))),h},u=h=>(n.status&&(n.status.fetchRejected=!0,n.status.fetchError=h),p(h)),p=h=>{let{aborted:g}=o.signal,b=g&&n.allowStaleOnFetchAbort,S=b||n.allowStaleOnFetchRejection,_=S||n.noDeleteOnFetchRejection,k=f;if(this.#e[r]===f&&(!_||k.__staleWhileFetching===void 0?this.#k(e,"fetch"):b||(this.#e[r]=k.__staleWhileFetching)),S)return n.status&&k.__staleWhileFetching!==void 0&&(n.status.returnedStale=!0),k.__staleWhileFetching;if(k.__returned===k)throw h},d=(h,g)=>{let b=this.#C?.(e,a,c);b&&b instanceof Promise&&b.then(S=>h(S===void 0?void 0:S),g),o.signal.addEventListener("abort",()=>{(!n.ignoreFetchAbort||n.allowStaleOnFetchAbort)&&(h(void 0),n.allowStaleOnFetchAbort&&(h=S=>l(S,!0)))})};n.status&&(n.status.fetchDispatched=!0);let f=new Promise(d).then(l,u),m=Object.assign(f,{__abortController:o,__staleWhileFetching:a,__returned:void 0});return r===void 0?(this.set(e,m,{...c.options,status:void 0}),r=this.#n.get(e)):this.#e[r]=m,m}#t(e){if(!this.#I)return!1;let r=e;return!!r&&r instanceof Promise&&r.hasOwnProperty("__staleWhileFetching")&&r.__abortController instanceof vd}async fetch(e,r={}){let{allowStale:n=this.allowStale,updateAgeOnGet:i=this.updateAgeOnGet,noDeleteOnStaleGet:a=this.noDeleteOnStaleGet,ttl:o=this.ttl,noDisposeOnSet:s=this.noDisposeOnSet,size:c=0,sizeCalculation:l=this.sizeCalculation,noUpdateTTL:u=this.noUpdateTTL,noDeleteOnFetchRejection:p=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection:d=this.allowStaleOnFetchRejection,ignoreFetchAbort:f=this.ignoreFetchAbort,allowStaleOnFetchAbort:m=this.allowStaleOnFetchAbort,context:h,forceRefresh:g=!1,status:b,signal:S}=r;if(!this.#I)return b&&(b.fetch="get"),this.get(e,{allowStale:n,updateAgeOnGet:i,noDeleteOnStaleGet:a,status:b});let _={allowStale:n,updateAgeOnGet:i,noDeleteOnStaleGet:a,ttl:o,noDisposeOnSet:s,size:c,sizeCalculation:l,noUpdateTTL:u,noDeleteOnFetchRejection:p,allowStaleOnFetchRejection:d,allowStaleOnFetchAbort:m,ignoreFetchAbort:f,status:b,signal:S},k=this.#n.get(e);if(k===void 0){b&&(b.fetch="miss");let $=this.#D(e,k,_,h);return $.__returned=$}else{let $=this.#e[k];if(this.#t($)){let He=n&&$.__staleWhileFetching!==void 0;return b&&(b.fetch="inflight",He&&(b.returnedStale=!0)),He?$.__staleWhileFetching:$.__returned=$}let N=this.#m(k);if(!g&&!N)return b&&(b.fetch="hit"),this.#T(k),i&&this.#P(k),b&&this.#$(b,k),$;let Z=this.#D(e,k,_,h),Je=Z.__staleWhileFetching!==void 0&&n;return b&&(b.fetch=N?"stale":"refresh",Je&&N&&(b.returnedStale=!0)),Je?Z.__staleWhileFetching:Z.__returned=Z}}async forceFetch(e,r={}){let n=await this.fetch(e,r);if(n===void 0)throw new Error("fetch() returned undefined");return n}memo(e,r={}){let n=this.#z;if(!n)throw new Error("no memoMethod provided to constructor");let{context:i,forceRefresh:a,...o}=r,s=this.get(e,o);if(!a&&s!==void 0)return s;let c=n(e,s,{options:o,context:i});return this.set(e,c,o),c}get(e,r={}){let{allowStale:n=this.allowStale,updateAgeOnGet:i=this.updateAgeOnGet,noDeleteOnStaleGet:a=this.noDeleteOnStaleGet,status:o}=r,s=this.#n.get(e);if(s!==void 0){let c=this.#e[s],l=this.#t(c);return o&&this.#$(o,s),this.#m(s)?(o&&(o.get="stale"),l?(o&&n&&c.__staleWhileFetching!==void 0&&(o.returnedStale=!0),n?c.__staleWhileFetching:void 0):(a||this.#k(e,"expire"),o&&n&&(o.returnedStale=!0),n?c:void 0)):(o&&(o.get="hit"),l?c.__staleWhileFetching:(this.#T(s),i&&this.#P(s),c))}else o&&(o.get="miss")}#U(e,r){this.#d[r]=e,this.#l[e]=r}#T(e){e!==this.#a&&(e===this.#s?this.#s=this.#l[e]:this.#U(this.#d[e],this.#l[e]),this.#U(this.#a,e),this.#a=e)}delete(e){return this.#k(e,"delete")}#k(e,r){let n=!1;if(this.#i!==0){let i=this.#n.get(e);if(i!==void 0)if(n=!0,this.#i===1)this.#F(r);else{this.#E(i);let a=this.#e[i];if(this.#t(a)?a.__abortController.abort(new Error("deleted")):(this.#_||this.#u)&&(this.#_&&this.#h?.(a,e,r),this.#u&&this.#o?.push([a,e,r])),this.#n.delete(e),this.#r[i]=void 0,this.#e[i]=void 0,i===this.#a)this.#a=this.#d[i];else if(i===this.#s)this.#s=this.#l[i];else{let o=this.#d[i];this.#l[o]=this.#l[i];let s=this.#l[i];this.#d[s]=this.#d[i]}this.#i--,this.#y.push(i)}}if(this.#u&&this.#o?.length){let i=this.#o,a;for(;a=i?.shift();)this.#g?.(...a)}return n}clear(){return this.#F("delete")}#F(e){for(let r of this.#S({allowStale:!0})){let n=this.#e[r];if(this.#t(n))n.__abortController.abort(new Error("deleted"));else{let i=this.#r[r];this.#_&&this.#h?.(n,i,e),this.#u&&this.#o?.push([n,i,e])}}if(this.#n.clear(),this.#e.fill(void 0),this.#r.fill(void 0),this.#f&&this.#b&&(this.#f.fill(0),this.#b.fill(0)),this.#x&&this.#x.fill(0),this.#s=0,this.#a=0,this.#y.length=0,this.#v=0,this.#i=0,this.#u&&this.#o){let r=this.#o,n;for(;n=r?.shift();)this.#g?.(...n)}}};import Ce from"path";import Hz from"os";import{promises as Rt}from"fs";var rW=["CoreGui","CorePackages","RobloxScript","RobloxScriptSecurity"],nW=["Workspace","Lighting","ReplicatedStorage","ServerStorage","ServerScriptService","StarterGui","StarterPlayer","StarterPack","ReplicatedFirst","SoundService","TextChatService"];function Bz(t){let e=t.replace(/[^a-zA-Z0-9-]/g,"_");return e=e.replace(/_+/g,"_"),e=e.replace(/^_|_$/g,""),e=e.slice(0,40),e=e.replace(/_$/g,""),e}function iW(){try{let t=process.cwd();return t==="/"||t==="\\"||/^[A-Z]:\\?$/i.test(t)?Hz.homedir():t}catch{return Hz.homedir()}}function aW(t){let e=Ce.join(t,"roblox-project-sync");return{syncRoot:e,explorerRoot:Ce.join(e,"explorer"),excludePatterns:["*.Terrain","*.Camera"],excludeClasses:["Terrain","Camera"],propertyMode:"standard",maxDepth:20,maxInstances:25e3,directorySizeWarning:500*1024*1024,directorySizeLimit:1024*1024*1024,reverseSyncMode:"manual"}}var xd=class{config;placeRootCache=new Map;async backupAndDeletePlaceDir(e,r){let n=this.config.syncRoot,i=new Date().toISOString().replace(/[:.]/g,"-"),a=Ce.join(n,"_deleted-place-backups",`place_${e}`),o=Ce.join(n,r),s=`${i}_${r}`,c=Ce.join(a,s);await Rt.mkdir(a,{recursive:!0}),await Rt.cp(o,c,{recursive:!0,force:!0}),await Rt.rm(o,{recursive:!0,force:!0}),v.info("Backed up and deleted duplicate place directory",{placeId:e,from:r,backupTo:Ce.relative(n,c)})}constructor(e){this.config=aW(e??iW())}getConfig(){return{...this.config}}getSyncRoot(){return this.config.syncRoot}getPlaceRoot(e){let r=this.placeRootCache.get(e);return r?Ce.join(this.config.syncRoot,r):Ce.join(this.config.syncRoot,`place_${e}`)}async resolvePlaceRoot(e,r){let n=this.config.syncRoot,i=`place_${e}`,a=r?Bz(r):"",o=a?`${i}_${a}`:i;await Rt.mkdir(n,{recursive:!0});let s=new RegExp(`^place_${e}(?:_.*)?$`),c=async()=>(await Rt.readdir(n,{withFileTypes:!0})).filter(m=>m.isDirectory()&&s.test(m.name)).map(m=>m.name).sort(),l=await c(),u=a?o:this.placeRootCache.get(e)&&s.test(this.placeRootCache.get(e))?this.placeRootCache.get(e):l[0]??o;if(l.length>0&&!l.includes(u)){let f=l[0],m=Ce.join(n,f),h=Ce.join(n,u);try{await Rt.rename(m,h),v.info("Migrated place directory",{from:f,to:u})}catch(g){v.warn("Failed to migrate place directory, using existing",{from:f,to:u,error:g instanceof Error?g.message:String(g)}),u=f}}let p=Ce.join(n,u);await Rt.mkdir(p,{recursive:!0}),l=await c();let d=l.filter(f=>f!==u);for(let f of d)try{await this.backupAndDeletePlaceDir(e,f)}catch(m){v.warn("Failed to backup/delete duplicate place directory",{placeId:e,duplicate:f,error:m instanceof Error?m.message:String(m)})}return this.placeRootCache.set(e,u),p}async promotePlaceRoot(e,r,n){let i=this.config.syncRoot,a=n?Bz(n):"",o=a?`place_${r}_${a}`:`place_${r}`,s=null;try{let p=await Rt.readdir(i,{withFileTypes:!0}),d=new RegExp(`^place_${e}(?:_.*)?$`);for(let f of p)if(f.isDirectory()&&d.test(f.name)){s=f.name;break}}catch{}if(!s)return v.info("No existing directory for place promotion, creating new",{oldId:e,newId:r}),this.resolvePlaceRoot(r,n);let c=Ce.join(i,s),l=Ce.join(i,o);try{await Rt.rename(c,l),v.info("Place directory promoted",{from:s,to:o})}catch(p){return v.warn("Failed to rename place directory during promotion, creating new",{from:s,to:o,error:p instanceof Error?p.message:String(p)}),this.placeRootCache.delete(e),this.resolvePlaceRoot(r,n)}this.placeRootCache.delete(e),this.placeRootCache.set(r,o);let u=Ce.join(l,".sync-meta.json");try{let p=await Rt.readFile(u,"utf-8"),d=JSON.parse(p);d.placeId=r,n&&(d.placeName=n),await Rt.writeFile(u,JSON.stringify(d,null,2)+`
|
|
106
|
-
`,"utf-8"),v.info("Updated .sync-meta.json with new placeId",{newId:r})}catch{}return l}getExplorerRoot(e){return e!==void 0?
|
|
107
|
-
`,"utf-8"),v.info("Saved sync metadata to .sync-meta.json")}catch(n){throw v.error("Failed to save .sync-meta.json",n),n}}};import j from"path";import{createHash as uW}from"crypto";import{promises as La}from"fs";var bd={Script:".server.luau",LocalScript:".client.luau",ModuleScript:".module.luau"},_d=2,Fa=[".props.json",".server.luau",".client.luau",".module.luau",".value.json"];function Gb(t){return`${t}.props.json`}function _c(t,e){return`${t}${bd[e]}`}function Kb(t){return`${t}.value.json`}function Rn(t,e){let r=t.replace(/~/g,"~~");return e===void 0||e<1?r:`${r}~${e}`}function vi(t){let e=t.match(/(~+)(\d+)$/);if(!e)return{name:t.replace(/~~/g,"~"),siblingIndex:void 0};let r=e[1],n=parseInt(e[2],10);if(r.length%2===1){let i=t.slice(0,t.length-e[0].length),a=r.slice(0,-1);return{name:(i+a).replace(/~~/g,"~"),siblingIndex:n}}return{name:t.replace(/~~/g,"~"),siblingIndex:void 0}}var qa=new Set(["Script","LocalScript","ModuleScript"]),oW=new Set(["StringValue","IntValue","BoolValue","NumberValue","ObjectValue","Color3Value","Vector3Value","CFrameValue","BrickColorValue","RayValue"]),sW=new Set(["Folder","Model","Configuration","Camera","WorldModel"]),Xb=new Set(["Workspace","Lighting","ReplicatedFirst","ReplicatedStorage","ServerScriptService","ServerStorage","StarterGui","StarterPack","StarterPlayer","SoundService","Teams","Chat","TextChatService","LocalizationService","TestService"]);function Vz(t){return qa.has(t)?"script":oW.has(t)?"value":sW.has(t)?"container":Xb.has(t)?"service":"data"}var yi={scripts:"forward",values:"forward",containers:"forward",data:"forward",services:"forward"};function Wz(t){switch(t){case"scriptSourceChanged":return"scripts";case"propertyChanged":return"data";case"instanceAdded":case"instanceRemoved":case"instanceRenamed":case"instanceMoved":return"containers";default:return"data"}}function Jz(t){return t.endsWith(".server.luau")||t.endsWith(".client.luau")||t.endsWith(".module.luau")?"scripts":t.endsWith(".value.json")?"values":t.endsWith(".props.json")?"data":"containers"}var cW=/[.\[\]"']/;function Gz(t){return t.length===0||cW.test(t)}function Kz(t){let e=t.replace(/\\/g,"\\\\");return e.includes('"')?e.includes("'")?`"${e.replace(/"/g,'\\"')}"`:`'${e}'`:`"${e}"`}function lW(t){let e="";for(let r=0;r<t.length;r++){let n=t[r];if(n==="\\"&&r+1<t.length){e+=t[r+1]??"",r++;continue}e+=n}return e}function tn(t){let e=[],r=0,n=t.length;for(;r<n;){let i=t[r];if(!i)break;if(i==="."){r++;continue}if(i==="["){for(r++;r<n&&/\s/.test(t[r]??"");)r++;let s=t[r];if(s==='"'||s==="'"){r++;let u="";for(;r<n;){let p=t[r];if(!p)break;if(p==="\\"&&r+1<n){u+=`${p}${t[r+1]??""}`,r+=2;continue}if(p===s){r++;break}u+=p,r++}for(;r<n&&/\s/.test(t[r]??"");)r++;t[r]==="]"&&r++,e.push(lW(u));continue}let c="";for(;r<n&&t[r]!=="]";)c+=t[r]??"",r++;t[r]==="]"&&r++;let l=c.trim();l.length>0&&e.push(l);continue}let a=r;for(;r<n;){let s=t[r];if(s==="."||s==="[")break;r++}let o=t.slice(a,r).trim();o.length>0&&e.push(o)}return e}function bt(t){let e=tn(t);return e[0]==="game"?e.slice(1):e}function ut(t){if(t.length===0)return"";let e="";for(let r=0;r<t.length;r++){let n=t[r]??"";if(r===0){e=Gz(n)?`[${Kz(n)}]`:n;continue}Gz(n)?e+=`[${Kz(n)}]`:e+=`.${n}`}return e}function jt(t){let e=tn(t);return e[e.length-1]??""}function _t(t){let e=tn(t);return e.length<=1?"":ut(e.slice(0,-1))}function wc(t,e){let r=tn(t);return r.length===0?e:(r[r.length-1]=e,ut(r))}var pW=/[*:"<>|?\\/[\]]/g;function dW(t,e){let r=j.resolve(t),n=j.resolve(e),i=j.relative(r,n);return i===""||!i.startsWith("..")&&!j.isAbsolute(i)}var jn=class{explorerRoot;syncRoot;studioHashes=new Map;fileHashes=new Map;nameCounters=new Map;nameMapping=new Map;reverseNameMapping=new Map;pendingRetroactiveRenames=new Map;instanceDirMap=new Map;constructor(e,r){this.syncRoot=j.resolve(e),this.explorerRoot=j.resolve(r)}resolveFilePath(e){return this.resolveChildrenDir(e)}resolveChildrenDir(e){let r=bt(e).map(i=>this.sanitizeName(i)),n=j.resolve(this.explorerRoot,...r);return this.validatePathSecurity(n),n}resolvePropsPath(e){let r=bt(e).map(o=>this.sanitizeName(o));if(r.length===0)throw new Error("Cannot resolve props path for empty instance path");let n=this.getOriginalNameForSegments(e,r),i=j.resolve(this.explorerRoot,...r),a=j.join(i,Gb(n));return this.validatePathSecurity(a),a}resolveParentDir(e){let r=bt(e).map(a=>this.sanitizeName(a));if(r.length<=1)return this.explorerRoot;let n=r.slice(0,-1),i=j.resolve(this.explorerRoot,...n);return this.validatePathSecurity(i),i}resolveScriptPath(e,r,n){let i=bt(e).map(s=>this.sanitizeName(s)),a=this.getOriginalNameForSegments(e,i),o=j.resolve(this.explorerRoot,...i);return j.join(o,_c(a,r))}resolveValuePath(e){let r=bt(e).map(o=>this.sanitizeName(o));if(r.length===0)throw new Error("Cannot resolve value path for empty instance path");let n=this.getOriginalNameForSegments(e,r),i=j.resolve(this.explorerRoot,...r),a=j.join(i,Kb(n));return this.validatePathSecurity(a),a}sanitizeName(e){if(e===".."||e===".")return"_";let r=e.replace(pW,"_").trim();return r=r.replace(/\.\./g,"_"),r.length===0?"_unnamed":r}resolveNameCollision(e,r){let n=this.nameCounters.get(e);n||(n=new Map,this.nameCounters.set(e,n));let i=n.get(r);if(i===void 0)return n.set(r,1),Rn(r);if(i===1){n.set(r,2);let o=`${e}\0${r}`,s=Rn(r),c=Rn(r,1);return this.pendingRetroactiveRenames.set(o,{from:s,to:c}),Rn(r,2)}let a=i+1;return n.set(r,a),Rn(r,a)}getOriginalNameForDir(e,r){let n=`${e}/${r}`,i=this.reverseNameMapping.get(n);return i?jt(i.instancePath)||r:vi(r).name}getOriginalNameForSegments(e,r){if(r.length===0)return"_unnamed";let n=r[r.length-1];if(r.length<=1)return vi(n).name;let i=r.slice(0,-1),a=j.resolve(this.explorerRoot,...i);return this.getOriginalNameForDir(a,n)}resetNameCounters(){this.nameCounters.clear(),this.nameMapping.clear(),this.reverseNameMapping.clear(),this.pendingRetroactiveRenames.clear(),this.instanceDirMap.clear()}registerCollision(e,r,n){let i=jt(e)||"_unnamed",a=this.sanitizeName(i),o=this.resolveNameCollision(n,a),s=r??1,c=`${e}#${s}`;this.nameMapping.set(c,o);let l=j.join(n,o);this.instanceDirMap.set(c,l);let u=`${n}/${o}`;this.reverseNameMapping.set(u,{instancePath:e,siblingIndex:s});let p,d=`${n}\0${a}`,f=this.pendingRetroactiveRenames.get(d);if(f){this.pendingRetroactiveRenames.delete(d);let m=`${n}/${f.from}`,h=this.reverseNameMapping.get(m);if(h){let g=`${h.instancePath}#${h.siblingIndex}`;this.nameMapping.set(g,f.to),this.instanceDirMap.set(g,j.join(n,f.to)),this.reverseNameMapping.delete(m),this.reverseNameMapping.set(`${n}/${f.to}`,h),p={from:f.from,to:f.to,instancePath:h.instancePath}}}return p?{resolved:o,retroactiveRename:p}:{resolved:o}}planCollisionReindexAfterRemoval(e,r,n){let i=this.planCollisionReindexAfterBatchRemovals(e,[r??1],n),a=i.removed[0];return{baseName:i.baseName,removedSiblingIndex:a?.siblingIndex??r??1,removedResolved:a?.resolved,remainingCount:i.remainingCount,renames:i.renames}}planCollisionReindexAfterBatchRemovals(e,r,n){let i=[...new Set(r.map(p=>Math.max(1,p)))].sort((p,d)=>p-d),a=new Set(i),o=this.sanitizeName(jt(e)||"_unnamed"),s=i.map(p=>({siblingIndex:p,resolved:this.nameMapping.get(`${e}#${p}`)})),c=[];for(let[p,d]of this.reverseNameMapping)j.dirname(p)===n&&d.instancePath===e&&(a.has(d.siblingIndex)||c.push({instancePath:d.instancePath,siblingIndex:d.siblingIndex,resolved:j.basename(p)}));c.sort((p,d)=>p.siblingIndex-d.siblingIndex);let l=[],u=c.length;for(let p=0;p<c.length;p++){let d=c[p],f=u<=1?1:p+1,m=u<=1?Rn(o):Rn(o,f);(d.siblingIndex!==f||d.resolved!==m)&&l.push({instancePath:d.instancePath,oldSiblingIndex:d.siblingIndex,newSiblingIndex:f,from:d.resolved,to:m})}return{baseName:o,removed:s,remainingCount:u,renames:l}}applyCollisionReindexAfterRemoval(e,r,n){this.applyCollisionReindexAfterBatchRemovals(e,r,{baseName:n.baseName,removed:[{siblingIndex:n.removedSiblingIndex,resolved:n.removedResolved}],remainingCount:n.remainingCount,renames:n.renames})}applyCollisionReindexAfterBatchRemovals(e,r,n){for(let a of n.removed){let o=`${e}#${a.siblingIndex}`;this.nameMapping.delete(o),this.instanceDirMap.delete(o),a.resolved&&this.reverseNameMapping.delete(`${r}/${a.resolved}`)}let i=this.nameCounters.get(r);n.remainingCount<=0?i&&(i.delete(n.baseName),i.size===0&&this.nameCounters.delete(r)):i&&i.set(n.baseName,n.remainingCount),this.pendingRetroactiveRenames.delete(`${r}\0${n.baseName}`);for(let a of n.renames){let o=`${a.instancePath}#${a.oldSiblingIndex}`,s=`${a.instancePath}#${a.newSiblingIndex}`,c=j.join(r,a.to);o!==s&&(this.nameMapping.delete(o),this.instanceDirMap.delete(o)),this.nameMapping.set(s,a.to),this.instanceDirMap.set(s,c);let l=`${r}/${a.to}`,u=`${r}/${a.from}`;u!==l&&this.reverseNameMapping.delete(u),this.reverseNameMapping.set(l,{instancePath:a.instancePath,siblingIndex:a.newSiblingIndex})}}getResolvedName(e,r){return this.nameMapping.get(`${e}#${r}`)}getEffectiveDir(e,r){let n=r??1;return this.instanceDirMap.get(`${e}#${n}`)}resolveEffectiveParentDir(e,r){if(r&&r>=1){let n=_t(e);if(n){let i=this.instanceDirMap.get(`${n}#${r}`);if(i)return i}}return this.resolveParentDir(e)}getOriginalInstance(e,r){return this.reverseNameMapping.get(`${e}/${r}`)}resetNameMappings(){this.nameMapping.clear(),this.reverseNameMapping.clear()}mergeNameMappingsFrom(e){let r=e.explorerRoot,n=this.explorerRoot;for(let[i,a]of e.nameMapping)this.nameMapping.set(i,a);for(let[i,a]of e.reverseNameMapping)if(i.startsWith(r)){let o=i.slice(r.length),s=n+o;this.reverseNameMapping.set(s,a)}else this.reverseNameMapping.set(i,a);for(let[i,a]of e.instanceDirMap)if(a.startsWith(r)){let o=a.slice(r.length),s=n+o;this.instanceDirMap.set(i,s)}else this.instanceDirMap.set(i,a);for(let[i,a]of e.nameCounters){let o=i.startsWith(r)?n+i.slice(r.length):i,s=new Map;for(let[c,l]of a)s.set(c,l);this.nameCounters.set(o,s)}}getNameMappings(){return new Map(this.nameMapping)}getReverseNameMappings(){return new Map(this.reverseNameMapping)}renameReverseNameMappingsUnder(e,r){let n=e.endsWith(j.sep)?"":j.sep,i=e+n,a=r+n,o=[];for(let[s,c]of this.reverseNameMapping)(s.startsWith(i)||s===e)&&o.push([s,c]);for(let[s,c]of o){this.reverseNameMapping.delete(s);let l=s===e?r:a+s.slice(i.length);this.reverseNameMapping.set(l,c)}}renameInstanceDirMappingsUnder(e,r){let n=e.endsWith(j.sep)?"":j.sep,i=e+n,a=r+n,o=[];for(let[s,c]of this.instanceDirMap)if(c.startsWith(i)||c===e){let l=c===e?r:a+c.slice(i.length);o.push([s,l])}for(let[s,c]of o)this.instanceDirMap.set(s,c)}renameNameMappingKeys(e,r){let n=e+".",i=r+".",a=[];for(let[o,s]of this.nameMapping)if(o.startsWith(n)||o.startsWith(e+"#")){let c=o.startsWith(n)?i+o.slice(n.length):r+o.slice(e.length);a.push([o,c,s])}for(let[o,s,c]of a)this.nameMapping.delete(o),this.nameMapping.set(s,c)}validatePathSecurity(e){let r=j.resolve(e);if(!dW(this.explorerRoot,r))throw new Error(`Path traversal detected: resolved path "${r}" is outside explorerRoot "${this.explorerRoot}"`)}computeHash(e){return uW("md5").update(e,"utf-8").digest("hex")}hasChanged(e,r){let n=this.computeHash(r);return this.studioHashes.get(e)!==n}updateHash(e,r){this.studioHashes.set(e,this.computeHash(r))}updateFileHash(e,r){this.fileHashes.set(e,this.computeHash(r))}updateBothHashes(e,r){let n=this.computeHash(r);this.studioHashes.set(e,n),this.fileHashes.set(e,n)}updateHashByValue(e,r){this.studioHashes.set(e,r)}updateFileHashByValue(e,r){this.fileHashes.set(e,r)}removeHash(e){this.studioHashes.delete(e),this.fileHashes.delete(e)}removeHashesUnder(e){let r=e.endsWith(j.sep)?e:e+j.sep;for(let n of this.studioHashes.keys())(n.startsWith(r)||n===e)&&this.studioHashes.delete(n);for(let n of this.fileHashes.keys())(n.startsWith(r)||n===e)&&this.fileHashes.delete(n)}renameHashKey(e,r){let n=this.studioHashes.get(e),i=this.fileHashes.get(e);n!==void 0&&(this.studioHashes.delete(e),this.studioHashes.set(r,n)),i!==void 0&&(this.fileHashes.delete(e),this.fileHashes.set(r,i))}renameHashKeysUnder(e,r){let n=e.endsWith(j.sep)?"":j.sep,i=e+n,a=r+n,o=[];for(let[c,l]of this.studioHashes)c.startsWith(i)&&o.push([c,l]);for(let[c,l]of o)this.studioHashes.delete(c),this.studioHashes.set(a+c.slice(i.length),l);let s=[];for(let[c,l]of this.fileHashes)c.startsWith(i)&&s.push([c,l]);for(let[c,l]of s)this.fileHashes.delete(c),this.fileHashes.set(a+c.slice(i.length),l)}getHash(e){return this.studioHashes.get(e)}getFileHash(e){return this.fileHashes.get(e)}getAllHashes(){return new Map(this.studioHashes)}getAllFileHashes(){return new Map(this.fileHashes)}clearAllHashes(){this.studioHashes.clear(),this.fileHashes.clear()}hasEntry(e){return this.studioHashes.has(e)||this.fileHashes.has(e)}hasInstancePath(e){for(let r of this.studioHashes.keys())if(this.resolveInstancePathFromFsPath(r)===e)return!0;return!1}get hashCount(){return this.studioHashes.size}getFileStatus(e,r){let n=this.studioHashes.get(e),i=this.fileHashes.get(e);if(!n||!i)return"synced";if(r===void 0)return n===i?"synced":"studio-modified";let a=r!==i,o=n!==i;return!a&&!o?"synced":a&&!o?"file-modified":!a&&o?"studio-modified":"conflict"}async scanForFileModifications(){let e=[],r=[],n=[];for(let[i]of this.fileHashes){let a=j.relative(this.syncRoot,i);if(a.endsWith("_tree.json"))continue;let o=this.getFileTypeFromPath(i);if(o!=="script"&&o!=="props"&&o!=="value")continue;let s;try{let p=await La.readFile(i,"utf-8");s=this.computeHash(p)}catch(p){if(p.code==="ENOENT"){let d=this.resolveInstancePathFromFsPath(i);d&&n.push({fsPath:i,relPath:a,instancePath:d,fileType:o});continue}v.warn("Failed to read file for scanning",{path:i,error:p instanceof Error?p.message:String(p)});continue}let c=this.getFileStatus(i,s);if(c==="synced"||c==="studio-modified")continue;let l=this.resolveInstancePathFromFsPath(i);if(!l)continue;let u={fsPath:i,relPath:a,instancePath:l,fileType:o};c==="file-modified"?e.push(u):c==="conflict"&&r.push(u)}return{modified:e,conflicts:r,deleted:n}}resolveFile(e,r,n){if(r==="apply-studio"){let i=this.studioHashes.get(e);i&&this.fileHashes.set(e,i)}else r==="apply-file"&&n&&this.fileHashes.set(e,n)}async getModifiedFiles(){let e=[],r=new Set;for(let i of this.fileHashes.keys())r.add(j.resolve(i));for(let i of this.studioHashes.keys())r.add(j.resolve(i));for(let[i]of this.fileHashes){let a=j.resolve(i),o=j.relative(this.syncRoot,a);if(o.endsWith("_tree.json"))continue;let s=this.getFileTypeFromPath(a);if(s!=="script"&&s!=="props"&&s!=="value")continue;let c=this.resolveInstancePathFromFsPath(a);if(!c)continue;let l;try{let p=await La.readFile(a,"utf-8");l=this.computeHash(p)}catch(p){if(p.code==="ENOENT"){e.push({fsPath:a,relPath:o,instancePath:c,changeType:"deleted",fileType:s});continue}continue}let u=this.fileHashes.get(a);u&&l!==u&&e.push({fsPath:a,relPath:o,instancePath:c,changeType:"modified",fileType:s})}let n=await this.collectTrackedFiles(this.explorerRoot);for(let i of n){let a=j.resolve(i);if(r.has(a))continue;let o=j.relative(this.syncRoot,a),s=this.getFileTypeFromPath(a);if(s!=="script"&&s!=="props"&&s!=="value")continue;let c=this.resolveInstancePathFromFsPath(a);c&&e.push({fsPath:a,relPath:o,instancePath:c,changeType:"added",fileType:s})}return e}async collectTrackedFiles(e){let r=[],n;try{n=await La.readdir(e,{withFileTypes:!0})}catch(i){if(i.code==="ENOENT")return r;throw i}for(let i of n){let a=j.join(e,i.name);if(i.isDirectory()){let s=await this.collectTrackedFiles(a);r.push(...s);continue}if(!i.isFile())continue;let o=this.getFileTypeFromPath(a);(o==="script"||o==="props"||o==="value")&&r.push(a)}return r}getFileTypeFromPath(e){let r=j.relative(this.explorerRoot,e);if(r.startsWith("..")||j.isAbsolute(r))return"unknown";let n=j.basename(e);if(n==="_tree.json")return"tree";let i=j.dirname(e),a=j.dirname(i),o=j.basename(i);if(!o||i===e)return"unknown";let s=this.getOriginalNameForDir(a,o);return n===Gb(s)?"props":n===Kb(s)?"value":n===_c(s,"Script")||n===_c(s,"LocalScript")||n===_c(s,"ModuleScript")?"script":"unknown"}resolveInstancePathFromFsPath(e){if(j.basename(e)==="_tree.json")return null;let n=j.relative(this.explorerRoot,e);if(n.startsWith(".."))return null;let i=n.split(j.sep).filter(l=>l.length>0);if(i.length<2)return null;let a=this.getFileTypeFromPath(e);if(a!=="props"&&a!=="value"&&a!=="script")return null;let o=i.slice(0,-1),s=["game"],c=this.explorerRoot;for(let l of o){c=j.join(c,l);let u=j.dirname(c),p=this.getOriginalNameForDir(u,l);s.push(p)}return ut(s)}async loadFromDisk(){let e=j.join(this.syncRoot,".sync-index.json");try{let r=await La.readFile(e,"utf-8"),n=JSON.parse(r);if(n.version!==_d){v.warn("sync-index \uBC84\uC804 \uBD88\uC77C\uCE58, \uBB34\uC2DC\uD558\uACE0 \uC0C8\uB85C \uC0DD\uC131",{found:n.version,expected:_d});return}let i=0;for(let[a,o]of Object.entries(n.files)){let s=j.resolve(this.syncRoot,a);this.studioHashes.set(s,o.studioHash),this.fileHashes.set(s,o.fileHash),i++}if(n.nameMappings)for(let[a,o]of Object.entries(n.nameMappings))this.nameMapping.set(a,o);if(n.reverseNameMappings)for(let[a,o]of Object.entries(n.reverseNameMappings)){let s=a.startsWith("/")?a:j.resolve(this.explorerRoot,a);this.reverseNameMapping.set(s,o)}if(n.instanceDirMappings)for(let[a,o]of Object.entries(n.instanceDirMappings)){let s=j.resolve(this.explorerRoot,o);this.instanceDirMap.set(a,s)}this.rebuildNameCountersFromReverseMappings(),v.info("Loaded sync index from disk",{entries:i,nameMappings:this.nameMapping.size})}catch(r){if(r.code==="ENOENT"){v.info("No existing .sync-index.json found, starting fresh");return}v.warn("Failed to load .sync-index.json",{error:r instanceof Error?r.message:String(r)})}}rebuildNameCountersFromReverseMappings(){this.nameCounters.clear();for(let[e,r]of this.reverseNameMapping){let n=j.dirname(e),i=this.sanitizeName(jt(r.instancePath)||vi(j.basename(e)).name),a=this.nameCounters.get(n);a||(a=new Map,this.nameCounters.set(n,a));let o=a.get(i)??0;a.set(i,o+1)}}async saveToDisk(){let e=j.join(this.syncRoot,".sync-index.json"),r=this.toSyncIndexData();await La.mkdir(j.dirname(e),{recursive:!0});let n=JSON.stringify(r,null,2);await La.writeFile(e,n,"utf-8"),v.debug("Saved sync index to disk",{entries:this.studioHashes.size})}toSyncIndexData(){let e=new Date().toISOString(),r={},n=new Set([...this.studioHashes.keys(),...this.fileHashes.keys()]);for(let a of n){let o=j.relative(this.syncRoot,a),s=this.studioHashes.get(a)??"",c=this.fileHashes.get(a)??s,l="synced";s&&c&&s!==c&&(l="studio-modified"),r[o]={studioHash:s,fileHash:c,lastStudioSync:e,status:l}}let i={version:_d,files:r};if(this.nameMapping.size>0){let a={};for(let[o,s]of this.nameMapping)a[o]=s;i.nameMappings=a}if(this.reverseNameMapping.size>0){let a={};for(let[o,s]of this.reverseNameMapping){let c=j.relative(this.explorerRoot,o),l=c.startsWith("..")?o:c;a[l]=s}i.reverseNameMappings=a}if(this.instanceDirMap.size>0){let a={};for(let[o,s]of this.instanceDirMap){let c=j.relative(this.explorerRoot,s);c.startsWith("..")||(a[o]=c)}i.instanceDirMappings=a}return i}getInstancePath(e){let n=j.relative(this.explorerRoot,e).split(j.sep).filter(i=>i.length>0);return ut(["game",...n])}getExplorerRoot(){return this.explorerRoot}getSyncRoot(){return this.syncRoot}};import Xe from"path";import{promises as Le}from"fs";import{randomUUID as fW}from"crypto";var Xz=1e3,Yz=1e4,Qz=50,mW=1e3,Za=class{config;index;changeLogBuffer=[];historyBuffer=[];flushTimer=null;onWriteCallback;placeId;constructor(e,r,n){this.config=e,this.index=r,this.placeId=n}setOnWriteCallback(e){this.onWriteCallback=e}async writeProps(e,r){let n=this.index.resolvePropsPath(e),i=JSON.stringify(r,null,2);if(!this.index.hasChanged(n,i))return!1;try{return await this.ensureDir(Xe.dirname(n)),await this.atomicWrite(n,i),await this.updateSyncIndex(n,i),this.appendChangeLog(`WRITE ${this.relativePath(n)}`),this.appendHistory({timestamp:new Date().toISOString(),type:"write",direction:"forward",path:e,details:"props"}),!0}catch(a){this.handleDiskError(a,"writeProps",n)}}async writeScript(e,r,n,i){let a=this.index.resolveScriptPath(e,r,i),o=n;if(!this.index.hasChanged(a,o))return!1;try{return await this.ensureDir(Xe.dirname(a)),await this.atomicWrite(a,o),await this.updateSyncIndex(a,o),this.appendChangeLog(`WRITE ${this.relativePath(a)}`),this.appendHistory({timestamp:new Date().toISOString(),type:"write",direction:"forward",path:e,details:`script:${r}`}),!0}catch(s){this.handleDiskError(s,"writeScript",a)}}async writeValue(e,r){let n=this.index.resolveValuePath(e),i=JSON.stringify(r,null,2);if(!this.index.hasChanged(n,i))return!1;try{return await this.ensureDir(Xe.dirname(n)),await this.atomicWrite(n,i),await this.updateSyncIndex(n,i),this.appendChangeLog(`WRITE ${this.relativePath(n)}`),this.appendHistory({timestamp:new Date().toISOString(),type:"write",direction:"forward",path:e,details:`value:${r.className}`}),!0}catch(a){this.handleDiskError(a,"writeValue",n)}}async writeTree(e,r){let n=Xe.join(this.index.getExplorerRoot(),e),i=Xe.join(n,"_tree.json"),a=JSON.stringify(r,null,2);if(!this.index.hasChanged(i,a))return!1;try{return await this.ensureDir(n),await this.atomicWrite(i,a),await this.updateSyncIndex(i,a),this.appendChangeLog(`WRITE ${this.relativePath(i)}`),!0}catch(o){this.handleDiskError(o,"writeTree",i)}}async writeSyncMeta(e){await this.config.saveToMeta(e)}async writeInstance(e){let r=!1,n=!1,i=!1;switch(Vz(e.className)){case"script":{if(r=await this.writeProps(e.path,this.buildPropsData(e)),e.scriptSource!==void 0&&(n=await this.writeScript(e.path,e.className,e.scriptSource,e.hasChildren)),e.hasChildren||e.childCount>0){let o=this.index.resolveChildrenDir(e.path);await this.ensureDir(o)}break}case"value":{let o={className:e.className,value:e.properties.Value??null};i=await this.writeValue(e.path,o);let s={...e.properties};delete s.Value;let c=Object.keys(s).length>0,l=e.attributes&&Object.keys(e.attributes).length>0,u=e.tags&&e.tags.length>0;if(c||l||u){let p={name:e.name,className:e.className,properties:s};l&&(p.attributes=e.attributes),u&&(p.tags=e.tags),r=await this.writeProps(e.path,p)}if(e.hasChildren||e.childCount>0){let p=this.index.resolveChildrenDir(e.path);await this.ensureDir(p)}break}case"container":{let o=this.index.resolveChildrenDir(e.path);await this.ensureDir(o),e.className!=="Folder"&&(r=await this.writeProps(e.path,this.buildPropsData(e)));break}case"service":case"data":{if(r=await this.writeProps(e.path,this.buildPropsData(e)),e.hasChildren||e.childCount>0){let o=this.index.resolveChildrenDir(e.path);await this.ensureDir(o)}break}}return{propsWritten:r,scriptWritten:n,valueWritten:i}}buildPropsData(e){let r={name:e.name,className:e.className,properties:e.properties};return e.attributes&&Object.keys(e.attributes).length>0&&(r.attributes=e.attributes),e.tags&&e.tags.length>0&&(r.tags=e.tags),r}async removeInstance(e){try{let r=this.index.resolveChildrenDir(e);try{await Le.rm(r,{recursive:!0,force:!0})}catch{}this.index.removeHashesUnder(r),this.appendChangeLog(`DELETE ${e}`),this.appendHistory({timestamp:new Date().toISOString(),type:"delete",direction:"forward",path:e})}catch(r){this.handleDiskError(r,"removeInstance",e)}}async renameInstance(e,r,n){try{let i=this.index.resolveChildrenDir(e),a=this.index.resolveChildrenDir(r);await this.tryRename(i,a)&&(this.index.renameHashKeysUnder(i,a),this.index.renameReverseNameMappingsUnder(i,a),this.index.renameInstanceDirMappingsUnder(i,a));let o=bt(e).pop()||"";o!==n&&await this.renameInternalFiles(a,o,n),this.index.renameNameMappingKeys(e,r),this.appendChangeLog(`RENAME ${e} -> ${r}`),this.appendHistory({timestamp:new Date().toISOString(),type:"rename",direction:"forward",path:r,details:`from:${e}`})}catch(i){this.handleDiskError(i,"renameInstance",e)}}async renameInternalFiles(e,r,n){let i=[{old:`${r}.props.json`,new:`${n}.props.json`},{old:`${r}.server.luau`,new:`${n}.server.luau`},{old:`${r}.client.luau`,new:`${n}.client.luau`},{old:`${r}.module.luau`,new:`${n}.module.luau`},{old:`${r}.value.json`,new:`${n}.value.json`}];for(let o of i){let s=Xe.join(e,o.old),c=Xe.join(e,o.new);await this.tryRename(s,c)&&this.index.renameHashKey(s,c)}let a=Xe.join(e,`${n}.props.json`);try{let o=await Le.readFile(a,"utf-8"),s=JSON.parse(o);if(s.name!==n){s.name=n;let c=JSON.stringify(s,null,2);await this.atomicWrite(a,c),await this.updateSyncIndex(a,c)}}catch{}}async moveInstance(e,r){try{let n=this.index.resolveParentDir(r);await this.ensureDir(n);let i=this.index.resolveChildrenDir(e),a=this.index.resolveChildrenDir(r);try{(await Le.stat(i)).isDirectory()&&(await this.copyDirectory(i,a),await Le.rm(i,{recursive:!0,force:!0}),this.index.renameHashKeysUnder(i,a),this.index.renameReverseNameMappingsUnder(i,a),this.index.renameInstanceDirMappingsUnder(i,a))}catch{}this.index.renameNameMappingKeys(e,r),this.appendChangeLog(`MOVE ${e} -> ${r}`),this.appendHistory({timestamp:new Date().toISOString(),type:"move",direction:"forward",path:r,details:`from:${e}`})}catch(n){this.handleDiskError(n,"moveInstance",e)}}async updateProperties(e,r){let n=this.index.resolvePropsPath(e);try{let i=await Le.readFile(n,"utf-8"),a=JSON.parse(i);for(let[s,c]of Object.entries(r))a.properties[s]=c;let o=JSON.stringify(a,null,2);return this.index.hasChanged(n,o)?(await this.atomicWrite(n,o),await this.updateSyncIndex(n,o),this.appendChangeLog(`UPDATE ${this.relativePath(n)} (bulk properties)`),this.appendHistory({timestamp:new Date().toISOString(),type:"update",direction:"forward",path:e,details:"bulk properties"}),!0):!1}catch(i){if(i.code==="ENOENT")return v.warn(`updateProperties: .props.json not found for ${e}`),!1;this.handleDiskError(i,"updateProperties",n)}}async updateProperty(e,r,n){let i=this.index.resolvePropsPath(e);try{let a=await Le.readFile(i,"utf-8"),o=JSON.parse(a);o.properties[r]=n;let s=JSON.stringify(o,null,2);return this.index.hasChanged(i,s)?(await this.atomicWrite(i,s),await this.updateSyncIndex(i,s),this.appendChangeLog(`UPDATE ${this.relativePath(i)} (${r})`),this.appendHistory({timestamp:new Date().toISOString(),type:"update",direction:"forward",path:e,details:`property:${r}`}),!0):!1}catch(a){if(a.code==="ENOENT")return v.warn(`updateProperty: .props.json not found for ${e}`),!1;this.handleDiskError(a,"updateProperty",i)}}async addToTree(e,r){let n=this.extractServiceName(e),i=Xe.join(this.index.getExplorerRoot(),n,"_tree.json");try{let a=await Le.readFile(i,"utf-8"),o=JSON.parse(a),s=this.findTreeNode(o,e);if(s){s.children||(s.children=[]);let l=s.children.findIndex(u=>u.name===r.name);l>=0?s.children[l]=r:(s.children.push(r),s.childCount=s.children.length)}else{let l=o.children.findIndex(u=>u.name===r.name);l>=0?o.children[l]=r:(o.children.push(r),o.childCount=o.children.length)}o.syncedAt=new Date().toISOString();let c=JSON.stringify(o,null,2);await this.atomicWrite(i,c),await this.updateSyncIndex(i,c)}catch(a){if(a.code==="ENOENT"){v.warn(`addToTree: _tree.json not found for ${e}`);return}this.handleDiskError(a,"addToTree",i)}}async removeFromTree(e,r){let n=this.extractServiceName(e),i=Xe.join(this.index.getExplorerRoot(),n,"_tree.json");try{let a=await Le.readFile(i,"utf-8"),o=JSON.parse(a),s=this.findTreeNode(o,e);s&&s.children?(s.children=s.children.filter(l=>l.name!==r),s.childCount=s.children.length):(o.children=o.children.filter(l=>l.name!==r),o.childCount=o.children.length),o.syncedAt=new Date().toISOString();let c=JSON.stringify(o,null,2);await this.atomicWrite(i,c),await this.updateSyncIndex(i,c)}catch(a){if(a.code==="ENOENT"){v.warn(`removeFromTree: _tree.json not found for ${e}`);return}this.handleDiskError(a,"removeFromTree",i)}}async renameInTree(e,r,n){let i=this.extractServiceName(e),a=this.extractServiceName(r);if(!i||!a)return;if(i!==a){await this.moveInTree(e,r);return}let o=Xe.join(this.index.getExplorerRoot(),i,"_tree.json");try{let s=await Le.readFile(o,"utf-8"),c=JSON.parse(s),l=this.findTreeNode(c,e);if(!l){v.warn("renameInTree: node not found",{oldPath:e,newPath:r});return}l.name=n,c.syncedAt=new Date().toISOString();let u=JSON.stringify(c,null,2);await this.atomicWrite(o,u),await this.updateSyncIndex(o,u)}catch(s){if(s.code==="ENOENT"){v.warn(`renameInTree: _tree.json not found for ${i}`);return}this.handleDiskError(s,"renameInTree",o)}}async moveInTree(e,r){let n=this.extractServiceName(e),i=this.extractServiceName(r);if(!n||!i)return;let a=Xe.join(this.index.getExplorerRoot(),n,"_tree.json"),o=Xe.join(this.index.getExplorerRoot(),i,"_tree.json");try{let s=await Le.readFile(a,"utf-8"),c=JSON.parse(s),l=this.detachTreeNode(c,e);if(!l){v.warn("moveInTree: node not found",{oldPath:e,newPath:r});return}let u=this.getLeafName(r);if(u&&(l.name=u),n===i){let g=this.getParentPath(r);if(!g)return;this.insertTreeNode(c,g,l),c.syncedAt=new Date().toISOString();let b=JSON.stringify(c,null,2);await this.atomicWrite(a,b),await this.updateSyncIndex(a,b);return}let p=await Le.readFile(o,"utf-8"),d=JSON.parse(p),f=this.getParentPath(r);if(!f)return;this.insertTreeNode(d,f,l),c.syncedAt=new Date().toISOString(),d.syncedAt=new Date().toISOString();let m=JSON.stringify(c,null,2),h=JSON.stringify(d,null,2);await this.atomicWrite(a,m),await this.atomicWrite(o,h),await this.updateSyncIndex(a,m),await this.updateSyncIndex(o,h)}catch(s){if(s.code==="ENOENT"){v.warn("moveInTree: _tree.json not found",{oldService:n,newService:i});return}this.handleDiskError(s,"moveInTree",`${e} -> ${r}`)}}async atomicWrite(e,r){let n=".tmp."+fW().slice(0,8),i=e+n;try{await Le.writeFile(i,r,"utf-8"),await Le.rename(i,e),this.onWriteCallback?.(e)}catch(a){throw await Le.unlink(i).catch(()=>{}),a}}async ensureDir(e){await Le.mkdir(e,{recursive:!0})}handleDiskError(e,r,n){let i=e.code;if(i==="ENOSPC")throw new Error(`Disk full: cannot write sync file at ${n} (operation: ${r})`);if(i==="EPERM"||i==="EACCES")throw new Error(`Permission denied: cannot write to ${n} (operation: ${r})`);let a=e instanceof Error?e.message:String(e);throw new Error(`SyncWriter.${r} failed for ${n}: ${a}`)}appendHistory(e){this.historyBuffer.push(JSON.stringify(e)),this.historyBuffer.length>=Qz&&this.flushHistory()}async flushHistory(){if(this.historyBuffer.length===0)return;let e=this.historyBuffer.splice(0),r=this.config.getHistoryPath(this.placeId);try{await this.ensureDir(Xe.dirname(r));let n=[];try{n=(await Le.readFile(r,"utf-8")).split(`
|
|
105
|
+
[Circular or non-serializable object]`}return` ${String(e)}`}static log(e,r,n){if(!this.shouldLog(e))return;let i=this.getTimestamp(),a=gd[e],o=this.formatData(n),s=`${gd.gray}[${i}]${gd.reset} ${a}[${e.toUpperCase()}]${gd.reset} ${r}${o}`;console.error(s)}static debug(e,r){this.log("debug",e,r)}static info(e,r){this.log("info",e,r)}static warn(e,r){this.log("warn",e,r)}static error(e,r){this.log("error",e,r)}},v=Vb;import d_ from"path";import{randomUUID as pJ}from"crypto";import{promises as Ka}from"fs";var Ma=typeof performance=="object"&&performance&&typeof performance.now=="function"?performance:Date,qz=new Set,Wb=typeof process=="object"&&process?process:{},Lz=(t,e,r,n)=>{typeof Wb.emitWarning=="function"?Wb.emitWarning(t,e,r,n):console.error(`[${r}] ${e}: ${t}`)},vd=globalThis.AbortController,Fz=globalThis.AbortSignal;if(typeof vd>"u"){Fz=class{onabort;_onabort=[];reason;aborted=!1;addEventListener(n,i){this._onabort.push(i)}},vd=class{constructor(){e()}signal=new Fz;abort(n){if(!this.signal.aborted){this.signal.reason=n,this.signal.aborted=!0;for(let i of this.signal._onabort)i(n);this.signal.onabort?.(n)}}};let t=Wb.env?.LRU_CACHE_IGNORE_AC_WARNING!=="1",e=()=>{t&&(t=!1,Lz("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.","NO_ABORT_CONTROLLER","ENOTSUP",e))}}var tW=t=>!qz.has(t),Vle=Symbol("type"),zn=t=>t&&t===Math.floor(t)&&t>0&&isFinite(t),Zz=t=>zn(t)?t<=Math.pow(2,8)?Uint8Array:t<=Math.pow(2,16)?Uint16Array:t<=Math.pow(2,32)?Uint32Array:t<=Number.MAX_SAFE_INTEGER?Ua:null:null,Ua=class extends Array{constructor(e){super(e),this.fill(0)}},Jb=class t{heap;length;static#c=!1;static create(e){let r=Zz(e);if(!r)return[];t.#c=!0;let n=new t(e,r);return t.#c=!1,n}constructor(e,r){if(!t.#c)throw new TypeError("instantiate Stack using Stack.create(n)");this.heap=new r(e),this.length=0}push(e){this.heap[this.length++]=e}pop(){return this.heap[--this.length]}},yd=class t{#c;#p;#h;#g;#C;#z;ttl;ttlResolution;ttlAutopurge;updateAgeOnGet;updateAgeOnHas;allowStale;noDisposeOnSet;noUpdateTTL;maxEntrySize;sizeCalculation;noDeleteOnFetchRejection;noDeleteOnStaleGet;allowStaleOnFetchAbort;allowStaleOnFetchRejection;ignoreFetchAbort;#i;#v;#n;#r;#e;#l;#d;#s;#a;#y;#o;#x;#b;#f;#_;#I;#u;static unsafeExposeInternals(e){return{starts:e.#b,ttls:e.#f,sizes:e.#x,keyMap:e.#n,keyList:e.#r,valList:e.#e,next:e.#l,prev:e.#d,get head(){return e.#s},get tail(){return e.#a},free:e.#y,isBackgroundFetch:r=>e.#t(r),backgroundFetch:(r,n,i,a)=>e.#D(r,n,i,a),moveToTail:r=>e.#T(r),indexes:r=>e.#w(r),rindexes:r=>e.#S(r),isStale:r=>e.#m(r)}}get max(){return this.#c}get maxSize(){return this.#p}get calculatedSize(){return this.#v}get size(){return this.#i}get fetchMethod(){return this.#C}get memoMethod(){return this.#z}get dispose(){return this.#h}get disposeAfter(){return this.#g}constructor(e){let{max:r=0,ttl:n,ttlResolution:i=1,ttlAutopurge:a,updateAgeOnGet:o,updateAgeOnHas:s,allowStale:c,dispose:l,disposeAfter:u,noDisposeOnSet:p,noUpdateTTL:d,maxSize:f=0,maxEntrySize:m=0,sizeCalculation:h,fetchMethod:g,memoMethod:b,noDeleteOnFetchRejection:S,noDeleteOnStaleGet:_,allowStaleOnFetchRejection:k,allowStaleOnFetchAbort:$,ignoreFetchAbort:N}=e;if(r!==0&&!zn(r))throw new TypeError("max option must be a nonnegative integer");let Z=r?Zz(r):Array;if(!Z)throw new Error("invalid max value: "+r);if(this.#c=r,this.#p=f,this.maxEntrySize=m||this.#p,this.sizeCalculation=h,this.sizeCalculation){if(!this.#p&&!this.maxEntrySize)throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");if(typeof this.sizeCalculation!="function")throw new TypeError("sizeCalculation set to non-function")}if(b!==void 0&&typeof b!="function")throw new TypeError("memoMethod must be a function if defined");if(this.#z=b,g!==void 0&&typeof g!="function")throw new TypeError("fetchMethod must be a function if specified");if(this.#C=g,this.#I=!!g,this.#n=new Map,this.#r=new Array(r).fill(void 0),this.#e=new Array(r).fill(void 0),this.#l=new Z(r),this.#d=new Z(r),this.#s=0,this.#a=0,this.#y=Jb.create(r),this.#i=0,this.#v=0,typeof l=="function"&&(this.#h=l),typeof u=="function"?(this.#g=u,this.#o=[]):(this.#g=void 0,this.#o=void 0),this.#_=!!this.#h,this.#u=!!this.#g,this.noDisposeOnSet=!!p,this.noUpdateTTL=!!d,this.noDeleteOnFetchRejection=!!S,this.allowStaleOnFetchRejection=!!k,this.allowStaleOnFetchAbort=!!$,this.ignoreFetchAbort=!!N,this.maxEntrySize!==0){if(this.#p!==0&&!zn(this.#p))throw new TypeError("maxSize must be a positive integer if specified");if(!zn(this.maxEntrySize))throw new TypeError("maxEntrySize must be a positive integer if specified");this.#q()}if(this.allowStale=!!c,this.noDeleteOnStaleGet=!!_,this.updateAgeOnGet=!!o,this.updateAgeOnHas=!!s,this.ttlResolution=zn(i)||i===0?i:1,this.ttlAutopurge=!!a,this.ttl=n||0,this.ttl){if(!zn(this.ttl))throw new TypeError("ttl must be a positive integer if specified");this.#O()}if(this.#c===0&&this.ttl===0&&this.#p===0)throw new TypeError("At least one of max, maxSize, or ttl is required");if(!this.ttlAutopurge&&!this.#c&&!this.#p){let me="LRU_CACHE_UNBOUNDED";tW(me)&&(qz.add(me),Lz("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.","UnboundedCacheWarning",me,t))}}getRemainingTTL(e){return this.#n.has(e)?1/0:0}#O(){let e=new Ua(this.#c),r=new Ua(this.#c);this.#f=e,this.#b=r,this.#N=(a,o,s=Ma.now())=>{if(r[a]=o!==0?s:0,e[a]=o,o!==0&&this.ttlAutopurge){let c=setTimeout(()=>{this.#m(a)&&this.#k(this.#r[a],"expire")},o+1);c.unref&&c.unref()}},this.#P=a=>{r[a]=e[a]!==0?Ma.now():0},this.#$=(a,o)=>{if(e[o]){let s=e[o],c=r[o];if(!s||!c)return;a.ttl=s,a.start=c,a.now=n||i();let l=a.now-c;a.remainingTTL=s-l}};let n=0,i=()=>{let a=Ma.now();if(this.ttlResolution>0){n=a;let o=setTimeout(()=>n=0,this.ttlResolution);o.unref&&o.unref()}return a};this.getRemainingTTL=a=>{let o=this.#n.get(a);if(o===void 0)return 0;let s=e[o],c=r[o];if(!s||!c)return 1/0;let l=(n||i())-c;return s-l},this.#m=a=>{let o=r[a],s=e[a];return!!s&&!!o&&(n||i())-o>s}}#P=()=>{};#$=()=>{};#N=()=>{};#m=()=>!1;#q(){let e=new Ua(this.#c);this.#v=0,this.#x=e,this.#E=r=>{this.#v-=e[r],e[r]=0},this.#A=(r,n,i,a)=>{if(this.#t(n))return 0;if(!zn(i))if(a){if(typeof a!="function")throw new TypeError("sizeCalculation must be a function");if(i=a(n,r),!zn(i))throw new TypeError("sizeCalculation return invalid (expect positive integer)")}else throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");return i},this.#R=(r,n,i)=>{if(e[r]=n,this.#p){let a=this.#p-e[r];for(;this.#v>a;)this.#j(!0)}this.#v+=e[r],i&&(i.entrySize=n,i.totalCalculatedSize=this.#v)}}#E=e=>{};#R=(e,r,n)=>{};#A=(e,r,n,i)=>{if(n||i)throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");return 0};*#w({allowStale:e=this.allowStale}={}){if(this.#i)for(let r=this.#a;!(!this.#M(r)||((e||!this.#m(r))&&(yield r),r===this.#s));)r=this.#d[r]}*#S({allowStale:e=this.allowStale}={}){if(this.#i)for(let r=this.#s;!(!this.#M(r)||((e||!this.#m(r))&&(yield r),r===this.#a));)r=this.#l[r]}#M(e){return e!==void 0&&this.#n.get(this.#r[e])===e}*entries(){for(let e of this.#w())this.#e[e]!==void 0&&this.#r[e]!==void 0&&!this.#t(this.#e[e])&&(yield[this.#r[e],this.#e[e]])}*rentries(){for(let e of this.#S())this.#e[e]!==void 0&&this.#r[e]!==void 0&&!this.#t(this.#e[e])&&(yield[this.#r[e],this.#e[e]])}*keys(){for(let e of this.#w()){let r=this.#r[e];r!==void 0&&!this.#t(this.#e[e])&&(yield r)}}*rkeys(){for(let e of this.#S()){let r=this.#r[e];r!==void 0&&!this.#t(this.#e[e])&&(yield r)}}*values(){for(let e of this.#w())this.#e[e]!==void 0&&!this.#t(this.#e[e])&&(yield this.#e[e])}*rvalues(){for(let e of this.#S())this.#e[e]!==void 0&&!this.#t(this.#e[e])&&(yield this.#e[e])}[Symbol.iterator](){return this.entries()}[Symbol.toStringTag]="LRUCache";find(e,r={}){for(let n of this.#w()){let i=this.#e[n],a=this.#t(i)?i.__staleWhileFetching:i;if(a!==void 0&&e(a,this.#r[n],this))return this.get(this.#r[n],r)}}forEach(e,r=this){for(let n of this.#w()){let i=this.#e[n],a=this.#t(i)?i.__staleWhileFetching:i;a!==void 0&&e.call(r,a,this.#r[n],this)}}rforEach(e,r=this){for(let n of this.#S()){let i=this.#e[n],a=this.#t(i)?i.__staleWhileFetching:i;a!==void 0&&e.call(r,a,this.#r[n],this)}}purgeStale(){let e=!1;for(let r of this.#S({allowStale:!0}))this.#m(r)&&(this.#k(this.#r[r],"expire"),e=!0);return e}info(e){let r=this.#n.get(e);if(r===void 0)return;let n=this.#e[r],i=this.#t(n)?n.__staleWhileFetching:n;if(i===void 0)return;let a={value:i};if(this.#f&&this.#b){let o=this.#f[r],s=this.#b[r];if(o&&s){let c=o-(Ma.now()-s);a.ttl=c,a.start=Date.now()}}return this.#x&&(a.size=this.#x[r]),a}dump(){let e=[];for(let r of this.#w({allowStale:!0})){let n=this.#r[r],i=this.#e[r],a=this.#t(i)?i.__staleWhileFetching:i;if(a===void 0||n===void 0)continue;let o={value:a};if(this.#f&&this.#b){o.ttl=this.#f[r];let s=Ma.now()-this.#b[r];o.start=Math.floor(Date.now()-s)}this.#x&&(o.size=this.#x[r]),e.unshift([n,o])}return e}load(e){this.clear();for(let[r,n]of e){if(n.start){let i=Date.now()-n.start;n.start=Ma.now()-i}this.set(r,n.value,n)}}set(e,r,n={}){if(r===void 0)return this.delete(e),this;let{ttl:i=this.ttl,start:a,noDisposeOnSet:o=this.noDisposeOnSet,sizeCalculation:s=this.sizeCalculation,status:c}=n,{noUpdateTTL:l=this.noUpdateTTL}=n,u=this.#A(e,r,n.size||0,s);if(this.maxEntrySize&&u>this.maxEntrySize)return c&&(c.set="miss",c.maxEntrySizeExceeded=!0),this.#k(e,"set"),this;let p=this.#i===0?void 0:this.#n.get(e);if(p===void 0)p=this.#i===0?this.#a:this.#y.length!==0?this.#y.pop():this.#i===this.#c?this.#j(!1):this.#i,this.#r[p]=e,this.#e[p]=r,this.#n.set(e,p),this.#l[this.#a]=p,this.#d[p]=this.#a,this.#a=p,this.#i++,this.#R(p,u,c),c&&(c.set="add"),l=!1;else{this.#T(p);let d=this.#e[p];if(r!==d){if(this.#I&&this.#t(d)){d.__abortController.abort(new Error("replaced"));let{__staleWhileFetching:f}=d;f!==void 0&&!o&&(this.#_&&this.#h?.(f,e,"set"),this.#u&&this.#o?.push([f,e,"set"]))}else o||(this.#_&&this.#h?.(d,e,"set"),this.#u&&this.#o?.push([d,e,"set"]));if(this.#E(p),this.#R(p,u,c),this.#e[p]=r,c){c.set="replace";let f=d&&this.#t(d)?d.__staleWhileFetching:d;f!==void 0&&(c.oldValue=f)}}else c&&(c.set="update")}if(i!==0&&!this.#f&&this.#O(),this.#f&&(l||this.#N(p,i,a),c&&this.#$(c,p)),!o&&this.#u&&this.#o){let d=this.#o,f;for(;f=d?.shift();)this.#g?.(...f)}return this}pop(){try{for(;this.#i;){let e=this.#e[this.#s];if(this.#j(!0),this.#t(e)){if(e.__staleWhileFetching)return e.__staleWhileFetching}else if(e!==void 0)return e}}finally{if(this.#u&&this.#o){let e=this.#o,r;for(;r=e?.shift();)this.#g?.(...r)}}}#j(e){let r=this.#s,n=this.#r[r],i=this.#e[r];return this.#I&&this.#t(i)?i.__abortController.abort(new Error("evicted")):(this.#_||this.#u)&&(this.#_&&this.#h?.(i,n,"evict"),this.#u&&this.#o?.push([i,n,"evict"])),this.#E(r),e&&(this.#r[r]=void 0,this.#e[r]=void 0,this.#y.push(r)),this.#i===1?(this.#s=this.#a=0,this.#y.length=0):this.#s=this.#l[r],this.#n.delete(n),this.#i--,r}has(e,r={}){let{updateAgeOnHas:n=this.updateAgeOnHas,status:i}=r,a=this.#n.get(e);if(a!==void 0){let o=this.#e[a];if(this.#t(o)&&o.__staleWhileFetching===void 0)return!1;if(this.#m(a))i&&(i.has="stale",this.#$(i,a));else return n&&this.#P(a),i&&(i.has="hit",this.#$(i,a)),!0}else i&&(i.has="miss");return!1}peek(e,r={}){let{allowStale:n=this.allowStale}=r,i=this.#n.get(e);if(i===void 0||!n&&this.#m(i))return;let a=this.#e[i];return this.#t(a)?a.__staleWhileFetching:a}#D(e,r,n,i){let a=r===void 0?void 0:this.#e[r];if(this.#t(a))return a;let o=new vd,{signal:s}=n;s?.addEventListener("abort",()=>o.abort(s.reason),{signal:o.signal});let c={signal:o.signal,options:n,context:i},l=(h,g=!1)=>{let{aborted:b}=o.signal,S=n.ignoreFetchAbort&&h!==void 0;if(n.status&&(b&&!g?(n.status.fetchAborted=!0,n.status.fetchError=o.signal.reason,S&&(n.status.fetchAbortIgnored=!0)):n.status.fetchResolved=!0),b&&!S&&!g)return p(o.signal.reason);let _=f;return this.#e[r]===f&&(h===void 0?_.__staleWhileFetching?this.#e[r]=_.__staleWhileFetching:this.#k(e,"fetch"):(n.status&&(n.status.fetchUpdated=!0),this.set(e,h,c.options))),h},u=h=>(n.status&&(n.status.fetchRejected=!0,n.status.fetchError=h),p(h)),p=h=>{let{aborted:g}=o.signal,b=g&&n.allowStaleOnFetchAbort,S=b||n.allowStaleOnFetchRejection,_=S||n.noDeleteOnFetchRejection,k=f;if(this.#e[r]===f&&(!_||k.__staleWhileFetching===void 0?this.#k(e,"fetch"):b||(this.#e[r]=k.__staleWhileFetching)),S)return n.status&&k.__staleWhileFetching!==void 0&&(n.status.returnedStale=!0),k.__staleWhileFetching;if(k.__returned===k)throw h},d=(h,g)=>{let b=this.#C?.(e,a,c);b&&b instanceof Promise&&b.then(S=>h(S===void 0?void 0:S),g),o.signal.addEventListener("abort",()=>{(!n.ignoreFetchAbort||n.allowStaleOnFetchAbort)&&(h(void 0),n.allowStaleOnFetchAbort&&(h=S=>l(S,!0)))})};n.status&&(n.status.fetchDispatched=!0);let f=new Promise(d).then(l,u),m=Object.assign(f,{__abortController:o,__staleWhileFetching:a,__returned:void 0});return r===void 0?(this.set(e,m,{...c.options,status:void 0}),r=this.#n.get(e)):this.#e[r]=m,m}#t(e){if(!this.#I)return!1;let r=e;return!!r&&r instanceof Promise&&r.hasOwnProperty("__staleWhileFetching")&&r.__abortController instanceof vd}async fetch(e,r={}){let{allowStale:n=this.allowStale,updateAgeOnGet:i=this.updateAgeOnGet,noDeleteOnStaleGet:a=this.noDeleteOnStaleGet,ttl:o=this.ttl,noDisposeOnSet:s=this.noDisposeOnSet,size:c=0,sizeCalculation:l=this.sizeCalculation,noUpdateTTL:u=this.noUpdateTTL,noDeleteOnFetchRejection:p=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection:d=this.allowStaleOnFetchRejection,ignoreFetchAbort:f=this.ignoreFetchAbort,allowStaleOnFetchAbort:m=this.allowStaleOnFetchAbort,context:h,forceRefresh:g=!1,status:b,signal:S}=r;if(!this.#I)return b&&(b.fetch="get"),this.get(e,{allowStale:n,updateAgeOnGet:i,noDeleteOnStaleGet:a,status:b});let _={allowStale:n,updateAgeOnGet:i,noDeleteOnStaleGet:a,ttl:o,noDisposeOnSet:s,size:c,sizeCalculation:l,noUpdateTTL:u,noDeleteOnFetchRejection:p,allowStaleOnFetchRejection:d,allowStaleOnFetchAbort:m,ignoreFetchAbort:f,status:b,signal:S},k=this.#n.get(e);if(k===void 0){b&&(b.fetch="miss");let $=this.#D(e,k,_,h);return $.__returned=$}else{let $=this.#e[k];if(this.#t($)){let He=n&&$.__staleWhileFetching!==void 0;return b&&(b.fetch="inflight",He&&(b.returnedStale=!0)),He?$.__staleWhileFetching:$.__returned=$}let N=this.#m(k);if(!g&&!N)return b&&(b.fetch="hit"),this.#T(k),i&&this.#P(k),b&&this.#$(b,k),$;let Z=this.#D(e,k,_,h),Je=Z.__staleWhileFetching!==void 0&&n;return b&&(b.fetch=N?"stale":"refresh",Je&&N&&(b.returnedStale=!0)),Je?Z.__staleWhileFetching:Z.__returned=Z}}async forceFetch(e,r={}){let n=await this.fetch(e,r);if(n===void 0)throw new Error("fetch() returned undefined");return n}memo(e,r={}){let n=this.#z;if(!n)throw new Error("no memoMethod provided to constructor");let{context:i,forceRefresh:a,...o}=r,s=this.get(e,o);if(!a&&s!==void 0)return s;let c=n(e,s,{options:o,context:i});return this.set(e,c,o),c}get(e,r={}){let{allowStale:n=this.allowStale,updateAgeOnGet:i=this.updateAgeOnGet,noDeleteOnStaleGet:a=this.noDeleteOnStaleGet,status:o}=r,s=this.#n.get(e);if(s!==void 0){let c=this.#e[s],l=this.#t(c);return o&&this.#$(o,s),this.#m(s)?(o&&(o.get="stale"),l?(o&&n&&c.__staleWhileFetching!==void 0&&(o.returnedStale=!0),n?c.__staleWhileFetching:void 0):(a||this.#k(e,"expire"),o&&n&&(o.returnedStale=!0),n?c:void 0)):(o&&(o.get="hit"),l?c.__staleWhileFetching:(this.#T(s),i&&this.#P(s),c))}else o&&(o.get="miss")}#U(e,r){this.#d[r]=e,this.#l[e]=r}#T(e){e!==this.#a&&(e===this.#s?this.#s=this.#l[e]:this.#U(this.#d[e],this.#l[e]),this.#U(this.#a,e),this.#a=e)}delete(e){return this.#k(e,"delete")}#k(e,r){let n=!1;if(this.#i!==0){let i=this.#n.get(e);if(i!==void 0)if(n=!0,this.#i===1)this.#F(r);else{this.#E(i);let a=this.#e[i];if(this.#t(a)?a.__abortController.abort(new Error("deleted")):(this.#_||this.#u)&&(this.#_&&this.#h?.(a,e,r),this.#u&&this.#o?.push([a,e,r])),this.#n.delete(e),this.#r[i]=void 0,this.#e[i]=void 0,i===this.#a)this.#a=this.#d[i];else if(i===this.#s)this.#s=this.#l[i];else{let o=this.#d[i];this.#l[o]=this.#l[i];let s=this.#l[i];this.#d[s]=this.#d[i]}this.#i--,this.#y.push(i)}}if(this.#u&&this.#o?.length){let i=this.#o,a;for(;a=i?.shift();)this.#g?.(...a)}return n}clear(){return this.#F("delete")}#F(e){for(let r of this.#S({allowStale:!0})){let n=this.#e[r];if(this.#t(n))n.__abortController.abort(new Error("deleted"));else{let i=this.#r[r];this.#_&&this.#h?.(n,i,e),this.#u&&this.#o?.push([n,i,e])}}if(this.#n.clear(),this.#e.fill(void 0),this.#r.fill(void 0),this.#f&&this.#b&&(this.#f.fill(0),this.#b.fill(0)),this.#x&&this.#x.fill(0),this.#s=0,this.#a=0,this.#y.length=0,this.#v=0,this.#i=0,this.#u&&this.#o){let r=this.#o,n;for(;n=r?.shift();)this.#g?.(...n)}}};import ze from"path";import Hz from"os";import{promises as Rt}from"fs";var rW=["CoreGui","CorePackages","RobloxScript","RobloxScriptSecurity"],nW=["Workspace","Lighting","ReplicatedStorage","ServerStorage","ServerScriptService","StarterGui","StarterPlayer","StarterPack","ReplicatedFirst","SoundService","TextChatService"];function Bz(t){let e=t.replace(/[^a-zA-Z0-9-]/g,"_");return e=e.replace(/_+/g,"_"),e=e.replace(/^_|_$/g,""),e=e.slice(0,40),e=e.replace(/_$/g,""),e}function iW(){try{let t=process.cwd();return t==="/"||t==="\\"||/^[A-Z]:\\?$/i.test(t)?Hz.homedir():t}catch{return Hz.homedir()}}function aW(t){let e=ze.join(t,"roblox-project-sync");return{syncRoot:e,explorerRoot:ze.join(e,"explorer"),excludePatterns:["*.Terrain","*.Camera"],excludeClasses:["Terrain","Camera"],propertyMode:"standard",maxDepth:20,maxInstances:25e3,directorySizeWarning:500*1024*1024,directorySizeLimit:1024*1024*1024,reverseSyncMode:"manual"}}var xd=class{config;placeRootCache=new Map;async backupAndDeletePlaceDir(e,r){let n=this.config.syncRoot,i=new Date().toISOString().replace(/[:.]/g,"-"),a=ze.join(n,"_deleted-place-backups",`place_${e}`),o=ze.join(n,r),s=`${i}_${r}`,c=ze.join(a,s);await Rt.mkdir(a,{recursive:!0}),await Rt.cp(o,c,{recursive:!0,force:!0}),await Rt.rm(o,{recursive:!0,force:!0}),v.info("Backed up and deleted duplicate place directory",{placeId:e,from:r,backupTo:ze.relative(n,c)})}constructor(e){this.config=aW(e??iW())}getConfig(){return{...this.config}}getSyncRoot(){return this.config.syncRoot}getPlaceRoot(e){let r=this.placeRootCache.get(e);return r?ze.join(this.config.syncRoot,r):ze.join(this.config.syncRoot,`place_${e}`)}async resolvePlaceRoot(e,r){let n=this.config.syncRoot,i=`place_${e}`,a=r?Bz(r):"",o=a?`${i}_${a}`:i;await Rt.mkdir(n,{recursive:!0});let s=new RegExp(`^place_${e}(?:_.*)?$`),c=async()=>(await Rt.readdir(n,{withFileTypes:!0})).filter(m=>m.isDirectory()&&s.test(m.name)).map(m=>m.name).sort(),l=await c(),u=a?o:this.placeRootCache.get(e)&&s.test(this.placeRootCache.get(e))?this.placeRootCache.get(e):l[0]??o;if(l.length>0&&!l.includes(u)){let f=l[0],m=ze.join(n,f),h=ze.join(n,u);try{await Rt.rename(m,h),v.info("Migrated place directory",{from:f,to:u})}catch(g){v.warn("Failed to migrate place directory, using existing",{from:f,to:u,error:g instanceof Error?g.message:String(g)}),u=f}}let p=ze.join(n,u);await Rt.mkdir(p,{recursive:!0}),l=await c();let d=l.filter(f=>f!==u);for(let f of d)try{await this.backupAndDeletePlaceDir(e,f)}catch(m){v.warn("Failed to backup/delete duplicate place directory",{placeId:e,duplicate:f,error:m instanceof Error?m.message:String(m)})}return this.placeRootCache.set(e,u),p}async promotePlaceRoot(e,r,n){let i=this.config.syncRoot,a=n?Bz(n):"",o=a?`place_${r}_${a}`:`place_${r}`,s=null;try{let p=await Rt.readdir(i,{withFileTypes:!0}),d=new RegExp(`^place_${e}(?:_.*)?$`);for(let f of p)if(f.isDirectory()&&d.test(f.name)){s=f.name;break}}catch{}if(!s)return v.info("No existing directory for place promotion, creating new",{oldId:e,newId:r}),this.resolvePlaceRoot(r,n);let c=ze.join(i,s),l=ze.join(i,o);try{await Rt.rename(c,l),v.info("Place directory promoted",{from:s,to:o})}catch(p){return v.warn("Failed to rename place directory during promotion, creating new",{from:s,to:o,error:p instanceof Error?p.message:String(p)}),this.placeRootCache.delete(e),this.resolvePlaceRoot(r,n)}this.placeRootCache.delete(e),this.placeRootCache.set(r,o);let u=ze.join(l,".sync-meta.json");try{let p=await Rt.readFile(u,"utf-8"),d=JSON.parse(p);d.placeId=r,n&&(d.placeName=n),await Rt.writeFile(u,JSON.stringify(d,null,2)+`
|
|
106
|
+
`,"utf-8"),v.info("Updated .sync-meta.json with new placeId",{newId:r})}catch{}return l}getExplorerRoot(e){return e!==void 0?ze.join(this.getPlaceRoot(e),"explorer"):this.config.explorerRoot}getMetaFilePath(e){return e!==void 0?ze.join(this.getPlaceRoot(e),".sync-meta.json"):ze.join(this.config.syncRoot,".sync-meta.json")}getIndexFilePath(e){return e!==void 0?ze.join(this.getPlaceRoot(e),".sync-index.json"):ze.join(this.config.syncRoot,".sync-index.json")}getHistoryPath(e){return e!==void 0?ze.join(this.getPlaceRoot(e),"history.jsonl"):ze.join(this.config.syncRoot,"history.jsonl")}getChangeLogPath(e){return e!==void 0?ze.join(this.getPlaceRoot(e),"changes.log"):ze.join(this.config.syncRoot,"changes.log")}getPropertyMode(){return this.config.propertyMode}getMaxInstances(){return this.config.maxInstances}getMaxDepth(){return this.config.maxDepth}getReverseSyncMode(){return this.config.reverseSyncMode}isExcluded(e,r){for(let n of rW)if(e.includes(n))return!0;if(this.config.excludeClasses.includes(r))return!0;for(let n of this.config.excludePatterns)if(n.startsWith("*.")){let i=n.slice(2);if(e.endsWith("."+i)||e===i)return!0}else if(e.includes(n))return!0;return!1}isSyncableService(e){return nW.includes(e)}updateConfig(e){this.config={...this.config,...e},v.debug("SyncConfig updated",e)}setPropertyMode(e){this.config.propertyMode=e,v.debug(`Property mode set to '${e}'`)}setReverseSyncMode(e){this.config.reverseSyncMode=e,v.debug(`Reverse sync mode set to '${e}'`)}async loadFromMeta(){let e=this.getMetaFilePath();try{let r=await Rt.readFile(e,"utf-8"),n=JSON.parse(r);if(n.excludePatterns&&(this.config.excludePatterns=n.excludePatterns),n.propertyMode){let i=n.propertyMode;this.config.propertyMode=i==="common"||i==="full"?"standard":n.propertyMode}v.info("Loaded sync config from .sync-meta.json")}catch(r){r.code==="ENOENT"?v.debug(".sync-meta.json not found \u2014 using defaults"):v.warn("Failed to read .sync-meta.json \u2014 using defaults",r)}}async saveToMeta(e){let r=this.getMetaFilePath();try{await Rt.mkdir(ze.dirname(r),{recursive:!0}),await Rt.writeFile(r,JSON.stringify(e,null,2)+`
|
|
107
|
+
`,"utf-8"),v.info("Saved sync metadata to .sync-meta.json")}catch(n){throw v.error("Failed to save .sync-meta.json",n),n}}};import j from"path";import{createHash as uW}from"crypto";import{promises as La}from"fs";var bd={Script:".server.luau",LocalScript:".client.luau",ModuleScript:".module.luau"},_d=2,Fa=[".props.json",".server.luau",".client.luau",".module.luau",".value.json"];function Gb(t){return`${t}.props.json`}function _c(t,e){return`${t}${bd[e]}`}function Kb(t){return`${t}.value.json`}function Rn(t,e){let r=t.replace(/~/g,"~~");return e===void 0||e<1?r:`${r}~${e}`}function vi(t){let e=t.match(/(~+)(\d+)$/);if(!e)return{name:t.replace(/~~/g,"~"),siblingIndex:void 0};let r=e[1],n=parseInt(e[2],10);if(r.length%2===1){let i=t.slice(0,t.length-e[0].length),a=r.slice(0,-1);return{name:(i+a).replace(/~~/g,"~"),siblingIndex:n}}return{name:t.replace(/~~/g,"~"),siblingIndex:void 0}}var qa=new Set(["Script","LocalScript","ModuleScript"]),oW=new Set(["StringValue","IntValue","BoolValue","NumberValue","ObjectValue","Color3Value","Vector3Value","CFrameValue","BrickColorValue","RayValue"]),sW=new Set(["Folder","Model","Configuration","Camera","WorldModel"]),Xb=new Set(["Workspace","Lighting","ReplicatedFirst","ReplicatedStorage","ServerScriptService","ServerStorage","StarterGui","StarterPack","StarterPlayer","SoundService","Teams","Chat","TextChatService","LocalizationService","TestService"]);function Vz(t){return qa.has(t)?"script":oW.has(t)?"value":sW.has(t)?"container":Xb.has(t)?"service":"data"}var yi={scripts:"forward",values:"forward",containers:"forward",data:"forward",services:"forward"};function Wz(t){switch(t){case"scriptSourceChanged":return"scripts";case"propertyChanged":return"data";case"instanceAdded":case"instanceRemoved":case"instanceRenamed":case"instanceMoved":return"containers";default:return"data"}}function Jz(t){return t.endsWith(".server.luau")||t.endsWith(".client.luau")||t.endsWith(".module.luau")?"scripts":t.endsWith(".value.json")?"values":t.endsWith(".props.json")?"data":"containers"}var cW=/[.\[\]"']/;function Gz(t){return t.length===0||cW.test(t)}function Kz(t){let e=t.replace(/\\/g,"\\\\");return e.includes('"')?e.includes("'")?`"${e.replace(/"/g,'\\"')}"`:`'${e}'`:`"${e}"`}function lW(t){let e="";for(let r=0;r<t.length;r++){let n=t[r];if(n==="\\"&&r+1<t.length){e+=t[r+1]??"",r++;continue}e+=n}return e}function tn(t){let e=[],r=0,n=t.length;for(;r<n;){let i=t[r];if(!i)break;if(i==="."){r++;continue}if(i==="["){for(r++;r<n&&/\s/.test(t[r]??"");)r++;let s=t[r];if(s==='"'||s==="'"){r++;let u="";for(;r<n;){let p=t[r];if(!p)break;if(p==="\\"&&r+1<n){u+=`${p}${t[r+1]??""}`,r+=2;continue}if(p===s){r++;break}u+=p,r++}for(;r<n&&/\s/.test(t[r]??"");)r++;t[r]==="]"&&r++,e.push(lW(u));continue}let c="";for(;r<n&&t[r]!=="]";)c+=t[r]??"",r++;t[r]==="]"&&r++;let l=c.trim();l.length>0&&e.push(l);continue}let a=r;for(;r<n;){let s=t[r];if(s==="."||s==="[")break;r++}let o=t.slice(a,r).trim();o.length>0&&e.push(o)}return e}function bt(t){let e=tn(t);return e[0]==="game"?e.slice(1):e}function Xe(t){if(t.length===0)return"";let e="";for(let r=0;r<t.length;r++){let n=t[r]??"";if(r===0){e=Gz(n)?`[${Kz(n)}]`:n;continue}Gz(n)?e+=`[${Kz(n)}]`:e+=`.${n}`}return e}function jt(t){let e=tn(t);return e[e.length-1]??""}function _t(t){let e=tn(t);return e.length<=1?"":Xe(e.slice(0,-1))}function wc(t,e){let r=tn(t);return r.length===0?e:(r[r.length-1]=e,Xe(r))}var pW=/[*:"<>|?\\/[\]]/g;function dW(t,e){let r=j.resolve(t),n=j.resolve(e),i=j.relative(r,n);return i===""||!i.startsWith("..")&&!j.isAbsolute(i)}var jn=class{explorerRoot;syncRoot;studioHashes=new Map;fileHashes=new Map;nameCounters=new Map;nameMapping=new Map;reverseNameMapping=new Map;pendingRetroactiveRenames=new Map;instanceDirMap=new Map;constructor(e,r){this.syncRoot=j.resolve(e),this.explorerRoot=j.resolve(r)}resolveFilePath(e){return this.resolveChildrenDir(e)}resolveChildrenDir(e){let r=bt(e).map(i=>this.sanitizeName(i)),n=j.resolve(this.explorerRoot,...r);return this.validatePathSecurity(n),n}resolvePropsPath(e){let r=bt(e).map(o=>this.sanitizeName(o));if(r.length===0)throw new Error("Cannot resolve props path for empty instance path");let n=this.getOriginalNameForSegments(e,r),i=j.resolve(this.explorerRoot,...r),a=j.join(i,Gb(n));return this.validatePathSecurity(a),a}resolveParentDir(e){let r=bt(e).map(a=>this.sanitizeName(a));if(r.length<=1)return this.explorerRoot;let n=r.slice(0,-1),i=j.resolve(this.explorerRoot,...n);return this.validatePathSecurity(i),i}resolveScriptPath(e,r,n){let i=bt(e).map(s=>this.sanitizeName(s)),a=this.getOriginalNameForSegments(e,i),o=j.resolve(this.explorerRoot,...i);return j.join(o,_c(a,r))}resolveValuePath(e){let r=bt(e).map(o=>this.sanitizeName(o));if(r.length===0)throw new Error("Cannot resolve value path for empty instance path");let n=this.getOriginalNameForSegments(e,r),i=j.resolve(this.explorerRoot,...r),a=j.join(i,Kb(n));return this.validatePathSecurity(a),a}sanitizeName(e){if(e===".."||e===".")return"_";let r=e.replace(pW,"_").trim();return r=r.replace(/\.\./g,"_"),r.length===0?"_unnamed":r}resolveNameCollision(e,r){let n=this.nameCounters.get(e);n||(n=new Map,this.nameCounters.set(e,n));let i=n.get(r);if(i===void 0)return n.set(r,1),Rn(r);if(i===1){n.set(r,2);let o=`${e}\0${r}`,s=Rn(r),c=Rn(r,1);return this.pendingRetroactiveRenames.set(o,{from:s,to:c}),Rn(r,2)}let a=i+1;return n.set(r,a),Rn(r,a)}getOriginalNameForDir(e,r){let n=`${e}/${r}`,i=this.reverseNameMapping.get(n);return i?jt(i.instancePath)||r:vi(r).name}getOriginalNameForSegments(e,r){if(r.length===0)return"_unnamed";let n=r[r.length-1];if(r.length<=1)return vi(n).name;let i=r.slice(0,-1),a=j.resolve(this.explorerRoot,...i);return this.getOriginalNameForDir(a,n)}resetNameCounters(){this.nameCounters.clear(),this.nameMapping.clear(),this.reverseNameMapping.clear(),this.pendingRetroactiveRenames.clear(),this.instanceDirMap.clear()}registerCollision(e,r,n){let i=jt(e)||"_unnamed",a=this.sanitizeName(i),o=this.resolveNameCollision(n,a),s=r??1,c=`${e}#${s}`;this.nameMapping.set(c,o);let l=j.join(n,o);this.instanceDirMap.set(c,l);let u=`${n}/${o}`;this.reverseNameMapping.set(u,{instancePath:e,siblingIndex:s});let p,d=`${n}\0${a}`,f=this.pendingRetroactiveRenames.get(d);if(f){this.pendingRetroactiveRenames.delete(d);let m=`${n}/${f.from}`,h=this.reverseNameMapping.get(m);if(h){let g=`${h.instancePath}#${h.siblingIndex}`;this.nameMapping.set(g,f.to),this.instanceDirMap.set(g,j.join(n,f.to)),this.reverseNameMapping.delete(m),this.reverseNameMapping.set(`${n}/${f.to}`,h),p={from:f.from,to:f.to,instancePath:h.instancePath}}}return p?{resolved:o,retroactiveRename:p}:{resolved:o}}planCollisionReindexAfterRemoval(e,r,n){let i=this.planCollisionReindexAfterBatchRemovals(e,[r??1],n),a=i.removed[0];return{baseName:i.baseName,removedSiblingIndex:a?.siblingIndex??r??1,removedResolved:a?.resolved,remainingCount:i.remainingCount,renames:i.renames}}planCollisionReindexAfterBatchRemovals(e,r,n){let i=[...new Set(r.map(p=>Math.max(1,p)))].sort((p,d)=>p-d),a=new Set(i),o=this.sanitizeName(jt(e)||"_unnamed"),s=i.map(p=>({siblingIndex:p,resolved:this.nameMapping.get(`${e}#${p}`)})),c=[];for(let[p,d]of this.reverseNameMapping)j.dirname(p)===n&&d.instancePath===e&&(a.has(d.siblingIndex)||c.push({instancePath:d.instancePath,siblingIndex:d.siblingIndex,resolved:j.basename(p)}));c.sort((p,d)=>p.siblingIndex-d.siblingIndex);let l=[],u=c.length;for(let p=0;p<c.length;p++){let d=c[p],f=u<=1?1:p+1,m=u<=1?Rn(o):Rn(o,f);(d.siblingIndex!==f||d.resolved!==m)&&l.push({instancePath:d.instancePath,oldSiblingIndex:d.siblingIndex,newSiblingIndex:f,from:d.resolved,to:m})}return{baseName:o,removed:s,remainingCount:u,renames:l}}applyCollisionReindexAfterRemoval(e,r,n){this.applyCollisionReindexAfterBatchRemovals(e,r,{baseName:n.baseName,removed:[{siblingIndex:n.removedSiblingIndex,resolved:n.removedResolved}],remainingCount:n.remainingCount,renames:n.renames})}applyCollisionReindexAfterBatchRemovals(e,r,n){for(let a of n.removed){let o=`${e}#${a.siblingIndex}`;this.nameMapping.delete(o),this.instanceDirMap.delete(o),a.resolved&&this.reverseNameMapping.delete(`${r}/${a.resolved}`)}let i=this.nameCounters.get(r);n.remainingCount<=0?i&&(i.delete(n.baseName),i.size===0&&this.nameCounters.delete(r)):i&&i.set(n.baseName,n.remainingCount),this.pendingRetroactiveRenames.delete(`${r}\0${n.baseName}`);for(let a of n.renames){let o=`${a.instancePath}#${a.oldSiblingIndex}`,s=`${a.instancePath}#${a.newSiblingIndex}`,c=j.join(r,a.to);o!==s&&(this.nameMapping.delete(o),this.instanceDirMap.delete(o)),this.nameMapping.set(s,a.to),this.instanceDirMap.set(s,c);let l=`${r}/${a.to}`,u=`${r}/${a.from}`;u!==l&&this.reverseNameMapping.delete(u),this.reverseNameMapping.set(l,{instancePath:a.instancePath,siblingIndex:a.newSiblingIndex})}}getResolvedName(e,r){return this.nameMapping.get(`${e}#${r}`)}getEffectiveDir(e,r){let n=r??1;return this.instanceDirMap.get(`${e}#${n}`)}resolveEffectiveParentDir(e,r){if(r&&r>=1){let n=_t(e);if(n){let i=this.instanceDirMap.get(`${n}#${r}`);if(i)return i}}return this.resolveParentDir(e)}getOriginalInstance(e,r){return this.reverseNameMapping.get(`${e}/${r}`)}resetNameMappings(){this.nameMapping.clear(),this.reverseNameMapping.clear()}mergeNameMappingsFrom(e){let r=e.explorerRoot,n=this.explorerRoot;for(let[i,a]of e.nameMapping)this.nameMapping.set(i,a);for(let[i,a]of e.reverseNameMapping)if(i.startsWith(r)){let o=i.slice(r.length),s=n+o;this.reverseNameMapping.set(s,a)}else this.reverseNameMapping.set(i,a);for(let[i,a]of e.instanceDirMap)if(a.startsWith(r)){let o=a.slice(r.length),s=n+o;this.instanceDirMap.set(i,s)}else this.instanceDirMap.set(i,a);for(let[i,a]of e.nameCounters){let o=i.startsWith(r)?n+i.slice(r.length):i,s=new Map;for(let[c,l]of a)s.set(c,l);this.nameCounters.set(o,s)}}getNameMappings(){return new Map(this.nameMapping)}getReverseNameMappings(){return new Map(this.reverseNameMapping)}renameReverseNameMappingsUnder(e,r){let n=e.endsWith(j.sep)?"":j.sep,i=e+n,a=r+n,o=[];for(let[s,c]of this.reverseNameMapping)(s.startsWith(i)||s===e)&&o.push([s,c]);for(let[s,c]of o){this.reverseNameMapping.delete(s);let l=s===e?r:a+s.slice(i.length);this.reverseNameMapping.set(l,c)}}renameInstanceDirMappingsUnder(e,r){let n=e.endsWith(j.sep)?"":j.sep,i=e+n,a=r+n,o=[];for(let[s,c]of this.instanceDirMap)if(c.startsWith(i)||c===e){let l=c===e?r:a+c.slice(i.length);o.push([s,l])}for(let[s,c]of o)this.instanceDirMap.set(s,c)}renameNameMappingKeys(e,r){let n=e+".",i=r+".",a=[];for(let[o,s]of this.nameMapping)if(o.startsWith(n)||o.startsWith(e+"#")){let c=o.startsWith(n)?i+o.slice(n.length):r+o.slice(e.length);a.push([o,c,s])}for(let[o,s,c]of a)this.nameMapping.delete(o),this.nameMapping.set(s,c)}validatePathSecurity(e){let r=j.resolve(e);if(!dW(this.explorerRoot,r))throw new Error(`Path traversal detected: resolved path "${r}" is outside explorerRoot "${this.explorerRoot}"`)}computeHash(e){return uW("md5").update(e,"utf-8").digest("hex")}hasChanged(e,r){let n=this.computeHash(r);return this.studioHashes.get(e)!==n}updateHash(e,r){this.studioHashes.set(e,this.computeHash(r))}updateFileHash(e,r){this.fileHashes.set(e,this.computeHash(r))}updateBothHashes(e,r){let n=this.computeHash(r);this.studioHashes.set(e,n),this.fileHashes.set(e,n)}updateHashByValue(e,r){this.studioHashes.set(e,r)}updateFileHashByValue(e,r){this.fileHashes.set(e,r)}removeHash(e){this.studioHashes.delete(e),this.fileHashes.delete(e)}removeHashesUnder(e){let r=e.endsWith(j.sep)?e:e+j.sep;for(let n of this.studioHashes.keys())(n.startsWith(r)||n===e)&&this.studioHashes.delete(n);for(let n of this.fileHashes.keys())(n.startsWith(r)||n===e)&&this.fileHashes.delete(n)}renameHashKey(e,r){let n=this.studioHashes.get(e),i=this.fileHashes.get(e);n!==void 0&&(this.studioHashes.delete(e),this.studioHashes.set(r,n)),i!==void 0&&(this.fileHashes.delete(e),this.fileHashes.set(r,i))}renameHashKeysUnder(e,r){let n=e.endsWith(j.sep)?"":j.sep,i=e+n,a=r+n,o=[];for(let[c,l]of this.studioHashes)c.startsWith(i)&&o.push([c,l]);for(let[c,l]of o)this.studioHashes.delete(c),this.studioHashes.set(a+c.slice(i.length),l);let s=[];for(let[c,l]of this.fileHashes)c.startsWith(i)&&s.push([c,l]);for(let[c,l]of s)this.fileHashes.delete(c),this.fileHashes.set(a+c.slice(i.length),l)}getHash(e){return this.studioHashes.get(e)}getFileHash(e){return this.fileHashes.get(e)}getAllHashes(){return new Map(this.studioHashes)}getAllFileHashes(){return new Map(this.fileHashes)}clearAllHashes(){this.studioHashes.clear(),this.fileHashes.clear()}hasEntry(e){return this.studioHashes.has(e)||this.fileHashes.has(e)}hasInstancePath(e){for(let r of this.studioHashes.keys())if(this.resolveInstancePathFromFsPath(r)===e)return!0;return!1}get hashCount(){return this.studioHashes.size}getFileStatus(e,r){let n=this.studioHashes.get(e),i=this.fileHashes.get(e);if(!n||!i)return"synced";if(r===void 0)return n===i?"synced":"studio-modified";let a=r!==i,o=n!==i;return!a&&!o?"synced":a&&!o?"file-modified":!a&&o?"studio-modified":"conflict"}async scanForFileModifications(){let e=[],r=[],n=[];for(let[i]of this.fileHashes){let a=j.relative(this.syncRoot,i);if(a.endsWith("_tree.json"))continue;let o=this.getFileTypeFromPath(i);if(o!=="script"&&o!=="props"&&o!=="value")continue;let s;try{let p=await La.readFile(i,"utf-8");s=this.computeHash(p)}catch(p){if(p.code==="ENOENT"){let d=this.resolveInstancePathFromFsPath(i);d&&n.push({fsPath:i,relPath:a,instancePath:d,fileType:o});continue}v.warn("Failed to read file for scanning",{path:i,error:p instanceof Error?p.message:String(p)});continue}let c=this.getFileStatus(i,s);if(c==="synced"||c==="studio-modified")continue;let l=this.resolveInstancePathFromFsPath(i);if(!l)continue;let u={fsPath:i,relPath:a,instancePath:l,fileType:o};c==="file-modified"?e.push(u):c==="conflict"&&r.push(u)}return{modified:e,conflicts:r,deleted:n}}resolveFile(e,r,n){if(r==="apply-studio"){let i=this.studioHashes.get(e);i&&this.fileHashes.set(e,i)}else r==="apply-file"&&n&&this.fileHashes.set(e,n)}async getModifiedFiles(){let e=[],r=new Set;for(let i of this.fileHashes.keys())r.add(j.resolve(i));for(let i of this.studioHashes.keys())r.add(j.resolve(i));for(let[i]of this.fileHashes){let a=j.resolve(i),o=j.relative(this.syncRoot,a);if(o.endsWith("_tree.json"))continue;let s=this.getFileTypeFromPath(a);if(s!=="script"&&s!=="props"&&s!=="value")continue;let c=this.resolveInstancePathFromFsPath(a);if(!c)continue;let l;try{let p=await La.readFile(a,"utf-8");l=this.computeHash(p)}catch(p){if(p.code==="ENOENT"){e.push({fsPath:a,relPath:o,instancePath:c,changeType:"deleted",fileType:s});continue}continue}let u=this.fileHashes.get(a);u&&l!==u&&e.push({fsPath:a,relPath:o,instancePath:c,changeType:"modified",fileType:s})}let n=await this.collectTrackedFiles(this.explorerRoot);for(let i of n){let a=j.resolve(i);if(r.has(a))continue;let o=j.relative(this.syncRoot,a),s=this.getFileTypeFromPath(a);if(s!=="script"&&s!=="props"&&s!=="value")continue;let c=this.resolveInstancePathFromFsPath(a);c&&e.push({fsPath:a,relPath:o,instancePath:c,changeType:"added",fileType:s})}return e}async collectTrackedFiles(e){let r=[],n;try{n=await La.readdir(e,{withFileTypes:!0})}catch(i){if(i.code==="ENOENT")return r;throw i}for(let i of n){let a=j.join(e,i.name);if(i.isDirectory()){let s=await this.collectTrackedFiles(a);r.push(...s);continue}if(!i.isFile())continue;let o=this.getFileTypeFromPath(a);(o==="script"||o==="props"||o==="value")&&r.push(a)}return r}getFileTypeFromPath(e){let r=j.relative(this.explorerRoot,e);if(r.startsWith("..")||j.isAbsolute(r))return"unknown";let n=j.basename(e);if(n==="_tree.json")return"tree";let i=j.dirname(e),a=j.dirname(i),o=j.basename(i);if(!o||i===e)return"unknown";let s=this.getOriginalNameForDir(a,o);return n===Gb(s)?"props":n===Kb(s)?"value":n===_c(s,"Script")||n===_c(s,"LocalScript")||n===_c(s,"ModuleScript")?"script":"unknown"}resolveInstancePathFromFsPath(e){if(j.basename(e)==="_tree.json")return null;let n=j.relative(this.explorerRoot,e);if(n.startsWith(".."))return null;let i=n.split(j.sep).filter(l=>l.length>0);if(i.length<2)return null;let a=this.getFileTypeFromPath(e);if(a!=="props"&&a!=="value"&&a!=="script")return null;let o=i.slice(0,-1),s=["game"],c=this.explorerRoot;for(let l of o){c=j.join(c,l);let u=j.dirname(c),p=this.getOriginalNameForDir(u,l);s.push(p)}return Xe(s)}async loadFromDisk(){let e=j.join(this.syncRoot,".sync-index.json");try{let r=await La.readFile(e,"utf-8"),n=JSON.parse(r);if(n.version!==_d){v.warn("sync-index \uBC84\uC804 \uBD88\uC77C\uCE58, \uBB34\uC2DC\uD558\uACE0 \uC0C8\uB85C \uC0DD\uC131",{found:n.version,expected:_d});return}let i=0;for(let[a,o]of Object.entries(n.files)){let s=j.resolve(this.syncRoot,a);this.studioHashes.set(s,o.studioHash),this.fileHashes.set(s,o.fileHash),i++}if(n.nameMappings)for(let[a,o]of Object.entries(n.nameMappings))this.nameMapping.set(a,o);if(n.reverseNameMappings)for(let[a,o]of Object.entries(n.reverseNameMappings)){let s=a.startsWith("/")?a:j.resolve(this.explorerRoot,a);this.reverseNameMapping.set(s,o)}if(n.instanceDirMappings)for(let[a,o]of Object.entries(n.instanceDirMappings)){let s=j.resolve(this.explorerRoot,o);this.instanceDirMap.set(a,s)}this.rebuildNameCountersFromReverseMappings(),v.info("Loaded sync index from disk",{entries:i,nameMappings:this.nameMapping.size})}catch(r){if(r.code==="ENOENT"){v.info("No existing .sync-index.json found, starting fresh");return}v.warn("Failed to load .sync-index.json",{error:r instanceof Error?r.message:String(r)})}}rebuildNameCountersFromReverseMappings(){this.nameCounters.clear();for(let[e,r]of this.reverseNameMapping){let n=j.dirname(e),i=this.sanitizeName(jt(r.instancePath)||vi(j.basename(e)).name),a=this.nameCounters.get(n);a||(a=new Map,this.nameCounters.set(n,a));let o=a.get(i)??0;a.set(i,o+1)}}async saveToDisk(){let e=j.join(this.syncRoot,".sync-index.json"),r=this.toSyncIndexData();await La.mkdir(j.dirname(e),{recursive:!0});let n=JSON.stringify(r,null,2);await La.writeFile(e,n,"utf-8"),v.debug("Saved sync index to disk",{entries:this.studioHashes.size})}toSyncIndexData(){let e=new Date().toISOString(),r={},n=new Set([...this.studioHashes.keys(),...this.fileHashes.keys()]);for(let a of n){let o=j.relative(this.syncRoot,a),s=this.studioHashes.get(a)??"",c=this.fileHashes.get(a)??s,l="synced";s&&c&&s!==c&&(l="studio-modified"),r[o]={studioHash:s,fileHash:c,lastStudioSync:e,status:l}}let i={version:_d,files:r};if(this.nameMapping.size>0){let a={};for(let[o,s]of this.nameMapping)a[o]=s;i.nameMappings=a}if(this.reverseNameMapping.size>0){let a={};for(let[o,s]of this.reverseNameMapping){let c=j.relative(this.explorerRoot,o),l=c.startsWith("..")?o:c;a[l]=s}i.reverseNameMappings=a}if(this.instanceDirMap.size>0){let a={};for(let[o,s]of this.instanceDirMap){let c=j.relative(this.explorerRoot,s);c.startsWith("..")||(a[o]=c)}i.instanceDirMappings=a}return i}getInstancePath(e){let n=j.relative(this.explorerRoot,e).split(j.sep).filter(i=>i.length>0);return Xe(["game",...n])}getExplorerRoot(){return this.explorerRoot}getSyncRoot(){return this.syncRoot}};import Ye from"path";import{promises as Le}from"fs";import{randomUUID as fW}from"crypto";var Xz=1e3,Yz=1e4,Qz=50,mW=1e3,Za=class{config;index;changeLogBuffer=[];historyBuffer=[];flushTimer=null;onWriteCallback;placeId;constructor(e,r,n){this.config=e,this.index=r,this.placeId=n}setOnWriteCallback(e){this.onWriteCallback=e}async writeProps(e,r){let n=this.index.resolvePropsPath(e),i=JSON.stringify(r,null,2);if(!this.index.hasChanged(n,i))return!1;try{return await this.ensureDir(Ye.dirname(n)),await this.atomicWrite(n,i),await this.updateSyncIndex(n,i),this.appendChangeLog(`WRITE ${this.relativePath(n)}`),this.appendHistory({timestamp:new Date().toISOString(),type:"write",direction:"forward",path:e,details:"props"}),!0}catch(a){this.handleDiskError(a,"writeProps",n)}}async writeScript(e,r,n,i){let a=this.index.resolveScriptPath(e,r,i),o=n;if(!this.index.hasChanged(a,o))return!1;try{return await this.ensureDir(Ye.dirname(a)),await this.atomicWrite(a,o),await this.updateSyncIndex(a,o),this.appendChangeLog(`WRITE ${this.relativePath(a)}`),this.appendHistory({timestamp:new Date().toISOString(),type:"write",direction:"forward",path:e,details:`script:${r}`}),!0}catch(s){this.handleDiskError(s,"writeScript",a)}}async writeValue(e,r){let n=this.index.resolveValuePath(e),i=JSON.stringify(r,null,2);if(!this.index.hasChanged(n,i))return!1;try{return await this.ensureDir(Ye.dirname(n)),await this.atomicWrite(n,i),await this.updateSyncIndex(n,i),this.appendChangeLog(`WRITE ${this.relativePath(n)}`),this.appendHistory({timestamp:new Date().toISOString(),type:"write",direction:"forward",path:e,details:`value:${r.className}`}),!0}catch(a){this.handleDiskError(a,"writeValue",n)}}async writeTree(e,r){let n=Ye.join(this.index.getExplorerRoot(),e),i=Ye.join(n,"_tree.json"),a=JSON.stringify(r,null,2);if(!this.index.hasChanged(i,a))return!1;try{return await this.ensureDir(n),await this.atomicWrite(i,a),await this.updateSyncIndex(i,a),this.appendChangeLog(`WRITE ${this.relativePath(i)}`),!0}catch(o){this.handleDiskError(o,"writeTree",i)}}async writeSyncMeta(e){await this.config.saveToMeta(e)}async writeInstance(e){let r=!1,n=!1,i=!1;switch(Vz(e.className)){case"script":{if(r=await this.writeProps(e.path,this.buildPropsData(e)),e.scriptSource!==void 0&&(n=await this.writeScript(e.path,e.className,e.scriptSource,e.hasChildren)),e.hasChildren||e.childCount>0){let o=this.index.resolveChildrenDir(e.path);await this.ensureDir(o)}break}case"value":{let o={className:e.className,value:e.properties.Value??null};i=await this.writeValue(e.path,o);let s={...e.properties};delete s.Value;let c=Object.keys(s).length>0,l=e.attributes&&Object.keys(e.attributes).length>0,u=e.tags&&e.tags.length>0;if(c||l||u){let p={name:e.name,className:e.className,properties:s};l&&(p.attributes=e.attributes),u&&(p.tags=e.tags),r=await this.writeProps(e.path,p)}if(e.hasChildren||e.childCount>0){let p=this.index.resolveChildrenDir(e.path);await this.ensureDir(p)}break}case"container":{let o=this.index.resolveChildrenDir(e.path);await this.ensureDir(o),e.className!=="Folder"&&(r=await this.writeProps(e.path,this.buildPropsData(e)));break}case"service":case"data":{if(r=await this.writeProps(e.path,this.buildPropsData(e)),e.hasChildren||e.childCount>0){let o=this.index.resolveChildrenDir(e.path);await this.ensureDir(o)}break}}return{propsWritten:r,scriptWritten:n,valueWritten:i}}buildPropsData(e){let r={name:e.name,className:e.className,properties:e.properties};return e.attributes&&Object.keys(e.attributes).length>0&&(r.attributes=e.attributes),e.tags&&e.tags.length>0&&(r.tags=e.tags),r}async removeInstance(e){try{let r=this.index.resolveChildrenDir(e);try{await Le.rm(r,{recursive:!0,force:!0})}catch{}this.index.removeHashesUnder(r),this.appendChangeLog(`DELETE ${e}`),this.appendHistory({timestamp:new Date().toISOString(),type:"delete",direction:"forward",path:e})}catch(r){this.handleDiskError(r,"removeInstance",e)}}async renameInstance(e,r,n){try{let i=this.index.resolveChildrenDir(e),a=this.index.resolveChildrenDir(r);await this.tryRename(i,a)&&(this.index.renameHashKeysUnder(i,a),this.index.renameReverseNameMappingsUnder(i,a),this.index.renameInstanceDirMappingsUnder(i,a));let o=bt(e).pop()||"";o!==n&&await this.renameInternalFiles(a,o,n),this.index.renameNameMappingKeys(e,r),this.appendChangeLog(`RENAME ${e} -> ${r}`),this.appendHistory({timestamp:new Date().toISOString(),type:"rename",direction:"forward",path:r,details:`from:${e}`})}catch(i){this.handleDiskError(i,"renameInstance",e)}}async renameInternalFiles(e,r,n){let i=[{old:`${r}.props.json`,new:`${n}.props.json`},{old:`${r}.server.luau`,new:`${n}.server.luau`},{old:`${r}.client.luau`,new:`${n}.client.luau`},{old:`${r}.module.luau`,new:`${n}.module.luau`},{old:`${r}.value.json`,new:`${n}.value.json`}];for(let o of i){let s=Ye.join(e,o.old),c=Ye.join(e,o.new);await this.tryRename(s,c)&&this.index.renameHashKey(s,c)}let a=Ye.join(e,`${n}.props.json`);try{let o=await Le.readFile(a,"utf-8"),s=JSON.parse(o);if(s.name!==n){s.name=n;let c=JSON.stringify(s,null,2);await this.atomicWrite(a,c),await this.updateSyncIndex(a,c)}}catch{}}async moveInstance(e,r){try{let n=this.index.resolveParentDir(r);await this.ensureDir(n);let i=this.index.resolveChildrenDir(e),a=this.index.resolveChildrenDir(r);try{(await Le.stat(i)).isDirectory()&&(await this.copyDirectory(i,a),await Le.rm(i,{recursive:!0,force:!0}),this.index.renameHashKeysUnder(i,a),this.index.renameReverseNameMappingsUnder(i,a),this.index.renameInstanceDirMappingsUnder(i,a))}catch{}this.index.renameNameMappingKeys(e,r),this.appendChangeLog(`MOVE ${e} -> ${r}`),this.appendHistory({timestamp:new Date().toISOString(),type:"move",direction:"forward",path:r,details:`from:${e}`})}catch(n){this.handleDiskError(n,"moveInstance",e)}}async updateProperties(e,r){let n=this.index.resolvePropsPath(e);try{let i=await Le.readFile(n,"utf-8"),a=JSON.parse(i);for(let[s,c]of Object.entries(r))a.properties[s]=c;let o=JSON.stringify(a,null,2);return this.index.hasChanged(n,o)?(await this.atomicWrite(n,o),await this.updateSyncIndex(n,o),this.appendChangeLog(`UPDATE ${this.relativePath(n)} (bulk properties)`),this.appendHistory({timestamp:new Date().toISOString(),type:"update",direction:"forward",path:e,details:"bulk properties"}),!0):!1}catch(i){if(i.code==="ENOENT")return v.warn(`updateProperties: .props.json not found for ${e}`),!1;this.handleDiskError(i,"updateProperties",n)}}async updateProperty(e,r,n){let i=this.index.resolvePropsPath(e);try{let a=await Le.readFile(i,"utf-8"),o=JSON.parse(a);o.properties[r]=n;let s=JSON.stringify(o,null,2);return this.index.hasChanged(i,s)?(await this.atomicWrite(i,s),await this.updateSyncIndex(i,s),this.appendChangeLog(`UPDATE ${this.relativePath(i)} (${r})`),this.appendHistory({timestamp:new Date().toISOString(),type:"update",direction:"forward",path:e,details:`property:${r}`}),!0):!1}catch(a){if(a.code==="ENOENT")return v.warn(`updateProperty: .props.json not found for ${e}`),!1;this.handleDiskError(a,"updateProperty",i)}}async addToTree(e,r){let n=this.extractServiceName(e),i=Ye.join(this.index.getExplorerRoot(),n,"_tree.json");try{let a=await Le.readFile(i,"utf-8"),o=JSON.parse(a),s=this.findTreeNode(o,e);if(s){s.children||(s.children=[]);let l=s.children.findIndex(u=>u.name===r.name);l>=0?s.children[l]=r:(s.children.push(r),s.childCount=s.children.length)}else{let l=o.children.findIndex(u=>u.name===r.name);l>=0?o.children[l]=r:(o.children.push(r),o.childCount=o.children.length)}o.syncedAt=new Date().toISOString();let c=JSON.stringify(o,null,2);await this.atomicWrite(i,c),await this.updateSyncIndex(i,c)}catch(a){if(a.code==="ENOENT"){v.warn(`addToTree: _tree.json not found for ${e}`);return}this.handleDiskError(a,"addToTree",i)}}async removeFromTree(e,r){let n=this.extractServiceName(e),i=Ye.join(this.index.getExplorerRoot(),n,"_tree.json");try{let a=await Le.readFile(i,"utf-8"),o=JSON.parse(a),s=this.findTreeNode(o,e);s&&s.children?(s.children=s.children.filter(l=>l.name!==r),s.childCount=s.children.length):(o.children=o.children.filter(l=>l.name!==r),o.childCount=o.children.length),o.syncedAt=new Date().toISOString();let c=JSON.stringify(o,null,2);await this.atomicWrite(i,c),await this.updateSyncIndex(i,c)}catch(a){if(a.code==="ENOENT"){v.warn(`removeFromTree: _tree.json not found for ${e}`);return}this.handleDiskError(a,"removeFromTree",i)}}async renameInTree(e,r,n){let i=this.extractServiceName(e),a=this.extractServiceName(r);if(!i||!a)return;if(i!==a){await this.moveInTree(e,r);return}let o=Ye.join(this.index.getExplorerRoot(),i,"_tree.json");try{let s=await Le.readFile(o,"utf-8"),c=JSON.parse(s),l=this.findTreeNode(c,e);if(!l){v.warn("renameInTree: node not found",{oldPath:e,newPath:r});return}l.name=n,c.syncedAt=new Date().toISOString();let u=JSON.stringify(c,null,2);await this.atomicWrite(o,u),await this.updateSyncIndex(o,u)}catch(s){if(s.code==="ENOENT"){v.warn(`renameInTree: _tree.json not found for ${i}`);return}this.handleDiskError(s,"renameInTree",o)}}async moveInTree(e,r){let n=this.extractServiceName(e),i=this.extractServiceName(r);if(!n||!i)return;let a=Ye.join(this.index.getExplorerRoot(),n,"_tree.json"),o=Ye.join(this.index.getExplorerRoot(),i,"_tree.json");try{let s=await Le.readFile(a,"utf-8"),c=JSON.parse(s),l=this.detachTreeNode(c,e);if(!l){v.warn("moveInTree: node not found",{oldPath:e,newPath:r});return}let u=this.getLeafName(r);if(u&&(l.name=u),n===i){let g=this.getParentPath(r);if(!g)return;this.insertTreeNode(c,g,l),c.syncedAt=new Date().toISOString();let b=JSON.stringify(c,null,2);await this.atomicWrite(a,b),await this.updateSyncIndex(a,b);return}let p=await Le.readFile(o,"utf-8"),d=JSON.parse(p),f=this.getParentPath(r);if(!f)return;this.insertTreeNode(d,f,l),c.syncedAt=new Date().toISOString(),d.syncedAt=new Date().toISOString();let m=JSON.stringify(c,null,2),h=JSON.stringify(d,null,2);await this.atomicWrite(a,m),await this.atomicWrite(o,h),await this.updateSyncIndex(a,m),await this.updateSyncIndex(o,h)}catch(s){if(s.code==="ENOENT"){v.warn("moveInTree: _tree.json not found",{oldService:n,newService:i});return}this.handleDiskError(s,"moveInTree",`${e} -> ${r}`)}}async atomicWrite(e,r){let n=".tmp."+fW().slice(0,8),i=e+n;try{await Le.writeFile(i,r,"utf-8"),await Le.rename(i,e),this.onWriteCallback?.(e)}catch(a){throw await Le.unlink(i).catch(()=>{}),a}}async ensureDir(e){await Le.mkdir(e,{recursive:!0})}handleDiskError(e,r,n){let i=e.code;if(i==="ENOSPC")throw new Error(`Disk full: cannot write sync file at ${n} (operation: ${r})`);if(i==="EPERM"||i==="EACCES")throw new Error(`Permission denied: cannot write to ${n} (operation: ${r})`);let a=e instanceof Error?e.message:String(e);throw new Error(`SyncWriter.${r} failed for ${n}: ${a}`)}appendHistory(e){this.historyBuffer.push(JSON.stringify(e)),this.historyBuffer.length>=Qz&&this.flushHistory()}async flushHistory(){if(this.historyBuffer.length===0)return;let e=this.historyBuffer.splice(0),r=this.config.getHistoryPath(this.placeId);try{await this.ensureDir(Ye.dirname(r));let n=[];try{n=(await Le.readFile(r,"utf-8")).split(`
|
|
108
108
|
`).filter(s=>s.length>0)}catch{}let i=[...n,...e],a=i.length>Yz?i.slice(i.length-Yz):i;await this.atomicWrite(r,a.join(`
|
|
109
109
|
`)+`
|
|
110
|
-
`)}catch(n){v.warn("Failed to flush history",{error:n instanceof Error?n.message:String(n),entries:e.length})}}appendChangeLog(e){let r=new Date().toISOString().replace("T"," ").slice(0,19);this.changeLogBuffer.push(`[${r}] ${e}`),this.changeLogBuffer.length>=Qz&&this.flushChangeLog()}async flushChangeLog(){if(this.changeLogBuffer.length===0)return;let e=this.changeLogBuffer.splice(0),r=this.config.getChangeLogPath(this.placeId);try{await this.ensureDir(
|
|
110
|
+
`)}catch(n){v.warn("Failed to flush history",{error:n instanceof Error?n.message:String(n),entries:e.length})}}appendChangeLog(e){let r=new Date().toISOString().replace("T"," ").slice(0,19);this.changeLogBuffer.push(`[${r}] ${e}`),this.changeLogBuffer.length>=Qz&&this.flushChangeLog()}async flushChangeLog(){if(this.changeLogBuffer.length===0)return;let e=this.changeLogBuffer.splice(0),r=this.config.getChangeLogPath(this.placeId);try{await this.ensureDir(Ye.dirname(r));let n=[];try{n=(await Le.readFile(r,"utf-8")).split(`
|
|
111
111
|
`).filter(s=>s.length>0)}catch{}let i=[...n,...e],a=i.length>Xz?i.slice(i.length-Xz):i;await this.atomicWrite(r,a.join(`
|
|
112
112
|
`)+`
|
|
113
|
-
`)}catch(n){v.warn("Failed to flush change log",{error:n instanceof Error?n.message:String(n),entries:e.length})}}startChangeLogFlusher(){this.flushTimer||(this.flushTimer=setInterval(()=>{this.flushChangeLog(),this.flushHistory()},mW),this.flushTimer&&typeof this.flushTimer=="object"&&"unref"in this.flushTimer&&this.flushTimer.unref())}stopChangeLogFlusher(){this.flushTimer&&(clearInterval(this.flushTimer),this.flushTimer=null),this.flushChangeLog(),this.flushHistory()}async updateSyncIndex(e,r){this.index.updateBothHashes(e,r)}relativePath(e){return Xe.relative(this.config.getSyncRoot(),e)}extractServiceName(e){return bt(e)[0]??""}findTreeNode(e,r){let n=bt(r);if(n.length<=1)return null;let i=e.children,a;for(let o=1;o<n.length;o++){if(!i||(a=i.find(s=>s.name===n[o]),!a))return null;i=a.children}return a??null}detachTreeNode(e,r){let n=this.getParentPath(r),i=this.getLeafName(r);if(!n||!i)return null;let a=this.findTreeNode(e,n),o=a?.children??e.children,s=o.findIndex(l=>l.name===i);if(s<0)return null;let[c]=o.splice(s,1);return a?a.childCount=o.length:e.childCount=o.length,c??null}insertTreeNode(e,r,n){let i=this.findTreeNode(e,r);if(i){i.children||(i.children=[]);let o=i.children.findIndex(s=>s.name===n.name);o>=0?i.children[o]=n:i.children.push(n),i.childCount=i.children.length;return}let a=e.children.findIndex(o=>o.name===n.name);a>=0?e.children[a]=n:e.children.push(n),e.childCount=e.children.length}getLeafName(e){let r=bt(e);return r.length===0?null:r[r.length-1]??null}getParentPath(e){let r=bt(e);return r.length<=1?null:`game.${r.slice(0,-1).join(".")}`}async copyDirectory(e,r){await this.ensureDir(r);let n=await Le.readdir(e,{withFileTypes:!0});for(let i of n){let a=Xe.join(e,i.name),o=Xe.join(r,i.name);i.isDirectory()?await this.copyDirectory(a,o):await Le.copyFile(a,o)}}async tryRename(e,r){try{return await Le.rename(e,r),!0}catch{return!1}}};import ze from"path";import{promises as xi}from"fs";var wd=class{index;placeRoot;constructor(e,r,n){this.index=r,this.placeRoot=n??e.getSyncRoot()}async buildReverseChanges(){let{modified:e,deleted:r}=await this.index.scanForFileModifications(),n=[];for(let a of e)try{let o;a.fileType==="script"?o=await this.readModifiedScript(a.fsPath,a.instancePath):a.fileType==="value"?o=await this.readModifiedValue(a.fsPath,a.instancePath):o=await this.readModifiedProps(a.fsPath,a.instancePath),n.push(o)}catch(o){v.warn("Failed to read modified file for reverse sync",{path:a.fsPath,error:o instanceof Error?o.message:String(o)})}let i=new Set;for(let a of r){if(i.has(a.instancePath))continue;i.add(a.instancePath);let o=ze.relative(this.placeRoot,a.fsPath);n.push({type:"instanceRemoved",instancePath:a.instancePath,fsPath:o,fileType:a.fileType,content:null})}return n}async buildChangesFromPending(e){let r=[],n=new Set,i=new Set,a=new Set;for(let o of e)if(o.type==="add"||o.type==="change"){let s=ze.dirname(o.fsPath),c=this.getFileType(o.fsPath);(c==="props"||c==="script"||c==="value")&&a.add(s)}for(let o of e)try{if(o.type==="addDir"||o.type==="unlinkDir"){let d=this.resolveInstancePathFromDirectory(o.fsPath);if(!d)continue;let f=this.getSiblingIndexForDirectory(o.fsPath),m=f?`${d}#${f}`:d;if(o.type==="unlinkDir"){if(n.has(m)||(n.add(m),this.isServiceInstance(d)))continue;let S=ze.relative(this.placeRoot,o.fsPath),_={type:"instanceRemoved",instancePath:d,fsPath:S,fileType:"directory",content:null};f&&(_.siblingIndex=f),r.push(_);continue}if(i.has(m)||this.isServiceInstance(d)||a.has(o.fsPath)||!await this.isContainerDirectory(o.fsPath))continue;let g=ze.relative(this.placeRoot,o.fsPath),b={type:"containerCreated",instancePath:d,fsPath:g,fileType:"directory",content:null,className:"Folder",parentPath:this.extractParentPath(d)};f&&(b.siblingIndex=f),i.add(m),r.push(b);continue}let s=this.resolveInstancePathFromFile(o.fsPath);if(!s)continue;let c=this.getSiblingIndexForFile(o.fsPath);if(o.type==="unlink"){let d=c?`${s}#${c}`:s;if(n.has(d)||(n.add(d),this.isServiceInstance(s)))continue;let f=ze.relative(this.placeRoot,o.fsPath),m=this.getFileType(o.fsPath);if(m!=="script"&&m!=="props"&&m!=="value")continue;let h={type:"instanceRemoved",instancePath:s,fsPath:f,fileType:m,content:null};c&&(h.siblingIndex=c),r.push(h);continue}let l=this.getFileType(o.fsPath),u=!this.index.hasEntry(o.fsPath)&&!this.index.hasInstancePath(s),p;if(u&&o.type==="add"){if(this.isServiceInstance(s))continue;if(l==="script")p=await this.readNewScript(o.fsPath,s);else if(l==="value")p=await this.readNewValue(o.fsPath,s);else if(l==="props")p=await this.readNewInstance(o.fsPath,s);else continue}else if(l==="script")p=await this.readModifiedScript(o.fsPath,s);else if(l==="value")p=await this.readModifiedValue(o.fsPath,s);else if(l==="props")p=await this.readModifiedProps(o.fsPath,s);else continue;c&&(p.siblingIndex=c),r.push(p)}catch(s){v.warn("Failed to build change from pending entry",{path:o.fsPath,type:o.type,error:s instanceof Error?s.message:String(s)})}return r}resolveInstancePathFromFile(e){return this.index.resolveInstancePathFromFsPath(e)}getSiblingIndexForFile(e){let r=this.index.getExplorerRoot();if(ze.basename(e)==="_tree.json")return;let i=ze.relative(r,e);if(i.startsWith(".."))return;let a=i.split(ze.sep).filter(p=>p.length>0);if(a.length<2)return;let o=a[a.length-2],s=ze.dirname(e),c=ze.dirname(s),l=this.index.getOriginalInstance(c,o);return l?l.siblingIndex:vi(o).siblingIndex}getFileType(e){return this.index.getFileTypeFromPath(e)}resolveInstancePathFromDirectory(e){let r=this.index.getExplorerRoot(),n=ze.relative(r,e);if(n.startsWith("..")||n===""||ze.isAbsolute(n))return null;let i=n.split(ze.sep).filter(s=>s.length>0);if(i.length===0)return null;let a=["game"],o=r;for(let s of i){o=ze.join(o,s);let c=ze.dirname(o);a.push(this.index.getOriginalNameForDir(c,s))}return ut(a)}getSiblingIndexForDirectory(e){let r=ze.basename(e),n=ze.dirname(e),i=this.index.getOriginalInstance(n,r);return i?i.siblingIndex:vi(r).siblingIndex}async isContainerDirectory(e){try{let r=await xi.readdir(e,{withFileTypes:!0});for(let n of r)if(n.isFile()&&Fa.some(i=>n.name.endsWith(i)))return!1;return!0}catch(r){if(r.code==="ENOENT")return!1;throw r}}async readModifiedScript(e,r){let n=await xi.readFile(e,"utf-8"),i=ze.relative(this.placeRoot,e);return{type:"scriptSource",instancePath:r,fsPath:i,fileType:"script",content:n}}async readModifiedProps(e,r){let n=await xi.readFile(e,"utf-8"),i=JSON.parse(n),a=ze.relative(this.placeRoot,e);return{type:"properties",instancePath:r,fsPath:a,fileType:"props",content:i}}async readModifiedValue(e,r){let n=await xi.readFile(e,"utf-8"),i=JSON.parse(n),a=ze.relative(this.placeRoot,e);return{type:"valueChanged",instancePath:r,fsPath:a,fileType:"value",content:i}}async readNewScript(e,r){let n=await xi.readFile(e,"utf-8"),i=ze.relative(this.placeRoot,e),a=ze.basename(e),o="ModuleScript";a.endsWith(".server.luau")?o="Script":a.endsWith(".client.luau")&&(o="LocalScript");let s=this.extractParentPath(r);return{type:"scriptCreated",instancePath:r,fsPath:i,fileType:"script",content:n,className:o,parentPath:s}}async readNewValue(e,r){let n=await xi.readFile(e,"utf-8"),i=JSON.parse(n),a=ze.relative(this.placeRoot,e),o=this.extractParentPath(r);return{type:"valueCreated",instancePath:r,fsPath:a,fileType:"value",content:i,className:i.className,parentPath:o}}async readNewInstance(e,r){let n=await xi.readFile(e,"utf-8"),i=JSON.parse(n),a=ze.relative(this.placeRoot,e),o=this.extractParentPath(r);return{type:"instanceCreated",instancePath:r,fsPath:a,fileType:"props",content:i,className:i.className,parentPath:o}}extractParentPath(e){return _t(e)}isServiceInstance(e){let r=tn(e);return r.length!==2||r[0]!=="game"?!1:Xb.has(r[1])}};import{EventEmitter as HW}from"node:events";import{stat as BW}from"node:fs";import{readdir as VW,stat as WW}from"node:fs/promises";import*as ne from"node:path";import{lstat as eR,readdir as hW,realpath as gW,stat as vW}from"node:fs/promises";import{join as yW,relative as xW,resolve as tR,sep as bW}from"node:path";import{Readable as _W}from"node:stream";var qt={FILE_TYPE:"files",DIR_TYPE:"directories",FILE_DIR_TYPE:"files_directories",EVERYTHING_TYPE:"all"},Yb={root:".",fileFilter:t=>!0,directoryFilter:t=>!0,type:qt.FILE_TYPE,lstat:!1,depth:2147483648,alwaysStat:!1,highWaterMark:4096};Object.freeze(Yb);var aR="READDIRP_RECURSIVE_ERROR",wW=new Set(["ENOENT","EPERM","EACCES","ELOOP",aR]),rR=[qt.DIR_TYPE,qt.EVERYTHING_TYPE,qt.FILE_DIR_TYPE,qt.FILE_TYPE],SW=new Set([qt.DIR_TYPE,qt.EVERYTHING_TYPE,qt.FILE_DIR_TYPE]),kW=new Set([qt.EVERYTHING_TYPE,qt.FILE_DIR_TYPE,qt.FILE_TYPE]),$W=t=>wW.has(t.code),IW=process.platform==="win32",nR=t=>!0,iR=t=>{if(t===void 0)return nR;if(typeof t=="function")return t;if(typeof t=="string"){let e=t.trim();return r=>r.basename===e}if(Array.isArray(t)){let e=t.map(r=>r.trim());return r=>e.some(n=>r.basename===n)}return nR},Qb=class extends _W{parents;reading;parent;_stat;_maxDepth;_wantsDir;_wantsFile;_wantsEverything;_root;_isDirent;_statsProp;_rdOptions;_fileFilter;_directoryFilter;constructor(e={}){super({objectMode:!0,autoDestroy:!0,highWaterMark:e.highWaterMark});let r={...Yb,...e},{root:n,type:i}=r;this._fileFilter=iR(r.fileFilter),this._directoryFilter=iR(r.directoryFilter);let a=r.lstat?eR:vW;IW?this._stat=o=>a(o,{bigint:!0}):this._stat=a,this._maxDepth=r.depth!=null&&Number.isSafeInteger(r.depth)?r.depth:Yb.depth,this._wantsDir=i?SW.has(i):!1,this._wantsFile=i?kW.has(i):!1,this._wantsEverything=i===qt.EVERYTHING_TYPE,this._root=tR(n),this._isDirent=!r.alwaysStat,this._statsProp=this._isDirent?"dirent":"stats",this._rdOptions={encoding:"utf8",withFileTypes:this._isDirent},this.parents=[this._exploreDir(n,1)],this.reading=!1,this.parent=void 0}async _read(e){if(!this.reading){this.reading=!0;try{for(;!this.destroyed&&e>0;){let r=this.parent,n=r&&r.files;if(n&&n.length>0){let{path:i,depth:a}=r,o=n.splice(0,e).map(c=>this._formatEntry(c,i)),s=await Promise.all(o);for(let c of s){if(!c)continue;if(this.destroyed)return;let l=await this._getEntryType(c);l==="directory"&&this._directoryFilter(c)?(a<=this._maxDepth&&this.parents.push(this._exploreDir(c.fullPath,a+1)),this._wantsDir&&(this.push(c),e--)):(l==="file"||this._includeAsFile(c))&&this._fileFilter(c)&&this._wantsFile&&(this.push(c),e--)}}else{let i=this.parents.pop();if(!i){this.push(null);break}if(this.parent=await i,this.destroyed)return}}}catch(r){this.destroy(r)}finally{this.reading=!1}}}async _exploreDir(e,r){let n;try{n=await hW(e,this._rdOptions)}catch(i){this._onError(i)}return{files:n,depth:r,path:e}}async _formatEntry(e,r){let n,i=this._isDirent?e.name:e;try{let a=tR(yW(r,i));n={path:xW(this._root,a),fullPath:a,basename:i},n[this._statsProp]=this._isDirent?e:await this._stat(a)}catch(a){this._onError(a);return}return n}_onError(e){$W(e)&&!this.destroyed?this.emit("warn",e):this.destroy(e)}async _getEntryType(e){if(!e&&this._statsProp in e)return"";let r=e[this._statsProp];if(r.isFile())return"file";if(r.isDirectory())return"directory";if(r&&r.isSymbolicLink()){let n=e.fullPath;try{let i=await gW(n),a=await eR(i);if(a.isFile())return"file";if(a.isDirectory()){let o=i.length;if(n.startsWith(i)&&n.substr(o,1)===bW){let s=new Error(`Circular symlink detected: "${n}" points to "${i}"`);return s.code=aR,this._onError(s)}return"directory"}}catch(i){return this._onError(i),""}}}_includeAsFile(e){let r=e&&e[this._statsProp];return r&&this._wantsEverything&&!r.isDirectory()}};function oR(t,e={}){let r=e.entryType||e.type;if(r==="both"&&(r=qt.FILE_DIR_TYPE),r&&(e.type=r),t){if(typeof t!="string")throw new TypeError("readdirp: root argument must be a string. Usage: readdirp(root, options)");if(r&&!rR.includes(r))throw new Error(`readdirp: Invalid type passed. Use one of ${rR.join(", ")}`)}else throw new Error("readdirp: root argument is required. Usage: readdirp(root, options)");return e.root=t,new Qb(e)}import{watch as PW,unwatchFile as sR,watchFile as EW}from"node:fs";import{realpath as e_,lstat as TW,open as CW,stat as lR}from"node:fs/promises";import{type as zW}from"node:os";import*as Re from"node:path";var RW="data",n_="end",uR="close",Pd=()=>{};var Ed=process.platform,i_=Ed==="win32",jW=Ed==="darwin",DW=Ed==="linux",OW=Ed==="freebsd",pR=zW()==="OS400",De={ALL:"all",READY:"ready",ADD:"add",CHANGE:"change",ADD_DIR:"addDir",UNLINK:"unlink",UNLINK_DIR:"unlinkDir",RAW:"raw",ERROR:"error"},mr=De,NW="watch",AW={lstat:TW,stat:lR},bi="listeners",Sd="errHandlers",Ha="rawEmitters",MW=[bi,Sd,Ha],UW=new Set(["3dm","3ds","3g2","3gp","7z","a","aac","adp","afdesign","afphoto","afpub","ai","aif","aiff","alz","ape","apk","appimage","ar","arj","asf","au","avi","bak","baml","bh","bin","bk","bmp","btif","bz2","bzip2","cab","caf","cgm","class","cmx","cpio","cr2","cur","dat","dcm","deb","dex","djvu","dll","dmg","dng","doc","docm","docx","dot","dotm","dra","DS_Store","dsk","dts","dtshd","dvb","dwg","dxf","ecelp4800","ecelp7470","ecelp9600","egg","eol","eot","epub","exe","f4v","fbs","fh","fla","flac","flatpak","fli","flv","fpx","fst","fvt","g3","gh","gif","graffle","gz","gzip","h261","h263","h264","icns","ico","ief","img","ipa","iso","jar","jpeg","jpg","jpgv","jpm","jxr","key","ktx","lha","lib","lvp","lz","lzh","lzma","lzo","m3u","m4a","m4v","mar","mdi","mht","mid","midi","mj2","mka","mkv","mmr","mng","mobi","mov","movie","mp3","mp4","mp4a","mpeg","mpg","mpga","mxu","nef","npx","numbers","nupkg","o","odp","ods","odt","oga","ogg","ogv","otf","ott","pages","pbm","pcx","pdb","pdf","pea","pgm","pic","png","pnm","pot","potm","potx","ppa","ppam","ppm","pps","ppsm","ppsx","ppt","pptm","pptx","psd","pya","pyc","pyo","pyv","qt","rar","ras","raw","resources","rgb","rip","rlc","rmf","rmvb","rpm","rtf","rz","s3m","s7z","scpt","sgi","shar","snap","sil","sketch","slk","smv","snk","so","stl","suo","sub","swf","tar","tbz","tbz2","tga","tgz","thmx","tif","tiff","tlz","ttc","ttf","txz","udf","uvh","uvi","uvm","uvp","uvs","uvu","viv","vob","war","wav","wax","wbmp","wdp","weba","webm","webp","whl","wim","wm","wma","wmv","wmx","woff","woff2","wrm","wvx","xbm","xif","xla","xlam","xls","xlsb","xlsm","xlsx","xlt","xltm","xltx","xm","xmind","xpi","xpm","xwd","xz","z","zip","zipx"]),FW=t=>UW.has(Re.extname(t).slice(1).toLowerCase()),r_=(t,e)=>{t instanceof Set?t.forEach(e):e(t)},Sc=(t,e,r)=>{let n=t[e];n instanceof Set||(t[e]=n=new Set([n])),n.add(r)},qW=t=>e=>{let r=t[e];r instanceof Set?r.clear():delete t[e]},kc=(t,e,r)=>{let n=t[e];n instanceof Set?n.delete(r):n===r&&delete t[e]},dR=t=>t instanceof Set?t.size===0:!t,kd=new Map;function cR(t,e,r,n,i){let a=(o,s)=>{r(t),i(o,s,{watchedPath:t}),s&&t!==s&&$d(Re.resolve(t,s),bi,Re.join(t,s))};try{return PW(t,{persistent:e.persistent},a)}catch(o){n(o);return}}var $d=(t,e,r,n,i)=>{let a=kd.get(t);a&&r_(a[e],o=>{o(r,n,i)})},LW=(t,e,r,n)=>{let{listener:i,errHandler:a,rawEmitter:o}=n,s=kd.get(e),c;if(!r.persistent)return c=cR(t,r,i,a,o),c?c.close.bind(c):void 0;if(s)Sc(s,bi,i),Sc(s,Sd,a),Sc(s,Ha,o);else{if(c=cR(t,r,$d.bind(null,e,bi),a,$d.bind(null,e,Ha)),!c)return;c.on(mr.ERROR,async l=>{let u=$d.bind(null,e,Sd);if(s&&(s.watcherUnusable=!0),i_&&l.code==="EPERM")try{await(await CW(t,"r")).close(),u(l)}catch{}else u(l)}),s={listeners:i,errHandlers:a,rawEmitters:o,watcher:c},kd.set(e,s)}return()=>{kc(s,bi,i),kc(s,Sd,a),kc(s,Ha,o),dR(s.listeners)&&(s.watcher.close(),kd.delete(e),MW.forEach(qW(s)),s.watcher=void 0,Object.freeze(s))}},t_=new Map,ZW=(t,e,r,n)=>{let{listener:i,rawEmitter:a}=n,o=t_.get(e),s=o&&o.options;return s&&(s.persistent<r.persistent||s.interval>r.interval)&&(sR(e),o=void 0),o?(Sc(o,bi,i),Sc(o,Ha,a)):(o={listeners:i,rawEmitters:a,options:r,watcher:EW(e,r,(c,l)=>{r_(o.rawEmitters,p=>{p(mr.CHANGE,e,{curr:c,prev:l})});let u=c.mtimeMs;(c.size!==l.size||u>l.mtimeMs||u===0)&&r_(o.listeners,p=>p(t,c))})},t_.set(e,o)),()=>{kc(o,bi,i),kc(o,Ha,a),dR(o.listeners)&&(t_.delete(e),sR(e),o.options=o.watcher=void 0,Object.freeze(o))}},Id=class{fsw;_boundHandleError;constructor(e){this.fsw=e,this._boundHandleError=r=>e._handleError(r)}_watchWithNodeFs(e,r){let n=this.fsw.options,i=Re.dirname(e),a=Re.basename(e);this.fsw._getWatchedDir(i).add(a);let s=Re.resolve(e),c={persistent:n.persistent};r||(r=Pd);let l;if(n.usePolling){let u=n.interval!==n.binaryInterval;c.interval=u&&FW(a)?n.binaryInterval:n.interval,l=ZW(e,s,c,{listener:r,rawEmitter:this.fsw._emitRaw})}else l=LW(e,s,c,{listener:r,errHandler:this._boundHandleError,rawEmitter:this.fsw._emitRaw});return l}_handleFile(e,r,n){if(this.fsw.closed)return;let i=Re.dirname(e),a=Re.basename(e),o=this.fsw._getWatchedDir(i),s=r;if(o.has(a))return;let c=async(u,p)=>{if(this.fsw._throttle(NW,e,5)){if(!p||p.mtimeMs===0)try{let d=await lR(e);if(this.fsw.closed)return;let f=d.atimeMs,m=d.mtimeMs;if((!f||f<=m||m!==s.mtimeMs)&&this.fsw._emit(mr.CHANGE,e,d),(jW||DW||OW)&&s.ino!==d.ino){this.fsw._closeFile(u),s=d;let h=this._watchWithNodeFs(e,c);h&&this.fsw._addPathCloser(u,h)}else s=d}catch{this.fsw._remove(i,a)}else if(o.has(a)){let d=p.atimeMs,f=p.mtimeMs;(!d||d<=f||f!==s.mtimeMs)&&this.fsw._emit(mr.CHANGE,e,p),s=p}}},l=this._watchWithNodeFs(e,c);if(!(n&&this.fsw.options.ignoreInitial)&&this.fsw._isntIgnored(e)){if(!this.fsw._throttle(mr.ADD,e,0))return;this.fsw._emit(mr.ADD,e,r)}return l}async _handleSymlink(e,r,n,i){if(this.fsw.closed)return;let a=e.fullPath,o=this.fsw._getWatchedDir(r);if(!this.fsw.options.followSymlinks){this.fsw._incrReadyCount();let s;try{s=await e_(n)}catch{return this.fsw._emitReady(),!0}return this.fsw.closed?void 0:(o.has(i)?this.fsw._symlinkPaths.get(a)!==s&&(this.fsw._symlinkPaths.set(a,s),this.fsw._emit(mr.CHANGE,n,e.stats)):(o.add(i),this.fsw._symlinkPaths.set(a,s),this.fsw._emit(mr.ADD,n,e.stats)),this.fsw._emitReady(),!0)}if(this.fsw._symlinkPaths.has(a))return!0;this.fsw._symlinkPaths.set(a,!0)}_handleRead(e,r,n,i,a,o,s){e=Re.join(e,"");let c=i?`${e}:${i}`:e;if(s=this.fsw._throttle("readdir",c,1e3),!s)return;let l=this.fsw._getWatchedDir(n.path),u=new Set,p=this.fsw._readdirp(e,{fileFilter:d=>n.filterPath(d),directoryFilter:d=>n.filterDir(d)});if(p)return p.on(RW,async d=>{if(this.fsw.closed){p=void 0;return}let f=d.path,m=Re.join(e,f);if(u.add(f),!(d.stats.isSymbolicLink()&&await this._handleSymlink(d,e,m,f))){if(this.fsw.closed){p=void 0;return}(f===i||!i&&!l.has(f))&&(this.fsw._incrReadyCount(),m=Re.join(a,Re.relative(a,m)),this._addToNodeFs(m,r,n,o+1))}}).on(mr.ERROR,this._boundHandleError),new Promise((d,f)=>{if(!p)return f();p.once(n_,()=>{if(this.fsw.closed){p=void 0;return}let m=s?s.clear():!1;d(void 0),l.getChildren().filter(h=>h!==e&&!u.has(h)).forEach(h=>{this.fsw._remove(e,h)}),p=void 0,m&&this._handleRead(e,!1,n,i,a,o,s)})})}async _handleDir(e,r,n,i,a,o,s){let c=this.fsw._getWatchedDir(Re.dirname(e)),l=c.has(Re.basename(e));!(n&&this.fsw.options.ignoreInitial)&&!a&&!l&&this.fsw._emit(mr.ADD_DIR,e,r),c.add(Re.basename(e)),this.fsw._getWatchedDir(e);let u,p,d=this.fsw.options.depth;if((d==null||i<=d)&&!this.fsw._symlinkPaths.has(s)){if(!a&&(await this._handleRead(e,n,o,a,e,i,u),this.fsw.closed))return;p=this._watchWithNodeFs(e,(f,m)=>{m&&m.mtimeMs===0||this._handleRead(f,!1,o,a,e,i,u)})}return p}async _addToNodeFs(e,r,n,i,a){let o=this.fsw._emitReady;if(this.fsw._isIgnored(e)||this.fsw.closed)return o(),!1;let s=this.fsw._getWatchHelpers(e);n&&(s.filterPath=c=>n.filterPath(c),s.filterDir=c=>n.filterDir(c));try{let c=await AW[s.statMethod](s.watchPath);if(this.fsw.closed)return;if(this.fsw._isIgnored(s.watchPath,c))return o(),!1;let l=this.fsw.options.followSymlinks,u;if(c.isDirectory()){let p=Re.resolve(e),d=l?await e_(e):e;if(this.fsw.closed||(u=await this._handleDir(s.watchPath,c,r,i,a,s,d),this.fsw.closed))return;p!==d&&d!==void 0&&this.fsw._symlinkPaths.set(p,d)}else if(c.isSymbolicLink()){let p=l?await e_(e):e;if(this.fsw.closed)return;let d=Re.dirname(s.watchPath);if(this.fsw._getWatchedDir(d).add(s.watchPath),this.fsw._emit(mr.ADD,s.watchPath,c),u=await this._handleDir(d,c,r,i,e,s,p),this.fsw.closed)return;p!==void 0&&this.fsw._symlinkPaths.set(Re.resolve(e),p)}else u=this._handleFile(s.watchPath,c,r);return o(),u&&this.fsw._addPathCloser(e,u),!1}catch(c){if(this.fsw._handleError(c))return o(),e}}};var a_="/",JW="//",vR=".",GW="..",KW="string",XW=/\\/g,yR=/\/\//g,YW=/\..*\.(sw[px])$|~$|\.subl.*\.tmp/,QW=/^\.[/\\]/;function Td(t){return Array.isArray(t)?t:[t]}var o_=t=>typeof t=="object"&&t!==null&&!(t instanceof RegExp);function eJ(t){return typeof t=="function"?t:typeof t=="string"?e=>t===e:t instanceof RegExp?e=>t.test(e):typeof t=="object"&&t!==null?e=>{if(t.path===e)return!0;if(t.recursive){let r=ne.relative(t.path,e);return r?!r.startsWith("..")&&!ne.isAbsolute(r):!1}return!1}:()=>!1}function tJ(t){if(typeof t!="string")throw new Error("string expected");t=ne.normalize(t),t=t.replace(/\\/g,"/");let e=!1;return t.startsWith("//")&&(e=!0),t=t.replace(yR,"/"),e&&(t="/"+t),t}function fR(t,e,r){let n=tJ(e);for(let i=0;i<t.length;i++){let a=t[i];if(a(n,r))return!0}return!1}function rJ(t,e){if(t==null)throw new TypeError("anymatch: specify first argument");let n=Td(t).map(i=>eJ(i));return e==null?(i,a)=>fR(n,i,a):fR(n,e)}var mR=t=>{let e=Td(t).flat();if(!e.every(r=>typeof r===KW))throw new TypeError(`Non-string provided as watch path: ${e}`);return e.map(xR)},hR=t=>{let e=t.replace(XW,a_),r=!1;return e.startsWith(JW)&&(r=!0),e=e.replace(yR,a_),r&&(e=a_+e),e},xR=t=>hR(ne.normalize(hR(t))),gR=(t="")=>e=>typeof e=="string"?xR(ne.isAbsolute(e)?e:ne.join(t,e)):e,nJ=(t,e)=>ne.isAbsolute(t)?t:ne.join(e,t),iJ=Object.freeze(new Set),s_=class{path;_removeWatcher;items;constructor(e,r){this.path=e,this._removeWatcher=r,this.items=new Set}add(e){let{items:r}=this;r&&e!==vR&&e!==GW&&r.add(e)}async remove(e){let{items:r}=this;if(!r||(r.delete(e),r.size>0))return;let n=this.path;try{await VW(n)}catch{this._removeWatcher&&this._removeWatcher(ne.dirname(n),ne.basename(n))}}has(e){let{items:r}=this;if(r)return r.has(e)}getChildren(){let{items:e}=this;return e?[...e.values()]:[]}dispose(){this.items.clear(),this.path="",this._removeWatcher=Pd,this.items=iJ,Object.freeze(this)}},aJ="stat",oJ="lstat",c_=class{fsw;path;watchPath;fullWatchPath;dirParts;followSymlinks;statMethod;constructor(e,r,n){this.fsw=n;let i=e;this.path=e=e.replace(QW,""),this.watchPath=i,this.fullWatchPath=ne.resolve(i),this.dirParts=[],this.dirParts.forEach(a=>{a.length>1&&a.pop()}),this.followSymlinks=r,this.statMethod=r?aJ:oJ}entryPath(e){return ne.join(this.watchPath,ne.relative(this.watchPath,e.fullPath))}filterPath(e){let{stats:r}=e;if(r&&r.isSymbolicLink())return this.filterDir(e);let n=this.entryPath(e);return this.fsw._isntIgnored(n,r)&&this.fsw._hasReadPermissions(r)}filterDir(e){return this.fsw._isntIgnored(this.entryPath(e),e.stats)}},l_=class extends HW{closed;options;_closers;_ignoredPaths;_throttled;_streams;_symlinkPaths;_watched;_pendingWrites;_pendingUnlinks;_readyCount;_emitReady;_closePromise;_userIgnored;_readyEmitted;_emitRaw;_boundRemove;_nodeFsHandler;constructor(e={}){super(),this.closed=!1,this._closers=new Map,this._ignoredPaths=new Set,this._throttled=new Map,this._streams=new Set,this._symlinkPaths=new Map,this._watched=new Map,this._pendingWrites=new Map,this._pendingUnlinks=new Map,this._readyCount=0,this._readyEmitted=!1;let r=e.awaitWriteFinish,n={stabilityThreshold:2e3,pollInterval:100},i={persistent:!0,ignoreInitial:!1,ignorePermissionErrors:!1,interval:100,binaryInterval:300,followSymlinks:!0,usePolling:!1,atomic:!0,...e,ignored:e.ignored?Td(e.ignored):Td([]),awaitWriteFinish:r===!0?n:typeof r=="object"?{...n,...r}:!1};pR&&(i.usePolling=!0),i.atomic===void 0&&(i.atomic=!i.usePolling);let a=process.env.CHOKIDAR_USEPOLLING;if(a!==void 0){let c=a.toLowerCase();c==="false"||c==="0"?i.usePolling=!1:c==="true"||c==="1"?i.usePolling=!0:i.usePolling=!!c}let o=process.env.CHOKIDAR_INTERVAL;o&&(i.interval=Number.parseInt(o,10));let s=0;this._emitReady=()=>{s++,s>=this._readyCount&&(this._emitReady=Pd,this._readyEmitted=!0,process.nextTick(()=>this.emit(De.READY)))},this._emitRaw=(...c)=>this.emit(De.RAW,...c),this._boundRemove=this._remove.bind(this),this.options=i,this._nodeFsHandler=new Id(this),Object.freeze(i)}_addIgnoredPath(e){if(o_(e)){for(let r of this._ignoredPaths)if(o_(r)&&r.path===e.path&&r.recursive===e.recursive)return}this._ignoredPaths.add(e)}_removeIgnoredPath(e){if(this._ignoredPaths.delete(e),typeof e=="string")for(let r of this._ignoredPaths)o_(r)&&r.path===e&&this._ignoredPaths.delete(r)}add(e,r,n){let{cwd:i}=this.options;this.closed=!1,this._closePromise=void 0;let a=mR(e);return i&&(a=a.map(o=>nJ(o,i))),a.forEach(o=>{this._removeIgnoredPath(o)}),this._userIgnored=void 0,this._readyCount||(this._readyCount=0),this._readyCount+=a.length,Promise.all(a.map(async o=>{let s=await this._nodeFsHandler._addToNodeFs(o,!n,void 0,0,r);return s&&this._emitReady(),s})).then(o=>{this.closed||o.forEach(s=>{s&&this.add(ne.dirname(s),ne.basename(r||s))})}),this}unwatch(e){if(this.closed)return this;let r=mR(e),{cwd:n}=this.options;return r.forEach(i=>{!ne.isAbsolute(i)&&!this._closers.has(i)&&(n&&(i=ne.join(n,i)),i=ne.resolve(i)),this._closePath(i),this._addIgnoredPath(i),this._watched.has(i)&&this._addIgnoredPath({path:i,recursive:!0}),this._userIgnored=void 0}),this}close(){if(this._closePromise)return this._closePromise;this.closed=!0,this.removeAllListeners();let e=[];return this._closers.forEach(r=>r.forEach(n=>{let i=n();i instanceof Promise&&e.push(i)})),this._streams.forEach(r=>r.destroy()),this._userIgnored=void 0,this._readyCount=0,this._readyEmitted=!1,this._watched.forEach(r=>r.dispose()),this._closers.clear(),this._watched.clear(),this._streams.clear(),this._symlinkPaths.clear(),this._throttled.clear(),this._closePromise=e.length?Promise.all(e).then(()=>{}):Promise.resolve(),this._closePromise}getWatched(){let e={};return this._watched.forEach((r,n)=>{let a=(this.options.cwd?ne.relative(this.options.cwd,n):n)||vR;e[a]=r.getChildren().sort()}),e}emitWithAll(e,r){this.emit(e,...r),e!==De.ERROR&&this.emit(De.ALL,e,...r)}async _emit(e,r,n){if(this.closed)return;let i=this.options;i_&&(r=ne.normalize(r)),i.cwd&&(r=ne.relative(i.cwd,r));let a=[r];n!=null&&a.push(n);let o=i.awaitWriteFinish,s;if(o&&(s=this._pendingWrites.get(r)))return s.lastChange=new Date,this;if(i.atomic){if(e===De.UNLINK)return this._pendingUnlinks.set(r,[e,...a]),setTimeout(()=>{this._pendingUnlinks.forEach((c,l)=>{this.emit(...c),this.emit(De.ALL,...c),this._pendingUnlinks.delete(l)})},typeof i.atomic=="number"?i.atomic:100),this;e===De.ADD&&this._pendingUnlinks.has(r)&&(e=De.CHANGE,this._pendingUnlinks.delete(r))}if(o&&(e===De.ADD||e===De.CHANGE)&&this._readyEmitted){let c=(l,u)=>{l?(e=De.ERROR,a[0]=l,this.emitWithAll(e,a)):u&&(a.length>1?a[1]=u:a.push(u),this.emitWithAll(e,a))};return this._awaitWriteFinish(r,o.stabilityThreshold,e,c),this}if(e===De.CHANGE&&!this._throttle(De.CHANGE,r,50))return this;if(i.alwaysStat&&n===void 0&&(e===De.ADD||e===De.ADD_DIR||e===De.CHANGE)){let c=i.cwd?ne.join(i.cwd,r):r,l;try{l=await WW(c)}catch{}if(!l||this.closed)return;a.push(l)}return this.emitWithAll(e,a),this}_handleError(e){let r=e&&e.code;return e&&r!=="ENOENT"&&r!=="ENOTDIR"&&(!this.options.ignorePermissionErrors||r!=="EPERM"&&r!=="EACCES")&&this.emit(De.ERROR,e),e||this.closed}_throttle(e,r,n){this._throttled.has(e)||this._throttled.set(e,new Map);let i=this._throttled.get(e);if(!i)throw new Error("invalid throttle");let a=i.get(r);if(a)return a.count++,!1;let o,s=()=>{let l=i.get(r),u=l?l.count:0;return i.delete(r),clearTimeout(o),l&&clearTimeout(l.timeoutObject),u};o=setTimeout(s,n);let c={timeoutObject:o,clear:s,count:0};return i.set(r,c),c}_incrReadyCount(){return this._readyCount++}_awaitWriteFinish(e,r,n,i){let a=this.options.awaitWriteFinish;if(typeof a!="object")return;let o=a.pollInterval,s,c=e;this.options.cwd&&!ne.isAbsolute(e)&&(c=ne.join(this.options.cwd,e));let l=new Date,u=this._pendingWrites;function p(d){BW(c,(f,m)=>{if(f||!u.has(e)){f&&f.code!=="ENOENT"&&i(f);return}let h=Number(new Date);d&&m.size!==d.size&&(u.get(e).lastChange=h);let g=u.get(e);h-g.lastChange>=r?(u.delete(e),i(void 0,m)):s=setTimeout(p,o,m)})}u.has(e)||(u.set(e,{lastChange:l,cancelWait:()=>(u.delete(e),clearTimeout(s),n)}),s=setTimeout(p,o))}_isIgnored(e,r){if(this.options.atomic&&YW.test(e))return!0;if(!this._userIgnored){let{cwd:n}=this.options,a=(this.options.ignored||[]).map(gR(n)),s=[...[...this._ignoredPaths].map(gR(n)),...a];this._userIgnored=rJ(s,void 0)}return this._userIgnored(e,r)}_isntIgnored(e,r){return!this._isIgnored(e,r)}_getWatchHelpers(e){return new c_(e,this.options.followSymlinks,this)}_getWatchedDir(e){let r=ne.resolve(e);return this._watched.has(r)||this._watched.set(r,new s_(r,this._boundRemove)),this._watched.get(r)}_hasReadPermissions(e){return this.options.ignorePermissionErrors?!0:!!(Number(e.mode)&256)}_remove(e,r,n){let i=ne.join(e,r),a=ne.resolve(i);if(n=n??(this._watched.has(i)||this._watched.has(a)),!this._throttle("remove",i,100))return;!n&&this._watched.size===1&&this.add(e,r,!0),this._getWatchedDir(i).getChildren().forEach(d=>this._remove(i,d));let c=this._getWatchedDir(e),l=c.has(r);c.remove(r),this._symlinkPaths.has(a)&&this._symlinkPaths.delete(a);let u=i;if(this.options.cwd&&(u=ne.relative(this.options.cwd,i)),this.options.awaitWriteFinish&&this._pendingWrites.has(u)&&this._pendingWrites.get(u).cancelWait()===De.ADD)return;this._watched.delete(i),this._watched.delete(a);let p=n?De.UNLINK_DIR:De.UNLINK;l&&!this._isIgnored(i)&&this._emit(p,i),this._closePath(i)}_closePath(e){this._closeFile(e);let r=ne.dirname(e);this._getWatchedDir(r).remove(ne.basename(e))}_closeFile(e){let r=this._closers.get(e);r&&(r.forEach(n=>n()),this._closers.delete(e))}_addPathCloser(e,r){if(!r)return;let n=this._closers.get(e);n||(n=[],this._closers.set(e,n)),n.push(r)}_readdirp(e,r){if(this.closed)return;let n={type:De.ALL,alwaysStat:!0,lstat:!0,...r,depth:0},i=oR(e,n);return this._streams.add(i),i.once(uR,()=>{i=void 0}),i.once(n_,()=>{i&&(this._streams.delete(i),i=void 0)}),i}};function bR(t,e={}){let r=new l_(e);return r.add(t),r}import*as wR from"fs/promises";import{createHash as sJ}from"crypto";import*as We from"path";var _R=300,u_=500,cJ=5e3,Cd=class{watcher=null;pendingChanges=new Map;suppressedPaths=new Map;debounceTimers=new Map;cleanupTimer=null;readyResolvers=[];isReady=!1;restartAttempts=0;MAX_RESTART_ATTEMPTS=3;RESTART_BASE_DELAY_MS=1e3;explorerRoot;syncIndex;directionChecker=null;onForwardViolation=null;constructor(e,r){this.explorerRoot=We.resolve(e),this.syncIndex=r}setDirectionChecker(e){this.directionChecker=e}setOnForwardViolation(e){this.onForwardViolation=e}injectPending(e){this.pendingChanges.set(e.fsPath,e),v.debug("SyncFileWatcher: injected pending change",{relativePath:e.relativePath,type:e.type})}async start(){this.watcher&&(v.warn("SyncFileWatcher: already started, stopping first"),await this.stop()),v.info("SyncFileWatcher: starting",{explorerRoot:this.explorerRoot}),this.watcher=bR(this.explorerRoot,{ignoreInitial:!0,awaitWriteFinish:{stabilityThreshold:200,pollInterval:50},ignored:e=>this.isIgnored(e),persistent:!0,depth:30}),this.watcher.on("change",e=>{this.handleFileEvent("change",e)}),this.watcher.on("add",e=>{this.handleFileEvent("add",e)}),this.watcher.on("unlink",e=>{this.handleFileEvent("unlink",e)}),this.watcher.on("addDir",e=>{this.handleDirEvent("addDir",e)}),this.watcher.on("unlinkDir",e=>{this.handleDirEvent("unlinkDir",e)}),this.watcher.on("error",e=>{let r=e instanceof Error?e:new Error(String(e));if(v.error("SyncFileWatcher: watcher error",r),this.isReady=!1,this.restartAttempts<this.MAX_RESTART_ATTEMPTS){let n=this.RESTART_BASE_DELAY_MS*Math.pow(2,this.restartAttempts);this.restartAttempts++,v.warn(`SyncFileWatcher: attempting restart ${this.restartAttempts}/${this.MAX_RESTART_ATTEMPTS} in ${n}ms`),setTimeout(()=>{this.stop().then(()=>this.start()).then(()=>{v.info("SyncFileWatcher: successfully restarted after error"),this.restartAttempts=0}).catch(i=>{v.error("SyncFileWatcher: restart failed",i instanceof Error?i:new Error(String(i)))})},n)}else v.error(`SyncFileWatcher: max restart attempts (${this.MAX_RESTART_ATTEMPTS}) exhausted, file change detection is unavailable`)}),this.isReady=!1,this.watcher.on("ready",()=>{v.info("SyncFileWatcher: watcher ready"),this.isReady=!0;for(let e of this.readyResolvers)e();this.readyResolvers=[]}),this.cleanupTimer=setInterval(()=>{this.cleanupSuppressed()},cJ),this.cleanupTimer&&typeof this.cleanupTimer=="object"&&"unref"in this.cleanupTimer&&this.cleanupTimer.unref()}async stop(){v.info("SyncFileWatcher: stopping"),this.watcher&&(await this.watcher.close(),this.watcher=null);for(let e of this.debounceTimers.values())clearTimeout(e);this.debounceTimers.clear(),this.cleanupTimer&&(clearInterval(this.cleanupTimer),this.cleanupTimer=null),this.pendingChanges.clear(),this.suppressedPaths.clear();for(let e of this.readyResolvers)e();this.readyResolvers=[],this.isReady=!1}waitUntilReady(){return this.isReady?Promise.resolve():new Promise(e=>{this.readyResolvers.push(e)})}getPendingCount(){return this.pendingChanges.size}getLastDetected(){let e=null;for(let r of this.pendingChanges.values())(!e||r.detectedAt>e)&&(e=r.detectedAt);return e}drainPendingChanges(){let e=Array.from(this.pendingChanges.values());return this.pendingChanges.clear(),e}hasPending(e){return this.pendingChanges.has(e)}async rescan(){let e=await this.syncIndex.getModifiedFiles(),r=0;for(let n of e){let i=n.fsPath;if(this.pendingChanges.has(i))continue;let a;switch(n.changeType){case"modified":a="change";break;case"added":a="add";break;case"deleted":a="unlink";break;default:continue}let o=We.relative(this.explorerRoot,i);this.pendingChanges.set(i,{fsPath:i,relativePath:o,type:a,detectedAt:new Date().toISOString()}),r++}return r>0&&v.info("SyncFileWatcher: rescan found missed changes",{added:r}),r}suppressPath(e){this.suppressedPaths.set(We.resolve(e),Date.now())}handleDirEvent(e,r){let n=We.resolve(r),i=We.relative(this.explorerRoot,n);if(i.startsWith("..")||i===""||i.split(We.sep).filter(l=>l.length>0).length<=1)return;let o=this.suppressedPaths.get(n);if(o!==void 0){if(Date.now()-o<u_)return;this.suppressedPaths.delete(n)}if(e==="unlinkDir"){let l=We.relative(this.explorerRoot,n),u=n+We.sep;for(let d of this.pendingChanges.keys())(d.startsWith(u)||d===n)&&this.pendingChanges.delete(d);let p=this.debounceTimers.get(n);p&&(clearTimeout(p),this.debounceTimers.delete(n));for(let d of this.debounceTimers.keys())d.startsWith(u)&&(clearTimeout(this.debounceTimers.get(d)),this.debounceTimers.delete(d));if(this.directionChecker&&this.directionChecker(l)==="forward"){v.debug("SyncFileWatcher: forward-only dir event ignored",{relativePath:l,eventType:e}),this.onForwardViolation&&this.onForwardViolation(l);return}this.enqueueDirChange(n,e);return}let s=this.debounceTimers.get(n);s&&clearTimeout(s);let c=setTimeout(()=>{this.debounceTimers.delete(n),this.enqueueDirChange(n,e)},_R);this.debounceTimers.set(n,c)}enqueueDirChange(e,r){let n=We.relative(this.explorerRoot,e);if(this.directionChecker&&this.directionChecker(n)==="forward"){v.debug("SyncFileWatcher: forward-only dir event ignored",{relativePath:n,eventType:r}),this.onForwardViolation&&this.onForwardViolation(n);return}this.pendingChanges.set(e,{fsPath:e,relativePath:n,type:r,detectedAt:new Date().toISOString()}),v.debug("SyncFileWatcher: dir event",{relativePath:n,eventType:r})}handleFileEvent(e,r){let n=We.resolve(r),i=this.suppressedPaths.get(n);if(i!==void 0){if(Date.now()-i<u_){v.debug("SyncFileWatcher: suppressed echo",{path:We.relative(this.explorerRoot,n),eventType:e});return}this.suppressedPaths.delete(n)}let a=this.debounceTimers.get(n);a&&clearTimeout(a);let o=setTimeout(()=>{this.debounceTimers.delete(n),this.processFileChange(e,n)},_R);this.debounceTimers.set(n,o)}async processFileChange(e,r){let n=We.relative(this.explorerRoot,r);if(e==="add"&&Fa.some(i=>r.endsWith(i))){let i=We.dirname(r),a=this.pendingChanges.get(i);a&&a.type==="addDir"&&this.pendingChanges.delete(i);let o=this.debounceTimers.get(i);o&&(clearTimeout(o),this.debounceTimers.delete(i))}if(this.directionChecker&&this.directionChecker(n)==="forward"){v.debug("SyncFileWatcher: forward-only path modified, triggering restore",{relativePath:n,eventType:e}),this.onForwardViolation&&this.onForwardViolation(n);return}if(e==="unlink"){this.pendingChanges.set(r,{fsPath:r,relativePath:n,type:"unlink",detectedAt:new Date().toISOString()}),v.debug("SyncFileWatcher: file deleted",{relativePath:n});return}try{let i=await wR.readFile(r,"utf-8"),a=sJ("md5").update(i,"utf-8").digest("hex"),o=this.syncIndex.getFileHash(r);if(o&&a===o){v.debug("SyncFileWatcher: hash match (echo), skipping",{relativePath:n});return}this.pendingChanges.set(r,{fsPath:r,relativePath:n,type:e,detectedAt:new Date().toISOString()}),v.debug("SyncFileWatcher: change detected",{relativePath:n,eventType:e,hasStoredHash:!!o})}catch(i){if(i.code==="ENOENT"){this.pendingChanges.set(r,{fsPath:r,relativePath:n,type:"unlink",detectedAt:new Date().toISOString()});return}v.warn("SyncFileWatcher: failed to read changed file",{path:n,error:i instanceof Error?i.message:String(i)})}}isIgnored(e){let r=We.basename(e);return r==="_tree.json"||r===".sync-meta.json"||r===".sync-index.json"||r==="changes.log"||r==="history.jsonl"||r.includes(".tmp.")}cleanupSuppressed(){let e=Date.now();for(let[r,n]of this.suppressedPaths)e-n>u_&&this.suppressedPaths.delete(r)}};import Ba from"path";import{promises as SR}from"fs";function _i(t,e,r,n,i=!1){if(n&&n>=1){let s=_t(e);if(s){let c=t.getEffectiveDir(s,n);if(c){let l=jt(e);if(r){let u=t.getResolvedName(e,r);if(u)l=u;else if(i)throw new Error(`Missing collision mapping for ${e}#${r}`)}return p_(t,c,l)}if(i)throw new Error(`Missing parent collision mapping for ${s}#${n}`)}}let a=t.getEffectiveDir(e,r??1);if(a){let s=t.getExplorerRoot(),c=Ba.relative(s,a).split(Ba.sep).filter(l=>l.length>0);return ut(["game",...c])}let o=e;if(r){let s=t.getResolvedName(e,r);if(s)o=wc(o,s);else if(i)throw new Error(`Missing collision mapping for ${e}#${r}`)}return o}function lJ(t,e){let r=tn(t),n=tn(e);if(r.length<=n.length)return!1;for(let i=0;i<n.length;i++)if(r[i]!==n[i])return!1;return!0}function kR(t,e){let r=new Map;for(let i=0;i<e.length;i++){let a=e[i];if(a?.type==="instanceRemoved")try{let o=_i(t.index,a.path,a.siblingIndex,a.parentSiblingIndex,!0);r.set(i,o)}catch{continue}}if(r.size<=1)return e;let n=new Set;for(let[i,a]of r)for(let[o,s]of r)if(i!==o&&lJ(a,s)){n.add(i);break}return n.size===0?e:e.filter((i,a)=>!n.has(a))}function Va(t,e,r,n=!1){if(r&&r>=1){let i=_t(e);if(i){let a=t.getEffectiveDir(i,r);if(a)return a;if(n)throw new Error(`Missing parent collision mapping for ${i}#${r}`)}}return t.resolveParentDir(e)}async function Dn(t,e,r,n,i){let a=Ba.join(e,r),o=Ba.join(e,n);try{(await SR.stat(a)).isDirectory()&&(i&&(i.suppressPath(a),i.suppressPath(o)),await SR.rename(a,o),t.renameHashKeysUnder(a,o),t.renameReverseNameMappingsUnder(a,o),t.renameInstanceDirMappingsUnder(a,o))}catch{return}}function p_(t,e,r){let n=Ba.relative(t.getExplorerRoot(),e).split(Ba.sep).filter(i=>i.length>0);return ut(["game",...n,r])}async function zd(t,e){let r=t.index.planCollisionReindexAfterBatchRemovals(e.instancePath,[...e.removedSiblingIndices],e.parentDir);for(let n of r.renames)await Dn(t.index,e.parentDir,n.from,n.to,t.fileWatcher),await Wa(t.writer,t.index,e.parentDir,n.from,n.to);t.index.applyCollisionReindexAfterBatchRemovals(e.instancePath,e.parentDir,r)}async function Wa(t,e,r,n,i){let a=p_(e,r,n),o=p_(e,r,i);await t.renameInTree(a,o,i)}import Rd from"path";var $R=5*60*1e3,IR=100;function jd(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)}function $c(t){return typeof t=="string"&&t.length>0}function Dd(t,e){let r=Rd.resolve(t),n=Rd.resolve(e),i=Rd.relative(r,n);return i===""||!i.startsWith("..")&&!Rd.isAbsolute(i)}function PR(t){if(!jd(t))return{success:!1,error:"Body must be an object"};let e=t.phase;if(e!=="start"&&e!=="chunk"&&e!=="complete")return{success:!1,error:`Invalid phase: ${String(e)}`};if(!$c(t.clientId))return{success:!1,error:"clientId is required"};switch(e){case"start":return typeof t.placeId!="number"?{success:!1,error:"placeId must be a number"}:$c(t.placeName)?typeof t.totalServices!="number"?{success:!1,error:"totalServices must be a number"}:typeof t.totalInstances!="number"?{success:!1,error:"totalInstances must be a number"}:t.previousPlaceId!==void 0&&typeof t.previousPlaceId!="number"?{success:!1,error:"previousPlaceId must be a number"}:{success:!0,data:t}:{success:!1,error:"placeName is required"};case"chunk":return $c(t.serviceName)?$c(t.serviceClassName)?Array.isArray(t.instances)?typeof t.chunkIndex!="number"?{success:!1,error:"chunkIndex must be a number"}:typeof t.totalChunks!="number"?{success:!1,error:"totalChunks must be a number"}:{success:!0,data:t}:{success:!1,error:"instances must be an array"}:{success:!1,error:"serviceClassName is required"}:{success:!1,error:"serviceName is required"};case"complete":return typeof t.instanceCount!="number"?{success:!1,error:"instanceCount must be a number"}:typeof t.scriptCount!="number"?{success:!1,error:"scriptCount must be a number"}:{success:!0,data:t}}}function ER(t){if(!jd(t))return{success:!1,error:"Body must be an object"};if(!$c(t.clientId))return{success:!1,error:"clientId is required"};if(t.placeId!==void 0&&typeof t.placeId!="number")return{success:!1,error:"placeId must be a number"};if(typeof t.timestamp!="number")return{success:!1,error:"timestamp must be a number"};if(!Array.isArray(t.changes)||t.changes.length===0)return{success:!1,error:"changes must be a non-empty array"};let e=new Set(["propertyChanged","instanceAdded","instanceRemoved","instanceRenamed","instanceMoved","scriptSourceChanged"]);for(let r=0;r<t.changes.length;r++){let n=t.changes[r];if(!jd(n)||!e.has(n.type))return{success:!1,error:`changes[${r}]: invalid type '${String(n?.type)}'`}}return{success:!0,data:t}}function TR(t){return jd(t)?t.propertyMode!==void 0&&((t.propertyMode==="common"||t.propertyMode==="full")&&(t.propertyMode="standard"),t.propertyMode!=="standard"&&t.propertyMode!=="minimal")?{success:!1,error:`Invalid propertyMode: ${String(t.propertyMode)}`}:t.maxDepth!==void 0&&(typeof t.maxDepth!="number"||t.maxDepth<1)?{success:!1,error:"maxDepth must be a positive number"}:t.maxInstances!==void 0&&(typeof t.maxInstances!="number"||t.maxInstances<1)?{success:!1,error:"maxInstances must be a positive number"}:{success:!0,data:t}:{success:!1,error:"Body must be an object"}}import hr from"path";import{promises as Ja}from"fs";var Od=class{constructor(e){this.ctx=e}async processChangeForPlace(e,r,n){let i=Wz(r.type);if(e.directions[i]==="reverse")return v.info("Reverse enforcement: rejecting Studio change on reverse-only path",{placeId:e.placeId,changeType:r.type,dirKey:i,path:"path"in r?r.path:void 0}),(r.type==="scriptSourceChanged"||r.type==="propertyChanged")&&await this.injectLocalAsReverse(e,r),null;switch(r.type){case"propertyChanged":{let o=_i(e.index,r.path,r.siblingIndex,r.parentSiblingIndex,!0),s=await this.checkPropertyConflictForPlace(e,o);if(s)return s;let c=r;return c.properties&&typeof c.properties=="object"&&!Array.isArray(c.properties)?await e.writer.updateProperties(o,c.properties):r.property!==void 0?await e.writer.updateProperty(o,r.property,r.value):v.warn("propertyChanged: missing both property and properties",{path:o}),null}case"instanceAdded":{let o=qa.has(r.className),s=r.path,c=r.name;{let p=Va(e.index,r.path,r.parentSiblingIndex,!0),{resolved:d,retroactiveRename:f}=e.index.registerCollision(r.path,r.siblingIndex,p);f&&(await Dn(e.index,p,f.from,f.to,e.fileWatcher),await Wa(e.writer,e.index,p,f.from,f.to));let m=e.index.sanitizeName(r.name);if(d!==m||p!==e.index.resolveParentDir(r.path)){let h=e.index.getExplorerRoot(),g=hr.relative(h,p).split(hr.sep).filter(b=>b.length>0);s=ut(["game",...g,d]),c=d}}await e.writer.writeInstance({path:s,name:r.name,className:r.className,properties:r.properties,attributes:r.attributes,tags:r.tags,scriptSource:r.scriptSource,hasChildren:!1,childCount:0});let l={name:c,className:r.className,childCount:0},u=_t(s)||r.parentPath;return await e.writer.addToTree(u,l),e.instanceCount++,o&&r.scriptSource!==void 0&&e.scriptCount++,null}case"instanceRemoved":{let o=_i(e.index,r.path,r.siblingIndex,r.parentSiblingIndex,!0),s=Va(e.index,r.path,r.parentSiblingIndex,!0);v.info("Processing instanceRemoved",{path:o}),await e.writer.removeInstance(o);let c=jt(o),l=_t(o);if(l&&c&&await e.writer.removeFromTree(l,c),r.siblingIndex!==void 0){let p=`${s}\0${r.path}`,d=n.get(p);d||(d={instancePath:r.path,parentDir:s,removedSiblingIndices:new Set},n.set(p,d)),d.removedSiblingIndices.add(r.siblingIndex)}let u=_t(o);if(u)try{let p=e.index.resolveChildrenDir(u);hr.dirname(p)!==e.index.getExplorerRoot()&&(await Ja.readdir(p)).length===0&&await Ja.rmdir(p)}catch{return null}return null}case"instanceRenamed":{let o=_i(e.index,r.oldPath,r.siblingIndex,r.parentSiblingIndex,!0),s=_t(r.oldPath)===_t(r.newPath),c=s?Va(e.index,r.oldPath,r.parentSiblingIndex,!0):null,l=Va(e.index,r.newPath,r.parentSiblingIndex,!0),{resolved:u,retroactiveRename:p}=e.index.registerCollision(r.newPath,r.siblingIndex,l);p&&(await Dn(e.index,l,p.from,p.to,e.fileWatcher),await Wa(e.writer,e.index,l,p.from,p.to));let d=u!==e.index.sanitizeName(r.newName)?wc(r.newPath,u):r.newPath;if(await e.writer.renameInstance(o,d,r.newName),await e.writer.renameInTree(o,d,u),s&&c&&r.siblingIndex!==void 0){let f=e.index.planCollisionReindexAfterRemoval(r.oldPath,r.siblingIndex,c);for(let m of f.renames)await Dn(e.index,c,m.from,m.to,e.fileWatcher),await Wa(e.writer,e.index,c,m.from,m.to);e.index.applyCollisionReindexAfterRemoval(r.oldPath,c,f)}return null}case"instanceMoved":{let o=_i(e.index,r.oldPath,r.siblingIndex,r.parentSiblingIndex,!0),s=Va(e.index,r.newPath,r.parentSiblingIndex,!0),{resolved:c,retroactiveRename:l}=e.index.registerCollision(r.newPath,r.siblingIndex,s);l&&(await Dn(e.index,s,l.from,l.to,e.fileWatcher),await Wa(e.writer,e.index,s,l.from,l.to));let u=jt(r.newPath)||"",p=c!==e.index.sanitizeName(u)?wc(r.newPath,c):r.newPath;return await e.writer.moveInstance(o,p),await e.writer.moveInTree(o,p),null}case"scriptSourceChanged":{let o=_i(e.index,r.path,r.siblingIndex,r.parentSiblingIndex,!0),s=await this.checkScriptConflictForPlace(e,o,r.source);if(s)return s;let c=await this.resolveScriptClassForPlace(e,o);return await this.cleanupStaleScriptFilesForPlace(e,o,c),await e.writer.writeScript(o,c,r.source,!1),null}}}async injectLocalAsReverse(e,r){if(e.fileWatcher)try{if(r.type==="scriptSourceChanged"){let n=await this.resolveScriptClassForPlace(e,r.path),i=e.index.resolveScriptPath(r.path,n,!1),a=hr.join(this.ctx.config.getPlaceRoot(e.placeId),"explorer"),o=hr.relative(a,i);e.fileWatcher.injectPending({fsPath:i,relativePath:o,type:"change",detectedAt:new Date().toISOString()})}else if(r.type==="propertyChanged"){let n=e.index.resolvePropsPath(r.path),i=hr.join(this.ctx.config.getPlaceRoot(e.placeId),"explorer"),a=hr.relative(i,n);e.fileWatcher.injectPending({fsPath:n,relativePath:a,type:"change",detectedAt:new Date().toISOString()})}}catch(n){v.debug("injectLocalAsReverse: could not inject",{changeType:r.type,error:n instanceof Error?n.message:String(n)})}}async resolveScriptClassForPlace(e,r){try{let n=e.index.resolvePropsPath(r),i=await Ja.readFile(n,"utf-8"),a=JSON.parse(i);if(a.className&&qa.has(a.className))return a.className}catch{return"ModuleScript"}return"ModuleScript"}async cleanupStaleScriptFilesForPlace(e,r,n){let i=bd[n],a=hr.join(this.ctx.config.getPlaceRoot(e.placeId),"explorer");for(let[o,s]of Object.entries(bd)){if(s===i)continue;let c=e.index.resolveScriptPath(r,o,!1);try{await Ja.unlink(c),e.index.removeHash(c),v.info("Cleaned up stale script file",{placeId:e.placeId,removed:hr.relative(a,c),currentClassName:n})}catch(l){l.code!=="ENOENT"&&v.warn("Failed to clean up stale script file",{path:c,error:l instanceof Error?l.message:String(l)})}}}async checkPropertyConflictForPlace(e,r){try{let n=e.index.resolvePropsPath(r),i=e.index.getFileHash(n);if(!i)return null;let a;try{a=await Ja.readFile(n,"utf-8")}catch{return null}return e.index.computeHash(a)===i?null:{fsPath:hr.relative(this.ctx.config.getPlaceRoot(e.placeId),n),instancePath:r,fileType:"props",studioContent:"",fileContent:a}}catch{return null}}async checkScriptConflictForPlace(e,r,n){try{let i=await this.resolveScriptClassForPlace(e,r),a=e.index.resolveScriptPath(r,i,!1),o=e.index.getFileHash(a);if(!o)return null;let s;try{s=await Ja.readFile(a,"utf-8")}catch{return null}return e.index.computeHash(s)===o?null:{fsPath:hr.relative(this.ctx.config.getPlaceRoot(e.placeId),a),instancePath:r,fileType:"script",studioContent:n,fileContent:s}}catch{return null}}async applyDeferredCollisionBatchReindexForPlace(e,r){await zd(e,r)}};import CR from"path";import{promises as Ga}from"fs";var Nd=class{constructor(e){this.ctx=e}async handlePreCheck(e,r){let n=this.ctx.resolveQueryPlaceId(e);if(n==null){r.status(200).json({hasPreviousSync:!1,changes:[],summary:{modified:0,deleted:0,added:0,total:0}});return}let i=this.ctx.config.getPlaceRoot(n),a=CR.join(i,".sync-index.json"),o=!1;try{await Ga.access(a),o=!0}catch{o=!1}if(!o){r.status(200).json({hasPreviousSync:!1,changes:[],summary:{modified:0,deleted:0,added:0,total:0}});return}let s=CR.join(i,"explorer"),c=new jn(i,s);await c.loadFromDisk();let l=await c.getModifiedFiles(),u=0,p=0,d=0;for(let m of l)switch(m.changeType){case"modified":u++;break;case"deleted":p++;break;case"added":d++;break}let f=l.map(m=>({relPath:m.relPath,instancePath:m.instancePath,changeType:m.changeType,fileType:m.fileType}));r.status(200).json({hasPreviousSync:!0,changes:f,summary:{modified:u,deleted:p,added:d,total:f.length}})}async handleSyncDirections(e,r){let n=e.body,i=n.placeId??this.ctx.getDefaultRuntimePlaceId();if(i==null){r.status(400).json({error:"Missing placeId"});return}let a=this.ctx.places.get(i);if(!a){r.status(404).json({error:"Place not found",message:`No sync context for place ${i}`});return}if(n.directions&&typeof n.directions=="object"){let o=c=>c==="forward"||c==="reverse"||c==="bidirectional",s=n.directions;o(s.scripts)&&(a.directions.scripts=s.scripts),o(s.values)&&(a.directions.values=s.values),o(s.containers)&&(a.directions.containers=s.containers),o(s.data)&&(a.directions.data=s.data),o(s.services)&&(a.directions.services=s.services),v.info("Sync directions updated",{placeId:i,directions:a.directions})}this.ctx.touchRuntimePlace(i),r.status(200).json({status:"updated",directions:a.directions})}async handleForwardRestoreList(e,r){let n=this.ctx.resolveQueryPlaceId(e);if(n==null){r.status(200).json({paths:[]});return}let i=this.ctx.places.get(n);if(!i){r.status(404).json({error:"Place not found",message:`No sync context for place ${n}`});return}let a=i.forwardRestoreQueue.splice(0);this.ctx.touchRuntimePlace(n),v.info("Forward restore list drained",{placeId:n,count:a.length}),r.status(200).json({paths:a})}async handleSyncHistory(e,r){let n=this.ctx.resolveQueryPlaceId(e);if(n==null){r.status(200).json({entries:[],total:0,hasMore:!1});return}let i=Math.min(Math.max(parseInt(e.query.limit)||50,1),200),a=Math.max(parseInt(e.query.offset)||0,0),o=e.query.direction,s=e.query.type,c=this.ctx.places.get(n);c&&(await c.writer.flushHistory(),this.ctx.touchRuntimePlace(n));let l=this.ctx.config.getHistoryPath(n),u=[];try{u=(await Ga.readFile(l,"utf-8")).split(`
|
|
113
|
+
`)}catch(n){v.warn("Failed to flush change log",{error:n instanceof Error?n.message:String(n),entries:e.length})}}startChangeLogFlusher(){this.flushTimer||(this.flushTimer=setInterval(()=>{this.flushChangeLog(),this.flushHistory()},mW),this.flushTimer&&typeof this.flushTimer=="object"&&"unref"in this.flushTimer&&this.flushTimer.unref())}stopChangeLogFlusher(){this.flushTimer&&(clearInterval(this.flushTimer),this.flushTimer=null),this.flushChangeLog(),this.flushHistory()}async updateSyncIndex(e,r){this.index.updateBothHashes(e,r)}relativePath(e){return Ye.relative(this.config.getSyncRoot(),e)}extractServiceName(e){return bt(e)[0]??""}findTreeNode(e,r){let n=bt(r);if(n.length<=1)return null;let i=e.children,a;for(let o=1;o<n.length;o++){if(!i||(a=i.find(s=>s.name===n[o]),!a))return null;i=a.children}return a??null}detachTreeNode(e,r){let n=this.getParentPath(r),i=this.getLeafName(r);if(!n||!i)return null;let a=this.findTreeNode(e,n),o=a?.children??e.children,s=o.findIndex(l=>l.name===i);if(s<0)return null;let[c]=o.splice(s,1);return a?a.childCount=o.length:e.childCount=o.length,c??null}insertTreeNode(e,r,n){let i=this.findTreeNode(e,r);if(i){i.children||(i.children=[]);let o=i.children.findIndex(s=>s.name===n.name);o>=0?i.children[o]=n:i.children.push(n),i.childCount=i.children.length;return}let a=e.children.findIndex(o=>o.name===n.name);a>=0?e.children[a]=n:e.children.push(n),e.childCount=e.children.length}getLeafName(e){let r=bt(e);return r.length===0?null:r[r.length-1]??null}getParentPath(e){let r=bt(e);return r.length<=1?null:`game.${r.slice(0,-1).join(".")}`}async copyDirectory(e,r){await this.ensureDir(r);let n=await Le.readdir(e,{withFileTypes:!0});for(let i of n){let a=Ye.join(e,i.name),o=Ye.join(r,i.name);i.isDirectory()?await this.copyDirectory(a,o):await Le.copyFile(a,o)}}async tryRename(e,r){try{return await Le.rename(e,r),!0}catch{return!1}}};import Re from"path";import{promises as xi}from"fs";var wd=class{index;placeRoot;constructor(e,r,n){this.index=r,this.placeRoot=n??e.getSyncRoot()}async buildReverseChanges(){let{modified:e,deleted:r}=await this.index.scanForFileModifications(),n=[];for(let a of e)try{let o;a.fileType==="script"?o=await this.readModifiedScript(a.fsPath,a.instancePath):a.fileType==="value"?o=await this.readModifiedValue(a.fsPath,a.instancePath):o=await this.readModifiedProps(a.fsPath,a.instancePath),n.push(o)}catch(o){v.warn("Failed to read modified file for reverse sync",{path:a.fsPath,error:o instanceof Error?o.message:String(o)})}let i=new Set;for(let a of r){if(i.has(a.instancePath))continue;i.add(a.instancePath);let o=Re.relative(this.placeRoot,a.fsPath);n.push({type:"instanceRemoved",instancePath:a.instancePath,fsPath:o,fileType:a.fileType,content:null})}return n}async buildChangesFromPending(e){let r=[],n=new Set,i=new Set,a=new Set;for(let o of e)if(o.type==="add"||o.type==="change"){let s=Re.dirname(o.fsPath),c=this.getFileType(o.fsPath);(c==="props"||c==="script"||c==="value")&&a.add(s)}for(let o of e)try{if(o.type==="addDir"||o.type==="unlinkDir"){let d=this.resolveInstancePathFromDirectory(o.fsPath);if(!d)continue;let f=this.getSiblingIndexForDirectory(o.fsPath),m=f?`${d}#${f}`:d;if(o.type==="unlinkDir"){if(n.has(m)||(n.add(m),this.isServiceInstance(d)))continue;let S=Re.relative(this.placeRoot,o.fsPath),_={type:"instanceRemoved",instancePath:d,fsPath:S,fileType:"directory",content:null};f&&(_.siblingIndex=f),r.push(_);continue}if(i.has(m)||this.isServiceInstance(d)||a.has(o.fsPath)||!await this.isContainerDirectory(o.fsPath))continue;let g=Re.relative(this.placeRoot,o.fsPath),b={type:"containerCreated",instancePath:d,fsPath:g,fileType:"directory",content:null,className:"Folder",parentPath:this.extractParentPath(d)};f&&(b.siblingIndex=f),i.add(m),r.push(b);continue}let s=this.resolveInstancePathFromFile(o.fsPath);if(!s)continue;let c=this.getSiblingIndexForFile(o.fsPath);if(o.type==="unlink"){let d=c?`${s}#${c}`:s;if(n.has(d)||(n.add(d),this.isServiceInstance(s)))continue;let f=Re.relative(this.placeRoot,o.fsPath),m=this.getFileType(o.fsPath);if(m!=="script"&&m!=="props"&&m!=="value")continue;let h={type:"instanceRemoved",instancePath:s,fsPath:f,fileType:m,content:null};c&&(h.siblingIndex=c),r.push(h);continue}let l=this.getFileType(o.fsPath),u=!this.index.hasEntry(o.fsPath)&&!this.index.hasInstancePath(s),p;if(u&&o.type==="add"){if(this.isServiceInstance(s))continue;if(l==="script")p=await this.readNewScript(o.fsPath,s);else if(l==="value")p=await this.readNewValue(o.fsPath,s);else if(l==="props")p=await this.readNewInstance(o.fsPath,s);else continue}else if(l==="script")p=await this.readModifiedScript(o.fsPath,s);else if(l==="value")p=await this.readModifiedValue(o.fsPath,s);else if(l==="props")p=await this.readModifiedProps(o.fsPath,s);else continue;c&&(p.siblingIndex=c),r.push(p)}catch(s){v.warn("Failed to build change from pending entry",{path:o.fsPath,type:o.type,error:s instanceof Error?s.message:String(s)})}return r}resolveInstancePathFromFile(e){return this.index.resolveInstancePathFromFsPath(e)}getSiblingIndexForFile(e){let r=this.index.getExplorerRoot();if(Re.basename(e)==="_tree.json")return;let i=Re.relative(r,e);if(i.startsWith(".."))return;let a=i.split(Re.sep).filter(p=>p.length>0);if(a.length<2)return;let o=a[a.length-2],s=Re.dirname(e),c=Re.dirname(s),l=this.index.getOriginalInstance(c,o);return l?l.siblingIndex:vi(o).siblingIndex}getFileType(e){return this.index.getFileTypeFromPath(e)}resolveInstancePathFromDirectory(e){let r=this.index.getExplorerRoot(),n=Re.relative(r,e);if(n.startsWith("..")||n===""||Re.isAbsolute(n))return null;let i=n.split(Re.sep).filter(s=>s.length>0);if(i.length===0)return null;let a=["game"],o=r;for(let s of i){o=Re.join(o,s);let c=Re.dirname(o);a.push(this.index.getOriginalNameForDir(c,s))}return Xe(a)}getSiblingIndexForDirectory(e){let r=Re.basename(e),n=Re.dirname(e),i=this.index.getOriginalInstance(n,r);return i?i.siblingIndex:vi(r).siblingIndex}async isContainerDirectory(e){try{let r=await xi.readdir(e,{withFileTypes:!0});for(let n of r)if(n.isFile()&&Fa.some(i=>n.name.endsWith(i)))return!1;return!0}catch(r){if(r.code==="ENOENT")return!1;throw r}}async readModifiedScript(e,r){let n=await xi.readFile(e,"utf-8"),i=Re.relative(this.placeRoot,e);return{type:"scriptSource",instancePath:r,fsPath:i,fileType:"script",content:n}}async readModifiedProps(e,r){let n=await xi.readFile(e,"utf-8"),i=JSON.parse(n),a=Re.relative(this.placeRoot,e);return{type:"properties",instancePath:r,fsPath:a,fileType:"props",content:i}}async readModifiedValue(e,r){let n=await xi.readFile(e,"utf-8"),i=JSON.parse(n),a=Re.relative(this.placeRoot,e);return{type:"valueChanged",instancePath:r,fsPath:a,fileType:"value",content:i}}async readNewScript(e,r){let n=await xi.readFile(e,"utf-8"),i=Re.relative(this.placeRoot,e),a=Re.basename(e),o="ModuleScript";a.endsWith(".server.luau")?o="Script":a.endsWith(".client.luau")&&(o="LocalScript");let s=this.extractParentPath(r);return{type:"scriptCreated",instancePath:r,fsPath:i,fileType:"script",content:n,className:o,parentPath:s}}async readNewValue(e,r){let n=await xi.readFile(e,"utf-8"),i=JSON.parse(n),a=Re.relative(this.placeRoot,e),o=this.extractParentPath(r);return{type:"valueCreated",instancePath:r,fsPath:a,fileType:"value",content:i,className:i.className,parentPath:o}}async readNewInstance(e,r){let n=await xi.readFile(e,"utf-8"),i=JSON.parse(n),a=Re.relative(this.placeRoot,e),o=this.extractParentPath(r);return{type:"instanceCreated",instancePath:r,fsPath:a,fileType:"props",content:i,className:i.className,parentPath:o}}extractParentPath(e){return _t(e)}isServiceInstance(e){let r=tn(e);return r.length!==2||r[0]!=="game"?!1:Xb.has(r[1])}};import{EventEmitter as HW}from"node:events";import{stat as BW}from"node:fs";import{readdir as VW,stat as WW}from"node:fs/promises";import*as ne from"node:path";import{lstat as eR,readdir as hW,realpath as gW,stat as vW}from"node:fs/promises";import{join as yW,relative as xW,resolve as tR,sep as bW}from"node:path";import{Readable as _W}from"node:stream";var qt={FILE_TYPE:"files",DIR_TYPE:"directories",FILE_DIR_TYPE:"files_directories",EVERYTHING_TYPE:"all"},Yb={root:".",fileFilter:t=>!0,directoryFilter:t=>!0,type:qt.FILE_TYPE,lstat:!1,depth:2147483648,alwaysStat:!1,highWaterMark:4096};Object.freeze(Yb);var aR="READDIRP_RECURSIVE_ERROR",wW=new Set(["ENOENT","EPERM","EACCES","ELOOP",aR]),rR=[qt.DIR_TYPE,qt.EVERYTHING_TYPE,qt.FILE_DIR_TYPE,qt.FILE_TYPE],SW=new Set([qt.DIR_TYPE,qt.EVERYTHING_TYPE,qt.FILE_DIR_TYPE]),kW=new Set([qt.EVERYTHING_TYPE,qt.FILE_DIR_TYPE,qt.FILE_TYPE]),$W=t=>wW.has(t.code),IW=process.platform==="win32",nR=t=>!0,iR=t=>{if(t===void 0)return nR;if(typeof t=="function")return t;if(typeof t=="string"){let e=t.trim();return r=>r.basename===e}if(Array.isArray(t)){let e=t.map(r=>r.trim());return r=>e.some(n=>r.basename===n)}return nR},Qb=class extends _W{parents;reading;parent;_stat;_maxDepth;_wantsDir;_wantsFile;_wantsEverything;_root;_isDirent;_statsProp;_rdOptions;_fileFilter;_directoryFilter;constructor(e={}){super({objectMode:!0,autoDestroy:!0,highWaterMark:e.highWaterMark});let r={...Yb,...e},{root:n,type:i}=r;this._fileFilter=iR(r.fileFilter),this._directoryFilter=iR(r.directoryFilter);let a=r.lstat?eR:vW;IW?this._stat=o=>a(o,{bigint:!0}):this._stat=a,this._maxDepth=r.depth!=null&&Number.isSafeInteger(r.depth)?r.depth:Yb.depth,this._wantsDir=i?SW.has(i):!1,this._wantsFile=i?kW.has(i):!1,this._wantsEverything=i===qt.EVERYTHING_TYPE,this._root=tR(n),this._isDirent=!r.alwaysStat,this._statsProp=this._isDirent?"dirent":"stats",this._rdOptions={encoding:"utf8",withFileTypes:this._isDirent},this.parents=[this._exploreDir(n,1)],this.reading=!1,this.parent=void 0}async _read(e){if(!this.reading){this.reading=!0;try{for(;!this.destroyed&&e>0;){let r=this.parent,n=r&&r.files;if(n&&n.length>0){let{path:i,depth:a}=r,o=n.splice(0,e).map(c=>this._formatEntry(c,i)),s=await Promise.all(o);for(let c of s){if(!c)continue;if(this.destroyed)return;let l=await this._getEntryType(c);l==="directory"&&this._directoryFilter(c)?(a<=this._maxDepth&&this.parents.push(this._exploreDir(c.fullPath,a+1)),this._wantsDir&&(this.push(c),e--)):(l==="file"||this._includeAsFile(c))&&this._fileFilter(c)&&this._wantsFile&&(this.push(c),e--)}}else{let i=this.parents.pop();if(!i){this.push(null);break}if(this.parent=await i,this.destroyed)return}}}catch(r){this.destroy(r)}finally{this.reading=!1}}}async _exploreDir(e,r){let n;try{n=await hW(e,this._rdOptions)}catch(i){this._onError(i)}return{files:n,depth:r,path:e}}async _formatEntry(e,r){let n,i=this._isDirent?e.name:e;try{let a=tR(yW(r,i));n={path:xW(this._root,a),fullPath:a,basename:i},n[this._statsProp]=this._isDirent?e:await this._stat(a)}catch(a){this._onError(a);return}return n}_onError(e){$W(e)&&!this.destroyed?this.emit("warn",e):this.destroy(e)}async _getEntryType(e){if(!e&&this._statsProp in e)return"";let r=e[this._statsProp];if(r.isFile())return"file";if(r.isDirectory())return"directory";if(r&&r.isSymbolicLink()){let n=e.fullPath;try{let i=await gW(n),a=await eR(i);if(a.isFile())return"file";if(a.isDirectory()){let o=i.length;if(n.startsWith(i)&&n.substr(o,1)===bW){let s=new Error(`Circular symlink detected: "${n}" points to "${i}"`);return s.code=aR,this._onError(s)}return"directory"}}catch(i){return this._onError(i),""}}}_includeAsFile(e){let r=e&&e[this._statsProp];return r&&this._wantsEverything&&!r.isDirectory()}};function oR(t,e={}){let r=e.entryType||e.type;if(r==="both"&&(r=qt.FILE_DIR_TYPE),r&&(e.type=r),t){if(typeof t!="string")throw new TypeError("readdirp: root argument must be a string. Usage: readdirp(root, options)");if(r&&!rR.includes(r))throw new Error(`readdirp: Invalid type passed. Use one of ${rR.join(", ")}`)}else throw new Error("readdirp: root argument is required. Usage: readdirp(root, options)");return e.root=t,new Qb(e)}import{watch as PW,unwatchFile as sR,watchFile as EW}from"node:fs";import{realpath as e_,lstat as TW,open as CW,stat as lR}from"node:fs/promises";import{type as zW}from"node:os";import*as je from"node:path";var RW="data",n_="end",uR="close",Pd=()=>{};var Ed=process.platform,i_=Ed==="win32",jW=Ed==="darwin",DW=Ed==="linux",OW=Ed==="freebsd",pR=zW()==="OS400",Oe={ALL:"all",READY:"ready",ADD:"add",CHANGE:"change",ADD_DIR:"addDir",UNLINK:"unlink",UNLINK_DIR:"unlinkDir",RAW:"raw",ERROR:"error"},mr=Oe,NW="watch",AW={lstat:TW,stat:lR},bi="listeners",Sd="errHandlers",Ha="rawEmitters",MW=[bi,Sd,Ha],UW=new Set(["3dm","3ds","3g2","3gp","7z","a","aac","adp","afdesign","afphoto","afpub","ai","aif","aiff","alz","ape","apk","appimage","ar","arj","asf","au","avi","bak","baml","bh","bin","bk","bmp","btif","bz2","bzip2","cab","caf","cgm","class","cmx","cpio","cr2","cur","dat","dcm","deb","dex","djvu","dll","dmg","dng","doc","docm","docx","dot","dotm","dra","DS_Store","dsk","dts","dtshd","dvb","dwg","dxf","ecelp4800","ecelp7470","ecelp9600","egg","eol","eot","epub","exe","f4v","fbs","fh","fla","flac","flatpak","fli","flv","fpx","fst","fvt","g3","gh","gif","graffle","gz","gzip","h261","h263","h264","icns","ico","ief","img","ipa","iso","jar","jpeg","jpg","jpgv","jpm","jxr","key","ktx","lha","lib","lvp","lz","lzh","lzma","lzo","m3u","m4a","m4v","mar","mdi","mht","mid","midi","mj2","mka","mkv","mmr","mng","mobi","mov","movie","mp3","mp4","mp4a","mpeg","mpg","mpga","mxu","nef","npx","numbers","nupkg","o","odp","ods","odt","oga","ogg","ogv","otf","ott","pages","pbm","pcx","pdb","pdf","pea","pgm","pic","png","pnm","pot","potm","potx","ppa","ppam","ppm","pps","ppsm","ppsx","ppt","pptm","pptx","psd","pya","pyc","pyo","pyv","qt","rar","ras","raw","resources","rgb","rip","rlc","rmf","rmvb","rpm","rtf","rz","s3m","s7z","scpt","sgi","shar","snap","sil","sketch","slk","smv","snk","so","stl","suo","sub","swf","tar","tbz","tbz2","tga","tgz","thmx","tif","tiff","tlz","ttc","ttf","txz","udf","uvh","uvi","uvm","uvp","uvs","uvu","viv","vob","war","wav","wax","wbmp","wdp","weba","webm","webp","whl","wim","wm","wma","wmv","wmx","woff","woff2","wrm","wvx","xbm","xif","xla","xlam","xls","xlsb","xlsm","xlsx","xlt","xltm","xltx","xm","xmind","xpi","xpm","xwd","xz","z","zip","zipx"]),FW=t=>UW.has(je.extname(t).slice(1).toLowerCase()),r_=(t,e)=>{t instanceof Set?t.forEach(e):e(t)},Sc=(t,e,r)=>{let n=t[e];n instanceof Set||(t[e]=n=new Set([n])),n.add(r)},qW=t=>e=>{let r=t[e];r instanceof Set?r.clear():delete t[e]},kc=(t,e,r)=>{let n=t[e];n instanceof Set?n.delete(r):n===r&&delete t[e]},dR=t=>t instanceof Set?t.size===0:!t,kd=new Map;function cR(t,e,r,n,i){let a=(o,s)=>{r(t),i(o,s,{watchedPath:t}),s&&t!==s&&$d(je.resolve(t,s),bi,je.join(t,s))};try{return PW(t,{persistent:e.persistent},a)}catch(o){n(o);return}}var $d=(t,e,r,n,i)=>{let a=kd.get(t);a&&r_(a[e],o=>{o(r,n,i)})},LW=(t,e,r,n)=>{let{listener:i,errHandler:a,rawEmitter:o}=n,s=kd.get(e),c;if(!r.persistent)return c=cR(t,r,i,a,o),c?c.close.bind(c):void 0;if(s)Sc(s,bi,i),Sc(s,Sd,a),Sc(s,Ha,o);else{if(c=cR(t,r,$d.bind(null,e,bi),a,$d.bind(null,e,Ha)),!c)return;c.on(mr.ERROR,async l=>{let u=$d.bind(null,e,Sd);if(s&&(s.watcherUnusable=!0),i_&&l.code==="EPERM")try{await(await CW(t,"r")).close(),u(l)}catch{}else u(l)}),s={listeners:i,errHandlers:a,rawEmitters:o,watcher:c},kd.set(e,s)}return()=>{kc(s,bi,i),kc(s,Sd,a),kc(s,Ha,o),dR(s.listeners)&&(s.watcher.close(),kd.delete(e),MW.forEach(qW(s)),s.watcher=void 0,Object.freeze(s))}},t_=new Map,ZW=(t,e,r,n)=>{let{listener:i,rawEmitter:a}=n,o=t_.get(e),s=o&&o.options;return s&&(s.persistent<r.persistent||s.interval>r.interval)&&(sR(e),o=void 0),o?(Sc(o,bi,i),Sc(o,Ha,a)):(o={listeners:i,rawEmitters:a,options:r,watcher:EW(e,r,(c,l)=>{r_(o.rawEmitters,p=>{p(mr.CHANGE,e,{curr:c,prev:l})});let u=c.mtimeMs;(c.size!==l.size||u>l.mtimeMs||u===0)&&r_(o.listeners,p=>p(t,c))})},t_.set(e,o)),()=>{kc(o,bi,i),kc(o,Ha,a),dR(o.listeners)&&(t_.delete(e),sR(e),o.options=o.watcher=void 0,Object.freeze(o))}},Id=class{fsw;_boundHandleError;constructor(e){this.fsw=e,this._boundHandleError=r=>e._handleError(r)}_watchWithNodeFs(e,r){let n=this.fsw.options,i=je.dirname(e),a=je.basename(e);this.fsw._getWatchedDir(i).add(a);let s=je.resolve(e),c={persistent:n.persistent};r||(r=Pd);let l;if(n.usePolling){let u=n.interval!==n.binaryInterval;c.interval=u&&FW(a)?n.binaryInterval:n.interval,l=ZW(e,s,c,{listener:r,rawEmitter:this.fsw._emitRaw})}else l=LW(e,s,c,{listener:r,errHandler:this._boundHandleError,rawEmitter:this.fsw._emitRaw});return l}_handleFile(e,r,n){if(this.fsw.closed)return;let i=je.dirname(e),a=je.basename(e),o=this.fsw._getWatchedDir(i),s=r;if(o.has(a))return;let c=async(u,p)=>{if(this.fsw._throttle(NW,e,5)){if(!p||p.mtimeMs===0)try{let d=await lR(e);if(this.fsw.closed)return;let f=d.atimeMs,m=d.mtimeMs;if((!f||f<=m||m!==s.mtimeMs)&&this.fsw._emit(mr.CHANGE,e,d),(jW||DW||OW)&&s.ino!==d.ino){this.fsw._closeFile(u),s=d;let h=this._watchWithNodeFs(e,c);h&&this.fsw._addPathCloser(u,h)}else s=d}catch{this.fsw._remove(i,a)}else if(o.has(a)){let d=p.atimeMs,f=p.mtimeMs;(!d||d<=f||f!==s.mtimeMs)&&this.fsw._emit(mr.CHANGE,e,p),s=p}}},l=this._watchWithNodeFs(e,c);if(!(n&&this.fsw.options.ignoreInitial)&&this.fsw._isntIgnored(e)){if(!this.fsw._throttle(mr.ADD,e,0))return;this.fsw._emit(mr.ADD,e,r)}return l}async _handleSymlink(e,r,n,i){if(this.fsw.closed)return;let a=e.fullPath,o=this.fsw._getWatchedDir(r);if(!this.fsw.options.followSymlinks){this.fsw._incrReadyCount();let s;try{s=await e_(n)}catch{return this.fsw._emitReady(),!0}return this.fsw.closed?void 0:(o.has(i)?this.fsw._symlinkPaths.get(a)!==s&&(this.fsw._symlinkPaths.set(a,s),this.fsw._emit(mr.CHANGE,n,e.stats)):(o.add(i),this.fsw._symlinkPaths.set(a,s),this.fsw._emit(mr.ADD,n,e.stats)),this.fsw._emitReady(),!0)}if(this.fsw._symlinkPaths.has(a))return!0;this.fsw._symlinkPaths.set(a,!0)}_handleRead(e,r,n,i,a,o,s){e=je.join(e,"");let c=i?`${e}:${i}`:e;if(s=this.fsw._throttle("readdir",c,1e3),!s)return;let l=this.fsw._getWatchedDir(n.path),u=new Set,p=this.fsw._readdirp(e,{fileFilter:d=>n.filterPath(d),directoryFilter:d=>n.filterDir(d)});if(p)return p.on(RW,async d=>{if(this.fsw.closed){p=void 0;return}let f=d.path,m=je.join(e,f);if(u.add(f),!(d.stats.isSymbolicLink()&&await this._handleSymlink(d,e,m,f))){if(this.fsw.closed){p=void 0;return}(f===i||!i&&!l.has(f))&&(this.fsw._incrReadyCount(),m=je.join(a,je.relative(a,m)),this._addToNodeFs(m,r,n,o+1))}}).on(mr.ERROR,this._boundHandleError),new Promise((d,f)=>{if(!p)return f();p.once(n_,()=>{if(this.fsw.closed){p=void 0;return}let m=s?s.clear():!1;d(void 0),l.getChildren().filter(h=>h!==e&&!u.has(h)).forEach(h=>{this.fsw._remove(e,h)}),p=void 0,m&&this._handleRead(e,!1,n,i,a,o,s)})})}async _handleDir(e,r,n,i,a,o,s){let c=this.fsw._getWatchedDir(je.dirname(e)),l=c.has(je.basename(e));!(n&&this.fsw.options.ignoreInitial)&&!a&&!l&&this.fsw._emit(mr.ADD_DIR,e,r),c.add(je.basename(e)),this.fsw._getWatchedDir(e);let u,p,d=this.fsw.options.depth;if((d==null||i<=d)&&!this.fsw._symlinkPaths.has(s)){if(!a&&(await this._handleRead(e,n,o,a,e,i,u),this.fsw.closed))return;p=this._watchWithNodeFs(e,(f,m)=>{m&&m.mtimeMs===0||this._handleRead(f,!1,o,a,e,i,u)})}return p}async _addToNodeFs(e,r,n,i,a){let o=this.fsw._emitReady;if(this.fsw._isIgnored(e)||this.fsw.closed)return o(),!1;let s=this.fsw._getWatchHelpers(e);n&&(s.filterPath=c=>n.filterPath(c),s.filterDir=c=>n.filterDir(c));try{let c=await AW[s.statMethod](s.watchPath);if(this.fsw.closed)return;if(this.fsw._isIgnored(s.watchPath,c))return o(),!1;let l=this.fsw.options.followSymlinks,u;if(c.isDirectory()){let p=je.resolve(e),d=l?await e_(e):e;if(this.fsw.closed||(u=await this._handleDir(s.watchPath,c,r,i,a,s,d),this.fsw.closed))return;p!==d&&d!==void 0&&this.fsw._symlinkPaths.set(p,d)}else if(c.isSymbolicLink()){let p=l?await e_(e):e;if(this.fsw.closed)return;let d=je.dirname(s.watchPath);if(this.fsw._getWatchedDir(d).add(s.watchPath),this.fsw._emit(mr.ADD,s.watchPath,c),u=await this._handleDir(d,c,r,i,e,s,p),this.fsw.closed)return;p!==void 0&&this.fsw._symlinkPaths.set(je.resolve(e),p)}else u=this._handleFile(s.watchPath,c,r);return o(),u&&this.fsw._addPathCloser(e,u),!1}catch(c){if(this.fsw._handleError(c))return o(),e}}};var a_="/",JW="//",vR=".",GW="..",KW="string",XW=/\\/g,yR=/\/\//g,YW=/\..*\.(sw[px])$|~$|\.subl.*\.tmp/,QW=/^\.[/\\]/;function Td(t){return Array.isArray(t)?t:[t]}var o_=t=>typeof t=="object"&&t!==null&&!(t instanceof RegExp);function eJ(t){return typeof t=="function"?t:typeof t=="string"?e=>t===e:t instanceof RegExp?e=>t.test(e):typeof t=="object"&&t!==null?e=>{if(t.path===e)return!0;if(t.recursive){let r=ne.relative(t.path,e);return r?!r.startsWith("..")&&!ne.isAbsolute(r):!1}return!1}:()=>!1}function tJ(t){if(typeof t!="string")throw new Error("string expected");t=ne.normalize(t),t=t.replace(/\\/g,"/");let e=!1;return t.startsWith("//")&&(e=!0),t=t.replace(yR,"/"),e&&(t="/"+t),t}function fR(t,e,r){let n=tJ(e);for(let i=0;i<t.length;i++){let a=t[i];if(a(n,r))return!0}return!1}function rJ(t,e){if(t==null)throw new TypeError("anymatch: specify first argument");let n=Td(t).map(i=>eJ(i));return e==null?(i,a)=>fR(n,i,a):fR(n,e)}var mR=t=>{let e=Td(t).flat();if(!e.every(r=>typeof r===KW))throw new TypeError(`Non-string provided as watch path: ${e}`);return e.map(xR)},hR=t=>{let e=t.replace(XW,a_),r=!1;return e.startsWith(JW)&&(r=!0),e=e.replace(yR,a_),r&&(e=a_+e),e},xR=t=>hR(ne.normalize(hR(t))),gR=(t="")=>e=>typeof e=="string"?xR(ne.isAbsolute(e)?e:ne.join(t,e)):e,nJ=(t,e)=>ne.isAbsolute(t)?t:ne.join(e,t),iJ=Object.freeze(new Set),s_=class{path;_removeWatcher;items;constructor(e,r){this.path=e,this._removeWatcher=r,this.items=new Set}add(e){let{items:r}=this;r&&e!==vR&&e!==GW&&r.add(e)}async remove(e){let{items:r}=this;if(!r||(r.delete(e),r.size>0))return;let n=this.path;try{await VW(n)}catch{this._removeWatcher&&this._removeWatcher(ne.dirname(n),ne.basename(n))}}has(e){let{items:r}=this;if(r)return r.has(e)}getChildren(){let{items:e}=this;return e?[...e.values()]:[]}dispose(){this.items.clear(),this.path="",this._removeWatcher=Pd,this.items=iJ,Object.freeze(this)}},aJ="stat",oJ="lstat",c_=class{fsw;path;watchPath;fullWatchPath;dirParts;followSymlinks;statMethod;constructor(e,r,n){this.fsw=n;let i=e;this.path=e=e.replace(QW,""),this.watchPath=i,this.fullWatchPath=ne.resolve(i),this.dirParts=[],this.dirParts.forEach(a=>{a.length>1&&a.pop()}),this.followSymlinks=r,this.statMethod=r?aJ:oJ}entryPath(e){return ne.join(this.watchPath,ne.relative(this.watchPath,e.fullPath))}filterPath(e){let{stats:r}=e;if(r&&r.isSymbolicLink())return this.filterDir(e);let n=this.entryPath(e);return this.fsw._isntIgnored(n,r)&&this.fsw._hasReadPermissions(r)}filterDir(e){return this.fsw._isntIgnored(this.entryPath(e),e.stats)}},l_=class extends HW{closed;options;_closers;_ignoredPaths;_throttled;_streams;_symlinkPaths;_watched;_pendingWrites;_pendingUnlinks;_readyCount;_emitReady;_closePromise;_userIgnored;_readyEmitted;_emitRaw;_boundRemove;_nodeFsHandler;constructor(e={}){super(),this.closed=!1,this._closers=new Map,this._ignoredPaths=new Set,this._throttled=new Map,this._streams=new Set,this._symlinkPaths=new Map,this._watched=new Map,this._pendingWrites=new Map,this._pendingUnlinks=new Map,this._readyCount=0,this._readyEmitted=!1;let r=e.awaitWriteFinish,n={stabilityThreshold:2e3,pollInterval:100},i={persistent:!0,ignoreInitial:!1,ignorePermissionErrors:!1,interval:100,binaryInterval:300,followSymlinks:!0,usePolling:!1,atomic:!0,...e,ignored:e.ignored?Td(e.ignored):Td([]),awaitWriteFinish:r===!0?n:typeof r=="object"?{...n,...r}:!1};pR&&(i.usePolling=!0),i.atomic===void 0&&(i.atomic=!i.usePolling);let a=process.env.CHOKIDAR_USEPOLLING;if(a!==void 0){let c=a.toLowerCase();c==="false"||c==="0"?i.usePolling=!1:c==="true"||c==="1"?i.usePolling=!0:i.usePolling=!!c}let o=process.env.CHOKIDAR_INTERVAL;o&&(i.interval=Number.parseInt(o,10));let s=0;this._emitReady=()=>{s++,s>=this._readyCount&&(this._emitReady=Pd,this._readyEmitted=!0,process.nextTick(()=>this.emit(Oe.READY)))},this._emitRaw=(...c)=>this.emit(Oe.RAW,...c),this._boundRemove=this._remove.bind(this),this.options=i,this._nodeFsHandler=new Id(this),Object.freeze(i)}_addIgnoredPath(e){if(o_(e)){for(let r of this._ignoredPaths)if(o_(r)&&r.path===e.path&&r.recursive===e.recursive)return}this._ignoredPaths.add(e)}_removeIgnoredPath(e){if(this._ignoredPaths.delete(e),typeof e=="string")for(let r of this._ignoredPaths)o_(r)&&r.path===e&&this._ignoredPaths.delete(r)}add(e,r,n){let{cwd:i}=this.options;this.closed=!1,this._closePromise=void 0;let a=mR(e);return i&&(a=a.map(o=>nJ(o,i))),a.forEach(o=>{this._removeIgnoredPath(o)}),this._userIgnored=void 0,this._readyCount||(this._readyCount=0),this._readyCount+=a.length,Promise.all(a.map(async o=>{let s=await this._nodeFsHandler._addToNodeFs(o,!n,void 0,0,r);return s&&this._emitReady(),s})).then(o=>{this.closed||o.forEach(s=>{s&&this.add(ne.dirname(s),ne.basename(r||s))})}),this}unwatch(e){if(this.closed)return this;let r=mR(e),{cwd:n}=this.options;return r.forEach(i=>{!ne.isAbsolute(i)&&!this._closers.has(i)&&(n&&(i=ne.join(n,i)),i=ne.resolve(i)),this._closePath(i),this._addIgnoredPath(i),this._watched.has(i)&&this._addIgnoredPath({path:i,recursive:!0}),this._userIgnored=void 0}),this}close(){if(this._closePromise)return this._closePromise;this.closed=!0,this.removeAllListeners();let e=[];return this._closers.forEach(r=>r.forEach(n=>{let i=n();i instanceof Promise&&e.push(i)})),this._streams.forEach(r=>r.destroy()),this._userIgnored=void 0,this._readyCount=0,this._readyEmitted=!1,this._watched.forEach(r=>r.dispose()),this._closers.clear(),this._watched.clear(),this._streams.clear(),this._symlinkPaths.clear(),this._throttled.clear(),this._closePromise=e.length?Promise.all(e).then(()=>{}):Promise.resolve(),this._closePromise}getWatched(){let e={};return this._watched.forEach((r,n)=>{let a=(this.options.cwd?ne.relative(this.options.cwd,n):n)||vR;e[a]=r.getChildren().sort()}),e}emitWithAll(e,r){this.emit(e,...r),e!==Oe.ERROR&&this.emit(Oe.ALL,e,...r)}async _emit(e,r,n){if(this.closed)return;let i=this.options;i_&&(r=ne.normalize(r)),i.cwd&&(r=ne.relative(i.cwd,r));let a=[r];n!=null&&a.push(n);let o=i.awaitWriteFinish,s;if(o&&(s=this._pendingWrites.get(r)))return s.lastChange=new Date,this;if(i.atomic){if(e===Oe.UNLINK)return this._pendingUnlinks.set(r,[e,...a]),setTimeout(()=>{this._pendingUnlinks.forEach((c,l)=>{this.emit(...c),this.emit(Oe.ALL,...c),this._pendingUnlinks.delete(l)})},typeof i.atomic=="number"?i.atomic:100),this;e===Oe.ADD&&this._pendingUnlinks.has(r)&&(e=Oe.CHANGE,this._pendingUnlinks.delete(r))}if(o&&(e===Oe.ADD||e===Oe.CHANGE)&&this._readyEmitted){let c=(l,u)=>{l?(e=Oe.ERROR,a[0]=l,this.emitWithAll(e,a)):u&&(a.length>1?a[1]=u:a.push(u),this.emitWithAll(e,a))};return this._awaitWriteFinish(r,o.stabilityThreshold,e,c),this}if(e===Oe.CHANGE&&!this._throttle(Oe.CHANGE,r,50))return this;if(i.alwaysStat&&n===void 0&&(e===Oe.ADD||e===Oe.ADD_DIR||e===Oe.CHANGE)){let c=i.cwd?ne.join(i.cwd,r):r,l;try{l=await WW(c)}catch{}if(!l||this.closed)return;a.push(l)}return this.emitWithAll(e,a),this}_handleError(e){let r=e&&e.code;return e&&r!=="ENOENT"&&r!=="ENOTDIR"&&(!this.options.ignorePermissionErrors||r!=="EPERM"&&r!=="EACCES")&&this.emit(Oe.ERROR,e),e||this.closed}_throttle(e,r,n){this._throttled.has(e)||this._throttled.set(e,new Map);let i=this._throttled.get(e);if(!i)throw new Error("invalid throttle");let a=i.get(r);if(a)return a.count++,!1;let o,s=()=>{let l=i.get(r),u=l?l.count:0;return i.delete(r),clearTimeout(o),l&&clearTimeout(l.timeoutObject),u};o=setTimeout(s,n);let c={timeoutObject:o,clear:s,count:0};return i.set(r,c),c}_incrReadyCount(){return this._readyCount++}_awaitWriteFinish(e,r,n,i){let a=this.options.awaitWriteFinish;if(typeof a!="object")return;let o=a.pollInterval,s,c=e;this.options.cwd&&!ne.isAbsolute(e)&&(c=ne.join(this.options.cwd,e));let l=new Date,u=this._pendingWrites;function p(d){BW(c,(f,m)=>{if(f||!u.has(e)){f&&f.code!=="ENOENT"&&i(f);return}let h=Number(new Date);d&&m.size!==d.size&&(u.get(e).lastChange=h);let g=u.get(e);h-g.lastChange>=r?(u.delete(e),i(void 0,m)):s=setTimeout(p,o,m)})}u.has(e)||(u.set(e,{lastChange:l,cancelWait:()=>(u.delete(e),clearTimeout(s),n)}),s=setTimeout(p,o))}_isIgnored(e,r){if(this.options.atomic&&YW.test(e))return!0;if(!this._userIgnored){let{cwd:n}=this.options,a=(this.options.ignored||[]).map(gR(n)),s=[...[...this._ignoredPaths].map(gR(n)),...a];this._userIgnored=rJ(s,void 0)}return this._userIgnored(e,r)}_isntIgnored(e,r){return!this._isIgnored(e,r)}_getWatchHelpers(e){return new c_(e,this.options.followSymlinks,this)}_getWatchedDir(e){let r=ne.resolve(e);return this._watched.has(r)||this._watched.set(r,new s_(r,this._boundRemove)),this._watched.get(r)}_hasReadPermissions(e){return this.options.ignorePermissionErrors?!0:!!(Number(e.mode)&256)}_remove(e,r,n){let i=ne.join(e,r),a=ne.resolve(i);if(n=n??(this._watched.has(i)||this._watched.has(a)),!this._throttle("remove",i,100))return;!n&&this._watched.size===1&&this.add(e,r,!0),this._getWatchedDir(i).getChildren().forEach(d=>this._remove(i,d));let c=this._getWatchedDir(e),l=c.has(r);c.remove(r),this._symlinkPaths.has(a)&&this._symlinkPaths.delete(a);let u=i;if(this.options.cwd&&(u=ne.relative(this.options.cwd,i)),this.options.awaitWriteFinish&&this._pendingWrites.has(u)&&this._pendingWrites.get(u).cancelWait()===Oe.ADD)return;this._watched.delete(i),this._watched.delete(a);let p=n?Oe.UNLINK_DIR:Oe.UNLINK;l&&!this._isIgnored(i)&&this._emit(p,i),this._closePath(i)}_closePath(e){this._closeFile(e);let r=ne.dirname(e);this._getWatchedDir(r).remove(ne.basename(e))}_closeFile(e){let r=this._closers.get(e);r&&(r.forEach(n=>n()),this._closers.delete(e))}_addPathCloser(e,r){if(!r)return;let n=this._closers.get(e);n||(n=[],this._closers.set(e,n)),n.push(r)}_readdirp(e,r){if(this.closed)return;let n={type:Oe.ALL,alwaysStat:!0,lstat:!0,...r,depth:0},i=oR(e,n);return this._streams.add(i),i.once(uR,()=>{i=void 0}),i.once(n_,()=>{i&&(this._streams.delete(i),i=void 0)}),i}};function bR(t,e={}){let r=new l_(e);return r.add(t),r}import*as wR from"fs/promises";import{createHash as sJ}from"crypto";import*as We from"path";var _R=300,u_=500,cJ=5e3,Cd=class{watcher=null;pendingChanges=new Map;suppressedPaths=new Map;debounceTimers=new Map;cleanupTimer=null;readyResolvers=[];isReady=!1;restartAttempts=0;MAX_RESTART_ATTEMPTS=3;RESTART_BASE_DELAY_MS=1e3;explorerRoot;syncIndex;directionChecker=null;onForwardViolation=null;constructor(e,r){this.explorerRoot=We.resolve(e),this.syncIndex=r}setDirectionChecker(e){this.directionChecker=e}setOnForwardViolation(e){this.onForwardViolation=e}injectPending(e){this.pendingChanges.set(e.fsPath,e),v.debug("SyncFileWatcher: injected pending change",{relativePath:e.relativePath,type:e.type})}async start(){this.watcher&&(v.warn("SyncFileWatcher: already started, stopping first"),await this.stop()),v.info("SyncFileWatcher: starting",{explorerRoot:this.explorerRoot}),this.watcher=bR(this.explorerRoot,{ignoreInitial:!0,awaitWriteFinish:{stabilityThreshold:200,pollInterval:50},ignored:e=>this.isIgnored(e),persistent:!0,depth:30}),this.watcher.on("change",e=>{this.handleFileEvent("change",e)}),this.watcher.on("add",e=>{this.handleFileEvent("add",e)}),this.watcher.on("unlink",e=>{this.handleFileEvent("unlink",e)}),this.watcher.on("addDir",e=>{this.handleDirEvent("addDir",e)}),this.watcher.on("unlinkDir",e=>{this.handleDirEvent("unlinkDir",e)}),this.watcher.on("error",e=>{let r=e instanceof Error?e:new Error(String(e));if(v.error("SyncFileWatcher: watcher error",r),this.isReady=!1,this.restartAttempts<this.MAX_RESTART_ATTEMPTS){let n=this.RESTART_BASE_DELAY_MS*Math.pow(2,this.restartAttempts);this.restartAttempts++,v.warn(`SyncFileWatcher: attempting restart ${this.restartAttempts}/${this.MAX_RESTART_ATTEMPTS} in ${n}ms`),setTimeout(()=>{this.stop().then(()=>this.start()).then(()=>{v.info("SyncFileWatcher: successfully restarted after error"),this.restartAttempts=0}).catch(i=>{v.error("SyncFileWatcher: restart failed",i instanceof Error?i:new Error(String(i)))})},n)}else v.error(`SyncFileWatcher: max restart attempts (${this.MAX_RESTART_ATTEMPTS}) exhausted, file change detection is unavailable`)}),this.isReady=!1,this.watcher.on("ready",()=>{v.info("SyncFileWatcher: watcher ready"),this.isReady=!0;for(let e of this.readyResolvers)e();this.readyResolvers=[]}),this.cleanupTimer=setInterval(()=>{this.cleanupSuppressed()},cJ),this.cleanupTimer&&typeof this.cleanupTimer=="object"&&"unref"in this.cleanupTimer&&this.cleanupTimer.unref()}async stop(){v.info("SyncFileWatcher: stopping"),this.watcher&&(await this.watcher.close(),this.watcher=null);for(let e of this.debounceTimers.values())clearTimeout(e);this.debounceTimers.clear(),this.cleanupTimer&&(clearInterval(this.cleanupTimer),this.cleanupTimer=null),this.pendingChanges.clear(),this.suppressedPaths.clear();for(let e of this.readyResolvers)e();this.readyResolvers=[],this.isReady=!1}waitUntilReady(){return this.isReady?Promise.resolve():new Promise(e=>{this.readyResolvers.push(e)})}getPendingCount(){return this.pendingChanges.size}getLastDetected(){let e=null;for(let r of this.pendingChanges.values())(!e||r.detectedAt>e)&&(e=r.detectedAt);return e}drainPendingChanges(){let e=Array.from(this.pendingChanges.values());return this.pendingChanges.clear(),e}hasPending(e){return this.pendingChanges.has(e)}async rescan(){let e=await this.syncIndex.getModifiedFiles(),r=0;for(let n of e){let i=n.fsPath;if(this.pendingChanges.has(i))continue;let a;switch(n.changeType){case"modified":a="change";break;case"added":a="add";break;case"deleted":a="unlink";break;default:continue}let o=We.relative(this.explorerRoot,i);this.pendingChanges.set(i,{fsPath:i,relativePath:o,type:a,detectedAt:new Date().toISOString()}),r++}return r>0&&v.info("SyncFileWatcher: rescan found missed changes",{added:r}),r}suppressPath(e){this.suppressedPaths.set(We.resolve(e),Date.now())}handleDirEvent(e,r){let n=We.resolve(r),i=We.relative(this.explorerRoot,n);if(i.startsWith("..")||i===""||i.split(We.sep).filter(l=>l.length>0).length<=1)return;let o=this.suppressedPaths.get(n);if(o!==void 0){if(Date.now()-o<u_)return;this.suppressedPaths.delete(n)}if(e==="unlinkDir"){let l=We.relative(this.explorerRoot,n),u=n+We.sep;for(let d of this.pendingChanges.keys())(d.startsWith(u)||d===n)&&this.pendingChanges.delete(d);let p=this.debounceTimers.get(n);p&&(clearTimeout(p),this.debounceTimers.delete(n));for(let d of this.debounceTimers.keys())d.startsWith(u)&&(clearTimeout(this.debounceTimers.get(d)),this.debounceTimers.delete(d));if(this.directionChecker&&this.directionChecker(l)==="forward"){v.debug("SyncFileWatcher: forward-only dir event ignored",{relativePath:l,eventType:e}),this.onForwardViolation&&this.onForwardViolation(l);return}this.enqueueDirChange(n,e);return}let s=this.debounceTimers.get(n);s&&clearTimeout(s);let c=setTimeout(()=>{this.debounceTimers.delete(n),this.enqueueDirChange(n,e)},_R);this.debounceTimers.set(n,c)}enqueueDirChange(e,r){let n=We.relative(this.explorerRoot,e);if(this.directionChecker&&this.directionChecker(n)==="forward"){v.debug("SyncFileWatcher: forward-only dir event ignored",{relativePath:n,eventType:r}),this.onForwardViolation&&this.onForwardViolation(n);return}this.pendingChanges.set(e,{fsPath:e,relativePath:n,type:r,detectedAt:new Date().toISOString()}),v.debug("SyncFileWatcher: dir event",{relativePath:n,eventType:r})}handleFileEvent(e,r){let n=We.resolve(r),i=this.suppressedPaths.get(n);if(i!==void 0){if(Date.now()-i<u_){v.debug("SyncFileWatcher: suppressed echo",{path:We.relative(this.explorerRoot,n),eventType:e});return}this.suppressedPaths.delete(n)}let a=this.debounceTimers.get(n);a&&clearTimeout(a);let o=setTimeout(()=>{this.debounceTimers.delete(n),this.processFileChange(e,n)},_R);this.debounceTimers.set(n,o)}async processFileChange(e,r){let n=We.relative(this.explorerRoot,r);if(e==="add"&&Fa.some(i=>r.endsWith(i))){let i=We.dirname(r),a=this.pendingChanges.get(i);a&&a.type==="addDir"&&this.pendingChanges.delete(i);let o=this.debounceTimers.get(i);o&&(clearTimeout(o),this.debounceTimers.delete(i))}if(this.directionChecker&&this.directionChecker(n)==="forward"){v.debug("SyncFileWatcher: forward-only path modified, triggering restore",{relativePath:n,eventType:e}),this.onForwardViolation&&this.onForwardViolation(n);return}if(e==="unlink"){this.pendingChanges.set(r,{fsPath:r,relativePath:n,type:"unlink",detectedAt:new Date().toISOString()}),v.debug("SyncFileWatcher: file deleted",{relativePath:n});return}try{let i=await wR.readFile(r,"utf-8"),a=sJ("md5").update(i,"utf-8").digest("hex"),o=this.syncIndex.getFileHash(r);if(o&&a===o){v.debug("SyncFileWatcher: hash match (echo), skipping",{relativePath:n});return}this.pendingChanges.set(r,{fsPath:r,relativePath:n,type:e,detectedAt:new Date().toISOString()}),v.debug("SyncFileWatcher: change detected",{relativePath:n,eventType:e,hasStoredHash:!!o})}catch(i){if(i.code==="ENOENT"){this.pendingChanges.set(r,{fsPath:r,relativePath:n,type:"unlink",detectedAt:new Date().toISOString()});return}v.warn("SyncFileWatcher: failed to read changed file",{path:n,error:i instanceof Error?i.message:String(i)})}}isIgnored(e){let r=We.basename(e);return r==="_tree.json"||r===".sync-meta.json"||r===".sync-index.json"||r==="changes.log"||r==="history.jsonl"||r.includes(".tmp.")}cleanupSuppressed(){let e=Date.now();for(let[r,n]of this.suppressedPaths)e-n>u_&&this.suppressedPaths.delete(r)}};import Ba from"path";import{promises as SR}from"fs";function _i(t,e,r,n,i=!1){if(n&&n>=1){let s=_t(e);if(s){let c=t.getEffectiveDir(s,n);if(c){let l=jt(e);if(r){let u=t.getResolvedName(e,r);if(u)l=u;else if(i)throw new Error(`Missing collision mapping for ${e}#${r}`)}return p_(t,c,l)}if(i)throw new Error(`Missing parent collision mapping for ${s}#${n}`)}}let a=t.getEffectiveDir(e,r??1);if(a){let s=t.getExplorerRoot(),c=Ba.relative(s,a).split(Ba.sep).filter(l=>l.length>0);return Xe(["game",...c])}let o=e;if(r){let s=t.getResolvedName(e,r);if(s)o=wc(o,s);else if(i)throw new Error(`Missing collision mapping for ${e}#${r}`)}return o}function lJ(t,e){let r=tn(t),n=tn(e);if(r.length<=n.length)return!1;for(let i=0;i<n.length;i++)if(r[i]!==n[i])return!1;return!0}function kR(t,e){let r=new Map;for(let i=0;i<e.length;i++){let a=e[i];if(a?.type==="instanceRemoved")try{let o=_i(t.index,a.path,a.siblingIndex,a.parentSiblingIndex,!0);r.set(i,o)}catch{continue}}if(r.size<=1)return e;let n=new Set;for(let[i,a]of r)for(let[o,s]of r)if(i!==o&&lJ(a,s)){n.add(i);break}return n.size===0?e:e.filter((i,a)=>!n.has(a))}function Va(t,e,r,n=!1){if(r&&r>=1){let i=_t(e);if(i){let a=t.getEffectiveDir(i,r);if(a)return a;if(n)throw new Error(`Missing parent collision mapping for ${i}#${r}`)}}return t.resolveParentDir(e)}async function Dn(t,e,r,n,i){let a=Ba.join(e,r),o=Ba.join(e,n);try{(await SR.stat(a)).isDirectory()&&(i&&(i.suppressPath(a),i.suppressPath(o)),await SR.rename(a,o),t.renameHashKeysUnder(a,o),t.renameReverseNameMappingsUnder(a,o),t.renameInstanceDirMappingsUnder(a,o))}catch{return}}function p_(t,e,r){let n=Ba.relative(t.getExplorerRoot(),e).split(Ba.sep).filter(i=>i.length>0);return Xe(["game",...n,r])}async function zd(t,e){let r=t.index.planCollisionReindexAfterBatchRemovals(e.instancePath,[...e.removedSiblingIndices],e.parentDir);for(let n of r.renames)await Dn(t.index,e.parentDir,n.from,n.to,t.fileWatcher),await Wa(t.writer,t.index,e.parentDir,n.from,n.to);t.index.applyCollisionReindexAfterBatchRemovals(e.instancePath,e.parentDir,r)}async function Wa(t,e,r,n,i){let a=p_(e,r,n),o=p_(e,r,i);await t.renameInTree(a,o,i)}import Rd from"path";var $R=5*60*1e3,IR=100;function jd(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)}function $c(t){return typeof t=="string"&&t.length>0}function Dd(t,e){let r=Rd.resolve(t),n=Rd.resolve(e),i=Rd.relative(r,n);return i===""||!i.startsWith("..")&&!Rd.isAbsolute(i)}function PR(t){if(!jd(t))return{success:!1,error:"Body must be an object"};let e=t.phase;if(e!=="start"&&e!=="chunk"&&e!=="complete")return{success:!1,error:`Invalid phase: ${String(e)}`};if(!$c(t.clientId))return{success:!1,error:"clientId is required"};switch(e){case"start":return typeof t.placeId!="number"?{success:!1,error:"placeId must be a number"}:$c(t.placeName)?typeof t.totalServices!="number"?{success:!1,error:"totalServices must be a number"}:typeof t.totalInstances!="number"?{success:!1,error:"totalInstances must be a number"}:t.previousPlaceId!==void 0&&typeof t.previousPlaceId!="number"?{success:!1,error:"previousPlaceId must be a number"}:{success:!0,data:t}:{success:!1,error:"placeName is required"};case"chunk":return $c(t.serviceName)?$c(t.serviceClassName)?Array.isArray(t.instances)?typeof t.chunkIndex!="number"?{success:!1,error:"chunkIndex must be a number"}:typeof t.totalChunks!="number"?{success:!1,error:"totalChunks must be a number"}:{success:!0,data:t}:{success:!1,error:"instances must be an array"}:{success:!1,error:"serviceClassName is required"}:{success:!1,error:"serviceName is required"};case"complete":return typeof t.instanceCount!="number"?{success:!1,error:"instanceCount must be a number"}:typeof t.scriptCount!="number"?{success:!1,error:"scriptCount must be a number"}:{success:!0,data:t}}}function ER(t){if(!jd(t))return{success:!1,error:"Body must be an object"};if(!$c(t.clientId))return{success:!1,error:"clientId is required"};if(t.placeId!==void 0&&typeof t.placeId!="number")return{success:!1,error:"placeId must be a number"};if(typeof t.timestamp!="number")return{success:!1,error:"timestamp must be a number"};if(!Array.isArray(t.changes)||t.changes.length===0)return{success:!1,error:"changes must be a non-empty array"};let e=new Set(["propertyChanged","instanceAdded","instanceRemoved","instanceRenamed","instanceMoved","scriptSourceChanged"]);for(let r=0;r<t.changes.length;r++){let n=t.changes[r];if(!jd(n)||!e.has(n.type))return{success:!1,error:`changes[${r}]: invalid type '${String(n?.type)}'`}}return{success:!0,data:t}}function TR(t){return jd(t)?t.propertyMode!==void 0&&((t.propertyMode==="common"||t.propertyMode==="full")&&(t.propertyMode="standard"),t.propertyMode!=="standard"&&t.propertyMode!=="minimal")?{success:!1,error:`Invalid propertyMode: ${String(t.propertyMode)}`}:t.maxDepth!==void 0&&(typeof t.maxDepth!="number"||t.maxDepth<1)?{success:!1,error:"maxDepth must be a positive number"}:t.maxInstances!==void 0&&(typeof t.maxInstances!="number"||t.maxInstances<1)?{success:!1,error:"maxInstances must be a positive number"}:{success:!0,data:t}:{success:!1,error:"Body must be an object"}}import hr from"path";import{promises as Ja}from"fs";var Od=class{constructor(e){this.ctx=e}async processChangeForPlace(e,r,n){let i=Wz(r.type);if(e.directions[i]==="reverse")return v.info("Reverse enforcement: rejecting Studio change on reverse-only path",{placeId:e.placeId,changeType:r.type,dirKey:i,path:"path"in r?r.path:void 0}),(r.type==="scriptSourceChanged"||r.type==="propertyChanged")&&await this.injectLocalAsReverse(e,r),null;switch(r.type){case"propertyChanged":{let o=_i(e.index,r.path,r.siblingIndex,r.parentSiblingIndex,!0),s=await this.checkPropertyConflictForPlace(e,o);if(s)return s;let c=r;return c.properties&&typeof c.properties=="object"&&!Array.isArray(c.properties)?await e.writer.updateProperties(o,c.properties):r.property!==void 0?await e.writer.updateProperty(o,r.property,r.value):v.warn("propertyChanged: missing both property and properties",{path:o}),null}case"instanceAdded":{let o=qa.has(r.className),s=r.path,c=r.name;{let p=Va(e.index,r.path,r.parentSiblingIndex,!0),{resolved:d,retroactiveRename:f}=e.index.registerCollision(r.path,r.siblingIndex,p);f&&(await Dn(e.index,p,f.from,f.to,e.fileWatcher),await Wa(e.writer,e.index,p,f.from,f.to));let m=e.index.sanitizeName(r.name);if(d!==m||p!==e.index.resolveParentDir(r.path)){let h=e.index.getExplorerRoot(),g=hr.relative(h,p).split(hr.sep).filter(b=>b.length>0);s=Xe(["game",...g,d]),c=d}}await e.writer.writeInstance({path:s,name:r.name,className:r.className,properties:r.properties,attributes:r.attributes,tags:r.tags,scriptSource:r.scriptSource,hasChildren:!1,childCount:0});let l={name:c,className:r.className,childCount:0},u=_t(s)||r.parentPath;return await e.writer.addToTree(u,l),e.instanceCount++,o&&r.scriptSource!==void 0&&e.scriptCount++,null}case"instanceRemoved":{let o=_i(e.index,r.path,r.siblingIndex,r.parentSiblingIndex,!0),s=Va(e.index,r.path,r.parentSiblingIndex,!0);v.info("Processing instanceRemoved",{path:o}),await e.writer.removeInstance(o);let c=jt(o),l=_t(o);if(l&&c&&await e.writer.removeFromTree(l,c),r.siblingIndex!==void 0){let p=`${s}\0${r.path}`,d=n.get(p);d||(d={instancePath:r.path,parentDir:s,removedSiblingIndices:new Set},n.set(p,d)),d.removedSiblingIndices.add(r.siblingIndex)}let u=_t(o);if(u)try{let p=e.index.resolveChildrenDir(u);hr.dirname(p)!==e.index.getExplorerRoot()&&(await Ja.readdir(p)).length===0&&await Ja.rmdir(p)}catch{return null}return null}case"instanceRenamed":{let o=_i(e.index,r.oldPath,r.siblingIndex,r.parentSiblingIndex,!0),s=_t(r.oldPath)===_t(r.newPath),c=s?Va(e.index,r.oldPath,r.parentSiblingIndex,!0):null,l=Va(e.index,r.newPath,r.parentSiblingIndex,!0),{resolved:u,retroactiveRename:p}=e.index.registerCollision(r.newPath,r.siblingIndex,l);p&&(await Dn(e.index,l,p.from,p.to,e.fileWatcher),await Wa(e.writer,e.index,l,p.from,p.to));let d=u!==e.index.sanitizeName(r.newName)?wc(r.newPath,u):r.newPath;if(await e.writer.renameInstance(o,d,r.newName),await e.writer.renameInTree(o,d,u),s&&c&&r.siblingIndex!==void 0){let f=e.index.planCollisionReindexAfterRemoval(r.oldPath,r.siblingIndex,c);for(let m of f.renames)await Dn(e.index,c,m.from,m.to,e.fileWatcher),await Wa(e.writer,e.index,c,m.from,m.to);e.index.applyCollisionReindexAfterRemoval(r.oldPath,c,f)}return null}case"instanceMoved":{let o=_i(e.index,r.oldPath,r.siblingIndex,r.parentSiblingIndex,!0),s=Va(e.index,r.newPath,r.parentSiblingIndex,!0),{resolved:c,retroactiveRename:l}=e.index.registerCollision(r.newPath,r.siblingIndex,s);l&&(await Dn(e.index,s,l.from,l.to,e.fileWatcher),await Wa(e.writer,e.index,s,l.from,l.to));let u=jt(r.newPath)||"",p=c!==e.index.sanitizeName(u)?wc(r.newPath,c):r.newPath;return await e.writer.moveInstance(o,p),await e.writer.moveInTree(o,p),null}case"scriptSourceChanged":{let o=_i(e.index,r.path,r.siblingIndex,r.parentSiblingIndex,!0),s=await this.checkScriptConflictForPlace(e,o,r.source);if(s)return s;let c=await this.resolveScriptClassForPlace(e,o);return await this.cleanupStaleScriptFilesForPlace(e,o,c),await e.writer.writeScript(o,c,r.source,!1),null}}}async injectLocalAsReverse(e,r){if(e.fileWatcher)try{if(r.type==="scriptSourceChanged"){let n=await this.resolveScriptClassForPlace(e,r.path),i=e.index.resolveScriptPath(r.path,n,!1),a=hr.join(this.ctx.config.getPlaceRoot(e.placeId),"explorer"),o=hr.relative(a,i);e.fileWatcher.injectPending({fsPath:i,relativePath:o,type:"change",detectedAt:new Date().toISOString()})}else if(r.type==="propertyChanged"){let n=e.index.resolvePropsPath(r.path),i=hr.join(this.ctx.config.getPlaceRoot(e.placeId),"explorer"),a=hr.relative(i,n);e.fileWatcher.injectPending({fsPath:n,relativePath:a,type:"change",detectedAt:new Date().toISOString()})}}catch(n){v.debug("injectLocalAsReverse: could not inject",{changeType:r.type,error:n instanceof Error?n.message:String(n)})}}async resolveScriptClassForPlace(e,r){try{let n=e.index.resolvePropsPath(r),i=await Ja.readFile(n,"utf-8"),a=JSON.parse(i);if(a.className&&qa.has(a.className))return a.className}catch{return"ModuleScript"}return"ModuleScript"}async cleanupStaleScriptFilesForPlace(e,r,n){let i=bd[n],a=hr.join(this.ctx.config.getPlaceRoot(e.placeId),"explorer");for(let[o,s]of Object.entries(bd)){if(s===i)continue;let c=e.index.resolveScriptPath(r,o,!1);try{await Ja.unlink(c),e.index.removeHash(c),v.info("Cleaned up stale script file",{placeId:e.placeId,removed:hr.relative(a,c),currentClassName:n})}catch(l){l.code!=="ENOENT"&&v.warn("Failed to clean up stale script file",{path:c,error:l instanceof Error?l.message:String(l)})}}}async checkPropertyConflictForPlace(e,r){try{let n=e.index.resolvePropsPath(r),i=e.index.getFileHash(n);if(!i)return null;let a;try{a=await Ja.readFile(n,"utf-8")}catch{return null}return e.index.computeHash(a)===i?null:{fsPath:hr.relative(this.ctx.config.getPlaceRoot(e.placeId),n),instancePath:r,fileType:"props",studioContent:"",fileContent:a}}catch{return null}}async checkScriptConflictForPlace(e,r,n){try{let i=await this.resolveScriptClassForPlace(e,r),a=e.index.resolveScriptPath(r,i,!1),o=e.index.getFileHash(a);if(!o)return null;let s;try{s=await Ja.readFile(a,"utf-8")}catch{return null}return e.index.computeHash(s)===o?null:{fsPath:hr.relative(this.ctx.config.getPlaceRoot(e.placeId),a),instancePath:r,fileType:"script",studioContent:n,fileContent:s}}catch{return null}}async applyDeferredCollisionBatchReindexForPlace(e,r){await zd(e,r)}};import CR from"path";import{promises as Ga}from"fs";var Nd=class{constructor(e){this.ctx=e}async handlePreCheck(e,r){let n=this.ctx.resolveQueryPlaceId(e);if(n==null){r.status(200).json({hasPreviousSync:!1,changes:[],summary:{modified:0,deleted:0,added:0,total:0}});return}let i=this.ctx.config.getPlaceRoot(n),a=CR.join(i,".sync-index.json"),o=!1;try{await Ga.access(a),o=!0}catch{o=!1}if(!o){r.status(200).json({hasPreviousSync:!1,changes:[],summary:{modified:0,deleted:0,added:0,total:0}});return}let s=CR.join(i,"explorer"),c=new jn(i,s);await c.loadFromDisk();let l=await c.getModifiedFiles(),u=0,p=0,d=0;for(let m of l)switch(m.changeType){case"modified":u++;break;case"deleted":p++;break;case"added":d++;break}let f=l.map(m=>({relPath:m.relPath,instancePath:m.instancePath,changeType:m.changeType,fileType:m.fileType}));r.status(200).json({hasPreviousSync:!0,changes:f,summary:{modified:u,deleted:p,added:d,total:f.length}})}async handleSyncDirections(e,r){let n=e.body,i=n.placeId??this.ctx.getDefaultRuntimePlaceId();if(i==null){r.status(400).json({error:"Missing placeId"});return}let a=this.ctx.places.get(i);if(!a){r.status(404).json({error:"Place not found",message:`No sync context for place ${i}`});return}if(n.directions&&typeof n.directions=="object"){let o=c=>c==="forward"||c==="reverse"||c==="bidirectional",s=n.directions;o(s.scripts)&&(a.directions.scripts=s.scripts),o(s.values)&&(a.directions.values=s.values),o(s.containers)&&(a.directions.containers=s.containers),o(s.data)&&(a.directions.data=s.data),o(s.services)&&(a.directions.services=s.services),v.info("Sync directions updated",{placeId:i,directions:a.directions})}this.ctx.touchRuntimePlace(i),r.status(200).json({status:"updated",directions:a.directions})}async handleForwardRestoreList(e,r){let n=this.ctx.resolveQueryPlaceId(e);if(n==null){r.status(200).json({paths:[]});return}let i=this.ctx.places.get(n);if(!i){r.status(404).json({error:"Place not found",message:`No sync context for place ${n}`});return}let a=i.forwardRestoreQueue.splice(0);this.ctx.touchRuntimePlace(n),v.info("Forward restore list drained",{placeId:n,count:a.length}),r.status(200).json({paths:a})}async handleSyncHistory(e,r){let n=this.ctx.resolveQueryPlaceId(e);if(n==null){r.status(200).json({entries:[],total:0,hasMore:!1});return}let i=Math.min(Math.max(parseInt(e.query.limit)||50,1),200),a=Math.max(parseInt(e.query.offset)||0,0),o=e.query.direction,s=e.query.type,c=this.ctx.places.get(n);c&&(await c.writer.flushHistory(),this.ctx.touchRuntimePlace(n));let l=this.ctx.config.getHistoryPath(n),u=[];try{u=(await Ga.readFile(l,"utf-8")).split(`
|
|
114
114
|
`).filter(g=>g.length>0)}catch(h){if(h.code==="ENOENT"){r.status(200).json({entries:[],total:0,hasMore:!1});return}throw h}let p=[];for(let h=u.length-1;h>=0;h--)try{let g=JSON.parse(u[h]);if(o&&g.direction!==o||s&&g.type!==s)continue;p.push(g)}catch{continue}let d=p.length,m={entries:p.slice(a,a+i),total:d,hasMore:a+i<d};r.status(200).json(m)}getStatusSummary(){if(this.ctx.activeFullSyncPlaceId!==null&&this.ctx.activeFullSyncPlaceId!==void 0)return{active:!0,placeId:this.ctx.activeFullSyncPlaceId};for(let[e,r]of this.ctx.places.entries())if(r.state==="syncing")return{active:!0,placeId:e};return{active:!1}}getDirectionForCategory(e){let r;if(this.ctx.activeFullSyncPlaceId!==null&&this.ctx.activeFullSyncPlaceId!==void 0&&(r=this.ctx.places.get(this.ctx.activeFullSyncPlaceId)),!r){let i=this.ctx.getDefaultRuntimePlaceId();i!=null&&(r=this.ctx.places.get(i))}if(!r)return"forward";let n=e;return r.directions[n]??"forward"}getStatusDirect(e){let r=e!=null?parseInt(e,10):this.ctx.getDefaultRuntimePlaceId();if(r==null)return{state:"idle",instanceCount:0,scriptCount:0,lastFullSync:null,lastIncrementalSync:null,syncRoot:this.ctx.config.getSyncRoot(),activeClientId:null,reverseSyncAvailable:!1,modifiedFileCount:0};let n=this.ctx.places.get(r);if(!n)return{state:"idle",instanceCount:0,scriptCount:0,lastFullSync:null,lastIncrementalSync:null,syncRoot:this.ctx.config.getPlaceRoot(r),activeClientId:null,reverseSyncAvailable:!1,modifiedFileCount:0};let i=n.fileWatcher?.getPendingCount()??0;return{state:n.state,instanceCount:n.instanceCount,scriptCount:n.scriptCount,lastFullSync:n.lastFullSync,lastIncrementalSync:n.lastIncrementalSync,syncRoot:this.ctx.config.getPlaceRoot(r),activeClientId:n.activeClientId,reverseSyncAvailable:i>0,modifiedFileCount:i}}getConfigDirect(){return this.ctx.config.getConfig()}async getHistoryDirect(e,r){let n=parseInt(e,10),i=this.ctx.places.get(n);i&&await i.writer.flushHistory();let a=Math.min(Math.max(r?.limit??50,1),200),o=Math.max(r?.offset??0,0),s=this.ctx.config.getHistoryPath(n),c=[];try{c=(await Ga.readFile(s,"utf-8")).split(`
|
|
115
|
-
`).filter(f=>f.length>0)}catch(d){if(d.code==="ENOENT")return{entries:[],total:0,hasMore:!1};throw d}let l=[];for(let d=c.length-1;d>=0;d--)try{l.push(JSON.parse(c[d]))}catch{continue}let u=l.length;return{entries:l.slice(o,o+a),total:u,hasMore:o+a<u}}getDirectionsDirect(e){let r=e!=null?parseInt(e,10):this.ctx.getDefaultRuntimePlaceId();if(r==null)return{...yi};let n=this.ctx.places.get(r);return n?{...n.directions}:{...yi}}getProgressDirect(e){let r=e!=null?parseInt(e,10):this.ctx.getDefaultRuntimePlaceId();if(r==null)return{state:"idle",isSyncing:!1};let n=this.ctx.places.get(r);if(!n)return{state:"idle",isSyncing:!1};if(!n.syncProgress)return{state:n.state,isSyncing:!1,lastSync:{instanceCount:n.instanceCount,scriptCount:n.scriptCount,completedAt:n.lastFullSync}};let i=n.syncProgress,a=Date.now()-i.syncStartTime,o=i.totalInstances>0?Math.min(100,Math.round(i.processedInstances/i.totalInstances*100)):0,s;if(i.processedInstances>0&&o<100){let l=a/i.processedInstances,u=i.totalInstances-i.processedInstances;s=Math.round(l*u)}let c=a>0?Math.round(i.bytesReceived/a*1e3):0;return{state:n.state,isSyncing:!0,progressPercent:o,currentService:i.currentService,currentChunk:{index:i.currentChunkIndex,total:i.currentTotalChunks},instances:{processed:i.processedInstances,total:i.totalInstances},services:{processed:i.processedServices,total:i.totalServices},elapsedMs:a,estimatedRemainingMs:s,bytesReceived:i.bytesReceived,bytesPerSecond:c}}async readSyncedFile(e,r){let n=parseInt(e,10),i=this.ctx.places.get(n);if(!i)throw new Error(`Place ${e} not found in sync cache`);let a=i.index.resolvePropsPath(r);try{return{content:await Ga.readFile(a,"utf-8"),path:a}}catch(s){if(s.code!=="ENOENT")throw s}for(let s of qa){let c=i.index.resolveScriptPath(r,s,!1);try{return{content:await Ga.readFile(c,"utf-8"),path:c}}catch{continue}}let o=i.index.resolveValuePath(r);try{return{content:await Ga.readFile(o,"utf-8"),path:o}}catch(s){if(s.code!=="ENOENT")throw s}throw new Error(`No synced file found for instance: ${r}`)}async writeSyncedFile(e,r,n){let i=parseInt(e,10),a=this.ctx.places.get(i);if(!a)throw new Error(`Place ${e} not found in sync cache`);await a.writer.writeScript(r,"Script",n,!1)}async executeViaDisk(e,r){let n=this.ctx.getDefaultRuntimePlaceId();if(n==null)throw new Error("No active sync place for disk execution");let i=this.ctx.places.get(n);if(!i)throw new Error(`Place ${n} not found in sync cache`);switch(e){case"set_script_source":{let a=r.scriptType||r.className||"Script";return await i.writer.writeScript(r.path,a,r.source,!1),{success:!0,path:r.path}}case"set_property":return await i.writer.writeProps(r.path,{className:r.className||"Instance",name:jt(r.path),properties:{[r.property]:r.value}}),{success:!0,path:r.path};default:throw new Error(`Disk execution not supported for action: ${e}`)}}};import
|
|
116
|
-
`),this.startTTLTimerForPlace(i,a),i.state="initializing",i.index.resetNameCounters(),i.syncProgress={syncStartTime:Date.now(),totalInstances:r.totalInstances,totalServices:r.totalServices,processedInstances:0,processedServices:0,currentService:null,currentChunkIndex:0,currentTotalChunks:0,bytesReceived:0,processedChunks:0},i.writer.appendChangeLog(`FULL_SYNC_START clientId=${r.clientId} placeId=${r.placeId}`),i.writer.appendHistory({timestamp:new Date().toISOString(),type:"fullSyncStart",direction:"forward",path:`place_${r.placeId}`,details:`services:${r.totalServices} instances:${r.totalInstances}`}),v.info("Full sync started",{syncId:a,clientId:r.clientId,placeId:r.placeId,placeName:r.placeName,totalServices:r.totalServices,totalInstances:r.totalInstances}),n.status(200).json({status:"started",syncId:i.activeFullSyncSessionId})}async handleInitChunk(e,r,n){let i=this.ctx.places.get(e);if(!i||!i.activeFullSyncSessionId||!i.tmpIndex||!i.tmpWriter){n.status(400).json({error:"No active sync session",message:"Call sync/init with phase=start first"});return}if(i.activeClientId&&r.clientId&&i.activeClientId!==r.clientId){n.status(409).json({error:"Conflict",message:`This sync session belongs to client ${i.activeClientId}`});return}let a=i.activeFullSyncSessionId,o=this.getOrCreatePendingServiceTree(a,r),s=0,c=i.collisionDirMap;for(let u of r.instances){if(this.ctx.config.isExcluded(u.path,u.className))continue;let p=i.tmpIndex.resolveParentDir(u.path),d=c.get(p)??p,{resolved:f,retroactiveRename:m}=i.tmpIndex.registerCollision(u.path,u.siblingIndex??void 0,d);m&&await Dn(i.tmpIndex,d,m.from,m.to);let h=i.tmpIndex.resolveChildrenDir(u.path),g=
|
|
117
|
-
`),this.clearTTLTimerForPlace(i,a),i.index.clearAllHashes(),i.tmpIndex){let m=i.tmpIndex.getExplorerRoot(),h=i.index.getExplorerRoot();for(let[g,b]of i.tmpIndex.getAllHashes()){let S=Oe.relative(m,g),_=Oe.resolve(h,S);i.index.updateHashByValue(_,b)}for(let[g,b]of i.tmpIndex.getAllFileHashes()){let S=Oe.relative(m,g),_=Oe.resolve(h,S);i.index.updateFileHashByValue(_,b)}i.index.resetNameCounters(),i.index.mergeNameMappingsFrom(i.tmpIndex)}if(i.tmpIndex=null,i.tmpWriter&&(i.tmpWriter.stopChangeLogFlusher(),i.tmpWriter=null),this.pendingServiceTrees.delete(a),i.collisionDirMap=null,await i.index.saveToDisk(),i.state="syncing",i.activeFullSyncSessionId=null,i.syncProgress=null,this.ctx.touchRuntimePlace(e),this.ctx.activeFullSyncPlaceId=null,await this.ctx.startFileWatcherForPlace(i),i.fileWatcher&&await i.fileWatcher.waitUntilReady(),u.size>0){for(let[m,h]of u){let g=Oe.resolve(o,m);try{await Lt.mkdir(Oe.dirname(g),{recursive:!0}),await Lt.writeFile(g,h,"utf-8")}catch(b){v.warn("Failed to restore preserved file",{path:m,error:b instanceof Error?b.message:String(b)})}}v.info("Restored preserved local files",{placeId:e,count:u.size})}if(p.length>0){let m=0;for(let h of p){let g=Oe.resolve(o,h);try{await Lt.unlink(g),i.index.removeHash(g),m++}catch(b){b.code!=="ENOENT"&&v.warn("Failed to delete preserved-as-deleted file",{path:h,error:b instanceof Error?b.message:String(b)})}}m>0&&(await i.index.saveToDisk(),v.info("Deleted locally-removed files from new sync",{placeId:e,count:m}))}i.writer.appendChangeLog(`FULL_SYNC_COMPLETE instances=${i.instanceCount} scripts=${i.scriptCount}`),i.writer.appendHistory({timestamp:new Date().toISOString(),type:"fullSyncComplete",direction:"forward",path:`place_${e}`,details:`instances:${i.instanceCount} scripts:${i.scriptCount}`}),v.info("Full sync completed",{placeId:e,instanceCount:i.instanceCount,scriptCount:i.scriptCount}),n.status(200).json({status:"completed",instanceCount:i.instanceCount,scriptCount:i.scriptCount,syncRoot:this.ctx.config.getPlaceRoot(e)})}setPreserveLocalFiles(e,r){this.preserveLocalFilesMap.set(e,r)}getAndClearPreserveLocalFiles(e){let r=this.preserveLocalFilesMap.get(e)||[];return this.preserveLocalFilesMap.delete(e),r}clearPreserveLocalFiles(e){this.preserveLocalFilesMap.delete(e)}clearPendingServiceTrees(e){this.pendingServiceTrees.delete(e)}startTTLTimerForPlace(e,r){let n=setTimeout(async()=>{v.warn("Incomplete sync TTL expired, cleaning up",{placeId:e.placeId,syncId:r});let i=this.ctx.config.getPlaceRoot(e.placeId),a=Oe.join(i,`explorer_tmp_${r}`);try{await Lt.rm(a,{recursive:!0,force:!0})}catch(o){v.error("Failed to clean up expired temp dir",o instanceof Error?o:new Error(String(o)))}e.incompleteSyncTimer=null,e.activeFullSyncSessionId===r&&(e.activeFullSyncSessionId=null,e.activeClientId=null,e.state="idle",e.tmpIndex=null,this.pendingServiceTrees.delete(r),e.collisionDirMap=null,e.tmpWriter&&(e.tmpWriter.stopChangeLogFlusher(),e.tmpWriter=null),this.ctx.activeFullSyncPlaceId===e.placeId&&(this.ctx.activeFullSyncPlaceId=null),this.ctx.clearRuntimePlaceIfMatch(e.placeId))},$R);n&&typeof n=="object"&&"unref"in n&&n.unref(),e.incompleteSyncTimer=n}normalizeSiblingIndex(e){let r=e.siblingIndex;return typeof r=="number"&&Number.isFinite(r)&&r>=1?Math.floor(r):1}getOrCreatePendingServiceTree(e,r){let n=this.pendingServiceTrees.get(e);n||(n=new Map,this.pendingServiceTrees.set(e,n));let i=n.get(r.serviceName);if(i)return i;let a={serviceName:r.tree?.name??r.serviceName,serviceClassName:r.tree?.className??r.serviceClassName,zeroBasedChunkIndex:r.chunkIndex===0,instances:[]};return n.set(r.serviceName,a),a}isLastChunk(e,r,n){return n<=1?!0:e.zeroBasedChunkIndex?r>=n-1:r>=n}buildServiceTree(e,r){let n={name:r.serviceName,className:r.serviceClassName,childCount:0,children:[],syncedAt:new Date().toISOString()};for(let i of r.instances){let a=this.resolveEffectiveSegments(e,i.path,i.siblingIndex);this.upsertTreeNode(n,a,i.className)}return this.recomputeTreeChildCounts(n),n.syncedAt=new Date().toISOString(),n}resolveEffectiveSegments(e,r,n){let i=e.tmpIndex?.getEffectiveDir(r,n);if(i){let o=Oe.relative(e.tmpIndex.getExplorerRoot(),i).split(Oe.sep).filter(s=>s.length>0);if(o.length>0)return o}return e.tmpIndex?bt(r).map(a=>e.tmpIndex.sanitizeName(a)):bt(r)}upsertTreeNode(e,r,n){if(r.length<=1)return;let i=e.children;for(let a=1;a<r.length;a++){let o=r[a],s=a===r.length-1,c=i.find(l=>l.name===o);c?s&&(c.className=n):(c={name:o,className:s?n:"Folder",childCount:0,children:[]},i.push(c)),c.children||(c.children=[]),i=c.children}}recomputeTreeChildCounts(e){let r=n=>{let i=n.children??[];n.children=i;for(let a of i)r(a);n.childCount=i.length};for(let n of e.children)r(n);e.childCount=e.children.length}clearTTLTimerForPlace(e,r){e.incompleteSyncTimer&&e.activeFullSyncSessionId===r&&(clearTimeout(e.incompleteSyncTimer),e.incompleteSyncTimer=null)}async cleanupStaleTempDirs(){let e=this.ctx.config.getSyncRoot();try{let r=await Lt.readdir(e,{withFileTypes:!0});for(let n of r)if(n.isDirectory()){if(n.name.startsWith("explorer_tmp_")){let i=Oe.join(e,n.name);v.warn("Removing stale temp directory from crashed sync",{dir:n.name});try{await Lt.rm(i,{recursive:!0,force:!0})}catch(a){v.error(`Failed to remove stale temp dir: ${n.name}`,a instanceof Error?a:new Error(String(a)))}}if(n.name.startsWith("place_")){let i=Oe.join(e,n.name);try{let a=await Lt.readdir(i,{withFileTypes:!0});for(let o of a)if(o.isDirectory()&&o.name.startsWith("explorer_tmp_")){let s=Oe.join(i,o.name);v.warn("Removing stale temp directory from crashed sync",{dir:`${n.name}/${o.name}`});try{await Lt.rm(s,{recursive:!0,force:!0})}catch(c){v.error(`Failed to remove stale temp dir: ${n.name}/${o.name}`,c instanceof Error?c:new Error(String(c)))}}}catch{continue}}}}catch(r){if(r.code==="ENOENT")return;v.warn("Failed to scan for stale temp dirs",{error:r instanceof Error?r.message:String(r)})}}};import jr from"path";import{promises as zR}from"fs";var Md=class{constructor(e){this.ctx=e}async handleReversePending(e,r){let n=this.ctx.resolveQueryPlaceId(e);if(n==null){r.status(200).json({pending:0,hasConflicts:!1,lastDetected:null});return}let i=this.ctx.places.get(n);if(!i){r.status(404).json({error:"Place not found",message:`No sync context for place ${n}`});return}let a={pending:i.fileWatcher?.getPendingCount()??0,hasConflicts:!1,lastDetected:i.fileWatcher?.getLastDetected()??null,forwardRestoreNeeded:i.forwardRestoreQueue.length};this.ctx.touchRuntimePlace(n),r.status(200).json(a)}async handleReverseSyncChanges(e,r){let n=this.ctx.resolveQueryPlaceId(e);if(n==null){r.status(200).json({changes:[],count:0});return}let i=this.ctx.places.get(n);if(!i){r.status(404).json({error:"Place not found",message:`No sync context for place ${n}`});return}if(i.state!=="syncing"){r.status(400).json({error:"Not syncing",message:"Reverse sync is only available when sync is active"});return}let a=i.fileWatcher?.drainPendingChanges()??[],o=a.length>0?await i.reader.buildChangesFromPending(a):[];this.ctx.touchRuntimePlace(n),r.status(200).json({changes:o,count:o.length})}async handleReverseSyncResult(e,r){let n=e.body,i=n.placeId??this.ctx.getDefaultRuntimePlaceId();if(i==null){r.status(400).json({error:"Validation error",message:"placeId is required (in body or via active sync session)"});return}let a=n.appliedFiles??n.appliedPaths;if(!a||!Array.isArray(a)){r.status(400).json({error:"Validation error",message:"appliedFiles (or appliedPaths) must be an array of relative file paths"});return}let o=this.ctx.places.get(i);if(!o){r.status(404).json({error:"Place not found",message:`No sync context for place ${i}`});return}this.ctx.touchRuntimePlace(i);let s=this.ctx.config.getPlaceRoot(i),c=0,l=[];for(let u of a){let p=jr.resolve(s,u);if(!Dd(s,p)){l.push({path:u,error:"Path is outside the place root"});continue}try{let d=await zR.readFile(p,"utf-8"),f=o.index.computeHash(d);o.index.updateHashByValue(p,f),o.index.updateFileHashByValue(p,f),c++}catch(d){let f=d.code;if(f==="ENOENT"){o.index.removeHash(p),o.index.removeHashesUnder(p);let m=this.resolveInstancePathForAppliedPath(o.index,p);if(m){let h=jt(m),g=_t(m);g&&h&&await o.writer.removeFromTree(g,h)}c++}else f==="EISDIR"?c++:l.push({path:u,error:d instanceof Error?d.message:String(d)})}}c>0&&await o.index.saveToDisk(),c>0&&o.writer.appendHistory({timestamp:new Date().toISOString(),type:"reverseApply",direction:"reverse",path:`place_${i}`,details:`applied:${c} failed:${l.length}`}),r.status(200).json({updated:c,failed:l.length,errors:l})}async handleResolveConflict(e,r){let n=e.body;if(!n.fsPath||!n.resolution){r.status(400).json({error:"Validation error",message:"fsPath and resolution are required"});return}let{fsPath:i,resolution:a}=n,o=this.ctx.config.getSyncRoot();if(!Dd(o,jr.resolve(o,i))){r.status(403).json({error:"Forbidden",message:"Path is outside the sync root"});return}if(a==="skip"){r.status(200).json({status:"skipped",fsPath:i});return}let s;if(n.placeId&&(s=this.ctx.places.get(n.placeId)),!s){let d=i.match(/^place_(\d+)(?:_[^/]+)?\//);if(d){let f=parseInt(d[1],10);s=this.ctx.places.get(f)}else s=Array.from(this.ctx.places.values())[0]}if(!s){r.status(404).json({error:"No active place context",message:"No sync session is active. Start a sync first."});return}let c=this.ctx.config.getPlaceRoot(s.placeId),l=jr.resolve(c,i);if(!Dd(c,l)){r.status(403).json({error:"Forbidden",message:"Path is outside the place root"});return}let u=s.index,p=s.reader;if(a==="apply-studio"){u.resolveFile(l,"apply-studio"),await u.saveToDisk(),r.status(200).json({status:"resolved",resolution:"apply-studio",fsPath:i});return}if(a==="apply-file"){let d=await zR.readFile(l,"utf-8"),f=u.computeHash(d);u.resolveFile(l,"apply-file",f),await u.saveToDisk();let m=p.getFileType(l),h=p.resolveInstancePathFromFile(l);r.status(200).json({status:"resolved",resolution:"apply-file",fsPath:i,instancePath:h,fileType:m,content:d});return}r.status(400).json({error:"Invalid resolution",message:`Unknown resolution: ${a}`})}async handleReverseRescan(e,r){let n=this.ctx.resolveQueryPlaceId(e);if(n==null){r.status(200).json({added:0});return}let i=this.ctx.places.get(n);if(!i){r.status(404).json({error:"Place not found",message:`No sync context for place ${n}`});return}if(!i.fileWatcher){r.status(200).json({added:0});return}let a=await i.fileWatcher.rescan();this.ctx.touchRuntimePlace(n),v.info("Reverse rescan completed",{placeId:n,added:a}),r.status(200).json({added:a})}resolveInstancePathForAppliedPath(e,r){let n=e.resolveInstancePathFromFsPath(r);if(n)return n;let i=e.getExplorerRoot(),a=jr.relative(i,r);if(a.startsWith("..")||a===""||jr.isAbsolute(a))return null;let o=a.split(jr.sep).filter(f=>f.length>0);if(o.length<2)return null;let s=jr.basename(r),c=jr.dirname(r),l=e.getOriginalInstance(c,s);if(l)return l.instancePath;let u=s.toLowerCase();if(Fa.some(f=>u.endsWith(f))||u==="_tree.json")return null;let p=["game"],d=i;for(let f of o){d=jr.join(d,f);let m=jr.dirname(d);p.push(e.getOriginalNameForDir(m,f))}return ut(p)}};function RR(t){if(!t||typeof t!="object")return;let e=t;if(Array.isArray(e.instances))for(let r of e.instances)Array.isArray(r.properties)&&r.properties.length===0&&(r.properties={}),Array.isArray(r.attributes)&&r.attributes.length===0&&(r.attributes={});if(Array.isArray(e.changes))for(let r of e.changes)Array.isArray(r.properties)&&r.properties.length===0&&(r.properties={}),Array.isArray(r.attributes)&&r.attributes.length===0&&(r.attributes={})}var Ud=class{config;places;apiHandler;changeProcessor;initHandler;reverseHandler;activeFullSyncPlaceId=null;activeRuntimeSyncPlaceId=null;constructor(e){this.config=new xd(e),this.apiHandler=new Nd(this),this.changeProcessor=new Od(this),this.initHandler=new Ad(this),this.reverseHandler=new Md(this),this.places=new yd({max:3,dispose:(r,n)=>{v.info("Disposing place context (LRU eviction)",{placeId:n}),this.activeFullSyncPlaceId===n&&(this.activeFullSyncPlaceId=null),this.activeRuntimeSyncPlaceId===n&&(this.activeRuntimeSyncPlaceId=null),r.fileWatcher&&(r.fileWatcher.stop().catch(i=>{v.error("Error stopping file watcher during dispose",i)}),r.fileWatcher=null),r.writer.stopChangeLogFlusher(),r.incompleteSyncTimer&&(clearTimeout(r.incompleteSyncTimer),r.incompleteSyncTimer=null),r.index.saveToDisk().catch(i=>{v.error("Error saving index during dispose",i)}),r.activeFullSyncSessionId&&this.initHandler.clearPendingServiceTrees(r.activeFullSyncSessionId),r.tmpWriter&&(r.tmpWriter.stopChangeLogFlusher(),r.tmpWriter=null),r.tmpIndex=null,r.collisionDirMap=null}})}async getOrCreatePlaceContext(e,r){let n=this.places.get(e);if(n&&r){let i=this.config.getPlaceRoot(e),a=await this.config.resolvePlaceRoot(e,r);a!==i&&(v.info("Place root migrated, recreating context",{placeId:e,from:i,to:a}),this.places.delete(e),n=void 0)}if(!n){let i=await this.config.resolvePlaceRoot(e,r),a=d_.join(i,"explorer");await Ka.mkdir(i,{recursive:!0}),await Ka.mkdir(a,{recursive:!0});let o=new jn(i,a);await o.loadFromDisk();let s=new Za(this.config,o,e),c=new wd(this.config,o,i);s.startChangeLogFlusher(),n={placeId:e,placeName:"",index:o,writer:s,reader:c,fileWatcher:null,state:"idle",activeClientId:null,activeFullSyncSessionId:null,instanceCount:0,scriptCount:0,lastFullSync:null,lastIncrementalSync:null,tmpIndex:null,tmpWriter:null,incompleteSyncTimer:null,changesSinceLastSave:0,directions:{...yi},forwardRestoreQueue:[],syncProgress:null,collisionDirMap:null},this.places.set(e,n),v.info("Created new place context",{placeId:e,placeRoot:i})}return n}async handleSyncInit(e,r){try{RR(e.body);let n=PR(e.body);if(!n.success){r.status(400).json({error:"Validation error",message:n.error});return}let i=n.data,a=i.phase==="start"?i.placeId??null:i.phase==="chunk"||i.phase==="complete"?this.activeFullSyncPlaceId:null;if(a==null){r.status(400).json({error:"Missing placeId",message:"placeId is required in start phase or must be set by previous start"});return}switch(i.phase){case"start":await this.initHandler.handleInitStart(a,i,r);break;case"chunk":await this.initHandler.handleInitChunk(a,i,r);break;case"complete":await this.initHandler.handleInitComplete(a,i,r);break}}catch(n){this.sendError(r,n,"handleSyncInit")}}async handleSyncUpdate(e,r){try{RR(e.body);let n=ER(e.body);if(!n.success){r.status(400).json({error:"Validation error",message:n.error});return}let i=n.data,a=i.placeId??this.getDefaultRuntimePlaceId();if(a==null){r.status(400).json({error:"Missing placeId",message:"placeId is required in body or must have an active sync session"});return}let o=await this.getOrCreatePlaceContext(a);if(o.activeFullSyncSessionId!==null||o.state==="initializing"){r.status(409).json({error:"Conflict",message:`Full sync in progress for place ${a}`});return}o.activeClientId=i.clientId,this.touchRuntimePlace(a);let s=kR(o,i.changes);v.info("Sync update received",{placeId:a,clientId:i.clientId,changeCount:s.length,receivedCount:i.changes.length,types:s.map(f=>f.type)});let c=[],l=[],u=0,p=new Map;for(let f of s)try{let m=await this.changeProcessor.processChangeForPlace(o,f,p);m?l.push(m):u++}catch(m){let h="path"in f?f.path:"oldPath"in f?f.oldPath:"unknown";c.push({path:h,error:m instanceof Error?m.message:String(m)})}for(let f of p.values())try{await zd(o,f)}catch(m){c.push({path:f.instancePath,error:m instanceof Error?m.message:String(m)})}o.changesSinceLastSave+=u,o.changesSinceLastSave>=IR&&(await o.index.saveToDisk(),o.changesSinceLastSave=0),o.lastIncrementalSync=new Date().toISOString();let d={processed:u,failed:c.length,errors:c,syncedAt:o.lastIncrementalSync};l.length>0&&(d.conflicts=l),r.status(200).json(d)}catch(n){this.sendError(r,n,"handleSyncUpdate")}}getDefaultRuntimePlaceId(){if(this.activeRuntimeSyncPlaceId!==null&&this.activeRuntimeSyncPlaceId!==void 0){if(this.places.has(this.activeRuntimeSyncPlaceId))return this.activeRuntimeSyncPlaceId;this.activeRuntimeSyncPlaceId=null}if(this.activeFullSyncPlaceId!==null&&this.activeFullSyncPlaceId!==void 0&&this.places.has(this.activeFullSyncPlaceId))return this.activeRuntimeSyncPlaceId=this.activeFullSyncPlaceId,this.activeRuntimeSyncPlaceId;for(let[e,r]of this.places.entries())if(r.state==="syncing"||r.state==="initializing")return this.activeRuntimeSyncPlaceId=e,e;return this.activeRuntimeSyncPlaceId=null,null}touchRuntimePlace(e){this.activeRuntimeSyncPlaceId=e}clearRuntimePlaceIfMatch(e){this.activeRuntimeSyncPlaceId===e&&(this.activeRuntimeSyncPlaceId=null)}resolveQueryPlaceId(e,r="runtime"){let n=e.query.placeId;if(n){let i=parseInt(n,10);if(!isNaN(i))return i}return r==="full"?this.activeFullSyncPlaceId:this.getDefaultRuntimePlaceId()}async handleSyncStatus(e,r){try{let n=this.resolveQueryPlaceId(e);if(n==null){let s={state:"idle",instanceCount:0,scriptCount:0,lastFullSync:null,lastIncrementalSync:null,syncRoot:this.config.getSyncRoot(),activeClientId:null,reverseSyncAvailable:!1,modifiedFileCount:0};r.status(200).json(s);return}let i=this.places.get(n);if(!i){let s={state:"idle",instanceCount:0,scriptCount:0,lastFullSync:null,lastIncrementalSync:null,syncRoot:this.config.getPlaceRoot(n),activeClientId:null,reverseSyncAvailable:!1,modifiedFileCount:0};r.status(200).json(s);return}let a=i.fileWatcher?.getPendingCount()??0;this.touchRuntimePlace(n);let o={state:i.state,instanceCount:i.instanceCount,scriptCount:i.scriptCount,lastFullSync:i.lastFullSync,lastIncrementalSync:i.lastIncrementalSync,syncRoot:this.config.getPlaceRoot(n),activeClientId:i.activeClientId,reverseSyncAvailable:a>0,modifiedFileCount:a,directions:i.directions,fileWatcherActive:i.fileWatcher!==null};r.status(200).json(o)}catch(n){this.sendError(r,n,"handleSyncStatus")}}async handleSyncStop(e,r){try{let n=e.body,i=n.placeId??this.getDefaultRuntimePlaceId();if(i==null){r.status(200).json({status:"idle",state:"idle",placeId:null,message:"No active sync place"});return}let a=this.places.get(i);if(!a){r.status(200).json({status:"idle",state:"idle",placeId:i,message:`No sync context for place ${i}`});return}if(n.clientId&&a.activeClientId&&n.clientId!==a.activeClientId&&(a.activeFullSyncSessionId!==null||a.state==="syncing"||a.state==="initializing")){r.status(409).json({error:"Conflict",message:`This sync session belongs to client ${a.activeClientId}`});return}let o=a.activeFullSyncSessionId;if(o&&(this.initHandler.clearPreserveLocalFiles(o),this.initHandler.clearPendingServiceTrees(o)),a.fileWatcher&&(await a.fileWatcher.stop(),a.fileWatcher=null),a.incompleteSyncTimer&&(clearTimeout(a.incompleteSyncTimer),a.incompleteSyncTimer=null),o){let s=this.config.getPlaceRoot(i),c=d_.join(s,`explorer_tmp_${o}`);await Ka.rm(c,{recursive:!0,force:!0}).catch(()=>{})}a.tmpWriter&&(a.tmpWriter.stopChangeLogFlusher(),a.tmpWriter=null),a.tmpIndex=null,a.collisionDirMap=null,a.activeFullSyncSessionId=null,a.syncProgress=null,a.state="idle",a.activeClientId=null,a.instanceCount=0,a.scriptCount=0,this.activeFullSyncPlaceId===i&&(this.activeFullSyncPlaceId=null),this.clearRuntimePlaceIfMatch(i),v.info("Sync stopped",{placeId:i,reason:n.reason??"requested"}),r.status(200).json({status:"stopped",state:"idle",placeId:i})}catch(n){this.sendError(r,n,"handleSyncStop")}}async handleSyncConfig(e,r){try{if(e.method==="GET"){r.status(200).json(this.config.getConfig());return}let n=TR(e.body);if(!n.success){r.status(400).json({error:"Validation error",message:n.error});return}let i=n.data;i.excludePatterns!==void 0&&this.config.updateConfig({excludePatterns:i.excludePatterns}),i.excludeClasses!==void 0&&this.config.updateConfig({excludeClasses:i.excludeClasses}),i.propertyMode!==void 0&&this.config.setPropertyMode(i.propertyMode),i.maxDepth!==void 0&&this.config.updateConfig({maxDepth:i.maxDepth}),i.maxInstances!==void 0&&this.config.updateConfig({maxInstances:i.maxInstances}),r.status(200).json({status:"updated",config:this.config.getConfig()})}catch(n){this.sendError(r,n,"handleSyncConfig")}}async initialize(){try{await this.config.loadFromMeta(),await this.initHandler.cleanupStaleTempDirs(),v.info("SyncController initialized")}catch(e){v.error("SyncController initialization failed",e instanceof Error?e:new Error(String(e)))}}async shutdown(){try{this.places.clear(),v.info("SyncController shut down")}catch(e){v.error("SyncController shutdown error",e instanceof Error?e:new Error(String(e)))}}async atomicWriteFile(e,r){let n=e+".tmp."+pJ().slice(0,8);try{await Ka.writeFile(n,r,"utf-8"),await Ka.rename(n,e)}catch(i){throw await Ka.unlink(n).catch(()=>{}),i}}async handlePreCheck(e,r){try{await this.apiHandler.handlePreCheck(e,r)}catch(n){this.sendError(r,n,"handlePreCheck")}}async handleSyncDirections(e,r){try{await this.apiHandler.handleSyncDirections(e,r)}catch(n){this.sendError(r,n,"handleSyncDirections")}}async handleForwardRestoreList(e,r){try{await this.apiHandler.handleForwardRestoreList(e,r)}catch(n){this.sendError(r,n,"handleForwardRestoreList")}}async handleReversePending(e,r){try{await this.reverseHandler.handleReversePending(e,r)}catch(n){this.sendError(r,n,"handleReversePending")}}async handleReverseSyncChanges(e,r){try{await this.reverseHandler.handleReverseSyncChanges(e,r)}catch(n){this.sendError(r,n,"handleReverseSyncChanges")}}async handleReverseSyncResult(e,r){try{await this.reverseHandler.handleReverseSyncResult(e,r)}catch(n){this.sendError(r,n,"handleReverseSyncResult")}}async handleResolveConflict(e,r){try{await this.reverseHandler.handleResolveConflict(e,r)}catch(n){this.sendError(r,n,"handleResolveConflict")}}async handleReverseRescan(e,r){try{await this.reverseHandler.handleReverseRescan(e,r)}catch(n){this.sendError(r,n,"handleReverseRescan")}}async handleSyncHistory(e,r){try{await this.apiHandler.handleSyncHistory(e,r)}catch(n){this.sendError(r,n,"handleSyncHistory")}}async startFileWatcherForPlace(e){if(e.state!=="syncing"){v.debug("Skipping file watcher start - place not syncing",{placeId:e.placeId,state:e.state});return}e.fileWatcher&&await e.fileWatcher.stop();let r=d_.join(this.config.getPlaceRoot(e.placeId),"explorer");e.fileWatcher=new Cd(r,e.index),e.writer.setOnWriteCallback(n=>{e.fileWatcher?.suppressPath(n)}),e.fileWatcher.setDirectionChecker(n=>{let i=Jz(n);return e.directions[i]}),e.fileWatcher.setOnForwardViolation(n=>{e.forwardRestoreQueue.includes(n)||(e.forwardRestoreQueue.push(n),v.info("Forward violation queued for restore",{placeId:e.placeId,relativePath:n,queueSize:e.forwardRestoreQueue.length}))}),await e.fileWatcher.start(),v.info("File watcher started for reverse sync",{placeId:e.placeId})}getStatusSummary(){return this.apiHandler.getStatusSummary()}getDirectionForCategory(e){return this.apiHandler.getDirectionForCategory(e)}getStatusDirect(e){return this.apiHandler.getStatusDirect(e)}getConfigDirect(){return this.apiHandler.getConfigDirect()}async getHistoryDirect(e,r){return this.apiHandler.getHistoryDirect(e,r)}getDirectionsDirect(e){return this.apiHandler.getDirectionsDirect(e)}getProgressDirect(e){return this.apiHandler.getProgressDirect(e)}async readSyncedFile(e,r){return this.apiHandler.readSyncedFile(e,r)}async writeSyncedFile(e,r,n){await this.apiHandler.writeSyncedFile(e,r,n)}async executeViaDisk(e,r){return this.apiHandler.executeViaDisk(e,r)}sendError(e,r,n){let i=r instanceof Error?r.message:String(r);if(i.includes("Path traversal detected")){e.status(403).json({error:"Forbidden",message:i});return}let a=r.code;if(a==="ENOSPC"||a==="EPERM"||a==="EACCES"){e.status(500).json({error:"Disk error",message:i});return}v.error(`SyncController.${n} failed`,r instanceof Error?r:new Error(i)),e.status(500).json({error:"Internal error",message:`${n}: ${i}`})}};import{randomUUID as dJ}from"crypto";function jR(t,e){let r=dJ(),n=r.replace(/-/g,"").substring(0,8).toUpperCase(),i=`${n.substring(0,4)}-${n.substring(4,8)}`;return{config:t,app:e,instanceId:r,sessionId:i,startTime:Date.now(),baseUrl:`http://${t.httpHost}:${t.httpPort}`,commandQueue:new Map,pendingCommands:new Map,globalPendingCommands:[],totalCommandsProcessed:0,pluginClients:new Map,mcpInstances:new Map,sseClients:new Set,cachedSelectionMap:new Map,isClientMode:!1,clientModeHealthTimer:null,clientModeConsecutiveHealthFailures:0,clientModeUpstreamReachable:!0,clientModeLastHealthSuccessAt:null,clientModeLastHealthFailureAt:null,clientModeLastHealthError:null,historyManager:null,analyticsManager:null,licenseState:null,syncController:null,aiClientName:"",syncedSessionToken:null,requestCounts:new Map}}var DR=eo(md(),1);function OR(t){let e=DR.default.json();t.app.use((r,n,i)=>{if(r.path.startsWith("/sync/")){i();return}e(r,n,i)}),t.app.use((r,n,i)=>{n.setHeader("Access-Control-Allow-Origin","http://localhost:3002"),n.setHeader("Access-Control-Allow-Methods","GET, POST, OPTIONS"),n.setHeader("Access-Control-Allow-Headers","Content-Type"),i()}),t.app.use((r,n,i)=>{if(!fJ(t,r.ip||"unknown")){n.status(429).json({error:"Rate limit exceeded",limit:t.config.maxRequestsPerMinute});return}i()}),t.app.use((r,n,i)=>{v.debug(`${r.method} ${r.path}`,{ip:r.ip}),i()})}function fJ(t,e){let r=Date.now(),n=r-6e4,i=t.requestCounts.get(e)||[];return i=i.filter(a=>a>n),i.length===0&&t.requestCounts.delete(e),i.length>=t.config.maxRequestsPerMinute?!1:(i.push(r),t.requestCounts.set(e,i),!0)}import{randomUUID as Ec}from"crypto";var Ze="1.3.0";function NR(t){let e=new Set;t.aiClientName&&e.add(t.aiClientName);for(let r of t.mcpInstances.values())r.aiClientName&&e.add(r.aiClientName);return Array.from(e)}function mJ(t){let r=Date.now();return Array.from(t.pluginClients.values()).filter(n=>r-n.lastSeen<1e4)}function AR(t){let r=Date.now();for(let[n,i]of t.mcpInstances)i.lastSeen&&r-i.lastSeen>15e3&&(t.mcpInstances.delete(n),v.debug("Removed stale MCP instance",{instanceId:n,lastSeen:i.lastSeen}))}function MR(t,e,r){let n=e.query.clientId;if(n&&t.pluginClients.has(n)){let i=t.pluginClients.get(n);i.lastSeen=Date.now()}try{let i=e.body;if(!i||!Array.isArray(i.selection)||typeof i.count!="number"){v.warn("Invalid selection update request",{body:i}),r.status(400).json({error:"Invalid request body"});return}let a=n||"unknown",o=Date.now();t.cachedSelectionMap.set(a,{selection:i.selection,count:i.count,timestamp:o,clientId:a}),v.debug("Selection cache updated",{count:i.count,clientId:a,timestamp:o}),r.json({status:"ok",timestamp:o})}catch(i){v.error("Error handling selection update",i),r.status(500).json({error:"Internal server error"})}}function UR(t,e,r){let n=parseInt(e.query.maxAge)||3e4,i=Ic(t,n);i?r.json({cached:!0,...i}):r.json({cached:!1,message:"No cached selection available"})}function Ic(t,e=3e4,r){if(t.cachedSelectionMap.size===0)return null;let n;if(r)n=t.cachedSelectionMap.get(r);else for(let a of t.cachedSelectionMap.values())(!n||a.timestamp>n.timestamp)&&(n=a);if(!n)return null;let i=Date.now()-n.timestamp;return e===0||i<=e?n:null}function FR(t,e,r){try{let n=e.body;if(!n.clientId){r.status(400).json({error:"Missing clientId"});return}let i=t.pluginClients.get(n.clientId),a=Date.now(),o={clientId:n.clientId,projectName:n.projectName,placeName:n.placeName,placeId:n.placeId,connectedAt:i?.connectedAt||a,lastSeen:a,commandsProcessed:i?.commandsProcessed||0,connectionType:"polling"};t.pluginClients.set(n.clientId,o),t.pendingCommands.has(n.clientId)||t.pendingCommands.set(n.clientId,[]),t.analyticsManager&&(n.pluginVersion&&t.analyticsManager.setPluginVersion(n.pluginVersion),t.analyticsManager.trackPluginConnected()),v.info("Plugin client registered",{clientId:n.clientId,projectName:n.projectName,placeName:n.placeName,isReconnect:!!i}),t.licenseState&&t.licenseState.triggerImmediateRefreshOnConnect(n.clientId),r.json({status:"ok",clientId:n.clientId,serverInstanceId:t.instanceId,sessionId:t.sessionId,mcpVersion:Ze,connectedAt:o.connectedAt,aiClientNames:NR(t),serverStartTime:t.startTime,mcpInstanceCount:t.mcpInstances.size+1})}catch(n){v.error("Error registering plugin client",n),r.status(500).json({error:"Internal server error"})}}function qR(t,e,r){let n=e.body?.clientId;if(!n){r.status(400).json({error:"Missing clientId"});return}let i=t.pluginClients.has(n);t.pluginClients.delete(n),t.pendingCommands.delete(n),v.info("Plugin client unregistered",{clientId:n,existed:i}),r.json({status:"ok",existed:i})}function LR(t,e,r){try{let n=e.body;if(!n.instanceId){r.status(400).json({error:"Missing instanceId"});return}let i=Date.now(),a={instanceId:n.instanceId,pid:n.pid,connectedAt:i,isServer:!1,lastSeen:i};n.aiClientName&&(a.aiClientName=n.aiClientName),n.cwd&&(a.cwd=n.cwd),t.mcpInstances.set(n.instanceId,a),v.info("MCP instance registered (client mode)",{instanceId:n.instanceId,pid:n.pid,cwd:n.cwd}),r.json({status:"ok",instanceId:n.instanceId,serverInstanceId:t.instanceId,sessionId:t.sessionId,mcpVersion:Ze,mcpInstanceCount:t.mcpInstances.size+1})}catch(n){v.error("Error registering MCP instance",n),r.status(500).json({error:"Internal server error"})}}function ZR(t,e,r){let n=e.body?.instanceId;if(!n){r.status(400).json({error:"Missing instanceId"});return}let i=t.mcpInstances.has(n);t.mcpInstances.delete(n),v.info("MCP instance unregistered",{instanceId:n,existed:i}),r.json({status:"ok",existed:i})}function HR(t,e,r){let{instanceId:n,aiClientName:i}=e.body;if(n&&i){let a=t.mcpInstances.get(n);a&&(a.aiClientName=i)}r.json({status:"ok"})}function BR(t){let r=Date.now();for(let[n,i]of t.pluginClients)r-i.lastSeen>3e4&&(t.pluginClients.delete(n),t.pendingCommands.delete(n));return AR(t),{serverInstanceId:t.instanceId,sessionId:t.sessionId,mcpVersion:Ze,uptime:r-t.startTime,serverStartTime:t.startTime,serverExecutable:process.execPath,serverHost:t.config.httpHost,serverPort:t.config.httpPort,serverPid:process.pid,mcpInstances:[{instanceId:t.instanceId,pid:process.pid,connectedAt:t.startTime,isServer:!0,cwd:process.cwd()},...Array.from(t.mcpInstances.values())],mcpInstanceCount:t.mcpInstances.size+1}}function VR(t,e){e.json(BR(t))}function WR(t,e,r){let n=e.query.instanceId;n&&t.mcpInstances.has(n)&&(t.mcpInstances.get(n).lastSeen=Date.now()),AR(t);let i=mJ(t),a=t.sseClients.size,c={...{status:"online",connectedClients:a+i.length,queuedCommands:t.commandQueue.size,uptime:Date.now()-t.startTime,version:Ze,isClientMode:t.isClientMode,pid:process.pid,sessionId:t.sessionId},instanceId:t.instanceId,mcpInstanceCount:t.mcpInstances.size+1,aiClientNames:NR(t),sseClients:a,pollingClients:i.length,pluginClients:i.map(l=>({clientId:l.clientId,projectName:l.projectName,lastSeen:Date.now()-l.lastSeen})),...t.isClientMode?{upstream:{reachable:t.clientModeUpstreamReachable,consecutiveFailures:t.clientModeConsecutiveHealthFailures,lastSuccessAt:t.clientModeLastHealthSuccessAt,lastFailureAt:t.clientModeLastHealthFailureAt,lastError:t.clientModeLastHealthError,baseUrl:t.baseUrl}}:{}};r.json(c)}function JR(t,e,r,n){let i=e.ip||e.socket.remoteAddress||"";if(!(i==="127.0.0.1"||i==="::1"||i==="::ffff:127.0.0.1"||i==="localhost")){v.warn("Shutdown request rejected from non-localhost",{ip:i}),r.status(403).json({error:"Forbidden: localhost only"});return}v.info("Shutdown request received, initiating graceful shutdown",{requestedBy:i,uptime:Date.now()-t.startTime}),r.json({status:"shutting_down",message:"Server will shutdown gracefully",pid:process.pid}),setTimeout(async()=>{try{await n(),v.info("Graceful shutdown completed"),process.exit(0)}catch(o){v.error("Error during graceful shutdown",o),process.exit(1)}},100)}async function Fd(t){if(t.isClientMode)try{let e=await fetch(`${t.baseUrl}/connection-info`);if(e.ok)return await e.json()}catch(e){v.warn("Failed to fetch connection info from server",{error:e})}return BR(t)}async function Pc(t,e,r){if(!r)return{success:!1,error:"Sync controller not available. Project sync is not initialized."};try{switch(t){case"sync_status":{let n=e.placeId;return{success:!0,data:r.getStatusDirect(n)}}case"sync_config":return{success:!0,data:r.getConfigDirect()};case"sync_history":{let n=e.placeId,i=e.query;return n==null?{success:!1,error:"placeId is required for sync_history"}:{success:!0,data:await r.getHistoryDirect(n,i)}}case"sync_directions":{let n=e.placeId;return{success:!0,data:r.getDirectionsDirect(n)}}case"sync_progress":{let n=e.placeId;return{success:!0,data:r.getProgressDirect(n)}}case"sync_read_file":{let n=e.placeId,i=e.instancePath;return n==null||!i?{success:!1,error:"placeId and instancePath are required"}:{success:!0,data:await r.readSyncedFile(n,i)}}case"sync_write_file":{let n=e.placeId,i=e.instancePath,a=e.content;return n==null||!i||a===void 0?{success:!1,error:"placeId, instancePath, and content are required"}:(await r.writeSyncedFile(n,i,a),{success:!0,data:{written:!0,placeId:n,instancePath:i}})}default:return{success:!1,error:`Unknown sync action: ${t}`}}}catch(n){let i=n instanceof Error?n.message:"Unknown error";return v.error("Sync action failed",{action:t,error:i}),{success:!1,error:i}}}async function GR(t,e,r){if(!r)return{success:!1,error:"Sync controller not available for disk operations."};try{return{success:!0,data:await r.executeViaDisk(t,e)}}catch(n){let i=n instanceof Error?n.message:"Unknown error";return v.error("Disk action failed",{action:t,error:i}),{success:!1,error:i}}}var qd=100;function KR(t,e,r){v.info("Plugin connected via SSE"),r.setHeader("Content-Type","text/event-stream"),r.setHeader("Cache-Control","no-cache"),r.setHeader("Connection","keep-alive"),t.sseClients.add(r),f_(r,{event:"command",id:Ec(),data:{action:"connected",requestId:Ec(),params:{serverVersion:Ze,timestamp:Date.now()}}});let n=setInterval(()=>{f_(r,{event:"command",id:Ec(),data:{action:"keepalive",requestId:Ec(),params:{timestamp:Date.now()}}})},3e4);r.on("close",()=>{v.info("Plugin disconnected from SSE"),clearInterval(n),t.sseClients.delete(r)})}function f_(t,e){let r=JSON.stringify(e.data);t.write(`event: ${e.event}
|
|
115
|
+
`).filter(f=>f.length>0)}catch(d){if(d.code==="ENOENT")return{entries:[],total:0,hasMore:!1};throw d}let l=[];for(let d=c.length-1;d>=0;d--)try{l.push(JSON.parse(c[d]))}catch{continue}let u=l.length;return{entries:l.slice(o,o+a),total:u,hasMore:o+a<u}}getDirectionsDirect(e){let r=e!=null?parseInt(e,10):this.ctx.getDefaultRuntimePlaceId();if(r==null)return{...yi};let n=this.ctx.places.get(r);return n?{...n.directions}:{...yi}}getProgressDirect(e){let r=e!=null?parseInt(e,10):this.ctx.getDefaultRuntimePlaceId();if(r==null)return{state:"idle",isSyncing:!1};let n=this.ctx.places.get(r);if(!n)return{state:"idle",isSyncing:!1};if(!n.syncProgress)return{state:n.state,isSyncing:!1,lastSync:{instanceCount:n.instanceCount,scriptCount:n.scriptCount,completedAt:n.lastFullSync}};let i=n.syncProgress,a=Date.now()-i.syncStartTime,o=i.totalInstances>0?Math.min(100,Math.round(i.processedInstances/i.totalInstances*100)):0,s;if(i.processedInstances>0&&o<100){let l=a/i.processedInstances,u=i.totalInstances-i.processedInstances;s=Math.round(l*u)}let c=a>0?Math.round(i.bytesReceived/a*1e3):0;return{state:n.state,isSyncing:!0,progressPercent:o,currentService:i.currentService,currentChunk:{index:i.currentChunkIndex,total:i.currentTotalChunks},instances:{processed:i.processedInstances,total:i.totalInstances},services:{processed:i.processedServices,total:i.totalServices},elapsedMs:a,estimatedRemainingMs:s,bytesReceived:i.bytesReceived,bytesPerSecond:c}}async readSyncedFile(e,r){let n=parseInt(e,10),i=this.ctx.places.get(n);if(!i)throw new Error(`Place ${e} not found in sync cache`);let a=i.index.resolvePropsPath(r);try{return{content:await Ga.readFile(a,"utf-8"),path:a}}catch(s){if(s.code!=="ENOENT")throw s}for(let s of qa){let c=i.index.resolveScriptPath(r,s,!1);try{return{content:await Ga.readFile(c,"utf-8"),path:c}}catch{continue}}let o=i.index.resolveValuePath(r);try{return{content:await Ga.readFile(o,"utf-8"),path:o}}catch(s){if(s.code!=="ENOENT")throw s}throw new Error(`No synced file found for instance: ${r}`)}async writeSyncedFile(e,r,n){let i=parseInt(e,10),a=this.ctx.places.get(i);if(!a)throw new Error(`Place ${e} not found in sync cache`);await a.writer.writeScript(r,"Script",n,!1)}async executeViaDisk(e,r){let n=this.ctx.getDefaultRuntimePlaceId();if(n==null)throw new Error("No active sync place for disk execution");let i=this.ctx.places.get(n);if(!i)throw new Error(`Place ${n} not found in sync cache`);switch(e){case"set_script_source":{let a=r.scriptType||r.className||"Script";return await i.writer.writeScript(r.path,a,r.source,!1),{success:!0,path:r.path}}case"set_property":return await i.writer.writeProps(r.path,{className:r.className||"Instance",name:jt(r.path),properties:{[r.property]:r.value}}),{success:!0,path:r.path};default:throw new Error(`Disk execution not supported for action: ${e}`)}}};import ke from"path";import{randomUUID as uJ}from"crypto";import{promises as Lt}from"fs";var Ad=class{constructor(e){this.ctx=e}preserveLocalFilesMap=new Map;pendingServiceTrees=new Map;async handleInitStart(e,r,n){if(r.previousPlaceId!==void 0&&r.previousPlaceId!==e&&(v.info("Place promotion detected",{from:r.previousPlaceId,to:e}),await this.ctx.config.promotePlaceRoot(r.previousPlaceId,e,r.placeName),this.ctx.places.get(r.previousPlaceId)&&this.ctx.places.delete(r.previousPlaceId),this.ctx.activeFullSyncPlaceId===r.previousPlaceId&&(this.ctx.activeFullSyncPlaceId=null),this.ctx.clearRuntimePlaceIfMatch(r.previousPlaceId)),this.ctx.activeFullSyncPlaceId!==null&&this.ctx.activeFullSyncPlaceId!==void 0&&this.ctx.activeFullSyncPlaceId!==e){n.status(409).json({error:"Conflict",message:`Place ${this.ctx.activeFullSyncPlaceId} is currently syncing. Only one place can sync at a time.`});return}let i=await this.ctx.getOrCreatePlaceContext(e,r.placeName);if(i.activeClientId&&i.activeClientId!==r.clientId&&i.activeFullSyncSessionId!==null){n.status(409).json({error:"Conflict",message:`Another client (${i.activeClientId}) is currently syncing this place`});return}if(this.ctx.activeFullSyncPlaceId=e,this.ctx.touchRuntimePlace(e),i.activeClientId=r.clientId,i.placeName=r.placeName,r.directions&&typeof r.directions=="object"){let p=r.directions,d=f=>f==="forward"||f==="reverse"||f==="bidirectional";d(p.scripts)&&(i.directions.scripts=p.scripts),d(p.values)&&(i.directions.values=p.values),d(p.containers)&&(i.directions.containers=p.containers),d(p.data)&&(i.directions.data=p.data),d(p.services)&&(i.directions.services=p.services),v.info("Sync directions received",{placeId:e,directions:i.directions})}else i.directions={...yi};i.forwardRestoreQueue=[];let a=uJ();i.activeFullSyncSessionId=a,this.pendingServiceTrees.set(a,new Map),i.instanceCount=0,i.scriptCount=0;let o=this.ctx.config.getPlaceRoot(e),s=ke.join(o,`explorer_tmp_${a}`);await Lt.mkdir(s,{recursive:!0}),i.tmpIndex=new jn(o,s),i.tmpWriter=new Za(this.ctx.config,i.tmpIndex,e),i.collisionDirMap=new Map;let c=r.preserveLocalFiles;Array.isArray(c)&&c.length>0&&(this.setPreserveLocalFiles(a,c),v.info("PreserveLocalFiles set for sync",{syncId:a,fileCount:c.length}));let l={version:1,placeId:r.placeId,placeName:r.placeName,lastFullSync:null,lastIncrementalSync:null,instanceCount:0,scriptCount:0,syncMode:"mirror",excludePatterns:this.ctx.config.getConfig().excludePatterns,propertyMode:this.ctx.config.getPropertyMode()},u=ke.join(o,".sync-meta.json");await Lt.mkdir(ke.dirname(u),{recursive:!0}),await this.ctx.atomicWriteFile(u,JSON.stringify(l,null,2)+`
|
|
116
|
+
`),this.startTTLTimerForPlace(i,a),i.state="initializing",i.index.resetNameCounters(),i.syncProgress={syncStartTime:Date.now(),totalInstances:r.totalInstances,totalServices:r.totalServices,processedInstances:0,processedServices:0,currentService:null,currentChunkIndex:0,currentTotalChunks:0,bytesReceived:0,processedChunks:0},i.writer.appendChangeLog(`FULL_SYNC_START clientId=${r.clientId} placeId=${r.placeId}`),i.writer.appendHistory({timestamp:new Date().toISOString(),type:"fullSyncStart",direction:"forward",path:`place_${r.placeId}`,details:`services:${r.totalServices} instances:${r.totalInstances}`}),v.info("Full sync started",{syncId:a,clientId:r.clientId,placeId:r.placeId,placeName:r.placeName,totalServices:r.totalServices,totalInstances:r.totalInstances}),n.status(200).json({status:"started",syncId:i.activeFullSyncSessionId})}async handleInitChunk(e,r,n){let i=this.ctx.places.get(e);if(!i||!i.activeFullSyncSessionId||!i.tmpIndex||!i.tmpWriter){n.status(400).json({error:"No active sync session",message:"Call sync/init with phase=start first"});return}if(i.activeClientId&&r.clientId&&i.activeClientId!==r.clientId){n.status(409).json({error:"Conflict",message:`This sync session belongs to client ${i.activeClientId}`});return}let a=i.activeFullSyncSessionId,o=this.getOrCreatePendingServiceTree(a,r),s=0,c=i.collisionDirMap;for(let u of r.instances){if(this.ctx.config.isExcluded(u.path,u.className))continue;let p=i.tmpIndex.resolveParentDir(u.path),d=c.get(p)??p,{resolved:f,retroactiveRename:m}=i.tmpIndex.registerCollision(u.path,u.siblingIndex??void 0,d);m&&(await Dn(i.tmpIndex,d,m.from,m.to),this.rewritePendingEffectivePaths(o,i.tmpIndex.getExplorerRoot(),ke.join(d,m.from),ke.join(d,m.to)));let h=i.tmpIndex.resolveChildrenDir(u.path),g=ke.join(d,f);g!==h&&c.set(h,g);let b=i.tmpIndex.sanitizeName(u.name),S=u;if(d!==p||f!==b){let k=i.tmpIndex.getExplorerRoot(),$=ke.relative(k,d).split(ke.sep).filter(Z=>Z.length>0),N=Xe(["game",...$,f]);S={...u,path:N}}let _=await i.tmpWriter.writeInstance(S);s++,(_.propsWritten||_.valueWritten)&&i.instanceCount++,_.scriptWritten&&i.scriptCount++,o.instances.push({effectivePath:S.path,className:u.className})}let l=this.isLastChunk(o,r.chunkIndex,r.totalChunks);if(l){let u=this.buildServiceTree(i,o);await i.tmpWriter.writeTree(r.serviceName,u);let p=this.pendingServiceTrees.get(a);p?.delete(r.serviceName),p&&p.size===0&&this.pendingServiceTrees.delete(a)}i.syncProgress&&(i.syncProgress.processedInstances+=s,i.syncProgress.currentService=r.serviceName,i.syncProgress.currentChunkIndex=r.chunkIndex,i.syncProgress.currentTotalChunks=r.totalChunks,i.syncProgress.processedChunks++,i.syncProgress.bytesReceived+=JSON.stringify(r).length,l&&i.syncProgress.processedServices++),v.debug("Sync chunk processed",{placeId:e,serviceName:r.serviceName,chunkIndex:r.chunkIndex,totalChunks:r.totalChunks,processed:s}),n.status(200).json({processed:s,service:r.serviceName})}async handleInitComplete(e,r,n){let i=this.ctx.places.get(e);if(!i||!i.activeFullSyncSessionId){n.status(400).json({error:"No active sync session",message:"Call sync/init with phase=start first"});return}if(i.activeClientId&&r.clientId&&i.activeClientId!==r.clientId){n.status(409).json({error:"Conflict",message:`This sync session belongs to client ${i.activeClientId}`});return}let a=i.activeFullSyncSessionId,o=this.ctx.config.getPlaceRoot(e),s=ke.join(o,"explorer"),c=ke.join(o,`explorer_tmp_${a}`),l=this.getAndClearPreserveLocalFiles(a),u=new Map,p=[];if(l.length>0){for(let m of l){let h=ke.resolve(o,m);try{let g=await Lt.readFile(h,"utf-8");u.set(m,g)}catch{p.push(m)}}v.info("Backed up local files for preservation",{placeId:e,requested:l.length,backed:u.size,deleted:p.length})}try{await Lt.rm(s,{recursive:!0,force:!0})}catch{}await Lt.rename(c,s),i.instanceCount=r.instanceCount,i.scriptCount=r.scriptCount,i.lastFullSync=new Date().toISOString();let d={version:1,placeId:i.placeId,placeName:i.placeName,lastFullSync:i.lastFullSync,lastIncrementalSync:i.lastIncrementalSync,instanceCount:i.instanceCount,scriptCount:i.scriptCount,syncMode:"mirror",excludePatterns:this.ctx.config.getConfig().excludePatterns,propertyMode:this.ctx.config.getPropertyMode()},f=ke.join(o,".sync-meta.json");if(await this.ctx.atomicWriteFile(f,JSON.stringify(d,null,2)+`
|
|
117
|
+
`),this.clearTTLTimerForPlace(i,a),i.index.clearAllHashes(),i.tmpIndex){let m=i.tmpIndex.getExplorerRoot(),h=i.index.getExplorerRoot();for(let[g,b]of i.tmpIndex.getAllHashes()){let S=ke.relative(m,g),_=ke.resolve(h,S);i.index.updateHashByValue(_,b)}for(let[g,b]of i.tmpIndex.getAllFileHashes()){let S=ke.relative(m,g),_=ke.resolve(h,S);i.index.updateFileHashByValue(_,b)}i.index.resetNameCounters(),i.index.mergeNameMappingsFrom(i.tmpIndex)}if(i.tmpIndex=null,i.tmpWriter&&(i.tmpWriter.stopChangeLogFlusher(),i.tmpWriter=null),this.pendingServiceTrees.delete(a),i.collisionDirMap=null,await i.index.saveToDisk(),i.state="syncing",i.activeFullSyncSessionId=null,i.syncProgress=null,this.ctx.touchRuntimePlace(e),this.ctx.activeFullSyncPlaceId=null,await this.ctx.startFileWatcherForPlace(i),i.fileWatcher&&await i.fileWatcher.waitUntilReady(),u.size>0){for(let[m,h]of u){let g=ke.resolve(o,m);try{await Lt.mkdir(ke.dirname(g),{recursive:!0}),await Lt.writeFile(g,h,"utf-8")}catch(b){v.warn("Failed to restore preserved file",{path:m,error:b instanceof Error?b.message:String(b)})}}v.info("Restored preserved local files",{placeId:e,count:u.size})}if(p.length>0){let m=0;for(let h of p){let g=ke.resolve(o,h);try{await Lt.unlink(g),i.index.removeHash(g),m++}catch(b){b.code!=="ENOENT"&&v.warn("Failed to delete preserved-as-deleted file",{path:h,error:b instanceof Error?b.message:String(b)})}}m>0&&(await i.index.saveToDisk(),v.info("Deleted locally-removed files from new sync",{placeId:e,count:m}))}i.writer.appendChangeLog(`FULL_SYNC_COMPLETE instances=${i.instanceCount} scripts=${i.scriptCount}`),i.writer.appendHistory({timestamp:new Date().toISOString(),type:"fullSyncComplete",direction:"forward",path:`place_${e}`,details:`instances:${i.instanceCount} scripts:${i.scriptCount}`}),v.info("Full sync completed",{placeId:e,instanceCount:i.instanceCount,scriptCount:i.scriptCount}),n.status(200).json({status:"completed",instanceCount:i.instanceCount,scriptCount:i.scriptCount,syncRoot:this.ctx.config.getPlaceRoot(e)})}setPreserveLocalFiles(e,r){this.preserveLocalFilesMap.set(e,r)}getAndClearPreserveLocalFiles(e){let r=this.preserveLocalFilesMap.get(e)||[];return this.preserveLocalFilesMap.delete(e),r}clearPreserveLocalFiles(e){this.preserveLocalFilesMap.delete(e)}clearPendingServiceTrees(e){this.pendingServiceTrees.delete(e)}startTTLTimerForPlace(e,r){let n=setTimeout(async()=>{v.warn("Incomplete sync TTL expired, cleaning up",{placeId:e.placeId,syncId:r});let i=this.ctx.config.getPlaceRoot(e.placeId),a=ke.join(i,`explorer_tmp_${r}`);try{await Lt.rm(a,{recursive:!0,force:!0})}catch(o){v.error("Failed to clean up expired temp dir",o instanceof Error?o:new Error(String(o)))}e.incompleteSyncTimer=null,e.activeFullSyncSessionId===r&&(e.activeFullSyncSessionId=null,e.activeClientId=null,e.state="idle",e.tmpIndex=null,this.pendingServiceTrees.delete(r),e.collisionDirMap=null,e.tmpWriter&&(e.tmpWriter.stopChangeLogFlusher(),e.tmpWriter=null),this.ctx.activeFullSyncPlaceId===e.placeId&&(this.ctx.activeFullSyncPlaceId=null),this.ctx.clearRuntimePlaceIfMatch(e.placeId))},$R);n&&typeof n=="object"&&"unref"in n&&n.unref(),e.incompleteSyncTimer=n}getOrCreatePendingServiceTree(e,r){let n=this.pendingServiceTrees.get(e);n||(n=new Map,this.pendingServiceTrees.set(e,n));let i=n.get(r.serviceName);if(i)return i;let a={serviceName:r.tree?.name??r.serviceName,serviceClassName:r.tree?.className??r.serviceClassName,zeroBasedChunkIndex:r.chunkIndex===0,instances:[]};return n.set(r.serviceName,a),a}isLastChunk(e,r,n){return n<=1?!0:e.zeroBasedChunkIndex?r>=n-1:r>=n}buildServiceTree(e,r){let n={name:r.serviceName,className:r.serviceClassName,childCount:0,children:[],syncedAt:new Date().toISOString()};for(let i of r.instances){let a=this.resolveEffectiveSegments(e,i.effectivePath);this.upsertTreeNode(n,a,i.className)}return this.recomputeTreeChildCounts(n),n.syncedAt=new Date().toISOString(),n}resolveEffectiveSegments(e,r){return e.tmpIndex?bt(r).map(n=>e.tmpIndex.sanitizeName(n)):bt(r)}rewritePendingEffectivePaths(e,r,n,i){let a=ke.relative(r,n).split(ke.sep).filter(l=>l.length>0),o=ke.relative(r,i).split(ke.sep).filter(l=>l.length>0);if(a.length===0||o.length===0)return;let s=Xe(["game",...a]),c=Xe(["game",...o]);for(let l of e.instances){if(l.effectivePath===s){l.effectivePath=c;continue}(l.effectivePath.startsWith(`${s}.`)||l.effectivePath.startsWith(`${s}[`))&&(l.effectivePath=`${c}${l.effectivePath.slice(s.length)}`)}}upsertTreeNode(e,r,n){if(r.length<=1)return;let i=e.children;for(let a=1;a<r.length;a++){let o=r[a],s=a===r.length-1,c=i.find(l=>l.name===o);c?s&&(c.className=n):(c={name:o,className:s?n:"Folder",childCount:0,children:[]},i.push(c)),c.children||(c.children=[]),i=c.children}}recomputeTreeChildCounts(e){let r=n=>{let i=n.children??[];n.children=i;for(let a of i)r(a);n.childCount=i.length};for(let n of e.children)r(n);e.childCount=e.children.length}clearTTLTimerForPlace(e,r){e.incompleteSyncTimer&&e.activeFullSyncSessionId===r&&(clearTimeout(e.incompleteSyncTimer),e.incompleteSyncTimer=null)}async cleanupStaleTempDirs(){let e=this.ctx.config.getSyncRoot();try{let r=await Lt.readdir(e,{withFileTypes:!0});for(let n of r)if(n.isDirectory()){if(n.name.startsWith("explorer_tmp_")){let i=ke.join(e,n.name);v.warn("Removing stale temp directory from crashed sync",{dir:n.name});try{await Lt.rm(i,{recursive:!0,force:!0})}catch(a){v.error(`Failed to remove stale temp dir: ${n.name}`,a instanceof Error?a:new Error(String(a)))}}if(n.name.startsWith("place_")){let i=ke.join(e,n.name);try{let a=await Lt.readdir(i,{withFileTypes:!0});for(let o of a)if(o.isDirectory()&&o.name.startsWith("explorer_tmp_")){let s=ke.join(i,o.name);v.warn("Removing stale temp directory from crashed sync",{dir:`${n.name}/${o.name}`});try{await Lt.rm(s,{recursive:!0,force:!0})}catch(c){v.error(`Failed to remove stale temp dir: ${n.name}/${o.name}`,c instanceof Error?c:new Error(String(c)))}}}catch{continue}}}}catch(r){if(r.code==="ENOENT")return;v.warn("Failed to scan for stale temp dirs",{error:r instanceof Error?r.message:String(r)})}}};import jr from"path";import{promises as zR}from"fs";var Md=class{constructor(e){this.ctx=e}async handleReversePending(e,r){let n=this.ctx.resolveQueryPlaceId(e);if(n==null){r.status(200).json({pending:0,hasConflicts:!1,lastDetected:null});return}let i=this.ctx.places.get(n);if(!i){r.status(404).json({error:"Place not found",message:`No sync context for place ${n}`});return}let a={pending:i.fileWatcher?.getPendingCount()??0,hasConflicts:!1,lastDetected:i.fileWatcher?.getLastDetected()??null,forwardRestoreNeeded:i.forwardRestoreQueue.length};this.ctx.touchRuntimePlace(n),r.status(200).json(a)}async handleReverseSyncChanges(e,r){let n=this.ctx.resolveQueryPlaceId(e);if(n==null){r.status(200).json({changes:[],count:0});return}let i=this.ctx.places.get(n);if(!i){r.status(404).json({error:"Place not found",message:`No sync context for place ${n}`});return}if(i.state!=="syncing"){r.status(400).json({error:"Not syncing",message:"Reverse sync is only available when sync is active"});return}let a=i.fileWatcher?.drainPendingChanges()??[],o=a.length>0?await i.reader.buildChangesFromPending(a):[];this.ctx.touchRuntimePlace(n),r.status(200).json({changes:o,count:o.length})}async handleReverseSyncResult(e,r){let n=e.body,i=n.placeId??this.ctx.getDefaultRuntimePlaceId();if(i==null){r.status(400).json({error:"Validation error",message:"placeId is required (in body or via active sync session)"});return}let a=n.appliedFiles??n.appliedPaths;if(!a||!Array.isArray(a)){r.status(400).json({error:"Validation error",message:"appliedFiles (or appliedPaths) must be an array of relative file paths"});return}let o=this.ctx.places.get(i);if(!o){r.status(404).json({error:"Place not found",message:`No sync context for place ${i}`});return}this.ctx.touchRuntimePlace(i);let s=this.ctx.config.getPlaceRoot(i),c=0,l=[];for(let u of a){let p=jr.resolve(s,u);if(!Dd(s,p)){l.push({path:u,error:"Path is outside the place root"});continue}try{let d=await zR.readFile(p,"utf-8"),f=o.index.computeHash(d);o.index.updateHashByValue(p,f),o.index.updateFileHashByValue(p,f),c++}catch(d){let f=d.code;if(f==="ENOENT"){o.index.removeHash(p),o.index.removeHashesUnder(p);let m=this.resolveInstancePathForAppliedPath(o.index,p);if(m){let h=jt(m),g=_t(m);g&&h&&await o.writer.removeFromTree(g,h)}c++}else f==="EISDIR"?c++:l.push({path:u,error:d instanceof Error?d.message:String(d)})}}c>0&&await o.index.saveToDisk(),c>0&&o.writer.appendHistory({timestamp:new Date().toISOString(),type:"reverseApply",direction:"reverse",path:`place_${i}`,details:`applied:${c} failed:${l.length}`}),r.status(200).json({updated:c,failed:l.length,errors:l})}async handleResolveConflict(e,r){let n=e.body;if(!n.fsPath||!n.resolution){r.status(400).json({error:"Validation error",message:"fsPath and resolution are required"});return}let{fsPath:i,resolution:a}=n,o=this.ctx.config.getSyncRoot();if(!Dd(o,jr.resolve(o,i))){r.status(403).json({error:"Forbidden",message:"Path is outside the sync root"});return}if(a==="skip"){r.status(200).json({status:"skipped",fsPath:i});return}let s;if(n.placeId&&(s=this.ctx.places.get(n.placeId)),!s){let d=i.match(/^place_(\d+)(?:_[^/]+)?\//);if(d){let f=parseInt(d[1],10);s=this.ctx.places.get(f)}else s=Array.from(this.ctx.places.values())[0]}if(!s){r.status(404).json({error:"No active place context",message:"No sync session is active. Start a sync first."});return}let c=this.ctx.config.getPlaceRoot(s.placeId),l=jr.resolve(c,i);if(!Dd(c,l)){r.status(403).json({error:"Forbidden",message:"Path is outside the place root"});return}let u=s.index,p=s.reader;if(a==="apply-studio"){u.resolveFile(l,"apply-studio"),await u.saveToDisk(),r.status(200).json({status:"resolved",resolution:"apply-studio",fsPath:i});return}if(a==="apply-file"){let d=await zR.readFile(l,"utf-8"),f=u.computeHash(d);u.resolveFile(l,"apply-file",f),await u.saveToDisk();let m=p.getFileType(l),h=p.resolveInstancePathFromFile(l);r.status(200).json({status:"resolved",resolution:"apply-file",fsPath:i,instancePath:h,fileType:m,content:d});return}r.status(400).json({error:"Invalid resolution",message:`Unknown resolution: ${a}`})}async handleReverseRescan(e,r){let n=this.ctx.resolveQueryPlaceId(e);if(n==null){r.status(200).json({added:0});return}let i=this.ctx.places.get(n);if(!i){r.status(404).json({error:"Place not found",message:`No sync context for place ${n}`});return}if(!i.fileWatcher){r.status(200).json({added:0});return}let a=await i.fileWatcher.rescan();this.ctx.touchRuntimePlace(n),v.info("Reverse rescan completed",{placeId:n,added:a}),r.status(200).json({added:a})}resolveInstancePathForAppliedPath(e,r){let n=e.resolveInstancePathFromFsPath(r);if(n)return n;let i=e.getExplorerRoot(),a=jr.relative(i,r);if(a.startsWith("..")||a===""||jr.isAbsolute(a))return null;let o=a.split(jr.sep).filter(f=>f.length>0);if(o.length<2)return null;let s=jr.basename(r),c=jr.dirname(r),l=e.getOriginalInstance(c,s);if(l)return l.instancePath;let u=s.toLowerCase();if(Fa.some(f=>u.endsWith(f))||u==="_tree.json")return null;let p=["game"],d=i;for(let f of o){d=jr.join(d,f);let m=jr.dirname(d);p.push(e.getOriginalNameForDir(m,f))}return Xe(p)}};function RR(t){if(!t||typeof t!="object")return;let e=t;if(Array.isArray(e.instances))for(let r of e.instances)Array.isArray(r.properties)&&r.properties.length===0&&(r.properties={}),Array.isArray(r.attributes)&&r.attributes.length===0&&(r.attributes={});if(Array.isArray(e.changes))for(let r of e.changes)Array.isArray(r.properties)&&r.properties.length===0&&(r.properties={}),Array.isArray(r.attributes)&&r.attributes.length===0&&(r.attributes={})}var Ud=class{config;places;apiHandler;changeProcessor;initHandler;reverseHandler;activeFullSyncPlaceId=null;activeRuntimeSyncPlaceId=null;constructor(e){this.config=new xd(e),this.apiHandler=new Nd(this),this.changeProcessor=new Od(this),this.initHandler=new Ad(this),this.reverseHandler=new Md(this),this.places=new yd({max:3,dispose:(r,n)=>{v.info("Disposing place context (LRU eviction)",{placeId:n}),this.activeFullSyncPlaceId===n&&(this.activeFullSyncPlaceId=null),this.activeRuntimeSyncPlaceId===n&&(this.activeRuntimeSyncPlaceId=null),r.fileWatcher&&(r.fileWatcher.stop().catch(i=>{v.error("Error stopping file watcher during dispose",i)}),r.fileWatcher=null),r.writer.stopChangeLogFlusher(),r.incompleteSyncTimer&&(clearTimeout(r.incompleteSyncTimer),r.incompleteSyncTimer=null),r.index.saveToDisk().catch(i=>{v.error("Error saving index during dispose",i)}),r.activeFullSyncSessionId&&this.initHandler.clearPendingServiceTrees(r.activeFullSyncSessionId),r.tmpWriter&&(r.tmpWriter.stopChangeLogFlusher(),r.tmpWriter=null),r.tmpIndex=null,r.collisionDirMap=null}})}async getOrCreatePlaceContext(e,r){let n=this.places.get(e);if(n&&r){let i=this.config.getPlaceRoot(e),a=await this.config.resolvePlaceRoot(e,r);a!==i&&(v.info("Place root migrated, recreating context",{placeId:e,from:i,to:a}),this.places.delete(e),n=void 0)}if(!n){let i=await this.config.resolvePlaceRoot(e,r),a=d_.join(i,"explorer");await Ka.mkdir(i,{recursive:!0}),await Ka.mkdir(a,{recursive:!0});let o=new jn(i,a);await o.loadFromDisk();let s=new Za(this.config,o,e),c=new wd(this.config,o,i);s.startChangeLogFlusher(),n={placeId:e,placeName:"",index:o,writer:s,reader:c,fileWatcher:null,state:"idle",activeClientId:null,activeFullSyncSessionId:null,instanceCount:0,scriptCount:0,lastFullSync:null,lastIncrementalSync:null,tmpIndex:null,tmpWriter:null,incompleteSyncTimer:null,changesSinceLastSave:0,directions:{...yi},forwardRestoreQueue:[],syncProgress:null,collisionDirMap:null},this.places.set(e,n),v.info("Created new place context",{placeId:e,placeRoot:i})}return n}async handleSyncInit(e,r){try{RR(e.body);let n=PR(e.body);if(!n.success){r.status(400).json({error:"Validation error",message:n.error});return}let i=n.data,a=i.phase==="start"?i.placeId??null:i.phase==="chunk"||i.phase==="complete"?this.activeFullSyncPlaceId:null;if(a==null){r.status(400).json({error:"Missing placeId",message:"placeId is required in start phase or must be set by previous start"});return}switch(i.phase){case"start":await this.initHandler.handleInitStart(a,i,r);break;case"chunk":await this.initHandler.handleInitChunk(a,i,r);break;case"complete":await this.initHandler.handleInitComplete(a,i,r);break}}catch(n){this.sendError(r,n,"handleSyncInit")}}async handleSyncUpdate(e,r){try{RR(e.body);let n=ER(e.body);if(!n.success){r.status(400).json({error:"Validation error",message:n.error});return}let i=n.data,a=i.placeId??this.getDefaultRuntimePlaceId();if(a==null){r.status(400).json({error:"Missing placeId",message:"placeId is required in body or must have an active sync session"});return}let o=await this.getOrCreatePlaceContext(a);if(o.activeFullSyncSessionId!==null||o.state==="initializing"){r.status(409).json({error:"Conflict",message:`Full sync in progress for place ${a}`});return}o.activeClientId=i.clientId,this.touchRuntimePlace(a);let s=kR(o,i.changes);v.info("Sync update received",{placeId:a,clientId:i.clientId,changeCount:s.length,receivedCount:i.changes.length,types:s.map(f=>f.type)});let c=[],l=[],u=0,p=new Map;for(let f of s)try{let m=await this.changeProcessor.processChangeForPlace(o,f,p);m?l.push(m):u++}catch(m){let h="path"in f?f.path:"oldPath"in f?f.oldPath:"unknown";c.push({path:h,error:m instanceof Error?m.message:String(m)})}for(let f of p.values())try{await zd(o,f)}catch(m){c.push({path:f.instancePath,error:m instanceof Error?m.message:String(m)})}o.changesSinceLastSave+=u,o.changesSinceLastSave>=IR&&(await o.index.saveToDisk(),o.changesSinceLastSave=0),o.lastIncrementalSync=new Date().toISOString();let d={processed:u,failed:c.length,errors:c,syncedAt:o.lastIncrementalSync};l.length>0&&(d.conflicts=l),r.status(200).json(d)}catch(n){this.sendError(r,n,"handleSyncUpdate")}}getDefaultRuntimePlaceId(){if(this.activeRuntimeSyncPlaceId!==null&&this.activeRuntimeSyncPlaceId!==void 0){if(this.places.has(this.activeRuntimeSyncPlaceId))return this.activeRuntimeSyncPlaceId;this.activeRuntimeSyncPlaceId=null}if(this.activeFullSyncPlaceId!==null&&this.activeFullSyncPlaceId!==void 0&&this.places.has(this.activeFullSyncPlaceId))return this.activeRuntimeSyncPlaceId=this.activeFullSyncPlaceId,this.activeRuntimeSyncPlaceId;for(let[e,r]of this.places.entries())if(r.state==="syncing"||r.state==="initializing")return this.activeRuntimeSyncPlaceId=e,e;return this.activeRuntimeSyncPlaceId=null,null}touchRuntimePlace(e){this.activeRuntimeSyncPlaceId=e}clearRuntimePlaceIfMatch(e){this.activeRuntimeSyncPlaceId===e&&(this.activeRuntimeSyncPlaceId=null)}resolveQueryPlaceId(e,r="runtime"){let n=e.query.placeId;if(n){let i=parseInt(n,10);if(!isNaN(i))return i}return r==="full"?this.activeFullSyncPlaceId:this.getDefaultRuntimePlaceId()}async handleSyncStatus(e,r){try{let n=this.resolveQueryPlaceId(e);if(n==null){let s={state:"idle",instanceCount:0,scriptCount:0,lastFullSync:null,lastIncrementalSync:null,syncRoot:this.config.getSyncRoot(),activeClientId:null,reverseSyncAvailable:!1,modifiedFileCount:0};r.status(200).json(s);return}let i=this.places.get(n);if(!i){let s={state:"idle",instanceCount:0,scriptCount:0,lastFullSync:null,lastIncrementalSync:null,syncRoot:this.config.getPlaceRoot(n),activeClientId:null,reverseSyncAvailable:!1,modifiedFileCount:0};r.status(200).json(s);return}let a=i.fileWatcher?.getPendingCount()??0;this.touchRuntimePlace(n);let o={state:i.state,instanceCount:i.instanceCount,scriptCount:i.scriptCount,lastFullSync:i.lastFullSync,lastIncrementalSync:i.lastIncrementalSync,syncRoot:this.config.getPlaceRoot(n),activeClientId:i.activeClientId,reverseSyncAvailable:a>0,modifiedFileCount:a,directions:i.directions,fileWatcherActive:i.fileWatcher!==null};r.status(200).json(o)}catch(n){this.sendError(r,n,"handleSyncStatus")}}async handleSyncStop(e,r){try{let n=e.body,i=n.placeId??this.getDefaultRuntimePlaceId();if(i==null){r.status(200).json({status:"idle",state:"idle",placeId:null,message:"No active sync place"});return}let a=this.places.get(i);if(!a){r.status(200).json({status:"idle",state:"idle",placeId:i,message:`No sync context for place ${i}`});return}if(n.clientId&&a.activeClientId&&n.clientId!==a.activeClientId&&(a.activeFullSyncSessionId!==null||a.state==="syncing"||a.state==="initializing")){r.status(409).json({error:"Conflict",message:`This sync session belongs to client ${a.activeClientId}`});return}let o=a.activeFullSyncSessionId;if(o&&(this.initHandler.clearPreserveLocalFiles(o),this.initHandler.clearPendingServiceTrees(o)),a.fileWatcher&&(await a.fileWatcher.stop(),a.fileWatcher=null),a.incompleteSyncTimer&&(clearTimeout(a.incompleteSyncTimer),a.incompleteSyncTimer=null),o){let s=this.config.getPlaceRoot(i),c=d_.join(s,`explorer_tmp_${o}`);await Ka.rm(c,{recursive:!0,force:!0}).catch(()=>{})}a.tmpWriter&&(a.tmpWriter.stopChangeLogFlusher(),a.tmpWriter=null),a.tmpIndex=null,a.collisionDirMap=null,a.activeFullSyncSessionId=null,a.syncProgress=null,a.state="idle",a.activeClientId=null,a.instanceCount=0,a.scriptCount=0,this.activeFullSyncPlaceId===i&&(this.activeFullSyncPlaceId=null),this.clearRuntimePlaceIfMatch(i),v.info("Sync stopped",{placeId:i,reason:n.reason??"requested"}),r.status(200).json({status:"stopped",state:"idle",placeId:i})}catch(n){this.sendError(r,n,"handleSyncStop")}}async handleSyncConfig(e,r){try{if(e.method==="GET"){r.status(200).json(this.config.getConfig());return}let n=TR(e.body);if(!n.success){r.status(400).json({error:"Validation error",message:n.error});return}let i=n.data;i.excludePatterns!==void 0&&this.config.updateConfig({excludePatterns:i.excludePatterns}),i.excludeClasses!==void 0&&this.config.updateConfig({excludeClasses:i.excludeClasses}),i.propertyMode!==void 0&&this.config.setPropertyMode(i.propertyMode),i.maxDepth!==void 0&&this.config.updateConfig({maxDepth:i.maxDepth}),i.maxInstances!==void 0&&this.config.updateConfig({maxInstances:i.maxInstances}),r.status(200).json({status:"updated",config:this.config.getConfig()})}catch(n){this.sendError(r,n,"handleSyncConfig")}}async initialize(){try{await this.config.loadFromMeta(),await this.initHandler.cleanupStaleTempDirs(),v.info("SyncController initialized")}catch(e){v.error("SyncController initialization failed",e instanceof Error?e:new Error(String(e)))}}async shutdown(){try{this.places.clear(),v.info("SyncController shut down")}catch(e){v.error("SyncController shutdown error",e instanceof Error?e:new Error(String(e)))}}async atomicWriteFile(e,r){let n=e+".tmp."+pJ().slice(0,8);try{await Ka.writeFile(n,r,"utf-8"),await Ka.rename(n,e)}catch(i){throw await Ka.unlink(n).catch(()=>{}),i}}async handlePreCheck(e,r){try{await this.apiHandler.handlePreCheck(e,r)}catch(n){this.sendError(r,n,"handlePreCheck")}}async handleSyncDirections(e,r){try{await this.apiHandler.handleSyncDirections(e,r)}catch(n){this.sendError(r,n,"handleSyncDirections")}}async handleForwardRestoreList(e,r){try{await this.apiHandler.handleForwardRestoreList(e,r)}catch(n){this.sendError(r,n,"handleForwardRestoreList")}}async handleReversePending(e,r){try{await this.reverseHandler.handleReversePending(e,r)}catch(n){this.sendError(r,n,"handleReversePending")}}async handleReverseSyncChanges(e,r){try{await this.reverseHandler.handleReverseSyncChanges(e,r)}catch(n){this.sendError(r,n,"handleReverseSyncChanges")}}async handleReverseSyncResult(e,r){try{await this.reverseHandler.handleReverseSyncResult(e,r)}catch(n){this.sendError(r,n,"handleReverseSyncResult")}}async handleResolveConflict(e,r){try{await this.reverseHandler.handleResolveConflict(e,r)}catch(n){this.sendError(r,n,"handleResolveConflict")}}async handleReverseRescan(e,r){try{await this.reverseHandler.handleReverseRescan(e,r)}catch(n){this.sendError(r,n,"handleReverseRescan")}}async handleSyncHistory(e,r){try{await this.apiHandler.handleSyncHistory(e,r)}catch(n){this.sendError(r,n,"handleSyncHistory")}}async startFileWatcherForPlace(e){if(e.state!=="syncing"){v.debug("Skipping file watcher start - place not syncing",{placeId:e.placeId,state:e.state});return}e.fileWatcher&&await e.fileWatcher.stop();let r=d_.join(this.config.getPlaceRoot(e.placeId),"explorer");e.fileWatcher=new Cd(r,e.index),e.writer.setOnWriteCallback(n=>{e.fileWatcher?.suppressPath(n)}),e.fileWatcher.setDirectionChecker(n=>{let i=Jz(n);return e.directions[i]}),e.fileWatcher.setOnForwardViolation(n=>{e.forwardRestoreQueue.includes(n)||(e.forwardRestoreQueue.push(n),v.info("Forward violation queued for restore",{placeId:e.placeId,relativePath:n,queueSize:e.forwardRestoreQueue.length}))}),await e.fileWatcher.start(),v.info("File watcher started for reverse sync",{placeId:e.placeId})}getStatusSummary(){return this.apiHandler.getStatusSummary()}getDirectionForCategory(e){return this.apiHandler.getDirectionForCategory(e)}getStatusDirect(e){return this.apiHandler.getStatusDirect(e)}getConfigDirect(){return this.apiHandler.getConfigDirect()}async getHistoryDirect(e,r){return this.apiHandler.getHistoryDirect(e,r)}getDirectionsDirect(e){return this.apiHandler.getDirectionsDirect(e)}getProgressDirect(e){return this.apiHandler.getProgressDirect(e)}async readSyncedFile(e,r){return this.apiHandler.readSyncedFile(e,r)}async writeSyncedFile(e,r,n){await this.apiHandler.writeSyncedFile(e,r,n)}async executeViaDisk(e,r){return this.apiHandler.executeViaDisk(e,r)}sendError(e,r,n){let i=r instanceof Error?r.message:String(r);if(i.includes("Path traversal detected")){e.status(403).json({error:"Forbidden",message:i});return}let a=r.code;if(a==="ENOSPC"||a==="EPERM"||a==="EACCES"){e.status(500).json({error:"Disk error",message:i});return}v.error(`SyncController.${n} failed`,r instanceof Error?r:new Error(i)),e.status(500).json({error:"Internal error",message:`${n}: ${i}`})}};import{randomUUID as dJ}from"crypto";function jR(t,e){let r=dJ(),n=r.replace(/-/g,"").substring(0,8).toUpperCase(),i=`${n.substring(0,4)}-${n.substring(4,8)}`;return{config:t,app:e,instanceId:r,sessionId:i,startTime:Date.now(),baseUrl:`http://${t.httpHost}:${t.httpPort}`,commandQueue:new Map,pendingCommands:new Map,globalPendingCommands:[],totalCommandsProcessed:0,pluginClients:new Map,mcpInstances:new Map,sseClients:new Set,cachedSelectionMap:new Map,isClientMode:!1,clientModeHealthTimer:null,clientModeConsecutiveHealthFailures:0,clientModeUpstreamReachable:!0,clientModeLastHealthSuccessAt:null,clientModeLastHealthFailureAt:null,clientModeLastHealthError:null,historyManager:null,analyticsManager:null,licenseState:null,syncController:null,aiClientName:"",syncedSessionToken:null,requestCounts:new Map}}var DR=eo(md(),1);function OR(t){let e=DR.default.json();t.app.use((r,n,i)=>{if(r.path.startsWith("/sync/")){i();return}e(r,n,i)}),t.app.use((r,n,i)=>{n.setHeader("Access-Control-Allow-Origin","http://localhost:3002"),n.setHeader("Access-Control-Allow-Methods","GET, POST, OPTIONS"),n.setHeader("Access-Control-Allow-Headers","Content-Type"),i()}),t.app.use((r,n,i)=>{if(!fJ(t,r.ip||"unknown")){n.status(429).json({error:"Rate limit exceeded",limit:t.config.maxRequestsPerMinute});return}i()}),t.app.use((r,n,i)=>{v.debug(`${r.method} ${r.path}`,{ip:r.ip}),i()})}function fJ(t,e){let r=Date.now(),n=r-6e4,i=t.requestCounts.get(e)||[];return i=i.filter(a=>a>n),i.length===0&&t.requestCounts.delete(e),i.length>=t.config.maxRequestsPerMinute?!1:(i.push(r),t.requestCounts.set(e,i),!0)}import{randomUUID as Ec}from"crypto";var Ze="1.3.1";function NR(t){let e=new Set;t.aiClientName&&e.add(t.aiClientName);for(let r of t.mcpInstances.values())r.aiClientName&&e.add(r.aiClientName);return Array.from(e)}function mJ(t){let r=Date.now();return Array.from(t.pluginClients.values()).filter(n=>r-n.lastSeen<1e4)}function AR(t){let r=Date.now();for(let[n,i]of t.mcpInstances)i.lastSeen&&r-i.lastSeen>15e3&&(t.mcpInstances.delete(n),v.debug("Removed stale MCP instance",{instanceId:n,lastSeen:i.lastSeen}))}function MR(t,e,r){let n=e.query.clientId;if(n&&t.pluginClients.has(n)){let i=t.pluginClients.get(n);i.lastSeen=Date.now()}try{let i=e.body;if(!i||!Array.isArray(i.selection)||typeof i.count!="number"){v.warn("Invalid selection update request",{body:i}),r.status(400).json({error:"Invalid request body"});return}let a=n||"unknown",o=Date.now();t.cachedSelectionMap.set(a,{selection:i.selection,count:i.count,timestamp:o,clientId:a}),v.debug("Selection cache updated",{count:i.count,clientId:a,timestamp:o}),r.json({status:"ok",timestamp:o})}catch(i){v.error("Error handling selection update",i),r.status(500).json({error:"Internal server error"})}}function UR(t,e,r){let n=parseInt(e.query.maxAge)||3e4,i=Ic(t,n);i?r.json({cached:!0,...i}):r.json({cached:!1,message:"No cached selection available"})}function Ic(t,e=3e4,r){if(t.cachedSelectionMap.size===0)return null;let n;if(r)n=t.cachedSelectionMap.get(r);else for(let a of t.cachedSelectionMap.values())(!n||a.timestamp>n.timestamp)&&(n=a);if(!n)return null;let i=Date.now()-n.timestamp;return e===0||i<=e?n:null}function FR(t,e,r){try{let n=e.body;if(!n.clientId){r.status(400).json({error:"Missing clientId"});return}let i=t.pluginClients.get(n.clientId),a=Date.now(),o={clientId:n.clientId,projectName:n.projectName,placeName:n.placeName,placeId:n.placeId,connectedAt:i?.connectedAt||a,lastSeen:a,commandsProcessed:i?.commandsProcessed||0,connectionType:"polling"};t.pluginClients.set(n.clientId,o),t.pendingCommands.has(n.clientId)||t.pendingCommands.set(n.clientId,[]),t.analyticsManager&&(n.pluginVersion&&t.analyticsManager.setPluginVersion(n.pluginVersion),t.analyticsManager.trackPluginConnected()),v.info("Plugin client registered",{clientId:n.clientId,projectName:n.projectName,placeName:n.placeName,isReconnect:!!i}),t.licenseState&&t.licenseState.triggerImmediateRefreshOnConnect(n.clientId),r.json({status:"ok",clientId:n.clientId,serverInstanceId:t.instanceId,sessionId:t.sessionId,mcpVersion:Ze,connectedAt:o.connectedAt,aiClientNames:NR(t),serverStartTime:t.startTime,mcpInstanceCount:t.mcpInstances.size+1})}catch(n){v.error("Error registering plugin client",n),r.status(500).json({error:"Internal server error"})}}function qR(t,e,r){let n=e.body?.clientId;if(!n){r.status(400).json({error:"Missing clientId"});return}let i=t.pluginClients.has(n);t.pluginClients.delete(n),t.pendingCommands.delete(n),v.info("Plugin client unregistered",{clientId:n,existed:i}),r.json({status:"ok",existed:i})}function LR(t,e,r){try{let n=e.body;if(!n.instanceId){r.status(400).json({error:"Missing instanceId"});return}let i=Date.now(),a={instanceId:n.instanceId,pid:n.pid,connectedAt:i,isServer:!1,lastSeen:i};n.aiClientName&&(a.aiClientName=n.aiClientName),n.cwd&&(a.cwd=n.cwd),t.mcpInstances.set(n.instanceId,a),v.info("MCP instance registered (client mode)",{instanceId:n.instanceId,pid:n.pid,cwd:n.cwd}),r.json({status:"ok",instanceId:n.instanceId,serverInstanceId:t.instanceId,sessionId:t.sessionId,mcpVersion:Ze,mcpInstanceCount:t.mcpInstances.size+1})}catch(n){v.error("Error registering MCP instance",n),r.status(500).json({error:"Internal server error"})}}function ZR(t,e,r){let n=e.body?.instanceId;if(!n){r.status(400).json({error:"Missing instanceId"});return}let i=t.mcpInstances.has(n);t.mcpInstances.delete(n),v.info("MCP instance unregistered",{instanceId:n,existed:i}),r.json({status:"ok",existed:i})}function HR(t,e,r){let{instanceId:n,aiClientName:i}=e.body;if(n&&i){let a=t.mcpInstances.get(n);a&&(a.aiClientName=i)}r.json({status:"ok"})}function BR(t){let r=Date.now();for(let[n,i]of t.pluginClients)r-i.lastSeen>3e4&&(t.pluginClients.delete(n),t.pendingCommands.delete(n));return AR(t),{serverInstanceId:t.instanceId,sessionId:t.sessionId,mcpVersion:Ze,uptime:r-t.startTime,serverStartTime:t.startTime,serverExecutable:process.execPath,serverHost:t.config.httpHost,serverPort:t.config.httpPort,serverPid:process.pid,mcpInstances:[{instanceId:t.instanceId,pid:process.pid,connectedAt:t.startTime,isServer:!0,cwd:process.cwd()},...Array.from(t.mcpInstances.values())],mcpInstanceCount:t.mcpInstances.size+1}}function VR(t,e){e.json(BR(t))}function WR(t,e,r){let n=e.query.instanceId;n&&t.mcpInstances.has(n)&&(t.mcpInstances.get(n).lastSeen=Date.now()),AR(t);let i=mJ(t),a=t.sseClients.size,c={...{status:"online",connectedClients:a+i.length,queuedCommands:t.commandQueue.size,uptime:Date.now()-t.startTime,version:Ze,isClientMode:t.isClientMode,pid:process.pid,sessionId:t.sessionId},instanceId:t.instanceId,mcpInstanceCount:t.mcpInstances.size+1,aiClientNames:NR(t),sseClients:a,pollingClients:i.length,pluginClients:i.map(l=>({clientId:l.clientId,projectName:l.projectName,lastSeen:Date.now()-l.lastSeen})),...t.isClientMode?{upstream:{reachable:t.clientModeUpstreamReachable,consecutiveFailures:t.clientModeConsecutiveHealthFailures,lastSuccessAt:t.clientModeLastHealthSuccessAt,lastFailureAt:t.clientModeLastHealthFailureAt,lastError:t.clientModeLastHealthError,baseUrl:t.baseUrl}}:{}};r.json(c)}function JR(t,e,r,n){let i=e.ip||e.socket.remoteAddress||"";if(!(i==="127.0.0.1"||i==="::1"||i==="::ffff:127.0.0.1"||i==="localhost")){v.warn("Shutdown request rejected from non-localhost",{ip:i}),r.status(403).json({error:"Forbidden: localhost only"});return}v.info("Shutdown request received, initiating graceful shutdown",{requestedBy:i,uptime:Date.now()-t.startTime}),r.json({status:"shutting_down",message:"Server will shutdown gracefully",pid:process.pid}),setTimeout(async()=>{try{await n(),v.info("Graceful shutdown completed"),process.exit(0)}catch(o){v.error("Error during graceful shutdown",o),process.exit(1)}},100)}async function Fd(t){if(t.isClientMode)try{let e=await fetch(`${t.baseUrl}/connection-info`);if(e.ok)return await e.json()}catch(e){v.warn("Failed to fetch connection info from server",{error:e})}return BR(t)}async function Pc(t,e,r){if(!r)return{success:!1,error:"Sync controller not available. Project sync is not initialized."};try{switch(t){case"sync_status":{let n=e.placeId;return{success:!0,data:r.getStatusDirect(n)}}case"sync_config":return{success:!0,data:r.getConfigDirect()};case"sync_history":{let n=e.placeId,i=e.query;return n==null?{success:!1,error:"placeId is required for sync_history"}:{success:!0,data:await r.getHistoryDirect(n,i)}}case"sync_directions":{let n=e.placeId;return{success:!0,data:r.getDirectionsDirect(n)}}case"sync_progress":{let n=e.placeId;return{success:!0,data:r.getProgressDirect(n)}}case"sync_read_file":{let n=e.placeId,i=e.instancePath;return n==null||!i?{success:!1,error:"placeId and instancePath are required"}:{success:!0,data:await r.readSyncedFile(n,i)}}case"sync_write_file":{let n=e.placeId,i=e.instancePath,a=e.content;return n==null||!i||a===void 0?{success:!1,error:"placeId, instancePath, and content are required"}:(await r.writeSyncedFile(n,i,a),{success:!0,data:{written:!0,placeId:n,instancePath:i}})}default:return{success:!1,error:`Unknown sync action: ${t}`}}}catch(n){let i=n instanceof Error?n.message:"Unknown error";return v.error("Sync action failed",{action:t,error:i}),{success:!1,error:i}}}async function GR(t,e,r){if(!r)return{success:!1,error:"Sync controller not available for disk operations."};try{return{success:!0,data:await r.executeViaDisk(t,e)}}catch(n){let i=n instanceof Error?n.message:"Unknown error";return v.error("Disk action failed",{action:t,error:i}),{success:!1,error:i}}}var qd=100;function KR(t,e,r){v.info("Plugin connected via SSE"),r.setHeader("Content-Type","text/event-stream"),r.setHeader("Cache-Control","no-cache"),r.setHeader("Connection","keep-alive"),t.sseClients.add(r),f_(r,{event:"command",id:Ec(),data:{action:"connected",requestId:Ec(),params:{serverVersion:Ze,timestamp:Date.now()}}});let n=setInterval(()=>{f_(r,{event:"command",id:Ec(),data:{action:"keepalive",requestId:Ec(),params:{timestamp:Date.now()}}})},3e4);r.on("close",()=>{v.info("Plugin disconnected from SSE"),clearInterval(n),t.sseClients.delete(r)})}function f_(t,e){let r=JSON.stringify(e.data);t.write(`event: ${e.event}
|
|
118
118
|
`),t.write(`id: ${e.id}
|
|
119
119
|
`),t.write(`data: ${r}
|
|
120
120
|
|