@blueking/bkui-form 1.0.1-beta.5 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapter/common/FieldGroupWrap.d.ts +0 -1
- package/dist/adapter/field/ArrayField.d.ts +0 -1
- package/dist/adapter/field/CompositionField.d.ts +0 -1
- package/dist/adapter/field/FieldProps.d.ts +0 -1
- package/dist/adapter/field/ObjectField.d.ts +0 -1
- package/dist/adapter/field/StringField.d.ts +0 -1
- package/dist/adapter/widget/ArrayWidget.d.ts +0 -1
- package/dist/adapter/widget/CollapseGroupWidget.d.ts +0 -1
- package/dist/adapter/widget/KeyValueArrayWidget.d.ts +0 -1
- package/dist/adapter/widget/RadioWidget.d.ts +0 -1
- package/dist/adapter/widget/SelectWidget.d.ts +0 -1
- package/dist/adapter/widget/TabGroupWidget.d.ts +0 -1
- package/dist/adapter/widget/TableWidget.d.ts +0 -1
- package/dist/adapter/widget/Widget.d.ts +0 -1
- package/dist/bkui-form.css +2 -0
- package/dist/controller/form.d.ts +25 -4
- package/dist/controller/props.d.ts +9 -2
- package/dist/core/form.d.ts +0 -1
- package/dist/core/layout.d.ts +0 -1
- package/dist/core/proxy.d.ts +0 -1
- package/dist/core/reaction.d.ts +0 -1
- package/dist/core/schema.d.ts +0 -1
- package/dist/core/validator.d.ts +0 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.es.js +6654 -7408
- package/dist/index.umd.js +11 -12
- package/dist/util/fetch.d.ts +0 -1
- package/dist/util/index.d.ts +1 -1
- package/package.json +18 -16
- package/dist/style.css +0 -1
- /package/{readme.md → README.md} +0 -0
package/dist/index.umd.js
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
(function(z,U){typeof exports=="object"&&typeof module<"u"?U(exports,require("vue"),require("bkui-vue")):typeof define=="function"&&define.amd?define(["exports","vue","bkui-vue"],U):(z=typeof globalThis<"u"?globalThis:z||self,U(z.bkSchemaForm={},z.Vue,z.bkuiVue))})(this,function(exports,vue,bkuiVue){"use strict";var ge=Object.defineProperty;var $e=(z,U,e)=>U in z?ge(z,U,{enumerable:!0,configurable:!0,writable:!0,value:e}):z[U]=e;var L=(z,U,e)=>$e(z,typeof U!="symbol"?U+"":U,e);const isRegExp=e=>{var t;return((t=new Function(`return ${e};`)())==null?void 0:t.constructor)===RegExp},isObj=e=>Object.prototype.toString.call(e)==="[object Object]";(function(){try{if(typeof self<"u")return self}catch{}try{if(typeof window<"u")return window}catch{}try{if(typeof global<"u")return global}catch{}return Function("return this")()})();const hasOwnProperty=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),valueType=e=>Array.isArray(e)?"array":typeof e=="string"?"string":typeof e=="boolean"?"boolean":isNaN(e)?e===null?"null":typeof e=="object"?"object":typeof e:"number",merge=(e,t)=>isObj(t)?Object.keys(t).reduce((r,s)=>(r[s]=merge((e==null?void 0:e[s])||{},t[s]),r),JSON.parse(JSON.stringify(e))):Array.isArray(t)?(e=Array.isArray(e)?e:[],t.map((r,s)=>e[s]?merge(e[s],r):r)):t;function initializationValue(e,t={integer:void 0,number:void 0}){switch(e){case"any":return;case"array":return[];case"boolean":return!1;case"integer":return t.integer;case"null":return null;case"number":return t.number;case"object":return{};case"string":return""}}function isObject(e){return Object.prototype.toString.call(e)==="[object Object]"}function mergeObject(e,t){const r={...e};for(const[s,a]of Object.entries(t))isObject(a)&&s in e?r[s]=mergeObject(r[s],a):r[s]=a;return r}function mergeDeep(e,...t){return t.reduce(mergeObject,e)}function isArguments(e){return Object.prototype.toString.call(e)==="[object Arguments]"}function deepEquals(e,t,r=[],s=[]){if(e===t||typeof e=="function"||typeof t=="function")return!0;if(typeof e!="object"||typeof t!="object"||e===null||t===null)return!1;if(e instanceof Date&&t instanceof Date)return e.getTime()===t.getTime();if(e instanceof RegExp&&t instanceof RegExp)return e.source===t.source&&e.global===t.global&&e.multiline===t.multiline&&e.lastIndex===t.lastIndex&&e.ignoreCase===t.ignoreCase;if(isArguments(e)||isArguments(t)){if(!(isArguments(e)&&isArguments(t)))return!1;const{slice:d}=Array.prototype;return deepEquals(d.call(e),d.call(t),r,s)}if(e.constructor!==t.constructor)return!1;const a=Object.keys(e),n=Object.keys(t);if(a.length===0&&n.length===0)return!0;if(a.length!==n.length)return!1;let o=r.length;for(;o--;)if(r[o]===e)return s[o]===t;r.push(e),s.push(t),a.sort(),n.sort();for(let d=a.length-1;d>=0;d--)if(a[d]!==n[d])return!1;let i;for(let d=a.length-1;d>=0;d--)if(i=a[d],!deepEquals(e[i],t[i],r,s))return!1;return r.pop(),s.pop(),!0}function orderProperties(e,t){if(!Array.isArray(t)||!t.length)return e;const r=u=>u.reduce((f,w)=>(f[w]=!0,f),{}),s=u=>u.length>1?`properties '${u.join("', '")}'`:`property '${u[0]}'`,a=r(e),n=t.filter(u=>u==="*"||a[u]),o=r(n),i=e.filter(u=>!o[u]),d=n.indexOf("*");if(d===-1){if(i.length)throw new Error(`uiSchema order list does not contain ${s(i)}`);return n}if(d!==n.lastIndexOf("*"))throw new Error("uiSchema order list contains more than one wildcard item");const l=[...n];return l.splice(d,1,...i),l}const getCookie=e=>{const t=document.cookie.split(";");for(let r=0;r<t.length;r++){const s=t[r],[a,n]=s.split("=");if(a.trim()===e)return n}return null};function capitalizeFirstLetter(e){return e.charAt(0).toUpperCase()+e.slice(1)}const z=class z{constructor(){L(this,"widgets",new Map);L(this,"components",new Map);L(this,"fields",new Map)}addComponentsMap(t={}){this.addMap("components",t)}getComponent(t){return this.components.get(t)}addFieldsMap(t={}){this.addMap("fields",t)}getField(t){return this.fields.get(t)}addBaseWidgets(t={}){this.addMap("widgets",t)}getBaseWidget(t){if(!t){console.warn("base widget name is empty");return}return this.widgets.has(t)?this.widgets.get(t):t&&t.indexOf(z.namespace)!==0?vue.resolveComponent(`${z.namespace}-${t}`):vue.resolveComponent(t)}addMap(t,r){!t||!r||Object.entries(r).forEach(([s,a])=>{if(this[t].has(s)){console.warn("repeat key",s);return}typeof a=="string"?this[t].set(s,vue.resolveComponent(a)):this[t].set(s,a)})}};L(z,"namespace","bk"),L(z,"context",{});let Registry=z;const registry=new Registry,U=class U{static resolveRef(){}static resolveDependencies(){}static resolveAdditionalProperties(){}static resolveSchema(t){return isObj(t)?(hasOwnProperty(t,"allOf"),hasOwnProperty(t,"$ref"),t):{}}static getSchemaDefaultValue(t){const r=isObj(t)?t:{};switch(this.getSchemaType(r)){case"null":return null;case"object":return Object.keys(r.properties||{}).reduce((s,a)=>{var o;const n=this.getSchemaDefaultValue((o=r.properties)==null?void 0:o[a]);return s[a]=n,s},{});case"array":return r.default&&Array.isArray(r.default)?r.default:Array.isArray(r.items)?r.items.map(s=>this.getSchemaDefaultValue(s)):[]}return r.default!==void 0?r.default:initializationValue(r.type||"any")}static getSchemaType(t){const{type:r}=t;return!r&&t.const?valueType(t.const):!r&&t.enum?"string":!r&&t.items?"array":r}static getUiProps(t,r){return(!t||!t.startsWith("ui:"))&&console.warn("ui props must start with ui:"),r[t]||{}}static getSchemaField(t){var a,n;const r=t["ui:field"];if(r)return r;if((a=t.oneOf)!=null&&a.length)return{name:registry.getField("composition"),composition:"oneOf"};if((n=t.anyOf)!=null&&n.length)return{name:registry.getField("composition"),composition:"anyOf"};const s=registry.getField(this.getSchemaType(t));return s?{name:s}:{name:null}}static isMultiSelect(t){return!t.uniqueItems||!t.items?!1:Array.isArray(t.items.enum)}static isTupleArray(t){var r;return Array.isArray(t.items)&&((r=t.items)==null?void 0:r.length)>0&&t.items.every(s=>isObj(s))}static isCustomArrayWidget(t){var s;const r=(s=t["ui:component"])==null?void 0:s.name;return t.type==="array"&&r}static resolveFormComponent(t){return typeof t=="string"&&t?vue.resolveComponent(t):t}static getGroupWrap(t){const{name:r,...s}=t["ui:group"]||{};return{...s,name:this.resolveFormComponent(registry.getComponent(r)||r||registry.getComponent("group"))}}static getUiComponent(t){const{name:r,...s}=t["ui:component"]||{};return{name:this.resolveFormComponent(registry.getComponent(r)||r),...s}}static getDefaultWidget(t){var i,d,l,u;const r=this.getSchemaType(t);let s=null;if(r==="string"&&Array.isArray(t.enum)&&(s=registry.getComponent("select")),r==="array"&&U.isMultiSelect(t)&&(s=registry.getComponent("checkbox")),typeof r!="object"&&((i=t.oneOf)!=null&&i.length&&((d=t.oneOf)!=null&&d.every(f=>f.const))||(l=t.anyOf)!=null&&l.length&&((u=t.anyOf)!=null&&u.every(f=>f.const)))&&(s=registry.getComponent("select")),s)return s;const n={string:"input",number:"input",integer:"input",boolean:"switcher",null:""}[r],o=registry.getComponent(n)||registry.getBaseWidget(n);return o||(console.warn(`未注册类型${r}对应的默认表单项`),null)}static isRequired(t,r){return Array.isArray(t.required)&&t.required.includes(r)}static getUiOptions(t){const r={showTitle:!0,label:t.title,desc:t.description,minLength:t.minLength,maxLength:t.maxLength,...t["ui:props"]||{}};return{...r,description:r.desc||r.description,labelWidth:r.showTitle?r.labelWidth:.1}}static getDependencies(t,r){return Object.entries(t.dependencies||{}).find(s=>Array.isArray(s[1])&&s[1].includes(r))}static resolveDefaultDatasource(t){var r,s;if((r=t["ui:component"])!=null&&r.datasource)return t["ui:component"].datasource;if(Array.isArray(t.enum))return t.enum.map(n=>({value:n,label:n}));if(Array.isArray((s=t.items)==null?void 0:s.enum))return(t.items.enum||[]).map(n=>({value:n,label:n}));if(typeof t.type!="object"&&t.oneOf&&t.oneOf.every(a=>a.const))return t.oneOf.map(n=>({value:n.const,label:n.title||n.const}));if(typeof t.type!="object"&&t.anyOf&&t.anyOf.every(a=>a.const))return t.anyOf.map(n=>({value:n.const,label:n.title||n.const}))}constructor(t){U.rootSchema=t}};L(U,"rootSchema");let Schema=U;class Layout{constructor(t=[]){L(this,"layout");Array.isArray(t)?this.layout=this.parseLayout({prop:"",group:t}):this.layout=this.parseLayout(t)}static findLayoutByProp(t,r){let s;return r.find(a=>(s=a.find(n=>n.prop===t),s)),s}transformValueToPixel(t){return typeof t=="number"?`${t}px`:t}parseLayout(t){const r=this.getLayoutDimension(t.group),s=this.parseGridTemplate(r),a=(t.group||[]).map(i=>Array.isArray(i)?i.map(l=>typeof l=="string"||typeof l=="number"?{prop:l,item:{gridArea:l,overflow:"hidden"}}:typeof l=="object"&&Reflect.has(l,"group")?this.parseLayout(l):l):(console.error(`layout ${JSON.stringify(i)} error, must be a array`),[])),n=this.parseGridTemplateAreas(r,a);return{prop:t.prop||"",item:{gridArea:t.prop,overflow:"hidden",...t.item},container:{display:"grid",gridTemplateAreas:n,gridGap:"24px",...s,...t.container},group:a}}getLayoutDimension(t=[]){return t.reduce((r,s)=>(Array.isArray(s)||console.error(`layout ${JSON.stringify(s)} error, must be a array`),s&&(r.columns=Math.max(r.columns,s.length||0)),r.rows+=1,r),{columns:0,rows:0})}parseGridTemplate(t){return{gridTemplateColumns:this.repeatTemplate(t.columns,!1),gridTemplateRows:this.repeatTemplate(t.rows)}}parseGridTemplateAreas(t,r){return r.reduce((s,a)=>{const n=this.autoFillColumns(a,t.columns);return s.push(`"${n.join(" ")}"`),s},[]).join(`
|
|
2
|
-
`)}autoFillColumns(t,r){if(t.length===r)return t.map(n=>n.prop);const s=Math.floor((r-t.length)/t.length),a=t.reduce((n,o)=>{n.push(o.prop);const i=new Array(s).fill(o.prop);return n.concat(i)},[]);if(a.length<r){const n=new Array(r-a.length).fill(".");return a.concat(n)}return a}repeatTemplate(t,r=!0){return new Array(t+1).join(r?"auto ":"1fr ").trim()}}function createProxy(e,t){return new Proxy(e,{get(r,s,a){return typeof r[s]=="function"?r[s].apply(t):Reflect.get(r,s,a)}})}class Path{static getCurPath(t,r){return t===""?r:[t,r].join(this.separator)}static getPathVal(t,r,s=0){if(!r)return t;const a=r.split(this.separator);for(let n=0;n<a.length-s;n+=1){if(t===void 0)return;t=a[n]===""?t:t[a[n]]}return t}static setPathValue(t={},r,s){const a=JSON.parse(JSON.stringify(t)),n=r.split(this.separator),o=n.pop()||"";let i=a;return n.forEach(d=>{i[d]||(i[d]={}),i=i[d]}),i[o]=s,a}static getSubPath(t,r){return r.replace(`${t}.`,"")}static getPathLastProp(t){return t.split(this.separator).pop()}static getParentPath(t){const r=t.split(this.separator);return r.length<=1?"":r.slice(0,r.length-1).join(this.separator)}}L(Path,"separator",".");const methodsWithoutData=["GET","HEAD","OPTIONS","DELETE"],defaultConfig={responseType:"json",method:"GET",params:{},headers:{},cache:"no-cache"},request=async(e,t={})=>{const{params:r,responseType:s="json",method:a="GET",headers:n={},responseParse:o,...i}=mergeDeep(defaultConfig,t);let d,l=e;methodsWithoutData.includes(a.toUpperCase())?l=`${l}?${isObj(r)?new URLSearchParams(r):r||""}`:isObj(r)?(n["Content-Type"]="application/json;charset=utf-8",d=JSON.stringify(r)):d=r;try{const u=await fetch(l,{...i,method:a.toLocaleUpperCase(),headers:n,body:d});if(u.ok){const f=await u[s]();if(o){if(typeof o=="function")return Promise.resolve(o(f));if(isObj(o)){const{dataKey:w="data",labelKey:b,valueKey:y}=o,_=((f==null?void 0:f[w])||[]).map(m=>({...m,label:m==null?void 0:m[b],value:m==null?void 0:m[y]}));return Promise.resolve(_)}return Promise.resolve(f)}return Promise.resolve(f)}switch(u.status){case 400:break;case 401:break;case 403:case 500:break}}catch(u){console.error("Request Failed",u),Promise.reject(u)}},props$1={modelValue:{type:Object,default:()=>({})},rules:{type:Object,default:()=>({})},schema:{type:Object,default:()=>({})},width:{type:[String,Number],default:"100%"},layout:{type:[Array,Object],default:()=>[]},formType:{type:String,default:"default"},context:{type:Object,default:()=>({})},httpAdapter:{type:Object,default:()=>({request,responseParse:e=>e})},readonly:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},readonlyMode:{type:String,default:"value",validator:e=>["value","custom"].includes(e)},labelWidth:{type:Number,default:150},showResetDefault:{type:Boolean,default:!1}},props={schema:{type:Object,default:()=>({})},path:{type:String,default:""},required:{type:Boolean,default:!1},rootData:{type:Object,default:()=>({})},modelValue:{type:[String,Number,Array,Object,Boolean]},layout:{type:Object,default:()=>({})},context:{type:Object,default:()=>({})},removeable:{type:Boolean,default:!1},httpAdapter:{type:Object,default:()=>({request,responseParse:e=>e})},visible:{type:Boolean,default:!0},error:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},readonlyMode:{type:String,default:"value",validator:e=>["value","custom"].includes(e)},showResetDefault:{type:Boolean,default:!1}},SchemaField=vue.defineComponent({name:"SchemaField",props,render(){const{schema:e,rootData:t,path:r}=this.$props,s=Schema.resolveSchema(e);if(!Object.keys(e).length)return null;const{name:a,...n}=Schema.getSchemaField(s);return a?vue.h(a,{...this.$attrs,...this.$props,...n,modelValue:Path.getPathVal(t,r),schema:s},this.$slots):null}}),getContext=e=>{const{context:t,loadDataSource:r,validate:s,schema:a,rootData:n,widgetNode:o}=e;return{$self:e,$context:t,$schema:a,$rules:a.rules,$loadDataSource:r,$validate:s,$rootData:n,$widgetNode:o}},executeExpression=(expression,instance,$dep=[])=>{const{$self,$context,$schema,$rules,$loadDataSource,$validate,$rootData,$widgetNode}=getContext(instance),context={$self,$context,$schema,$rules,$loadDataSource,$validate,$rootData,$widgetNode,$dep};if(typeof expression=="string"){if(!/^{{.+}}$/.test(expression.trim()))return expression;const expStr=expression.trim().replace(/(^{{)|(}}$)/g,"").trim(),innerFuncs=["$loadDataSource","$validate"],func=function({$self,$context,$schema,$rules,$loadDataSource,$validate,$rootData,$widgetNode,$dep}){try{return innerFuncs.includes(expStr)?eval(`${expStr}()`):eval(expStr)}catch(e){console.error(`execute ${expStr} error, please check.
|
|
3
|
-
`,e)}};return func(context)}if(isObj(expression))return Object.keys(expression).forEach(e=>{expression[e]=executeExpression(expression[e],instance)}),expression},isExpression=e=>typeof e=="string"&&/{{.*}}/.test(e);class WidgetNode{constructor(t){L(this,"id");L(this,"instance");L(this,"parent");L(this,"type");L(this,"index");L(this,"children");const{id:r,instance:s,parent:a,index:n,type:o,children:i=[]}=t;this.id=r,this.type=o,this.index=n,this.instance=s,this.parent=a,this.children=i}get value(){var t;return(t=this.instance)==null?void 0:t.value}get isChildrenVisible(){var t;return this.type==="node"?(t=this.instance)==null?void 0:t.state.visible:this.children.some(r=>r.isChildrenVisible)}get parents(){return this.parent?[...this.parent.parents,this.parent]:[]}get firstChild(){return this.children[0]||null}get lastChild(){return this.children[this.children.length-1]||null}getSibling(t){var a;const r=new RegExp(`${Path.getPathLastProp(this.id)||""}$`),s=this.id.replace(r,t);return(a=this.parent)==null?void 0:a.children.find(n=>n.id===s)}getSiblings(){var t;return((t=this.parent)==null?void 0:t.children.filter(r=>r.instance!==this.instance))||[]}get isLeaf(){return!this.children.length}appendChild(t){const r=Array.isArray(t)?t:[t],s=t.index!==void 0?t.index:this.children.length;return this.children.splice(s,0,...r),this.children.slice(s).forEach((a,n)=>{a.index=s+n}),r}removeChild(t){const r=Array.isArray(t)?t:[t],s=[];r.forEach(n=>{const{index:o}=n;s.push(o),this.children.splice(o,1)});const a=Math.min(...s);return this.children.slice(a).forEach((n,o)=>{n.index=a+o}),r}}class WidgetTree{constructor(){L(this,"widgetMap",{})}addWidgetNode(t,r,s,a){if(t===""){const n=new WidgetNode({id:"",type:s,index:a,parent:null,instance:r,children:[]});this.widgetMap[t]=n}else{const n=Path.getParentPath(t),o=this.widgetMap[n],i=new WidgetNode({id:(r==null?void 0:r.path)||t,type:s,index:a,parent:o,instance:r,children:[]});o?o.appendChild(i):console.warn("Unexpected parent id, please check widget node",i),this.widgetMap[t]=i}}removeWidgetNode(t,r){const s=this.widgetMap[t];if(s){if(s.parent){const{children:a}=s.parent,n=a.findIndex(o=>o.instance===r);n>-1&&(a.splice(n,1),a.slice(n).forEach((o,i)=>{o.index=n+i}))}s.instance===r&&delete this.widgetMap[t]}}}const widgetTree=new WidgetTree,reactionsMap={},subscribe=(e,t,r)=>{if(reactionsMap[e]||(reactionsMap[e]={lifetime:{},effect:{},fns:[]}),t==="valChange")reactionsMap[e].fns.push(r);else{const[s,a]=t.split("/");reactionsMap[e][s][a]?reactionsMap[e][s][a].push(r):reactionsMap[e][s][a]=[r]}},resolveReaction=(e,t,r)=>()=>{const{instance:s}=widgetTree.widgetMap[e]||{},{instance:a}=widgetTree.widgetMap[t]||{};let n=!0;const o=[];r.source&&(Array.isArray(r.source)?r.source:[r.source]).forEach(l=>{const{instance:u}=widgetTree.widgetMap[parsePath(l,e)];o.push(u)}),typeof r.if=="string"&&(n=executeExpression(r.if,s,o));const i=n?r.then:r.else;executeOperations(i,a,o)},executeOperations=(e,t,r)=>{e&&(e.state&&Object.keys(e.state).forEach(s=>{let a=e.state[s];typeof a=="string"&&/^{{.+}}$/.test(a.trim())&&(a=executeExpression(a,t,r)),t.setState(s,a)}),Array.isArray(e.actions)&&e.actions.forEach(s=>{executeExpression(s,t,r)}))},parsePath=(e,t)=>isExpression(e)?executeExpression(e,t):e,reactionRegister=(e,t=[])=>{const{instance:r}=widgetTree.widgetMap[e]||{};t&&Array.isArray(t)&&t.forEach(s=>{const a=s.source?Array.isArray(s.source)?s.source:[s.source]:[e],n=parsePath(typeof s.target=="string"?s.target:e,r);a.forEach(o=>{const i=parsePath(o,r);typeof s.lifetime=="string"&&subscribe(i,`lifetime/${s.lifetime}`,resolveReaction(e,n,s)),typeof s.effect=="string"&&subscribe(i,`effect/${s.effect}`,resolveReaction(e,n,s)),!s.lifetime&&!s.effect&&subscribe(i,"valChange",resolveReaction(e,n,s))})})},reactionUnRegister=e=>{delete reactionsMap[e]},reactionDispatch=(e,t)=>{var n,o;const[r="",s=""]=t.split("/");let a=[];reactionsMap[e]&&(r==="valChange"?a=reactionsMap[e].fns:(o=(n=reactionsMap[e])==null?void 0:n[r])!=null&&o[s]&&(a=reactionsMap[e][r][s]),a.forEach(i=>{i()}))};function getDefaultExportFromCjs(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var ajv$1={exports:{}},core$2={},validate$1={},boolSchema={},errors={},codegen={},code$1={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.regexpCode=e.getEsmExportName=e.getProperty=e.safeStringify=e.stringify=e.strConcat=e.addCodeArg=e.str=e._=e.nil=e._Code=e.Name=e.IDENTIFIER=e._CodeOrName=void 0;class t{}e._CodeOrName=t,e.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;class r extends t{constructor(g){if(super(),!e.IDENTIFIER.test(g))throw new Error("CodeGen: name must be a valid identifier");this.str=g}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}}e.Name=r;class s extends t{constructor(g){super(),this._items=typeof g=="string"?[g]:g}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;const g=this._items[0];return g===""||g==='""'}get str(){var g;return(g=this._str)!==null&&g!==void 0?g:this._str=this._items.reduce((E,k)=>`${E}${k}`,"")}get names(){var g;return(g=this._names)!==null&&g!==void 0?g:this._names=this._items.reduce((E,k)=>(k instanceof r&&(E[k.str]=(E[k.str]||0)+1),E),{})}}e._Code=s,e.nil=new s("");function a(p,...g){const E=[p[0]];let k=0;for(;k<g.length;)i(E,g[k]),E.push(p[++k]);return new s(E)}e._=a;const n=new s("+");function o(p,...g){const E=[b(p[0])];let k=0;for(;k<g.length;)E.push(n),i(E,g[k]),E.push(n,b(p[++k]));return d(E),new s(E)}e.str=o;function i(p,g){g instanceof s?p.push(...g._items):g instanceof r?p.push(g):p.push(f(g))}e.addCodeArg=i;function d(p){let g=1;for(;g<p.length-1;){if(p[g]===n){const E=l(p[g-1],p[g+1]);if(E!==void 0){p.splice(g-1,3,E);continue}p[g++]="+"}g++}}function l(p,g){if(g==='""')return p;if(p==='""')return g;if(typeof p=="string")return g instanceof r||p[p.length-1]!=='"'?void 0:typeof g!="string"?`${p.slice(0,-1)}${g}"`:g[0]==='"'?p.slice(0,-1)+g.slice(1):void 0;if(typeof g=="string"&&g[0]==='"'&&!(p instanceof r))return`"${p}${g.slice(1)}`}function u(p,g){return g.emptyStr()?p:p.emptyStr()?g:o`${p}${g}`}e.strConcat=u;function f(p){return typeof p=="number"||typeof p=="boolean"||p===null?p:b(Array.isArray(p)?p.join(","):p)}function w(p){return new s(b(p))}e.stringify=w;function b(p){return JSON.stringify(p).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}e.safeStringify=b;function y(p){return typeof p=="string"&&e.IDENTIFIER.test(p)?new s(`.${p}`):a`[${p}]`}e.getProperty=y;function _(p){if(typeof p=="string"&&e.IDENTIFIER.test(p))return new s(`${p}`);throw new Error(`CodeGen: invalid export name: ${p}, use explicit $id name mapping`)}e.getEsmExportName=_;function m(p){return new s(p.toString())}e.regexpCode=m})(code$1);var scope={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ValueScope=e.ValueScopeName=e.Scope=e.varKinds=e.UsedValueState=void 0;const t=code$1;class r extends Error{constructor(l){super(`CodeGen: "code" for ${l} not defined`),this.value=l.value}}var s;(function(d){d[d.Started=0]="Started",d[d.Completed=1]="Completed"})(s||(e.UsedValueState=s={})),e.varKinds={const:new t.Name("const"),let:new t.Name("let"),var:new t.Name("var")};class a{constructor({prefixes:l,parent:u}={}){this._names={},this._prefixes=l,this._parent=u}toName(l){return l instanceof t.Name?l:this.name(l)}name(l){return new t.Name(this._newName(l))}_newName(l){const u=this._names[l]||this._nameGroup(l);return`${l}${u.index++}`}_nameGroup(l){var u,f;if(!((f=(u=this._parent)===null||u===void 0?void 0:u._prefixes)===null||f===void 0)&&f.has(l)||this._prefixes&&!this._prefixes.has(l))throw new Error(`CodeGen: prefix "${l}" is not allowed in this scope`);return this._names[l]={prefix:l,index:0}}}e.Scope=a;class n extends t.Name{constructor(l,u){super(u),this.prefix=l}setValue(l,{property:u,itemIndex:f}){this.value=l,this.scopePath=(0,t._)`.${new t.Name(u)}[${f}]`}}e.ValueScopeName=n;const o=(0,t._)`\n`;class i extends a{constructor(l){super(l),this._values={},this._scope=l.scope,this.opts={...l,_n:l.lines?o:t.nil}}get(){return this._scope}name(l){return new n(l,this._newName(l))}value(l,u){var f;if(u.ref===void 0)throw new Error("CodeGen: ref must be passed in value");const w=this.toName(l),{prefix:b}=w,y=(f=u.key)!==null&&f!==void 0?f:u.ref;let _=this._values[b];if(_){const g=_.get(y);if(g)return g}else _=this._values[b]=new Map;_.set(y,w);const m=this._scope[b]||(this._scope[b]=[]),p=m.length;return m[p]=u.ref,w.setValue(u,{property:b,itemIndex:p}),w}getValue(l,u){const f=this._values[l];if(f)return f.get(u)}scopeRefs(l,u=this._values){return this._reduceValues(u,f=>{if(f.scopePath===void 0)throw new Error(`CodeGen: name "${f}" has no value`);return(0,t._)`${l}${f.scopePath}`})}scopeCode(l=this._values,u,f){return this._reduceValues(l,w=>{if(w.value===void 0)throw new Error(`CodeGen: name "${w}" has no value`);return w.value.code},u,f)}_reduceValues(l,u,f={},w){let b=t.nil;for(const y in l){const _=l[y];if(!_)continue;const m=f[y]=f[y]||new Map;_.forEach(p=>{if(m.has(p))return;m.set(p,s.Started);let g=u(p);if(g){const E=this.opts.es5?e.varKinds.var:e.varKinds.const;b=(0,t._)`${b}${E} ${p} = ${g};${this.opts._n}`}else if(g=w==null?void 0:w(p))b=(0,t._)`${b}${g}${this.opts._n}`;else throw new r(p);m.set(p,s.Completed)})}return b}}e.ValueScope=i})(scope),function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.or=e.and=e.not=e.CodeGen=e.operators=e.varKinds=e.ValueScopeName=e.ValueScope=e.Scope=e.Name=e.regexpCode=e.stringify=e.getProperty=e.nil=e.strConcat=e.str=e._=void 0;const t=code$1,r=scope;var s=code$1;Object.defineProperty(e,"_",{enumerable:!0,get:function(){return s._}}),Object.defineProperty(e,"str",{enumerable:!0,get:function(){return s.str}}),Object.defineProperty(e,"strConcat",{enumerable:!0,get:function(){return s.strConcat}}),Object.defineProperty(e,"nil",{enumerable:!0,get:function(){return s.nil}}),Object.defineProperty(e,"getProperty",{enumerable:!0,get:function(){return s.getProperty}}),Object.defineProperty(e,"stringify",{enumerable:!0,get:function(){return s.stringify}}),Object.defineProperty(e,"regexpCode",{enumerable:!0,get:function(){return s.regexpCode}}),Object.defineProperty(e,"Name",{enumerable:!0,get:function(){return s.Name}});var a=scope;Object.defineProperty(e,"Scope",{enumerable:!0,get:function(){return a.Scope}}),Object.defineProperty(e,"ValueScope",{enumerable:!0,get:function(){return a.ValueScope}}),Object.defineProperty(e,"ValueScopeName",{enumerable:!0,get:function(){return a.ValueScopeName}}),Object.defineProperty(e,"varKinds",{enumerable:!0,get:function(){return a.varKinds}}),e.operators={GT:new t._Code(">"),GTE:new t._Code(">="),LT:new t._Code("<"),LTE:new t._Code("<="),EQ:new t._Code("==="),NEQ:new t._Code("!=="),NOT:new t._Code("!"),OR:new t._Code("||"),AND:new t._Code("&&"),ADD:new t._Code("+")};class n{optimizeNodes(){return this}optimizeNames(c,h){return this}}class o extends n{constructor(c,h,S){super(),this.varKind=c,this.name=h,this.rhs=S}render({es5:c,_n:h}){const S=c?r.varKinds.var:this.varKind,N=this.rhs===void 0?"":` = ${this.rhs}`;return`${S} ${this.name}${N};`+h}optimizeNames(c,h){if(c[this.name.str])return this.rhs&&(this.rhs=x(this.rhs,c,h)),this}get names(){return this.rhs instanceof t._CodeOrName?this.rhs.names:{}}}class i extends n{constructor(c,h,S){super(),this.lhs=c,this.rhs=h,this.sideEffects=S}render({_n:c}){return`${this.lhs} = ${this.rhs};`+c}optimizeNames(c,h){if(!(this.lhs instanceof t.Name&&!c[this.lhs.str]&&!this.sideEffects))return this.rhs=x(this.rhs,c,h),this}get names(){const c=this.lhs instanceof t.Name?{}:{...this.lhs.names};return K(c,this.rhs)}}class d extends i{constructor(c,h,S,N){super(c,S,N),this.op=h}render({_n:c}){return`${this.lhs} ${this.op}= ${this.rhs};`+c}}class l extends n{constructor(c){super(),this.label=c,this.names={}}render({_n:c}){return`${this.label}:`+c}}class u extends n{constructor(c){super(),this.label=c,this.names={}}render({_n:c}){return`break${this.label?` ${this.label}`:""};`+c}}class f extends n{constructor(c){super(),this.error=c}render({_n:c}){return`throw ${this.error};`+c}get names(){return this.error.names}}class w extends n{constructor(c){super(),this.code=c}render({_n:c}){return`${this.code};`+c}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(c,h){return this.code=x(this.code,c,h),this}get names(){return this.code instanceof t._CodeOrName?this.code.names:{}}}class b extends n{constructor(c=[]){super(),this.nodes=c}render(c){return this.nodes.reduce((h,S)=>h+S.render(c),"")}optimizeNodes(){const{nodes:c}=this;let h=c.length;for(;h--;){const S=c[h].optimizeNodes();Array.isArray(S)?c.splice(h,1,...S):S?c[h]=S:c.splice(h,1)}return c.length>0?this:void 0}optimizeNames(c,h){const{nodes:S}=this;let N=S.length;for(;N--;){const j=S[N];j.optimizeNames(c,h)||(G(c,j.names),S.splice(N,1))}return S.length>0?this:void 0}get names(){return this.nodes.reduce((c,h)=>A(c,h.names),{})}}class y extends b{render(c){return"{"+c._n+super.render(c)+"}"+c._n}}class _ extends b{}class m extends y{}m.kind="else";class p extends y{constructor(c,h){super(h),this.condition=c}render(c){let h=`if(${this.condition})`+super.render(c);return this.else&&(h+="else "+this.else.render(c)),h}optimizeNodes(){super.optimizeNodes();const c=this.condition;if(c===!0)return this.nodes;let h=this.else;if(h){const S=h.optimizeNodes();h=this.else=Array.isArray(S)?new m(S):S}if(h)return c===!1?h instanceof p?h:h.nodes:this.nodes.length?this:new p(J(c),h instanceof p?[h]:h.nodes);if(!(c===!1||!this.nodes.length))return this}optimizeNames(c,h){var S;if(this.else=(S=this.else)===null||S===void 0?void 0:S.optimizeNames(c,h),!!(super.optimizeNames(c,h)||this.else))return this.condition=x(this.condition,c,h),this}get names(){const c=super.names;return K(c,this.condition),this.else&&A(c,this.else.names),c}}p.kind="if";class g extends y{}g.kind="for";class E extends g{constructor(c){super(),this.iteration=c}render(c){return`for(${this.iteration})`+super.render(c)}optimizeNames(c,h){if(super.optimizeNames(c,h))return this.iteration=x(this.iteration,c,h),this}get names(){return A(super.names,this.iteration.names)}}class k extends g{constructor(c,h,S,N){super(),this.varKind=c,this.name=h,this.from=S,this.to=N}render(c){const h=c.es5?r.varKinds.var:this.varKind,{name:S,from:N,to:j}=this;return`for(${h} ${S}=${N}; ${S}<${j}; ${S}++)`+super.render(c)}get names(){const c=K(super.names,this.from);return K(c,this.to)}}class T extends g{constructor(c,h,S,N){super(),this.loop=c,this.varKind=h,this.name=S,this.iterable=N}render(c){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(c)}optimizeNames(c,h){if(super.optimizeNames(c,h))return this.iterable=x(this.iterable,c,h),this}get names(){return A(super.names,this.iterable.names)}}class I extends y{constructor(c,h,S){super(),this.name=c,this.args=h,this.async=S}render(c){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(c)}}I.kind="func";class M extends b{render(c){return"return "+super.render(c)}}M.kind="return";class W extends y{render(c){let h="try"+super.render(c);return this.catch&&(h+=this.catch.render(c)),this.finally&&(h+=this.finally.render(c)),h}optimizeNodes(){var c,h;return super.optimizeNodes(),(c=this.catch)===null||c===void 0||c.optimizeNodes(),(h=this.finally)===null||h===void 0||h.optimizeNodes(),this}optimizeNames(c,h){var S,N;return super.optimizeNames(c,h),(S=this.catch)===null||S===void 0||S.optimizeNames(c,h),(N=this.finally)===null||N===void 0||N.optimizeNames(c,h),this}get names(){const c=super.names;return this.catch&&A(c,this.catch.names),this.finally&&A(c,this.finally.names),c}}class C extends y{constructor(c){super(),this.error=c}render(c){return`catch(${this.error})`+super.render(c)}}C.kind="catch";class R extends y{render(c){return"finally"+super.render(c)}}R.kind="finally";class F{constructor(c,h={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...h,_n:h.lines?`
|
|
4
|
-
`:""},this._extScope=c,this._scope=new r.Scope({parent:c}),this._nodes=[new _]}toString(){return this._root.render(this.opts)}name(c){return this._scope.name(c)}scopeName(c){return this._extScope.name(c)}scopeValue(c,h){const S=this._extScope.value(c,h);return(this._values[S.prefix]||(this._values[S.prefix]=new Set)).add(S),S}getScopeValue(c,h){return this._extScope.getValue(c,h)}scopeRefs(c){return this._extScope.scopeRefs(c,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(c,h,S,N){const j=this._scope.toName(h);return S!==void 0&&N&&(this._constants[j.str]=S),this._leafNode(new o(c,j,S)),j}const(c,h,S){return this._def(r.varKinds.const,c,h,S)}let(c,h,S){return this._def(r.varKinds.let,c,h,S)}var(c,h,S){return this._def(r.varKinds.var,c,h,S)}assign(c,h,S){return this._leafNode(new i(c,h,S))}add(c,h){return this._leafNode(new d(c,e.operators.ADD,h))}code(c){return typeof c=="function"?c():c!==t.nil&&this._leafNode(new w(c)),this}object(...c){const h=["{"];for(const[S,N]of c)h.length>1&&h.push(","),h.push(S),(S!==N||this.opts.es5)&&(h.push(":"),(0,t.addCodeArg)(h,N));return h.push("}"),new t._Code(h)}if(c,h,S){if(this._blockNode(new p(c)),h&&S)this.code(h).else().code(S).endIf();else if(h)this.code(h).endIf();else if(S)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(c){return this._elseNode(new p(c))}else(){return this._elseNode(new m)}endIf(){return this._endBlockNode(p,m)}_for(c,h){return this._blockNode(c),h&&this.code(h).endFor(),this}for(c,h){return this._for(new E(c),h)}forRange(c,h,S,N,j=this.opts.es5?r.varKinds.var:r.varKinds.let){const V=this._scope.toName(c);return this._for(new k(j,V,h,S),()=>N(V))}forOf(c,h,S,N=r.varKinds.const){const j=this._scope.toName(c);if(this.opts.es5){const V=h instanceof t.Name?h:this.var("_arr",h);return this.forRange("_i",0,(0,t._)`${V}.length`,D=>{this.var(j,(0,t._)`${V}[${D}]`),S(j)})}return this._for(new T("of",N,j,h),()=>S(j))}forIn(c,h,S,N=this.opts.es5?r.varKinds.var:r.varKinds.const){if(this.opts.ownProperties)return this.forOf(c,(0,t._)`Object.keys(${h})`,S);const j=this._scope.toName(c);return this._for(new T("in",N,j,h),()=>S(j))}endFor(){return this._endBlockNode(g)}label(c){return this._leafNode(new l(c))}break(c){return this._leafNode(new u(c))}return(c){const h=new M;if(this._blockNode(h),this.code(c),h.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(M)}try(c,h,S){if(!h&&!S)throw new Error('CodeGen: "try" without "catch" and "finally"');const N=new W;if(this._blockNode(N),this.code(c),h){const j=this.name("e");this._currNode=N.catch=new C(j),h(j)}return S&&(this._currNode=N.finally=new R,this.code(S)),this._endBlockNode(C,R)}throw(c){return this._leafNode(new f(c))}block(c,h){return this._blockStarts.push(this._nodes.length),c&&this.code(c).endBlock(h),this}endBlock(c){const h=this._blockStarts.pop();if(h===void 0)throw new Error("CodeGen: not in self-balancing block");const S=this._nodes.length-h;if(S<0||c!==void 0&&S!==c)throw new Error(`CodeGen: wrong number of nodes: ${S} vs ${c} expected`);return this._nodes.length=h,this}func(c,h=t.nil,S,N){return this._blockNode(new I(c,h,S)),N&&this.code(N).endFunc(),this}endFunc(){return this._endBlockNode(I)}optimize(c=1){for(;c-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(c){return this._currNode.nodes.push(c),this}_blockNode(c){this._currNode.nodes.push(c),this._nodes.push(c)}_endBlockNode(c,h){const S=this._currNode;if(S instanceof c||h&&S instanceof h)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${h?`${c.kind}/${h.kind}`:c.kind}"`)}_elseNode(c){const h=this._currNode;if(!(h instanceof p))throw new Error('CodeGen: "else" without "if"');return this._currNode=h.else=c,this}get _root(){return this._nodes[0]}get _currNode(){const c=this._nodes;return c[c.length-1]}set _currNode(c){const h=this._nodes;h[h.length-1]=c}}e.CodeGen=F;function A(v,c){for(const h in c)v[h]=(v[h]||0)+(c[h]||0);return v}function K(v,c){return c instanceof t._CodeOrName?A(v,c.names):v}function x(v,c,h){if(v instanceof t.Name)return S(v);if(!N(v))return v;return new t._Code(v._items.reduce((j,V)=>(V instanceof t.Name&&(V=S(V)),V instanceof t._Code?j.push(...V._items):j.push(V),j),[]));function S(j){const V=h[j.str];return V===void 0||c[j.str]!==1?j:(delete c[j.str],V)}function N(j){return j instanceof t._Code&&j._items.some(V=>V instanceof t.Name&&c[V.str]===1&&h[V.str]!==void 0)}}function G(v,c){for(const h in c)v[h]=(v[h]||0)-(c[h]||0)}function J(v){return typeof v=="boolean"||typeof v=="number"||v===null?!v:(0,t._)`!${P(v)}`}e.not=J;const Z=$(e.operators.AND);function Y(...v){return v.reduce(Z)}e.and=Y;const X=$(e.operators.OR);function O(...v){return v.reduce(X)}e.or=O;function $(v){return(c,h)=>c===t.nil?h:h===t.nil?c:(0,t._)`${P(c)} ${v} ${P(h)}`}function P(v){return v instanceof t.Name?v:(0,t._)`(${v})`}}(codegen);var util={};Object.defineProperty(util,"__esModule",{value:!0}),util.checkStrictMode=util.getErrorPath=util.Type=util.useFunc=util.setEvaluated=util.evaluatedPropsToName=util.mergeEvaluated=util.eachItem=util.unescapeJsonPointer=util.escapeJsonPointer=util.escapeFragment=util.unescapeFragment=util.schemaRefOrVal=util.schemaHasRulesButRef=util.schemaHasRules=util.checkUnknownRules=util.alwaysValidSchema=util.toHash=void 0;const codegen_1$v=codegen,code_1$a=code$1;function toHash(e){const t={};for(const r of e)t[r]=!0;return t}util.toHash=toHash;function alwaysValidSchema(e,t){return typeof t=="boolean"?t:Object.keys(t).length===0?!0:(checkUnknownRules(e,t),!schemaHasRules(t,e.self.RULES.all))}util.alwaysValidSchema=alwaysValidSchema;function checkUnknownRules(e,t=e.schema){const{opts:r,self:s}=e;if(!r.strictSchema||typeof t=="boolean")return;const a=s.RULES.keywords;for(const n in t)a[n]||checkStrictMode(e,`unknown keyword: "${n}"`)}util.checkUnknownRules=checkUnknownRules;function schemaHasRules(e,t){if(typeof e=="boolean")return!e;for(const r in e)if(t[r])return!0;return!1}util.schemaHasRules=schemaHasRules;function schemaHasRulesButRef(e,t){if(typeof e=="boolean")return!e;for(const r in e)if(r!=="$ref"&&t.all[r])return!0;return!1}util.schemaHasRulesButRef=schemaHasRulesButRef;function schemaRefOrVal({topSchemaRef:e,schemaPath:t},r,s,a){if(!a){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return(0,codegen_1$v._)`${r}`}return(0,codegen_1$v._)`${e}${t}${(0,codegen_1$v.getProperty)(s)}`}util.schemaRefOrVal=schemaRefOrVal;function unescapeFragment(e){return unescapeJsonPointer(decodeURIComponent(e))}util.unescapeFragment=unescapeFragment;function escapeFragment(e){return encodeURIComponent(escapeJsonPointer(e))}util.escapeFragment=escapeFragment;function escapeJsonPointer(e){return typeof e=="number"?`${e}`:e.replace(/~/g,"~0").replace(/\//g,"~1")}util.escapeJsonPointer=escapeJsonPointer;function unescapeJsonPointer(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}util.unescapeJsonPointer=unescapeJsonPointer;function eachItem(e,t){if(Array.isArray(e))for(const r of e)t(r);else t(e)}util.eachItem=eachItem;function makeMergeEvaluated({mergeNames:e,mergeToName:t,mergeValues:r,resultToName:s}){return(a,n,o,i)=>{const d=o===void 0?n:o instanceof codegen_1$v.Name?(n instanceof codegen_1$v.Name?e(a,n,o):t(a,n,o),o):n instanceof codegen_1$v.Name?(t(a,o,n),n):r(n,o);return i===codegen_1$v.Name&&!(d instanceof codegen_1$v.Name)?s(a,d):d}}util.mergeEvaluated={props:makeMergeEvaluated({mergeNames:(e,t,r)=>e.if((0,codegen_1$v._)`${r} !== true && ${t} !== undefined`,()=>{e.if((0,codegen_1$v._)`${t} === true`,()=>e.assign(r,!0),()=>e.assign(r,(0,codegen_1$v._)`${r} || {}`).code((0,codegen_1$v._)`Object.assign(${r}, ${t})`))}),mergeToName:(e,t,r)=>e.if((0,codegen_1$v._)`${r} !== true`,()=>{t===!0?e.assign(r,!0):(e.assign(r,(0,codegen_1$v._)`${r} || {}`),setEvaluated(e,r,t))}),mergeValues:(e,t)=>e===!0?!0:{...e,...t},resultToName:evaluatedPropsToName}),items:makeMergeEvaluated({mergeNames:(e,t,r)=>e.if((0,codegen_1$v._)`${r} !== true && ${t} !== undefined`,()=>e.assign(r,(0,codegen_1$v._)`${t} === true ? true : ${r} > ${t} ? ${r} : ${t}`)),mergeToName:(e,t,r)=>e.if((0,codegen_1$v._)`${r} !== true`,()=>e.assign(r,t===!0?!0:(0,codegen_1$v._)`${r} > ${t} ? ${r} : ${t}`)),mergeValues:(e,t)=>e===!0?!0:Math.max(e,t),resultToName:(e,t)=>e.var("items",t)})};function evaluatedPropsToName(e,t){if(t===!0)return e.var("props",!0);const r=e.var("props",(0,codegen_1$v._)`{}`);return t!==void 0&&setEvaluated(e,r,t),r}util.evaluatedPropsToName=evaluatedPropsToName;function setEvaluated(e,t,r){Object.keys(r).forEach(s=>e.assign((0,codegen_1$v._)`${t}${(0,codegen_1$v.getProperty)(s)}`,!0))}util.setEvaluated=setEvaluated;const snippets={};function useFunc(e,t){return e.scopeValue("func",{ref:t,code:snippets[t.code]||(snippets[t.code]=new code_1$a._Code(t.code))})}util.useFunc=useFunc;var Type;(function(e){e[e.Num=0]="Num",e[e.Str=1]="Str"})(Type||(util.Type=Type={}));function getErrorPath(e,t,r){if(e instanceof codegen_1$v.Name){const s=t===Type.Num;return r?s?(0,codegen_1$v._)`"[" + ${e} + "]"`:(0,codegen_1$v._)`"['" + ${e} + "']"`:s?(0,codegen_1$v._)`"/" + ${e}`:(0,codegen_1$v._)`"/" + ${e}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0,codegen_1$v.getProperty)(e).toString():"/"+escapeJsonPointer(e)}util.getErrorPath=getErrorPath;function checkStrictMode(e,t,r=e.opts.strictSchema){if(r){if(t=`strict mode: ${t}`,r===!0)throw new Error(t);e.self.logger.warn(t)}}util.checkStrictMode=checkStrictMode;var names$1={};Object.defineProperty(names$1,"__esModule",{value:!0});const codegen_1$u=codegen,names={data:new codegen_1$u.Name("data"),valCxt:new codegen_1$u.Name("valCxt"),instancePath:new codegen_1$u.Name("instancePath"),parentData:new codegen_1$u.Name("parentData"),parentDataProperty:new codegen_1$u.Name("parentDataProperty"),rootData:new codegen_1$u.Name("rootData"),dynamicAnchors:new codegen_1$u.Name("dynamicAnchors"),vErrors:new codegen_1$u.Name("vErrors"),errors:new codegen_1$u.Name("errors"),this:new codegen_1$u.Name("this"),self:new codegen_1$u.Name("self"),scope:new codegen_1$u.Name("scope"),json:new codegen_1$u.Name("json"),jsonPos:new codegen_1$u.Name("jsonPos"),jsonLen:new codegen_1$u.Name("jsonLen"),jsonPart:new codegen_1$u.Name("jsonPart")};names$1.default=names,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.extendErrors=e.resetErrorsCount=e.reportExtraError=e.reportError=e.keyword$DataError=e.keywordError=void 0;const t=codegen,r=util,s=names$1;e.keywordError={message:({keyword:m})=>(0,t.str)`must pass "${m}" keyword validation`},e.keyword$DataError={message:({keyword:m,schemaType:p})=>p?(0,t.str)`"${m}" keyword must be ${p} ($data)`:(0,t.str)`"${m}" keyword is invalid ($data)`};function a(m,p=e.keywordError,g,E){const{it:k}=m,{gen:T,compositeRule:I,allErrors:M}=k,W=f(m,p,g);E??(I||M)?d(T,W):l(k,(0,t._)`[${W}]`)}e.reportError=a;function n(m,p=e.keywordError,g){const{it:E}=m,{gen:k,compositeRule:T,allErrors:I}=E,M=f(m,p,g);d(k,M),T||I||l(E,s.default.vErrors)}e.reportExtraError=n;function o(m,p){m.assign(s.default.errors,p),m.if((0,t._)`${s.default.vErrors} !== null`,()=>m.if(p,()=>m.assign((0,t._)`${s.default.vErrors}.length`,p),()=>m.assign(s.default.vErrors,null)))}e.resetErrorsCount=o;function i({gen:m,keyword:p,schemaValue:g,data:E,errsCount:k,it:T}){if(k===void 0)throw new Error("ajv implementation error");const I=m.name("err");m.forRange("i",k,s.default.errors,M=>{m.const(I,(0,t._)`${s.default.vErrors}[${M}]`),m.if((0,t._)`${I}.instancePath === undefined`,()=>m.assign((0,t._)`${I}.instancePath`,(0,t.strConcat)(s.default.instancePath,T.errorPath))),m.assign((0,t._)`${I}.schemaPath`,(0,t.str)`${T.errSchemaPath}/${p}`),T.opts.verbose&&(m.assign((0,t._)`${I}.schema`,g),m.assign((0,t._)`${I}.data`,E))})}e.extendErrors=i;function d(m,p){const g=m.const("err",p);m.if((0,t._)`${s.default.vErrors} === null`,()=>m.assign(s.default.vErrors,(0,t._)`[${g}]`),(0,t._)`${s.default.vErrors}.push(${g})`),m.code((0,t._)`${s.default.errors}++`)}function l(m,p){const{gen:g,validateName:E,schemaEnv:k}=m;k.$async?g.throw((0,t._)`new ${m.ValidationError}(${p})`):(g.assign((0,t._)`${E}.errors`,p),g.return(!1))}const u={keyword:new t.Name("keyword"),schemaPath:new t.Name("schemaPath"),params:new t.Name("params"),propertyName:new t.Name("propertyName"),message:new t.Name("message"),schema:new t.Name("schema"),parentSchema:new t.Name("parentSchema")};function f(m,p,g){const{createErrors:E}=m.it;return E===!1?(0,t._)`{}`:w(m,p,g)}function w(m,p,g={}){const{gen:E,it:k}=m,T=[b(k,g),y(m,g)];return _(m,p,T),E.object(...T)}function b({errorPath:m},{instancePath:p}){const g=p?(0,t.str)`${m}${(0,r.getErrorPath)(p,r.Type.Str)}`:m;return[s.default.instancePath,(0,t.strConcat)(s.default.instancePath,g)]}function y({keyword:m,it:{errSchemaPath:p}},{schemaPath:g,parentSchema:E}){let k=E?p:(0,t.str)`${p}/${m}`;return g&&(k=(0,t.str)`${k}${(0,r.getErrorPath)(g,r.Type.Str)}`),[u.schemaPath,k]}function _(m,{params:p,message:g},E){const{keyword:k,data:T,schemaValue:I,it:M}=m,{opts:W,propertyName:C,topSchemaRef:R,schemaPath:F}=M;E.push([u.keyword,k],[u.params,typeof p=="function"?p(m):p||(0,t._)`{}`]),W.messages&&E.push([u.message,typeof g=="function"?g(m):g]),W.verbose&&E.push([u.schema,I],[u.parentSchema,(0,t._)`${R}${F}`],[s.default.data,T]),C&&E.push([u.propertyName,C])}}(errors),Object.defineProperty(boolSchema,"__esModule",{value:!0}),boolSchema.boolOrEmptySchema=boolSchema.topBoolOrEmptySchema=void 0;const errors_1$3=errors,codegen_1$t=codegen,names_1$6=names$1,boolError={message:"boolean schema is false"};function topBoolOrEmptySchema(e){const{gen:t,schema:r,validateName:s}=e;r===!1?falseSchemaError(e,!1):typeof r=="object"&&r.$async===!0?t.return(names_1$6.default.data):(t.assign((0,codegen_1$t._)`${s}.errors`,null),t.return(!0))}boolSchema.topBoolOrEmptySchema=topBoolOrEmptySchema;function boolOrEmptySchema(e,t){const{gen:r,schema:s}=e;s===!1?(r.var(t,!1),falseSchemaError(e)):r.var(t,!0)}boolSchema.boolOrEmptySchema=boolOrEmptySchema;function falseSchemaError(e,t){const{gen:r,data:s}=e,a={gen:r,keyword:"false schema",data:s,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:e};(0,errors_1$3.reportError)(a,boolError,void 0,t)}var dataType={},rules={};Object.defineProperty(rules,"__esModule",{value:!0}),rules.getRules=rules.isJSONType=void 0;const _jsonTypes=["string","number","integer","boolean","null","object","array"],jsonTypes=new Set(_jsonTypes);function isJSONType(e){return typeof e=="string"&&jsonTypes.has(e)}rules.isJSONType=isJSONType;function getRules(){const e={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...e,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},e.number,e.string,e.array,e.object],post:{rules:[]},all:{},keywords:{}}}rules.getRules=getRules;var applicability={};Object.defineProperty(applicability,"__esModule",{value:!0}),applicability.shouldUseRule=applicability.shouldUseGroup=applicability.schemaHasRulesForType=void 0;function schemaHasRulesForType({schema:e,self:t},r){const s=t.RULES.types[r];return s&&s!==!0&&shouldUseGroup(e,s)}applicability.schemaHasRulesForType=schemaHasRulesForType;function shouldUseGroup(e,t){return t.rules.some(r=>shouldUseRule(e,r))}applicability.shouldUseGroup=shouldUseGroup;function shouldUseRule(e,t){var r;return e[t.keyword]!==void 0||((r=t.definition.implements)===null||r===void 0?void 0:r.some(s=>e[s]!==void 0))}applicability.shouldUseRule=shouldUseRule,Object.defineProperty(dataType,"__esModule",{value:!0}),dataType.reportTypeError=dataType.checkDataTypes=dataType.checkDataType=dataType.coerceAndCheckDataType=dataType.getJSONTypes=dataType.getSchemaTypes=dataType.DataType=void 0;const rules_1=rules,applicability_1$1=applicability,errors_1$2=errors,codegen_1$s=codegen,util_1$q=util;var DataType;(function(e){e[e.Correct=0]="Correct",e[e.Wrong=1]="Wrong"})(DataType||(dataType.DataType=DataType={}));function getSchemaTypes(e){const t=getJSONTypes(e.type);if(t.includes("null")){if(e.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!t.length&&e.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');e.nullable===!0&&t.push("null")}return t}dataType.getSchemaTypes=getSchemaTypes;function getJSONTypes(e){const t=Array.isArray(e)?e:e?[e]:[];if(t.every(rules_1.isJSONType))return t;throw new Error("type must be JSONType or JSONType[]: "+t.join(","))}dataType.getJSONTypes=getJSONTypes;function coerceAndCheckDataType(e,t){const{gen:r,data:s,opts:a}=e,n=coerceToTypes(t,a.coerceTypes),o=t.length>0&&!(n.length===0&&t.length===1&&(0,applicability_1$1.schemaHasRulesForType)(e,t[0]));if(o){const i=checkDataTypes(t,s,a.strictNumbers,DataType.Wrong);r.if(i,()=>{n.length?coerceData(e,t,n):reportTypeError(e)})}return o}dataType.coerceAndCheckDataType=coerceAndCheckDataType;const COERCIBLE=new Set(["string","number","integer","boolean","null"]);function coerceToTypes(e,t){return t?e.filter(r=>COERCIBLE.has(r)||t==="array"&&r==="array"):[]}function coerceData(e,t,r){const{gen:s,data:a,opts:n}=e,o=s.let("dataType",(0,codegen_1$s._)`typeof ${a}`),i=s.let("coerced",(0,codegen_1$s._)`undefined`);n.coerceTypes==="array"&&s.if((0,codegen_1$s._)`${o} == 'object' && Array.isArray(${a}) && ${a}.length == 1`,()=>s.assign(a,(0,codegen_1$s._)`${a}[0]`).assign(o,(0,codegen_1$s._)`typeof ${a}`).if(checkDataTypes(t,a,n.strictNumbers),()=>s.assign(i,a))),s.if((0,codegen_1$s._)`${i} !== undefined`);for(const l of r)(COERCIBLE.has(l)||l==="array"&&n.coerceTypes==="array")&&d(l);s.else(),reportTypeError(e),s.endIf(),s.if((0,codegen_1$s._)`${i} !== undefined`,()=>{s.assign(a,i),assignParentData(e,i)});function d(l){switch(l){case"string":s.elseIf((0,codegen_1$s._)`${o} == "number" || ${o} == "boolean"`).assign(i,(0,codegen_1$s._)`"" + ${a}`).elseIf((0,codegen_1$s._)`${a} === null`).assign(i,(0,codegen_1$s._)`""`);return;case"number":s.elseIf((0,codegen_1$s._)`${o} == "boolean" || ${a} === null
|
|
5
|
-
|| (${
|
|
6
|
-
|| (${o} === "string" && ${a} && ${a} == +${a} && !(${a} % 1))`).assign(i,(0,codegen_1$s._)`+${a}`);return;case"boolean":s.elseIf((0,codegen_1$s._)`${a} === "false" || ${a} === 0 || ${a} === null`).assign(i,!1).elseIf((0,codegen_1$s._)`${a} === "true" || ${a} === 1`).assign(i,!0);return;case"null":s.elseIf((0,codegen_1$s._)`${a} === "" || ${a} === 0 || ${a} === false`),s.assign(i,null);return;case"array":s.elseIf((0,codegen_1$s._)`${o} === "string" || ${o} === "number"
|
|
7
|
-
|| ${o} === "boolean" || ${a} === null`).assign(i,(0,codegen_1$s._)`[${a}]`)}}}function assignParentData({gen:e,parentData:t,parentDataProperty:r},s){e.if((0,codegen_1$s._)`${t} !== undefined`,()=>e.assign((0,codegen_1$s._)`${t}[${r}]`,s))}function checkDataType(e,t,r,s=DataType.Correct){const a=s===DataType.Correct?codegen_1$s.operators.EQ:codegen_1$s.operators.NEQ;let n;switch(e){case"null":return(0,codegen_1$s._)`${t} ${a} null`;case"array":n=(0,codegen_1$s._)`Array.isArray(${t})`;break;case"object":n=(0,codegen_1$s._)`${t} && typeof ${t} == "object" && !Array.isArray(${t})`;break;case"integer":n=o((0,codegen_1$s._)`!(${t} % 1) && !isNaN(${t})`);break;case"number":n=o();break;default:return(0,codegen_1$s._)`typeof ${t} ${a} ${e}`}return s===DataType.Correct?n:(0,codegen_1$s.not)(n);function o(i=codegen_1$s.nil){return(0,codegen_1$s.and)((0,codegen_1$s._)`typeof ${t} == "number"`,i,r?(0,codegen_1$s._)`isFinite(${t})`:codegen_1$s.nil)}}dataType.checkDataType=checkDataType;function checkDataTypes(e,t,r,s){if(e.length===1)return checkDataType(e[0],t,r,s);let a;const n=(0,util_1$q.toHash)(e);if(n.array&&n.object){const o=(0,codegen_1$s._)`typeof ${t} != "object"`;a=n.null?o:(0,codegen_1$s._)`!${t} || ${o}`,delete n.null,delete n.array,delete n.object}else a=codegen_1$s.nil;n.number&&delete n.integer;for(const o in n)a=(0,codegen_1$s.and)(a,checkDataType(o,t,r,s));return a}dataType.checkDataTypes=checkDataTypes;const typeError={message:({schema:e})=>`must be ${e}`,params:({schema:e,schemaValue:t})=>typeof e=="string"?(0,codegen_1$s._)`{type: ${e}}`:(0,codegen_1$s._)`{type: ${t}}`};function reportTypeError(e){const t=getTypeErrorContext(e);(0,errors_1$2.reportError)(t,typeError)}dataType.reportTypeError=reportTypeError;function getTypeErrorContext(e){const{gen:t,data:r,schema:s}=e,a=(0,util_1$q.schemaRefOrVal)(e,s,"type");return{gen:t,keyword:"type",data:r,schema:s.type,schemaCode:a,schemaValue:a,parentSchema:s,params:{},it:e}}var defaults={};Object.defineProperty(defaults,"__esModule",{value:!0}),defaults.assignDefaults=void 0;const codegen_1$r=codegen,util_1$p=util;function assignDefaults(e,t){const{properties:r,items:s}=e.schema;if(t==="object"&&r)for(const a in r)assignDefault(e,a,r[a].default);else t==="array"&&Array.isArray(s)&&s.forEach((a,n)=>assignDefault(e,n,a.default))}defaults.assignDefaults=assignDefaults;function assignDefault(e,t,r){const{gen:s,compositeRule:a,data:n,opts:o}=e;if(r===void 0)return;const i=(0,codegen_1$r._)`${n}${(0,codegen_1$r.getProperty)(t)}`;if(a){(0,util_1$p.checkStrictMode)(e,`default is ignored for: ${i}`);return}let d=(0,codegen_1$r._)`${i} === undefined`;o.useDefaults==="empty"&&(d=(0,codegen_1$r._)`${d} || ${i} === null || ${i} === ""`),s.if(d,(0,codegen_1$r._)`${i} = ${(0,codegen_1$r.stringify)(r)}`)}var keyword={},code={};Object.defineProperty(code,"__esModule",{value:!0}),code.validateUnion=code.validateArray=code.usePattern=code.callValidateCode=code.schemaProperties=code.allSchemaProperties=code.noPropertyInData=code.propertyInData=code.isOwnProperty=code.hasPropFunc=code.reportMissingProp=code.checkMissingProp=code.checkReportMissingProp=void 0;const codegen_1$q=codegen,util_1$o=util,names_1$5=names$1,util_2$1=util;function checkReportMissingProp(e,t){const{gen:r,data:s,it:a}=e;r.if(noPropertyInData(r,s,t,a.opts.ownProperties),()=>{e.setParams({missingProperty:(0,codegen_1$q._)`${t}`},!0),e.error()})}code.checkReportMissingProp=checkReportMissingProp;function checkMissingProp({gen:e,data:t,it:{opts:r}},s,a){return(0,codegen_1$q.or)(...s.map(n=>(0,codegen_1$q.and)(noPropertyInData(e,t,n,r.ownProperties),(0,codegen_1$q._)`${a} = ${n}`)))}code.checkMissingProp=checkMissingProp;function reportMissingProp(e,t){e.setParams({missingProperty:t},!0),e.error()}code.reportMissingProp=reportMissingProp;function hasPropFunc(e){return e.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,codegen_1$q._)`Object.prototype.hasOwnProperty`})}code.hasPropFunc=hasPropFunc;function isOwnProperty(e,t,r){return(0,codegen_1$q._)`${hasPropFunc(e)}.call(${t}, ${r})`}code.isOwnProperty=isOwnProperty;function propertyInData(e,t,r,s){const a=(0,codegen_1$q._)`${t}${(0,codegen_1$q.getProperty)(r)} !== undefined`;return s?(0,codegen_1$q._)`${a} && ${isOwnProperty(e,t,r)}`:a}code.propertyInData=propertyInData;function noPropertyInData(e,t,r,s){const a=(0,codegen_1$q._)`${t}${(0,codegen_1$q.getProperty)(r)} === undefined`;return s?(0,codegen_1$q.or)(a,(0,codegen_1$q.not)(isOwnProperty(e,t,r))):a}code.noPropertyInData=noPropertyInData;function allSchemaProperties(e){return e?Object.keys(e).filter(t=>t!=="__proto__"):[]}code.allSchemaProperties=allSchemaProperties;function schemaProperties(e,t){return allSchemaProperties(t).filter(r=>!(0,util_1$o.alwaysValidSchema)(e,t[r]))}code.schemaProperties=schemaProperties;function callValidateCode({schemaCode:e,data:t,it:{gen:r,topSchemaRef:s,schemaPath:a,errorPath:n},it:o},i,d,l){const u=l?(0,codegen_1$q._)`${e}, ${t}, ${s}${a}`:t,f=[[names_1$5.default.instancePath,(0,codegen_1$q.strConcat)(names_1$5.default.instancePath,n)],[names_1$5.default.parentData,o.parentData],[names_1$5.default.parentDataProperty,o.parentDataProperty],[names_1$5.default.rootData,names_1$5.default.rootData]];o.opts.dynamicRef&&f.push([names_1$5.default.dynamicAnchors,names_1$5.default.dynamicAnchors]);const w=(0,codegen_1$q._)`${u}, ${r.object(...f)}`;return d!==codegen_1$q.nil?(0,codegen_1$q._)`${i}.call(${d}, ${w})`:(0,codegen_1$q._)`${i}(${w})`}code.callValidateCode=callValidateCode;const newRegExp=(0,codegen_1$q._)`new RegExp`;function usePattern({gen:e,it:{opts:t}},r){const s=t.unicodeRegExp?"u":"",{regExp:a}=t.code,n=a(r,s);return e.scopeValue("pattern",{key:n.toString(),ref:n,code:(0,codegen_1$q._)`${a.code==="new RegExp"?newRegExp:(0,util_2$1.useFunc)(e,a)}(${r}, ${s})`})}code.usePattern=usePattern;function validateArray(e){const{gen:t,data:r,keyword:s,it:a}=e,n=t.name("valid");if(a.allErrors){const i=t.let("valid",!0);return o(()=>t.assign(i,!1)),i}return t.var(n,!0),o(()=>t.break()),n;function o(i){const d=t.const("len",(0,codegen_1$q._)`${r}.length`);t.forRange("i",0,d,l=>{e.subschema({keyword:s,dataProp:l,dataPropType:util_1$o.Type.Num},n),t.if((0,codegen_1$q.not)(n),i)})}}code.validateArray=validateArray;function validateUnion(e){const{gen:t,schema:r,keyword:s,it:a}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(d=>(0,util_1$o.alwaysValidSchema)(a,d))&&!a.opts.unevaluated)return;const o=t.let("valid",!1),i=t.name("_valid");t.block(()=>r.forEach((d,l)=>{const u=e.subschema({keyword:s,schemaProp:l,compositeRule:!0},i);t.assign(o,(0,codegen_1$q._)`${o} || ${i}`),e.mergeValidEvaluated(u,i)||t.if((0,codegen_1$q.not)(o))})),e.result(o,()=>e.reset(),()=>e.error(!0))}code.validateUnion=validateUnion,Object.defineProperty(keyword,"__esModule",{value:!0}),keyword.validateKeywordUsage=keyword.validSchemaType=keyword.funcKeywordCode=keyword.macroKeywordCode=void 0;const codegen_1$p=codegen,names_1$4=names$1,code_1$9=code,errors_1$1=errors;function macroKeywordCode(e,t){const{gen:r,keyword:s,schema:a,parentSchema:n,it:o}=e,i=t.macro.call(o.self,a,n,o),d=useKeyword(r,s,i);o.opts.validateSchema!==!1&&o.self.validateSchema(i,!0);const l=r.name("valid");e.subschema({schema:i,schemaPath:codegen_1$p.nil,errSchemaPath:`${o.errSchemaPath}/${s}`,topSchemaRef:d,compositeRule:!0},l),e.pass(l,()=>e.error(!0))}keyword.macroKeywordCode=macroKeywordCode;function funcKeywordCode(e,t){var r;const{gen:s,keyword:a,schema:n,parentSchema:o,$data:i,it:d}=e;checkAsyncKeyword(d,t);const l=!i&&t.compile?t.compile.call(d.self,n,o,d):t.validate,u=useKeyword(s,a,l),f=s.let("valid");e.block$data(f,w),e.ok((r=t.valid)!==null&&r!==void 0?r:f);function w(){if(t.errors===!1)_(),t.modifying&&modifyData(e),m(()=>e.error());else{const p=t.async?b():y();t.modifying&&modifyData(e),m(()=>addErrs(e,p))}}function b(){const p=s.let("ruleErrs",null);return s.try(()=>_((0,codegen_1$p._)`await `),g=>s.assign(f,!1).if((0,codegen_1$p._)`${g} instanceof ${d.ValidationError}`,()=>s.assign(p,(0,codegen_1$p._)`${g}.errors`),()=>s.throw(g))),p}function y(){const p=(0,codegen_1$p._)`${u}.errors`;return s.assign(p,null),_(codegen_1$p.nil),p}function _(p=t.async?(0,codegen_1$p._)`await `:codegen_1$p.nil){const g=d.opts.passContext?names_1$4.default.this:names_1$4.default.self,E=!("compile"in t&&!i||t.schema===!1);s.assign(f,(0,codegen_1$p._)`${p}${(0,code_1$9.callValidateCode)(e,u,g,E)}`,t.modifying)}function m(p){var g;s.if((0,codegen_1$p.not)((g=t.valid)!==null&&g!==void 0?g:f),p)}}keyword.funcKeywordCode=funcKeywordCode;function modifyData(e){const{gen:t,data:r,it:s}=e;t.if(s.parentData,()=>t.assign(r,(0,codegen_1$p._)`${s.parentData}[${s.parentDataProperty}]`))}function addErrs(e,t){const{gen:r}=e;r.if((0,codegen_1$p._)`Array.isArray(${t})`,()=>{r.assign(names_1$4.default.vErrors,(0,codegen_1$p._)`${names_1$4.default.vErrors} === null ? ${t} : ${names_1$4.default.vErrors}.concat(${t})`).assign(names_1$4.default.errors,(0,codegen_1$p._)`${names_1$4.default.vErrors}.length`),(0,errors_1$1.extendErrors)(e)},()=>e.error())}function checkAsyncKeyword({schemaEnv:e},t){if(t.async&&!e.$async)throw new Error("async keyword in sync schema")}function useKeyword(e,t,r){if(r===void 0)throw new Error(`keyword "${t}" failed to compile`);return e.scopeValue("keyword",typeof r=="function"?{ref:r}:{ref:r,code:(0,codegen_1$p.stringify)(r)})}function validSchemaType(e,t,r=!1){return!t.length||t.some(s=>s==="array"?Array.isArray(e):s==="object"?e&&typeof e=="object"&&!Array.isArray(e):typeof e==s||r&&typeof e>"u")}keyword.validSchemaType=validSchemaType;function validateKeywordUsage({schema:e,opts:t,self:r,errSchemaPath:s},a,n){if(Array.isArray(a.keyword)?!a.keyword.includes(n):a.keyword!==n)throw new Error("ajv implementation error");const o=a.dependencies;if(o!=null&&o.some(i=>!Object.prototype.hasOwnProperty.call(e,i)))throw new Error(`parent schema must have dependencies of ${n}: ${o.join(",")}`);if(a.validateSchema&&!a.validateSchema(e[n])){const d=`keyword "${n}" value is invalid at path "${s}": `+r.errorsText(a.validateSchema.errors);if(t.validateSchema==="log")r.logger.error(d);else throw new Error(d)}}keyword.validateKeywordUsage=validateKeywordUsage;var subschema={};Object.defineProperty(subschema,"__esModule",{value:!0}),subschema.extendSubschemaMode=subschema.extendSubschemaData=subschema.getSubschema=void 0;const codegen_1$o=codegen,util_1$n=util;function getSubschema(e,{keyword:t,schemaProp:r,schema:s,schemaPath:a,errSchemaPath:n,topSchemaRef:o}){if(t!==void 0&&s!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(t!==void 0){const i=e.schema[t];return r===void 0?{schema:i,schemaPath:(0,codegen_1$o._)`${e.schemaPath}${(0,codegen_1$o.getProperty)(t)}`,errSchemaPath:`${e.errSchemaPath}/${t}`}:{schema:i[r],schemaPath:(0,codegen_1$o._)`${e.schemaPath}${(0,codegen_1$o.getProperty)(t)}${(0,codegen_1$o.getProperty)(r)}`,errSchemaPath:`${e.errSchemaPath}/${t}/${(0,util_1$n.escapeFragment)(r)}`}}if(s!==void 0){if(a===void 0||n===void 0||o===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:s,schemaPath:a,topSchemaRef:o,errSchemaPath:n}}throw new Error('either "keyword" or "schema" must be passed')}subschema.getSubschema=getSubschema;function extendSubschemaData(e,t,{dataProp:r,dataPropType:s,data:a,dataTypes:n,propertyName:o}){if(a!==void 0&&r!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');const{gen:i}=t;if(r!==void 0){const{errorPath:l,dataPathArr:u,opts:f}=t,w=i.let("data",(0,codegen_1$o._)`${t.data}${(0,codegen_1$o.getProperty)(r)}`,!0);d(w),e.errorPath=(0,codegen_1$o.str)`${l}${(0,util_1$n.getErrorPath)(r,s,f.jsPropertySyntax)}`,e.parentDataProperty=(0,codegen_1$o._)`${r}`,e.dataPathArr=[...u,e.parentDataProperty]}if(a!==void 0){const l=a instanceof codegen_1$o.Name?a:i.let("data",a,!0);d(l),o!==void 0&&(e.propertyName=o)}n&&(e.dataTypes=n);function d(l){e.data=l,e.dataLevel=t.dataLevel+1,e.dataTypes=[],t.definedProperties=new Set,e.parentData=t.data,e.dataNames=[...t.dataNames,l]}}subschema.extendSubschemaData=extendSubschemaData;function extendSubschemaMode(e,{jtdDiscriminator:t,jtdMetadata:r,compositeRule:s,createErrors:a,allErrors:n}){s!==void 0&&(e.compositeRule=s),a!==void 0&&(e.createErrors=a),n!==void 0&&(e.allErrors=n),e.jtdDiscriminator=t,e.jtdMetadata=r}subschema.extendSubschemaMode=extendSubschemaMode;var resolve$2={},fastDeepEqual=function e(t,r){if(t===r)return!0;if(t&&r&&typeof t=="object"&&typeof r=="object"){if(t.constructor!==r.constructor)return!1;var s,a,n;if(Array.isArray(t)){if(s=t.length,s!=r.length)return!1;for(a=s;a--!==0;)if(!e(t[a],r[a]))return!1;return!0}if(t.constructor===RegExp)return t.source===r.source&&t.flags===r.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===r.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===r.toString();if(n=Object.keys(t),s=n.length,s!==Object.keys(r).length)return!1;for(a=s;a--!==0;)if(!Object.prototype.hasOwnProperty.call(r,n[a]))return!1;for(a=s;a--!==0;){var o=n[a];if(!e(t[o],r[o]))return!1}return!0}return t!==t&&r!==r},jsonSchemaTraverse={exports:{}},traverse$1=jsonSchemaTraverse.exports=function(e,t,r){typeof t=="function"&&(r=t,t={}),r=t.cb||r;var s=typeof r=="function"?r:r.pre||function(){},a=r.post||function(){};_traverse(t,s,a,e,"",e)};traverse$1.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0},traverse$1.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0},traverse$1.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0},traverse$1.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 _traverse(e,t,r,s,a,n,o,i,d,l){if(s&&typeof s=="object"&&!Array.isArray(s)){t(s,a,n,o,i,d,l);for(var u in s){var f=s[u];if(Array.isArray(f)){if(u in traverse$1.arrayKeywords)for(var w=0;w<f.length;w++)_traverse(e,t,r,f[w],a+"/"+u+"/"+w,n,a,u,s,w)}else if(u in traverse$1.propsKeywords){if(f&&typeof f=="object")for(var b in f)_traverse(e,t,r,f[b],a+"/"+u+"/"+escapeJsonPtr(b),n,a,u,s,b)}else(u in traverse$1.keywords||e.allKeys&&!(u in traverse$1.skipKeywords))&&_traverse(e,t,r,f,a+"/"+u,n,a,u,s)}r(s,a,n,o,i,d,l)}}function escapeJsonPtr(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}var jsonSchemaTraverseExports=jsonSchemaTraverse.exports;Object.defineProperty(resolve$2,"__esModule",{value:!0}),resolve$2.getSchemaRefs=resolve$2.resolveUrl=resolve$2.normalizeId=resolve$2._getFullPath=resolve$2.getFullPath=resolve$2.inlineRef=void 0;const util_1$m=util,equal$3=fastDeepEqual,traverse=jsonSchemaTraverseExports,SIMPLE_INLINED=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function inlineRef(e,t=!0){return typeof e=="boolean"?!0:t===!0?!hasRef(e):t?countKeys(e)<=t:!1}resolve$2.inlineRef=inlineRef;const REF_KEYWORDS=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function hasRef(e){for(const t in e){if(REF_KEYWORDS.has(t))return!0;const r=e[t];if(Array.isArray(r)&&r.some(hasRef)||typeof r=="object"&&hasRef(r))return!0}return!1}function countKeys(e){let t=0;for(const r in e){if(r==="$ref")return 1/0;if(t++,!SIMPLE_INLINED.has(r)&&(typeof e[r]=="object"&&(0,util_1$m.eachItem)(e[r],s=>t+=countKeys(s)),t===1/0))return 1/0}return t}function getFullPath(e,t="",r){r!==!1&&(t=normalizeId(t));const s=e.parse(t);return _getFullPath(e,s)}resolve$2.getFullPath=getFullPath;function _getFullPath(e,t){return e.serialize(t).split("#")[0]+"#"}resolve$2._getFullPath=_getFullPath;const TRAILING_SLASH_HASH=/#\/?$/;function normalizeId(e){return e?e.replace(TRAILING_SLASH_HASH,""):""}resolve$2.normalizeId=normalizeId;function resolveUrl(e,t,r){return r=normalizeId(r),e.resolve(t,r)}resolve$2.resolveUrl=resolveUrl;const ANCHOR=/^[a-z_][-a-z0-9._]*$/i;function getSchemaRefs(e,t){if(typeof e=="boolean")return{};const{schemaId:r,uriResolver:s}=this.opts,a=normalizeId(e[r]||t),n={"":a},o=getFullPath(s,a,!1),i={},d=new Set;return traverse(e,{allKeys:!0},(f,w,b,y)=>{if(y===void 0)return;const _=o+w;let m=n[y];typeof f[r]=="string"&&(m=p.call(this,f[r])),g.call(this,f.$anchor),g.call(this,f.$dynamicAnchor),n[w]=m;function p(E){const k=this.opts.uriResolver.resolve;if(E=normalizeId(m?k(m,E):E),d.has(E))throw u(E);d.add(E);let T=this.refs[E];return typeof T=="string"&&(T=this.refs[T]),typeof T=="object"?l(f,T.schema,E):E!==normalizeId(_)&&(E[0]==="#"?(l(f,i[E],E),i[E]=f):this.refs[E]=_),E}function g(E){if(typeof E=="string"){if(!ANCHOR.test(E))throw new Error(`invalid anchor "${E}"`);p.call(this,`#${E}`)}}}),i;function l(f,w,b){if(w!==void 0&&!equal$3(f,w))throw u(b)}function u(f){return new Error(`reference "${f}" resolves to more than one schema`)}}resolve$2.getSchemaRefs=getSchemaRefs,Object.defineProperty(validate$1,"__esModule",{value:!0}),validate$1.getData=validate$1.KeywordCxt=validate$1.validateFunctionCode=void 0;const boolSchema_1=boolSchema,dataType_1$1=dataType,applicability_1=applicability,dataType_2=dataType,defaults_1=defaults,keyword_1=keyword,subschema_1=subschema,codegen_1$n=codegen,names_1$3=names$1,resolve_1$2=resolve$2,util_1$l=util,errors_1=errors;function validateFunctionCode(e){if(isSchemaObj(e)&&(checkKeywords(e),schemaCxtHasRules(e))){topSchemaObjCode(e);return}validateFunction(e,()=>(0,boolSchema_1.topBoolOrEmptySchema)(e))}validate$1.validateFunctionCode=validateFunctionCode;function validateFunction({gen:e,validateName:t,schema:r,schemaEnv:s,opts:a},n){a.code.es5?e.func(t,(0,codegen_1$n._)`${names_1$3.default.data}, ${names_1$3.default.valCxt}`,s.$async,()=>{e.code((0,codegen_1$n._)`"use strict"; ${funcSourceUrl(r,a)}`),destructureValCxtES5(e,a),e.code(n)}):e.func(t,(0,codegen_1$n._)`${names_1$3.default.data}, ${destructureValCxt(a)}`,s.$async,()=>e.code(funcSourceUrl(r,a)).code(n))}function destructureValCxt(e){return(0,codegen_1$n._)`{${names_1$3.default.instancePath}="", ${names_1$3.default.parentData}, ${names_1$3.default.parentDataProperty}, ${names_1$3.default.rootData}=${names_1$3.default.data}${e.dynamicRef?(0,codegen_1$n._)`, ${names_1$3.default.dynamicAnchors}={}`:codegen_1$n.nil}}={}`}function destructureValCxtES5(e,t){e.if(names_1$3.default.valCxt,()=>{e.var(names_1$3.default.instancePath,(0,codegen_1$n._)`${names_1$3.default.valCxt}.${names_1$3.default.instancePath}`),e.var(names_1$3.default.parentData,(0,codegen_1$n._)`${names_1$3.default.valCxt}.${names_1$3.default.parentData}`),e.var(names_1$3.default.parentDataProperty,(0,codegen_1$n._)`${names_1$3.default.valCxt}.${names_1$3.default.parentDataProperty}`),e.var(names_1$3.default.rootData,(0,codegen_1$n._)`${names_1$3.default.valCxt}.${names_1$3.default.rootData}`),t.dynamicRef&&e.var(names_1$3.default.dynamicAnchors,(0,codegen_1$n._)`${names_1$3.default.valCxt}.${names_1$3.default.dynamicAnchors}`)},()=>{e.var(names_1$3.default.instancePath,(0,codegen_1$n._)`""`),e.var(names_1$3.default.parentData,(0,codegen_1$n._)`undefined`),e.var(names_1$3.default.parentDataProperty,(0,codegen_1$n._)`undefined`),e.var(names_1$3.default.rootData,names_1$3.default.data),t.dynamicRef&&e.var(names_1$3.default.dynamicAnchors,(0,codegen_1$n._)`{}`)})}function topSchemaObjCode(e){const{schema:t,opts:r,gen:s}=e;validateFunction(e,()=>{r.$comment&&t.$comment&&commentKeyword(e),checkNoDefault(e),s.let(names_1$3.default.vErrors,null),s.let(names_1$3.default.errors,0),r.unevaluated&&resetEvaluated(e),typeAndKeywords(e),returnResults(e)})}function resetEvaluated(e){const{gen:t,validateName:r}=e;e.evaluated=t.const("evaluated",(0,codegen_1$n._)`${r}.evaluated`),t.if((0,codegen_1$n._)`${e.evaluated}.dynamicProps`,()=>t.assign((0,codegen_1$n._)`${e.evaluated}.props`,(0,codegen_1$n._)`undefined`)),t.if((0,codegen_1$n._)`${e.evaluated}.dynamicItems`,()=>t.assign((0,codegen_1$n._)`${e.evaluated}.items`,(0,codegen_1$n._)`undefined`))}function funcSourceUrl(e,t){const r=typeof e=="object"&&e[t.schemaId];return r&&(t.code.source||t.code.process)?(0,codegen_1$n._)`/*# sourceURL=${r} */`:codegen_1$n.nil}function subschemaCode(e,t){if(isSchemaObj(e)&&(checkKeywords(e),schemaCxtHasRules(e))){subSchemaObjCode(e,t);return}(0,boolSchema_1.boolOrEmptySchema)(e,t)}function schemaCxtHasRules({schema:e,self:t}){if(typeof e=="boolean")return!e;for(const r in e)if(t.RULES.all[r])return!0;return!1}function isSchemaObj(e){return typeof e.schema!="boolean"}function subSchemaObjCode(e,t){const{schema:r,gen:s,opts:a}=e;a.$comment&&r.$comment&&commentKeyword(e),updateContext(e),checkAsyncSchema(e);const n=s.const("_errs",names_1$3.default.errors);typeAndKeywords(e,n),s.var(t,(0,codegen_1$n._)`${n} === ${names_1$3.default.errors}`)}function checkKeywords(e){(0,util_1$l.checkUnknownRules)(e),checkRefsAndKeywords(e)}function typeAndKeywords(e,t){if(e.opts.jtd)return schemaKeywords(e,[],!1,t);const r=(0,dataType_1$1.getSchemaTypes)(e.schema),s=(0,dataType_1$1.coerceAndCheckDataType)(e,r);schemaKeywords(e,r,!s,t)}function checkRefsAndKeywords(e){const{schema:t,errSchemaPath:r,opts:s,self:a}=e;t.$ref&&s.ignoreKeywordsWithRef&&(0,util_1$l.schemaHasRulesButRef)(t,a.RULES)&&a.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function checkNoDefault(e){const{schema:t,opts:r}=e;t.default!==void 0&&r.useDefaults&&r.strictSchema&&(0,util_1$l.checkStrictMode)(e,"default is ignored in the schema root")}function updateContext(e){const t=e.schema[e.opts.schemaId];t&&(e.baseId=(0,resolve_1$2.resolveUrl)(e.opts.uriResolver,e.baseId,t))}function checkAsyncSchema(e){if(e.schema.$async&&!e.schemaEnv.$async)throw new Error("async schema in sync schema")}function commentKeyword({gen:e,schemaEnv:t,schema:r,errSchemaPath:s,opts:a}){const n=r.$comment;if(a.$comment===!0)e.code((0,codegen_1$n._)`${names_1$3.default.self}.logger.log(${n})`);else if(typeof a.$comment=="function"){const o=(0,codegen_1$n.str)`${s}/$comment`,i=e.scopeValue("root",{ref:t.root});e.code((0,codegen_1$n._)`${names_1$3.default.self}.opts.$comment(${n}, ${o}, ${i}.schema)`)}}function returnResults(e){const{gen:t,schemaEnv:r,validateName:s,ValidationError:a,opts:n}=e;r.$async?t.if((0,codegen_1$n._)`${names_1$3.default.errors} === 0`,()=>t.return(names_1$3.default.data),()=>t.throw((0,codegen_1$n._)`new ${a}(${names_1$3.default.vErrors})`)):(t.assign((0,codegen_1$n._)`${s}.errors`,names_1$3.default.vErrors),n.unevaluated&&assignEvaluated(e),t.return((0,codegen_1$n._)`${names_1$3.default.errors} === 0`))}function assignEvaluated({gen:e,evaluated:t,props:r,items:s}){r instanceof codegen_1$n.Name&&e.assign((0,codegen_1$n._)`${t}.props`,r),s instanceof codegen_1$n.Name&&e.assign((0,codegen_1$n._)`${t}.items`,s)}function schemaKeywords(e,t,r,s){const{gen:a,schema:n,data:o,allErrors:i,opts:d,self:l}=e,{RULES:u}=l;if(n.$ref&&(d.ignoreKeywordsWithRef||!(0,util_1$l.schemaHasRulesButRef)(n,u))){a.block(()=>keywordCode(e,"$ref",u.all.$ref.definition));return}d.jtd||checkStrictTypes(e,t),a.block(()=>{for(const w of u.rules)f(w);f(u.post)});function f(w){(0,applicability_1.shouldUseGroup)(n,w)&&(w.type?(a.if((0,dataType_2.checkDataType)(w.type,o,d.strictNumbers)),iterateKeywords(e,w),t.length===1&&t[0]===w.type&&r&&(a.else(),(0,dataType_2.reportTypeError)(e)),a.endIf()):iterateKeywords(e,w),i||a.if((0,codegen_1$n._)`${names_1$3.default.errors} === ${s||0}`))}}function iterateKeywords(e,t){const{gen:r,schema:s,opts:{useDefaults:a}}=e;a&&(0,defaults_1.assignDefaults)(e,t.type),r.block(()=>{for(const n of t.rules)(0,applicability_1.shouldUseRule)(s,n)&&keywordCode(e,n.keyword,n.definition,t.type)})}function checkStrictTypes(e,t){e.schemaEnv.meta||!e.opts.strictTypes||(checkContextTypes(e,t),e.opts.allowUnionTypes||checkMultipleTypes(e,t),checkKeywordTypes(e,e.dataTypes))}function checkContextTypes(e,t){if(t.length){if(!e.dataTypes.length){e.dataTypes=t;return}t.forEach(r=>{includesType(e.dataTypes,r)||strictTypesError(e,`type "${r}" not allowed by context "${e.dataTypes.join(",")}"`)}),narrowSchemaTypes(e,t)}}function checkMultipleTypes(e,t){t.length>1&&!(t.length===2&&t.includes("null"))&&strictTypesError(e,"use allowUnionTypes to allow union type keyword")}function checkKeywordTypes(e,t){const r=e.self.RULES.all;for(const s in r){const a=r[s];if(typeof a=="object"&&(0,applicability_1.shouldUseRule)(e.schema,a)){const{type:n}=a.definition;n.length&&!n.some(o=>hasApplicableType(t,o))&&strictTypesError(e,`missing type "${n.join(",")}" for keyword "${s}"`)}}}function hasApplicableType(e,t){return e.includes(t)||t==="number"&&e.includes("integer")}function includesType(e,t){return e.includes(t)||t==="integer"&&e.includes("number")}function narrowSchemaTypes(e,t){const r=[];for(const s of e.dataTypes)includesType(t,s)?r.push(s):t.includes("integer")&&s==="number"&&r.push("integer");e.dataTypes=r}function strictTypesError(e,t){const r=e.schemaEnv.baseId+e.errSchemaPath;t+=` at "${r}" (strictTypes)`,(0,util_1$l.checkStrictMode)(e,t,e.opts.strictTypes)}class KeywordCxt{constructor(t,r,s){if((0,keyword_1.validateKeywordUsage)(t,r,s),this.gen=t.gen,this.allErrors=t.allErrors,this.keyword=s,this.data=t.data,this.schema=t.schema[s],this.$data=r.$data&&t.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,util_1$l.schemaRefOrVal)(t,this.schema,s,this.$data),this.schemaType=r.schemaType,this.parentSchema=t.schema,this.params={},this.it=t,this.def=r,this.$data)this.schemaCode=t.gen.const("vSchema",getData(this.$data,t));else if(this.schemaCode=this.schemaValue,!(0,keyword_1.validSchemaType)(this.schema,r.schemaType,r.allowUndefined))throw new Error(`${s} value must be ${JSON.stringify(r.schemaType)}`);("code"in r?r.trackErrors:r.errors!==!1)&&(this.errsCount=t.gen.const("_errs",names_1$3.default.errors))}result(t,r,s){this.failResult((0,codegen_1$n.not)(t),r,s)}failResult(t,r,s){this.gen.if(t),s?s():this.error(),r?(this.gen.else(),r(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(t,r){this.failResult((0,codegen_1$n.not)(t),void 0,r)}fail(t){if(t===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(t),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(t){if(!this.$data)return this.fail(t);const{schemaCode:r}=this;this.fail((0,codegen_1$n._)`${r} !== undefined && (${(0,codegen_1$n.or)(this.invalid$data(),t)})`)}error(t,r,s){if(r){this.setParams(r),this._error(t,s),this.setParams({});return}this._error(t,s)}_error(t,r){(t?errors_1.reportExtraError:errors_1.reportError)(this,this.def.error,r)}$dataError(){(0,errors_1.reportError)(this,this.def.$dataError||errors_1.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,errors_1.resetErrorsCount)(this.gen,this.errsCount)}ok(t){this.allErrors||this.gen.if(t)}setParams(t,r){r?Object.assign(this.params,t):this.params=t}block$data(t,r,s=codegen_1$n.nil){this.gen.block(()=>{this.check$data(t,s),r()})}check$data(t=codegen_1$n.nil,r=codegen_1$n.nil){if(!this.$data)return;const{gen:s,schemaCode:a,schemaType:n,def:o}=this;s.if((0,codegen_1$n.or)((0,codegen_1$n._)`${a} === undefined`,r)),t!==codegen_1$n.nil&&s.assign(t,!0),(n.length||o.validateSchema)&&(s.elseIf(this.invalid$data()),this.$dataError(),t!==codegen_1$n.nil&&s.assign(t,!1)),s.else()}invalid$data(){const{gen:t,schemaCode:r,schemaType:s,def:a,it:n}=this;return(0,codegen_1$n.or)(o(),i());function o(){if(s.length){if(!(r instanceof codegen_1$n.Name))throw new Error("ajv implementation error");const d=Array.isArray(s)?s:[s];return(0,codegen_1$n._)`${(0,dataType_2.checkDataTypes)(d,r,n.opts.strictNumbers,dataType_2.DataType.Wrong)}`}return codegen_1$n.nil}function i(){if(a.validateSchema){const d=t.scopeValue("validate$data",{ref:a.validateSchema});return(0,codegen_1$n._)`!${d}(${r})`}return codegen_1$n.nil}}subschema(t,r){const s=(0,subschema_1.getSubschema)(this.it,t);(0,subschema_1.extendSubschemaData)(s,this.it,t),(0,subschema_1.extendSubschemaMode)(s,t);const a={...this.it,...s,items:void 0,props:void 0};return subschemaCode(a,r),a}mergeEvaluated(t,r){const{it:s,gen:a}=this;s.opts.unevaluated&&(s.props!==!0&&t.props!==void 0&&(s.props=util_1$l.mergeEvaluated.props(a,t.props,s.props,r)),s.items!==!0&&t.items!==void 0&&(s.items=util_1$l.mergeEvaluated.items(a,t.items,s.items,r)))}mergeValidEvaluated(t,r){const{it:s,gen:a}=this;if(s.opts.unevaluated&&(s.props!==!0||s.items!==!0))return a.if(r,()=>this.mergeEvaluated(t,codegen_1$n.Name)),!0}}validate$1.KeywordCxt=KeywordCxt;function keywordCode(e,t,r,s){const a=new KeywordCxt(e,r,t);"code"in r?r.code(a,s):a.$data&&r.validate?(0,keyword_1.funcKeywordCode)(a,r):"macro"in r?(0,keyword_1.macroKeywordCode)(a,r):(r.compile||r.validate)&&(0,keyword_1.funcKeywordCode)(a,r)}const JSON_POINTER=/^\/(?:[^~]|~0|~1)*$/,RELATIVE_JSON_POINTER=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function getData(e,{dataLevel:t,dataNames:r,dataPathArr:s}){let a,n;if(e==="")return names_1$3.default.rootData;if(e[0]==="/"){if(!JSON_POINTER.test(e))throw new Error(`Invalid JSON-pointer: ${e}`);a=e,n=names_1$3.default.rootData}else{const l=RELATIVE_JSON_POINTER.exec(e);if(!l)throw new Error(`Invalid JSON-pointer: ${e}`);const u=+l[1];if(a=l[2],a==="#"){if(u>=t)throw new Error(d("property/index",u));return s[t-u]}if(u>t)throw new Error(d("data",u));if(n=r[t-u],!a)return n}let o=n;const i=a.split("/");for(const l of i)l&&(n=(0,codegen_1$n._)`${n}${(0,codegen_1$n.getProperty)((0,util_1$l.unescapeJsonPointer)(l))}`,o=(0,codegen_1$n._)`${o} && ${n}`);return o;function d(l,u){return`Cannot access ${l} ${u} levels up, current level is ${t}`}}validate$1.getData=getData;var validation_error={};Object.defineProperty(validation_error,"__esModule",{value:!0});class ValidationError extends Error{constructor(t){super("validation failed"),this.errors=t,this.ajv=this.validation=!0}}validation_error.default=ValidationError;var ref_error={};Object.defineProperty(ref_error,"__esModule",{value:!0});const resolve_1$1=resolve$2;class MissingRefError extends Error{constructor(t,r,s,a){super(a||`can't resolve reference ${s} from id ${r}`),this.missingRef=(0,resolve_1$1.resolveUrl)(t,r,s),this.missingSchema=(0,resolve_1$1.normalizeId)((0,resolve_1$1.getFullPath)(t,this.missingRef))}}ref_error.default=MissingRefError;var compile={};Object.defineProperty(compile,"__esModule",{value:!0}),compile.resolveSchema=compile.getCompilingSchema=compile.resolveRef=compile.compileSchema=compile.SchemaEnv=void 0;const codegen_1$m=codegen,validation_error_1=validation_error,names_1$2=names$1,resolve_1=resolve$2,util_1$k=util,validate_1$1=validate$1;class SchemaEnv{constructor(t){var r;this.refs={},this.dynamicAnchors={};let s;typeof t.schema=="object"&&(s=t.schema),this.schema=t.schema,this.schemaId=t.schemaId,this.root=t.root||this,this.baseId=(r=t.baseId)!==null&&r!==void 0?r:(0,resolve_1.normalizeId)(s==null?void 0:s[t.schemaId||"$id"]),this.schemaPath=t.schemaPath,this.localRefs=t.localRefs,this.meta=t.meta,this.$async=s==null?void 0:s.$async,this.refs={}}}compile.SchemaEnv=SchemaEnv;function compileSchema(e){const t=getCompilingSchema.call(this,e);if(t)return t;const r=(0,resolve_1.getFullPath)(this.opts.uriResolver,e.root.baseId),{es5:s,lines:a}=this.opts.code,{ownProperties:n}=this.opts,o=new codegen_1$m.CodeGen(this.scope,{es5:s,lines:a,ownProperties:n});let i;e.$async&&(i=o.scopeValue("Error",{ref:validation_error_1.default,code:(0,codegen_1$m._)`require("ajv/dist/runtime/validation_error").default`}));const d=o.scopeName("validate");e.validateName=d;const l={gen:o,allErrors:this.opts.allErrors,data:names_1$2.default.data,parentData:names_1$2.default.parentData,parentDataProperty:names_1$2.default.parentDataProperty,dataNames:[names_1$2.default.data],dataPathArr:[codegen_1$m.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:o.scopeValue("schema",this.opts.code.source===!0?{ref:e.schema,code:(0,codegen_1$m.stringify)(e.schema)}:{ref:e.schema}),validateName:d,ValidationError:i,schema:e.schema,schemaEnv:e,rootId:r,baseId:e.baseId||r,schemaPath:codegen_1$m.nil,errSchemaPath:e.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,codegen_1$m._)`""`,opts:this.opts,self:this};let u;try{this._compilations.add(e),(0,validate_1$1.validateFunctionCode)(l),o.optimize(this.opts.code.optimize);const f=o.toString();u=`${o.scopeRefs(names_1$2.default.scope)}return ${f}`,this.opts.code.process&&(u=this.opts.code.process(u,e));const b=new Function(`${names_1$2.default.self}`,`${names_1$2.default.scope}`,u)(this,this.scope.get());if(this.scope.value(d,{ref:b}),b.errors=null,b.schema=e.schema,b.schemaEnv=e,e.$async&&(b.$async=!0),this.opts.code.source===!0&&(b.source={validateName:d,validateCode:f,scopeValues:o._values}),this.opts.unevaluated){const{props:y,items:_}=l;b.evaluated={props:y instanceof codegen_1$m.Name?void 0:y,items:_ instanceof codegen_1$m.Name?void 0:_,dynamicProps:y instanceof codegen_1$m.Name,dynamicItems:_ instanceof codegen_1$m.Name},b.source&&(b.source.evaluated=(0,codegen_1$m.stringify)(b.evaluated))}return e.validate=b,e}catch(f){throw delete e.validate,delete e.validateName,u&&this.logger.error("Error compiling schema, function code:",u),f}finally{this._compilations.delete(e)}}compile.compileSchema=compileSchema;function resolveRef(e,t,r){var s;r=(0,resolve_1.resolveUrl)(this.opts.uriResolver,t,r);const a=e.refs[r];if(a)return a;let n=resolve$1.call(this,e,r);if(n===void 0){const o=(s=e.localRefs)===null||s===void 0?void 0:s[r],{schemaId:i}=this.opts;o&&(n=new SchemaEnv({schema:o,schemaId:i,root:e,baseId:t}))}if(n!==void 0)return e.refs[r]=inlineOrCompile.call(this,n)}compile.resolveRef=resolveRef;function inlineOrCompile(e){return(0,resolve_1.inlineRef)(e.schema,this.opts.inlineRefs)?e.schema:e.validate?e:compileSchema.call(this,e)}function getCompilingSchema(e){for(const t of this._compilations)if(sameSchemaEnv(t,e))return t}compile.getCompilingSchema=getCompilingSchema;function sameSchemaEnv(e,t){return e.schema===t.schema&&e.root===t.root&&e.baseId===t.baseId}function resolve$1(e,t){let r;for(;typeof(r=this.refs[t])=="string";)t=r;return r||this.schemas[t]||resolveSchema.call(this,e,t)}function resolveSchema(e,t){const r=this.opts.uriResolver.parse(t),s=(0,resolve_1._getFullPath)(this.opts.uriResolver,r);let a=(0,resolve_1.getFullPath)(this.opts.uriResolver,e.baseId,void 0);if(Object.keys(e.schema).length>0&&s===a)return getJsonPointer.call(this,r,e);const n=(0,resolve_1.normalizeId)(s),o=this.refs[n]||this.schemas[n];if(typeof o=="string"){const i=resolveSchema.call(this,e,o);return typeof(i==null?void 0:i.schema)!="object"?void 0:getJsonPointer.call(this,r,i)}if(typeof(o==null?void 0:o.schema)=="object"){if(o.validate||compileSchema.call(this,o),n===(0,resolve_1.normalizeId)(t)){const{schema:i}=o,{schemaId:d}=this.opts,l=i[d];return l&&(a=(0,resolve_1.resolveUrl)(this.opts.uriResolver,a,l)),new SchemaEnv({schema:i,schemaId:d,root:e,baseId:a})}return getJsonPointer.call(this,r,o)}}compile.resolveSchema=resolveSchema;const PREVENT_SCOPE_CHANGE=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function getJsonPointer(e,{baseId:t,schema:r,root:s}){var a;if(((a=e.fragment)===null||a===void 0?void 0:a[0])!=="/")return;for(const i of e.fragment.slice(1).split("/")){if(typeof r=="boolean")return;const d=r[(0,util_1$k.unescapeFragment)(i)];if(d===void 0)return;r=d;const l=typeof r=="object"&&r[this.opts.schemaId];!PREVENT_SCOPE_CHANGE.has(i)&&l&&(t=(0,resolve_1.resolveUrl)(this.opts.uriResolver,t,l))}let n;if(typeof r!="boolean"&&r.$ref&&!(0,util_1$k.schemaHasRulesButRef)(r,this.RULES)){const i=(0,resolve_1.resolveUrl)(this.opts.uriResolver,t,r.$ref);n=resolveSchema.call(this,s,i)}const{schemaId:o}=this.opts;if(n=n||new SchemaEnv({schema:r,schemaId:o,root:s,baseId:t}),n.schema!==n.root.schema)return n}const $id$1="https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description="Meta-schema for $data reference (JSON AnySchema extension proposal)",type$1="object",required$1=["$data"],properties$2={$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties$1=!1,require$$9={$id:$id$1,description,type:type$1,required:required$1,properties:properties$2,additionalProperties:additionalProperties$1};var uri$1={},fastUri$1={exports:{}};const HEX$1={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};var scopedChars={HEX:HEX$1};const{HEX}=scopedChars,IPV4_REG=/^(?:(?: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 normalizeIPv4$1(e){if(findToken(e,".")<3)return{host:e,isIPV4:!1};const t=e.match(IPV4_REG)||[],[r]=t;return r?{host:stripLeadingZeros(r,"."),isIPV4:!0}:{host:e,isIPV4:!1}}function stringArrayToHexStripped(e,t=!1){let r="",s=!0;for(const a of e){if(HEX[a]===void 0)return;a!=="0"&&s===!0&&(s=!1),s||(r+=a)}return t&&r.length===0&&(r="0"),r}function getIPV6(e){let t=0;const r={error:!1,address:"",zone:""},s=[],a=[];let n=!1,o=!1,i=!1;function d(){if(a.length){if(n===!1){const l=stringArrayToHexStripped(a);if(l!==void 0)s.push(l);else return r.error=!0,!1}a.length=0}return!0}for(let l=0;l<e.length;l++){const u=e[l];if(!(u==="["||u==="]"))if(u===":"){if(o===!0&&(i=!0),!d())break;if(t++,s.push(":"),t>7){r.error=!0;break}l-1>=0&&e[l-1]===":"&&(o=!0);continue}else if(u==="%"){if(!d())break;n=!0}else{a.push(u);continue}}return a.length&&(n?r.zone=a.join(""):i?s.push(a.join("")):s.push(stringArrayToHexStripped(a))),r.address=s.join(""),r}function normalizeIPv6$1(e){if(findToken(e,":")<2)return{host:e,isIPV6:!1};const t=getIPV6(e);if(t.error)return{host:e,isIPV6:!1};{let r=t.address,s=t.address;return t.zone&&(r+="%"+t.zone,s+="%25"+t.zone),{host:r,escapedHost:s,isIPV6:!0}}}function stripLeadingZeros(e,t){let r="",s=!0;const a=e.length;for(let n=0;n<a;n++){const o=e[n];o==="0"&&s?(n+1<=a&&e[n+1]===t||n+1===a)&&(r+=o,s=!1):(o===t?s=!0:s=!1,r+=o)}return r}function findToken(e,t){let r=0;for(let s=0;s<e.length;s++)e[s]===t&&r++;return r}const RDS1=/^\.\.?\//u,RDS2=/^\/\.(?:\/|$)/u,RDS3=/^\/\.\.(?:\/|$)/u,RDS5=/^\/?(?:.|\n)*?(?=\/|$)/u;function removeDotSegments$1(e){const t=[];for(;e.length;)if(e.match(RDS1))e=e.replace(RDS1,"");else if(e.match(RDS2))e=e.replace(RDS2,"/");else if(e.match(RDS3))e=e.replace(RDS3,"/"),t.pop();else if(e==="."||e==="..")e="";else{const r=e.match(RDS5);if(r){const s=r[0];e=e.slice(s.length),t.push(s)}else throw new Error("Unexpected dot segment condition")}return t.join("")}function normalizeComponentEncoding$1(e,t){const r=t!==!0?escape:unescape;return e.scheme!==void 0&&(e.scheme=r(e.scheme)),e.userinfo!==void 0&&(e.userinfo=r(e.userinfo)),e.host!==void 0&&(e.host=r(e.host)),e.path!==void 0&&(e.path=r(e.path)),e.query!==void 0&&(e.query=r(e.query)),e.fragment!==void 0&&(e.fragment=r(e.fragment)),e}function recomposeAuthority$1(e){const t=[];if(e.userinfo!==void 0&&(t.push(e.userinfo),t.push("@")),e.host!==void 0){let r=unescape(e.host);const s=normalizeIPv4$1(r);if(s.isIPV4)r=s.host;else{const a=normalizeIPv6$1(s.host);a.isIPV6===!0?r=`[${a.escapedHost}]`:r=e.host}t.push(r)}return(typeof e.port=="number"||typeof e.port=="string")&&(t.push(":"),t.push(String(e.port))),t.length?t.join(""):void 0}var utils={recomposeAuthority:recomposeAuthority$1,normalizeComponentEncoding:normalizeComponentEncoding$1,removeDotSegments:removeDotSegments$1,normalizeIPv4:normalizeIPv4$1,normalizeIPv6:normalizeIPv6$1};const UUID_REG=/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu,URN_REG=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu;function isSecure(e){return typeof e.secure=="boolean"?e.secure:String(e.scheme).toLowerCase()==="wss"}function httpParse(e){return e.host||(e.error=e.error||"HTTP URIs must have a host."),e}function httpSerialize(e){const t=String(e.scheme).toLowerCase()==="https";return(e.port===(t?443:80)||e.port==="")&&(e.port=void 0),e.path||(e.path="/"),e}function wsParse(e){return e.secure=isSecure(e),e.resourceName=(e.path||"/")+(e.query?"?"+e.query:""),e.path=void 0,e.query=void 0,e}function wsSerialize(e){if((e.port===(isSecure(e)?443:80)||e.port==="")&&(e.port=void 0),typeof e.secure=="boolean"&&(e.scheme=e.secure?"wss":"ws",e.secure=void 0),e.resourceName){const[t,r]=e.resourceName.split("?");e.path=t&&t!=="/"?t:void 0,e.query=r,e.resourceName=void 0}return e.fragment=void 0,e}function urnParse(e,t){if(!e.path)return e.error="URN can not be parsed",e;const r=e.path.match(URN_REG);if(r){const s=t.scheme||e.scheme||"urn";e.nid=r[1].toLowerCase(),e.nss=r[2];const a=`${s}:${t.nid||e.nid}`,n=SCHEMES$1[a];e.path=void 0,n&&(e=n.parse(e,t))}else e.error=e.error||"URN can not be parsed.";return e}function urnSerialize(e,t){const r=t.scheme||e.scheme||"urn",s=e.nid.toLowerCase(),a=`${r}:${t.nid||s}`,n=SCHEMES$1[a];n&&(e=n.serialize(e,t));const o=e,i=e.nss;return o.path=`${s||t.nid}:${i}`,t.skipEscape=!0,o}function urnuuidParse(e,t){const r=e;return r.uuid=r.nss,r.nss=void 0,!t.tolerant&&(!r.uuid||!UUID_REG.test(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function urnuuidSerialize(e){const t=e;return t.nss=(e.uuid||"").toLowerCase(),t}const http={scheme:"http",domainHost:!0,parse:httpParse,serialize:httpSerialize},https={scheme:"https",domainHost:http.domainHost,parse:httpParse,serialize:httpSerialize},ws={scheme:"ws",domainHost:!0,parse:wsParse,serialize:wsSerialize},wss={scheme:"wss",domainHost:ws.domainHost,parse:ws.parse,serialize:ws.serialize},urn={scheme:"urn",parse:urnParse,serialize:urnSerialize,skipNormalize:!0},urnuuid={scheme:"urn:uuid",parse:urnuuidParse,serialize:urnuuidSerialize,skipNormalize:!0},SCHEMES$1={http,https,ws,wss,urn,"urn:uuid":urnuuid};var schemes=SCHEMES$1;const{normalizeIPv6,normalizeIPv4,removeDotSegments,recomposeAuthority,normalizeComponentEncoding}=utils,SCHEMES=schemes;function normalize(e,t){return typeof e=="string"?e=serialize(parse(e,t),t):typeof e=="object"&&(e=parse(serialize(e,t),t)),e}function resolve(e,t,r){const s=Object.assign({scheme:"null"},r),a=resolveComponents(parse(e,s),parse(t,s),s,!0);return serialize(a,{...s,skipEscape:!0})}function resolveComponents(e,t,r,s){const a={};return s||(e=parse(serialize(e,r),r),t=parse(serialize(t,r),r)),r=r||{},!r.tolerant&&t.scheme?(a.scheme=t.scheme,a.userinfo=t.userinfo,a.host=t.host,a.port=t.port,a.path=removeDotSegments(t.path||""),a.query=t.query):(t.userinfo!==void 0||t.host!==void 0||t.port!==void 0?(a.userinfo=t.userinfo,a.host=t.host,a.port=t.port,a.path=removeDotSegments(t.path||""),a.query=t.query):(t.path?(t.path.charAt(0)==="/"?a.path=removeDotSegments(t.path):((e.userinfo!==void 0||e.host!==void 0||e.port!==void 0)&&!e.path?a.path="/"+t.path:e.path?a.path=e.path.slice(0,e.path.lastIndexOf("/")+1)+t.path:a.path=t.path,a.path=removeDotSegments(a.path)),a.query=t.query):(a.path=e.path,t.query!==void 0?a.query=t.query:a.query=e.query),a.userinfo=e.userinfo,a.host=e.host,a.port=e.port),a.scheme=e.scheme),a.fragment=t.fragment,a}function equal$2(e,t,r){return typeof e=="string"?(e=unescape(e),e=serialize(normalizeComponentEncoding(parse(e,r),!0),{...r,skipEscape:!0})):typeof e=="object"&&(e=serialize(normalizeComponentEncoding(e,!0),{...r,skipEscape:!0})),typeof t=="string"?(t=unescape(t),t=serialize(normalizeComponentEncoding(parse(t,r),!0),{...r,skipEscape:!0})):typeof t=="object"&&(t=serialize(normalizeComponentEncoding(t,!0),{...r,skipEscape:!0})),e.toLowerCase()===t.toLowerCase()}function serialize(e,t){const r={host:e.host,scheme:e.scheme,userinfo:e.userinfo,port:e.port,path:e.path,query:e.query,nid:e.nid,nss:e.nss,uuid:e.uuid,fragment:e.fragment,reference:e.reference,resourceName:e.resourceName,secure:e.secure,error:""},s=Object.assign({},t),a=[],n=SCHEMES[(s.scheme||r.scheme||"").toLowerCase()];n&&n.serialize&&n.serialize(r,s),r.path!==void 0&&(s.skipEscape?r.path=unescape(r.path):(r.path=escape(r.path),r.scheme!==void 0&&(r.path=r.path.split("%3A").join(":")))),s.reference!=="suffix"&&r.scheme&&a.push(r.scheme,":");const o=recomposeAuthority(r);if(o!==void 0&&(s.reference!=="suffix"&&a.push("//"),a.push(o),r.path&&r.path.charAt(0)!=="/"&&a.push("/")),r.path!==void 0){let i=r.path;!s.absolutePath&&(!n||!n.absolutePath)&&(i=removeDotSegments(i)),o===void 0&&(i=i.replace(/^\/\//u,"/%2F")),a.push(i)}return r.query!==void 0&&a.push("?",r.query),r.fragment!==void 0&&a.push("#",r.fragment),a.join("")}const hexLookUp=Array.from({length:127},(e,t)=>/[^!"$&'()*+,\-.;=_`a-z{}~]/u.test(String.fromCharCode(t)));function nonSimpleDomain(e){let t=0;for(let r=0,s=e.length;r<s;++r)if(t=e.charCodeAt(r),t>126||hexLookUp[t])return!0;return!1}const URI_PARSE=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function parse(e,t){const r=Object.assign({},t),s={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},a=e.indexOf("%")!==-1;let n=!1;r.reference==="suffix"&&(e=(r.scheme?r.scheme+":":"")+"//"+e);const o=e.match(URI_PARSE);if(o){if(s.scheme=o[1],s.userinfo=o[3],s.host=o[4],s.port=parseInt(o[5],10),s.path=o[6]||"",s.query=o[7],s.fragment=o[8],isNaN(s.port)&&(s.port=o[5]),s.host){const d=normalizeIPv4(s.host);if(d.isIPV4===!1){const l=normalizeIPv6(d.host);s.host=l.host.toLowerCase(),n=l.isIPV6}else s.host=d.host,n=!0}s.scheme===void 0&&s.userinfo===void 0&&s.host===void 0&&s.port===void 0&&s.query===void 0&&!s.path?s.reference="same-document":s.scheme===void 0?s.reference="relative":s.fragment===void 0?s.reference="absolute":s.reference="uri",r.reference&&r.reference!=="suffix"&&r.reference!==s.reference&&(s.error=s.error||"URI is not a "+r.reference+" reference.");const i=SCHEMES[(r.scheme||s.scheme||"").toLowerCase()];if(!r.unicodeSupport&&(!i||!i.unicodeSupport)&&s.host&&(r.domainHost||i&&i.domainHost)&&n===!1&&nonSimpleDomain(s.host))try{s.host=URL.domainToASCII(s.host.toLowerCase())}catch(d){s.error=s.error||"Host's domain name can not be converted to ASCII: "+d}(!i||i&&!i.skipNormalize)&&(a&&s.scheme!==void 0&&(s.scheme=unescape(s.scheme)),a&&s.host!==void 0&&(s.host=unescape(s.host)),s.path&&(s.path=escape(unescape(s.path))),s.fragment&&(s.fragment=encodeURI(decodeURIComponent(s.fragment)))),i&&i.parse&&i.parse(s,r)}else s.error=s.error||"URI can not be parsed.";return s}const fastUri={SCHEMES,normalize,resolve,resolveComponents,equal:equal$2,serialize,parse};fastUri$1.exports=fastUri,fastUri$1.exports.default=fastUri,fastUri$1.exports.fastUri=fastUri;var fastUriExports=fastUri$1.exports;Object.defineProperty(uri$1,"__esModule",{value:!0});const uri=fastUriExports;uri.code='require("ajv/dist/runtime/uri").default',uri$1.default=uri,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.CodeGen=e.Name=e.nil=e.stringify=e.str=e._=e.KeywordCxt=void 0;var t=validate$1;Object.defineProperty(e,"KeywordCxt",{enumerable:!0,get:function(){return t.KeywordCxt}});var r=codegen;Object.defineProperty(e,"_",{enumerable:!0,get:function(){return r._}}),Object.defineProperty(e,"str",{enumerable:!0,get:function(){return r.str}}),Object.defineProperty(e,"stringify",{enumerable:!0,get:function(){return r.stringify}}),Object.defineProperty(e,"nil",{enumerable:!0,get:function(){return r.nil}}),Object.defineProperty(e,"Name",{enumerable:!0,get:function(){return r.Name}}),Object.defineProperty(e,"CodeGen",{enumerable:!0,get:function(){return r.CodeGen}});const s=validation_error,a=ref_error,n=rules,o=compile,i=codegen,d=resolve$2,l=dataType,u=util,f=require$$9,w=uri$1,b=(O,$)=>new RegExp(O,$);b.code="new RegExp";const y=["removeAdditional","useDefaults","coerceTypes"],_=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),m={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."},p={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},g=200;function E(O){var $,P,v,c,h,S,N,j,V,D,q,B,Q,ee,te,re,se,ae,ne,oe,ie,ce,le,de,ue;const H=O.strict,fe=($=O.code)===null||$===void 0?void 0:$.optimize,he=fe===!0||fe===void 0?1:fe||0,pe=(v=(P=O.code)===null||P===void 0?void 0:P.regExp)!==null&&v!==void 0?v:b,me=(c=O.uriResolver)!==null&&c!==void 0?c:w.default;return{strictSchema:(S=(h=O.strictSchema)!==null&&h!==void 0?h:H)!==null&&S!==void 0?S:!0,strictNumbers:(j=(N=O.strictNumbers)!==null&&N!==void 0?N:H)!==null&&j!==void 0?j:!0,strictTypes:(D=(V=O.strictTypes)!==null&&V!==void 0?V:H)!==null&&D!==void 0?D:"log",strictTuples:(B=(q=O.strictTuples)!==null&&q!==void 0?q:H)!==null&&B!==void 0?B:"log",strictRequired:(ee=(Q=O.strictRequired)!==null&&Q!==void 0?Q:H)!==null&&ee!==void 0?ee:!1,code:O.code?{...O.code,optimize:he,regExp:pe}:{optimize:he,regExp:pe},loopRequired:(te=O.loopRequired)!==null&&te!==void 0?te:g,loopEnum:(re=O.loopEnum)!==null&&re!==void 0?re:g,meta:(se=O.meta)!==null&&se!==void 0?se:!0,messages:(ae=O.messages)!==null&&ae!==void 0?ae:!0,inlineRefs:(ne=O.inlineRefs)!==null&&ne!==void 0?ne:!0,schemaId:(oe=O.schemaId)!==null&&oe!==void 0?oe:"$id",addUsedSchema:(ie=O.addUsedSchema)!==null&&ie!==void 0?ie:!0,validateSchema:(ce=O.validateSchema)!==null&&ce!==void 0?ce:!0,validateFormats:(le=O.validateFormats)!==null&&le!==void 0?le:!0,unicodeRegExp:(de=O.unicodeRegExp)!==null&&de!==void 0?de:!0,int32range:(ue=O.int32range)!==null&&ue!==void 0?ue:!0,uriResolver:me}}class k{constructor($={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,$=this.opts={...$,...E($)};const{es5:P,lines:v}=this.opts.code;this.scope=new i.ValueScope({scope:{},prefixes:_,es5:P,lines:v}),this.logger=A($.logger);const c=$.validateFormats;$.validateFormats=!1,this.RULES=(0,n.getRules)(),T.call(this,m,$,"NOT SUPPORTED"),T.call(this,p,$,"DEPRECATED","warn"),this._metaOpts=R.call(this),$.formats&&W.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),$.keywords&&C.call(this,$.keywords),typeof $.meta=="object"&&this.addMetaSchema($.meta),M.call(this),$.validateFormats=c}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){const{$data:$,meta:P,schemaId:v}=this.opts;let c=f;v==="id"&&(c={...f},c.id=c.$id,delete c.$id),P&&$&&this.addMetaSchema(c,c[v],!1)}defaultMeta(){const{meta:$,schemaId:P}=this.opts;return this.opts.defaultMeta=typeof $=="object"?$[P]||$:void 0}validate($,P){let v;if(typeof $=="string"){if(v=this.getSchema($),!v)throw new Error(`no schema with key or ref "${$}"`)}else v=this.compile($);const c=v(P);return"$async"in v||(this.errors=v.errors),c}compile($,P){const v=this._addSchema($,P);return v.validate||this._compileSchemaEnv(v)}compileAsync($,P){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");const{loadSchema:v}=this.opts;return c.call(this,$,P);async function c(D,q){await h.call(this,D.$schema);const B=this._addSchema(D,q);return B.validate||S.call(this,B)}async function h(D){D&&!this.getSchema(D)&&await c.call(this,{$ref:D},!0)}async function S(D){try{return this._compileSchemaEnv(D)}catch(q){if(!(q instanceof a.default))throw q;return N.call(this,q),await j.call(this,q.missingSchema),S.call(this,D)}}function N({missingSchema:D,missingRef:q}){if(this.refs[D])throw new Error(`AnySchema ${D} is loaded but ${q} cannot be resolved`)}async function j(D){const q=await V.call(this,D);this.refs[D]||await h.call(this,q.$schema),this.refs[D]||this.addSchema(q,D,P)}async function V(D){const q=this._loading[D];if(q)return q;try{return await(this._loading[D]=v(D))}finally{delete this._loading[D]}}}addSchema($,P,v,c=this.opts.validateSchema){if(Array.isArray($)){for(const S of $)this.addSchema(S,void 0,v,c);return this}let h;if(typeof $=="object"){const{schemaId:S}=this.opts;if(h=$[S],h!==void 0&&typeof h!="string")throw new Error(`schema ${S} must be string`)}return P=(0,d.normalizeId)(P||h),this._checkUnique(P),this.schemas[P]=this._addSchema($,v,P,c,!0),this}addMetaSchema($,P,v=this.opts.validateSchema){return this.addSchema($,P,!0,v),this}validateSchema($,P){if(typeof $=="boolean")return!0;let v;if(v=$.$schema,v!==void 0&&typeof v!="string")throw new Error("$schema must be a string");if(v=v||this.opts.defaultMeta||this.defaultMeta(),!v)return this.logger.warn("meta-schema not available"),this.errors=null,!0;const c=this.validate(v,$);if(!c&&P){const h="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(h);else throw new Error(h)}return c}getSchema($){let P;for(;typeof(P=I.call(this,$))=="string";)$=P;if(P===void 0){const{schemaId:v}=this.opts,c=new o.SchemaEnv({schema:{},schemaId:v});if(P=o.resolveSchema.call(this,c,$),!P)return;this.refs[$]=P}return P.validate||this._compileSchemaEnv(P)}removeSchema($){if($ instanceof RegExp)return this._removeAllSchemas(this.schemas,$),this._removeAllSchemas(this.refs,$),this;switch(typeof $){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{const P=I.call(this,$);return typeof P=="object"&&this._cache.delete(P.schema),delete this.schemas[$],delete this.refs[$],this}case"object":{const P=$;this._cache.delete(P);let v=$[this.opts.schemaId];return v&&(v=(0,d.normalizeId)(v),delete this.schemas[v],delete this.refs[v]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary($){for(const P of $)this.addKeyword(P);return this}addKeyword($,P){let v;if(typeof $=="string")v=$,typeof P=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),P.keyword=v);else if(typeof $=="object"&&P===void 0){if(P=$,v=P.keyword,Array.isArray(v)&&!v.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(x.call(this,v,P),!P)return(0,u.eachItem)(v,h=>G.call(this,h)),this;Z.call(this,P);const c={...P,type:(0,l.getJSONTypes)(P.type),schemaType:(0,l.getJSONTypes)(P.schemaType)};return(0,u.eachItem)(v,c.type.length===0?h=>G.call(this,h,c):h=>c.type.forEach(S=>G.call(this,h,c,S))),this}getKeyword($){const P=this.RULES.all[$];return typeof P=="object"?P.definition:!!P}removeKeyword($){const{RULES:P}=this;delete P.keywords[$],delete P.all[$];for(const v of P.rules){const c=v.rules.findIndex(h=>h.keyword===$);c>=0&&v.rules.splice(c,1)}return this}addFormat($,P){return typeof P=="string"&&(P=new RegExp(P)),this.formats[$]=P,this}errorsText($=this.errors,{separator:P=", ",dataVar:v="data"}={}){return!$||$.length===0?"No errors":$.map(c=>`${v}${c.instancePath} ${c.message}`).reduce((c,h)=>c+P+h)}$dataMetaSchema($,P){const v=this.RULES.all;$=JSON.parse(JSON.stringify($));for(const c of P){const h=c.split("/").slice(1);let S=$;for(const N of h)S=S[N];for(const N in v){const j=v[N];if(typeof j!="object")continue;const{$data:V}=j.definition,D=S[N];V&&D&&(S[N]=X(D))}}return $}_removeAllSchemas($,P){for(const v in $){const c=$[v];(!P||P.test(v))&&(typeof c=="string"?delete $[v]:c&&!c.meta&&(this._cache.delete(c.schema),delete $[v]))}}_addSchema($,P,v,c=this.opts.validateSchema,h=this.opts.addUsedSchema){let S;const{schemaId:N}=this.opts;if(typeof $=="object")S=$[N];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof $!="boolean")throw new Error("schema must be object or boolean")}let j=this._cache.get($);if(j!==void 0)return j;v=(0,d.normalizeId)(S||v);const V=d.getSchemaRefs.call(this,$,v);return j=new o.SchemaEnv({schema:$,schemaId:N,meta:P,baseId:v,localRefs:V}),this._cache.set(j.schema,j),h&&!v.startsWith("#")&&(v&&this._checkUnique(v),this.refs[v]=j),c&&this.validateSchema($,!0),j}_checkUnique($){if(this.schemas[$]||this.refs[$])throw new Error(`schema with key or id "${$}" already exists`)}_compileSchemaEnv($){if($.meta?this._compileMetaSchema($):o.compileSchema.call(this,$),!$.validate)throw new Error("ajv implementation error");return $.validate}_compileMetaSchema($){const P=this.opts;this.opts=this._metaOpts;try{o.compileSchema.call(this,$)}finally{this.opts=P}}}k.ValidationError=s.default,k.MissingRefError=a.default,e.default=k;function T(O,$,P,v="error"){for(const c in O){const h=c;h in $&&this.logger[v](`${P}: option ${c}. ${O[h]}`)}}function I(O){return O=(0,d.normalizeId)(O),this.schemas[O]||this.refs[O]}function M(){const O=this.opts.schemas;if(O)if(Array.isArray(O))this.addSchema(O);else for(const $ in O)this.addSchema(O[$],$)}function W(){for(const O in this.opts.formats){const $=this.opts.formats[O];$&&this.addFormat(O,$)}}function C(O){if(Array.isArray(O)){this.addVocabulary(O);return}this.logger.warn("keywords option as map is deprecated, pass array");for(const $ in O){const P=O[$];P.keyword||(P.keyword=$),this.addKeyword(P)}}function R(){const O={...this.opts};for(const $ of y)delete O[$];return O}const F={log(){},warn(){},error(){}};function A(O){if(O===!1)return F;if(O===void 0)return console;if(O.log&&O.warn&&O.error)return O;throw new Error("logger must implement log, warn and error methods")}const K=/^[a-z_$][a-z0-9_$:-]*$/i;function x(O,$){const{RULES:P}=this;if((0,u.eachItem)(O,v=>{if(P.keywords[v])throw new Error(`Keyword ${v} is already defined`);if(!K.test(v))throw new Error(`Keyword ${v} has invalid name`)}),!!$&&$.$data&&!("code"in $||"validate"in $))throw new Error('$data keyword must have "code" or "validate" function')}function G(O,$,P){var v;const c=$==null?void 0:$.post;if(P&&c)throw new Error('keyword with "post" flag cannot have "type"');const{RULES:h}=this;let S=c?h.post:h.rules.find(({type:j})=>j===P);if(S||(S={type:P,rules:[]},h.rules.push(S)),h.keywords[O]=!0,!$)return;const N={keyword:O,definition:{...$,type:(0,l.getJSONTypes)($.type),schemaType:(0,l.getJSONTypes)($.schemaType)}};$.before?J.call(this,S,N,$.before):S.rules.push(N),h.all[O]=N,(v=$.implements)===null||v===void 0||v.forEach(j=>this.addKeyword(j))}function J(O,$,P){const v=O.rules.findIndex(c=>c.keyword===P);v>=0?O.rules.splice(v,0,$):(O.rules.push($),this.logger.warn(`rule ${P} is not defined`))}function Z(O){let{metaSchema:$}=O;$!==void 0&&(O.$data&&this.opts.$data&&($=X($)),O.validateSchema=this.compile($,!0))}const Y={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function X(O){return{anyOf:[O,Y]}}}(core$2);var draft7={},core$1={},id={};Object.defineProperty(id,"__esModule",{value:!0});const def$s={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};id.default=def$s;var ref={};Object.defineProperty(ref,"__esModule",{value:!0}),ref.callRef=ref.getValidate=void 0;const ref_error_1$1=ref_error,code_1$8=code,codegen_1$l=codegen,names_1$1=names$1,compile_1$1=compile,util_1$j=util,def$r={keyword:"$ref",schemaType:"string",code(e){const{gen:t,schema:r,it:s}=e,{baseId:a,schemaEnv:n,validateName:o,opts:i,self:d}=s,{root:l}=n;if((r==="#"||r==="#/")&&a===l.baseId)return f();const u=compile_1$1.resolveRef.call(d,l,a,r);if(u===void 0)throw new ref_error_1$1.default(s.opts.uriResolver,a,r);if(u instanceof compile_1$1.SchemaEnv)return w(u);return b(u);function f(){if(n===l)return callRef(e,o,n,n.$async);const y=t.scopeValue("root",{ref:l});return callRef(e,(0,codegen_1$l._)`${y}.validate`,l,l.$async)}function w(y){const _=getValidate(e,y);callRef(e,_,y,y.$async)}function b(y){const _=t.scopeValue("schema",i.code.source===!0?{ref:y,code:(0,codegen_1$l.stringify)(y)}:{ref:y}),m=t.name("valid"),p=e.subschema({schema:y,dataTypes:[],schemaPath:codegen_1$l.nil,topSchemaRef:_,errSchemaPath:r},m);e.mergeEvaluated(p),e.ok(m)}}};function getValidate(e,t){const{gen:r}=e;return t.validate?r.scopeValue("validate",{ref:t.validate}):(0,codegen_1$l._)`${r.scopeValue("wrapper",{ref:t})}.validate`}ref.getValidate=getValidate;function callRef(e,t,r,s){const{gen:a,it:n}=e,{allErrors:o,schemaEnv:i,opts:d}=n,l=d.passContext?names_1$1.default.this:codegen_1$l.nil;s?u():f();function u(){if(!i.$async)throw new Error("async schema referenced by sync schema");const y=a.let("valid");a.try(()=>{a.code((0,codegen_1$l._)`await ${(0,code_1$8.callValidateCode)(e,t,l)}`),b(t),o||a.assign(y,!0)},_=>{a.if((0,codegen_1$l._)`!(${_} instanceof ${n.ValidationError})`,()=>a.throw(_)),w(_),o||a.assign(y,!1)}),e.ok(y)}function f(){e.result((0,code_1$8.callValidateCode)(e,t,l),()=>b(t),()=>w(t))}function w(y){const _=(0,codegen_1$l._)`${y}.errors`;a.assign(names_1$1.default.vErrors,(0,codegen_1$l._)`${names_1$1.default.vErrors} === null ? ${_} : ${names_1$1.default.vErrors}.concat(${_})`),a.assign(names_1$1.default.errors,(0,codegen_1$l._)`${names_1$1.default.vErrors}.length`)}function b(y){var _;if(!n.opts.unevaluated)return;const m=(_=r==null?void 0:r.validate)===null||_===void 0?void 0:_.evaluated;if(n.props!==!0)if(m&&!m.dynamicProps)m.props!==void 0&&(n.props=util_1$j.mergeEvaluated.props(a,m.props,n.props));else{const p=a.var("props",(0,codegen_1$l._)`${y}.evaluated.props`);n.props=util_1$j.mergeEvaluated.props(a,p,n.props,codegen_1$l.Name)}if(n.items!==!0)if(m&&!m.dynamicItems)m.items!==void 0&&(n.items=util_1$j.mergeEvaluated.items(a,m.items,n.items));else{const p=a.var("items",(0,codegen_1$l._)`${y}.evaluated.items`);n.items=util_1$j.mergeEvaluated.items(a,p,n.items,codegen_1$l.Name)}}}ref.callRef=callRef,ref.default=def$r,Object.defineProperty(core$1,"__esModule",{value:!0});const id_1=id,ref_1=ref,core=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",id_1.default,ref_1.default];core$1.default=core;var validation$1={},limitNumber={};Object.defineProperty(limitNumber,"__esModule",{value:!0});const codegen_1$k=codegen,ops=codegen_1$k.operators,KWDs={maximum:{okStr:"<=",ok:ops.LTE,fail:ops.GT},minimum:{okStr:">=",ok:ops.GTE,fail:ops.LT},exclusiveMaximum:{okStr:"<",ok:ops.LT,fail:ops.GTE},exclusiveMinimum:{okStr:">",ok:ops.GT,fail:ops.LTE}},error$i={message:({keyword:e,schemaCode:t})=>(0,codegen_1$k.str)`must be ${KWDs[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>(0,codegen_1$k._)`{comparison: ${KWDs[e].okStr}, limit: ${t}}`},def$q={keyword:Object.keys(KWDs),type:"number",schemaType:"number",$data:!0,error:error$i,code(e){const{keyword:t,data:r,schemaCode:s}=e;e.fail$data((0,codegen_1$k._)`${r} ${KWDs[t].fail} ${s} || isNaN(${r})`)}};limitNumber.default=def$q;var multipleOf={};Object.defineProperty(multipleOf,"__esModule",{value:!0});const codegen_1$j=codegen,error$h={message:({schemaCode:e})=>(0,codegen_1$j.str)`must be multiple of ${e}`,params:({schemaCode:e})=>(0,codegen_1$j._)`{multipleOf: ${e}}`},def$p={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:error$h,code(e){const{gen:t,data:r,schemaCode:s,it:a}=e,n=a.opts.multipleOfPrecision,o=t.let("res"),i=n?(0,codegen_1$j._)`Math.abs(Math.round(${o}) - ${o}) > 1e-${n}`:(0,codegen_1$j._)`${o} !== parseInt(${o})`;e.fail$data((0,codegen_1$j._)`(${s} === 0 || (${o} = ${r}/${s}, ${i}))`)}};multipleOf.default=def$p;var limitLength={},ucs2length$1={};Object.defineProperty(ucs2length$1,"__esModule",{value:!0});function ucs2length(e){const t=e.length;let r=0,s=0,a;for(;s<t;)r++,a=e.charCodeAt(s++),a>=55296&&a<=56319&&s<t&&(a=e.charCodeAt(s),(a&64512)===56320&&s++);return r}ucs2length$1.default=ucs2length,ucs2length.code='require("ajv/dist/runtime/ucs2length").default',Object.defineProperty(limitLength,"__esModule",{value:!0});const codegen_1$i=codegen,util_1$i=util,ucs2length_1=ucs2length$1,error$g={message({keyword:e,schemaCode:t}){const r=e==="maxLength"?"more":"fewer";return(0,codegen_1$i.str)`must NOT have ${r} than ${t} characters`},params:({schemaCode:e})=>(0,codegen_1$i._)`{limit: ${e}}`},def$o={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:error$g,code(e){const{keyword:t,data:r,schemaCode:s,it:a}=e,n=t==="maxLength"?codegen_1$i.operators.GT:codegen_1$i.operators.LT,o=a.opts.unicode===!1?(0,codegen_1$i._)`${r}.length`:(0,codegen_1$i._)`${(0,util_1$i.useFunc)(e.gen,ucs2length_1.default)}(${r})`;e.fail$data((0,codegen_1$i._)`${o} ${n} ${s}`)}};limitLength.default=def$o;var pattern={};Object.defineProperty(pattern,"__esModule",{value:!0});const code_1$7=code,codegen_1$h=codegen,error$f={message:({schemaCode:e})=>(0,codegen_1$h.str)`must match pattern "${e}"`,params:({schemaCode:e})=>(0,codegen_1$h._)`{pattern: ${e}}`},def$n={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:error$f,code(e){const{data:t,$data:r,schema:s,schemaCode:a,it:n}=e,o=n.opts.unicodeRegExp?"u":"",i=r?(0,codegen_1$h._)`(new RegExp(${a}, ${o}))`:(0,code_1$7.usePattern)(e,s);e.fail$data((0,codegen_1$h._)`!${i}.test(${t})`)}};pattern.default=def$n;var limitProperties={};Object.defineProperty(limitProperties,"__esModule",{value:!0});const codegen_1$g=codegen,error$e={message({keyword:e,schemaCode:t}){const r=e==="maxProperties"?"more":"fewer";return(0,codegen_1$g.str)`must NOT have ${r} than ${t} properties`},params:({schemaCode:e})=>(0,codegen_1$g._)`{limit: ${e}}`},def$m={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:error$e,code(e){const{keyword:t,data:r,schemaCode:s}=e,a=t==="maxProperties"?codegen_1$g.operators.GT:codegen_1$g.operators.LT;e.fail$data((0,codegen_1$g._)`Object.keys(${r}).length ${a} ${s}`)}};limitProperties.default=def$m;var required={};Object.defineProperty(required,"__esModule",{value:!0});const code_1$6=code,codegen_1$f=codegen,util_1$h=util,error$d={message:({params:{missingProperty:e}})=>(0,codegen_1$f.str)`must have required property '${e}'`,params:({params:{missingProperty:e}})=>(0,codegen_1$f._)`{missingProperty: ${e}}`},def$l={keyword:"required",type:"object",schemaType:"array",$data:!0,error:error$d,code(e){const{gen:t,schema:r,schemaCode:s,data:a,$data:n,it:o}=e,{opts:i}=o;if(!n&&r.length===0)return;const d=r.length>=i.loopRequired;if(o.allErrors?l():u(),i.strictRequired){const b=e.parentSchema.properties,{definedProperties:y}=e.it;for(const _ of r)if((b==null?void 0:b[_])===void 0&&!y.has(_)){const m=o.schemaEnv.baseId+o.errSchemaPath,p=`required property "${_}" is not defined at "${m}" (strictRequired)`;(0,util_1$h.checkStrictMode)(o,p,o.opts.strictRequired)}}function l(){if(d||n)e.block$data(codegen_1$f.nil,f);else for(const b of r)(0,code_1$6.checkReportMissingProp)(e,b)}function u(){const b=t.let("missing");if(d||n){const y=t.let("valid",!0);e.block$data(y,()=>w(b,y)),e.ok(y)}else t.if((0,code_1$6.checkMissingProp)(e,r,b)),(0,code_1$6.reportMissingProp)(e,b),t.else()}function f(){t.forOf("prop",s,b=>{e.setParams({missingProperty:b}),t.if((0,code_1$6.noPropertyInData)(t,a,b,i.ownProperties),()=>e.error())})}function w(b,y){e.setParams({missingProperty:b}),t.forOf(b,s,()=>{t.assign(y,(0,code_1$6.propertyInData)(t,a,b,i.ownProperties)),t.if((0,codegen_1$f.not)(y),()=>{e.error(),t.break()})},codegen_1$f.nil)}}};required.default=def$l;var limitItems={};Object.defineProperty(limitItems,"__esModule",{value:!0});const codegen_1$e=codegen,error$c={message({keyword:e,schemaCode:t}){const r=e==="maxItems"?"more":"fewer";return(0,codegen_1$e.str)`must NOT have ${r} than ${t} items`},params:({schemaCode:e})=>(0,codegen_1$e._)`{limit: ${e}}`},def$k={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:error$c,code(e){const{keyword:t,data:r,schemaCode:s}=e,a=t==="maxItems"?codegen_1$e.operators.GT:codegen_1$e.operators.LT;e.fail$data((0,codegen_1$e._)`${r}.length ${a} ${s}`)}};limitItems.default=def$k;var uniqueItems={},equal$1={};Object.defineProperty(equal$1,"__esModule",{value:!0});const equal=fastDeepEqual;equal.code='require("ajv/dist/runtime/equal").default',equal$1.default=equal,Object.defineProperty(uniqueItems,"__esModule",{value:!0});const dataType_1=dataType,codegen_1$d=codegen,util_1$g=util,equal_1$2=equal$1,error$b={message:({params:{i:e,j:t}})=>(0,codegen_1$d.str)`must NOT have duplicate items (items ## ${t} and ${e} are identical)`,params:({params:{i:e,j:t}})=>(0,codegen_1$d._)`{i: ${e}, j: ${t}}`},def$j={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:error$b,code(e){const{gen:t,data:r,$data:s,schema:a,parentSchema:n,schemaCode:o,it:i}=e;if(!s&&!a)return;const d=t.let("valid"),l=n.items?(0,dataType_1.getSchemaTypes)(n.items):[];e.block$data(d,u,(0,codegen_1$d._)`${o} === false`),e.ok(d);function u(){const y=t.let("i",(0,codegen_1$d._)`${r}.length`),_=t.let("j");e.setParams({i:y,j:_}),t.assign(d,!0),t.if((0,codegen_1$d._)`${y} > 1`,()=>(f()?w:b)(y,_))}function f(){return l.length>0&&!l.some(y=>y==="object"||y==="array")}function w(y,_){const m=t.name("item"),p=(0,dataType_1.checkDataTypes)(l,m,i.opts.strictNumbers,dataType_1.DataType.Wrong),g=t.const("indices",(0,codegen_1$d._)`{}`);t.for((0,codegen_1$d._)`;${y}--;`,()=>{t.let(m,(0,codegen_1$d._)`${r}[${y}]`),t.if(p,(0,codegen_1$d._)`continue`),l.length>1&&t.if((0,codegen_1$d._)`typeof ${m} == "string"`,(0,codegen_1$d._)`${m} += "_"`),t.if((0,codegen_1$d._)`typeof ${g}[${m}] == "number"`,()=>{t.assign(_,(0,codegen_1$d._)`${g}[${m}]`),e.error(),t.assign(d,!1).break()}).code((0,codegen_1$d._)`${g}[${m}] = ${y}`)})}function b(y,_){const m=(0,util_1$g.useFunc)(t,equal_1$2.default),p=t.name("outer");t.label(p).for((0,codegen_1$d._)`;${y}--;`,()=>t.for((0,codegen_1$d._)`${_} = ${y}; ${_}--;`,()=>t.if((0,codegen_1$d._)`${m}(${r}[${y}], ${r}[${_}])`,()=>{e.error(),t.assign(d,!1).break(p)})))}}};uniqueItems.default=def$j;var _const={};Object.defineProperty(_const,"__esModule",{value:!0});const codegen_1$c=codegen,util_1$f=util,equal_1$1=equal$1,error$a={message:"must be equal to constant",params:({schemaCode:e})=>(0,codegen_1$c._)`{allowedValue: ${e}}`},def$i={keyword:"const",$data:!0,error:error$a,code(e){const{gen:t,data:r,$data:s,schemaCode:a,schema:n}=e;s||n&&typeof n=="object"?e.fail$data((0,codegen_1$c._)`!${(0,util_1$f.useFunc)(t,equal_1$1.default)}(${r}, ${a})`):e.fail((0,codegen_1$c._)`${n} !== ${r}`)}};_const.default=def$i;var _enum={};Object.defineProperty(_enum,"__esModule",{value:!0});const codegen_1$b=codegen,util_1$e=util,equal_1=equal$1,error$9={message:"must be equal to one of the allowed values",params:({schemaCode:e})=>(0,codegen_1$b._)`{allowedValues: ${e}}`},def$h={keyword:"enum",schemaType:"array",$data:!0,error:error$9,code(e){const{gen:t,data:r,$data:s,schema:a,schemaCode:n,it:o}=e;if(!s&&a.length===0)throw new Error("enum must have non-empty array");const i=a.length>=o.opts.loopEnum;let d;const l=()=>d??(d=(0,util_1$e.useFunc)(t,equal_1.default));let u;if(i||s)u=t.let("valid"),e.block$data(u,f);else{if(!Array.isArray(a))throw new Error("ajv implementation error");const b=t.const("vSchema",n);u=(0,codegen_1$b.or)(...a.map((y,_)=>w(b,_)))}e.pass(u);function f(){t.assign(u,!1),t.forOf("v",n,b=>t.if((0,codegen_1$b._)`${l()}(${r}, ${b})`,()=>t.assign(u,!0).break()))}function w(b,y){const _=a[y];return typeof _=="object"&&_!==null?(0,codegen_1$b._)`${l()}(${r}, ${b}[${y}])`:(0,codegen_1$b._)`${r} === ${_}`}}};_enum.default=def$h,Object.defineProperty(validation$1,"__esModule",{value:!0});const limitNumber_1=limitNumber,multipleOf_1=multipleOf,limitLength_1=limitLength,pattern_1=pattern,limitProperties_1=limitProperties,required_1=required,limitItems_1=limitItems,uniqueItems_1=uniqueItems,const_1=_const,enum_1=_enum,validation=[limitNumber_1.default,multipleOf_1.default,limitLength_1.default,pattern_1.default,limitProperties_1.default,required_1.default,limitItems_1.default,uniqueItems_1.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},const_1.default,enum_1.default];validation$1.default=validation;var applicator={},additionalItems={};Object.defineProperty(additionalItems,"__esModule",{value:!0}),additionalItems.validateAdditionalItems=void 0;const codegen_1$a=codegen,util_1$d=util,error$8={message:({params:{len:e}})=>(0,codegen_1$a.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,codegen_1$a._)`{limit: ${e}}`},def$g={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:error$8,code(e){const{parentSchema:t,it:r}=e,{items:s}=t;if(!Array.isArray(s)){(0,util_1$d.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}validateAdditionalItems(e,s)}};function validateAdditionalItems(e,t){const{gen:r,schema:s,data:a,keyword:n,it:o}=e;o.items=!0;const i=r.const("len",(0,codegen_1$a._)`${a}.length`);if(s===!1)e.setParams({len:t.length}),e.pass((0,codegen_1$a._)`${i} <= ${t.length}`);else if(typeof s=="object"&&!(0,util_1$d.alwaysValidSchema)(o,s)){const l=r.var("valid",(0,codegen_1$a._)`${i} <= ${t.length}`);r.if((0,codegen_1$a.not)(l),()=>d(l)),e.ok(l)}function d(l){r.forRange("i",t.length,i,u=>{e.subschema({keyword:n,dataProp:u,dataPropType:util_1$d.Type.Num},l),o.allErrors||r.if((0,codegen_1$a.not)(l),()=>r.break())})}}additionalItems.validateAdditionalItems=validateAdditionalItems,additionalItems.default=def$g;var prefixItems={},items={};Object.defineProperty(items,"__esModule",{value:!0}),items.validateTuple=void 0;const codegen_1$9=codegen,util_1$c=util,code_1$5=code,def$f={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(e){const{schema:t,it:r}=e;if(Array.isArray(t))return validateTuple(e,"additionalItems",t);r.items=!0,!(0,util_1$c.alwaysValidSchema)(r,t)&&e.ok((0,code_1$5.validateArray)(e))}};function validateTuple(e,t,r=e.schema){const{gen:s,parentSchema:a,data:n,keyword:o,it:i}=e;u(a),i.opts.unevaluated&&r.length&&i.items!==!0&&(i.items=util_1$c.mergeEvaluated.items(s,r.length,i.items));const d=s.name("valid"),l=s.const("len",(0,codegen_1$9._)`${n}.length`);r.forEach((f,w)=>{(0,util_1$c.alwaysValidSchema)(i,f)||(s.if((0,codegen_1$9._)`${l} > ${w}`,()=>e.subschema({keyword:o,schemaProp:w,dataProp:w},d)),e.ok(d))});function u(f){const{opts:w,errSchemaPath:b}=i,y=r.length,_=y===f.minItems&&(y===f.maxItems||f[t]===!1);if(w.strictTuples&&!_){const m=`"${o}" is ${y}-tuple, but minItems or maxItems/${t} are not specified or different at path "${b}"`;(0,util_1$c.checkStrictMode)(i,m,w.strictTuples)}}}items.validateTuple=validateTuple,items.default=def$f,Object.defineProperty(prefixItems,"__esModule",{value:!0});const items_1$1=items,def$e={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:e=>(0,items_1$1.validateTuple)(e,"items")};prefixItems.default=def$e;var items2020={};Object.defineProperty(items2020,"__esModule",{value:!0});const codegen_1$8=codegen,util_1$b=util,code_1$4=code,additionalItems_1$1=additionalItems,error$7={message:({params:{len:e}})=>(0,codegen_1$8.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,codegen_1$8._)`{limit: ${e}}`},def$d={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:error$7,code(e){const{schema:t,parentSchema:r,it:s}=e,{prefixItems:a}=r;s.items=!0,!(0,util_1$b.alwaysValidSchema)(s,t)&&(a?(0,additionalItems_1$1.validateAdditionalItems)(e,a):e.ok((0,code_1$4.validateArray)(e)))}};items2020.default=def$d;var contains={};Object.defineProperty(contains,"__esModule",{value:!0});const codegen_1$7=codegen,util_1$a=util,error$6={message:({params:{min:e,max:t}})=>t===void 0?(0,codegen_1$7.str)`must contain at least ${e} valid item(s)`:(0,codegen_1$7.str)`must contain at least ${e} and no more than ${t} valid item(s)`,params:({params:{min:e,max:t}})=>t===void 0?(0,codegen_1$7._)`{minContains: ${e}}`:(0,codegen_1$7._)`{minContains: ${e}, maxContains: ${t}}`},def$c={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:error$6,code(e){const{gen:t,schema:r,parentSchema:s,data:a,it:n}=e;let o,i;const{minContains:d,maxContains:l}=s;n.opts.next?(o=d===void 0?1:d,i=l):o=1;const u=t.const("len",(0,codegen_1$7._)`${a}.length`);if(e.setParams({min:o,max:i}),i===void 0&&o===0){(0,util_1$a.checkStrictMode)(n,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(i!==void 0&&o>i){(0,util_1$a.checkStrictMode)(n,'"minContains" > "maxContains" is always invalid'),e.fail();return}if((0,util_1$a.alwaysValidSchema)(n,r)){let _=(0,codegen_1$7._)`${u} >= ${o}`;i!==void 0&&(_=(0,codegen_1$7._)`${_} && ${u} <= ${i}`),e.pass(_);return}n.items=!0;const f=t.name("valid");i===void 0&&o===1?b(f,()=>t.if(f,()=>t.break())):o===0?(t.let(f,!0),i!==void 0&&t.if((0,codegen_1$7._)`${a}.length > 0`,w)):(t.let(f,!1),w()),e.result(f,()=>e.reset());function w(){const _=t.name("_valid"),m=t.let("count",0);b(_,()=>t.if(_,()=>y(m)))}function b(_,m){t.forRange("i",0,u,p=>{e.subschema({keyword:"contains",dataProp:p,dataPropType:util_1$a.Type.Num,compositeRule:!0},_),m()})}function y(_){t.code((0,codegen_1$7._)`${_}++`),i===void 0?t.if((0,codegen_1$7._)`${_} >= ${o}`,()=>t.assign(f,!0).break()):(t.if((0,codegen_1$7._)`${_} > ${i}`,()=>t.assign(f,!1).break()),o===1?t.assign(f,!0):t.if((0,codegen_1$7._)`${_} >= ${o}`,()=>t.assign(f,!0)))}}};contains.default=def$c;var dependencies={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.validateSchemaDeps=e.validatePropertyDeps=e.error=void 0;const t=codegen,r=util,s=code;e.error={message:({params:{property:d,depsCount:l,deps:u}})=>{const f=l===1?"property":"properties";return(0,t.str)`must have ${f} ${u} when property ${d} is present`},params:({params:{property:d,depsCount:l,deps:u,missingProperty:f}})=>(0,t._)`{property: ${d},
|
|
8
|
-
|
|
9
|
-
depsCount: ${l},
|
|
10
|
-
deps: ${u}}`};const a={keyword:"dependencies",type:"object",schemaType:"object",error:e.error,code(d){const[l,u]=n(d);o(d,l),i(d,u)}};function n({schema:d}){const l={},u={};for(const f in d){if(f==="__proto__")continue;const w=Array.isArray(d[f])?l:u;w[f]=d[f]}return[l,u]}function o(d,l=d.schema){const{gen:u,data:f,it:w}=d;if(Object.keys(l).length===0)return;const b=u.let("missing");for(const y in l){const _=l[y];if(_.length===0)continue;const m=(0,s.propertyInData)(u,f,y,w.opts.ownProperties);d.setParams({property:y,depsCount:_.length,deps:_.join(", ")}),w.allErrors?u.if(m,()=>{for(const p of _)(0,s.checkReportMissingProp)(d,p)}):(u.if((0,t._)`${m} && (${(0,s.checkMissingProp)(d,_,b)})`),(0,s.reportMissingProp)(d,b),u.else())}}e.validatePropertyDeps=o;function i(d,l=d.schema){const{gen:u,data:f,keyword:w,it:b}=d,y=u.name("valid");for(const _ in l)(0,r.alwaysValidSchema)(b,l[_])||(u.if((0,s.propertyInData)(u,f,_,b.opts.ownProperties),()=>{const m=d.subschema({keyword:w,schemaProp:_},y);d.mergeValidEvaluated(m,y)},()=>u.var(y,!0)),d.ok(y))}e.validateSchemaDeps=i,e.default=a})(dependencies);var propertyNames={};Object.defineProperty(propertyNames,"__esModule",{value:!0});const codegen_1$6=codegen,util_1$9=util,error$5={message:"property name must be valid",params:({params:e})=>(0,codegen_1$6._)`{propertyName: ${e.propertyName}}`},def$b={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:error$5,code(e){const{gen:t,schema:r,data:s,it:a}=e;if((0,util_1$9.alwaysValidSchema)(a,r))return;const n=t.name("valid");t.forIn("key",s,o=>{e.setParams({propertyName:o}),e.subschema({keyword:"propertyNames",data:o,dataTypes:["string"],propertyName:o,compositeRule:!0},n),t.if((0,codegen_1$6.not)(n),()=>{e.error(!0),a.allErrors||t.break()})}),e.ok(n)}};propertyNames.default=def$b;var additionalProperties={};Object.defineProperty(additionalProperties,"__esModule",{value:!0});const code_1$3=code,codegen_1$5=codegen,names_1=names$1,util_1$8=util,error$4={message:"must NOT have additional properties",params:({params:e})=>(0,codegen_1$5._)`{additionalProperty: ${e.additionalProperty}}`},def$a={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:error$4,code(e){const{gen:t,schema:r,parentSchema:s,data:a,errsCount:n,it:o}=e;if(!n)throw new Error("ajv implementation error");const{allErrors:i,opts:d}=o;if(o.props=!0,d.removeAdditional!=="all"&&(0,util_1$8.alwaysValidSchema)(o,r))return;const l=(0,code_1$3.allSchemaProperties)(s.properties),u=(0,code_1$3.allSchemaProperties)(s.patternProperties);f(),e.ok((0,codegen_1$5._)`${n} === ${names_1.default.errors}`);function f(){t.forIn("key",a,m=>{!l.length&&!u.length?y(m):t.if(w(m),()=>y(m))})}function w(m){let p;if(l.length>8){const g=(0,util_1$8.schemaRefOrVal)(o,s.properties,"properties");p=(0,code_1$3.isOwnProperty)(t,g,m)}else l.length?p=(0,codegen_1$5.or)(...l.map(g=>(0,codegen_1$5._)`${m} === ${g}`)):p=codegen_1$5.nil;return u.length&&(p=(0,codegen_1$5.or)(p,...u.map(g=>(0,codegen_1$5._)`${(0,code_1$3.usePattern)(e,g)}.test(${m})`))),(0,codegen_1$5.not)(p)}function b(m){t.code((0,codegen_1$5._)`delete ${a}[${m}]`)}function y(m){if(d.removeAdditional==="all"||d.removeAdditional&&r===!1){b(m);return}if(r===!1){e.setParams({additionalProperty:m}),e.error(),i||t.break();return}if(typeof r=="object"&&!(0,util_1$8.alwaysValidSchema)(o,r)){const p=t.name("valid");d.removeAdditional==="failing"?(_(m,p,!1),t.if((0,codegen_1$5.not)(p),()=>{e.reset(),b(m)})):(_(m,p),i||t.if((0,codegen_1$5.not)(p),()=>t.break()))}}function _(m,p,g){const E={keyword:"additionalProperties",dataProp:m,dataPropType:util_1$8.Type.Str};g===!1&&Object.assign(E,{compositeRule:!0,createErrors:!1,allErrors:!1}),e.subschema(E,p)}}};additionalProperties.default=def$a;var properties$1={};Object.defineProperty(properties$1,"__esModule",{value:!0});const validate_1=validate$1,code_1$2=code,util_1$7=util,additionalProperties_1$1=additionalProperties,def$9={keyword:"properties",type:"object",schemaType:"object",code(e){const{gen:t,schema:r,parentSchema:s,data:a,it:n}=e;n.opts.removeAdditional==="all"&&s.additionalProperties===void 0&&additionalProperties_1$1.default.code(new validate_1.KeywordCxt(n,additionalProperties_1$1.default,"additionalProperties"));const o=(0,code_1$2.allSchemaProperties)(r);for(const f of o)n.definedProperties.add(f);n.opts.unevaluated&&o.length&&n.props!==!0&&(n.props=util_1$7.mergeEvaluated.props(t,(0,util_1$7.toHash)(o),n.props));const i=o.filter(f=>!(0,util_1$7.alwaysValidSchema)(n,r[f]));if(i.length===0)return;const d=t.name("valid");for(const f of i)l(f)?u(f):(t.if((0,code_1$2.propertyInData)(t,a,f,n.opts.ownProperties)),u(f),n.allErrors||t.else().var(d,!0),t.endIf()),e.it.definedProperties.add(f),e.ok(d);function l(f){return n.opts.useDefaults&&!n.compositeRule&&r[f].default!==void 0}function u(f){e.subschema({keyword:"properties",schemaProp:f,dataProp:f},d)}}};properties$1.default=def$9;var patternProperties={};Object.defineProperty(patternProperties,"__esModule",{value:!0});const code_1$1=code,codegen_1$4=codegen,util_1$6=util,util_2=util,def$8={keyword:"patternProperties",type:"object",schemaType:"object",code(e){const{gen:t,schema:r,data:s,parentSchema:a,it:n}=e,{opts:o}=n,i=(0,code_1$1.allSchemaProperties)(r),d=i.filter(_=>(0,util_1$6.alwaysValidSchema)(n,r[_]));if(i.length===0||d.length===i.length&&(!n.opts.unevaluated||n.props===!0))return;const l=o.strictSchema&&!o.allowMatchingProperties&&a.properties,u=t.name("valid");n.props!==!0&&!(n.props instanceof codegen_1$4.Name)&&(n.props=(0,util_2.evaluatedPropsToName)(t,n.props));const{props:f}=n;w();function w(){for(const _ of i)l&&b(_),n.allErrors?y(_):(t.var(u,!0),y(_),t.if(u))}function b(_){for(const m in l)new RegExp(_).test(m)&&(0,util_1$6.checkStrictMode)(n,`property ${m} matches pattern ${_} (use allowMatchingProperties)`)}function y(_){t.forIn("key",s,m=>{t.if((0,codegen_1$4._)`${(0,code_1$1.usePattern)(e,_)}.test(${m})`,()=>{const p=d.includes(_);p||e.subschema({keyword:"patternProperties",schemaProp:_,dataProp:m,dataPropType:util_2.Type.Str},u),n.opts.unevaluated&&f!==!0?t.assign((0,codegen_1$4._)`${f}[${m}]`,!0):!p&&!n.allErrors&&t.if((0,codegen_1$4.not)(u),()=>t.break())})})}}};patternProperties.default=def$8;var not={};Object.defineProperty(not,"__esModule",{value:!0});const util_1$5=util,def$7={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(e){const{gen:t,schema:r,it:s}=e;if((0,util_1$5.alwaysValidSchema)(s,r)){e.fail();return}const a=t.name("valid");e.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},a),e.failResult(a,()=>e.reset(),()=>e.error())},error:{message:"must NOT be valid"}};not.default=def$7;var anyOf={};Object.defineProperty(anyOf,"__esModule",{value:!0});const code_1=code,def$6={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:code_1.validateUnion,error:{message:"must match a schema in anyOf"}};anyOf.default=def$6;var oneOf={};Object.defineProperty(oneOf,"__esModule",{value:!0});const codegen_1$3=codegen,util_1$4=util,error$3={message:"must match exactly one schema in oneOf",params:({params:e})=>(0,codegen_1$3._)`{passingSchemas: ${e.passing}}`},def$5={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:error$3,code(e){const{gen:t,schema:r,parentSchema:s,it:a}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(a.opts.discriminator&&s.discriminator)return;const n=r,o=t.let("valid",!1),i=t.let("passing",null),d=t.name("_valid");e.setParams({passing:i}),t.block(l),e.result(o,()=>e.reset(),()=>e.error(!0));function l(){n.forEach((u,f)=>{let w;(0,util_1$4.alwaysValidSchema)(a,u)?t.var(d,!0):w=e.subschema({keyword:"oneOf",schemaProp:f,compositeRule:!0},d),f>0&&t.if((0,codegen_1$3._)`${d} && ${o}`).assign(o,!1).assign(i,(0,codegen_1$3._)`[${i}, ${f}]`).else(),t.if(d,()=>{t.assign(o,!0),t.assign(i,f),w&&e.mergeEvaluated(w,codegen_1$3.Name)})})}}};oneOf.default=def$5;var allOf={};Object.defineProperty(allOf,"__esModule",{value:!0});const util_1$3=util,def$4={keyword:"allOf",schemaType:"array",code(e){const{gen:t,schema:r,it:s}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");const a=t.name("valid");r.forEach((n,o)=>{if((0,util_1$3.alwaysValidSchema)(s,n))return;const i=e.subschema({keyword:"allOf",schemaProp:o},a);e.ok(a),e.mergeEvaluated(i)})}};allOf.default=def$4;var _if={};Object.defineProperty(_if,"__esModule",{value:!0});const codegen_1$2=codegen,util_1$2=util,error$2={message:({params:e})=>(0,codegen_1$2.str)`must match "${e.ifClause}" schema`,params:({params:e})=>(0,codegen_1$2._)`{failingKeyword: ${e.ifClause}}`},def$3={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:error$2,code(e){const{gen:t,parentSchema:r,it:s}=e;r.then===void 0&&r.else===void 0&&(0,util_1$2.checkStrictMode)(s,'"if" without "then" and "else" is ignored');const a=hasSchema(s,"then"),n=hasSchema(s,"else");if(!a&&!n)return;const o=t.let("valid",!0),i=t.name("_valid");if(d(),e.reset(),a&&n){const u=t.let("ifClause");e.setParams({ifClause:u}),t.if(i,l("then",u),l("else",u))}else a?t.if(i,l("then")):t.if((0,codegen_1$2.not)(i),l("else"));e.pass(o,()=>e.error(!0));function d(){const u=e.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},i);e.mergeEvaluated(u)}function l(u,f){return()=>{const w=e.subschema({keyword:u},i);t.assign(o,i),e.mergeValidEvaluated(w,o),f?t.assign(f,(0,codegen_1$2._)`${u}`):e.setParams({ifClause:u})}}}};function hasSchema(e,t){const r=e.schema[t];return r!==void 0&&!(0,util_1$2.alwaysValidSchema)(e,r)}_if.default=def$3;var thenElse={};Object.defineProperty(thenElse,"__esModule",{value:!0});const util_1$1=util,def$2={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:r}){t.if===void 0&&(0,util_1$1.checkStrictMode)(r,`"${e}" without "if" is ignored`)}};thenElse.default=def$2,Object.defineProperty(applicator,"__esModule",{value:!0});const additionalItems_1=additionalItems,prefixItems_1=prefixItems,items_1=items,items2020_1=items2020,contains_1=contains,dependencies_1=dependencies,propertyNames_1=propertyNames,additionalProperties_1=additionalProperties,properties_1=properties$1,patternProperties_1=patternProperties,not_1=not,anyOf_1=anyOf,oneOf_1=oneOf,allOf_1=allOf,if_1=_if,thenElse_1=thenElse;function getApplicator(e=!1){const t=[not_1.default,anyOf_1.default,oneOf_1.default,allOf_1.default,if_1.default,thenElse_1.default,propertyNames_1.default,additionalProperties_1.default,dependencies_1.default,properties_1.default,patternProperties_1.default];return e?t.push(prefixItems_1.default,items2020_1.default):t.push(additionalItems_1.default,items_1.default),t.push(contains_1.default),t}applicator.default=getApplicator;var format$2={},format$1={};Object.defineProperty(format$1,"__esModule",{value:!0});const codegen_1$1=codegen,error$1={message:({schemaCode:e})=>(0,codegen_1$1.str)`must match format "${e}"`,params:({schemaCode:e})=>(0,codegen_1$1._)`{format: ${e}}`},def$1={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:error$1,code(e,t){const{gen:r,data:s,$data:a,schema:n,schemaCode:o,it:i}=e,{opts:d,errSchemaPath:l,schemaEnv:u,self:f}=i;if(!d.validateFormats)return;a?w():b();function w(){const y=r.scopeValue("formats",{ref:f.formats,code:d.code.formats}),_=r.const("fDef",(0,codegen_1$1._)`${y}[${o}]`),m=r.let("fType"),p=r.let("format");r.if((0,codegen_1$1._)`typeof ${_} == "object" && !(${_} instanceof RegExp)`,()=>r.assign(m,(0,codegen_1$1._)`${_}.type || "string"`).assign(p,(0,codegen_1$1._)`${_}.validate`),()=>r.assign(m,(0,codegen_1$1._)`"string"`).assign(p,_)),e.fail$data((0,codegen_1$1.or)(g(),E()));function g(){return d.strictSchema===!1?codegen_1$1.nil:(0,codegen_1$1._)`${o} && !${p}`}function E(){const k=u.$async?(0,codegen_1$1._)`(${_}.async ? await ${p}(${s}) : ${p}(${s}))`:(0,codegen_1$1._)`${p}(${s})`,T=(0,codegen_1$1._)`(typeof ${p} == "function" ? ${k} : ${p}.test(${s}))`;return(0,codegen_1$1._)`${p} && ${p} !== true && ${m} === ${t} && !${T}`}}function b(){const y=f.formats[n];if(!y){g();return}if(y===!0)return;const[_,m,p]=E(y);_===t&&e.pass(k());function g(){if(d.strictSchema===!1){f.logger.warn(T());return}throw new Error(T());function T(){return`unknown format "${n}" ignored in schema at path "${l}"`}}function E(T){const I=T instanceof RegExp?(0,codegen_1$1.regexpCode)(T):d.code.formats?(0,codegen_1$1._)`${d.code.formats}${(0,codegen_1$1.getProperty)(n)}`:void 0,M=r.scopeValue("formats",{key:n,ref:T,code:I});return typeof T=="object"&&!(T instanceof RegExp)?[T.type||"string",T.validate,(0,codegen_1$1._)`${M}.validate`]:["string",T,M]}function k(){if(typeof y=="object"&&!(y instanceof RegExp)&&y.async){if(!u.$async)throw new Error("async format in sync schema");return(0,codegen_1$1._)`await ${p}(${s})`}return typeof m=="function"?(0,codegen_1$1._)`${p}(${s})`:(0,codegen_1$1._)`${p}.test(${s})`}}}};format$1.default=def$1,Object.defineProperty(format$2,"__esModule",{value:!0});const format_1$1=format$1,format=[format_1$1.default];format$2.default=format;var metadata={};Object.defineProperty(metadata,"__esModule",{value:!0}),metadata.contentVocabulary=metadata.metadataVocabulary=void 0,metadata.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"],metadata.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"],Object.defineProperty(draft7,"__esModule",{value:!0});const core_1=core$1,validation_1=validation$1,applicator_1=applicator,format_1=format$2,metadata_1=metadata,draft7Vocabularies=[core_1.default,validation_1.default,(0,applicator_1.default)(),format_1.default,metadata_1.metadataVocabulary,metadata_1.contentVocabulary];draft7.default=draft7Vocabularies;var discriminator={},types={};Object.defineProperty(types,"__esModule",{value:!0}),types.DiscrError=void 0;var DiscrError;(function(e){e.Tag="tag",e.Mapping="mapping"})(DiscrError||(types.DiscrError=DiscrError={})),Object.defineProperty(discriminator,"__esModule",{value:!0});const codegen_1=codegen,types_1=types,compile_1=compile,ref_error_1=ref_error,util_1=util,error={message:({params:{discrError:e,tagName:t}})=>e===types_1.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:t,tagName:r}})=>(0,codegen_1._)`{error: ${e}, tag: ${r}, tagValue: ${t}}`},def={keyword:"discriminator",type:"object",schemaType:"object",error,code(e){const{gen:t,data:r,schema:s,parentSchema:a,it:n}=e,{oneOf:o}=a;if(!n.opts.discriminator)throw new Error("discriminator: requires discriminator option");const i=s.propertyName;if(typeof i!="string")throw new Error("discriminator: requires propertyName");if(s.mapping)throw new Error("discriminator: mapping is not supported");if(!o)throw new Error("discriminator: requires oneOf keyword");const d=t.let("valid",!1),l=t.const("tag",(0,codegen_1._)`${r}${(0,codegen_1.getProperty)(i)}`);t.if((0,codegen_1._)`typeof ${l} == "string"`,()=>u(),()=>e.error(!1,{discrError:types_1.DiscrError.Tag,tag:l,tagName:i})),e.ok(d);function u(){const b=w();t.if(!1);for(const y in b)t.elseIf((0,codegen_1._)`${l} === ${y}`),t.assign(d,f(b[y]));t.else(),e.error(!1,{discrError:types_1.DiscrError.Mapping,tag:l,tagName:i}),t.endIf()}function f(b){const y=t.name("valid"),_=e.subschema({keyword:"oneOf",schemaProp:b},y);return e.mergeEvaluated(_,codegen_1.Name),y}function w(){var b;const y={},_=p(a);let m=!0;for(let k=0;k<o.length;k++){let T=o[k];if(T!=null&&T.$ref&&!(0,util_1.schemaHasRulesButRef)(T,n.self.RULES)){const M=T.$ref;if(T=compile_1.resolveRef.call(n.self,n.schemaEnv.root,n.baseId,M),T instanceof compile_1.SchemaEnv&&(T=T.schema),T===void 0)throw new ref_error_1.default(n.opts.uriResolver,n.baseId,M)}const I=(b=T==null?void 0:T.properties)===null||b===void 0?void 0:b[i];if(typeof I!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${i}"`);m=m&&(_||p(T)),g(I,k)}if(!m)throw new Error(`discriminator: "${i}" must be required`);return y;function p({required:k}){return Array.isArray(k)&&k.includes(i)}function g(k,T){if(k.const)E(k.const,T);else if(k.enum)for(const I of k.enum)E(I,T);else throw new Error(`discriminator: "properties/${i}" must have "const" or "enum"`)}function E(k,T){if(typeof k!="string"||k in y)throw new Error(`discriminator: "${i}" values must be unique strings`);y[k]=T}}}};discriminator.default=def;const $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:"#"}},require$$3={$schema,$id,title,definitions,type,properties,default:!0};(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.MissingRefError=t.ValidationError=t.CodeGen=t.Name=t.nil=t.stringify=t.str=t._=t.KeywordCxt=t.Ajv=void 0;const r=core$2,s=draft7,a=discriminator,n=require$$3,o=["/properties"],i="http://json-schema.org/draft-07/schema";class d extends r.default{_addVocabularies(){super._addVocabularies(),s.default.forEach(y=>this.addVocabulary(y)),this.opts.discriminator&&this.addKeyword(a.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;const y=this.opts.$data?this.$dataMetaSchema(n,o):n;this.addMetaSchema(y,i,!1),this.refs["http://json-schema.org/schema"]=i}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(i)?i:void 0)}}t.Ajv=d,e.exports=t=d,e.exports.Ajv=d,Object.defineProperty(t,"__esModule",{value:!0}),t.default=d;var l=validate$1;Object.defineProperty(t,"KeywordCxt",{enumerable:!0,get:function(){return l.KeywordCxt}});var u=codegen;Object.defineProperty(t,"_",{enumerable:!0,get:function(){return u._}}),Object.defineProperty(t,"str",{enumerable:!0,get:function(){return u.str}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return u.stringify}}),Object.defineProperty(t,"nil",{enumerable:!0,get:function(){return u.nil}}),Object.defineProperty(t,"Name",{enumerable:!0,get:function(){return u.Name}}),Object.defineProperty(t,"CodeGen",{enumerable:!0,get:function(){return u.CodeGen}});var f=validation_error;Object.defineProperty(t,"ValidationError",{enumerable:!0,get:function(){return f.default}});var w=ref_error;Object.defineProperty(t,"MissingRefError",{enumerable:!0,get:function(){return w.default}})})(ajv$1,ajv$1.exports);var ajvExports=ajv$1.exports;const Ajv=getDefaultExportFromCjs(ajvExports);var dist={exports:{}},formats={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.formatNames=e.fastFormats=e.fullFormats=void 0;function t(C,R){return{validate:C,compare:R}}e.fullFormats={date:t(n,o),time:t(d,l),"date-time":t(f,w),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:_,"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|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\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:W,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:p,int32:{type:"number",validate:k},int64:{type:"number",validate:T},float:{type:"number",validate:I},double:{type:"number",validate:I},password:!0,binary:!0},e.fastFormats={...e.fullFormats,date:t(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,o),time:t(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,l),"date-time":t(/^\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,w),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},e.formatNames=Object.keys(e.fullFormats);function r(C){return C%4===0&&(C%100!==0||C%400===0)}const s=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,a=[0,31,28,31,30,31,30,31,31,30,31,30,31];function n(C){const R=s.exec(C);if(!R)return!1;const F=+R[1],A=+R[2],K=+R[3];return A>=1&&A<=12&&K>=1&&K<=(A===2&&r(F)?29:a[A])}function o(C,R){if(C&&R)return C>R?1:C<R?-1:0}const i=/^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d(?::?\d\d)?)?$/i;function d(C,R){const F=i.exec(C);if(!F)return!1;const A=+F[1],K=+F[2],x=+F[3],G=F[5];return(A<=23&&K<=59&&x<=59||A===23&&K===59&&x===60)&&(!R||G!=="")}function l(C,R){if(!(C&&R))return;const F=i.exec(C),A=i.exec(R);if(F&&A)return C=F[1]+F[2]+F[3]+(F[4]||""),R=A[1]+A[2]+A[3]+(A[4]||""),C>R?1:C<R?-1:0}const u=/t|\s/i;function f(C){const R=C.split(u);return R.length===2&&n(R[0])&&d(R[1],!0)}function w(C,R){if(!(C&&R))return;const[F,A]=C.split(u),[K,x]=R.split(u),G=o(F,K);if(G!==void 0)return G||l(A,x)}const b=/\/|:/,y=/^(?:[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 _(C){return b.test(C)&&y.test(C)}const m=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function p(C){return m.lastIndex=0,m.test(C)}const g=-2147483648,E=2**31-1;function k(C){return Number.isInteger(C)&&C<=E&&C>=g}function T(C){return Number.isInteger(C)}function I(){return!0}const M=/[^\\]\\Z/;function W(C){if(M.test(C))return!1;try{return new RegExp(C),!0}catch{return!1}}})(formats);var limit={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.formatLimitDefinition=void 0;const t=ajvExports,r=codegen,s=r.operators,a={formatMaximum:{okStr:"<=",ok:s.LTE,fail:s.GT},formatMinimum:{okStr:">=",ok:s.GTE,fail:s.LT},formatExclusiveMaximum:{okStr:"<",ok:s.LT,fail:s.GTE},formatExclusiveMinimum:{okStr:">",ok:s.GT,fail:s.LTE}},n={message:({keyword:i,schemaCode:d})=>r.str`should be ${a[i].okStr} ${d}`,params:({keyword:i,schemaCode:d})=>r._`{comparison: ${a[i].okStr}, limit: ${d}}`};e.formatLimitDefinition={keyword:Object.keys(a),type:"string",schemaType:"string",$data:!0,error:n,code(i){const{gen:d,data:l,schemaCode:u,keyword:f,it:w}=i,{opts:b,self:y}=w;if(!b.validateFormats)return;const _=new t.KeywordCxt(w,y.RULES.all.format.definition,"format");_.$data?m():p();function m(){const E=d.scopeValue("formats",{ref:y.formats,code:b.code.formats}),k=d.const("fmt",r._`${E}[${_.schemaCode}]`);i.fail$data(r.or(r._`typeof ${k} != "object"`,r._`${k} instanceof RegExp`,r._`typeof ${k}.compare != "function"`,g(k)))}function p(){const E=_.schema,k=y.formats[E];if(!k||k===!0)return;if(typeof k!="object"||k instanceof RegExp||typeof k.compare!="function")throw new Error(`"${f}": format "${E}" does not define "compare" function`);const T=d.scopeValue("formats",{key:E,ref:k,code:b.code.formats?r._`${b.code.formats}${r.getProperty(E)}`:void 0});i.fail$data(g(T))}function g(E){return r._`${E}.compare(${l}, ${u}) ${a[f].fail} 0`}},dependencies:["format"]};const o=i=>(i.addKeyword(e.formatLimitDefinition),i);e.default=o})(limit),function(e,t){Object.defineProperty(t,"__esModule",{value:!0});const r=formats,s=limit,a=codegen,n=new a.Name("fullFormats"),o=new a.Name("fastFormats"),i=(l,u={keywords:!0})=>{if(Array.isArray(u))return d(l,u,r.fullFormats,n),l;const[f,w]=u.mode==="fast"?[r.fastFormats,o]:[r.fullFormats,n],b=u.formats||r.formatNames;return d(l,b,f,w),u.keywords&&s.default(l),l};i.get=(l,u="full")=>{const w=(u==="fast"?r.fastFormats:r.fullFormats)[l];if(!w)throw new Error(`Unknown format "${l}"`);return w};function d(l,u,f,w){var b,y;(b=(y=l.opts.code).formats)!==null&&b!==void 0||(y.formats=a._`require("ajv-formats/dist/formats").${w}`);for(const _ of u)l.addFormat(_,f[_])}e.exports=t=i,Object.defineProperty(t,"__esModule",{value:!0}),t.default=i}(dist,dist.exports);var distExports=dist.exports;const addFormats=getDefaultExportFromCjs(distExports);var zh=function e(t){if(t&&t.length)for(const a of t){let n;switch(a.keyword){case"additionalItems":case"items":n="";var s=a.params.limit;n+="不允许超过"+s+"个元素";break;case"additionalProperties":n="不允许有额外的属性";break;case"anyOf":n="数据应为 anyOf 所指定的其中一个";break;case"const":n="应当等于常量";break;case"contains":n="应当包含一个有效项";break;case"dependencies":case"dependentRequired":n="";var s=a.params.depsCount;n+="应当拥有属性"+a.params.property+"的依赖属性"+a.params.deps;break;case"discriminator":switch(a.params.error){case"tag":n='标签 "'+a.params.tag+'" 的类型必须为字符串';break;case"mapping":n='标签 "'+a.params.tag+'" 的值必须在 oneOf 之中';break;default:n='应当通过 "'+a.keyword+' 关键词校验"'}break;case"enum":n="应当是预设定的枚举值之一";break;case"false schema":n="布尔模式出错";break;case"format":n='应当匹配格式 "'+a.params.format+'"';break;case"formatMaximum":case"formatExclusiveMaximum":n="";var r=a.params.comparison+" "+a.params.limit;n+="应当是 "+r;break;case"formatMinimum":case"formatExclusiveMinimum":n="";var r=a.params.comparison+" "+a.params.limit;n+="应当是 "+r;break;case"if":n='应当匹配模式 "'+a.params.failingKeyword+'" ';break;case"maximum":case"exclusiveMaximum":n="";var r=a.params.comparison+" "+a.params.limit;n+="应当为 "+r;break;case"maxItems":n="";var s=a.params.limit;n+="不应多于 "+s+" 个项";break;case"maxLength":n="";var s=a.params.limit;n+="不应多于 "+s+" 个字符";break;case"maxProperties":n="";var s=a.params.limit;n+="不应有多于 "+s+" 个属性";break;case"minimum":case"exclusiveMinimum":n="";var r=a.params.comparison+" "+a.params.limit;n+="应当为 "+r;break;case"minItems":n="";var s=a.params.limit;n+="不应少于 "+s+" 个项";break;case"minLength":n="";var s=a.params.limit;n+="不应少于 "+s+" 个字符";break;case"minProperties":n="";var s=a.params.limit;n+="不应有少于 "+s+" 个属性";break;case"multipleOf":n="应当是 "+a.params.multipleOf+" 的整数倍";break;case"not":n='不应当匹配 "not" schema';break;case"oneOf":n='只能匹配一个 "oneOf" 中的 schema';break;case"pattern":n='应当匹配模式 "'+a.params.pattern+'"';break;case"patternRequired":n="应当有属性匹配模式 "+a.params.missingPattern;break;case"propertyNames":n="属性名 无效";break;case"required":n="应当有必需属性 "+a.params.missingProperty;break;case"type":n="应当是 "+a.params.type+" 类型";break;case"unevaluatedItems":n="";var s=a.params.len;n+=" 不允许有超过 "+s+" 个元素";break;case"unevaluatedProperties":n="不允许存在未求值的属性";break;case"uniqueItems":n="不应当含有重复项 (第 "+a.params.j+" 项与第 "+a.params.i+" 项是重复的)";break;default:n='应当通过 "'+a.keyword+' 关键词校验"'}a.message=n}};const localizeZh=getDefaultExportFromCjs(zh),ajv=new Ajv({strict:!1});addFormats(ajv);const VALIDATOR="validator",OWN_RULE_PROPERTY="ui:rules",DEBUG_PREFIX="[bk-schema-form-validator]",DEFAULT_RULES={required:{message:"必填项",validator:"{{ $self.value !== '' }}"}},throwErr=e=>{throw new Error(`${DEBUG_PREFIX} ${e}`)},globalRules=new Map,registryGlobalRules=e=>{try{if(!e)return;(e==null?void 0:e.constructor)!==Object&&throwErr("global rules must be an object"),Object.keys(e).forEach(t=>{const r=e[t];hasOwnProperty(r,VALIDATOR)||throwErr(`'${t}' rule must have a validator property`);const s=r[VALIDATOR];isExpression(s)||isRegExp(s)||(s==null?void 0:s.constructor)===Function||throwErr(`'${t}' must be one of expression or regexp or function`),globalRules.set(t,r)})}catch(t){throwErr(t)}},validate=(rule,instance)=>{let theRule=rule;typeof rule=="string"&&(theRule=globalRules.get(rule),theRule||throwErr(`'${rule} is not a valid global rule, you can registry it to global rules node or use form item own custom rules`));const{validator,message}=theRule;let valid=!0;return isExpression(validator)?valid=executeExpression(validator,instance):typeof validator=="function"?valid=validator(instance):eval(validator)instanceof RegExp&&(valid=new RegExp(eval(validator)).test(instance.value)),{valid,message}},setWidgetErrorTips=(e,t,r)=>{const s=widgetTree.widgetMap[e],{instance:a}=s;s.type==="node"&&(a==null||a.setState("error",!0),a==null||a.setErrorTips(r));const n=e.split("."),o=[];n.forEach((i,d)=>{var b;const l=n.slice(0,n.length-d),u=l.join("."),f=widgetTree.widgetMap[u],w=f.instance.schema.type==="array"||!f.instance.schema.title;if(o.push(w?l.pop():f.instance.schema.title),(b=f.instance)!=null&&b.verifiable&&f.type==="group"){const y=`${o.reverse().join("-")}: ${r}`;f.instance.setGroupErrorTips(e,y)}})},validateFormItem=e=>{var u;const t=widgetTree.widgetMap[e];if(!t)return{result:!0,message:"",path:""};const{instance:r}=t;if(t.type==="group")r==null||r.clearGroupErrorTips();else{r==null||r.setState("error",!1),r==null||r.setErrorTips("");const f=e.split(".");f.forEach((w,b)=>{var m;const y=f.slice(0,f.length-b).join("."),_=widgetTree.widgetMap[y];(m=_.instance)!=null&&m.verifiable&&_.type==="group"&&_.instance.removeGroupErrorTips(e)})}const s=r.schema,a=ajv.compile(s),n=r.value===void 0?initializationValue(s.type,{integer:0,number:0}):r.value;if(!a(n)){localizeZh(a.errors);const f=ajv.errorsText(a.errors,{separator:`
|
|
11
|
-
`});return setWidgetErrorTips(e,!0,f),{result:!1,message:f,path:e}}const i=((u=r.schema)==null?void 0:u[OWN_RULE_PROPERTY])||[];let d=!1,l="";for(const f of i){const w=validate(f,r);if(!w.valid){d=!0,l=w.message;break}}return d?(setWidgetErrorTips(e,!0,l),{result:!1,message:l,path:e}):{result:!0,message:l,path:e}},validateForm=()=>{let e=!0;return Object.keys(widgetTree.widgetMap).forEach(t=>{var r;(r=validateFormItem(t))!=null&&r.result||(e=!1)}),e},validateFormWithResult=()=>new Promise((e,t)=>{const r=Object.keys(widgetTree.widgetMap).filter(s=>{var a;return((a=widgetTree.widgetMap[s])==null?void 0:a.type)==="node"}).reduce((s,a)=>{const n=validateFormItem(a);return n!=null&&n.result||s.push(n),s},[]);r.length?t(r):e([])}),validateSchema=async e=>{try{return await ajv.validateSchema(e,!0)}catch(t){return console.error("Schema不符合规范, 请检查",t),!1}},dispatchValidate=e=>validateFormItem(e);class FormEvent{constructor(){L(this,"callbacks");this.callbacks=Object.create(null)}on(t,r,s){return t in this.callbacks||(this.callbacks[t]={}),r in this.callbacks[t]||(this.callbacks[t][r]=[]),this.callbacks[t][r].push(s),this}off(t,r,s){if(!(t&&r))this.callbacks=Object.create(null);else if(t&&!r)delete this.callbacks[t];else if(t&&r&&!s)delete this.callbacks[t][r];else{const a=this.callbacks[t][r];for(const n in a)s===a[n]&&a.splice(Number(n),1)}return this}once(t,r,s){const a=this;function n(...o){s(...o),a.off(t,r,n)}return n.fn=s,this.on(t,r,n),this}emit(t,r,...s){if(this.callbacks[t]&&r in this.callbacks[t]){const a=[...this.callbacks[t][r]];for(const n of a)n(...s)}}}const events=new FormEvent,Widget=vue.defineComponent({name:"Widget",inheritAttrs:!1,props,data(){return{loading:!1,datasource:Schema.resolveDefaultDatasource(this.schema),formItemProps:{tips:"",label:""},state:{visible:this.visible,disabled:this.disabled,readonly:this.readonly,error:this.error},errorTips:"",privateSchema:{},key:""}},computed:{widgetMap(){return widgetTree.widgetMap},widgetNode(){return widgetTree.widgetMap[this.path]},parent(){var e;return(e=this.widgetNode)==null?void 0:e.parent},widgetSchema(){return mergeDeep({},this.schema,this.privateSchema)},value(){return this.modelValue}},watch:{modelValue:{handler(e,t){deepEquals(e,t)||setTimeout(()=>{reactionDispatch(this.path,"valChange"),dispatchValidate(this.path)},0)}},widgetSchema:{deep:!0,handler(e,t){deepEquals(e,t)||(this.resetDatasource(),this.key=new Date().getTime().toString())}}},created(){const e=Schema.getUiOptions(this.widgetSchema);this.formItemProps={...e,label:e.showTitle?e.label||Path.getPathLastProp(this.path):"",required:this.required};const t=Schema.getUiComponent(this.widgetSchema),r=Object.assign({},this.formItemProps,t||{});Object.keys(r).forEach(s=>{Reflect.has(this.state,s)&&this.setState(s,r[s])}),widgetTree.addWidgetNode(this.path,this,"node")},mounted(){reactionRegister(this.path,this.widgetSchema["ui:reactions"]),reactionDispatch(this.path,"valChange"),reactionDispatch(this.path,"lifetime/init")},beforeUnmount(){widgetTree.removeWidgetNode(this.path,this),reactionUnRegister(this.path)},methods:{setState(e,t){Reflect.has(this.state,e)?this.state[e]=t:e==="value"?this.$emit("update:modelValue",{path:this.path,value:t}):console.warn(`Widget unsupported ${e} state, please check`)},async loadDataSource(){var t,r;const e=(r=(t=this.widgetSchema)==null?void 0:t["ui:component"])==null?void 0:r.remoteConfig;if(e){const{url:s,params:a,...n}=e,{request:o=request,responseParse:i}=this.httpAdapter;try{this.loading=!0;const d=executeExpression(s,this),l=isObj(a)?executeExpression(a,this):a;this.datasource=await o(d,{...n,params:l,responseParse:i}),this.loading=!1}catch(d){this.loading=!1,console.error(d)}}},setErrorTips(e){this.errorTips=e},getValue(e){return Path.getPathVal(this.rootData,e)},getReadonlyValue(){var r,s;let e=this.modelValue;if(((r=this.widgetSchema["ui:component"])==null?void 0:r.type)==="password")e="******";else if(this.datasource){const a=(s=this.datasource)==null?void 0:s.find(n=>n.value===this.modelValue);a&&(e=a.label)}let t=e===""?"--":e;return Object.prototype.toString.call(t)==="[Object Object]"?t=JSON.stringify(t):Array.isArray(t)?t.some(n=>n&&typeof n=="object")?t=JSON.stringify(t):t=t.join(","):t=String(t),t},getSchema(){return this.widgetSchema},setSchema(e){try{this.privateSchema=JSON.parse(JSON.stringify(e))}catch(t){console.warn(t)}return this.widgetSchema},resetDatasource(){var t,r;((r=(t=this.widgetSchema)==null?void 0:t["ui:component"])==null?void 0:r.remoteConfig)?this.loadDataSource():this.datasource=Schema.resolveDefaultDatasource(this.widgetSchema)},getDefaultValue(){return Schema.getSchemaDefaultValue(this.widgetSchema)},resetToDefault(){const e=this.getDefaultValue();this.$emit("update:modelValue",{path:this.path,value:e})},isDefaultValue(){const e=this.getDefaultValue();return deepEquals(this.modelValue,e)}},render(){var _,m,p;const{name:e,...t}=Schema.getUiComponent(this.widgetSchema),r={...this.$props,loading:this.loading,modelValue:this.modelValue},s=this,a=registry.getComponent(e)||e||Schema.getDefaultWidget(this.widgetSchema),n=((_=events.callbacks)==null?void 0:_[this.path])||{},o=()=>{var g;return this.state.readonly&&this.readonlyMode==="value"&&((g=this.widgetSchema["ui:component"])==null?void 0:g.name)!=="table"?l:i},i=((p=(m=this.$slots).default)==null?void 0:p.call(m,{path:this.path}))??vue.h(a,mergeDeep({...r,...t||{},...Object.keys(n).reduce((g,E)=>(g[`on${capitalizeFirstLetter(E)}`]=n[E],g),{}),schema:this.widgetSchema,onClick(){var g;reactionDispatch(s.path,"effect/click"),(g=n.click)==null||g.forEach(E=>E())},"onUpdate:modelValue":g=>{var E;s.$emit("update:modelValue",{path:s.path,value:g}),(E=n["update:modelValue"])==null||E.forEach(k=>k())}},t,{...this.state,datasource:this.datasource,readonly:this.readonly,readonlyMode:this.readonlyMode})),d=()=>{var g,E;return(E=(g=this.$slots).suffix)==null?void 0:E.call(g,{path:this.path,schema:this.widgetSchema})},l=vue.h("div",{},{default:()=>this.getReadonlyValue()}),u=()=>this.removeable?vue.h("span",{class:["bk-schema-form-group-delete"],onClick:()=>{s.$emit("remove",s.path)}},[vue.h("i",{class:["bk-form-icon icon-close3-shape"]})]):null,f=()=>{var k;const g=(k=this.widgetSchema["ui:props"])==null?void 0:k.showResetDefault;return!(g!==void 0?g:this.showResetDefault)||this.isDefaultValue()||this.state.readonly||this.state.disabled?null:vue.withDirectives(vue.h("span",{class:["bk-schema-form-reset-default","bk-form-icon icon-reset"],onClick:()=>{s.resetToDefault()}}),[[bkuiVue.bkTooltips,{content:"恢复默认值"}]])},w=()=>this.state.error?vue.h("p",{class:"bk-schema-form-item__error-tips"},{default:()=>this.errorTips}):null,b=()=>this.formItemProps.tips?vue.h("p",{class:["mt5","mb0","f12"],style:{color:"#5e6d82",lineHeight:"1.5em"}},{default:()=>this.formItemProps.tips}):null,y=()=>{const g=this.formItemProps.label,{description:E}=this.widgetSchema;return E?[vue.withDirectives(vue.h("span",{class:{"bk-schema-form-label-description":E}},g),[[bkuiVue.bkTooltips,{content:E,disabled:!E}]]),f()]:[g,f()]};return vue.h(registry.getBaseWidget("form-item"),{key:this.key,...this.formItemProps,style:{...this.layout.item||{},...this.layout.container||{},display:this.state.visible?"":"none"},class:{"bk-schema-form-item--error":this.state.error}},{label:y,default:()=>[o(),d(),u(),w(),b()]})}}),ObjectField=vue.defineComponent({name:"ObjectField",props,render(){const{schema:e,path:t,layout:r,rootData:s}=this.$props,a=orderProperties(Object.keys(e.properties||{}),e["ui:order"]);let n=[];a.length?n=a.map(d=>{var w;const l=Path.getCurPath(t,d),u=l.split(".").pop(),f=Layout.findLayoutByProp(u,r.group||[])||{};return vue.h(SchemaField,{...this.$props,...this.$attrs,key:l,modelValue:Path.getPathVal(s,l),schema:(w=e.properties)==null?void 0:w[d],required:Schema.isRequired(e,d),path:l,layout:f,removeable:!1},this.$slots)}):Schema.getUiComponent(e)&&(n=[vue.h(Widget,{...this.$props,...this.$attrs},this.$slots)]);const{name:o,...i}=Schema.getGroupWrap(e);return vue.h(o,mergeDeep({...this.$props,...this.$attrs,modelValue:Path.getPathVal(s,t),path:t},i),{default:()=>[...n]})}}),StringField=(e,t)=>vue.h(Widget,{...e,...t.attrs},t.slots),NumberField=vue.defineComponent({name:"NumberField",props,render(){var e;return vue.h(StringField,{...this.$props,...this.$attrs,schema:mergeDeep({"ui:component":{type:"number",min:((e=this.$props.schema)==null?void 0:e.type)==="integer"?0:-1/0}},this.$props.schema)},this.$slots)}}),messages={"zh-CN":{add:"添加"},"en-US":{add:"Add"}};function locale(e){var r;let t=getCookie("blueking_language")||"zh-CN";return["en-US","enUS","enus","en-us","en"].includes(t)?t="en-US":t="zh-CN",((r=messages[t])==null?void 0:r[e])||""}const ArrayWidget=vue.defineComponent({name:"ArrayWidget",props:{...props,modelValue:{type:Array,default:()=>[]}},mounted(){this.handleFillItem()},methods:{handleFillItem(){const{minItems:e=0}=this.schema,t=this.modelValue?this.modelValue.length:0;if(t<e){const r=Schema.getSchemaDefaultValue(this.schema.items),s=new Array(e-t).fill(r);this.$emit("update:modelValue",{path:this.path,value:[...this.modelValue||[],...s]})}},handleAddItem(){const e=Schema.getSchemaDefaultValue(this.schema.items),t=JSON.parse(JSON.stringify(this.modelValue||[]));t.push(e),this.$emit("update:modelValue",{path:this.path,value:t})},handleDeleteItem(e){const t=Number(Path.getPathLastProp(e)),r=JSON.parse(JSON.stringify(this.modelValue||[]));r.splice(t,1),this.$emit("update:modelValue",{path:this.path,value:r})}},render(){const e=this,t=(Array.isArray(this.modelValue)?this.modelValue:[]).map((a,n)=>{const o=Path.getCurPath(this.path,n);return vue.h(SchemaField,{...this.$props,...this.$attrs,key:`${o}-${this.modelValue.length}`,schema:this.schema.items,path:o,layout:{...this.layout,item:{}},removeable:!0,onRemove(i){e.handleDeleteItem(i)}})}),{name:r,...s}=Schema.getGroupWrap(this.schema);return vue.h(r,mergeDeep({...this.$props,layout:{},showTitle:!0,style:{...this.layout.item||{}},"onUpdate:modelValue":a=>{e.$emit("update:modelValue",a)}},s),{default:()=>[...t,this.readonly?void 0:vue.h(registry.getBaseWidget("form-item"),{labelWidth:0,class:{"bk-schema-form-item-auto-height":!0}},{default:()=>[vue.h("span",{class:["bk-schema-form-group-add"],onClick(){e.handleAddItem()}},[vue.h("i",{class:["bk-form-icon icon-plus-circle-shape mr5"]}),locale("add")])]})]})}}),ArrayField=vue.defineComponent({name:"ArrayField",props,render(){const{schema:e,path:t}=this.$props;if(Schema.isMultiSelect(e)||Schema.isCustomArrayWidget(e))return vue.h(Widget,{...this.$props,...this.$attrs,key:t,schema:mergeDeep({"ui:component":{multiple:!0}},this.$props.schema)},this.$slots);if(Schema.isTupleArray(e)){const{name:r,...s}=Schema.getGroupWrap(e),a=e.items.map((n,o)=>vue.h(SchemaField,{...this.$props,...this.$attrs,key:Path.getCurPath(t,o),schema:n,path:Path.getCurPath(t,o)},this.$slots));return vue.h(r,mergeDeep({...this.$props,path:t,showTitle:!0},s),{default:()=>[...a]})}return vue.h(ArrayWidget,{...this.$attrs,...this.$props},this.$slots)}}),BooleanField=vue.defineComponent({name:"BooleanField",props,render(){var r;const{name:e}=this.$props.schema["ui:component"]||{};let t={};return["radio","select"].includes(e)?t={datasource:[{label:"False",value:!1},{label:"True",value:!0}]}:e==="checkbox"&&(t={label:(r=this.$props.schema)==null?void 0:r.title}),vue.h(Widget,{...this.$props,...this.$attrs,schema:mergeDeep({"ui:component":{...t}},this.$props.schema)},this.$slots)}}),CompositionField=vue.defineComponent({name:"CompositionField",props:{...props},data(){return{activeIndex:-1}},computed:{composition(){var e,t;return(e=this.schema.anyOf)!=null&&e.length?"anyOf":(t=this.schema.oneOf)!=null&&t.length?"oneOf":""}},created(){const t=(this.schema[this.composition]||[]).findIndex(r=>ajv.validate(r,this.modelValue));this.activeIndex=t>-1?t:0},render(){const e=this.schema[this.composition]||[],t=e.map(o=>{const i=mergeDeep({},this.schema,o);return delete i[this.composition],i}),{name:r="radio",...s}=Schema.getUiProps(`ui:${this.composition}`,this.schema);if(typeof this.schema.type!="object"&&t.every(o=>o.const))return vue.h(Widget,{...this.$props,...this.$attrs},this.$slots);const{...n}=Schema.getUiProps("ui:composition",this.schema);return vue.h(registry.getComponent("group"),mergeDeep({...this.$props,rootData:this.rootData,schema:this.schema,modelValue:Path.getPathVal(this.rootData,this.path),path:this.path,onRemove(){this.$emit("remove",this.path)}},n),{default:()=>[vue.h(registry.getBaseWidget("form-item"),{label:s==null?void 0:s.title},{default:()=>vue.h(registry.getComponent(r),mergeDeep({modelValue:this.activeIndex,datasource:t.map((o,i)=>({label:o.title||"",value:i})),clearable:!1,"onUpdate:modelValue":o=>{if(this.activeIndex=o,isObj(this.modelValue)){const i=JSON.parse(JSON.stringify(this.modelValue));e.filter((l,u)=>u!==this.activeIndex).reduce((l,u)=>{const{properties:f={}}=u;return l.push(...Object.keys(f)),l},[]).forEach(l=>{delete i[l]}),this.$emit("update:modelValue",{path:this.path,value:i})}}},s||{}))}),vue.h(SchemaField,{...this.$props,...this.$attrs,key:this.activeIndex,removeable:!1,schema:t[this.activeIndex]},this.$slots)]})}}),CheckboxWidget=vue.defineComponent({name:"CheckboxWidget",props:{datasource:{type:Array,default:()=>[]},modelValue:{type:[Array,Boolean],default:()=>[]},label:{type:String,default:""}},methods:{handleChange(e){this.$emit("update:modelValue",e)}},render(){return Array.isArray(this.modelValue)?vue.h(registry.getBaseWidget("checkbox-group"),{modelValue:this.modelValue,onChange:this.handleChange},{default:()=>this.datasource.map(e=>vue.h(registry.getBaseWidget("checkbox"),{...this.$attrs,key:e.value,class:["mr24"],label:e.value},{default:()=>e.label}))}):vue.h(registry.getBaseWidget("checkbox"),{modelValue:this.modelValue,onChange:this.handleChange},{default:()=>this.label})}}),SelectWidget=vue.defineComponent({name:"SelectWidget",props:{datasource:{type:Array,default:()=>[]},modelValue:{type:[Array,String,Number,Boolean],default:""},loading:{type:Boolean,default:!1}},methods:{handleSelectChange(e){this.$emit("update:modelValue",e)}},render(){return vue.h(registry.getBaseWidget("select"),{...this.$attrs,loading:this.loading,modelValue:this.modelValue,onChange:this.handleSelectChange},{default:()=>{var e;return(e=this.datasource)==null?void 0:e.map(t=>vue.withDirectives(vue.h(registry.getBaseWidget("option"),{key:t.value,name:t.label,id:t.value,disabled:t.disabled}),[]))}})}}),RadioWidget=vue.defineComponent({name:"RadioWidget",props:{datasource:{type:Array,default:()=>[]},modelValue:{type:[String,Number,Boolean],default:""},disabled:{type:Boolean,default:!1}},methods:{handleChange(e){this.$emit("update:modelValue",e)}},render(){return vue.h(registry.getBaseWidget("radio-group"),{...this.$attrs,modelValue:this.modelValue,onChange:this.handleChange},{default:()=>this.datasource.map(e=>vue.h(registry.getBaseWidget("radio"),{key:e.value,class:["mr24"],modelValue:e.value,label:e.value,disabled:e.disabled||this.disabled},{default:()=>e.label}))})}}),ButtonWidget=vue.defineComponent({name:"ButtonWidget",props:{word:{type:String,default:""}},methods:{handleClick(){this.$emit("click")}},render(){const e=this;return vue.h(registry.getBaseWidget("button"),{...this.$attrs,onClick:e.handleClick()},{default:()=>this.word})}}),getRowDefaultData=(e={})=>{const t=Object.keys(e),r={};return t.forEach(s=>{r[s]=Schema.getSchemaDefaultValue(e[s])}),[r]},TableWidget=vue.defineComponent({name:"TableWidget",props:{...props,modelValue:{type:Array}},watch:{modelValue:{immediate:!0,handler(){var e;(e=this.modelValue)==null||e.forEach((t,r)=>{const s=`${this.path}.${r}`;widgetTree.removeWidgetNode(s,null),widgetTree.addWidgetNode(s,null,"group")})}}},methods:{handleCellValChange({path:e,value:t}){const r=Path.getSubPath(this.path,e),s=Path.setPathValue(this.modelValue,r,t);this.$emit("update:modelValue",s)},handleAddRow(e){var r,s,a;if((r=this.schema["ui:props"])!=null&&r.disabled)return;const t=((s=this.modelValue)==null?void 0:s.slice(0))||[];t.splice(e+1,0,...getRowDefaultData((a=this.$props.schema.items)==null?void 0:a.properties)),this.$emit("update:modelValue",t)},handleDelRow(e){var r,s;if((r=this.schema["ui:props"])!=null&&r.disabled)return;const t=((s=this.modelValue)==null?void 0:s.slice(0))||[];t.splice(e,1),this.$emit("update:modelValue",t)}},render(){const e=this,{schema:t,path:r,modelValue:s}=this,a=t.items;let n={};a!=null&&a.properties?n=a==null?void 0:a.properties:console.warn("The current schema type is not supported table component",a);const o=Schema.getUiOptions(t),i=()=>{const d=Object.keys(n).map(l=>{const u=n[l];return{...u["ui:props"]||{},label:u==null?void 0:u.title,field:l,render:({row:w,index:b})=>vue.h(SchemaField,{...this.$props,schema:mergeDeep(u,{"ui:props":{showTitle:!1,labelWidth:.1}}),path:Path.getCurPath(r,`${b}.${l}`),modelValue:w[l],"onUpdate:modelValue"(y){e.handleCellValChange(y)}})}});return!this.readonly&&o.modifyRows!==!1&&d.push({label:"操作",width:100,fixed:"right",render:({index:l})=>{var u;return vue.h("div",{class:{"table-widget-actions":!0,"is-disabled":(u=t["ui:props"])==null?void 0:u.disabled}},{default:()=>[vue.h("i",{class:"bk-form-icon icon-plus-line action-btn",onClick(){e.handleAddRow(l)}}),vue.h("i",{class:"bk-form-icon icon-minus-line action-btn",onClick(){e.handleDelRow(l)}})]})}}),d};return vue.h(registry.getBaseWidget("table"),{...t["ui:component"]||{},data:s,columns:i()},{empty:()=>this.readonly||o.modifyRows===!1?null:vue.h("div",{style:{color:"#3a84ff",cursor:"pointer"},onClick:()=>{e.handleAddRow(0)}},"点击添加数据")})}}),FieldGroupWrap=vue.defineComponent({name:"FieldGroupWrap",props:{...props,type:{type:String,default:"default",validator:e=>["default","normal","card"].includes(e)},showTitle:{type:Boolean,default:!1},border:{type:Boolean,default:!1},verifiable:{type:Boolean,default:!1},hideEmptyRow:{type:Boolean,default:!1},showResetDefault:{type:Boolean,default:!1}},data(){return{groupErrorTips:{},state:{visible:!0}}},computed:{value(){return this.modelValue}},created(){widgetTree.addWidgetNode(this.path,this,"group")},mounted(){this.$forceUpdate()},beforeUnmount(){widgetTree.removeWidgetNode(this.path,this)},methods:{setState(e,t){Reflect.has(this.state,e)?this.state[e]=t:console.warn(`Group unsupported ${e} state, please check`)},setGroupErrorTips(e,t){this.groupErrorTips[e]=t},removeGroupErrorTips(e){delete this.groupErrorTips[e]},clearGroupErrorTips(){this.groupErrorTips={}},getDefaultValue(){return Schema.getSchemaDefaultValue(this.schema)},resetToDefault(){const e=this.getDefaultValue();this.$emit("update:modelValue",{path:this.path,value:e})},isDefaultValue(){const e=this.getDefaultValue();return deepEquals(this.modelValue,e)}},render(){var d,l,u,f,w,b;const e={position:"relative",border:this.border?"1px solid #dcdee5":"none",display:this.state.visible?"":"none",...((d=this.layout)==null?void 0:d.item)||{}},t={...((l=this.layout)==null?void 0:l.container)||{display:"grid",gridGap:"24px"}},r=this,s=()=>vue.h("span",{class:["bk-schema-form-group-delete"],onClick(){r.$emit("remove",r.path)}},[vue.h("i",{class:["bk-form-icon icon-close3-shape"]})]),a=((u=this.schema)==null?void 0:u.title)||((f=this.layout)==null?void 0:f.prop),n=Object.keys(this.groupErrorTips).map(y=>vue.createVNode("p",null,[this.groupErrorTips[y]])),o=JSON.stringify(this.groupErrorTips)!=="{}",i=()=>!this.showResetDefault||this.isDefaultValue()||this.readonly||this.disabled?null:vue.withDirectives(vue.h("span",{class:["bk-schema-form-reset-default","bk-form-icon icon-reset"],onClick:()=>{r.resetToDefault()}}),[[bkuiVue.bkTooltips,{content:"恢复默认值"}]]);return vue.createVNode("div",{class:["bk-schema-form-group",this.type,{"hide-empty-row":this.hideEmptyRow},{"bk-schema-form-group--error":o}],style:e},[a&&this.showTitle?vue.createVNode("span",{class:["bk-schema-form-group-title",this.type]},[a,i(),o?vue.createVNode("span",{class:"bk-schema-form-group__error-tips"},[vue.createVNode("span",{class:"bk-schema-form-group__error-tips-popover"},[n])]):null]):null,vue.createVNode("div",{style:t,class:"bk-schema-form-group-content"},[(b=(w=this.$slots)==null?void 0:w.default)==null?void 0:b.call(w)]),this.removeable&&s()])}}),KeyValueArrayWidget=vue.defineComponent({name:"KeyValueArrayWidget",props:{...props,modelValue:{type:Array,default:()=>[]}},mounted(){var t;const{minItems:e=0}=this.schema;if(((t=this.modelValue)==null?void 0:t.length)<e){const r=Schema.getSchemaDefaultValue(this.schema.items),s=new Array(e-this.modelValue.length).fill(r);this.$emit("update:modelValue",[...this.modelValue,...s])}},methods:{handleAddItem(){if(this.disabled)return;const e=Schema.getSchemaDefaultValue(this.schema.items);this.$emit("update:modelValue",[...this.modelValue,e])},handleRemoveItem(e){if(this.disabled)return;const t=JSON.parse(JSON.stringify(this.modelValue));t.splice(e,1),this.$emit("update:modelValue",t)},handleInput({path:e,value:t}){const r=Path.getSubPath(this.path,e),s=Path.setPathValue(this.modelValue,r,t);this.$emit("update:modelValue",s)}},render(){var l,u,f,w,b;const e={"font-size":"16px",color:"#979ba5",cursor:this.disabled?"not-allowed":"pointer",display:"inline-block"},t=(u=(l=this.schema)==null?void 0:l.items)==null?void 0:u.properties,r=orderProperties(Object.keys(t||{}),(w=(f=this.schema)==null?void 0:f.items)==null?void 0:w["ui:order"]),s=Object.keys(t||{}).length,a=t?new Array(s).fill("1fr").concat("20px").join(" "):"1fr 20px",n={...this.layout.container||{display:"grid",gridGap:"24px","grid-template-columns":a}},o=this,i=y=>mergeDeep({"ui:component":{placeholder:y.title},"ui:props":{showTitle:!1,labelWidth:.1}},y),d=y=>{const{path:_,schema:m,required:p,layout:g}=y;return vue.h(SchemaField,{...this.$props,key:_,schema:m,required:p,path:_,layout:g,style:{marginBottom:"10px"},"onUpdate:modelValue"(E){o.handleInput(E)}})};return vue.createVNode("div",null,[(b=this.modelValue)==null?void 0:b.map((y,_)=>{const m=Path.getCurPath(this.path,`${_}`);return vue.createVNode(FieldGroupWrap,vue.mergeProps({...this.$props,path:m,modelValue:Path.getPathVal(this.rootData,m),schema:this.schema.items,layout:{...this.layout,container:{...n}}},{class:"mb10"}),{default:()=>{var p;return[r!=null&&r.length?r.map(g=>{var M,W;const E=(W=(M=this.schema)==null?void 0:M.items)==null?void 0:W.properties[g],k=Path.getCurPath(this.path,`${_}.${g}`),T=k.split(".").pop(),I=Layout.findLayoutByProp(T,this.layout.group||[])||{};return d({path:k,schema:i(E),layout:I,required:Schema.isRequired(E,g)})}):d({path:Path.getCurPath(this.path,_),schema:i(((p=this.schema)==null?void 0:p.items)||{}),layout:{},required:!1}),vue.createVNode("span",{style:e,onClick:()=>this.handleRemoveItem(_)},[vue.createVNode("i",{class:"bk-form-icon icon-minus-line"},null)])]}})}),vue.createVNode("span",{onClick:this.handleAddItem,style:e},[vue.createVNode("i",{class:"bk-form-icon icon-plus-line"},null)])])}}),TabGroupWidget=vue.defineComponent({name:"TabWidget",props:{...props,type:{type:String,default:"default",validator:e=>["default","normal","card"].includes(e)},showTitle:{type:Boolean,default:!1},border:{type:Boolean,default:!1},verifiable:{type:Boolean,default:!1}},data(){return{active:""}},beforeMount(){var t;const e=orderProperties(Object.keys(((t=this.schema)==null?void 0:t.properties)||{}),this.schema["ui:order"]);this.active=e==null?void 0:e[0]},render(){var s;const e={...this.$props,layout:{...this.layout,container:{}},title:this.schema.title},t=this,r=orderProperties(Object.keys(((s=this.schema)==null?void 0:s.properties)||{}),this.schema["ui:order"]);return vue.h(FieldGroupWrap,{...e,onRemove(a){t.$emit("remove",a)}},{default:()=>[vue.h(registry.getBaseWidget("tab"),{type:"border-card",active:this.active,onChange:a=>{this.active=a}},{default:()=>r.map(a=>{var l,u;const n=(u=(l=this.schema)==null?void 0:l.properties)==null?void 0:u[a],o=Path.getCurPath(this.path,a),i=o.split(".").pop(),d=Layout.findLayoutByProp(i,this.layout.group||[])||{};return vue.h(registry.getBaseWidget("tab-panel"),{key:a,name:a,label:n==null?void 0:n.title},{default:()=>vue.h(SchemaField,{...this.$props,...this.$attrs,key:o,schema:n,required:Schema.isRequired(n,a),path:o,layout:d,removeable:!1})})})})]})}}),CollapseGroupWidget=vue.defineComponent({name:"CollapseWidget",props:{...props,type:{type:String,default:"default",validator:e=>["default","normal","card"].includes(e)},showTitle:{type:Boolean,default:!1},border:{type:Boolean,default:!1},defaultActiveName:{type:Array,default:()=>[]},verifiable:{type:Boolean,default:!1}},data(){return{activeName:this.defaultActiveName}},render(){var a;const e={...this.$props,layout:{...this.layout,container:{}},title:this.schema.title},r=orderProperties(Object.keys(((a=this.schema)==null?void 0:a.properties)||{}),this.schema["ui:order"]).map(n=>{var u,f;const o=(f=(u=this.schema)==null?void 0:u.properties)==null?void 0:f[n],i=Path.getCurPath(this.path,n),d=i.split(".").pop(),l=Layout.findLayoutByProp(d,this.layout.group||[])||{};return vue.h(registry.getBaseWidget("collapse-panel"),{key:n,name:n,title:o.title},{content:()=>vue.h(SchemaField,{key:i,...this.$props,...this.$attrs,schema:o,required:Schema.isRequired(o,n),path:i,layout:l,removeable:!1})})}),s=this;return vue.h(FieldGroupWrap,{...e},{default:()=>vue.h(registry.getBaseWidget("collapse"),{"use-card-theme":!0,modelValue:this.activeName,"onUpdate:modelValue"(n){s.activeName=n}},{default:()=>r})})}}),SwitcherWidget=vue.defineComponent({name:"SwitchWidget",props:{modelValue:Boolean},methods:{handleChange(e){this.$emit("update:modelValue",e)}},render(){return vue.h(registry.getBaseWidget("switcher"),{...this.$attrs,modelValue:this.modelValue,onChange:e=>{this.handleChange(e)}})}}),ColorWidget=vue.defineComponent({name:"ColorPicker",props:{modelValue:String},methods:{handleChange(e){this.$emit("update:modelValue",e)}},render(){return vue.h(registry.getBaseWidget("color-picker"),{...this.$attrs,modelValue:this.modelValue,onChange:this.handleChange})}}),InputWidget=vue.defineComponent({name:"InputWidget",props:{modelValue:[String,Number],unit:{type:String,default:""},maxRows:{type:Number,default:0}},computed:{rows(){const e=String(this.modelValue).split(`
|
|
12
|
-
`).length;return e<=this.maxRows?e:this.maxRows}},methods:{handleInput(e){this.$attrs.type==="number"?this.$emit("update:modelValue",isNaN(e)||e===""?e:Number(e)):this.$emit("update:modelValue",e)},handleBlur(e){var r;const t=(r=e==null?void 0:e.target)==null?void 0:r.value;this.$attrs.type==="number"&&isNaN(t)&&this.$emit("update:modelValue",this.$attrs.min||0)}},render(){return vue.h(registry.getBaseWidget("input"),{suffix:this.unit,modelValue:this.modelValue,rows:this.rows,type:this.maxRows>1||Number(this.$attrs.rows)>1?"textarea":"text",onInput:this.handleInput,onBlur:this.handleBlur,...this.$attrs})}}),defaultOptions={namespace:"bk",components:{button:ButtonWidget,select:SelectWidget,radio:RadioWidget,checkbox:CheckboxWidget,table:TableWidget,group:FieldGroupWrap,bfArray:KeyValueArrayWidget,tab:TabGroupWidget,collapse:CollapseGroupWidget,switcher:SwitcherWidget,color:ColorWidget,bfInput:InputWidget},fields:{object:ObjectField,string:StringField,any:"",array:ArrayField,boolean:BooleanField,null:"",integer:NumberField,number:NumberField,composition:CompositionField}};function createForm(e={}){const t=mergeDeep(defaultOptions,e),{namespace:r,components:s,fields:a,baseWidgets:n={}}=t;return Registry.namespace=r,registry.addComponentsMap(s),registry.addFieldsMap(a),registry.addBaseWidgets(n),vue.defineComponent({name:"BkuiForm",props:props$1,data(){return{rootData:{},formKey:"bk-ui-form"}},watch:{schema(o,i){JSON.stringify(o)!==JSON.stringify(i)&&(this.validateSchema(this.schema),this.initFormData(),this.formKey=`bk-ui-form-${new Date().getTime()}`)},context:{handler(o){Registry.context=o,hasOwnProperty(o,"rules")&®istryGlobalRules(o.rules)},immediate:!0},rules:{immediate:!0,handler(o){registryGlobalRules(o)}},modelValue(){this.initFormData()}},beforeCreate(){registryGlobalRules(DEFAULT_RULES)},created(){this.validateSchema(this.schema),this.initFormData()},methods:{initFormData(){this.rootData=merge(Schema.getSchemaDefaultValue(createProxy(this.schema,this))||{},this.modelValue),this.emitFormValueChange(this.rootData,this.modelValue)},emitFormValueChange(o,i){deepEquals(o,i)||(this.rootData=o,this.$emit("update:modelValue",o),this.$emit("change",o,i))},validateForm,validateFormItem,validate:validateFormWithResult,validateSchema},render(){const o=this;return vue.h(registry.getBaseWidget("form"),{ref:"bkui-form",key:this.formKey,model:this.modelValue,formType:this.formType,labelWidth:this.labelWidth,class:{"bk-schema-form":!0},style:{width:typeof this.width=="number"?`${this.width}px`:this.width}},{default:()=>vue.h(SchemaField,{...this.$props,schema:createProxy(this.schema,this),rootData:this.rootData,modelValue:this.modelValue,layout:new Layout(this.layout).layout,"onUpdate:modelValue":({path:i="",value:d})=>{if(!i)o.emitFormValueChange(d,o.modelValue);else{const l=Path.setPathValue(o.rootData,i,d);o.emitFormValueChange(l,o.modelValue)}}},this.$slots)})}})}exports.Schema=Schema,exports.default=createForm,exports.events=events,Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
1
|
+
(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`vue`),require(`bkui-vue`)):typeof define==`function`&&define.amd?define([`exports`,`vue`,`bkui-vue`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.bkSchemaForm={},e.Vue,e.bkuiVue))})(this,function(exports,vue,bkui_vue){Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});var __create=Object.create,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty,__esmMin=(e,t)=>()=>(e&&(t=e(e=0)),t),__commonJSMin=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),__exportAll=(e,t)=>{let n={};for(var r in e)__defProp(n,r,{get:e[r],enumerable:!0});return t||__defProp(n,Symbol.toStringTag,{value:`Module`}),n},__copyProps=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=__getOwnPropNames(t),a=0,o=i.length,s;a<o;a++)s=i[a],!__hasOwnProp.call(e,s)&&s!==n&&__defProp(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(r=__getOwnPropDesc(t,s))||r.enumerable});return e},__toESM=(e,t,n)=>(n=e==null?{}:__create(__getProtoOf(e)),__copyProps(t||!e||!e.__esModule?__defProp(n,`default`,{value:e,enumerable:!0}):n,e)),__toCommonJS=e=>__hasOwnProp.call(e,`module.exports`)?e[`module.exports`]:__copyProps(__defProp({},`__esModule`,{value:!0}),e),isRegExp=e=>Function(`return ${e};`)()?.constructor===RegExp,isObj=e=>Object.prototype.toString.call(e)===`[object Object]`,globalThisPolyfill=function(){try{if(typeof self<`u`)return self}catch{}try{if(typeof window<`u`)return window}catch{}try{if(typeof global<`u`)return global}catch{}return Function(`return this`)()}(),hasOwnProperty=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),valueType=e=>Array.isArray(e)?`array`:typeof e==`string`?`string`:typeof e==`boolean`?`boolean`:isNaN(e)?e===null?`null`:typeof e==`object`?`object`:typeof e:`number`,merge=(e,t)=>isObj(t)?Object.keys(t).reduce((n,r)=>(n[r]=merge(e?.[r]||{},t[r]),n),JSON.parse(JSON.stringify(e))):Array.isArray(t)?(e=Array.isArray(e)?e:[],t.map((t,n)=>e[n]?merge(e[n],t):t)):t;function initializationValue(e,t={integer:void 0,number:void 0}){switch(e){case`any`:return;case`array`:return[];case`boolean`:return!1;case`integer`:return t.integer;case`null`:return null;case`number`:return t.number;case`object`:return{};case`string`:return``}}function isObject(e){return Object.prototype.toString.call(e)===`[object Object]`}function mergeObject(e,t){let n={...e};for(let[r,i]of Object.entries(t))isObject(i)&&r in e?n[r]=mergeObject(n[r],i):n[r]=i;return n}function mergeDeep(e,...t){return t.reduce(mergeObject,e)}function isArguments(e){return Object.prototype.toString.call(e)===`[object Arguments]`}function deepEquals(e,t,n=[],r=[]){if(e===t||typeof e==`function`||typeof t==`function`)return!0;if(typeof e!=`object`||typeof t!=`object`||e===null||t===null)return!1;if(e instanceof Date&&t instanceof Date)return e.getTime()===t.getTime();if(e instanceof RegExp&&t instanceof RegExp)return e.source===t.source&&e.global===t.global&&e.multiline===t.multiline&&e.lastIndex===t.lastIndex&&e.ignoreCase===t.ignoreCase;if(isArguments(e)||isArguments(t)){if(!(isArguments(e)&&isArguments(t)))return!1;let{slice:i}=Array.prototype;return deepEquals(i.call(e),i.call(t),n,r)}if(e.constructor!==t.constructor)return!1;let i=Object.keys(e),a=Object.keys(t);if(i.length===0&&a.length===0)return!0;if(i.length!==a.length)return!1;let o=n.length;for(;o--;)if(n[o]===e)return r[o]===t;n.push(e),r.push(t),i.sort(),a.sort();for(let e=i.length-1;e>=0;e--)if(i[e]!==a[e])return!1;let s;for(let a=i.length-1;a>=0;a--)if(s=i[a],!deepEquals(e[s],t[s],n,r))return!1;return n.pop(),r.pop(),!0}function orderProperties(e,t){if(!Array.isArray(t)||!t.length)return e;let n=e=>e.reduce((e,t)=>(e[t]=!0,e),{}),r=e=>e.length>1?`properties '${e.join(`', '`)}'`:`property '${e[0]}'`,i=n(e),a=t.filter(e=>e===`*`||i[e]),o=n(a),s=e.filter(e=>!o[e]),c=a.indexOf(`*`);if(c===-1){if(s.length)throw Error(`uiSchema order list does not contain ${r(s)}`);return a}if(c!==a.lastIndexOf(`*`))throw Error(`uiSchema order list contains more than one wildcard item`);let l=[...a];return l.splice(c,1,...s),l}var getCookie=e=>{let t=document.cookie.split(`;`);for(let n=0;n<t.length;n++){let[r,i]=t[n].split(`=`);if(r.trim()===e)return i}return null};function capitalizeFirstLetter(e){return e.charAt(0).toUpperCase()+e.slice(1)}function deepClone(e){if(typeof e!=`object`||!e)return e;if(Array.isArray(e))return e.map(e=>deepClone(e));if(e instanceof Date)return new Date(e.getTime());if(e instanceof RegExp)return new RegExp(e.source,e.flags);let t={};for(let n of Object.keys(e))t[n]=deepClone(e[n]);return t}var Registry=class e{static namespace=`bk`;static context={};widgets=new Map;components=new Map;fields=new Map;addComponentsMap(e={}){this.addMap(`components`,e)}getComponent(e){return this.components.get(e)}addFieldsMap(e={}){this.addMap(`fields`,e)}getField(e){return this.fields.get(e)}addBaseWidgets(e={}){this.addMap(`widgets`,e)}getBaseWidget(t){if(!t){console.warn(`base widget name is empty`);return}return this.widgets.has(t)?this.widgets.get(t):t&&t.indexOf(e.namespace)!==0?(0,vue.resolveComponent)(`${e.namespace}-${t}`):(0,vue.resolveComponent)(t)}addMap(e,t){!e||!t||Object.entries(t).forEach(([t,n])=>{if(this[e].has(t)){console.warn(`repeat key`,t);return}typeof n==`string`?this[e].set(t,(0,vue.resolveComponent)(n)):this[e].set(t,n)})}},register_default=new Registry,Schema=class e{static rootSchema;static resolveRef(){}static resolveDependencies(){}static resolveAdditionalProperties(){}static resolveSchema(e){return isObj(e)?(hasOwnProperty(e,`allOf`),hasOwnProperty(e,`$ref`),e):{}}static getSchemaDefaultValue(e){let t=isObj(e)?e:{};switch(this.getSchemaType(t)){case`null`:return null;case`object`:return Object.keys(t.properties||{}).reduce((e,n)=>(e[n]=this.getSchemaDefaultValue(t.properties?.[n]),e),{});case`array`:return t.default&&Array.isArray(t.default)?t.default:Array.isArray(t.items)?t.items.map(e=>this.getSchemaDefaultValue(e)):[]}return t.default===void 0?initializationValue(t.type||`any`):t.default}static getSchemaType(e){let{type:t}=e;return!t&&e.const?valueType(e.const):!t&&e.enum?`string`:!t&&e.items?`array`:t}static getUiProps(e,t){return(!e||!e.startsWith(`ui:`))&&console.warn(`ui props must start with ui:`),t[e]||{}}static getSchemaField(e){let t=e[`ui:field`];if(t)return t;if(e.oneOf?.length)return{name:register_default.getField(`composition`),composition:`oneOf`};if(e.anyOf?.length)return{name:register_default.getField(`composition`),composition:`anyOf`};let n=register_default.getField(this.getSchemaType(e));return n?{name:n}:{name:null}}static isMultiSelect(e){return!e.uniqueItems||!e.items?!1:Array.isArray(e.items.enum)}static isTupleArray(e){return Array.isArray(e.items)&&e.items?.length>0&&e.items.every(e=>isObj(e))}static isCustomArrayWidget(e){let t=e[`ui:component`]?.name;return e.type===`array`&&t}static resolveFormComponent(e){return typeof e==`string`&&e?(0,vue.resolveComponent)(e):e}static getGroupWrap(e){let{name:t,...n}=e[`ui:group`]||{};return{...n,name:this.resolveFormComponent(register_default.getComponent(t)||t||register_default.getComponent(`group`))}}static getUiComponent(e){let{name:t,...n}=e[`ui:component`]||{};return{name:this.resolveFormComponent(register_default.getComponent(t)||t),...n}}static getDefaultWidget(t){let n=this.getSchemaType(t),r=null;if(n===`string`&&Array.isArray(t.enum)&&(r=register_default.getComponent(`select`)),n===`array`&&e.isMultiSelect(t)&&(r=register_default.getComponent(`checkbox`)),typeof n!=`object`&&(t.oneOf?.length&&t.oneOf?.every(e=>e.const)||t.anyOf?.length&&t.anyOf?.every(e=>e.const))&&(r=register_default.getComponent(`select`)),r)return r;let i={string:`input`,number:`input`,integer:`input`,boolean:`switcher`,null:``}[n];return register_default.getComponent(i)||register_default.getBaseWidget(i)||(console.warn(`未注册类型${n}对应的默认表单项`),null)}static isRequired(e,t){return Array.isArray(e.required)&&e.required.includes(t)}static getUiOptions(e){let t={showTitle:!0,label:e.title,desc:e.description,minLength:e.minLength,maxLength:e.maxLength,...e[`ui:props`]||{}};return{...t,description:t.desc||t.description,labelWidth:t.showTitle?t.labelWidth:.1}}static getDependencies(e,t){return Object.entries(e.dependencies||{}).find(e=>Array.isArray(e[1])&&e[1].includes(t))}static resolveDefaultDatasource(e){if(e[`ui:component`]?.datasource)return e[`ui:component`].datasource;if(Array.isArray(e.enum))return e.enum.map(e=>({value:e,label:e}));if(Array.isArray(e.items?.enum))return(e.items.enum||[]).map(e=>({value:e,label:e}));if(typeof e.type!=`object`&&e.oneOf&&e.oneOf.every(e=>e.const))return e.oneOf.map(e=>({value:e.const,label:e.title||e.const}));if(typeof e.type!=`object`&&e.anyOf&&e.anyOf.every(e=>e.const))return e.anyOf.map(e=>({value:e.const,label:e.title||e.const}))}constructor(t){e.rootSchema=t}},Layout=class{static findLayoutByProp(e,t){let n;return t.find(t=>(n=t.find(t=>t.prop===e),n)),n}layout;constructor(e=[]){Array.isArray(e)?this.layout=this.parseLayout({prop:``,group:e}):this.layout=this.parseLayout(e)}transformValueToPixel(e){return typeof e==`number`?`${e}px`:e}parseLayout(e){let t=this.getLayoutDimension(e.group),n=this.parseGridTemplate(t),r=(e.group||[]).map(e=>Array.isArray(e)?e.map(e=>typeof e==`string`||typeof e==`number`?{prop:e,item:{gridArea:e,overflow:`hidden`}}:typeof e==`object`&&Reflect.has(e,`group`)?this.parseLayout(e):e):(console.error(`layout ${JSON.stringify(e)} error, must be a array`),[])),i=this.parseGridTemplateAreas(t,r);return{prop:e.prop||``,item:{gridArea:e.prop,overflow:`hidden`,...e.item},container:{display:`grid`,gridTemplateAreas:i,gridGap:`24px`,...n,...e.container},group:r}}getLayoutDimension(e=[]){return e.reduce((e,t)=>(Array.isArray(t)||console.error(`layout ${JSON.stringify(t)} error, must be a array`),t&&(e.columns=Math.max(e.columns,t.length||0)),e.rows+=1,e),{columns:0,rows:0})}parseGridTemplate(e){return{gridTemplateColumns:this.repeatTemplate(e.columns,!1),gridTemplateRows:this.repeatTemplate(e.rows)}}parseGridTemplateAreas(e,t){return t.reduce((t,n)=>{let r=this.autoFillColumns(n,e.columns);return t.push(`"${r.join(` `)}"`),t},[]).join(`
|
|
2
|
+
`)}autoFillColumns(e,t){if(e.length===t)return e.map(e=>e.prop);let n=Math.floor((t-e.length)/e.length),r=e.reduce((e,t)=>{e.push(t.prop);let r=Array(n).fill(t.prop);return e.concat(r)},[]);if(r.length<t){let e=Array(t-r.length).fill(`.`);return r.concat(e)}return r}repeatTemplate(e,t=!0){return Array(e+1).join(t?`auto `:`1fr `).trim()}};function createProxy(e,t){return new Proxy(e,{get(e,n,r){return typeof e[n]==`function`?e[n].apply(t):Reflect.get(e,n,r)}})}var Path=class{static separator=`.`;static getCurPath(e,t){return e===``?t:[e,t].join(this.separator)}static getPathVal(e,t,n=0){if(!t)return e;let r=t.split(this.separator);for(let t=0;t<r.length-n;t+=1){if(e===void 0)return;e=r[t]===``?e:e[r[t]]}return e}static setPathValue(e={},t,n){let r=JSON.parse(JSON.stringify(e)),i=t.split(this.separator),a=i.pop()||``,o=r;return i.forEach(e=>{o[e]||(o[e]={}),o=o[e]}),o[a]=n,r}static getSubPath(e,t){return t.replace(`${e}.`,``)}static getPathLastProp(e){return e.split(this.separator).pop()}static getParentPath(e){let t=e.split(this.separator);return t.length<=1?``:t.slice(0,t.length-1).join(this.separator)}},methodsWithoutData=[`GET`,`HEAD`,`OPTIONS`,`DELETE`],defaultConfig={responseType:`json`,method:`GET`,params:{},headers:{},cache:`no-cache`},fetch_default=async(e,t={})=>{let{params:n,responseType:r=`json`,method:i=`GET`,headers:a={},responseParse:o,...s}=mergeDeep(defaultConfig,t),c,l=e;methodsWithoutData.includes(i.toUpperCase())?l=`${l}?${isObj(n)?new URLSearchParams(n):n||``}`:isObj(n)?(a[`Content-Type`]=`application/json;charset=utf-8`,c=JSON.stringify(n)):c=n;try{let e=await fetch(l,{...s,method:i.toLocaleUpperCase(),headers:a,body:c});if(e.ok){let t=await e[r]();if(o){if(typeof o==`function`)return Promise.resolve(o(t));if(isObj(o)){let{dataKey:e=`data`,labelKey:n,valueKey:r}=o,i=(t?.[e]||[]).map(e=>({...e,label:e?.[n],value:e?.[r]}));return Promise.resolve(i)}return Promise.resolve(t)}return Promise.resolve(t)}switch(e.status){case 400:break;case 401:break;case 403:case 500:break}}catch(e){console.error(`Request Failed`,e),Promise.reject(e)}},props_default={modelValue:{type:Object,default:()=>({})},rules:{type:Object,default:()=>({})},schema:{type:Object,default:()=>({})},width:{type:[String,Number],default:`100%`},layout:{type:[Array,Object],default:()=>[]},formType:{type:String,default:`default`},context:{type:Object,default:()=>({})},httpAdapter:{type:Object,default:()=>({request:fetch_default,responseParse:e=>e})},readonly:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},readonlyMode:{type:String,default:`value`,validator:e=>[`value`,`custom`].includes(e)},labelWidth:{type:Number,default:150},showResetButton:{type:Boolean,default:!1},resetButtonText:{type:String,default:`恢复默认值`},resetButtonProps:{type:Object,default:()=>({})}},FieldProps_default={schema:{type:Object,default:()=>({})},path:{type:String,default:``},required:{type:Boolean,default:!1},rootData:{type:Object,default:()=>({})},modelValue:{type:[String,Number,Array,Object,Boolean]},layout:{type:Object,default:()=>({})},context:{type:Object,default:()=>({})},removeable:{type:Boolean,default:!1},httpAdapter:{type:Object,default:()=>({request:fetch_default,responseParse:e=>e})},visible:{type:Boolean,default:!0},error:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},readonlyMode:{type:String,default:`value`,validator:e=>[`value`,`custom`].includes(e)},showResetDefault:{type:Boolean,default:!1}},SchemaField_default=(0,vue.defineComponent)({name:`SchemaField`,props:FieldProps_default,render(){let{schema:e,rootData:t,path:n}=this.$props,r=Schema.resolveSchema(e);if(!Object.keys(e).length)return null;let{name:i,...a}=Schema.getSchemaField(r);return i?(0,vue.h)(i,{...this.$attrs,...this.$props,...a,modelValue:Path.getPathVal(t,n),schema:r},this.$slots):null}}),getContext=e=>{let{context:t,loadDataSource:n,validate:r,schema:i,rootData:a,widgetNode:o}=e;return{$self:e,$context:t,$schema:i,$rules:i.rules,$loadDataSource:n,$validate:r,$rootData:a,$widgetNode:o}},executeExpression=(expression,instance,$dep=[])=>{const{$self,$context,$schema,$rules,$loadDataSource,$validate,$rootData,$widgetNode}=getContext(instance),context={$self,$context,$schema,$rules,$loadDataSource,$validate,$rootData,$widgetNode,$dep};if(typeof expression==`string`){if(!/^{{.+}}$/.test(expression.trim()))return expression;const expStr=expression.trim().replace(/(^{{)|(}}$)/g,``).trim(),innerFuncs=[`$loadDataSource`,`$validate`],func=function({$self,$context,$schema,$rules,$loadDataSource,$validate,$rootData,$widgetNode,$dep}){try{return innerFuncs.includes(expStr)?eval(`${expStr}()`):eval(expStr)}catch(e){console.error(`execute ${expStr} error, please check. \n`,e)}};return func(context)}if(isObj(expression))return Object.keys(expression).forEach(e=>{expression[e]=executeExpression(expression[e],instance)}),expression},parseStrTemplate=e=>{let t=Registry.context,n=e.trim().replace(/(^{{)|(}}$)/g,``).trim();try{return Function(`$context`,`return ${n}`)(t)}catch(t){console.error(`parse template ${e} error`,t)}},isExpression=e=>typeof e==`string`&&/{{.*}}/.test(e),WidgetNode=class{id;instance;parent;type;index;children;constructor(e){let{id:t,instance:n,parent:r,index:i,type:a,children:o=[]}=e;this.id=t,this.type=a,this.index=i,this.instance=n,this.parent=r,this.children=o}get value(){return this.instance?.value}get isChildrenVisible(){return this.type===`node`?this.instance?.state.visible:this.children.some(e=>e.isChildrenVisible)}get parents(){return this.parent?[...this.parent.parents,this.parent]:[]}get firstChild(){return this.children[0]||null}get lastChild(){return this.children[this.children.length-1]||null}getSibling(e){let t=RegExp(`${Path.getPathLastProp(this.id)||``}$`),n=this.id.replace(t,e);return this.parent?.children.find(e=>e.id===n)}getSiblings(){return this.parent?.children.filter(e=>e.instance!==this.instance)||[]}get isLeaf(){return!this.children.length}appendChild(e){let t=Array.isArray(e)?e:[e],n=e.index===void 0?this.children.length:e.index;return this.children.splice(n,0,...t),this.children.slice(n).forEach((e,t)=>{e.index=n+t}),t}removeChild(e){let t=Array.isArray(e)?e:[e],n=[];t.forEach(e=>{let{index:t}=e;n.push(t),this.children.splice(t,1)});let r=Math.min(...n);return this.children.slice(r).forEach((e,t)=>{e.index=r+t}),t}},WidgetTree=class{widgetMap={};addWidgetNode(e,t,n,r){if(e===``){let i=new WidgetNode({id:``,type:n,index:r,parent:null,instance:t,children:[]});this.widgetMap[e]=i}else{let i=Path.getParentPath(e),a=this.widgetMap[i],o=new WidgetNode({id:t?.path||e,type:n,index:r,parent:a,instance:t,children:[]});a?a.appendChild(o):console.warn(`Unexpected parent id, please check widget node`,o),this.widgetMap[e]=o}}removeWidgetNode(e,t){let n=this.widgetMap[e];if(n){if(n.parent){let{children:e}=n.parent,r=e.findIndex(e=>e.instance===t);r>-1&&(e.splice(r,1),e.slice(r).forEach((e,t)=>{e.index=r+t}))}n.instance===t&&delete this.widgetMap[e]}}},widgetTree_default=new WidgetTree,reactionsMap={},subscribe=(e,t,n)=>{if(reactionsMap[e]||(reactionsMap[e]={lifetime:{},effect:{},fns:[]}),t===`valChange`)reactionsMap[e].fns.push(n);else{let[r,i]=t.split(`/`);reactionsMap[e][r][i]?reactionsMap[e][r][i].push(n):reactionsMap[e][r][i]=[n]}},resolveReaction=(e,t,n)=>()=>{let{instance:r}=widgetTree_default.widgetMap[e]||{},{instance:i}=widgetTree_default.widgetMap[t]||{},a=!0,o=[];n.source&&(Array.isArray(n.source)?n.source:[n.source]).forEach(t=>{let{instance:n}=widgetTree_default.widgetMap[parsePath(t,e)];o.push(n)}),typeof n.if==`string`&&(a=executeExpression(n.if,r,o)),executeOperations(a?n.then:n.else,i,o)},executeOperations=(e,t,n)=>{e&&(e.state&&Object.keys(e.state).forEach(r=>{let i=e.state[r];typeof i==`string`&&/^{{.+}}$/.test(i.trim())&&(i=executeExpression(i,t,n)),t.setState(r,i)}),Array.isArray(e.actions)&&e.actions.forEach(e=>{executeExpression(e,t,n)}))},parsePath=(e,t)=>isExpression(e)?executeExpression(e,t):e,reactionRegister=(e,t=[])=>{let{instance:n}=widgetTree_default.widgetMap[e]||{};t&&Array.isArray(t)&&t.forEach(t=>{let r=t.source?Array.isArray(t.source)?t.source:[t.source]:[e],i=parsePath(typeof t.target==`string`?t.target:e,n);r.forEach(r=>{let a=parsePath(r,n);typeof t.lifetime==`string`&&subscribe(a,`lifetime/${t.lifetime}`,resolveReaction(e,i,t)),typeof t.effect==`string`&&subscribe(a,`effect/${t.effect}`,resolveReaction(e,i,t)),!t.lifetime&&!t.effect&&subscribe(a,`valChange`,resolveReaction(e,i,t))})})},reactionUnRegister=e=>{delete reactionsMap[e]},reactionDispatch=(e,t)=>{let[n=``,r=``]=t.split(`/`),i=[];reactionsMap[e]&&(n===`valChange`?i=reactionsMap[e].fns:reactionsMap[e]?.[n]?.[r]&&(i=reactionsMap[e][n][r]),i.forEach(e=>{e()}))},require_code$1=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.regexpCode=e.getEsmExportName=e.getProperty=e.safeStringify=e.stringify=e.strConcat=e.addCodeArg=e.str=e._=e.nil=e._Code=e.Name=e.IDENTIFIER=e._CodeOrName=void 0;var t=class{};e._CodeOrName=t,e.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var n=class extends t{constructor(t){if(super(),!e.IDENTIFIER.test(t))throw Error(`CodeGen: name must be a valid identifier`);this.str=t}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};e.Name=n;var r=class extends t{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 this._str??=this._items.reduce((e,t)=>`${e}${t}`,``)}get names(){var e;return this._names??=this._items.reduce((e,t)=>(t instanceof n&&(e[t.str]=(e[t.str]||0)+1),e),{})}};e._Code=r,e.nil=new r(``);function i(e,...t){let n=[e[0]],i=0;for(;i<t.length;)s(n,t[i]),n.push(e[++i]);return new r(n)}e._=i;var a=new r(`+`);function o(e,...t){let n=[p(e[0])],i=0;for(;i<t.length;)n.push(a),s(n,t[i]),n.push(a,p(e[++i]));return c(n),new r(n)}e.str=o;function s(e,t){t instanceof r?e.push(...t._items):t instanceof n?e.push(t):e.push(d(t))}e.addCodeArg=s;function c(e){let t=1;for(;t<e.length-1;){if(e[t]===a){let n=l(e[t-1],e[t+1]);if(n!==void 0){e.splice(t-1,3,n);continue}e[t++]=`+`}t++}}function l(e,t){if(t===`""`)return e;if(e===`""`)return t;if(typeof e==`string`)return t instanceof n||e[e.length-1]!==`"`?void 0:typeof t==`string`?t[0]===`"`?e.slice(0,-1)+t.slice(1):void 0:`${e.slice(0,-1)}${t}"`;if(typeof t==`string`&&t[0]===`"`&&!(e instanceof n))return`"${e}${t.slice(1)}`}function u(e,t){return t.emptyStr()?e:e.emptyStr()?t:o`${e}${t}`}e.strConcat=u;function d(e){return typeof e==`number`||typeof e==`boolean`||e===null?e:p(Array.isArray(e)?e.join(`,`):e)}function f(e){return new r(p(e))}e.stringify=f;function p(e){return JSON.stringify(e).replace(/\u2028/g,`\\u2028`).replace(/\u2029/g,`\\u2029`)}e.safeStringify=p;function m(t){return typeof t==`string`&&e.IDENTIFIER.test(t)?new r(`.${t}`):i`[${t}]`}e.getProperty=m;function h(t){if(typeof t==`string`&&e.IDENTIFIER.test(t))return new r(`${t}`);throw Error(`CodeGen: invalid export name: ${t}, use explicit $id name mapping`)}e.getEsmExportName=h;function g(e){return new r(e.toString())}e.regexpCode=g})),require_scope=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.ValueScope=e.ValueScopeName=e.Scope=e.varKinds=e.UsedValueState=void 0;var t=require_code$1(),n=class extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}},r;(function(e){e[e.Started=0]=`Started`,e[e.Completed=1]=`Completed`})(r||(e.UsedValueState=r={})),e.varKinds={const:new t.Name(`const`),let:new t.Name(`let`),var:new t.Name(`var`)};var i=class{constructor({prefixes:e,parent:t}={}){this._names={},this._prefixes=e,this._parent=t}toName(e){return e instanceof t.Name?e:this.name(e)}name(e){return new t.Name(this._newName(e))}_newName(e){let t=this._names[e]||this._nameGroup(e);return`${e}${t.index++}`}_nameGroup(e){var t,n;if((this._parent?._prefixes)?.has(e)||this._prefixes&&!this._prefixes.has(e))throw Error(`CodeGen: prefix "${e}" is not allowed in this scope`);return this._names[e]={prefix:e,index:0}}};e.Scope=i;var a=class extends t.Name{constructor(e,t){super(t),this.prefix=e}setValue(e,{property:n,itemIndex:r}){this.value=e,this.scopePath=(0,t._)`.${new t.Name(n)}[${r}]`}};e.ValueScopeName=a;var o=(0,t._)`\n`;e.ValueScope=class extends i{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?o:t.nil}}get(){return this._scope}name(e){return new a(e,this._newName(e))}value(e,t){var n;if(t.ref===void 0)throw Error(`CodeGen: ref must be passed in value`);let r=this.toName(e),{prefix:i}=r,a=t.key??t.ref,o=this._values[i];if(o){let e=o.get(a);if(e)return e}else o=this._values[i]=new Map;o.set(a,r);let s=this._scope[i]||(this._scope[i]=[]),c=s.length;return s[c]=t.ref,r.setValue(t,{property:i,itemIndex:c}),r}getValue(e,t){let n=this._values[e];if(n)return n.get(t)}scopeRefs(e,n=this._values){return this._reduceValues(n,n=>{if(n.scopePath===void 0)throw Error(`CodeGen: name "${n}" has no value`);return(0,t._)`${e}${n.scopePath}`})}scopeCode(e=this._values,t,n){return this._reduceValues(e,e=>{if(e.value===void 0)throw Error(`CodeGen: name "${e}" has no value`);return e.value.code},t,n)}_reduceValues(i,a,o={},s){let c=t.nil;for(let l in i){let u=i[l];if(!u)continue;let d=o[l]=o[l]||new Map;u.forEach(i=>{if(d.has(i))return;d.set(i,r.Started);let o=a(i);if(o){let n=this.opts.es5?e.varKinds.var:e.varKinds.const;c=(0,t._)`${c}${n} ${i} = ${o};${this.opts._n}`}else if(o=s?.(i))c=(0,t._)`${c}${o}${this.opts._n}`;else throw new n(i);d.set(i,r.Completed)})}return c}}})),require_codegen=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.or=e.and=e.not=e.CodeGen=e.operators=e.varKinds=e.ValueScopeName=e.ValueScope=e.Scope=e.Name=e.regexpCode=e.stringify=e.getProperty=e.nil=e.strConcat=e.str=e._=void 0;var t=require_code$1(),n=require_scope(),r=require_code$1();Object.defineProperty(e,`_`,{enumerable:!0,get:function(){return r._}}),Object.defineProperty(e,`str`,{enumerable:!0,get:function(){return r.str}}),Object.defineProperty(e,`strConcat`,{enumerable:!0,get:function(){return r.strConcat}}),Object.defineProperty(e,`nil`,{enumerable:!0,get:function(){return r.nil}}),Object.defineProperty(e,`getProperty`,{enumerable:!0,get:function(){return r.getProperty}}),Object.defineProperty(e,`stringify`,{enumerable:!0,get:function(){return r.stringify}}),Object.defineProperty(e,`regexpCode`,{enumerable:!0,get:function(){return r.regexpCode}}),Object.defineProperty(e,`Name`,{enumerable:!0,get:function(){return r.Name}});var i=require_scope();Object.defineProperty(e,`Scope`,{enumerable:!0,get:function(){return i.Scope}}),Object.defineProperty(e,`ValueScope`,{enumerable:!0,get:function(){return i.ValueScope}}),Object.defineProperty(e,`ValueScopeName`,{enumerable:!0,get:function(){return i.ValueScopeName}}),Object.defineProperty(e,`varKinds`,{enumerable:!0,get:function(){return i.varKinds}}),e.operators={GT:new t._Code(`>`),GTE:new t._Code(`>=`),LT:new t._Code(`<`),LTE:new t._Code(`<=`),EQ:new t._Code(`===`),NEQ:new t._Code(`!==`),NOT:new t._Code(`!`),OR:new t._Code(`||`),AND:new t._Code(`&&`),ADD:new t._Code(`+`)};var a=class{optimizeNodes(){return this}optimizeNames(e,t){return this}},o=class extends a{constructor(e,t,n){super(),this.varKind=e,this.name=t,this.rhs=n}render({es5:e,_n:t}){let r=e?n.varKinds.var:this.varKind,i=this.rhs===void 0?``:` = ${this.rhs}`;return`${r} ${this.name}${i};`+t}optimizeNames(e,t){if(e[this.name.str])return this.rhs&&=k(this.rhs,e,t),this}get names(){return this.rhs instanceof t._CodeOrName?this.rhs.names:{}}},s=class extends a{constructor(e,t,n){super(),this.lhs=e,this.rhs=t,this.sideEffects=n}render({_n:e}){return`${this.lhs} = ${this.rhs};`+e}optimizeNames(e,n){if(!(this.lhs instanceof t.Name&&!e[this.lhs.str]&&!this.sideEffects))return this.rhs=k(this.rhs,e,n),this}get names(){return O(this.lhs instanceof t.Name?{}:{...this.lhs.names},this.rhs)}},c=class extends s{constructor(e,t,n,r){super(e,n,r),this.op=t}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}},l=class extends a{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}},u=class extends a{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:``};`+e}},d=class extends a{constructor(e){super(),this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}},f=class extends a{constructor(e){super(),this.code=e}render({_n:e}){return`${this.code};`+e}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(e,t){return this.code=k(this.code,e,t),this}get names(){return this.code instanceof t._CodeOrName?this.code.names:{}}},p=class extends a{constructor(e=[]){super(),this.nodes=e}render(e){return this.nodes.reduce((t,n)=>t+n.render(e),``)}optimizeNodes(){let{nodes:e}=this,t=e.length;for(;t--;){let n=e[t].optimizeNodes();Array.isArray(n)?e.splice(t,1,...n):n?e[t]=n:e.splice(t,1)}return e.length>0?this:void 0}optimizeNames(e,t){let{nodes:n}=this,r=n.length;for(;r--;){let i=n[r];i.optimizeNames(e,t)||(A(e,i.names),n.splice(r,1))}return n.length>0?this:void 0}get names(){return this.nodes.reduce((e,t)=>D(e,t.names),{})}},m=class extends p{render(e){return`{`+e._n+super.render(e)+`}`+e._n}},h=class extends p{},g=class extends m{};g.kind=`else`;var _=class e extends m{constructor(e,t){super(t),this.condition=e}render(e){let t=`if(${this.condition})`+super.render(e);return this.else&&(t+=`else `+this.else.render(e)),t}optimizeNodes(){super.optimizeNodes();let t=this.condition;if(t===!0)return this.nodes;let n=this.else;if(n){let e=n.optimizeNodes();n=this.else=Array.isArray(e)?new g(e):e}if(n)return t===!1?n instanceof e?n:n.nodes:this.nodes.length?this:new e(j(t),n instanceof e?[n]:n.nodes);if(!(t===!1||!this.nodes.length))return this}optimizeNames(e,t){var n;if(this.else=this.else?.optimizeNames(e,t),super.optimizeNames(e,t)||this.else)return this.condition=k(this.condition,e,t),this}get names(){let e=super.names;return O(e,this.condition),this.else&&D(e,this.else.names),e}};_.kind=`if`;var v=class extends m{};v.kind=`for`;var y=class extends v{constructor(e){super(),this.iteration=e}render(e){return`for(${this.iteration})`+super.render(e)}optimizeNames(e,t){if(super.optimizeNames(e,t))return this.iteration=k(this.iteration,e,t),this}get names(){return D(super.names,this.iteration.names)}},b=class extends v{constructor(e,t,n,r){super(),this.varKind=e,this.name=t,this.from=n,this.to=r}render(e){let t=e.es5?n.varKinds.var:this.varKind,{name:r,from:i,to:a}=this;return`for(${t} ${r}=${i}; ${r}<${a}; ${r}++)`+super.render(e)}get names(){return O(O(super.names,this.from),this.to)}},x=class extends v{constructor(e,t,n,r){super(),this.loop=e,this.varKind=t,this.name=n,this.iterable=r}render(e){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(e)}optimizeNames(e,t){if(super.optimizeNames(e,t))return this.iterable=k(this.iterable,e,t),this}get names(){return D(super.names,this.iterable.names)}},S=class extends m{constructor(e,t,n){super(),this.name=e,this.args=t,this.async=n}render(e){return`${this.async?`async `:``}function ${this.name}(${this.args})`+super.render(e)}};S.kind=`func`;var C=class extends p{render(e){return`return `+super.render(e)}};C.kind=`return`;var w=class extends m{render(e){let t=`try`+super.render(e);return this.catch&&(t+=this.catch.render(e)),this.finally&&(t+=this.finally.render(e)),t}optimizeNodes(){var e,t;return super.optimizeNodes(),(e=this.catch)==null||e.optimizeNodes(),(t=this.finally)==null||t.optimizeNodes(),this}optimizeNames(e,t){var n,r;return super.optimizeNames(e,t),(n=this.catch)==null||n.optimizeNames(e,t),(r=this.finally)==null||r.optimizeNames(e,t),this}get names(){let e=super.names;return this.catch&&D(e,this.catch.names),this.finally&&D(e,this.finally.names),e}},T=class extends m{constructor(e){super(),this.error=e}render(e){return`catch(${this.error})`+super.render(e)}};T.kind=`catch`;var E=class extends m{render(e){return`finally`+super.render(e)}};E.kind=`finally`,e.CodeGen=class{constructor(e,t={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...t,_n:t.lines?`
|
|
3
|
+
`:``},this._extScope=e,this._scope=new n.Scope({parent:e}),this._nodes=[new h]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,t){let n=this._extScope.value(e,t);return(this._values[n.prefix]||(this._values[n.prefix]=new Set)).add(n),n}getScopeValue(e,t){return this._extScope.getValue(e,t)}scopeRefs(e){return this._extScope.scopeRefs(e,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(e,t,n,r){let i=this._scope.toName(t);return n!==void 0&&r&&(this._constants[i.str]=n),this._leafNode(new o(e,i,n)),i}const(e,t,r){return this._def(n.varKinds.const,e,t,r)}let(e,t,r){return this._def(n.varKinds.let,e,t,r)}var(e,t,r){return this._def(n.varKinds.var,e,t,r)}assign(e,t,n){return this._leafNode(new s(e,t,n))}add(t,n){return this._leafNode(new c(t,e.operators.ADD,n))}code(e){return typeof e==`function`?e():e!==t.nil&&this._leafNode(new f(e)),this}object(...e){let n=[`{`];for(let[r,i]of e)n.length>1&&n.push(`,`),n.push(r),(r!==i||this.opts.es5)&&(n.push(`:`),(0,t.addCodeArg)(n,i));return n.push(`}`),new t._Code(n)}if(e,t,n){if(this._blockNode(new _(e)),t&&n)this.code(t).else().code(n).endIf();else if(t)this.code(t).endIf();else if(n)throw Error(`CodeGen: "else" body without "then" body`);return this}elseIf(e){return this._elseNode(new _(e))}else(){return this._elseNode(new g)}endIf(){return this._endBlockNode(_,g)}_for(e,t){return this._blockNode(e),t&&this.code(t).endFor(),this}for(e,t){return this._for(new y(e),t)}forRange(e,t,r,i,a=this.opts.es5?n.varKinds.var:n.varKinds.let){let o=this._scope.toName(e);return this._for(new b(a,o,t,r),()=>i(o))}forOf(e,r,i,a=n.varKinds.const){let o=this._scope.toName(e);if(this.opts.es5){let e=r instanceof t.Name?r:this.var(`_arr`,r);return this.forRange(`_i`,0,(0,t._)`${e}.length`,n=>{this.var(o,(0,t._)`${e}[${n}]`),i(o)})}return this._for(new x(`of`,a,o,r),()=>i(o))}forIn(e,r,i,a=this.opts.es5?n.varKinds.var:n.varKinds.const){if(this.opts.ownProperties)return this.forOf(e,(0,t._)`Object.keys(${r})`,i);let o=this._scope.toName(e);return this._for(new x(`in`,a,o,r),()=>i(o))}endFor(){return this._endBlockNode(v)}label(e){return this._leafNode(new l(e))}break(e){return this._leafNode(new u(e))}return(e){let t=new C;if(this._blockNode(t),this.code(e),t.nodes.length!==1)throw Error(`CodeGen: "return" should have one node`);return this._endBlockNode(C)}try(e,t,n){if(!t&&!n)throw Error(`CodeGen: "try" without "catch" and "finally"`);let r=new w;if(this._blockNode(r),this.code(e),t){let e=this.name(`e`);this._currNode=r.catch=new T(e),t(e)}return n&&(this._currNode=r.finally=new E,this.code(n)),this._endBlockNode(T,E)}throw(e){return this._leafNode(new d(e))}block(e,t){return this._blockStarts.push(this._nodes.length),e&&this.code(e).endBlock(t),this}endBlock(e){let t=this._blockStarts.pop();if(t===void 0)throw Error(`CodeGen: not in self-balancing block`);let n=this._nodes.length-t;if(n<0||e!==void 0&&n!==e)throw Error(`CodeGen: wrong number of nodes: ${n} vs ${e} expected`);return this._nodes.length=t,this}func(e,n=t.nil,r,i){return this._blockNode(new S(e,n,r)),i&&this.code(i).endFunc(),this}endFunc(){return this._endBlockNode(S)}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,t){let n=this._currNode;if(n instanceof e||t&&n instanceof t)return this._nodes.pop(),this;throw Error(`CodeGen: not in block "${t?`${e.kind}/${t.kind}`:e.kind}"`)}_elseNode(e){let t=this._currNode;if(!(t instanceof _))throw Error(`CodeGen: "else" without "if"`);return this._currNode=t.else=e,this}get _root(){return this._nodes[0]}get _currNode(){let e=this._nodes;return e[e.length-1]}set _currNode(e){let t=this._nodes;t[t.length-1]=e}};function D(e,t){for(let n in t)e[n]=(e[n]||0)+(t[n]||0);return e}function O(e,n){return n instanceof t._CodeOrName?D(e,n.names):e}function k(e,n,r){if(e instanceof t.Name)return i(e);if(!a(e))return e;return new t._Code(e._items.reduce((e,n)=>(n instanceof t.Name&&(n=i(n)),n instanceof t._Code?e.push(...n._items):e.push(n),e),[]));function i(e){let t=r[e.str];return t===void 0||n[e.str]!==1?e:(delete n[e.str],t)}function a(e){return e instanceof t._Code&&e._items.some(e=>e instanceof t.Name&&n[e.str]===1&&r[e.str]!==void 0)}}function A(e,t){for(let n in t)e[n]=(e[n]||0)-(t[n]||0)}function j(e){return typeof e==`boolean`||typeof e==`number`||e===null?!e:(0,t._)`!${L(e)}`}e.not=j;var M=I(e.operators.AND);function N(...e){return e.reduce(M)}e.and=N;var P=I(e.operators.OR);function F(...e){return e.reduce(P)}e.or=F;function I(e){return(n,r)=>n===t.nil?r:r===t.nil?n:(0,t._)`${L(n)} ${e} ${L(r)}`}function L(e){return e instanceof t.Name?e:(0,t._)`(${e})`}})),require_util=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.checkStrictMode=e.getErrorPath=e.Type=e.useFunc=e.setEvaluated=e.evaluatedPropsToName=e.mergeEvaluated=e.eachItem=e.unescapeJsonPointer=e.escapeJsonPointer=e.escapeFragment=e.unescapeFragment=e.schemaRefOrVal=e.schemaHasRulesButRef=e.schemaHasRules=e.checkUnknownRules=e.alwaysValidSchema=e.toHash=void 0;var t=require_codegen(),n=require_code$1();function r(e){let t={};for(let n of e)t[n]=!0;return t}e.toHash=r;function i(e,t){return typeof t==`boolean`?t:Object.keys(t).length===0?!0:(a(e,t),!o(t,e.self.RULES.all))}e.alwaysValidSchema=i;function a(e,t=e.schema){let{opts:n,self:r}=e;if(!n.strictSchema||typeof t==`boolean`)return;let i=r.RULES.keywords;for(let n in t)i[n]||x(e,`unknown keyword: "${n}"`)}e.checkUnknownRules=a;function o(e,t){if(typeof e==`boolean`)return!e;for(let n in e)if(t[n])return!0;return!1}e.schemaHasRules=o;function s(e,t){if(typeof e==`boolean`)return!e;for(let n in e)if(n!==`$ref`&&t.all[n])return!0;return!1}e.schemaHasRulesButRef=s;function c({topSchemaRef:e,schemaPath:n},r,i,a){if(!a){if(typeof r==`number`||typeof r==`boolean`)return r;if(typeof r==`string`)return(0,t._)`${r}`}return(0,t._)`${e}${n}${(0,t.getProperty)(i)}`}e.schemaRefOrVal=c;function l(e){return f(decodeURIComponent(e))}e.unescapeFragment=l;function u(e){return encodeURIComponent(d(e))}e.escapeFragment=u;function d(e){return typeof e==`number`?`${e}`:e.replace(/~/g,`~0`).replace(/\//g,`~1`)}e.escapeJsonPointer=d;function f(e){return e.replace(/~1/g,`/`).replace(/~0/g,`~`)}e.unescapeJsonPointer=f;function p(e,t){if(Array.isArray(e))for(let n of e)t(n);else t(e)}e.eachItem=p;function m({mergeNames:e,mergeToName:n,mergeValues:r,resultToName:i}){return(a,o,s,c)=>{let l=s===void 0?o:s instanceof t.Name?(o instanceof t.Name?e(a,o,s):n(a,o,s),s):o instanceof t.Name?(n(a,s,o),o):r(o,s);return c===t.Name&&!(l instanceof t.Name)?i(a,l):l}}e.mergeEvaluated={props:m({mergeNames:(e,n,r)=>e.if((0,t._)`${r} !== true && ${n} !== undefined`,()=>{e.if((0,t._)`${n} === true`,()=>e.assign(r,!0),()=>e.assign(r,(0,t._)`${r} || {}`).code((0,t._)`Object.assign(${r}, ${n})`))}),mergeToName:(e,n,r)=>e.if((0,t._)`${r} !== true`,()=>{n===!0?e.assign(r,!0):(e.assign(r,(0,t._)`${r} || {}`),g(e,r,n))}),mergeValues:(e,t)=>e===!0?!0:{...e,...t},resultToName:h}),items:m({mergeNames:(e,n,r)=>e.if((0,t._)`${r} !== true && ${n} !== undefined`,()=>e.assign(r,(0,t._)`${n} === true ? true : ${r} > ${n} ? ${r} : ${n}`)),mergeToName:(e,n,r)=>e.if((0,t._)`${r} !== true`,()=>e.assign(r,n===!0?!0:(0,t._)`${r} > ${n} ? ${r} : ${n}`)),mergeValues:(e,t)=>e===!0?!0:Math.max(e,t),resultToName:(e,t)=>e.var(`items`,t)})};function h(e,n){if(n===!0)return e.var(`props`,!0);let r=e.var(`props`,(0,t._)`{}`);return n!==void 0&&g(e,r,n),r}e.evaluatedPropsToName=h;function g(e,n,r){Object.keys(r).forEach(r=>e.assign((0,t._)`${n}${(0,t.getProperty)(r)}`,!0))}e.setEvaluated=g;var _={};function v(e,t){return e.scopeValue(`func`,{ref:t,code:_[t.code]||(_[t.code]=new n._Code(t.code))})}e.useFunc=v;var y;(function(e){e[e.Num=0]=`Num`,e[e.Str=1]=`Str`})(y||(e.Type=y={}));function b(e,n,r){if(e instanceof t.Name){let i=n===y.Num;return r?i?(0,t._)`"[" + ${e} + "]"`:(0,t._)`"['" + ${e} + "']"`:i?(0,t._)`"/" + ${e}`:(0,t._)`"/" + ${e}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0,t.getProperty)(e).toString():`/`+d(e)}e.getErrorPath=b;function x(e,t,n=e.opts.strictSchema){if(n){if(t=`strict mode: ${t}`,n===!0)throw Error(t);e.self.logger.warn(t)}}e.checkStrictMode=x})),require_names=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0});var t=require_codegen();e.default={data:new t.Name(`data`),valCxt:new t.Name(`valCxt`),instancePath:new t.Name(`instancePath`),parentData:new t.Name(`parentData`),parentDataProperty:new t.Name(`parentDataProperty`),rootData:new t.Name(`rootData`),dynamicAnchors:new t.Name(`dynamicAnchors`),vErrors:new t.Name(`vErrors`),errors:new t.Name(`errors`),this:new t.Name(`this`),self:new t.Name(`self`),scope:new t.Name(`scope`),json:new t.Name(`json`),jsonPos:new t.Name(`jsonPos`),jsonLen:new t.Name(`jsonLen`),jsonPart:new t.Name(`jsonPart`)}})),require_errors=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.extendErrors=e.resetErrorsCount=e.reportExtraError=e.reportError=e.keyword$DataError=e.keywordError=void 0;var t=require_codegen(),n=require_util(),r=require_names();e.keywordError={message:({keyword:e})=>(0,t.str)`must pass "${e}" keyword validation`},e.keyword$DataError={message:({keyword:e,schemaType:n})=>n?(0,t.str)`"${e}" keyword must be ${n} ($data)`:(0,t.str)`"${e}" keyword is invalid ($data)`};function i(n,r=e.keywordError,i,a){let{it:o}=n,{gen:s,compositeRule:u,allErrors:f}=o,p=d(n,r,i);a??(u||f)?c(s,p):l(o,(0,t._)`[${p}]`)}e.reportError=i;function a(t,n=e.keywordError,i){let{it:a}=t,{gen:o,compositeRule:s,allErrors:u}=a;c(o,d(t,n,i)),s||u||l(a,r.default.vErrors)}e.reportExtraError=a;function o(e,n){e.assign(r.default.errors,n),e.if((0,t._)`${r.default.vErrors} !== null`,()=>e.if(n,()=>e.assign((0,t._)`${r.default.vErrors}.length`,n),()=>e.assign(r.default.vErrors,null)))}e.resetErrorsCount=o;function s({gen:e,keyword:n,schemaValue:i,data:a,errsCount:o,it:s}){if(o===void 0)throw Error(`ajv implementation error`);let c=e.name(`err`);e.forRange(`i`,o,r.default.errors,o=>{e.const(c,(0,t._)`${r.default.vErrors}[${o}]`),e.if((0,t._)`${c}.instancePath === undefined`,()=>e.assign((0,t._)`${c}.instancePath`,(0,t.strConcat)(r.default.instancePath,s.errorPath))),e.assign((0,t._)`${c}.schemaPath`,(0,t.str)`${s.errSchemaPath}/${n}`),s.opts.verbose&&(e.assign((0,t._)`${c}.schema`,i),e.assign((0,t._)`${c}.data`,a))})}e.extendErrors=s;function c(e,n){let i=e.const(`err`,n);e.if((0,t._)`${r.default.vErrors} === null`,()=>e.assign(r.default.vErrors,(0,t._)`[${i}]`),(0,t._)`${r.default.vErrors}.push(${i})`),e.code((0,t._)`${r.default.errors}++`)}function l(e,n){let{gen:r,validateName:i,schemaEnv:a}=e;a.$async?r.throw((0,t._)`new ${e.ValidationError}(${n})`):(r.assign((0,t._)`${i}.errors`,n),r.return(!1))}var u={keyword:new t.Name(`keyword`),schemaPath:new t.Name(`schemaPath`),params:new t.Name(`params`),propertyName:new t.Name(`propertyName`),message:new t.Name(`message`),schema:new t.Name(`schema`),parentSchema:new t.Name(`parentSchema`)};function d(e,n,r){let{createErrors:i}=e.it;return i===!1?(0,t._)`{}`:f(e,n,r)}function f(e,t,n={}){let{gen:r,it:i}=e,a=[p(i,n),m(e,n)];return h(e,t,a),r.object(...a)}function p({errorPath:e},{instancePath:i}){let a=i?(0,t.str)`${e}${(0,n.getErrorPath)(i,n.Type.Str)}`:e;return[r.default.instancePath,(0,t.strConcat)(r.default.instancePath,a)]}function m({keyword:e,it:{errSchemaPath:r}},{schemaPath:i,parentSchema:a}){let o=a?r:(0,t.str)`${r}/${e}`;return i&&(o=(0,t.str)`${o}${(0,n.getErrorPath)(i,n.Type.Str)}`),[u.schemaPath,o]}function h(e,{params:n,message:i},a){let{keyword:o,data:s,schemaValue:c,it:l}=e,{opts:d,propertyName:f,topSchemaRef:p,schemaPath:m}=l;a.push([u.keyword,o],[u.params,typeof n==`function`?n(e):n||(0,t._)`{}`]),d.messages&&a.push([u.message,typeof i==`function`?i(e):i]),d.verbose&&a.push([u.schema,c],[u.parentSchema,(0,t._)`${p}${m}`],[r.default.data,s]),f&&a.push([u.propertyName,f])}})),require_boolSchema=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.boolOrEmptySchema=e.topBoolOrEmptySchema=void 0;var t=require_errors(),n=require_codegen(),r=require_names(),i={message:`boolean schema is false`};function a(e){let{gen:t,schema:i,validateName:a}=e;i===!1?s(e,!1):typeof i==`object`&&i.$async===!0?t.return(r.default.data):(t.assign((0,n._)`${a}.errors`,null),t.return(!0))}e.topBoolOrEmptySchema=a;function o(e,t){let{gen:n,schema:r}=e;r===!1?(n.var(t,!1),s(e)):n.var(t,!0)}e.boolOrEmptySchema=o;function s(e,n){let{gen:r,data:a}=e,o={gen:r,keyword:`false schema`,data:a,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:e};(0,t.reportError)(o,i,void 0,n)}})),require_rules=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.getRules=e.isJSONType=void 0;var t=new Set([`string`,`number`,`integer`,`boolean`,`null`,`object`,`array`]);function n(e){return typeof e==`string`&&t.has(e)}e.isJSONType=n;function r(){let e={number:{type:`number`,rules:[]},string:{type:`string`,rules:[]},array:{type:`array`,rules:[]},object:{type:`object`,rules:[]}};return{types:{...e,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},e.number,e.string,e.array,e.object],post:{rules:[]},all:{},keywords:{}}}e.getRules=r})),require_applicability=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.shouldUseRule=e.shouldUseGroup=e.schemaHasRulesForType=void 0;function t({schema:e,self:t},r){let i=t.RULES.types[r];return i&&i!==!0&&n(e,i)}e.schemaHasRulesForType=t;function n(e,t){return t.rules.some(t=>r(e,t))}e.shouldUseGroup=n;function r(e,t){var n;return e[t.keyword]!==void 0||t.definition.implements?.some(t=>e[t]!==void 0)}e.shouldUseRule=r})),require_dataType=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.reportTypeError=e.checkDataTypes=e.checkDataType=e.coerceAndCheckDataType=e.getJSONTypes=e.getSchemaTypes=e.DataType=void 0;var t=require_rules(),n=require_applicability(),r=require_errors(),i=require_codegen(),a=require_util(),o;(function(e){e[e.Correct=0]=`Correct`,e[e.Wrong=1]=`Wrong`})(o||(e.DataType=o={}));function s(e){let t=c(e.type);if(t.includes(`null`)){if(e.nullable===!1)throw Error(`type: null contradicts nullable: false`)}else{if(!t.length&&e.nullable!==void 0)throw Error(`"nullable" cannot be used without "type"`);e.nullable===!0&&t.push(`null`)}return t}e.getSchemaTypes=s;function c(e){let n=Array.isArray(e)?e:e?[e]:[];if(n.every(t.isJSONType))return n;throw Error(`type must be JSONType or JSONType[]: `+n.join(`,`))}e.getJSONTypes=c;function l(e,t){let{gen:r,data:i,opts:a}=e,s=d(t,a.coerceTypes),c=t.length>0&&!(s.length===0&&t.length===1&&(0,n.schemaHasRulesForType)(e,t[0]));if(c){let n=h(t,i,a.strictNumbers,o.Wrong);r.if(n,()=>{s.length?f(e,t,s):_(e)})}return c}e.coerceAndCheckDataType=l;var u=new Set([`string`,`number`,`integer`,`boolean`,`null`]);function d(e,t){return t?e.filter(e=>u.has(e)||t===`array`&&e===`array`):[]}function f(e,t,n){let{gen:r,data:a,opts:o}=e,s=r.let(`dataType`,(0,i._)`typeof ${a}`),c=r.let(`coerced`,(0,i._)`undefined`);o.coerceTypes===`array`&&r.if((0,i._)`${s} == 'object' && Array.isArray(${a}) && ${a}.length == 1`,()=>r.assign(a,(0,i._)`${a}[0]`).assign(s,(0,i._)`typeof ${a}`).if(h(t,a,o.strictNumbers),()=>r.assign(c,a))),r.if((0,i._)`${c} !== undefined`);for(let e of n)(u.has(e)||e===`array`&&o.coerceTypes===`array`)&&l(e);r.else(),_(e),r.endIf(),r.if((0,i._)`${c} !== undefined`,()=>{r.assign(a,c),p(e,c)});function l(e){switch(e){case`string`:r.elseIf((0,i._)`${s} == "number" || ${s} == "boolean"`).assign(c,(0,i._)`"" + ${a}`).elseIf((0,i._)`${a} === null`).assign(c,(0,i._)`""`);return;case`number`:r.elseIf((0,i._)`${s} == "boolean" || ${a} === null
|
|
4
|
+
|| (${s} == "string" && ${a} && ${a} == +${a})`).assign(c,(0,i._)`+${a}`);return;case`integer`:r.elseIf((0,i._)`${s} === "boolean" || ${a} === null
|
|
5
|
+
|| (${s} === "string" && ${a} && ${a} == +${a} && !(${a} % 1))`).assign(c,(0,i._)`+${a}`);return;case`boolean`:r.elseIf((0,i._)`${a} === "false" || ${a} === 0 || ${a} === null`).assign(c,!1).elseIf((0,i._)`${a} === "true" || ${a} === 1`).assign(c,!0);return;case`null`:r.elseIf((0,i._)`${a} === "" || ${a} === 0 || ${a} === false`),r.assign(c,null);return;case`array`:r.elseIf((0,i._)`${s} === "string" || ${s} === "number"
|
|
6
|
+
|| ${s} === "boolean" || ${a} === null`).assign(c,(0,i._)`[${a}]`)}}}function p({gen:e,parentData:t,parentDataProperty:n},r){e.if((0,i._)`${t} !== undefined`,()=>e.assign((0,i._)`${t}[${n}]`,r))}function m(e,t,n,r=o.Correct){let a=r===o.Correct?i.operators.EQ:i.operators.NEQ,s;switch(e){case`null`:return(0,i._)`${t} ${a} null`;case`array`:s=(0,i._)`Array.isArray(${t})`;break;case`object`:s=(0,i._)`${t} && typeof ${t} == "object" && !Array.isArray(${t})`;break;case`integer`:s=c((0,i._)`!(${t} % 1) && !isNaN(${t})`);break;case`number`:s=c();break;default:return(0,i._)`typeof ${t} ${a} ${e}`}return r===o.Correct?s:(0,i.not)(s);function c(e=i.nil){return(0,i.and)((0,i._)`typeof ${t} == "number"`,e,n?(0,i._)`isFinite(${t})`:i.nil)}}e.checkDataType=m;function h(e,t,n,r){if(e.length===1)return m(e[0],t,n,r);let o,s=(0,a.toHash)(e);if(s.array&&s.object){let e=(0,i._)`typeof ${t} != "object"`;o=s.null?e:(0,i._)`!${t} || ${e}`,delete s.null,delete s.array,delete s.object}else o=i.nil;s.number&&delete s.integer;for(let e in s)o=(0,i.and)(o,m(e,t,n,r));return o}e.checkDataTypes=h;var g={message:({schema:e})=>`must be ${e}`,params:({schema:e,schemaValue:t})=>typeof e==`string`?(0,i._)`{type: ${e}}`:(0,i._)`{type: ${t}}`};function _(e){let t=v(e);(0,r.reportError)(t,g)}e.reportTypeError=_;function v(e){let{gen:t,data:n,schema:r}=e,i=(0,a.schemaRefOrVal)(e,r,`type`);return{gen:t,keyword:`type`,data:n,schema:r.type,schemaCode:i,schemaValue:i,parentSchema:r,params:{},it:e}}})),require_defaults=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.assignDefaults=void 0;var t=require_codegen(),n=require_util();function r(e,t){let{properties:n,items:r}=e.schema;if(t===`object`&&n)for(let t in n)i(e,t,n[t].default);else t===`array`&&Array.isArray(r)&&r.forEach((t,n)=>i(e,n,t.default))}e.assignDefaults=r;function i(e,r,i){let{gen:a,compositeRule:o,data:s,opts:c}=e;if(i===void 0)return;let l=(0,t._)`${s}${(0,t.getProperty)(r)}`;if(o){(0,n.checkStrictMode)(e,`default is ignored for: ${l}`);return}let u=(0,t._)`${l} === undefined`;c.useDefaults===`empty`&&(u=(0,t._)`${u} || ${l} === null || ${l} === ""`),a.if(u,(0,t._)`${l} = ${(0,t.stringify)(i)}`)}})),require_code=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.validateUnion=e.validateArray=e.usePattern=e.callValidateCode=e.schemaProperties=e.allSchemaProperties=e.noPropertyInData=e.propertyInData=e.isOwnProperty=e.hasPropFunc=e.reportMissingProp=e.checkMissingProp=e.checkReportMissingProp=void 0;var t=require_codegen(),n=require_util(),r=require_names(),i=require_util();function a(e,n){let{gen:r,data:i,it:a}=e;r.if(d(r,i,n,a.opts.ownProperties),()=>{e.setParams({missingProperty:(0,t._)`${n}`},!0),e.error()})}e.checkReportMissingProp=a;function o({gen:e,data:n,it:{opts:r}},i,a){return(0,t.or)(...i.map(i=>(0,t.and)(d(e,n,i,r.ownProperties),(0,t._)`${a} = ${i}`)))}e.checkMissingProp=o;function s(e,t){e.setParams({missingProperty:t},!0),e.error()}e.reportMissingProp=s;function c(e){return e.scopeValue(`func`,{ref:Object.prototype.hasOwnProperty,code:(0,t._)`Object.prototype.hasOwnProperty`})}e.hasPropFunc=c;function l(e,n,r){return(0,t._)`${c(e)}.call(${n}, ${r})`}e.isOwnProperty=l;function u(e,n,r,i){let a=(0,t._)`${n}${(0,t.getProperty)(r)} !== undefined`;return i?(0,t._)`${a} && ${l(e,n,r)}`:a}e.propertyInData=u;function d(e,n,r,i){let a=(0,t._)`${n}${(0,t.getProperty)(r)} === undefined`;return i?(0,t.or)(a,(0,t.not)(l(e,n,r))):a}e.noPropertyInData=d;function f(e){return e?Object.keys(e).filter(e=>e!==`__proto__`):[]}e.allSchemaProperties=f;function p(e,t){return f(t).filter(r=>!(0,n.alwaysValidSchema)(e,t[r]))}e.schemaProperties=p;function m({schemaCode:e,data:n,it:{gen:i,topSchemaRef:a,schemaPath:o,errorPath:s},it:c},l,u,d){let f=d?(0,t._)`${e}, ${n}, ${a}${o}`:n,p=[[r.default.instancePath,(0,t.strConcat)(r.default.instancePath,s)],[r.default.parentData,c.parentData],[r.default.parentDataProperty,c.parentDataProperty],[r.default.rootData,r.default.rootData]];c.opts.dynamicRef&&p.push([r.default.dynamicAnchors,r.default.dynamicAnchors]);let m=(0,t._)`${f}, ${i.object(...p)}`;return u===t.nil?(0,t._)`${l}(${m})`:(0,t._)`${l}.call(${u}, ${m})`}e.callValidateCode=m;var h=(0,t._)`new RegExp`;function g({gen:e,it:{opts:n}},r){let a=n.unicodeRegExp?`u`:``,{regExp:o}=n.code,s=o(r,a);return e.scopeValue(`pattern`,{key:s.toString(),ref:s,code:(0,t._)`${o.code===`new RegExp`?h:(0,i.useFunc)(e,o)}(${r}, ${a})`})}e.usePattern=g;function _(e){let{gen:r,data:i,keyword:a,it:o}=e,s=r.name(`valid`);if(o.allErrors){let e=r.let(`valid`,!0);return c(()=>r.assign(e,!1)),e}return r.var(s,!0),c(()=>r.break()),s;function c(o){let c=r.const(`len`,(0,t._)`${i}.length`);r.forRange(`i`,0,c,i=>{e.subschema({keyword:a,dataProp:i,dataPropType:n.Type.Num},s),r.if((0,t.not)(s),o)})}}e.validateArray=_;function v(e){let{gen:r,schema:i,keyword:a,it:o}=e;if(!Array.isArray(i))throw Error(`ajv implementation error`);if(i.some(e=>(0,n.alwaysValidSchema)(o,e))&&!o.opts.unevaluated)return;let s=r.let(`valid`,!1),c=r.name(`_valid`);r.block(()=>i.forEach((n,i)=>{let o=e.subschema({keyword:a,schemaProp:i,compositeRule:!0},c);r.assign(s,(0,t._)`${s} || ${c}`),e.mergeValidEvaluated(o,c)||r.if((0,t.not)(s))})),e.result(s,()=>e.reset(),()=>e.error(!0))}e.validateUnion=v})),require_keyword=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.validateKeywordUsage=e.validSchemaType=e.funcKeywordCode=e.macroKeywordCode=void 0;var t=require_codegen(),n=require_names(),r=require_code(),i=require_errors();function a(e,n){let{gen:r,keyword:i,schema:a,parentSchema:o,it:s}=e,c=n.macro.call(s.self,a,o,s),l=u(r,i,c);s.opts.validateSchema!==!1&&s.self.validateSchema(c,!0);let d=r.name(`valid`);e.subschema({schema:c,schemaPath:t.nil,errSchemaPath:`${s.errSchemaPath}/${i}`,topSchemaRef:l,compositeRule:!0},d),e.pass(d,()=>e.error(!0))}e.macroKeywordCode=a;function o(e,i){var a;let{gen:o,keyword:d,schema:f,parentSchema:p,$data:m,it:h}=e;l(h,i);let g=u(o,d,!m&&i.compile?i.compile.call(h.self,f,p,h):i.validate),_=o.let(`valid`);e.block$data(_,v),e.ok(i.valid??_);function v(){if(i.errors===!1)x(),i.modifying&&s(e),S(()=>e.error());else{let t=i.async?y():b();i.modifying&&s(e),S(()=>c(e,t))}}function y(){let e=o.let(`ruleErrs`,null);return o.try(()=>x((0,t._)`await `),n=>o.assign(_,!1).if((0,t._)`${n} instanceof ${h.ValidationError}`,()=>o.assign(e,(0,t._)`${n}.errors`),()=>o.throw(n))),e}function b(){let e=(0,t._)`${g}.errors`;return o.assign(e,null),x(t.nil),e}function x(a=i.async?(0,t._)`await `:t.nil){let s=h.opts.passContext?n.default.this:n.default.self,c=!(`compile`in i&&!m||i.schema===!1);o.assign(_,(0,t._)`${a}${(0,r.callValidateCode)(e,g,s,c)}`,i.modifying)}function S(e){var n;o.if((0,t.not)(i.valid??_),e)}}e.funcKeywordCode=o;function s(e){let{gen:n,data:r,it:i}=e;n.if(i.parentData,()=>n.assign(r,(0,t._)`${i.parentData}[${i.parentDataProperty}]`))}function c(e,r){let{gen:a}=e;a.if((0,t._)`Array.isArray(${r})`,()=>{a.assign(n.default.vErrors,(0,t._)`${n.default.vErrors} === null ? ${r} : ${n.default.vErrors}.concat(${r})`).assign(n.default.errors,(0,t._)`${n.default.vErrors}.length`),(0,i.extendErrors)(e)},()=>e.error())}function l({schemaEnv:e},t){if(t.async&&!e.$async)throw Error(`async keyword in sync schema`)}function u(e,n,r){if(r===void 0)throw Error(`keyword "${n}" failed to compile`);return e.scopeValue(`keyword`,typeof r==`function`?{ref:r}:{ref:r,code:(0,t.stringify)(r)})}function d(e,t,n=!1){return!t.length||t.some(t=>t===`array`?Array.isArray(e):t===`object`?e&&typeof e==`object`&&!Array.isArray(e):typeof e==t||n&&e===void 0)}e.validSchemaType=d;function f({schema:e,opts:t,self:n,errSchemaPath:r},i,a){if(Array.isArray(i.keyword)?!i.keyword.includes(a):i.keyword!==a)throw Error(`ajv implementation error`);let o=i.dependencies;if(o?.some(t=>!Object.prototype.hasOwnProperty.call(e,t)))throw Error(`parent schema must have dependencies of ${a}: ${o.join(`,`)}`);if(i.validateSchema&&!i.validateSchema(e[a])){let e=`keyword "${a}" value is invalid at path "${r}": `+n.errorsText(i.validateSchema.errors);if(t.validateSchema===`log`)n.logger.error(e);else throw Error(e)}}e.validateKeywordUsage=f})),require_subschema=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.extendSubschemaMode=e.extendSubschemaData=e.getSubschema=void 0;var t=require_codegen(),n=require_util();function r(e,{keyword:r,schemaProp:i,schema:a,schemaPath:o,errSchemaPath:s,topSchemaRef:c}){if(r!==void 0&&a!==void 0)throw Error(`both "keyword" and "schema" passed, only one allowed`);if(r!==void 0){let a=e.schema[r];return i===void 0?{schema:a,schemaPath:(0,t._)`${e.schemaPath}${(0,t.getProperty)(r)}`,errSchemaPath:`${e.errSchemaPath}/${r}`}:{schema:a[i],schemaPath:(0,t._)`${e.schemaPath}${(0,t.getProperty)(r)}${(0,t.getProperty)(i)}`,errSchemaPath:`${e.errSchemaPath}/${r}/${(0,n.escapeFragment)(i)}`}}if(a!==void 0){if(o===void 0||s===void 0||c===void 0)throw Error(`"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"`);return{schema:a,schemaPath:o,topSchemaRef:c,errSchemaPath:s}}throw Error(`either "keyword" or "schema" must be passed`)}e.getSubschema=r;function i(e,r,{dataProp:i,dataPropType:a,data:o,dataTypes:s,propertyName:c}){if(o!==void 0&&i!==void 0)throw Error(`both "data" and "dataProp" passed, only one allowed`);let{gen:l}=r;if(i!==void 0){let{errorPath:o,dataPathArr:s,opts:c}=r;u(l.let(`data`,(0,t._)`${r.data}${(0,t.getProperty)(i)}`,!0)),e.errorPath=(0,t.str)`${o}${(0,n.getErrorPath)(i,a,c.jsPropertySyntax)}`,e.parentDataProperty=(0,t._)`${i}`,e.dataPathArr=[...s,e.parentDataProperty]}o!==void 0&&(u(o instanceof t.Name?o:l.let(`data`,o,!0)),c!==void 0&&(e.propertyName=c)),s&&(e.dataTypes=s);function u(t){e.data=t,e.dataLevel=r.dataLevel+1,e.dataTypes=[],r.definedProperties=new Set,e.parentData=r.data,e.dataNames=[...r.dataNames,t]}}e.extendSubschemaData=i;function a(e,{jtdDiscriminator:t,jtdMetadata:n,compositeRule:r,createErrors:i,allErrors:a}){r!==void 0&&(e.compositeRule=r),i!==void 0&&(e.createErrors=i),a!==void 0&&(e.allErrors=a),e.jtdDiscriminator=t,e.jtdMetadata=n}e.extendSubschemaMode=a})),require_fast_deep_equal=__commonJSMin(((e,t)=>{t.exports=function e(t,n){if(t===n)return!0;if(t&&n&&typeof t==`object`&&typeof n==`object`){if(t.constructor!==n.constructor)return!1;var r,i,a;if(Array.isArray(t)){if(r=t.length,r!=n.length)return!1;for(i=r;i--!==0;)if(!e(t[i],n[i]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if(a=Object.keys(t),r=a.length,r!==Object.keys(n).length)return!1;for(i=r;i--!==0;)if(!Object.prototype.hasOwnProperty.call(n,a[i]))return!1;for(i=r;i--!==0;){var o=a[i];if(!e(t[o],n[o]))return!1}return!0}return t!==t&&n!==n}})),require_json_schema_traverse=__commonJSMin(((e,t)=>{var n=t.exports=function(e,t,n){typeof t==`function`&&(n=t,t={}),n=t.cb||n;var i=typeof n==`function`?n:n.pre||function(){},a=n.post||function(){};r(t,i,a,e,``,e)};n.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0},n.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0},n.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0},n.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 r(e,t,a,o,s,c,l,u,d,f){if(o&&typeof o==`object`&&!Array.isArray(o)){for(var p in t(o,s,c,l,u,d,f),o){var m=o[p];if(Array.isArray(m)){if(p in n.arrayKeywords)for(var h=0;h<m.length;h++)r(e,t,a,m[h],s+`/`+p+`/`+h,c,s,p,o,h)}else if(p in n.propsKeywords){if(m&&typeof m==`object`)for(var g in m)r(e,t,a,m[g],s+`/`+p+`/`+i(g),c,s,p,o,g)}else (p in n.keywords||e.allKeys&&!(p in n.skipKeywords))&&r(e,t,a,m,s+`/`+p,c,s,p,o)}a(o,s,c,l,u,d,f)}}function i(e){return e.replace(/~/g,`~0`).replace(/\//g,`~1`)}})),require_resolve=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.getSchemaRefs=e.resolveUrl=e.normalizeId=e._getFullPath=e.getFullPath=e.inlineRef=void 0;var t=require_util(),n=require_fast_deep_equal(),r=require_json_schema_traverse(),i=new Set([`type`,`format`,`pattern`,`maxLength`,`minLength`,`maxProperties`,`minProperties`,`maxItems`,`minItems`,`maximum`,`minimum`,`uniqueItems`,`multipleOf`,`required`,`enum`,`const`]);function a(e,t=!0){return typeof e==`boolean`?!0:t===!0?!s(e):t?c(e)<=t:!1}e.inlineRef=a;var o=new Set([`$ref`,`$recursiveRef`,`$recursiveAnchor`,`$dynamicRef`,`$dynamicAnchor`]);function s(e){for(let t in e){if(o.has(t))return!0;let n=e[t];if(Array.isArray(n)&&n.some(s)||typeof n==`object`&&s(n))return!0}return!1}function c(e){let n=0;for(let r in e)if(r===`$ref`||(n++,!i.has(r)&&(typeof e[r]==`object`&&(0,t.eachItem)(e[r],e=>n+=c(e)),n===1/0)))return 1/0;return n}function l(e,t=``,n){return n!==!1&&(t=f(t)),u(e,e.parse(t))}e.getFullPath=l;function u(e,t){return e.serialize(t).split(`#`)[0]+`#`}e._getFullPath=u;var d=/#\/?$/;function f(e){return e?e.replace(d,``):``}e.normalizeId=f;function p(e,t,n){return n=f(n),e.resolve(t,n)}e.resolveUrl=p;var m=/^[a-z_][-a-z0-9._]*$/i;function h(e,t){if(typeof e==`boolean`)return{};let{schemaId:i,uriResolver:a}=this.opts,o=f(e[i]||t),s={"":o},c=l(a,o,!1),u={},d=new Set;return r(e,{allKeys:!0},(e,t,n,r)=>{if(r===void 0)return;let a=c+t,o=s[r];typeof e[i]==`string`&&(o=l.call(this,e[i])),g.call(this,e.$anchor),g.call(this,e.$dynamicAnchor),s[t]=o;function l(t){let n=this.opts.uriResolver.resolve;if(t=f(o?n(o,t):t),d.has(t))throw h(t);d.add(t);let r=this.refs[t];return typeof r==`string`&&(r=this.refs[r]),typeof r==`object`?p(e,r.schema,t):t!==f(a)&&(t[0]===`#`?(p(e,u[t],t),u[t]=e):this.refs[t]=a),t}function g(e){if(typeof e==`string`){if(!m.test(e))throw Error(`invalid anchor "${e}"`);l.call(this,`#${e}`)}}}),u;function p(e,t,r){if(t!==void 0&&!n(e,t))throw h(r)}function h(e){return Error(`reference "${e}" resolves to more than one schema`)}}e.getSchemaRefs=h})),require_validate=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.getData=e.KeywordCxt=e.validateFunctionCode=void 0;var t=require_boolSchema(),n=require_dataType(),r=require_applicability(),i=require_dataType(),a=require_defaults(),o=require_keyword(),s=require_subschema(),c=require_codegen(),l=require_names(),u=require_resolve(),d=require_util(),f=require_errors();function p(e){if(S(e)&&(w(e),x(e))){_(e);return}m(e,()=>(0,t.topBoolOrEmptySchema)(e))}e.validateFunctionCode=p;function m({gen:e,validateName:t,schema:n,schemaEnv:r,opts:i},a){i.code.es5?e.func(t,(0,c._)`${l.default.data}, ${l.default.valCxt}`,r.$async,()=>{e.code((0,c._)`"use strict"; ${y(n,i)}`),g(e,i),e.code(a)}):e.func(t,(0,c._)`${l.default.data}, ${h(i)}`,r.$async,()=>e.code(y(n,i)).code(a))}function h(e){return(0,c._)`{${l.default.instancePath}="", ${l.default.parentData}, ${l.default.parentDataProperty}, ${l.default.rootData}=${l.default.data}${e.dynamicRef?(0,c._)`, ${l.default.dynamicAnchors}={}`:c.nil}}={}`}function g(e,t){e.if(l.default.valCxt,()=>{e.var(l.default.instancePath,(0,c._)`${l.default.valCxt}.${l.default.instancePath}`),e.var(l.default.parentData,(0,c._)`${l.default.valCxt}.${l.default.parentData}`),e.var(l.default.parentDataProperty,(0,c._)`${l.default.valCxt}.${l.default.parentDataProperty}`),e.var(l.default.rootData,(0,c._)`${l.default.valCxt}.${l.default.rootData}`),t.dynamicRef&&e.var(l.default.dynamicAnchors,(0,c._)`${l.default.valCxt}.${l.default.dynamicAnchors}`)},()=>{e.var(l.default.instancePath,(0,c._)`""`),e.var(l.default.parentData,(0,c._)`undefined`),e.var(l.default.parentDataProperty,(0,c._)`undefined`),e.var(l.default.rootData,l.default.data),t.dynamicRef&&e.var(l.default.dynamicAnchors,(0,c._)`{}`)})}function _(e){let{schema:t,opts:n,gen:r}=e;m(e,()=>{n.$comment&&t.$comment&&A(e),D(e),r.let(l.default.vErrors,null),r.let(l.default.errors,0),n.unevaluated&&v(e),T(e),j(e)})}function v(e){let{gen:t,validateName:n}=e;e.evaluated=t.const(`evaluated`,(0,c._)`${n}.evaluated`),t.if((0,c._)`${e.evaluated}.dynamicProps`,()=>t.assign((0,c._)`${e.evaluated}.props`,(0,c._)`undefined`)),t.if((0,c._)`${e.evaluated}.dynamicItems`,()=>t.assign((0,c._)`${e.evaluated}.items`,(0,c._)`undefined`))}function y(e,t){let n=typeof e==`object`&&e[t.schemaId];return n&&(t.code.source||t.code.process)?(0,c._)`/*# sourceURL=${n} */`:c.nil}function b(e,n){if(S(e)&&(w(e),x(e))){C(e,n);return}(0,t.boolOrEmptySchema)(e,n)}function x({schema:e,self:t}){if(typeof e==`boolean`)return!e;for(let n in e)if(t.RULES.all[n])return!0;return!1}function S(e){return typeof e.schema!=`boolean`}function C(e,t){let{schema:n,gen:r,opts:i}=e;i.$comment&&n.$comment&&A(e),O(e),k(e);let a=r.const(`_errs`,l.default.errors);T(e,a),r.var(t,(0,c._)`${a} === ${l.default.errors}`)}function w(e){(0,d.checkUnknownRules)(e),E(e)}function T(e,t){if(e.opts.jtd)return N(e,[],!1,t);let r=(0,n.getSchemaTypes)(e.schema);N(e,r,!(0,n.coerceAndCheckDataType)(e,r),t)}function E(e){let{schema:t,errSchemaPath:n,opts:r,self:i}=e;t.$ref&&r.ignoreKeywordsWithRef&&(0,d.schemaHasRulesButRef)(t,i.RULES)&&i.logger.warn(`$ref: keywords ignored in schema at path "${n}"`)}function D(e){let{schema:t,opts:n}=e;t.default!==void 0&&n.useDefaults&&n.strictSchema&&(0,d.checkStrictMode)(e,`default is ignored in the schema root`)}function O(e){let t=e.schema[e.opts.schemaId];t&&(e.baseId=(0,u.resolveUrl)(e.opts.uriResolver,e.baseId,t))}function k(e){if(e.schema.$async&&!e.schemaEnv.$async)throw Error(`async schema in sync schema`)}function A({gen:e,schemaEnv:t,schema:n,errSchemaPath:r,opts:i}){let a=n.$comment;if(i.$comment===!0)e.code((0,c._)`${l.default.self}.logger.log(${a})`);else if(typeof i.$comment==`function`){let n=(0,c.str)`${r}/$comment`,i=e.scopeValue(`root`,{ref:t.root});e.code((0,c._)`${l.default.self}.opts.$comment(${a}, ${n}, ${i}.schema)`)}}function j(e){let{gen:t,schemaEnv:n,validateName:r,ValidationError:i,opts:a}=e;n.$async?t.if((0,c._)`${l.default.errors} === 0`,()=>t.return(l.default.data),()=>t.throw((0,c._)`new ${i}(${l.default.vErrors})`)):(t.assign((0,c._)`${r}.errors`,l.default.vErrors),a.unevaluated&&M(e),t.return((0,c._)`${l.default.errors} === 0`))}function M({gen:e,evaluated:t,props:n,items:r}){n instanceof c.Name&&e.assign((0,c._)`${t}.props`,n),r instanceof c.Name&&e.assign((0,c._)`${t}.items`,r)}function N(e,t,n,a){let{gen:o,schema:s,data:u,allErrors:f,opts:p,self:m}=e,{RULES:h}=m;if(s.$ref&&(p.ignoreKeywordsWithRef||!(0,d.schemaHasRulesButRef)(s,h))){o.block(()=>W(e,`$ref`,h.all.$ref.definition));return}p.jtd||F(e,t),o.block(()=>{for(let e of h.rules)g(e);g(h.post)});function g(d){(0,r.shouldUseGroup)(s,d)&&(d.type?(o.if((0,i.checkDataType)(d.type,u,p.strictNumbers)),P(e,d),t.length===1&&t[0]===d.type&&n&&(o.else(),(0,i.reportTypeError)(e)),o.endIf()):P(e,d),f||o.if((0,c._)`${l.default.errors} === ${a||0}`))}}function P(e,t){let{gen:n,schema:i,opts:{useDefaults:o}}=e;o&&(0,a.assignDefaults)(e,t.type),n.block(()=>{for(let n of t.rules)(0,r.shouldUseRule)(i,n)&&W(e,n.keyword,n.definition,t.type)})}function F(e,t){e.schemaEnv.meta||!e.opts.strictTypes||(I(e,t),e.opts.allowUnionTypes||L(e,t),R(e,e.dataTypes))}function I(e,t){if(t.length){if(!e.dataTypes.length){e.dataTypes=t;return}t.forEach(t=>{B(e.dataTypes,t)||H(e,`type "${t}" not allowed by context "${e.dataTypes.join(`,`)}"`)}),V(e,t)}}function L(e,t){t.length>1&&!(t.length===2&&t.includes(`null`))&&H(e,`use allowUnionTypes to allow union type keyword`)}function R(e,t){let n=e.self.RULES.all;for(let i in n){let a=n[i];if(typeof a==`object`&&(0,r.shouldUseRule)(e.schema,a)){let{type:n}=a.definition;n.length&&!n.some(e=>z(t,e))&&H(e,`missing type "${n.join(`,`)}" for keyword "${i}"`)}}}function z(e,t){return e.includes(t)||t===`number`&&e.includes(`integer`)}function B(e,t){return e.includes(t)||t===`integer`&&e.includes(`number`)}function V(e,t){let n=[];for(let r of e.dataTypes)B(t,r)?n.push(r):t.includes(`integer`)&&r===`number`&&n.push(`integer`);e.dataTypes=n}function H(e,t){let n=e.schemaEnv.baseId+e.errSchemaPath;t+=` at "${n}" (strictTypes)`,(0,d.checkStrictMode)(e,t,e.opts.strictTypes)}var U=class{constructor(e,t,n){if((0,o.validateKeywordUsage)(e,t,n),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=n,this.data=e.data,this.schema=e.schema[n],this.$data=t.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,d.schemaRefOrVal)(e,this.schema,n,this.$data),this.schemaType=t.schemaType,this.parentSchema=e.schema,this.params={},this.it=e,this.def=t,this.$data)this.schemaCode=e.gen.const(`vSchema`,q(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,o.validSchemaType)(this.schema,t.schemaType,t.allowUndefined))throw Error(`${n} value must be ${JSON.stringify(t.schemaType)}`);(`code`in t?t.trackErrors:t.errors!==!1)&&(this.errsCount=e.gen.const(`_errs`,l.default.errors))}result(e,t,n){this.failResult((0,c.not)(e),t,n)}failResult(e,t,n){this.gen.if(e),n?n():this.error(),t?(this.gen.else(),t(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(e,t){this.failResult((0,c.not)(e),void 0,t)}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:t}=this;this.fail((0,c._)`${t} !== undefined && (${(0,c.or)(this.invalid$data(),e)})`)}error(e,t,n){if(t){this.setParams(t),this._error(e,n),this.setParams({});return}this._error(e,n)}_error(e,t){(e?f.reportExtraError:f.reportError)(this,this.def.error,t)}$dataError(){(0,f.reportError)(this,this.def.$dataError||f.keyword$DataError)}reset(){if(this.errsCount===void 0)throw Error(`add "trackErrors" to keyword definition`);(0,f.resetErrorsCount)(this.gen,this.errsCount)}ok(e){this.allErrors||this.gen.if(e)}setParams(e,t){t?Object.assign(this.params,e):this.params=e}block$data(e,t,n=c.nil){this.gen.block(()=>{this.check$data(e,n),t()})}check$data(e=c.nil,t=c.nil){if(!this.$data)return;let{gen:n,schemaCode:r,schemaType:i,def:a}=this;n.if((0,c.or)((0,c._)`${r} === undefined`,t)),e!==c.nil&&n.assign(e,!0),(i.length||a.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),e!==c.nil&&n.assign(e,!1)),n.else()}invalid$data(){let{gen:e,schemaCode:t,schemaType:n,def:r,it:a}=this;return(0,c.or)(o(),s());function o(){if(n.length){if(!(t instanceof c.Name))throw Error(`ajv implementation error`);let e=Array.isArray(n)?n:[n];return(0,c._)`${(0,i.checkDataTypes)(e,t,a.opts.strictNumbers,i.DataType.Wrong)}`}return c.nil}function s(){if(r.validateSchema){let n=e.scopeValue(`validate$data`,{ref:r.validateSchema});return(0,c._)`!${n}(${t})`}return c.nil}}subschema(e,t){let n=(0,s.getSubschema)(this.it,e);(0,s.extendSubschemaData)(n,this.it,e),(0,s.extendSubschemaMode)(n,e);let r={...this.it,...n,items:void 0,props:void 0};return b(r,t),r}mergeEvaluated(e,t){let{it:n,gen:r}=this;n.opts.unevaluated&&(n.props!==!0&&e.props!==void 0&&(n.props=d.mergeEvaluated.props(r,e.props,n.props,t)),n.items!==!0&&e.items!==void 0&&(n.items=d.mergeEvaluated.items(r,e.items,n.items,t)))}mergeValidEvaluated(e,t){let{it:n,gen:r}=this;if(n.opts.unevaluated&&(n.props!==!0||n.items!==!0))return r.if(t,()=>this.mergeEvaluated(e,c.Name)),!0}};e.KeywordCxt=U;function W(e,t,n,r){let i=new U(e,n,t);`code`in n?n.code(i,r):i.$data&&n.validate?(0,o.funcKeywordCode)(i,n):`macro`in n?(0,o.macroKeywordCode)(i,n):(n.compile||n.validate)&&(0,o.funcKeywordCode)(i,n)}var G=/^\/(?:[^~]|~0|~1)*$/,K=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function q(e,{dataLevel:t,dataNames:n,dataPathArr:r}){let i,a;if(e===``)return l.default.rootData;if(e[0]===`/`){if(!G.test(e))throw Error(`Invalid JSON-pointer: ${e}`);i=e,a=l.default.rootData}else{let o=K.exec(e);if(!o)throw Error(`Invalid JSON-pointer: ${e}`);let s=+o[1];if(i=o[2],i===`#`){if(s>=t)throw Error(u(`property/index`,s));return r[t-s]}if(s>t)throw Error(u(`data`,s));if(a=n[t-s],!i)return a}let o=a,s=i.split(`/`);for(let e of s)e&&(a=(0,c._)`${a}${(0,c.getProperty)((0,d.unescapeJsonPointer)(e))}`,o=(0,c._)`${o} && ${a}`);return o;function u(e,n){return`Cannot access ${e} ${n} levels up, current level is ${t}`}}e.getData=q})),require_validation_error=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.default=class extends Error{constructor(e){super(`validation failed`),this.errors=e,this.ajv=this.validation=!0}}})),require_ref_error=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0});var t=require_resolve();e.default=class extends Error{constructor(e,n,r,i){super(i||`can't resolve reference ${r} from id ${n}`),this.missingRef=(0,t.resolveUrl)(e,n,r),this.missingSchema=(0,t.normalizeId)((0,t.getFullPath)(e,this.missingRef))}}})),require_compile=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.resolveSchema=e.getCompilingSchema=e.resolveRef=e.compileSchema=e.SchemaEnv=void 0;var t=require_codegen(),n=require_validation_error(),r=require_names(),i=require_resolve(),a=require_util(),o=require_validate(),s=class{constructor(e){var t;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=e.baseId??(0,i.normalizeId)(n?.[e.schemaId||`$id`]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=n?.$async,this.refs={}}};e.SchemaEnv=s;function c(e){let a=d.call(this,e);if(a)return a;let s=(0,i.getFullPath)(this.opts.uriResolver,e.root.baseId),{es5:c,lines:l}=this.opts.code,{ownProperties:u}=this.opts,f=new t.CodeGen(this.scope,{es5:c,lines:l,ownProperties:u}),p;e.$async&&(p=f.scopeValue(`Error`,{ref:n.default,code:(0,t._)`require("ajv/dist/runtime/validation_error").default`}));let m=f.scopeName(`validate`);e.validateName=m;let h={gen:f,allErrors:this.opts.allErrors,data:r.default.data,parentData:r.default.parentData,parentDataProperty:r.default.parentDataProperty,dataNames:[r.default.data],dataPathArr:[t.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:f.scopeValue(`schema`,this.opts.code.source===!0?{ref:e.schema,code:(0,t.stringify)(e.schema)}:{ref:e.schema}),validateName:m,ValidationError:p,schema:e.schema,schemaEnv:e,rootId:s,baseId:e.baseId||s,schemaPath:t.nil,errSchemaPath:e.schemaPath||(this.opts.jtd?``:`#`),errorPath:(0,t._)`""`,opts:this.opts,self:this},g;try{this._compilations.add(e),(0,o.validateFunctionCode)(h),f.optimize(this.opts.code.optimize);let n=f.toString();g=`${f.scopeRefs(r.default.scope)}return ${n}`,this.opts.code.process&&(g=this.opts.code.process(g,e));let i=Function(`${r.default.self}`,`${r.default.scope}`,g)(this,this.scope.get());if(this.scope.value(m,{ref:i}),i.errors=null,i.schema=e.schema,i.schemaEnv=e,e.$async&&(i.$async=!0),this.opts.code.source===!0&&(i.source={validateName:m,validateCode:n,scopeValues:f._values}),this.opts.unevaluated){let{props:e,items:n}=h;i.evaluated={props:e instanceof t.Name?void 0:e,items:n instanceof t.Name?void 0:n,dynamicProps:e instanceof t.Name,dynamicItems:n instanceof t.Name},i.source&&(i.source.evaluated=(0,t.stringify)(i.evaluated))}return e.validate=i,e}catch(t){throw delete e.validate,delete e.validateName,g&&this.logger.error(`Error compiling schema, function code:`,g),t}finally{this._compilations.delete(e)}}e.compileSchema=c;function l(e,t,n){var r;n=(0,i.resolveUrl)(this.opts.uriResolver,t,n);let a=e.refs[n];if(a)return a;let o=p.call(this,e,n);if(o===void 0){let r=e.localRefs?.[n],{schemaId:i}=this.opts;r&&(o=new s({schema:r,schemaId:i,root:e,baseId:t}))}if(o!==void 0)return e.refs[n]=u.call(this,o)}e.resolveRef=l;function u(e){return(0,i.inlineRef)(e.schema,this.opts.inlineRefs)?e.schema:e.validate?e:c.call(this,e)}function d(e){for(let t of this._compilations)if(f(t,e))return t}e.getCompilingSchema=d;function f(e,t){return e.schema===t.schema&&e.root===t.root&&e.baseId===t.baseId}function p(e,t){let n;for(;typeof(n=this.refs[t])==`string`;)t=n;return n||this.schemas[t]||m.call(this,e,t)}function m(e,t){let n=this.opts.uriResolver.parse(t),r=(0,i._getFullPath)(this.opts.uriResolver,n),a=(0,i.getFullPath)(this.opts.uriResolver,e.baseId,void 0);if(Object.keys(e.schema).length>0&&r===a)return g.call(this,n,e);let o=(0,i.normalizeId)(r),l=this.refs[o]||this.schemas[o];if(typeof l==`string`){let t=m.call(this,e,l);return typeof t?.schema==`object`?g.call(this,n,t):void 0}if(typeof l?.schema==`object`){if(l.validate||c.call(this,l),o===(0,i.normalizeId)(t)){let{schema:t}=l,{schemaId:n}=this.opts,r=t[n];return r&&(a=(0,i.resolveUrl)(this.opts.uriResolver,a,r)),new s({schema:t,schemaId:n,root:e,baseId:a})}return g.call(this,n,l)}}e.resolveSchema=m;var h=new Set([`properties`,`patternProperties`,`enum`,`dependencies`,`definitions`]);function g(e,{baseId:t,schema:n,root:r}){var o;if(e.fragment?.[0]!==`/`)return;for(let r of e.fragment.slice(1).split(`/`)){if(typeof n==`boolean`)return;let e=n[(0,a.unescapeFragment)(r)];if(e===void 0)return;n=e;let o=typeof n==`object`&&n[this.opts.schemaId];!h.has(r)&&o&&(t=(0,i.resolveUrl)(this.opts.uriResolver,t,o))}let c;if(typeof n!=`boolean`&&n.$ref&&!(0,a.schemaHasRulesButRef)(n,this.RULES)){let e=(0,i.resolveUrl)(this.opts.uriResolver,t,n.$ref);c=m.call(this,r,e)}let{schemaId:l}=this.opts;if(c||=new s({schema:n,schemaId:l,root:r,baseId:t}),c.schema!==c.root.schema)return c}})),data_exports=__exportAll({$id:()=>$id$1,additionalProperties:()=>!1,default:()=>data_default,description:()=>description,properties:()=>properties$1,required:()=>required,type:()=>type$1}),$id$1,description,type$1,required,properties$1,additionalProperties,data_default,init_data=__esmMin((()=>{$id$1=`https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#`,description=`Meta-schema for $data reference (JSON AnySchema extension proposal)`,type$1=`object`,required=[`$data`],properties$1={$data:{type:`string`,anyOf:[{format:`relative-json-pointer`},{format:`json-pointer`}]}},data_default={$id:$id$1,description,type:type$1,required,properties:properties$1,additionalProperties:!1}})),require_utils=__commonJSMin(((e,t)=>{var n=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),r=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 i(e){let t=``,n=0,r=0;for(r=0;r<e.length;r++)if(n=e[r].charCodeAt(0),n!==48){if(!(n>=48&&n<=57||n>=65&&n<=70||n>=97&&n<=102))return``;t+=e[r];break}for(r+=1;r<e.length;r++){if(n=e[r].charCodeAt(0),!(n>=48&&n<=57||n>=65&&n<=70||n>=97&&n<=102))return``;t+=e[r]}return t}var a=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function o(e){return e.length=0,!0}function s(e,t,n){if(e.length){let r=i(e);if(r!==``)t.push(r);else return n.error=!0,!1;e.length=0}return!0}function c(e){let t=0,n={error:!1,address:``,zone:``},r=[],a=[],c=!1,l=!1,u=s;for(let i=0;i<e.length;i++){let s=e[i];if(!(s===`[`||s===`]`))if(s===`:`){if(c===!0&&(l=!0),!u(a,r,n))break;if(++t>7){n.error=!0;break}i>0&&e[i-1]===`:`&&(c=!0),r.push(`:`);continue}else if(s===`%`){if(!u(a,r,n))break;u=o}else{a.push(s);continue}}return a.length&&(u===o?n.zone=a.join(``):l?r.push(a.join(``)):r.push(i(a))),n.address=r.join(``),n}function l(e){if(u(e,`:`)<2)return{host:e,isIPV6:!1};let t=c(e);if(t.error)return{host:e,isIPV6:!1};{let e=t.address,n=t.address;return t.zone&&(e+=`%`+t.zone,n+=`%25`+t.zone),{host:e,isIPV6:!0,escapedHost:n}}}function u(e,t){let n=0;for(let r=0;r<e.length;r++)e[r]===t&&n++;return n}function d(e){let t=e,n=[],r=-1,i=0;for(;i=t.length;){if(i===1){if(t===`.`)break;if(t===`/`){n.push(`/`);break}else{n.push(t);break}}else if(i===2){if(t[0]===`.`){if(t[1]===`.`)break;if(t[1]===`/`){t=t.slice(2);continue}}else if(t[0]===`/`&&(t[1]===`.`||t[1]===`/`)){n.push(`/`);break}}else if(i===3&&t===`/..`){n.length!==0&&n.pop(),n.push(`/`);break}if(t[0]===`.`){if(t[1]===`.`){if(t[2]===`/`){t=t.slice(3);continue}}else if(t[1]===`/`){t=t.slice(2);continue}}else if(t[0]===`/`&&t[1]===`.`){if(t[2]===`/`){t=t.slice(2);continue}else if(t[2]===`.`&&t[3]===`/`){t=t.slice(3),n.length!==0&&n.pop();continue}}if((r=t.indexOf(`/`,1))===-1){n.push(t);break}else n.push(t.slice(0,r)),t=t.slice(r)}return n.join(``)}function f(e,t){let n=t===!0?unescape:escape;return e.scheme!==void 0&&(e.scheme=n(e.scheme)),e.userinfo!==void 0&&(e.userinfo=n(e.userinfo)),e.host!==void 0&&(e.host=n(e.host)),e.path!==void 0&&(e.path=n(e.path)),e.query!==void 0&&(e.query=n(e.query)),e.fragment!==void 0&&(e.fragment=n(e.fragment)),e}function p(e){let t=[];if(e.userinfo!==void 0&&(t.push(e.userinfo),t.push(`@`)),e.host!==void 0){let n=unescape(e.host);if(!r(n)){let t=l(n);n=t.isIPV6===!0?`[${t.escapedHost}]`:e.host}t.push(n)}return(typeof e.port==`number`||typeof e.port==`string`)&&(t.push(`:`),t.push(String(e.port))),t.length?t.join(``):void 0}t.exports={nonSimpleDomain:a,recomposeAuthority:p,normalizeComponentEncoding:f,removeDotSegments:d,isIPv4:r,isUUID:n,normalizeIPv6:l,stringArrayToHexStripped:i}})),require_schemes=__commonJSMin(((e,t)=>{var{isUUID:n}=require_utils(),r=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,i=[`http`,`https`,`ws`,`wss`,`urn`,`urn:uuid`];function a(e){return i.indexOf(e)!==-1}function o(e){return e.secure===!0?!0:e.secure===!1?!1:e.scheme?e.scheme.length===3&&(e.scheme[0]===`w`||e.scheme[0]===`W`)&&(e.scheme[1]===`s`||e.scheme[1]===`S`)&&(e.scheme[2]===`s`||e.scheme[2]===`S`):!1}function s(e){return e.host||(e.error=e.error||`HTTP URIs must have a host.`),e}function c(e){let t=String(e.scheme).toLowerCase()===`https`;return(e.port===(t?443:80)||e.port===``)&&(e.port=void 0),e.path||=`/`,e}function l(e){return e.secure=o(e),e.resourceName=(e.path||`/`)+(e.query?`?`+e.query:``),e.path=void 0,e.query=void 0,e}function u(e){if((e.port===(o(e)?443:80)||e.port===``)&&(e.port=void 0),typeof e.secure==`boolean`&&(e.scheme=e.secure?`wss`:`ws`,e.secure=void 0),e.resourceName){let[t,n]=e.resourceName.split(`?`);e.path=t&&t!==`/`?t:void 0,e.query=n,e.resourceName=void 0}return e.fragment=void 0,e}function d(e,t){if(!e.path)return e.error=`URN can not be parsed`,e;let n=e.path.match(r);if(n){let r=t.scheme||e.scheme||`urn`;e.nid=n[1].toLowerCase(),e.nss=n[2];let i=S(`${r}:${t.nid||e.nid}`);e.path=void 0,i&&(e=i.parse(e,t))}else e.error=e.error||`URN can not be parsed.`;return e}function f(e,t){if(e.nid===void 0)throw Error(`URN without nid cannot be serialized`);let n=t.scheme||e.scheme||`urn`,r=e.nid.toLowerCase(),i=S(`${n}:${t.nid||r}`);i&&(e=i.serialize(e,t));let a=e,o=e.nss;return a.path=`${r||t.nid}:${o}`,t.skipEscape=!0,a}function p(e,t){let r=e;return r.uuid=r.nss,r.nss=void 0,!t.tolerant&&(!r.uuid||!n(r.uuid))&&(r.error=r.error||`UUID is not valid.`),r}function m(e){let t=e;return t.nss=(e.uuid||``).toLowerCase(),t}var h={scheme:`http`,domainHost:!0,parse:s,serialize:c},g={scheme:`https`,domainHost:h.domainHost,parse:s,serialize:c},_={scheme:`ws`,domainHost:!0,parse:l,serialize:u},v={scheme:`wss`,domainHost:_.domainHost,parse:_.parse,serialize:_.serialize},y={scheme:`urn`,parse:d,serialize:f,skipNormalize:!0},b={scheme:`urn:uuid`,parse:p,serialize:m,skipNormalize:!0},x={http:h,https:g,ws:_,wss:v,urn:y,"urn:uuid":b};Object.setPrototypeOf(x,null);function S(e){return e&&(x[e]||x[e.toLowerCase()])||void 0}t.exports={wsIsSecure:o,SCHEMES:x,isValidSchemeName:a,getSchemeHandler:S}})),require_fast_uri=__commonJSMin(((e,t)=>{var{normalizeIPv6:n,removeDotSegments:r,recomposeAuthority:i,normalizeComponentEncoding:a,isIPv4:o,nonSimpleDomain:s}=require_utils(),{SCHEMES:c,getSchemeHandler:l}=require_schemes();function u(e,t){return typeof e==`string`?e=m(g(e,t),t):typeof e==`object`&&(e=g(m(e,t),t)),e}function d(e,t,n){let r=n?Object.assign({scheme:`null`},n):{scheme:`null`},i=f(g(e,r),g(t,r),r,!0);return r.skipEscape=!0,m(i,r)}function f(e,t,n,i){let a={};return i||(e=g(m(e,n),n),t=g(m(t,n),n)),n||={},!n.tolerant&&t.scheme?(a.scheme=t.scheme,a.userinfo=t.userinfo,a.host=t.host,a.port=t.port,a.path=r(t.path||``),a.query=t.query):(t.userinfo!==void 0||t.host!==void 0||t.port!==void 0?(a.userinfo=t.userinfo,a.host=t.host,a.port=t.port,a.path=r(t.path||``),a.query=t.query):(t.path?(t.path[0]===`/`?a.path=r(t.path):((e.userinfo!==void 0||e.host!==void 0||e.port!==void 0)&&!e.path?a.path=`/`+t.path:e.path?a.path=e.path.slice(0,e.path.lastIndexOf(`/`)+1)+t.path:a.path=t.path,a.path=r(a.path)),a.query=t.query):(a.path=e.path,t.query===void 0?a.query=e.query:a.query=t.query),a.userinfo=e.userinfo,a.host=e.host,a.port=e.port),a.scheme=e.scheme),a.fragment=t.fragment,a}function p(e,t,n){return typeof e==`string`?(e=unescape(e),e=m(a(g(e,n),!0),{...n,skipEscape:!0})):typeof e==`object`&&(e=m(a(e,!0),{...n,skipEscape:!0})),typeof t==`string`?(t=unescape(t),t=m(a(g(t,n),!0),{...n,skipEscape:!0})):typeof t==`object`&&(t=m(a(t,!0),{...n,skipEscape:!0})),e.toLowerCase()===t.toLowerCase()}function m(e,t){let n={host:e.host,scheme:e.scheme,userinfo:e.userinfo,port:e.port,path:e.path,query:e.query,nid:e.nid,nss:e.nss,uuid:e.uuid,fragment:e.fragment,reference:e.reference,resourceName:e.resourceName,secure:e.secure,error:``},a=Object.assign({},t),o=[],s=l(a.scheme||n.scheme);s&&s.serialize&&s.serialize(n,a),n.path!==void 0&&(a.skipEscape?n.path=unescape(n.path):(n.path=escape(n.path),n.scheme!==void 0&&(n.path=n.path.split(`%3A`).join(`:`)))),a.reference!==`suffix`&&n.scheme&&o.push(n.scheme,`:`);let c=i(n);if(c!==void 0&&(a.reference!==`suffix`&&o.push(`//`),o.push(c),n.path&&n.path[0]!==`/`&&o.push(`/`)),n.path!==void 0){let e=n.path;!a.absolutePath&&(!s||!s.absolutePath)&&(e=r(e)),c===void 0&&e[0]===`/`&&e[1]===`/`&&(e=`/%2F`+e.slice(2)),o.push(e)}return n.query!==void 0&&o.push(`?`,n.query),n.fragment!==void 0&&o.push(`#`,n.fragment),o.join(``)}var h=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function g(e,t){let r=Object.assign({},t),i={scheme:void 0,userinfo:void 0,host:``,port:void 0,path:``,query:void 0,fragment:void 0},a=!1;r.reference===`suffix`&&(e=r.scheme?r.scheme+`:`+e:`//`+e);let c=e.match(h);if(c){if(i.scheme=c[1],i.userinfo=c[3],i.host=c[4],i.port=parseInt(c[5],10),i.path=c[6]||``,i.query=c[7],i.fragment=c[8],isNaN(i.port)&&(i.port=c[5]),i.host)if(o(i.host)===!1){let e=n(i.host);i.host=e.host.toLowerCase(),a=e.isIPV6}else a=!0;i.scheme===void 0&&i.userinfo===void 0&&i.host===void 0&&i.port===void 0&&i.query===void 0&&!i.path?i.reference=`same-document`:i.scheme===void 0?i.reference=`relative`:i.fragment===void 0?i.reference=`absolute`:i.reference=`uri`,r.reference&&r.reference!==`suffix`&&r.reference!==i.reference&&(i.error=i.error||`URI is not a `+r.reference+` reference.`);let t=l(r.scheme||i.scheme);if(!r.unicodeSupport&&(!t||!t.unicodeSupport)&&i.host&&(r.domainHost||t&&t.domainHost)&&a===!1&&s(i.host))try{i.host=URL.domainToASCII(i.host.toLowerCase())}catch(e){i.error=i.error||`Host's domain name can not be converted to ASCII: `+e}(!t||t&&!t.skipNormalize)&&(e.indexOf(`%`)!==-1&&(i.scheme!==void 0&&(i.scheme=unescape(i.scheme)),i.host!==void 0&&(i.host=unescape(i.host))),i.path&&=escape(unescape(i.path)),i.fragment&&=encodeURI(decodeURIComponent(i.fragment))),t&&t.parse&&t.parse(i,r)}else i.error=i.error||`URI can not be parsed.`;return i}var _={SCHEMES:c,normalize:u,resolve:d,resolveComponent:f,equal:p,serialize:m,parse:g};t.exports=_,t.exports.default=_,t.exports.fastUri=_})),require_uri=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0});var t=require_fast_uri();t.code=`require("ajv/dist/runtime/uri").default`,e.default=t})),require_core$1=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.CodeGen=e.Name=e.nil=e.stringify=e.str=e._=e.KeywordCxt=void 0;var t=require_validate();Object.defineProperty(e,`KeywordCxt`,{enumerable:!0,get:function(){return t.KeywordCxt}});var n=require_codegen();Object.defineProperty(e,`_`,{enumerable:!0,get:function(){return n._}}),Object.defineProperty(e,`str`,{enumerable:!0,get:function(){return n.str}}),Object.defineProperty(e,`stringify`,{enumerable:!0,get:function(){return n.stringify}}),Object.defineProperty(e,`nil`,{enumerable:!0,get:function(){return n.nil}}),Object.defineProperty(e,`Name`,{enumerable:!0,get:function(){return n.Name}}),Object.defineProperty(e,`CodeGen`,{enumerable:!0,get:function(){return n.CodeGen}});var r=require_validation_error(),i=require_ref_error(),a=require_rules(),o=require_compile(),s=require_codegen(),c=require_resolve(),l=require_dataType(),u=require_util(),d=(init_data(),__toCommonJS(data_exports).default),f=require_uri(),p=(e,t)=>new RegExp(e,t);p.code=`new RegExp`;var m=[`removeAdditional`,`useDefaults`,`coerceTypes`],h=new Set([`validate`,`serialize`,`parse`,`wrapper`,`root`,`schema`,`keyword`,`pattern`,`formats`,`validate$data`,`func`,`obj`,`Error`]),g={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.`},_={ignoreKeywordsWithRef:``,jsPropertySyntax:``,unicode:`"minLength"/"maxLength" account for unicode characters by default.`},v=200;function y(e){var t,n,r,i,a,o,s,c,l,u,d,m,h,g,_,y,b,x,S,C,w,T,E,D,O;let k=e.strict,A=e.code?.optimize,j=A===!0||A===void 0?1:A||0,M=e.code?.regExp??p,N=e.uriResolver??f.default;return{strictSchema:e.strictSchema??k??!0,strictNumbers:e.strictNumbers??k??!0,strictTypes:e.strictTypes??k??`log`,strictTuples:e.strictTuples??k??`log`,strictRequired:e.strictRequired??k??!1,code:e.code?{...e.code,optimize:j,regExp:M}:{optimize:j,regExp:M},loopRequired:e.loopRequired??v,loopEnum:e.loopEnum??v,meta:e.meta??!0,messages:e.messages??!0,inlineRefs:e.inlineRefs??!0,schemaId:e.schemaId??`$id`,addUsedSchema:e.addUsedSchema??!0,validateSchema:e.validateSchema??!0,validateFormats:e.validateFormats??!0,unicodeRegExp:e.unicodeRegExp??!0,int32range:e.int32range??!0,uriResolver:N}}var b=class{constructor(e={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,...y(e)};let{es5:t,lines:n}=this.opts.code;this.scope=new s.ValueScope({scope:{},prefixes:h,es5:t,lines:n}),this.logger=O(e.logger);let r=e.validateFormats;e.validateFormats=!1,this.RULES=(0,a.getRules)(),x.call(this,g,e,`NOT SUPPORTED`),x.call(this,_,e,`DEPRECATED`,`warn`),this._metaOpts=E.call(this),e.formats&&w.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&T.call(this,e.keywords),typeof e.meta==`object`&&this.addMetaSchema(e.meta),C.call(this),e.validateFormats=r}_addVocabularies(){this.addKeyword(`$async`)}_addDefaultMetaSchema(){let{$data:e,meta:t,schemaId:n}=this.opts,r=d;n===`id`&&(r={...d},r.id=r.$id,delete r.$id),t&&e&&this.addMetaSchema(r,r[n],!1)}defaultMeta(){let{meta:e,schemaId:t}=this.opts;return this.opts.defaultMeta=typeof e==`object`?e[t]||e:void 0}validate(e,t){let n;if(typeof e==`string`){if(n=this.getSchema(e),!n)throw Error(`no schema with key or ref "${e}"`)}else n=this.compile(e);let r=n(t);return`$async`in n||(this.errors=n.errors),r}compile(e,t){let n=this._addSchema(e,t);return n.validate||this._compileSchemaEnv(n)}compileAsync(e,t){if(typeof this.opts.loadSchema!=`function`)throw Error(`options.loadSchema should be a function`);let{loadSchema:n}=this.opts;return r.call(this,e,t);async function r(e,t){await a.call(this,e.$schema);let n=this._addSchema(e,t);return n.validate||o.call(this,n)}async function a(e){e&&!this.getSchema(e)&&await r.call(this,{$ref:e},!0)}async function o(e){try{return this._compileSchemaEnv(e)}catch(t){if(!(t instanceof i.default))throw t;return s.call(this,t),await c.call(this,t.missingSchema),o.call(this,e)}}function s({missingSchema:e,missingRef:t}){if(this.refs[e])throw Error(`AnySchema ${e} is loaded but ${t} cannot be resolved`)}async function c(e){let n=await l.call(this,e);this.refs[e]||await a.call(this,n.$schema),this.refs[e]||this.addSchema(n,e,t)}async function l(e){let t=this._loading[e];if(t)return t;try{return await(this._loading[e]=n(e))}finally{delete this._loading[e]}}}addSchema(e,t,n,r=this.opts.validateSchema){if(Array.isArray(e)){for(let t of e)this.addSchema(t,void 0,n,r);return this}let i;if(typeof e==`object`){let{schemaId:t}=this.opts;if(i=e[t],i!==void 0&&typeof i!=`string`)throw Error(`schema ${t} must be string`)}return t=(0,c.normalizeId)(t||i),this._checkUnique(t),this.schemas[t]=this._addSchema(e,n,t,r,!0),this}addMetaSchema(e,t,n=this.opts.validateSchema){return this.addSchema(e,t,!0,n),this}validateSchema(e,t){if(typeof e==`boolean`)return!0;let n;if(n=e.$schema,n!==void 0&&typeof n!=`string`)throw 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 r=this.validate(n,e);if(!r&&t){let e=`schema is invalid: `+this.errorsText();if(this.opts.validateSchema===`log`)this.logger.error(e);else throw Error(e)}return r}getSchema(e){let t;for(;typeof(t=S.call(this,e))==`string`;)e=t;if(t===void 0){let{schemaId:n}=this.opts,r=new o.SchemaEnv({schema:{},schemaId:n});if(t=o.resolveSchema.call(this,r,e),!t)return;this.refs[e]=t}return t.validate||this._compileSchemaEnv(t)}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 t=S.call(this,e);return typeof t==`object`&&this._cache.delete(t.schema),delete this.schemas[e],delete this.refs[e],this}case`object`:{let t=e;this._cache.delete(t);let n=e[this.opts.schemaId];return n&&(n=(0,c.normalizeId)(n),delete this.schemas[n],delete this.refs[n]),this}default:throw Error(`ajv.removeSchema: invalid parameter`)}}addVocabulary(e){for(let t of e)this.addKeyword(t);return this}addKeyword(e,t){let n;if(typeof e==`string`)n=e,typeof t==`object`&&(this.logger.warn(`these parameters are deprecated, see docs for addKeyword`),t.keyword=n);else if(typeof e==`object`&&t===void 0){if(t=e,n=t.keyword,Array.isArray(n)&&!n.length)throw Error(`addKeywords: keyword must be string or non-empty array`)}else throw Error(`invalid addKeywords parameters`);if(A.call(this,n,t),!t)return(0,u.eachItem)(n,e=>j.call(this,e)),this;N.call(this,t);let r={...t,type:(0,l.getJSONTypes)(t.type),schemaType:(0,l.getJSONTypes)(t.schemaType)};return(0,u.eachItem)(n,r.type.length===0?e=>j.call(this,e,r):e=>r.type.forEach(t=>j.call(this,e,r,t))),this}getKeyword(e){let t=this.RULES.all[e];return typeof t==`object`?t.definition:!!t}removeKeyword(e){let{RULES:t}=this;delete t.keywords[e],delete t.all[e];for(let n of t.rules){let t=n.rules.findIndex(t=>t.keyword===e);t>=0&&n.rules.splice(t,1)}return this}addFormat(e,t){return typeof t==`string`&&(t=new RegExp(t)),this.formats[e]=t,this}errorsText(e=this.errors,{separator:t=`, `,dataVar:n=`data`}={}){return!e||e.length===0?`No errors`:e.map(e=>`${n}${e.instancePath} ${e.message}`).reduce((e,n)=>e+t+n)}$dataMetaSchema(e,t){let n=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(let r of t){let t=r.split(`/`).slice(1),i=e;for(let e of t)i=i[e];for(let e in n){let t=n[e];if(typeof t!=`object`)continue;let{$data:r}=t.definition,a=i[e];r&&a&&(i[e]=F(a))}}return e}_removeAllSchemas(e,t){for(let n in e){let r=e[n];(!t||t.test(n))&&(typeof r==`string`?delete e[n]:r&&!r.meta&&(this._cache.delete(r.schema),delete e[n]))}}_addSchema(e,t,n,r=this.opts.validateSchema,i=this.opts.addUsedSchema){let a,{schemaId:s}=this.opts;if(typeof e==`object`)a=e[s];else if(this.opts.jtd)throw Error(`schema must be object`);else if(typeof e!=`boolean`)throw Error(`schema must be object or boolean`);let l=this._cache.get(e);if(l!==void 0)return l;n=(0,c.normalizeId)(a||n);let u=c.getSchemaRefs.call(this,e,n);return l=new o.SchemaEnv({schema:e,schemaId:s,meta:t,baseId:n,localRefs:u}),this._cache.set(l.schema,l),i&&!n.startsWith(`#`)&&(n&&this._checkUnique(n),this.refs[n]=l),r&&this.validateSchema(e,!0),l}_checkUnique(e){if(this.schemas[e]||this.refs[e])throw Error(`schema with key or id "${e}" already exists`)}_compileSchemaEnv(e){if(e.meta?this._compileMetaSchema(e):o.compileSchema.call(this,e),!e.validate)throw Error(`ajv implementation error`);return e.validate}_compileMetaSchema(e){let t=this.opts;this.opts=this._metaOpts;try{o.compileSchema.call(this,e)}finally{this.opts=t}}};b.ValidationError=r.default,b.MissingRefError=i.default,e.default=b;function x(e,t,n,r=`error`){for(let i in e){let a=i;a in t&&this.logger[r](`${n}: option ${i}. ${e[a]}`)}}function S(e){return e=(0,c.normalizeId)(e),this.schemas[e]||this.refs[e]}function C(){let e=this.opts.schemas;if(e)if(Array.isArray(e))this.addSchema(e);else for(let t in e)this.addSchema(e[t],t)}function w(){for(let e in this.opts.formats){let t=this.opts.formats[e];t&&this.addFormat(e,t)}}function T(e){if(Array.isArray(e)){this.addVocabulary(e);return}this.logger.warn(`keywords option as map is deprecated, pass array`);for(let t in e){let n=e[t];n.keyword||=t,this.addKeyword(n)}}function E(){let e={...this.opts};for(let t of m)delete e[t];return e}var D={log(){},warn(){},error(){}};function O(e){if(e===!1)return D;if(e===void 0)return console;if(e.log&&e.warn&&e.error)return e;throw Error(`logger must implement log, warn and error methods`)}var k=/^[a-z_$][a-z0-9_$:-]*$/i;function A(e,t){let{RULES:n}=this;if((0,u.eachItem)(e,e=>{if(n.keywords[e])throw Error(`Keyword ${e} is already defined`);if(!k.test(e))throw Error(`Keyword ${e} has invalid name`)}),t&&t.$data&&!(`code`in t||`validate`in t))throw Error(`$data keyword must have "code" or "validate" function`)}function j(e,t,n){var r;let i=t?.post;if(n&&i)throw Error(`keyword with "post" flag cannot have "type"`);let{RULES:a}=this,o=i?a.post:a.rules.find(({type:e})=>e===n);if(o||(o={type:n,rules:[]},a.rules.push(o)),a.keywords[e]=!0,!t)return;let s={keyword:e,definition:{...t,type:(0,l.getJSONTypes)(t.type),schemaType:(0,l.getJSONTypes)(t.schemaType)}};t.before?M.call(this,o,s,t.before):o.rules.push(s),a.all[e]=s,(r=t.implements)==null||r.forEach(e=>this.addKeyword(e))}function M(e,t,n){let r=e.rules.findIndex(e=>e.keyword===n);r>=0?e.rules.splice(r,0,t):(e.rules.push(t),this.logger.warn(`rule ${n} is not defined`))}function N(e){let{metaSchema:t}=e;t!==void 0&&(e.$data&&this.opts.$data&&(t=F(t)),e.validateSchema=this.compile(t,!0))}var P={$ref:`https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#`};function F(e){return{anyOf:[e,P]}}})),require_id=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.default={keyword:`id`,code(){throw Error(`NOT SUPPORTED: keyword "id", use "$id" for schema ID`)}}})),require_ref=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.callRef=e.getValidate=void 0;var t=require_ref_error(),n=require_code(),r=require_codegen(),i=require_names(),a=require_compile(),o=require_util(),s={keyword:`$ref`,schemaType:`string`,code(e){let{gen:n,schema:i,it:o}=e,{baseId:s,schemaEnv:u,validateName:d,opts:f,self:p}=o,{root:m}=u;if((i===`#`||i===`#/`)&&s===m.baseId)return g();let h=a.resolveRef.call(p,m,s,i);if(h===void 0)throw new t.default(o.opts.uriResolver,s,i);if(h instanceof a.SchemaEnv)return _(h);return v(h);function g(){if(u===m)return l(e,d,u,u.$async);let t=n.scopeValue(`root`,{ref:m});return l(e,(0,r._)`${t}.validate`,m,m.$async)}function _(t){l(e,c(e,t),t,t.$async)}function v(t){let a=n.scopeValue(`schema`,f.code.source===!0?{ref:t,code:(0,r.stringify)(t)}:{ref:t}),o=n.name(`valid`),s=e.subschema({schema:t,dataTypes:[],schemaPath:r.nil,topSchemaRef:a,errSchemaPath:i},o);e.mergeEvaluated(s),e.ok(o)}}};function c(e,t){let{gen:n}=e;return t.validate?n.scopeValue(`validate`,{ref:t.validate}):(0,r._)`${n.scopeValue(`wrapper`,{ref:t})}.validate`}e.getValidate=c;function l(e,t,a,s){let{gen:c,it:l}=e,{allErrors:u,schemaEnv:d,opts:f}=l,p=f.passContext?i.default.this:r.nil;s?m():h();function m(){if(!d.$async)throw Error(`async schema referenced by sync schema`);let i=c.let(`valid`);c.try(()=>{c.code((0,r._)`await ${(0,n.callValidateCode)(e,t,p)}`),_(t),u||c.assign(i,!0)},e=>{c.if((0,r._)`!(${e} instanceof ${l.ValidationError})`,()=>c.throw(e)),g(e),u||c.assign(i,!1)}),e.ok(i)}function h(){e.result((0,n.callValidateCode)(e,t,p),()=>_(t),()=>g(t))}function g(e){let t=(0,r._)`${e}.errors`;c.assign(i.default.vErrors,(0,r._)`${i.default.vErrors} === null ? ${t} : ${i.default.vErrors}.concat(${t})`),c.assign(i.default.errors,(0,r._)`${i.default.vErrors}.length`)}function _(e){var t;if(!l.opts.unevaluated)return;let n=a?.validate?.evaluated;if(l.props!==!0)if(n&&!n.dynamicProps)n.props!==void 0&&(l.props=o.mergeEvaluated.props(c,n.props,l.props));else{let t=c.var(`props`,(0,r._)`${e}.evaluated.props`);l.props=o.mergeEvaluated.props(c,t,l.props,r.Name)}if(l.items!==!0)if(n&&!n.dynamicItems)n.items!==void 0&&(l.items=o.mergeEvaluated.items(c,n.items,l.items));else{let t=c.var(`items`,(0,r._)`${e}.evaluated.items`);l.items=o.mergeEvaluated.items(c,t,l.items,r.Name)}}}e.callRef=l,e.default=s})),require_core=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0});var t=require_id(),n=require_ref();e.default=[`$schema`,`$id`,`$defs`,`$vocabulary`,{keyword:`$comment`},`definitions`,t.default,n.default]})),require_limitNumber=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0});var t=require_codegen(),n=t.operators,r={maximum:{okStr:`<=`,ok:n.LTE,fail:n.GT},minimum:{okStr:`>=`,ok:n.GTE,fail:n.LT},exclusiveMaximum:{okStr:`<`,ok:n.LT,fail:n.GTE},exclusiveMinimum:{okStr:`>`,ok:n.GT,fail:n.LTE}};e.default={keyword:Object.keys(r),type:`number`,schemaType:`number`,$data:!0,error:{message:({keyword:e,schemaCode:n})=>(0,t.str)`must be ${r[e].okStr} ${n}`,params:({keyword:e,schemaCode:n})=>(0,t._)`{comparison: ${r[e].okStr}, limit: ${n}}`},code(e){let{keyword:n,data:i,schemaCode:a}=e;e.fail$data((0,t._)`${i} ${r[n].fail} ${a} || isNaN(${i})`)}}})),require_multipleOf=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0});var t=require_codegen();e.default={keyword:`multipleOf`,type:`number`,schemaType:`number`,$data:!0,error:{message:({schemaCode:e})=>(0,t.str)`must be multiple of ${e}`,params:({schemaCode:e})=>(0,t._)`{multipleOf: ${e}}`},code(e){let{gen:n,data:r,schemaCode:i,it:a}=e,o=a.opts.multipleOfPrecision,s=n.let(`res`),c=o?(0,t._)`Math.abs(Math.round(${s}) - ${s}) > 1e-${o}`:(0,t._)`${s} !== parseInt(${s})`;e.fail$data((0,t._)`(${i} === 0 || (${s} = ${r}/${i}, ${c}))`)}}})),require_ucs2length=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0});function t(e){let t=e.length,n=0,r=0,i;for(;r<t;)n++,i=e.charCodeAt(r++),i>=55296&&i<=56319&&r<t&&(i=e.charCodeAt(r),(i&64512)==56320&&r++);return n}e.default=t,t.code=`require("ajv/dist/runtime/ucs2length").default`})),require_limitLength=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0});var t=require_codegen(),n=require_util(),r=require_ucs2length();e.default={keyword:[`maxLength`,`minLength`],type:`string`,schemaType:`number`,$data:!0,error:{message({keyword:e,schemaCode:n}){let r=e===`maxLength`?`more`:`fewer`;return(0,t.str)`must NOT have ${r} than ${n} characters`},params:({schemaCode:e})=>(0,t._)`{limit: ${e}}`},code(e){let{keyword:i,data:a,schemaCode:o,it:s}=e,c=i===`maxLength`?t.operators.GT:t.operators.LT,l=s.opts.unicode===!1?(0,t._)`${a}.length`:(0,t._)`${(0,n.useFunc)(e.gen,r.default)}(${a})`;e.fail$data((0,t._)`${l} ${c} ${o}`)}}})),require_pattern=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0});var t=require_code(),n=require_util(),r=require_codegen();e.default={keyword:`pattern`,type:`string`,schemaType:`string`,$data:!0,error:{message:({schemaCode:e})=>(0,r.str)`must match pattern "${e}"`,params:({schemaCode:e})=>(0,r._)`{pattern: ${e}}`},code(e){let{gen:i,data:a,$data:o,schema:s,schemaCode:c,it:l}=e,u=l.opts.unicodeRegExp?`u`:``;if(o){let{regExp:t}=l.opts.code,o=t.code===`new RegExp`?(0,r._)`new RegExp`:(0,n.useFunc)(i,t),s=i.let(`valid`);i.try(()=>i.assign(s,(0,r._)`${o}(${c}, ${u}).test(${a})`),()=>i.assign(s,!1)),e.fail$data((0,r._)`!${s}`)}else{let n=(0,t.usePattern)(e,s);e.fail$data((0,r._)`!${n}.test(${a})`)}}}})),require_limitProperties=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0});var t=require_codegen();e.default={keyword:[`maxProperties`,`minProperties`],type:`object`,schemaType:`number`,$data:!0,error:{message({keyword:e,schemaCode:n}){let r=e===`maxProperties`?`more`:`fewer`;return(0,t.str)`must NOT have ${r} than ${n} properties`},params:({schemaCode:e})=>(0,t._)`{limit: ${e}}`},code(e){let{keyword:n,data:r,schemaCode:i}=e,a=n===`maxProperties`?t.operators.GT:t.operators.LT;e.fail$data((0,t._)`Object.keys(${r}).length ${a} ${i}`)}}})),require_required=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0});var t=require_code(),n=require_codegen(),r=require_util();e.default={keyword:`required`,type:`object`,schemaType:`array`,$data:!0,error:{message:({params:{missingProperty:e}})=>(0,n.str)`must have required property '${e}'`,params:({params:{missingProperty:e}})=>(0,n._)`{missingProperty: ${e}}`},code(e){let{gen:i,schema:a,schemaCode:o,data:s,$data:c,it:l}=e,{opts:u}=l;if(!c&&a.length===0)return;let d=a.length>=u.loopRequired;if(l.allErrors?f():p(),u.strictRequired){let t=e.parentSchema.properties,{definedProperties:n}=e.it;for(let e of a)if(t?.[e]===void 0&&!n.has(e)){let t=`required property "${e}" is not defined at "${l.schemaEnv.baseId+l.errSchemaPath}" (strictRequired)`;(0,r.checkStrictMode)(l,t,l.opts.strictRequired)}}function f(){if(d||c)e.block$data(n.nil,m);else for(let n of a)(0,t.checkReportMissingProp)(e,n)}function p(){let n=i.let(`missing`);if(d||c){let t=i.let(`valid`,!0);e.block$data(t,()=>h(n,t)),e.ok(t)}else i.if((0,t.checkMissingProp)(e,a,n)),(0,t.reportMissingProp)(e,n),i.else()}function m(){i.forOf(`prop`,o,n=>{e.setParams({missingProperty:n}),i.if((0,t.noPropertyInData)(i,s,n,u.ownProperties),()=>e.error())})}function h(r,a){e.setParams({missingProperty:r}),i.forOf(r,o,()=>{i.assign(a,(0,t.propertyInData)(i,s,r,u.ownProperties)),i.if((0,n.not)(a),()=>{e.error(),i.break()})},n.nil)}}}})),require_limitItems=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0});var t=require_codegen();e.default={keyword:[`maxItems`,`minItems`],type:`array`,schemaType:`number`,$data:!0,error:{message({keyword:e,schemaCode:n}){let r=e===`maxItems`?`more`:`fewer`;return(0,t.str)`must NOT have ${r} than ${n} items`},params:({schemaCode:e})=>(0,t._)`{limit: ${e}}`},code(e){let{keyword:n,data:r,schemaCode:i}=e,a=n===`maxItems`?t.operators.GT:t.operators.LT;e.fail$data((0,t._)`${r}.length ${a} ${i}`)}}})),require_equal=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0});var t=require_fast_deep_equal();t.code=`require("ajv/dist/runtime/equal").default`,e.default=t})),require_uniqueItems=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0});var t=require_dataType(),n=require_codegen(),r=require_util(),i=require_equal();e.default={keyword:`uniqueItems`,type:`array`,schemaType:`boolean`,$data:!0,error:{message:({params:{i:e,j:t}})=>(0,n.str)`must NOT have duplicate items (items ## ${t} and ${e} are identical)`,params:({params:{i:e,j:t}})=>(0,n._)`{i: ${e}, j: ${t}}`},code(e){let{gen:a,data:o,$data:s,schema:c,parentSchema:l,schemaCode:u,it:d}=e;if(!s&&!c)return;let f=a.let(`valid`),p=l.items?(0,t.getSchemaTypes)(l.items):[];e.block$data(f,m,(0,n._)`${u} === false`),e.ok(f);function m(){let t=a.let(`i`,(0,n._)`${o}.length`),r=a.let(`j`);e.setParams({i:t,j:r}),a.assign(f,!0),a.if((0,n._)`${t} > 1`,()=>(h()?g:_)(t,r))}function h(){return p.length>0&&!p.some(e=>e===`object`||e===`array`)}function g(r,i){let s=a.name(`item`),c=(0,t.checkDataTypes)(p,s,d.opts.strictNumbers,t.DataType.Wrong),l=a.const(`indices`,(0,n._)`{}`);a.for((0,n._)`;${r}--;`,()=>{a.let(s,(0,n._)`${o}[${r}]`),a.if(c,(0,n._)`continue`),p.length>1&&a.if((0,n._)`typeof ${s} == "string"`,(0,n._)`${s} += "_"`),a.if((0,n._)`typeof ${l}[${s}] == "number"`,()=>{a.assign(i,(0,n._)`${l}[${s}]`),e.error(),a.assign(f,!1).break()}).code((0,n._)`${l}[${s}] = ${r}`)})}function _(t,s){let c=(0,r.useFunc)(a,i.default),l=a.name(`outer`);a.label(l).for((0,n._)`;${t}--;`,()=>a.for((0,n._)`${s} = ${t}; ${s}--;`,()=>a.if((0,n._)`${c}(${o}[${t}], ${o}[${s}])`,()=>{e.error(),a.assign(f,!1).break(l)})))}}}})),require_const=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0});var t=require_codegen(),n=require_util(),r=require_equal();e.default={keyword:`const`,$data:!0,error:{message:`must be equal to constant`,params:({schemaCode:e})=>(0,t._)`{allowedValue: ${e}}`},code(e){let{gen:i,data:a,$data:o,schemaCode:s,schema:c}=e;o||c&&typeof c==`object`?e.fail$data((0,t._)`!${(0,n.useFunc)(i,r.default)}(${a}, ${s})`):e.fail((0,t._)`${c} !== ${a}`)}}})),require_enum=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0});var t=require_codegen(),n=require_util(),r=require_equal();e.default={keyword:`enum`,schemaType:`array`,$data:!0,error:{message:`must be equal to one of the allowed values`,params:({schemaCode:e})=>(0,t._)`{allowedValues: ${e}}`},code(e){let{gen:i,data:a,$data:o,schema:s,schemaCode:c,it:l}=e;if(!o&&s.length===0)throw Error(`enum must have non-empty array`);let u=s.length>=l.opts.loopEnum,d,f=()=>d??=(0,n.useFunc)(i,r.default),p;if(u||o)p=i.let(`valid`),e.block$data(p,m);else{if(!Array.isArray(s))throw Error(`ajv implementation error`);let e=i.const(`vSchema`,c);p=(0,t.or)(...s.map((t,n)=>h(e,n)))}e.pass(p);function m(){i.assign(p,!1),i.forOf(`v`,c,e=>i.if((0,t._)`${f()}(${a}, ${e})`,()=>i.assign(p,!0).break()))}function h(e,n){let r=s[n];return typeof r==`object`&&r?(0,t._)`${f()}(${a}, ${e}[${n}])`:(0,t._)`${a} === ${r}`}}}})),require_validation=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0});var t=require_limitNumber(),n=require_multipleOf(),r=require_limitLength(),i=require_pattern(),a=require_limitProperties(),o=require_required(),s=require_limitItems(),c=require_uniqueItems(),l=require_const(),u=require_enum();e.default=[t.default,n.default,r.default,i.default,a.default,o.default,s.default,c.default,{keyword:`type`,schemaType:[`string`,`array`]},{keyword:`nullable`,schemaType:`boolean`},l.default,u.default]})),require_additionalItems=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.validateAdditionalItems=void 0;var t=require_codegen(),n=require_util(),r={keyword:`additionalItems`,type:`array`,schemaType:[`boolean`,`object`],before:`uniqueItems`,error:{message:({params:{len:e}})=>(0,t.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,t._)`{limit: ${e}}`},code(e){let{parentSchema:t,it:r}=e,{items:a}=t;if(!Array.isArray(a)){(0,n.checkStrictMode)(r,`"additionalItems" is ignored when "items" is not an array of schemas`);return}i(e,a)}};function i(e,r){let{gen:i,schema:a,data:o,keyword:s,it:c}=e;c.items=!0;let l=i.const(`len`,(0,t._)`${o}.length`);if(a===!1)e.setParams({len:r.length}),e.pass((0,t._)`${l} <= ${r.length}`);else if(typeof a==`object`&&!(0,n.alwaysValidSchema)(c,a)){let n=i.var(`valid`,(0,t._)`${l} <= ${r.length}`);i.if((0,t.not)(n),()=>u(n)),e.ok(n)}function u(a){i.forRange(`i`,r.length,l,r=>{e.subschema({keyword:s,dataProp:r,dataPropType:n.Type.Num},a),c.allErrors||i.if((0,t.not)(a),()=>i.break())})}}e.validateAdditionalItems=i,e.default=r})),require_items=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.validateTuple=void 0;var t=require_codegen(),n=require_util(),r=require_code(),i={keyword:`items`,type:`array`,schemaType:[`object`,`array`,`boolean`],before:`uniqueItems`,code(e){let{schema:t,it:i}=e;if(Array.isArray(t))return a(e,`additionalItems`,t);i.items=!0,!(0,n.alwaysValidSchema)(i,t)&&e.ok((0,r.validateArray)(e))}};function a(e,r,i=e.schema){let{gen:a,parentSchema:o,data:s,keyword:c,it:l}=e;f(o),l.opts.unevaluated&&i.length&&l.items!==!0&&(l.items=n.mergeEvaluated.items(a,i.length,l.items));let u=a.name(`valid`),d=a.const(`len`,(0,t._)`${s}.length`);i.forEach((r,i)=>{(0,n.alwaysValidSchema)(l,r)||(a.if((0,t._)`${d} > ${i}`,()=>e.subschema({keyword:c,schemaProp:i,dataProp:i},u)),e.ok(u))});function f(e){let{opts:t,errSchemaPath:a}=l,o=i.length,s=o===e.minItems&&(o===e.maxItems||e[r]===!1);if(t.strictTuples&&!s){let e=`"${c}" is ${o}-tuple, but minItems or maxItems/${r} are not specified or different at path "${a}"`;(0,n.checkStrictMode)(l,e,t.strictTuples)}}}e.validateTuple=a,e.default=i})),require_prefixItems=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0});var t=require_items();e.default={keyword:`prefixItems`,type:`array`,schemaType:[`array`],before:`uniqueItems`,code:e=>(0,t.validateTuple)(e,`items`)}})),require_items2020=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0});var t=require_codegen(),n=require_util(),r=require_code(),i=require_additionalItems();e.default={keyword:`items`,type:`array`,schemaType:[`object`,`boolean`],before:`uniqueItems`,error:{message:({params:{len:e}})=>(0,t.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,t._)`{limit: ${e}}`},code(e){let{schema:t,parentSchema:a,it:o}=e,{prefixItems:s}=a;o.items=!0,!(0,n.alwaysValidSchema)(o,t)&&(s?(0,i.validateAdditionalItems)(e,s):e.ok((0,r.validateArray)(e)))}}})),require_contains=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0});var t=require_codegen(),n=require_util();e.default={keyword:`contains`,type:`array`,schemaType:[`object`,`boolean`],before:`uniqueItems`,trackErrors:!0,error:{message:({params:{min:e,max:n}})=>n===void 0?(0,t.str)`must contain at least ${e} valid item(s)`:(0,t.str)`must contain at least ${e} and no more than ${n} valid item(s)`,params:({params:{min:e,max:n}})=>n===void 0?(0,t._)`{minContains: ${e}}`:(0,t._)`{minContains: ${e}, maxContains: ${n}}`},code(e){let{gen:r,schema:i,parentSchema:a,data:o,it:s}=e,c,l,{minContains:u,maxContains:d}=a;s.opts.next?(c=u===void 0?1:u,l=d):c=1;let f=r.const(`len`,(0,t._)`${o}.length`);if(e.setParams({min:c,max:l}),l===void 0&&c===0){(0,n.checkStrictMode)(s,`"minContains" == 0 without "maxContains": "contains" keyword ignored`);return}if(l!==void 0&&c>l){(0,n.checkStrictMode)(s,`"minContains" > "maxContains" is always invalid`),e.fail();return}if((0,n.alwaysValidSchema)(s,i)){let n=(0,t._)`${f} >= ${c}`;l!==void 0&&(n=(0,t._)`${n} && ${f} <= ${l}`),e.pass(n);return}s.items=!0;let p=r.name(`valid`);l===void 0&&c===1?h(p,()=>r.if(p,()=>r.break())):c===0?(r.let(p,!0),l!==void 0&&r.if((0,t._)`${o}.length > 0`,m)):(r.let(p,!1),m()),e.result(p,()=>e.reset());function m(){let e=r.name(`_valid`),t=r.let(`count`,0);h(e,()=>r.if(e,()=>g(t)))}function h(t,i){r.forRange(`i`,0,f,r=>{e.subschema({keyword:`contains`,dataProp:r,dataPropType:n.Type.Num,compositeRule:!0},t),i()})}function g(e){r.code((0,t._)`${e}++`),l===void 0?r.if((0,t._)`${e} >= ${c}`,()=>r.assign(p,!0).break()):(r.if((0,t._)`${e} > ${l}`,()=>r.assign(p,!1).break()),c===1?r.assign(p,!0):r.if((0,t._)`${e} >= ${c}`,()=>r.assign(p,!0)))}}}})),require_dependencies=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.validateSchemaDeps=e.validatePropertyDeps=e.error=void 0;var t=require_codegen(),n=require_util(),r=require_code();e.error={message:({params:{property:e,depsCount:n,deps:r}})=>{let i=n===1?`property`:`properties`;return(0,t.str)`must have ${i} ${r} when property ${e} is present`},params:({params:{property:e,depsCount:n,deps:r,missingProperty:i}})=>(0,t._)`{property: ${e},
|
|
7
|
+
missingProperty: ${i},
|
|
8
|
+
depsCount: ${n},
|
|
9
|
+
deps: ${r}}`};var i={keyword:`dependencies`,type:`object`,schemaType:`object`,error:e.error,code(e){let[t,n]=a(e);o(e,t),s(e,n)}};function a({schema:e}){let t={},n={};for(let r in e){if(r===`__proto__`)continue;let i=Array.isArray(e[r])?t:n;i[r]=e[r]}return[t,n]}function o(e,n=e.schema){let{gen:i,data:a,it:o}=e;if(Object.keys(n).length===0)return;let s=i.let(`missing`);for(let c in n){let l=n[c];if(l.length===0)continue;let u=(0,r.propertyInData)(i,a,c,o.opts.ownProperties);e.setParams({property:c,depsCount:l.length,deps:l.join(`, `)}),o.allErrors?i.if(u,()=>{for(let t of l)(0,r.checkReportMissingProp)(e,t)}):(i.if((0,t._)`${u} && (${(0,r.checkMissingProp)(e,l,s)})`),(0,r.reportMissingProp)(e,s),i.else())}}e.validatePropertyDeps=o;function s(e,t=e.schema){let{gen:i,data:a,keyword:o,it:s}=e,c=i.name(`valid`);for(let l in t)(0,n.alwaysValidSchema)(s,t[l])||(i.if((0,r.propertyInData)(i,a,l,s.opts.ownProperties),()=>{let t=e.subschema({keyword:o,schemaProp:l},c);e.mergeValidEvaluated(t,c)},()=>i.var(c,!0)),e.ok(c))}e.validateSchemaDeps=s,e.default=i})),require_propertyNames=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0});var t=require_codegen(),n=require_util();e.default={keyword:`propertyNames`,type:`object`,schemaType:[`object`,`boolean`],error:{message:`property name must be valid`,params:({params:e})=>(0,t._)`{propertyName: ${e.propertyName}}`},code(e){let{gen:r,schema:i,data:a,it:o}=e;if((0,n.alwaysValidSchema)(o,i))return;let s=r.name(`valid`);r.forIn(`key`,a,n=>{e.setParams({propertyName:n}),e.subschema({keyword:`propertyNames`,data:n,dataTypes:[`string`],propertyName:n,compositeRule:!0},s),r.if((0,t.not)(s),()=>{e.error(!0),o.allErrors||r.break()})}),e.ok(s)}}})),require_additionalProperties=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0});var t=require_code(),n=require_codegen(),r=require_names(),i=require_util();e.default={keyword:`additionalProperties`,type:[`object`],schemaType:[`boolean`,`object`],allowUndefined:!0,trackErrors:!0,error:{message:`must NOT have additional properties`,params:({params:e})=>(0,n._)`{additionalProperty: ${e.additionalProperty}}`},code(e){let{gen:a,schema:o,parentSchema:s,data:c,errsCount:l,it:u}=e;if(!l)throw Error(`ajv implementation error`);let{allErrors:d,opts:f}=u;if(u.props=!0,f.removeAdditional!==`all`&&(0,i.alwaysValidSchema)(u,o))return;let p=(0,t.allSchemaProperties)(s.properties),m=(0,t.allSchemaProperties)(s.patternProperties);h(),e.ok((0,n._)`${l} === ${r.default.errors}`);function h(){a.forIn(`key`,c,e=>{!p.length&&!m.length?v(e):a.if(g(e),()=>v(e))})}function g(r){let o;if(p.length>8){let e=(0,i.schemaRefOrVal)(u,s.properties,`properties`);o=(0,t.isOwnProperty)(a,e,r)}else o=p.length?(0,n.or)(...p.map(e=>(0,n._)`${r} === ${e}`)):n.nil;return m.length&&(o=(0,n.or)(o,...m.map(i=>(0,n._)`${(0,t.usePattern)(e,i)}.test(${r})`))),(0,n.not)(o)}function _(e){a.code((0,n._)`delete ${c}[${e}]`)}function v(t){if(f.removeAdditional===`all`||f.removeAdditional&&o===!1){_(t);return}if(o===!1){e.setParams({additionalProperty:t}),e.error(),d||a.break();return}if(typeof o==`object`&&!(0,i.alwaysValidSchema)(u,o)){let r=a.name(`valid`);f.removeAdditional===`failing`?(y(t,r,!1),a.if((0,n.not)(r),()=>{e.reset(),_(t)})):(y(t,r),d||a.if((0,n.not)(r),()=>a.break()))}}function y(t,n,r){let a={keyword:`additionalProperties`,dataProp:t,dataPropType:i.Type.Str};r===!1&&Object.assign(a,{compositeRule:!0,createErrors:!1,allErrors:!1}),e.subschema(a,n)}}}})),require_properties=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0});var t=require_validate(),n=require_code(),r=require_util(),i=require_additionalProperties();e.default={keyword:`properties`,type:`object`,schemaType:`object`,code(e){let{gen:a,schema:o,parentSchema:s,data:c,it:l}=e;l.opts.removeAdditional===`all`&&s.additionalProperties===void 0&&i.default.code(new t.KeywordCxt(l,i.default,`additionalProperties`));let u=(0,n.allSchemaProperties)(o);for(let e of u)l.definedProperties.add(e);l.opts.unevaluated&&u.length&&l.props!==!0&&(l.props=r.mergeEvaluated.props(a,(0,r.toHash)(u),l.props));let d=u.filter(e=>!(0,r.alwaysValidSchema)(l,o[e]));if(d.length===0)return;let f=a.name(`valid`);for(let t of d)p(t)?m(t):(a.if((0,n.propertyInData)(a,c,t,l.opts.ownProperties)),m(t),l.allErrors||a.else().var(f,!0),a.endIf()),e.it.definedProperties.add(t),e.ok(f);function p(e){return l.opts.useDefaults&&!l.compositeRule&&o[e].default!==void 0}function m(t){e.subschema({keyword:`properties`,schemaProp:t,dataProp:t},f)}}}})),require_patternProperties=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0});var t=require_code(),n=require_codegen(),r=require_util(),i=require_util();e.default={keyword:`patternProperties`,type:`object`,schemaType:`object`,code(e){let{gen:a,schema:o,data:s,parentSchema:c,it:l}=e,{opts:u}=l,d=(0,t.allSchemaProperties)(o),f=d.filter(e=>(0,r.alwaysValidSchema)(l,o[e]));if(d.length===0||f.length===d.length&&(!l.opts.unevaluated||l.props===!0))return;let p=u.strictSchema&&!u.allowMatchingProperties&&c.properties,m=a.name(`valid`);l.props!==!0&&!(l.props instanceof n.Name)&&(l.props=(0,i.evaluatedPropsToName)(a,l.props));let{props:h}=l;g();function g(){for(let e of d)p&&_(e),l.allErrors?v(e):(a.var(m,!0),v(e),a.if(m))}function _(e){for(let t in p)new RegExp(e).test(t)&&(0,r.checkStrictMode)(l,`property ${t} matches pattern ${e} (use allowMatchingProperties)`)}function v(r){a.forIn(`key`,s,o=>{a.if((0,n._)`${(0,t.usePattern)(e,r)}.test(${o})`,()=>{let t=f.includes(r);t||e.subschema({keyword:`patternProperties`,schemaProp:r,dataProp:o,dataPropType:i.Type.Str},m),l.opts.unevaluated&&h!==!0?a.assign((0,n._)`${h}[${o}]`,!0):!t&&!l.allErrors&&a.if((0,n.not)(m),()=>a.break())})})}}}})),require_not=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0});var t=require_util();e.default={keyword:`not`,schemaType:[`object`,`boolean`],trackErrors:!0,code(e){let{gen:n,schema:r,it:i}=e;if((0,t.alwaysValidSchema)(i,r)){e.fail();return}let a=n.name(`valid`);e.subschema({keyword:`not`,compositeRule:!0,createErrors:!1,allErrors:!1},a),e.failResult(a,()=>e.reset(),()=>e.error())},error:{message:`must NOT be valid`}}})),require_anyOf=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.default={keyword:`anyOf`,schemaType:`array`,trackErrors:!0,code:require_code().validateUnion,error:{message:`must match a schema in anyOf`}}})),require_oneOf=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0});var t=require_codegen(),n=require_util();e.default={keyword:`oneOf`,schemaType:`array`,trackErrors:!0,error:{message:`must match exactly one schema in oneOf`,params:({params:e})=>(0,t._)`{passingSchemas: ${e.passing}}`},code(e){let{gen:r,schema:i,parentSchema:a,it:o}=e;if(!Array.isArray(i))throw Error(`ajv implementation error`);if(o.opts.discriminator&&a.discriminator)return;let s=i,c=r.let(`valid`,!1),l=r.let(`passing`,null),u=r.name(`_valid`);e.setParams({passing:l}),r.block(d),e.result(c,()=>e.reset(),()=>e.error(!0));function d(){s.forEach((i,a)=>{let s;(0,n.alwaysValidSchema)(o,i)?r.var(u,!0):s=e.subschema({keyword:`oneOf`,schemaProp:a,compositeRule:!0},u),a>0&&r.if((0,t._)`${u} && ${c}`).assign(c,!1).assign(l,(0,t._)`[${l}, ${a}]`).else(),r.if(u,()=>{r.assign(c,!0),r.assign(l,a),s&&e.mergeEvaluated(s,t.Name)})})}}}})),require_allOf=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0});var t=require_util();e.default={keyword:`allOf`,schemaType:`array`,code(e){let{gen:n,schema:r,it:i}=e;if(!Array.isArray(r))throw Error(`ajv implementation error`);let a=n.name(`valid`);r.forEach((n,r)=>{if((0,t.alwaysValidSchema)(i,n))return;let o=e.subschema({keyword:`allOf`,schemaProp:r},a);e.ok(a),e.mergeEvaluated(o)})}}})),require_if=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0});var t=require_codegen(),n=require_util(),r={keyword:`if`,schemaType:[`object`,`boolean`],trackErrors:!0,error:{message:({params:e})=>(0,t.str)`must match "${e.ifClause}" schema`,params:({params:e})=>(0,t._)`{failingKeyword: ${e.ifClause}}`},code(e){let{gen:r,parentSchema:a,it:o}=e;a.then===void 0&&a.else===void 0&&(0,n.checkStrictMode)(o,`"if" without "then" and "else" is ignored`);let s=i(o,`then`),c=i(o,`else`);if(!s&&!c)return;let l=r.let(`valid`,!0),u=r.name(`_valid`);if(d(),e.reset(),s&&c){let t=r.let(`ifClause`);e.setParams({ifClause:t}),r.if(u,f(`then`,t),f(`else`,t))}else s?r.if(u,f(`then`)):r.if((0,t.not)(u),f(`else`));e.pass(l,()=>e.error(!0));function d(){let t=e.subschema({keyword:`if`,compositeRule:!0,createErrors:!1,allErrors:!1},u);e.mergeEvaluated(t)}function f(n,i){return()=>{let a=e.subschema({keyword:n},u);r.assign(l,u),e.mergeValidEvaluated(a,l),i?r.assign(i,(0,t._)`${n}`):e.setParams({ifClause:n})}}}};function i(e,t){let r=e.schema[t];return r!==void 0&&!(0,n.alwaysValidSchema)(e,r)}e.default=r})),require_thenElse=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0});var t=require_util();e.default={keyword:[`then`,`else`],schemaType:[`object`,`boolean`],code({keyword:e,parentSchema:n,it:r}){n.if===void 0&&(0,t.checkStrictMode)(r,`"${e}" without "if" is ignored`)}}})),require_applicator=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0});var t=require_additionalItems(),n=require_prefixItems(),r=require_items(),i=require_items2020(),a=require_contains(),o=require_dependencies(),s=require_propertyNames(),c=require_additionalProperties(),l=require_properties(),u=require_patternProperties(),d=require_not(),f=require_anyOf(),p=require_oneOf(),m=require_allOf(),h=require_if(),g=require_thenElse();function _(e=!1){let _=[d.default,f.default,p.default,m.default,h.default,g.default,s.default,c.default,o.default,l.default,u.default];return e?_.push(n.default,i.default):_.push(t.default,r.default),_.push(a.default),_}e.default=_})),require_format$1=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0});var t=require_codegen();e.default={keyword:`format`,type:[`number`,`string`],schemaType:`string`,$data:!0,error:{message:({schemaCode:e})=>(0,t.str)`must match format "${e}"`,params:({schemaCode:e})=>(0,t._)`{format: ${e}}`},code(e,n){let{gen:r,data:i,$data:a,schema:o,schemaCode:s,it:c}=e,{opts:l,errSchemaPath:u,schemaEnv:d,self:f}=c;if(!l.validateFormats)return;a?p():m();function p(){let a=r.scopeValue(`formats`,{ref:f.formats,code:l.code.formats}),o=r.const(`fDef`,(0,t._)`${a}[${s}]`),c=r.let(`fType`),u=r.let(`format`);r.if((0,t._)`typeof ${o} == "object" && !(${o} instanceof RegExp)`,()=>r.assign(c,(0,t._)`${o}.type || "string"`).assign(u,(0,t._)`${o}.validate`),()=>r.assign(c,(0,t._)`"string"`).assign(u,o)),e.fail$data((0,t.or)(p(),m()));function p(){return l.strictSchema===!1?t.nil:(0,t._)`${s} && !${u}`}function m(){let e=d.$async?(0,t._)`(${o}.async ? await ${u}(${i}) : ${u}(${i}))`:(0,t._)`${u}(${i})`,r=(0,t._)`(typeof ${u} == "function" ? ${e} : ${u}.test(${i}))`;return(0,t._)`${u} && ${u} !== true && ${c} === ${n} && !${r}`}}function m(){let a=f.formats[o];if(!a){m();return}if(a===!0)return;let[s,c,p]=h(a);s===n&&e.pass(g());function m(){if(l.strictSchema===!1){f.logger.warn(e());return}throw Error(e());function e(){return`unknown format "${o}" ignored in schema at path "${u}"`}}function h(e){let n=e instanceof RegExp?(0,t.regexpCode)(e):l.code.formats?(0,t._)`${l.code.formats}${(0,t.getProperty)(o)}`:void 0,i=r.scopeValue(`formats`,{key:o,ref:e,code:n});return typeof e==`object`&&!(e instanceof RegExp)?[e.type||`string`,e.validate,(0,t._)`${i}.validate`]:[`string`,e,i]}function g(){if(typeof a==`object`&&!(a instanceof RegExp)&&a.async){if(!d.$async)throw Error(`async format in sync schema`);return(0,t._)`await ${p}(${i})`}return typeof c==`function`?(0,t._)`${p}(${i})`:(0,t._)`${p}.test(${i})`}}}}})),require_format=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.default=[require_format$1().default]})),require_metadata=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.contentVocabulary=e.metadataVocabulary=void 0,e.metadataVocabulary=[`title`,`description`,`default`,`deprecated`,`readOnly`,`writeOnly`,`examples`],e.contentVocabulary=[`contentMediaType`,`contentEncoding`,`contentSchema`]})),require_draft7=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0});var t=require_core(),n=require_validation(),r=require_applicator(),i=require_format(),a=require_metadata();e.default=[t.default,n.default,(0,r.default)(),i.default,a.metadataVocabulary,a.contentVocabulary]})),require_types=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.DiscrError=void 0;var t;(function(e){e.Tag=`tag`,e.Mapping=`mapping`})(t||(e.DiscrError=t={}))})),require_discriminator=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0});var t=require_codegen(),n=require_types(),r=require_compile(),i=require_ref_error(),a=require_util();e.default={keyword:`discriminator`,type:`object`,schemaType:`object`,error:{message:({params:{discrError:e,tagName:t}})=>e===n.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:n,tagName:r}})=>(0,t._)`{error: ${e}, tag: ${r}, tagValue: ${n}}`},code(e){let{gen:o,data:s,schema:c,parentSchema:l,it:u}=e,{oneOf:d}=l;if(!u.opts.discriminator)throw Error(`discriminator: requires discriminator option`);let f=c.propertyName;if(typeof f!=`string`)throw Error(`discriminator: requires propertyName`);if(c.mapping)throw Error(`discriminator: mapping is not supported`);if(!d)throw Error(`discriminator: requires oneOf keyword`);let p=o.let(`valid`,!1),m=o.const(`tag`,(0,t._)`${s}${(0,t.getProperty)(f)}`);o.if((0,t._)`typeof ${m} == "string"`,()=>h(),()=>e.error(!1,{discrError:n.DiscrError.Tag,tag:m,tagName:f})),e.ok(p);function h(){let r=_();o.if(!1);for(let e in r)o.elseIf((0,t._)`${m} === ${e}`),o.assign(p,g(r[e]));o.else(),e.error(!1,{discrError:n.DiscrError.Mapping,tag:m,tagName:f}),o.endIf()}function g(n){let r=o.name(`valid`),i=e.subschema({keyword:`oneOf`,schemaProp:n},r);return e.mergeEvaluated(i,t.Name),r}function _(){var e;let t={},n=s(l),o=!0;for(let e=0;e<d.length;e++){let t=d[e];if(t?.$ref&&!(0,a.schemaHasRulesButRef)(t,u.self.RULES)){let e=t.$ref;if(t=r.resolveRef.call(u.self,u.schemaEnv.root,u.baseId,e),t instanceof r.SchemaEnv&&(t=t.schema),t===void 0)throw new i.default(u.opts.uriResolver,u.baseId,e)}let l=t?.properties?.[f];if(typeof l!=`object`)throw Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${f}"`);o&&=n||s(t),c(l,e)}if(!o)throw Error(`discriminator: "${f}" must be required`);return t;function s({required:e}){return Array.isArray(e)&&e.includes(f)}function c(e,t){if(e.const)p(e.const,t);else if(e.enum)for(let n of e.enum)p(n,t);else throw Error(`discriminator: "properties/${f}" must have "const" or "enum"`)}function p(e,n){if(typeof e!=`string`||e in t)throw Error(`discriminator: "${f}" values must be unique strings`);t[e]=n}}}}})),json_schema_draft_07_exports=__exportAll({$id:()=>$id,$schema:()=>$schema,default:()=>json_schema_draft_07_default,definitions:()=>definitions,properties:()=>properties,title:()=>title,type:()=>type}),$schema,$id,title,definitions,type,properties,json_schema_draft_07_default,init_json_schema_draft_07=__esmMin((()=>{$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:`#`}},json_schema_draft_07_default={$schema,$id,title,definitions,type,properties,default:!0}})),require_ajv=__commonJSMin(((e,t)=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.MissingRefError=e.ValidationError=e.CodeGen=e.Name=e.nil=e.stringify=e.str=e._=e.KeywordCxt=e.Ajv=void 0;var n=require_core$1(),r=require_draft7(),i=require_discriminator(),a=(init_json_schema_draft_07(),__toCommonJS(json_schema_draft_07_exports).default),o=[`/properties`],s=`http://json-schema.org/draft-07/schema`,c=class extends n.default{_addVocabularies(){super._addVocabularies(),r.default.forEach(e=>this.addVocabulary(e)),this.opts.discriminator&&this.addKeyword(i.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let e=this.opts.$data?this.$dataMetaSchema(a,o):a;this.addMetaSchema(e,s,!1),this.refs[`http://json-schema.org/schema`]=s}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(s)?s:void 0)}};e.Ajv=c,t.exports=e=c,t.exports.Ajv=c,Object.defineProperty(e,`__esModule`,{value:!0}),e.default=c;var l=require_validate();Object.defineProperty(e,`KeywordCxt`,{enumerable:!0,get:function(){return l.KeywordCxt}});var u=require_codegen();Object.defineProperty(e,`_`,{enumerable:!0,get:function(){return u._}}),Object.defineProperty(e,`str`,{enumerable:!0,get:function(){return u.str}}),Object.defineProperty(e,`stringify`,{enumerable:!0,get:function(){return u.stringify}}),Object.defineProperty(e,`nil`,{enumerable:!0,get:function(){return u.nil}}),Object.defineProperty(e,`Name`,{enumerable:!0,get:function(){return u.Name}}),Object.defineProperty(e,`CodeGen`,{enumerable:!0,get:function(){return u.CodeGen}});var d=require_validation_error();Object.defineProperty(e,`ValidationError`,{enumerable:!0,get:function(){return d.default}});var f=require_ref_error();Object.defineProperty(e,`MissingRefError`,{enumerable:!0,get:function(){return f.default}})})),require_formats=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.formatNames=e.fastFormats=e.fullFormats=void 0;function t(e,t){return{validate:e,compare:t}}e.fullFormats={date:t(a,o),time:t(c,l),"date-time":t(d,f),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:h,"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|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\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:w,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:_,int32:{type:`number`,validate:b},int64:{type:`number`,validate:x},float:{type:`number`,validate:S},double:{type:`number`,validate:S},password:!0,binary:!0},e.fastFormats={...e.fullFormats,date:t(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,o),time:t(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,l),"date-time":t(/^\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,f),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},e.formatNames=Object.keys(e.fullFormats);function n(e){return e%4==0&&(e%100!=0||e%400==0)}var r=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,i=[0,31,28,31,30,31,30,31,31,30,31,30,31];function a(e){let t=r.exec(e);if(!t)return!1;let a=+t[1],o=+t[2],s=+t[3];return o>=1&&o<=12&&s>=1&&s<=(o===2&&n(a)?29:i[o])}function o(e,t){if(e&&t)return e>t?1:e<t?-1:0}var s=/^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d(?::?\d\d)?)?$/i;function c(e,t){let n=s.exec(e);if(!n)return!1;let r=+n[1],i=+n[2],a=+n[3],o=n[5];return(r<=23&&i<=59&&a<=59||r===23&&i===59&&a===60)&&(!t||o!==``)}function l(e,t){if(!(e&&t))return;let n=s.exec(e),r=s.exec(t);if(n&&r)return e=n[1]+n[2]+n[3]+(n[4]||``),t=r[1]+r[2]+r[3]+(r[4]||``),e>t?1:e<t?-1:0}var u=/t|\s/i;function d(e){let t=e.split(u);return t.length===2&&a(t[0])&&c(t[1],!0)}function f(e,t){if(!(e&&t))return;let[n,r]=e.split(u),[i,a]=t.split(u),s=o(n,i);if(s!==void 0)return s||l(r,a)}var p=/\/|:/,m=/^(?:[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 h(e){return p.test(e)&&m.test(e)}var g=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function _(e){return g.lastIndex=0,g.test(e)}var v=-(2**31),y=2**31-1;function b(e){return Number.isInteger(e)&&e<=y&&e>=v}function x(e){return Number.isInteger(e)}function S(){return!0}var C=/[^\\]\\Z/;function w(e){if(C.test(e))return!1;try{return new RegExp(e),!0}catch{return!1}}})),require_limit=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.formatLimitDefinition=void 0;var t=require_ajv(),n=require_codegen(),r=n.operators,i={formatMaximum:{okStr:`<=`,ok:r.LTE,fail:r.GT},formatMinimum:{okStr:`>=`,ok:r.GTE,fail:r.LT},formatExclusiveMaximum:{okStr:`<`,ok:r.LT,fail:r.GTE},formatExclusiveMinimum:{okStr:`>`,ok:r.GT,fail:r.LTE}};e.formatLimitDefinition={keyword:Object.keys(i),type:`string`,schemaType:`string`,$data:!0,error:{message:({keyword:e,schemaCode:t})=>n.str`should be ${i[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>n._`{comparison: ${i[e].okStr}, limit: ${t}}`},code(e){let{gen:r,data:a,schemaCode:o,keyword:s,it:c}=e,{opts:l,self:u}=c;if(!l.validateFormats)return;let d=new t.KeywordCxt(c,u.RULES.all.format.definition,`format`);d.$data?f():p();function f(){let t=r.scopeValue(`formats`,{ref:u.formats,code:l.code.formats}),i=r.const(`fmt`,n._`${t}[${d.schemaCode}]`);e.fail$data(n.or(n._`typeof ${i} != "object"`,n._`${i} instanceof RegExp`,n._`typeof ${i}.compare != "function"`,m(i)))}function p(){let t=d.schema,i=u.formats[t];if(!i||i===!0)return;if(typeof i!=`object`||i instanceof RegExp||typeof i.compare!=`function`)throw Error(`"${s}": format "${t}" does not define "compare" function`);let a=r.scopeValue(`formats`,{key:t,ref:i,code:l.code.formats?n._`${l.code.formats}${n.getProperty(t)}`:void 0});e.fail$data(m(a))}function m(e){return n._`${e}.compare(${a}, ${o}) ${i[s].fail} 0`}},dependencies:[`format`]},e.default=t=>(t.addKeyword(e.formatLimitDefinition),t)})),require_dist=__commonJSMin(((e,t)=>{Object.defineProperty(e,`__esModule`,{value:!0});var n=require_formats(),r=require_limit(),i=require_codegen(),a=new i.Name(`fullFormats`),o=new i.Name(`fastFormats`),s=(e,t={keywords:!0})=>{if(Array.isArray(t))return c(e,t,n.fullFormats,a),e;let[i,s]=t.mode===`fast`?[n.fastFormats,o]:[n.fullFormats,a];return c(e,t.formats||n.formatNames,i,s),t.keywords&&r.default(e),e};s.get=(e,t=`full`)=>{let r=(t===`fast`?n.fastFormats:n.fullFormats)[e];if(!r)throw Error(`Unknown format "${e}"`);return r};function c(e,t,n,r){var a,o;(o=e.opts.code).formats??(o.formats=i._`require("ajv-formats/dist/formats").${r}`);for(let r of t)e.addFormat(r,n[r])}t.exports=e=s,Object.defineProperty(e,`__esModule`,{value:!0}),e.default=s})),require_zh=__commonJSMin(((e,t)=>{t.exports=function(e){if(e&&e.length)for(let r of e){let e;switch(r.keyword){case`additionalItems`:case`items`:e=``;var t=r.params.limit;e+=`不允许超过`+t+`个元素`;break;case`additionalProperties`:e=`不允许有额外的属性`;break;case`anyOf`:e=`数据应为 anyOf 所指定的其中一个`;break;case`const`:e=`应当等于常量`;break;case`contains`:e=`应当包含一个有效项`;break;case`dependencies`:case`dependentRequired`:e=``;var t=r.params.depsCount;e+=`应当拥有属性`+r.params.property+`的依赖属性`+r.params.deps;break;case`discriminator`:switch(r.params.error){case`tag`:e=`标签 "`+r.params.tag+`" 的类型必须为字符串`;break;case`mapping`:e=`标签 "`+r.params.tag+`" 的值必须在 oneOf 之中`;break;default:e=`应当通过 "`+r.keyword+` 关键词校验"`}break;case`enum`:e=`应当是预设定的枚举值之一`;break;case`false schema`:e=`布尔模式出错`;break;case`format`:e=`应当匹配格式 "`+r.params.format+`"`;break;case`formatMaximum`:case`formatExclusiveMaximum`:e=``;var n=r.params.comparison+` `+r.params.limit;e+=`应当是 `+n;break;case`formatMinimum`:case`formatExclusiveMinimum`:e=``;var n=r.params.comparison+` `+r.params.limit;e+=`应当是 `+n;break;case`if`:e=`应当匹配模式 "`+r.params.failingKeyword+`" `;break;case`maximum`:case`exclusiveMaximum`:e=``;var n=r.params.comparison+` `+r.params.limit;e+=`应当为 `+n;break;case`maxItems`:e=``;var t=r.params.limit;e+=`不应多于 `+t+` 个项`;break;case`maxLength`:e=``;var t=r.params.limit;e+=`不应多于 `+t+` 个字符`;break;case`maxProperties`:e=``;var t=r.params.limit;e+=`不应有多于 `+t+` 个属性`;break;case`minimum`:case`exclusiveMinimum`:e=``;var n=r.params.comparison+` `+r.params.limit;e+=`应当为 `+n;break;case`minItems`:e=``;var t=r.params.limit;e+=`不应少于 `+t+` 个项`;break;case`minLength`:e=``;var t=r.params.limit;e+=`不应少于 `+t+` 个字符`;break;case`minProperties`:e=``;var t=r.params.limit;e+=`不应有少于 `+t+` 个属性`;break;case`multipleOf`:e=`应当是 `+r.params.multipleOf+` 的整数倍`;break;case`not`:e=`不应当匹配 "not" schema`;break;case`oneOf`:e=`只能匹配一个 "oneOf" 中的 schema`;break;case`pattern`:e=`应当匹配模式 "`+r.params.pattern+`"`;break;case`patternRequired`:e=`应当有属性匹配模式 `+r.params.missingPattern;break;case`propertyNames`:e=`属性名 无效`;break;case`required`:e=`应当有必需属性 `+r.params.missingProperty;break;case`type`:e=`应当是 `+r.params.type+` 类型`;break;case`unevaluatedItems`:e=``;var t=r.params.len;e+=` 不允许有超过 `+t+` 个元素`;break;case`unevaluatedProperties`:e=`不允许存在未求值的属性`;break;case`uniqueItems`:e=`不应当含有重复项 (第 `+r.params.j+` 项与第 `+r.params.i+` 项是重复的)`;break;default:e=`应当通过 "`+r.keyword+` 关键词校验"`}r.message=e}}})),import_ajv=__toESM(require_ajv()),import_dist=__toESM(require_dist()),import_zh=__toESM(require_zh()),ajv=new import_ajv.default({strict:!1});(0,import_dist.default)(ajv);var VALIDATOR=`validator`,OWN_RULE_PROPERTY=`ui:rules`,DEBUG_PREFIX=`[bk-schema-form-validator]`,DEFAULT_RULES={required:{message:`必填项`,validator:`{{ $self.value !== '' }}`}},throwErr=e=>{throw Error(`${DEBUG_PREFIX} ${e}`)},globalRules=new Map,registryGlobalRules=e=>{try{if(!e)return;e?.constructor!==Object&&throwErr(`global rules must be an object`),Object.keys(e).forEach(t=>{let n=e[t];hasOwnProperty(n,VALIDATOR)||throwErr(`'${t}' rule must have a validator property`);let r=n[VALIDATOR];isExpression(r)||isRegExp(r)||r?.constructor===Function||throwErr(`'${t}' must be one of expression or regexp or function`),globalRules.set(t,n)})}catch(e){throwErr(e)}},validate=(rule,instance)=>{let theRule=rule;typeof rule==`string`&&(theRule=globalRules.get(rule),theRule||throwErr(`'${rule} is not a valid global rule, you can registry it to global rules node or use form item own custom rules`));const{validator,message}=theRule;let valid=!0;return isExpression(validator)?valid=executeExpression(validator,instance):typeof validator==`function`?valid=validator(instance):eval(validator)instanceof RegExp&&(valid=new RegExp(eval(validator)).test(instance.value)),{valid,message}},setWidgetErrorTips=(e,t,n)=>{let r=widgetTree_default.widgetMap[e],{instance:i}=r;r.type===`node`&&(i?.setState(`error`,!0),i?.setErrorTips(n));let a=e.split(`.`),o=[];a.forEach((r,i)=>{let s=a.slice(0,a.length-i),c=s.join(`.`),l=widgetTree_default.widgetMap[c],u=l.instance.schema.type===`array`||!l.instance.schema.title;if(o.push(u?s.pop():l.instance.schema.title),l.instance?.verifiable&&l.type===`group`)if(t){let t=`${o.reverse().join(`-`)}: ${n}`;l.instance.setGroupErrorTips(e,t)}else l.instance.removeGroupErrorTips(e)})},validateFormItem=e=>{let t=widgetTree_default.widgetMap[e];if(!t)return{result:!0,message:``,path:``};let{instance:n}=t;if(t.type===`group`)n?.clearGroupErrorTips();else{n?.setState(`error`,!1),n?.setErrorTips(``);let t=e.split(`.`);t.forEach((n,r)=>{let i=t.slice(0,t.length-r).join(`.`),a=widgetTree_default.widgetMap[i];a.instance?.verifiable&&a.type===`group`&&a.instance.removeGroupErrorTips(e)})}let r=n.schema,i=ajv.compile(r);if(!i(n.value===void 0?initializationValue(r.type,{integer:0,number:0}):n.value)){(0,import_zh.default)(i.errors);let t=ajv.errorsText(i.errors,{separator:`
|
|
10
|
+
`});return setWidgetErrorTips(e,!0,t),{result:!1,message:t,path:e}}let a=n.schema?.[OWN_RULE_PROPERTY]||[],o=a.some(e=>e===`required`);if(n.required&&!o){let t=validate({validator:`{{ $self.value !== '' }}`,message:`必填项`},n);if(!t.valid)return setWidgetErrorTips(e,!0,t.message),{result:!1,message:t.message,path:e}}let s=!1,c=``;for(let e of a){let t=validate(e,n);if(!t.valid){s=!0,c=t.message;break}}return s?(setWidgetErrorTips(e,!0,c),{result:!1,message:c,path:e}):{result:!0,message:c,path:e}},validateForm=()=>{let e=!0;return Object.keys(widgetTree_default.widgetMap).forEach(t=>{validateFormItem(t)?.result||(e=!1)}),e},validateFormWithResult=()=>new Promise((e,t)=>{let n=Object.keys(widgetTree_default.widgetMap).filter(e=>widgetTree_default.widgetMap[e]?.type===`node`).reduce((e,t)=>{let n=validateFormItem(t);return n?.result||e.push(n),e},[]);n.length?t(n):e([])}),validateSchema=async e=>{try{return await ajv.validateSchema(e,!0)}catch(e){return console.error(`Schema不符合规范, 请检查`,e),!1}},dispatchValidate=e=>validateFormItem(e),FormEvent=class{callbacks;constructor(){this.callbacks=Object.create(null)}on(e,t,n){return e in this.callbacks||(this.callbacks[e]={}),t in this.callbacks[e]||(this.callbacks[e][t]=[]),this.callbacks[e][t].push(n),this}off(e,t,n){if(!(e&&t))this.callbacks=Object.create(null);else if(e&&!t)delete this.callbacks[e];else if(e&&t&&!n)delete this.callbacks[e][t];else{let r=this.callbacks[e][t];for(let e in r)n===r[e]&&r.splice(Number(e),1)}return this}once(e,t,n){let r=this;function i(...a){n(...a),r.off(e,t,i)}return i.fn=n,this.on(e,t,i),this}emit(e,t,...n){if(this.callbacks[e]&&t in this.callbacks[e]){let r=[...this.callbacks[e][t]];for(let e of r)e(...n)}}},events_default=new FormEvent,Widget_default=(0,vue.defineComponent)({name:`Widget`,inheritAttrs:!1,props:FieldProps_default,data(){return{loading:!1,datasource:Schema.resolveDefaultDatasource(this.schema),formItemProps:{tips:``,label:``},state:{visible:this.visible,disabled:this.disabled,readonly:this.readonly,error:this.error},errorTips:``,privateSchema:{},key:``}},computed:{widgetMap(){return widgetTree_default.widgetMap},widgetNode(){return widgetTree_default.widgetMap[this.path]},parent(){return this.widgetNode?.parent},widgetSchema(){return mergeDeep({},this.schema,this.privateSchema)},value(){return this.modelValue}},watch:{modelValue:{handler(e,t){deepEquals(e,t)||setTimeout(()=>{reactionDispatch(this.path,`valChange`),dispatchValidate(this.path)},0)}},widgetSchema:{deep:!0,handler(e,t){deepEquals(e,t)||(this.resetDatasource(),this.key=new Date().getTime().toString())}}},created(){let e=Schema.getUiOptions(this.widgetSchema);this.formItemProps={...e,label:e.showTitle?e.label||Path.getPathLastProp(this.path):``,required:this.required};let t=Schema.getUiComponent(this.widgetSchema),n=Object.assign({},this.formItemProps,t||{});Object.keys(n).forEach(e=>{Reflect.has(this.state,e)&&this.setState(e,n[e])}),widgetTree_default.addWidgetNode(this.path,this,`node`)},mounted(){reactionRegister(this.path,this.widgetSchema[`ui:reactions`]),reactionDispatch(this.path,`valChange`),reactionDispatch(this.path,`lifetime/init`)},beforeUnmount(){widgetTree_default.removeWidgetNode(this.path,this),reactionUnRegister(this.path)},methods:{setState(e,t){Reflect.has(this.state,e)?this.state[e]=t:e===`value`?this.$emit(`update:modelValue`,{path:this.path,value:t}):console.warn(`Widget unsupported ${e} state, please check`)},async loadDataSource(){let e=this.widgetSchema?.[`ui:component`]?.remoteConfig;if(e){let{url:t,params:n,...r}=e,{request:i=fetch_default,responseParse:a}=this.httpAdapter;try{this.loading=!0;let e=executeExpression(t,this),o=isObj(n)?executeExpression(n,this):n;this.datasource=await i(e,{...r,params:o,responseParse:a}),this.loading=!1}catch(e){this.loading=!1,console.error(e)}}},setErrorTips(e){this.errorTips=e},getValue(e){return Path.getPathVal(this.rootData,e)},getReadonlyValue(){let e=this.modelValue;if(this.widgetSchema[`ui:component`]?.type===`password`)e=`******`;else if(this.datasource){let t=this.datasource?.find(e=>e.value===this.modelValue);t&&(e=t.label)}let t=e===``?`--`:e;return t=Object.prototype.toString.call(t)===`[Object Object]`?JSON.stringify(t):Array.isArray(t)?t.some(e=>e&&typeof e==`object`)?JSON.stringify(t):t.join(`,`):String(t),t},getSchema(){return this.widgetSchema},setSchema(e){try{this.privateSchema=JSON.parse(JSON.stringify(e))}catch(e){console.warn(e)}return this.widgetSchema},resetDatasource(){this.widgetSchema?.[`ui:component`]?.remoteConfig?this.loadDataSource():this.datasource=Schema.resolveDefaultDatasource(this.widgetSchema)},getDefaultValue(){return Schema.getSchemaDefaultValue(this.widgetSchema)},resetToDefault(){let e=this.getDefaultValue();this.$emit(`update:modelValue`,{path:this.path,value:e})},isDefaultValue(){let e=this.getDefaultValue();return deepEquals(this.modelValue,e)}},render(){let{name:e,...t}=Schema.getUiComponent(this.widgetSchema),n={...this.$props,loading:this.loading,modelValue:this.modelValue},r=this,i=register_default.getComponent(e)||e||Schema.getDefaultWidget(this.widgetSchema),a=events_default.callbacks?.[this.path]||{},o=()=>this.state.readonly&&this.readonlyMode===`value`&&this.widgetSchema[`ui:component`]?.name!==`table`?l:s,s=this.$slots.default?.({path:this.path})??(0,vue.h)(i,mergeDeep({...n,...t||{},...Object.keys(a).reduce((e,t)=>(e[`on${capitalizeFirstLetter(t)}`]=a[t],e),{}),schema:this.widgetSchema,onClick(){reactionDispatch(r.path,`effect/click`),a.click?.forEach(e=>e())},"onUpdate:modelValue":e=>{r.$emit(`update:modelValue`,{path:r.path,value:e}),a[`update:modelValue`]?.forEach(e=>e())}},t,{...this.state,datasource:this.datasource,readonly:this.readonly,readonlyMode:this.readonlyMode})),c=()=>this.$slots.suffix?.({path:this.path,schema:this.widgetSchema}),l=(0,vue.h)(`div`,{},{default:()=>this.getReadonlyValue()}),u=()=>this.removeable?(0,vue.h)(`span`,{class:[`bk-schema-form-group-delete`],onClick:()=>{r.$emit(`remove`,r.path)}},[(0,vue.h)(`i`,{class:[`bk-form-icon icon-close3-shape`]})]):null,d=()=>{let e=this.widgetSchema[`ui:props`]?.showResetDefault;return!(e===void 0?this.showResetDefault:e)||this.isDefaultValue()||this.state.readonly||this.state.disabled?null:(0,vue.withDirectives)((0,vue.h)(`span`,{class:[`bk-schema-form-reset-default`,`bk-form-icon icon-reset`],onClick:()=>{r.resetToDefault()}}),[[bkui_vue.bkTooltips,{content:`恢复默认值`}]])},f=()=>this.state.error?(0,vue.h)(`p`,{class:`bk-schema-form-item__error-tips`},{default:()=>this.errorTips}):null,p=()=>this.formItemProps.tips?(0,vue.h)(`p`,{class:[`mt5`,`mb0`,`f12`],style:{color:`#5e6d82`,lineHeight:`1.5em`}},{default:()=>this.formItemProps.tips}):null,m=()=>{let e=this.formItemProps.label,{description:t}=this.widgetSchema;return t?[(0,vue.withDirectives)((0,vue.h)(`span`,{class:{"bk-schema-form-label-description":t}},e),[[bkui_vue.bkTooltips,{content:t,disabled:!t}]]),d()]:[e,d()]};return(0,vue.h)(register_default.getBaseWidget(`form-item`),{key:this.key,...this.formItemProps,style:{...this.layout.item||{},...this.layout.container||{},display:this.state.visible?``:`none`},class:{"bk-schema-form-item--error":this.state.error}},{label:m,default:()=>[o(),c(),u(),f(),p()]})}}),ObjectField_default=(0,vue.defineComponent)({name:`ObjectField`,props:FieldProps_default,render(){let{schema:e,path:t,layout:n,rootData:r}=this.$props,i=orderProperties(Object.keys(e.properties||{}),e[`ui:order`]),a=[];i.length?a=i.map(i=>{let a=Path.getCurPath(t,i),o=a.split(`.`).pop(),s=Layout.findLayoutByProp(o,n.group||[])||{};return(0,vue.h)(SchemaField_default,{...this.$props,...this.$attrs,key:a,modelValue:Path.getPathVal(r,a),schema:e.properties?.[i],required:Schema.isRequired(e,i),path:a,layout:s,removeable:!1},this.$slots)}):Schema.getUiComponent(e)&&(a=[(0,vue.h)(Widget_default,{...this.$props,...this.$attrs},this.$slots)]);let{name:o,...s}=Schema.getGroupWrap(e);return(0,vue.h)(o,mergeDeep({...this.$props,...this.$attrs,modelValue:Path.getPathVal(r,t),path:t},s),{default:()=>[...a]})}}),StringField=(e,t)=>(0,vue.h)(Widget_default,{...e,...t.attrs},t.slots),NumberField_default=(0,vue.defineComponent)({name:`NumberField`,props:FieldProps_default,render(){return(0,vue.h)(StringField,{...this.$props,...this.$attrs,schema:mergeDeep({"ui:component":{type:`number`,min:this.$props.schema?.type===`integer`?0:-1/0}},this.$props.schema)},this.$slots)}}),messages={"zh-CN":{add:`添加`},"en-US":{add:`Add`}};function locale(e){let t=getCookie(`blueking_language`)||`zh-CN`;return t=[`en-US`,`enUS`,`enus`,`en-us`,`en`].includes(t)?`en-US`:`zh-CN`,messages[t]?.[e]||``}var ArrayWidget_default=(0,vue.defineComponent)({name:`ArrayWidget`,props:{...FieldProps_default,modelValue:{type:Array,default:()=>[]}},mounted(){this.handleFillItem()},methods:{handleFillItem(){let{minItems:e=0}=this.schema,t=this.modelValue?this.modelValue.length:0;if(t<e){let n=Schema.getSchemaDefaultValue(this.schema.items),r=Array(e-t).fill(n);this.$emit(`update:modelValue`,{path:this.path,value:[...this.modelValue||[],...r]})}},handleAddItem(){let e=Schema.getSchemaDefaultValue(this.schema.items),t=JSON.parse(JSON.stringify(this.modelValue||[]));t.push(e),this.$emit(`update:modelValue`,{path:this.path,value:t})},handleDeleteItem(e){let t=Number(Path.getPathLastProp(e)),n=JSON.parse(JSON.stringify(this.modelValue||[]));n.splice(t,1),this.$emit(`update:modelValue`,{path:this.path,value:n})}},render(){let e=this,t=(Array.isArray(this.modelValue)?this.modelValue:[]).map((t,n)=>{let r=Path.getCurPath(this.path,n);return(0,vue.h)(SchemaField_default,{...this.$props,...this.$attrs,key:`${r}-${this.modelValue.length}`,schema:this.schema.items,path:r,layout:{...this.layout,item:{}},removeable:!0,onRemove(t){e.handleDeleteItem(t)}})}),{name:n,...r}=Schema.getGroupWrap(this.schema);return(0,vue.h)(n,mergeDeep({...this.$props,layout:{},showTitle:!0,style:{...this.layout.item||{}},"onUpdate:modelValue":t=>{e.$emit(`update:modelValue`,t)}},r),{default:()=>[...t,this.readonly?void 0:(0,vue.h)(register_default.getBaseWidget(`form-item`),{labelWidth:0,class:{"bk-schema-form-item-auto-height":!0}},{default:()=>[(0,vue.h)(`span`,{class:[`bk-schema-form-group-add`],onClick(){e.handleAddItem()}},[(0,vue.h)(`i`,{class:[`bk-form-icon icon-plus-circle-shape mr5`]}),locale(`add`)])]})]})}}),ArrayField_default=(0,vue.defineComponent)({name:`ArrayField`,props:FieldProps_default,render(){let{schema:e,path:t}=this.$props;if(Schema.isMultiSelect(e)||Schema.isCustomArrayWidget(e))return(0,vue.h)(Widget_default,{...this.$props,...this.$attrs,key:t,schema:mergeDeep({"ui:component":{multiple:!0}},this.$props.schema)},this.$slots);if(Schema.isTupleArray(e)){let{name:n,...r}=Schema.getGroupWrap(e),i=e.items.map((e,n)=>(0,vue.h)(SchemaField_default,{...this.$props,...this.$attrs,key:Path.getCurPath(t,n),schema:e,path:Path.getCurPath(t,n)},this.$slots));return(0,vue.h)(n,mergeDeep({...this.$props,path:t,showTitle:!0},r),{default:()=>[...i]})}return(0,vue.h)(ArrayWidget_default,{...this.$attrs,...this.$props},this.$slots)}}),BooleanField_default=(0,vue.defineComponent)({name:`BooleanField`,props:FieldProps_default,render(){let{name:e}=this.$props.schema[`ui:component`]||{},t={};return[`radio`,`select`].includes(e)?t={datasource:[{label:`False`,value:!1},{label:`True`,value:!0}]}:e===`checkbox`&&(t={label:this.$props.schema?.title}),(0,vue.h)(Widget_default,{...this.$props,...this.$attrs,schema:mergeDeep({"ui:component":{...t}},this.$props.schema)},this.$slots)}}),CompositionField_default=(0,vue.defineComponent)({name:`CompositionField`,props:{...FieldProps_default},data(){return{activeIndex:-1}},computed:{composition(){return this.schema.anyOf?.length?`anyOf`:this.schema.oneOf?.length?`oneOf`:``}},created(){let e=(this.schema[this.composition]||[]).findIndex(e=>ajv.validate(e,this.modelValue));this.activeIndex=e>-1?e:0},render(){let e=this.schema[this.composition]||[],t=e.map(e=>{let t=mergeDeep({},this.schema,e);return delete t[this.composition],t}),{name:n=`radio`,...r}=Schema.getUiProps(`ui:${this.composition}`,this.schema);if(typeof this.schema.type!=`object`&&t.every(e=>e.const))return(0,vue.h)(Widget_default,{...this.$props,...this.$attrs},this.$slots);let{...i}=Schema.getUiProps(`ui:composition`,this.schema);return(0,vue.h)(register_default.getComponent(`group`),mergeDeep({...this.$props,rootData:this.rootData,schema:this.schema,modelValue:Path.getPathVal(this.rootData,this.path),path:this.path,onRemove(){this.$emit(`remove`,this.path)}},i),{default:()=>[(0,vue.h)(register_default.getBaseWidget(`form-item`),{label:r?.title},{default:()=>(0,vue.h)(register_default.getComponent(n),mergeDeep({modelValue:this.activeIndex,datasource:t.map((e,t)=>({label:e.title||``,value:t})),clearable:!1,"onUpdate:modelValue":t=>{if(this.activeIndex=t,isObj(this.modelValue)){let t=JSON.parse(JSON.stringify(this.modelValue));e.filter((e,t)=>t!==this.activeIndex).reduce((e,t)=>{let{properties:n={}}=t;return e.push(...Object.keys(n)),e},[]).forEach(e=>{delete t[e]}),this.$emit(`update:modelValue`,{path:this.path,value:t})}}},r||{}))}),(0,vue.h)(SchemaField_default,{...this.$props,...this.$attrs,key:this.activeIndex,removeable:!1,schema:t[this.activeIndex]},this.$slots)]})}}),CheckboxWidget_default=(0,vue.defineComponent)({name:`CheckboxWidget`,props:{datasource:{type:Array,default:()=>[]},modelValue:{type:[Array,Boolean],default:()=>[]},label:{type:String,default:``}},methods:{handleChange(e){this.$emit(`update:modelValue`,e)}},render(){return Array.isArray(this.modelValue)?(0,vue.h)(register_default.getBaseWidget(`checkbox-group`),{modelValue:this.modelValue,onChange:this.handleChange},{default:()=>this.datasource.map(e=>(0,vue.h)(register_default.getBaseWidget(`checkbox`),{...this.$attrs,key:e.value,class:[`mr24`],label:e.value},{default:()=>e.label}))}):(0,vue.h)(register_default.getBaseWidget(`checkbox`),{modelValue:this.modelValue,onChange:this.handleChange},{default:()=>this.label})}}),SelectWidget_default=(0,vue.defineComponent)({name:`SelectWidget`,props:{datasource:{type:Array,default:()=>[]},modelValue:{type:[Array,String,Number,Boolean],default:``},loading:{type:Boolean,default:!1}},methods:{handleSelectChange(e){this.$emit(`update:modelValue`,e)}},render(){return(0,vue.h)(register_default.getBaseWidget(`select`),{...this.$attrs,loading:this.loading,modelValue:this.modelValue,onChange:this.handleSelectChange},{default:()=>this.datasource?.map(e=>(0,vue.withDirectives)((0,vue.h)(register_default.getBaseWidget(`option`),{key:e.value,name:e.label,id:e.value,disabled:e.disabled}),[]))})}}),RadioWidget_default=(0,vue.defineComponent)({name:`RadioWidget`,props:{datasource:{type:Array,default:()=>[]},modelValue:{type:[String,Number,Boolean],default:``},disabled:{type:Boolean,default:!1}},methods:{handleChange(e){this.$emit(`update:modelValue`,e)}},render(){return(0,vue.h)(register_default.getBaseWidget(`radio-group`),{...this.$attrs,modelValue:this.modelValue,onChange:this.handleChange},{default:()=>this.datasource.map(e=>(0,vue.h)(register_default.getBaseWidget(`radio`),{key:e.value,class:[`mr24`],modelValue:e.value,label:e.value,disabled:e.disabled||this.disabled},{default:()=>e.label}))})}}),ButtonWidget_default=(0,vue.defineComponent)({name:`ButtonWidget`,props:{word:{type:String,default:``}},methods:{handleClick(){this.$emit(`click`)}},render(){let e=this;return(0,vue.h)(register_default.getBaseWidget(`button`),{...this.$attrs,onClick:e.handleClick()},{default:()=>this.word})}}),getRowDefaultData=(e={})=>{let t=Object.keys(e),n={};return t.forEach(t=>{n[t]=Schema.getSchemaDefaultValue(e[t])}),[n]},TableWidget_default=(0,vue.defineComponent)({name:`TableWidget`,props:{...FieldProps_default,modelValue:{type:Array}},watch:{modelValue:{immediate:!0,handler(){this.modelValue?.forEach((e,t)=>{let n=`${this.path}.${t}`;widgetTree_default.removeWidgetNode(n,null),widgetTree_default.addWidgetNode(n,null,`group`)})}}},methods:{handleCellValChange({path:e,value:t}){let n=Path.getSubPath(this.path,e),r=Path.setPathValue(this.modelValue,n,t);this.$emit(`update:modelValue`,r)},handleAddRow(e){if(this.schema[`ui:props`]?.disabled)return;let t=this.modelValue?.slice(0)||[];t.splice(e+1,0,...getRowDefaultData(this.$props.schema.items?.properties)),this.$emit(`update:modelValue`,t)},handleDelRow(e){if(this.schema[`ui:props`]?.disabled)return;let t=this.modelValue?.slice(0)||[];t.splice(e,1),this.$emit(`update:modelValue`,t)}},render(){let e=this,{schema:t,path:n,modelValue:r}=this,i=t.items,a={};i?.properties?a=i?.properties:console.warn(`The current schema type is not supported table component`,i);let o=Schema.getUiOptions(t),s=()=>{let r=Object.keys(a).map(t=>{let r=a[t];return{...r[`ui:props`]||{},label:r?.title,field:t,render:({row:i,index:a})=>(0,vue.h)(SchemaField_default,{...this.$props,schema:mergeDeep(r,{"ui:props":{showTitle:!1,labelWidth:.1}}),path:Path.getCurPath(n,`${a}.${t}`),modelValue:i[t],"onUpdate:modelValue"(t){e.handleCellValChange(t)}})}});return!this.readonly&&o.modifyRows!==!1&&r.push({label:`操作`,width:100,fixed:`right`,render:({index:n})=>(0,vue.h)(`div`,{class:{"table-widget-actions":!0,"is-disabled":t[`ui:props`]?.disabled}},{default:()=>[(0,vue.h)(`i`,{class:`bk-form-icon icon-plus-line action-btn`,onClick(){e.handleAddRow(n)}}),(0,vue.h)(`i`,{class:`bk-form-icon icon-minus-line action-btn`,onClick(){e.handleDelRow(n)}})]})}),r};return(0,vue.h)(register_default.getBaseWidget(`table`),{...t[`ui:component`]||{},data:r,columns:s()},{empty:()=>this.readonly||o.modifyRows===!1?null:(0,vue.h)(`div`,{style:{color:`#3a84ff`,cursor:`pointer`},onClick:()=>{e.handleAddRow(0)}},`点击添加数据`)})}}),FieldGroupWrap_default=(0,vue.defineComponent)({name:`FieldGroupWrap`,props:{...FieldProps_default,type:{type:String,default:`default`,validator:e=>[`default`,`normal`,`card`].includes(e)},showTitle:{type:Boolean,default:!1},border:{type:Boolean,default:!1},verifiable:{type:Boolean,default:!1},hideEmptyRow:{type:Boolean,default:!1},showResetDefault:{type:Boolean,default:!1}},data(){return{groupErrorTips:{},state:{visible:!0}}},computed:{value(){return this.modelValue}},created(){widgetTree_default.addWidgetNode(this.path,this,`group`)},mounted(){this.$forceUpdate()},beforeUnmount(){widgetTree_default.removeWidgetNode(this.path,this)},methods:{setState(e,t){Reflect.has(this.state,e)?this.state[e]=t:console.warn(`Group unsupported ${e} state, please check`)},setGroupErrorTips(e,t){this.groupErrorTips[e]=t},removeGroupErrorTips(e){delete this.groupErrorTips[e]},clearGroupErrorTips(){this.groupErrorTips={}},getDefaultValue(){return Schema.getSchemaDefaultValue(this.schema)},resetToDefault(){let e=this.getDefaultValue();this.$emit(`update:modelValue`,{path:this.path,value:e})},isDefaultValue(){let e=this.getDefaultValue();return deepEquals(this.modelValue,e)}},render(){let e={position:`relative`,border:this.border?`1px solid #dcdee5`:`none`,display:this.state.visible?``:`none`,...this.layout?.item||{}},t={...this.layout?.container||{display:`grid`,gridGap:`24px`}},n=this,r=()=>(0,vue.h)(`span`,{class:[`bk-schema-form-group-delete`],onClick(){n.$emit(`remove`,n.path)}},[(0,vue.h)(`i`,{class:[`bk-form-icon icon-close3-shape`]})]),i=this.schema?.title||this.layout?.prop,a=Object.keys(this.groupErrorTips).map(e=>(0,vue.createVNode)(`p`,null,[this.groupErrorTips[e]])),o=JSON.stringify(this.groupErrorTips)!==`{}`,s=()=>!this.showResetDefault||this.isDefaultValue()||this.readonly||this.disabled?null:(0,vue.withDirectives)((0,vue.h)(`span`,{class:[`bk-schema-form-reset-default`,`bk-form-icon icon-reset`],onClick:()=>{n.resetToDefault()}}),[[bkui_vue.bkTooltips,{content:`恢复默认值`}]]);return(0,vue.createVNode)(`div`,{class:[`bk-schema-form-group`,this.type,{"hide-empty-row":this.hideEmptyRow},{"bk-schema-form-group--error":o}],style:e},[i&&this.showTitle?(0,vue.createVNode)(`span`,{class:[`bk-schema-form-group-title`,this.type]},[i,s(),o?(0,vue.createVNode)(`span`,{class:`bk-schema-form-group__error-tips`},[(0,vue.createVNode)(`span`,{class:`bk-schema-form-group__error-tips-popover`},[a])]):null]):null,(0,vue.createVNode)(`div`,{style:t,class:`bk-schema-form-group-content`},[this.$slots?.default?.()]),this.removeable&&r()])}}),KeyValueArrayWidget_default=(0,vue.defineComponent)({name:`KeyValueArrayWidget`,props:{...FieldProps_default,modelValue:{type:Array,default:()=>[]}},mounted(){let{minItems:e=0}=this.schema;if(this.modelValue?.length<e){let t=Schema.getSchemaDefaultValue(this.schema.items),n=Array(e-this.modelValue.length).fill(t);this.$emit(`update:modelValue`,[...this.modelValue,...n])}},methods:{handleAddItem(){if(this.disabled)return;let e=Schema.getSchemaDefaultValue(this.schema.items);this.$emit(`update:modelValue`,[...this.modelValue,e])},handleRemoveItem(e){if(this.disabled)return;let t=JSON.parse(JSON.stringify(this.modelValue));t.splice(e,1),this.$emit(`update:modelValue`,t)},handleInput({path:e,value:t}){let n=Path.getSubPath(this.path,e),r=Path.setPathValue(this.modelValue,n,t);this.$emit(`update:modelValue`,r)}},render(){let e={"font-size":`16px`,color:`#979ba5`,cursor:this.disabled?`not-allowed`:`pointer`,display:`inline-block`},t=this.schema?.items?.properties,n=orderProperties(Object.keys(t||{}),this.schema?.items?.[`ui:order`]),r=Object.keys(t||{}).length,i=t?Array(r).fill(`1fr`).concat(`20px`).join(` `):`1fr 20px`,a={...this.layout.container||{display:`grid`,gridGap:`24px`,"grid-template-columns":i}},o=this,s=e=>mergeDeep({"ui:component":{placeholder:e.title},"ui:props":{showTitle:!1,labelWidth:.1}},e),c=e=>{let{path:t,schema:n,required:r,layout:i}=e;return(0,vue.h)(SchemaField_default,{...this.$props,key:t,schema:n,required:r,path:t,layout:i,style:{marginBottom:`10px`},"onUpdate:modelValue"(e){o.handleInput(e)}})};return(0,vue.createVNode)(`div`,null,[this.modelValue?.map((t,r)=>{let i=Path.getCurPath(this.path,`${r}`);return(0,vue.createVNode)(FieldGroupWrap_default,(0,vue.mergeProps)({...this.$props,path:i,modelValue:Path.getPathVal(this.rootData,i),schema:this.schema.items,layout:{...this.layout,container:{...a}}},{class:`mb10`}),{default:()=>[n?.length?n.map(e=>{let t=this.schema?.items?.properties[e],n=Path.getCurPath(this.path,`${r}.${e}`),i=n.split(`.`).pop(),a=Layout.findLayoutByProp(i,this.layout.group||[])||{};return c({path:n,schema:s(t),layout:a,required:Schema.isRequired(t,e)})}):c({path:Path.getCurPath(this.path,r),schema:s(this.schema?.items||{}),layout:{},required:!1}),(0,vue.createVNode)(`span`,{style:e,onClick:()=>this.handleRemoveItem(r)},[(0,vue.createVNode)(`i`,{class:`bk-form-icon icon-minus-line`},null)])]})}),(0,vue.createVNode)(`span`,{onClick:this.handleAddItem,style:e},[(0,vue.createVNode)(`i`,{class:`bk-form-icon icon-plus-line`},null)])])}}),TabGroupWidget_default=(0,vue.defineComponent)({name:`TabWidget`,props:{...FieldProps_default,type:{type:String,default:`default`,validator:e=>[`default`,`normal`,`card`].includes(e)},showTitle:{type:Boolean,default:!1},border:{type:Boolean,default:!1},verifiable:{type:Boolean,default:!1}},data(){return{active:``}},beforeMount(){this.active=orderProperties(Object.keys(this.schema?.properties||{}),this.schema[`ui:order`])?.[0]},render(){let e={...this.$props,layout:{...this.layout,container:{}},title:this.schema.title},t=this,n=orderProperties(Object.keys(this.schema?.properties||{}),this.schema[`ui:order`]);return(0,vue.h)(FieldGroupWrap_default,{...e,onRemove(e){t.$emit(`remove`,e)}},{default:()=>[(0,vue.h)(register_default.getBaseWidget(`tab`),{type:`border-card`,active:this.active,onChange:e=>{this.active=e}},{default:()=>n.map(e=>{let t=this.schema?.properties?.[e],n=Path.getCurPath(this.path,e),r=n.split(`.`).pop(),i=Layout.findLayoutByProp(r,this.layout.group||[])||{};return(0,vue.h)(register_default.getBaseWidget(`tab-panel`),{key:e,name:e,label:t?.title},{default:()=>(0,vue.h)(SchemaField_default,{...this.$props,...this.$attrs,key:n,schema:t,required:Schema.isRequired(t,e),path:n,layout:i,removeable:!1})})})})]})}}),CollapseGroupWidget_default=(0,vue.defineComponent)({name:`CollapseWidget`,props:{...FieldProps_default,type:{type:String,default:`default`,validator:e=>[`default`,`normal`,`card`].includes(e)},showTitle:{type:Boolean,default:!1},border:{type:Boolean,default:!1},defaultActiveName:{type:Array,default:()=>[]},verifiable:{type:Boolean,default:!1}},data(){return{activeName:this.defaultActiveName}},render(){let e={...this.$props,layout:{...this.layout,container:{}},title:this.schema.title},t=orderProperties(Object.keys(this.schema?.properties||{}),this.schema[`ui:order`]).map(e=>{let t=this.schema?.properties?.[e],n=Path.getCurPath(this.path,e),r=n.split(`.`).pop(),i=Layout.findLayoutByProp(r,this.layout.group||[])||{};return(0,vue.h)(register_default.getBaseWidget(`collapse-panel`),{key:e,name:e,title:t.title},{content:()=>(0,vue.h)(SchemaField_default,{key:n,...this.$props,...this.$attrs,schema:t,required:Schema.isRequired(t,e),path:n,layout:i,removeable:!1})})}),n=this;return(0,vue.h)(FieldGroupWrap_default,{...e},{default:()=>(0,vue.h)(register_default.getBaseWidget(`collapse`),{"use-card-theme":!0,modelValue:this.activeName,"onUpdate:modelValue"(e){n.activeName=e}},{default:()=>t})})}}),SwitchWidget_default=(0,vue.defineComponent)({name:`SwitchWidget`,props:{modelValue:Boolean},methods:{handleChange(e){this.$emit(`update:modelValue`,e)}},render(){return(0,vue.h)(register_default.getBaseWidget(`switcher`),{...this.$attrs,modelValue:this.modelValue,onChange:e=>{this.handleChange(e)}})}}),ColorPickerWidget_default=(0,vue.defineComponent)({name:`ColorPicker`,props:{modelValue:String},methods:{handleChange(e){this.$emit(`update:modelValue`,e)}},render(){return(0,vue.h)(register_default.getBaseWidget(`color-picker`),{...this.$attrs,modelValue:this.modelValue,onChange:this.handleChange})}}),InputWidget_default=(0,vue.defineComponent)({name:`InputWidget`,props:{modelValue:[String,Number],unit:{type:String,default:``},maxRows:{type:Number,default:0}},computed:{rows(){let e=String(this.modelValue).split(`
|
|
11
|
+
`).length;return e<=this.maxRows?e:this.maxRows}},methods:{handleInput(e){this.$attrs.type===`number`?this.$emit(`update:modelValue`,isNaN(e)||e===``?e:Number(e)):this.$emit(`update:modelValue`,e)},handleBlur(e){let t=e?.target?.value;this.$attrs.type===`number`&&isNaN(t)&&this.$emit(`update:modelValue`,this.$attrs.min||0)}},render(){return(0,vue.h)(register_default.getBaseWidget(`input`),{suffix:this.unit,modelValue:this.modelValue,rows:this.rows,type:this.maxRows>1||Number(this.$attrs.rows)>1?`textarea`:`text`,onInput:this.handleInput,onBlur:this.handleBlur,...this.$attrs})}}),defaultOptions={namespace:`bk`,components:{button:ButtonWidget_default,select:SelectWidget_default,radio:RadioWidget_default,checkbox:CheckboxWidget_default,table:TableWidget_default,group:FieldGroupWrap_default,bfArray:KeyValueArrayWidget_default,tab:TabGroupWidget_default,collapse:CollapseGroupWidget_default,switcher:SwitchWidget_default,color:ColorPickerWidget_default,bfInput:InputWidget_default},fields:{object:ObjectField_default,string:StringField,any:``,array:ArrayField_default,boolean:BooleanField_default,null:``,integer:NumberField_default,number:NumberField_default,composition:CompositionField_default}};function createForm(e={}){let{namespace:t,components:n,fields:r,baseWidgets:i={}}=mergeDeep(defaultOptions,e);return Registry.namespace=t,register_default.addComponentsMap(n),register_default.addFieldsMap(r),register_default.addBaseWidgets(i),(0,vue.defineComponent)({name:`BkuiForm`,props:props_default,data(){return{rootData:{},formKey:`bk-ui-form`}},watch:{schema(e,t){JSON.stringify(e)!==JSON.stringify(t)&&(this.validateSchema(this.schema),this.initFormData(),this.formKey=`bk-ui-form-${new Date().getTime()}`)},context:{handler(e){Registry.context=e,hasOwnProperty(e,`rules`)&®istryGlobalRules(e.rules)},immediate:!0},rules:{immediate:!0,handler(e){registryGlobalRules(e)}},modelValue(){this.initFormData()}},beforeCreate(){registryGlobalRules(DEFAULT_RULES)},created(){this.validateSchema(this.schema),this.initFormData()},methods:{initFormData(){this.rootData=merge(Schema.getSchemaDefaultValue(createProxy(this.schema,this))||{},this.modelValue),this.emitFormValueChange(this.rootData,this.modelValue)},emitFormValueChange(e,t){deepEquals(e,t)||(this.rootData=e,this.$emit(`update:modelValue`,e),this.$emit(`change`,e,t))},resetToDefault(){let e=deepClone(Schema.getSchemaDefaultValue(createProxy(this.schema,this))||{});this.emitFormValueChange(e,this.modelValue),this.$emit(`reset`,e)},validateForm,validateFormItem,validate:validateFormWithResult,validateSchema},render(){let e=this,t=(0,vue.h)(SchemaField_default,{...this.$props,schema:createProxy(this.schema,this),rootData:this.rootData,modelValue:this.modelValue,layout:new Layout(this.layout).layout,"onUpdate:modelValue":({path:t=``,value:n})=>{if(!t)e.emitFormValueChange(n,e.modelValue);else{let r=Path.setPathValue(e.rootData,t,n);e.emitFormValueChange(r,e.modelValue)}}},this.$slots),n=this.showResetButton?(0,vue.h)(`div`,{class:`bk-schema-form-actions`},[(0,vue.h)(register_default.getBaseWidget(`button`),{...this.resetButtonProps,onClick:()=>e.resetToDefault()},{default:()=>this.resetButtonText})]):null;return(0,vue.h)(register_default.getBaseWidget(`form`),{ref:`bkui-form`,key:this.formKey,model:this.modelValue,formType:this.formType,labelWidth:this.labelWidth,class:{"bk-schema-form":!0},style:{width:typeof this.width==`number`?`${this.width}px`:this.width}},{default:()=>[t,n]})}})}var src_default=createForm;exports.Schema=Schema,exports.default=src_default,exports.events=events_default});
|