trigger_system 1.0.0

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.
Files changed (136) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +127 -0
  3. package/dist/browser/index.browser.js +48 -0
  4. package/dist/browser/index.browser.js.map +122 -0
  5. package/dist/cli/lsp-server.d.ts +3 -0
  6. package/dist/cli/lsp-server.d.ts.map +1 -0
  7. package/dist/cli/validate.d.ts +2 -0
  8. package/dist/cli/validate.d.ts.map +1 -0
  9. package/dist/core/action-registry.d.ts +12 -0
  10. package/dist/core/action-registry.d.ts.map +1 -0
  11. package/dist/core/context-adapter.d.ts +23 -0
  12. package/dist/core/context-adapter.d.ts.map +1 -0
  13. package/dist/core/dependency-graph.d.ts +18 -0
  14. package/dist/core/dependency-graph.d.ts.map +1 -0
  15. package/dist/core/engine.d.ts +24 -0
  16. package/dist/core/engine.d.ts.map +1 -0
  17. package/dist/core/event-queue.d.ts +25 -0
  18. package/dist/core/event-queue.d.ts.map +1 -0
  19. package/dist/core/expression-engine.d.ts +31 -0
  20. package/dist/core/expression-engine.d.ts.map +1 -0
  21. package/dist/core/index.d.ts +10 -0
  22. package/dist/core/index.d.ts.map +1 -0
  23. package/dist/core/persistence-browser.d.ts +20 -0
  24. package/dist/core/persistence-browser.d.ts.map +1 -0
  25. package/dist/core/persistence.d.ts +34 -0
  26. package/dist/core/persistence.d.ts.map +1 -0
  27. package/dist/core/persistence.node.d.ts +18 -0
  28. package/dist/core/persistence.node.d.ts.map +1 -0
  29. package/dist/core/plugin-manager.d.ts +15 -0
  30. package/dist/core/plugin-manager.d.ts.map +1 -0
  31. package/dist/core/rule-engine.d.ts +39 -0
  32. package/dist/core/rule-engine.d.ts.map +1 -0
  33. package/dist/core/state-manager.d.ts +41 -0
  34. package/dist/core/state-manager.d.ts.map +1 -0
  35. package/dist/domain/index.d.ts +2 -0
  36. package/dist/domain/index.d.ts.map +1 -0
  37. package/dist/domain/validator.d.ts +2433 -0
  38. package/dist/domain/validator.d.ts.map +1 -0
  39. package/dist/index.browser.d.ts +6 -0
  40. package/dist/index.browser.d.ts.map +1 -0
  41. package/dist/index.d.ts +7 -0
  42. package/dist/index.d.ts.map +1 -0
  43. package/dist/io/index.d.ts +2 -0
  44. package/dist/io/index.d.ts.map +1 -0
  45. package/dist/io/loader.node.d.ts +14 -0
  46. package/dist/io/loader.node.d.ts.map +1 -0
  47. package/dist/lsp/completions.d.ts +6 -0
  48. package/dist/lsp/completions.d.ts.map +1 -0
  49. package/dist/lsp/completions.js +624 -0
  50. package/dist/lsp/completions.js.map +1 -0
  51. package/dist/lsp/data-context.d.ts +60 -0
  52. package/dist/lsp/data-context.d.ts.map +1 -0
  53. package/dist/lsp/data-context.js +172 -0
  54. package/dist/lsp/data-context.js.map +1 -0
  55. package/dist/lsp/diagnostics.d.ts +7 -0
  56. package/dist/lsp/diagnostics.d.ts.map +1 -0
  57. package/dist/lsp/diagnostics.js +373 -0
  58. package/dist/lsp/diagnostics.js.map +1 -0
  59. package/dist/lsp/directives.d.ts +44 -0
  60. package/dist/lsp/directives.d.ts.map +1 -0
  61. package/dist/lsp/directives.js +232 -0
  62. package/dist/lsp/directives.js.map +1 -0
  63. package/dist/lsp/domain/index.d.ts +2 -0
  64. package/dist/lsp/domain/index.d.ts.map +1 -0
  65. package/dist/lsp/domain/index.js +18 -0
  66. package/dist/lsp/domain/index.js.map +1 -0
  67. package/dist/lsp/domain/validator.d.ts +2433 -0
  68. package/dist/lsp/domain/validator.d.ts.map +1 -0
  69. package/dist/lsp/domain/validator.js +225 -0
  70. package/dist/lsp/domain/validator.js.map +1 -0
  71. package/dist/lsp/hover.d.ts +7 -0
  72. package/dist/lsp/hover.d.ts.map +1 -0
  73. package/dist/lsp/hover.js +462 -0
  74. package/dist/lsp/hover.js.map +1 -0
  75. package/dist/lsp/lsp/completions.d.ts +6 -0
  76. package/dist/lsp/lsp/completions.d.ts.map +1 -0
  77. package/dist/lsp/lsp/completions.js +624 -0
  78. package/dist/lsp/lsp/completions.js.map +1 -0
  79. package/dist/lsp/lsp/data-context.d.ts +60 -0
  80. package/dist/lsp/lsp/data-context.d.ts.map +1 -0
  81. package/dist/lsp/lsp/data-context.js +172 -0
  82. package/dist/lsp/lsp/data-context.js.map +1 -0
  83. package/dist/lsp/lsp/diagnostics.d.ts +7 -0
  84. package/dist/lsp/lsp/diagnostics.d.ts.map +1 -0
  85. package/dist/lsp/lsp/diagnostics.js +373 -0
  86. package/dist/lsp/lsp/diagnostics.js.map +1 -0
  87. package/dist/lsp/lsp/directives.d.ts +44 -0
  88. package/dist/lsp/lsp/directives.d.ts.map +1 -0
  89. package/dist/lsp/lsp/directives.js +232 -0
  90. package/dist/lsp/lsp/directives.js.map +1 -0
  91. package/dist/lsp/lsp/hover.d.ts +7 -0
  92. package/dist/lsp/lsp/hover.d.ts.map +1 -0
  93. package/dist/lsp/lsp/hover.js +462 -0
  94. package/dist/lsp/lsp/hover.js.map +1 -0
  95. package/dist/lsp/lsp/semantic_tokens.d.ts +4 -0
  96. package/dist/lsp/lsp/semantic_tokens.d.ts.map +1 -0
  97. package/dist/lsp/lsp/semantic_tokens.js +158 -0
  98. package/dist/lsp/lsp/semantic_tokens.js.map +1 -0
  99. package/dist/lsp/lsp/server.d.ts +2 -0
  100. package/dist/lsp/lsp/server.d.ts.map +1 -0
  101. package/dist/lsp/lsp/server.js +216 -0
  102. package/dist/lsp/lsp/server.js.map +1 -0
  103. package/dist/lsp/semantic_tokens.d.ts +4 -0
  104. package/dist/lsp/semantic_tokens.d.ts.map +1 -0
  105. package/dist/lsp/semantic_tokens.js +158 -0
  106. package/dist/lsp/semantic_tokens.js.map +1 -0
  107. package/dist/lsp/server.bundle.d.ts +2 -0
  108. package/dist/lsp/server.bundle.d.ts.map +1 -0
  109. package/dist/lsp/server.bundle.js +256 -0
  110. package/dist/lsp/server.d.ts +2 -0
  111. package/dist/lsp/server.d.ts.map +1 -0
  112. package/dist/lsp/server.js +216 -0
  113. package/dist/lsp/server.js.map +1 -0
  114. package/dist/lsp/types.d.ts +71 -0
  115. package/dist/lsp/types.d.ts.map +1 -0
  116. package/dist/lsp/types.js +4 -0
  117. package/dist/lsp/types.js.map +1 -0
  118. package/dist/node/index.js +186 -0
  119. package/dist/node/index.js.map +196 -0
  120. package/dist/node/node.js +187 -0
  121. package/dist/node/node.js.map +198 -0
  122. package/dist/node.d.ts +4 -0
  123. package/dist/node.d.ts.map +1 -0
  124. package/dist/sdk/builder.d.ts +39 -0
  125. package/dist/sdk/builder.d.ts.map +1 -0
  126. package/dist/sdk/exporter.d.ts +13 -0
  127. package/dist/sdk/exporter.d.ts.map +1 -0
  128. package/dist/sdk/index.d.ts +3 -0
  129. package/dist/sdk/index.d.ts.map +1 -0
  130. package/dist/types.d.ts +71 -0
  131. package/dist/types.d.ts.map +1 -0
  132. package/dist/utils/emitter.d.ts +25 -0
  133. package/dist/utils/emitter.d.ts.map +1 -0
  134. package/dist/utils/utils.d.ts +18 -0
  135. package/dist/utils/utils.d.ts.map +1 -0
  136. package/package.json +91 -0
@@ -0,0 +1,186 @@
1
+ import{createRequire as jQ}from"node:module";var CQ=Object.create;var{getPrototypeOf:SQ,defineProperty:UX,getOwnPropertyNames:EQ}=Object;var bQ=Object.prototype.hasOwnProperty;var MU=(U,X,q)=>{q=U!=null?CQ(SQ(U)):{};let Z=X||!U||!U.__esModule?UX(q,"default",{value:U,enumerable:!0}):q;for(let Q of EQ(U))if(!bQ.call(Z,Q))UX(Z,Q,{get:()=>U[Q],enumerable:!0});return Z};var R=(U,X)=>()=>(X||U((X={exports:{}}).exports,X),X.exports);var D1=jQ(import.meta.url);var k=R((o7)=>{var p4=Symbol.for("yaml.alias"),V8=Symbol.for("yaml.document"),y6=Symbol.for("yaml.map"),B8=Symbol.for("yaml.pair"),l4=Symbol.for("yaml.scalar"),k6=Symbol.for("yaml.seq"),h0=Symbol.for("yaml.node.type"),u7=(U)=>!!U&&typeof U==="object"&&U[h0]===p4,m7=(U)=>!!U&&typeof U==="object"&&U[h0]===V8,p7=(U)=>!!U&&typeof U==="object"&&U[h0]===y6,l7=(U)=>!!U&&typeof U==="object"&&U[h0]===B8,R8=(U)=>!!U&&typeof U==="object"&&U[h0]===l4,d7=(U)=>!!U&&typeof U==="object"&&U[h0]===k6;function D8(U){if(U&&typeof U==="object")switch(U[h0]){case y6:case k6:return!0}return!1}function c7(U){if(U&&typeof U==="object")switch(U[h0]){case p4:case y6:case l4:case k6:return!0}return!1}var i7=(U)=>(R8(U)||D8(U))&&!!U.anchor;o7.ALIAS=p4;o7.DOC=V8;o7.MAP=y6;o7.NODE_TYPE=h0;o7.PAIR=B8;o7.SCALAR=l4;o7.SEQ=k6;o7.hasAnchor=i7;o7.isAlias=u7;o7.isCollection=D8;o7.isDocument=m7;o7.isMap=p7;o7.isNode=c7;o7.isPair=l7;o7.isScalar=R8;o7.isSeq=d7});var S2=R((LH)=>{var t=k(),_0=Symbol("break visit"),M8=Symbol("skip children"),b0=Symbol("remove node");function v6(U,X){let q=w8(X);if(t.isDocument(U)){if(p1(null,U.contents,q,Object.freeze([U]))===b0)U.contents=null}else p1(null,U,q,Object.freeze([]))}v6.BREAK=_0;v6.SKIP=M8;v6.REMOVE=b0;function p1(U,X,q,Z){let Q=P8(U,X,q,Z);if(t.isNode(Q)||t.isPair(Q))return I8(U,Z,Q),p1(U,Q,q,Z);if(typeof Q!=="symbol"){if(t.isCollection(X)){Z=Object.freeze(Z.concat(X));for(let G=0;G<X.items.length;++G){let Y=p1(G,X.items[G],q,Z);if(typeof Y==="number")G=Y-1;else if(Y===_0)return _0;else if(Y===b0)X.items.splice(G,1),G-=1}}else if(t.isPair(X)){Z=Object.freeze(Z.concat(X));let G=p1("key",X.key,q,Z);if(G===_0)return _0;else if(G===b0)X.key=null;let Y=p1("value",X.value,q,Z);if(Y===_0)return _0;else if(Y===b0)X.value=null}}return Q}async function x6(U,X){let q=w8(X);if(t.isDocument(U)){if(await l1(null,U.contents,q,Object.freeze([U]))===b0)U.contents=null}else await l1(null,U,q,Object.freeze([]))}x6.BREAK=_0;x6.SKIP=M8;x6.REMOVE=b0;async function l1(U,X,q,Z){let Q=await P8(U,X,q,Z);if(t.isNode(Q)||t.isPair(Q))return I8(U,Z,Q),l1(U,Q,q,Z);if(typeof Q!=="symbol"){if(t.isCollection(X)){Z=Object.freeze(Z.concat(X));for(let G=0;G<X.items.length;++G){let Y=await l1(G,X.items[G],q,Z);if(typeof Y==="number")G=Y-1;else if(Y===_0)return _0;else if(Y===b0)X.items.splice(G,1),G-=1}}else if(t.isPair(X)){Z=Object.freeze(Z.concat(X));let G=await l1("key",X.key,q,Z);if(G===_0)return _0;else if(G===b0)X.key=null;let Y=await l1("value",X.value,q,Z);if(Y===_0)return _0;else if(Y===b0)X.value=null}}return Q}function w8(U){if(typeof U==="object"&&(U.Collection||U.Node||U.Value))return Object.assign({Alias:U.Node,Map:U.Node,Scalar:U.Node,Seq:U.Node},U.Value&&{Map:U.Value,Scalar:U.Value,Seq:U.Value},U.Collection&&{Map:U.Collection,Seq:U.Collection},U);return U}function P8(U,X,q,Z){if(typeof q==="function")return q(U,X,Z);if(t.isMap(X))return q.Map?.(U,X,Z);if(t.isSeq(X))return q.Seq?.(U,X,Z);if(t.isPair(X))return q.Pair?.(U,X,Z);if(t.isScalar(X))return q.Scalar?.(U,X,Z);if(t.isAlias(X))return q.Alias?.(U,X,Z);return}function I8(U,X,q){let Z=X[X.length-1];if(t.isCollection(Z))Z.items[U]=q;else if(t.isPair(Z))if(U==="key")Z.key=q;else Z.value=q;else if(t.isDocument(Z))Z.contents=q;else{let Q=t.isAlias(Z)?"alias":"scalar";throw Error(`Cannot replace node with ${Q} parent`)}}LH.visit=v6;LH.visitAsync=x6});var d4=R((TH)=>{var K8=k(),zH=S2(),FH={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},AH=(U)=>U.replace(/[!,[\]{}]/g,(X)=>FH[X]);class V0{constructor(U,X){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},V0.defaultYaml,U),this.tags=Object.assign({},V0.defaultTags,X)}clone(){let U=new V0(this.yaml,this.tags);return U.docStart=this.docStart,U}atDocument(){let U=new V0(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:V0.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},V0.defaultTags);break}return U}add(U,X){if(this.atNextDocument)this.yaml={explicit:V0.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},V0.defaultTags),this.atNextDocument=!1;let q=U.trim().split(/[ \t]+/),Z=q.shift();switch(Z){case"%TAG":{if(q.length!==2){if(X(0,"%TAG directive should contain exactly two parts"),q.length<2)return!1}let[Q,G]=q;return this.tags[Q]=G,!0}case"%YAML":{if(this.yaml.explicit=!0,q.length!==1)return X(0,"%YAML directive should contain exactly one part"),!1;let[Q]=q;if(Q==="1.1"||Q==="1.2")return this.yaml.version=Q,!0;else{let G=/^\d+\.\d+$/.test(Q);return X(6,`Unsupported YAML version ${Q}`,G),!1}}default:return X(0,`Unknown directive ${Z}`,!0),!1}}tagName(U,X){if(U==="!")return"!";if(U[0]!=="!")return X(`Not a valid tag: ${U}`),null;if(U[1]==="<"){let G=U.slice(2,-1);if(G==="!"||G==="!!")return X(`Verbatim tags aren't resolved, so ${U} is invalid.`),null;if(U[U.length-1]!==">")X("Verbatim tags must end with a >");return G}let[,q,Z]=U.match(/^(.*!)([^!]*)$/s);if(!Z)X(`The ${U} tag has no suffix`);let Q=this.tags[q];if(Q)try{return Q+decodeURIComponent(Z)}catch(G){return X(String(G)),null}if(q==="!")return U;return X(`Could not resolve tag: ${U}`),null}tagString(U){for(let[X,q]of Object.entries(this.tags))if(U.startsWith(q))return X+AH(U.substring(q.length));return U[0]==="!"?U:`!<${U}>`}toString(U){let X=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],q=Object.entries(this.tags),Z;if(U&&q.length>0&&K8.isNode(U.contents)){let Q={};zH.visit(U.contents,(G,Y)=>{if(K8.isNode(Y)&&Y.tag)Q[Y.tag]=!0}),Z=Object.keys(Q)}else Z=[];for(let[Q,G]of q){if(Q==="!!"&&G==="tag:yaml.org,2002:")continue;if(!U||Z.some((Y)=>Y.startsWith(G)))X.push(`%TAG ${Q} ${G}`)}return X.join(`
2
+ `)}}V0.defaultYaml={explicit:!1,version:"1.2"};V0.defaultTags={"!!":"tag:yaml.org,2002:"};TH.Directives=V0});var h6=R((DH)=>{var N8=k(),VH=S2();function BH(U){if(/[\x00-\x19\s,[\]{}]/.test(U)){let q=`Anchor must not contain whitespace or control characters: ${JSON.stringify(U)}`;throw Error(q)}return!0}function C8(U){let X=new Set;return VH.visit(U,{Value(q,Z){if(Z.anchor)X.add(Z.anchor)}}),X}function S8(U,X){for(let q=1;;++q){let Z=`${U}${q}`;if(!X.has(Z))return Z}}function RH(U,X){let q=[],Z=new Map,Q=null;return{onAnchor:(G)=>{q.push(G),Q??(Q=C8(U));let Y=S8(X,Q);return Q.add(Y),Y},setAnchors:()=>{for(let G of q){let Y=Z.get(G);if(typeof Y==="object"&&Y.anchor&&(N8.isScalar(Y.node)||N8.isCollection(Y.node)))Y.node.anchor=Y.anchor;else{let H=Error("Failed to resolve repeated object (this should not happen)");throw H.source=G,H}}},sourceObjects:Z}}DH.anchorIsValid=BH;DH.anchorNames=C8;DH.createNodeAnchors=RH;DH.findNewAnchor=S8});var c4=R((KH)=>{function E2(U,X,q,Z){if(Z&&typeof Z==="object")if(Array.isArray(Z))for(let Q=0,G=Z.length;Q<G;++Q){let Y=Z[Q],H=E2(U,Z,String(Q),Y);if(H===void 0)delete Z[Q];else if(H!==Y)Z[Q]=H}else if(Z instanceof Map)for(let Q of Array.from(Z.keys())){let G=Z.get(Q),Y=E2(U,Z,Q,G);if(Y===void 0)Z.delete(Q);else if(Y!==G)Z.set(Q,Y)}else if(Z instanceof Set)for(let Q of Array.from(Z)){let G=E2(U,Z,Q,Q);if(G===void 0)Z.delete(Q);else if(G!==Q)Z.delete(Q),Z.add(G)}else for(let[Q,G]of Object.entries(Z)){let Y=E2(U,Z,Q,G);if(Y===void 0)delete Z[Q];else if(Y!==G)Z[Q]=Y}return U.call(X,q,Z)}KH.applyReviver=E2});var n0=R((SH)=>{var CH=k();function E8(U,X,q){if(Array.isArray(U))return U.map((Z,Q)=>E8(Z,String(Q),q));if(U&&typeof U.toJSON==="function"){if(!q||!CH.hasAnchor(U))return U.toJSON(X,q);let Z={aliasCount:0,count:1,res:void 0};q.anchors.set(U,Z),q.onCreate=(G)=>{Z.res=G,delete q.onCreate};let Q=U.toJSON(X,q);if(q.onCreate)q.onCreate(Q);return Q}if(typeof U==="bigint"&&!q?.keep)return Number(U);return U}SH.toJS=E8});var u6=R((fH)=>{var bH=c4(),b8=k(),jH=n0();class j8{constructor(U){Object.defineProperty(this,b8.NODE_TYPE,{value:U})}clone(){let U=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));if(this.range)U.range=this.range.slice();return U}toJS(U,{mapAsMap:X,maxAliasCount:q,onAnchor:Z,reviver:Q}={}){if(!b8.isDocument(U))throw TypeError("A document argument is required");let G={anchors:new Map,doc:U,keep:!0,mapAsMap:X===!0,mapKeyWarned:!1,maxAliasCount:typeof q==="number"?q:100},Y=jH.toJS(this,"",G);if(typeof Z==="function")for(let{count:H,res:J}of G.anchors.values())Z(J,H);return typeof Q==="function"?bH.applyReviver(Q,{"":Y},"",Y):Y}}fH.NodeBase=j8});var b2=R((hH)=>{var yH=h6(),kH=S2(),d1=k(),vH=u6(),xH=n0();class f8 extends vH.NodeBase{constructor(U){super(d1.ALIAS);this.source=U,Object.defineProperty(this,"tag",{set(){throw Error("Alias nodes cannot have tags")}})}resolve(U,X){let q;if(X?.aliasResolveCache)q=X.aliasResolveCache;else if(q=[],kH.visit(U,{Node:(Q,G)=>{if(d1.isAlias(G)||d1.hasAnchor(G))q.push(G)}}),X)X.aliasResolveCache=q;let Z=void 0;for(let Q of q){if(Q===this)break;if(Q.anchor===this.source)Z=Q}return Z}toJSON(U,X){if(!X)return{source:this.source};let{anchors:q,doc:Z,maxAliasCount:Q}=X,G=this.resolve(Z,X);if(!G){let H=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw ReferenceError(H)}let Y=q.get(G);if(!Y)xH.toJS(G,null,X),Y=q.get(G);if(Y?.res===void 0)throw ReferenceError("This should not happen: Alias anchor was not resolved?");if(Q>=0){if(Y.count+=1,Y.aliasCount===0)Y.aliasCount=m6(Z,G,q);if(Y.count*Y.aliasCount>Q)throw ReferenceError("Excessive alias count indicates a resource exhaustion attack")}return Y.res}toString(U,X,q){let Z=`*${this.source}`;if(U){if(yH.anchorIsValid(this.source),U.options.verifyAliasOrder&&!U.anchors.has(this.source)){let Q=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw Error(Q)}if(U.implicitKey)return`${Z} `}return Z}}function m6(U,X,q){if(d1.isAlias(X)){let Z=X.resolve(U),Q=q&&Z&&q.get(Z);return Q?Q.count*Q.aliasCount:0}else if(d1.isCollection(X)){let Z=0;for(let Q of X.items){let G=m6(U,Q,q);if(G>Z)Z=G}return Z}else if(d1.isPair(X)){let Z=m6(U,X.key,q),Q=m6(U,X.value,q);return Math.max(Z,Q)}return 1}hH.Alias=f8});var i=R((cH)=>{var mH=k(),pH=u6(),lH=n0(),dH=(U)=>!U||typeof U!=="function"&&typeof U!=="object";class z1 extends pH.NodeBase{constructor(U){super(mH.SCALAR);this.value=U}toJSON(U,X){return X?.keep?this.value:lH.toJS(this.value,U,X)}toString(){return String(this.value)}}z1.BLOCK_FOLDED="BLOCK_FOLDED";z1.BLOCK_LITERAL="BLOCK_LITERAL";z1.PLAIN="PLAIN";z1.QUOTE_DOUBLE="QUOTE_DOUBLE";z1.QUOTE_SINGLE="QUOTE_SINGLE";cH.Scalar=z1;cH.isScalarValue=dH});var j2=R((tH)=>{var sH=b2(),F1=k(),g8=i(),rH="tag:yaml.org,2002:";function nH(U,X,q){if(X){let Z=q.filter((G)=>G.tag===X),Q=Z.find((G)=>!G.format)??Z[0];if(!Q)throw Error(`Tag ${X} not found`);return Q}return q.find((Z)=>Z.identify?.(U)&&!Z.format)}function aH(U,X,q){if(F1.isDocument(U))U=U.contents;if(F1.isNode(U))return U;if(F1.isPair(U)){let L=q.schema[F1.MAP].createNode?.(q.schema,null,q);return L.items.push(U),L}if(U instanceof String||U instanceof Number||U instanceof Boolean||typeof BigInt<"u"&&U instanceof BigInt)U=U.valueOf();let{aliasDuplicateObjects:Z,onAnchor:Q,onTagObj:G,schema:Y,sourceObjects:H}=q,J=void 0;if(Z&&U&&typeof U==="object")if(J=H.get(U),J)return J.anchor??(J.anchor=Q(U)),new sH.Alias(J.anchor);else J={anchor:null,node:null},H.set(U,J);if(X?.startsWith("!!"))X=rH+X.slice(2);let W=nH(U,X,Y.tags);if(!W){if(U&&typeof U.toJSON==="function")U=U.toJSON();if(!U||typeof U!=="object"){let L=new g8.Scalar(U);if(J)J.node=L;return L}W=U instanceof Map?Y[F1.MAP]:(Symbol.iterator in Object(U))?Y[F1.SEQ]:Y[F1.MAP]}if(G)G(W),delete q.onTagObj;let _=W?.createNode?W.createNode(q.schema,U,q):typeof W?.nodeClass?.from==="function"?W.nodeClass.from(q.schema,U,q):new g8.Scalar(U);if(X)_.tag=X;else if(!W.default)_.tag=W.tag;if(J)J.node=_;return _}tH.createNode=aH});var p6=R((qJ)=>{var UJ=j2(),j0=k(),XJ=u6();function i4(U,X,q){let Z=q;for(let Q=X.length-1;Q>=0;--Q){let G=X[Q];if(typeof G==="number"&&Number.isInteger(G)&&G>=0){let Y=[];Y[G]=Z,Z=Y}else Z=new Map([[G,Z]])}return UJ.createNode(Z,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw Error("This should not happen, please report a bug.")},schema:U,sourceObjects:new Map})}var y8=(U)=>U==null||typeof U==="object"&&!!U[Symbol.iterator]().next().done;class k8 extends XJ.NodeBase{constructor(U,X){super(U);Object.defineProperty(this,"schema",{value:X,configurable:!0,enumerable:!1,writable:!0})}clone(U){let X=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));if(U)X.schema=U;if(X.items=X.items.map((q)=>j0.isNode(q)||j0.isPair(q)?q.clone(U):q),this.range)X.range=this.range.slice();return X}addIn(U,X){if(y8(U))this.add(X);else{let[q,...Z]=U,Q=this.get(q,!0);if(j0.isCollection(Q))Q.addIn(Z,X);else if(Q===void 0&&this.schema)this.set(q,i4(this.schema,Z,X));else throw Error(`Expected YAML collection at ${q}. Remaining path: ${Z}`)}}deleteIn(U){let[X,...q]=U;if(q.length===0)return this.delete(X);let Z=this.get(X,!0);if(j0.isCollection(Z))return Z.deleteIn(q);else throw Error(`Expected YAML collection at ${X}. Remaining path: ${q}`)}getIn(U,X){let[q,...Z]=U,Q=this.get(q,!0);if(Z.length===0)return!X&&j0.isScalar(Q)?Q.value:Q;else return j0.isCollection(Q)?Q.getIn(Z,X):void 0}hasAllNullValues(U){return this.items.every((X)=>{if(!j0.isPair(X))return!1;let q=X.value;return q==null||U&&j0.isScalar(q)&&q.value==null&&!q.commentBefore&&!q.comment&&!q.tag})}hasIn(U){let[X,...q]=U;if(q.length===0)return this.has(X);let Z=this.get(X,!0);return j0.isCollection(Z)?Z.hasIn(q):!1}setIn(U,X){let[q,...Z]=U;if(Z.length===0)this.set(q,X);else{let Q=this.get(q,!0);if(j0.isCollection(Q))Q.setIn(Z,X);else if(Q===void 0&&this.schema)this.set(q,i4(this.schema,Z,X));else throw Error(`Expected YAML collection at ${q}. Remaining path: ${Z}`)}}}qJ.Collection=k8;qJ.collectionFromPath=i4;qJ.isEmptyPath=y8});var f2=R((JJ)=>{var YJ=(U)=>U.replace(/^(?!$)(?: $)?/gm,"#");function o4(U,X){if(/^\n+$/.test(U))return U.substring(1);return X?U.replace(/^(?! *$)/gm,X):U}var HJ=(U,X,q)=>U.endsWith(`
3
+ `)?o4(q,X):q.includes(`
4
+ `)?`
5
+ `+o4(q,X):(U.endsWith(" ")?"":" ")+q;JJ.indentComment=o4;JJ.lineComment=HJ;JJ.stringifyComment=YJ});var x8=R((zJ)=>{function $J(U,X,q="flow",{indentAtStart:Z,lineWidth:Q=80,minContentWidth:G=20,onFold:Y,onOverflow:H}={}){if(!Q||Q<0)return U;if(Q<G)G=0;let J=Math.max(1+G,1+Q-X.length);if(U.length<=J)return U;let W=[],_={},L=Q-X.length;if(typeof Z==="number")if(Z>Q-Math.max(2,G))W.push(0);else L=Q-Z;let $=void 0,A=void 0,B=!1,z=-1,O=-1,D=-1;if(q==="block"){if(z=v8(U,z,X.length),z!==-1)L=z+J}for(let K;K=U[z+=1];){if(q==="quoted"&&K==="\\"){switch(O=z,U[z+1]){case"x":z+=3;break;case"u":z+=5;break;case"U":z+=9;break;default:z+=1}D=z}if(K===`
6
+ `){if(q==="block")z=v8(U,z,X.length);L=z+X.length+J,$=void 0}else{if(K===" "&&A&&A!==" "&&A!==`
7
+ `&&A!=="\t"){let C=U[z+1];if(C&&C!==" "&&C!==`
8
+ `&&C!=="\t")$=z}if(z>=L)if($)W.push($),L=$+J,$=void 0;else if(q==="quoted"){while(A===" "||A==="\t")A=K,K=U[z+=1],B=!0;let C=z>D+1?z-2:O-1;if(_[C])return U;W.push(C),_[C]=!0,L=C+J,$=void 0}else B=!0}A=K}if(B&&H)H();if(W.length===0)return U;if(Y)Y();let P=U.slice(0,W[0]);for(let K=0;K<W.length;++K){let C=W[K],N=W[K+1]||U.length;if(C===0)P=`
9
+ ${X}${U.slice(0,N)}`;else{if(q==="quoted"&&_[C])P+=`${U[C]}\\`;P+=`
10
+ ${X}${U.slice(C+1,N)}`}}return P}function v8(U,X,q){let Z=X,Q=X+1,G=U[Q];while(G===" "||G==="\t")if(X<Q+q)G=U[++X];else{do G=U[++X];while(G&&G!==`
11
+ `);Z=X,Q=X+1,G=U[Q]}return Z}zJ.FOLD_BLOCK="block";zJ.FOLD_FLOW="flow";zJ.FOLD_QUOTED="quoted";zJ.foldFlowLines=$J});var y2=R((DJ)=>{var P0=i(),a0=x8(),d6=(U,X)=>({indentAtStart:X?U.indent.length:U.indentAtStart,lineWidth:U.options.lineWidth,minContentWidth:U.options.minContentWidth}),c6=(U)=>/^(%|---|\.\.\.)/m.test(U);function VJ(U,X,q){if(!X||X<0)return!1;let Z=X-q,Q=U.length;if(Q<=Z)return!1;for(let G=0,Y=0;G<Q;++G)if(U[G]===`
12
+ `){if(G-Y>Z)return!0;if(Y=G+1,Q-Y<=Z)return!1}return!0}function g2(U,X){let q=JSON.stringify(U);if(X.options.doubleQuotedAsJSON)return q;let{implicitKey:Z}=X,Q=X.options.doubleQuotedMinMultiLineLength,G=X.indent||(c6(U)?" ":""),Y="",H=0;for(let J=0,W=q[J];W;W=q[++J]){if(W===" "&&q[J+1]==="\\"&&q[J+2]==="n")Y+=q.slice(H,J)+"\\ ",J+=1,H=J,W="\\";if(W==="\\")switch(q[J+1]){case"u":{Y+=q.slice(H,J);let _=q.substr(J+2,4);switch(_){case"0000":Y+="\\0";break;case"0007":Y+="\\a";break;case"000b":Y+="\\v";break;case"001b":Y+="\\e";break;case"0085":Y+="\\N";break;case"00a0":Y+="\\_";break;case"2028":Y+="\\L";break;case"2029":Y+="\\P";break;default:if(_.substr(0,2)==="00")Y+="\\x"+_.substr(2);else Y+=q.substr(J,6)}J+=5,H=J+1}break;case"n":if(Z||q[J+2]==='"'||q.length<Q)J+=1;else{Y+=q.slice(H,J)+`
13
+
14
+ `;while(q[J+2]==="\\"&&q[J+3]==="n"&&q[J+4]!=='"')Y+=`
15
+ `,J+=2;if(Y+=G,q[J+2]===" ")Y+="\\";J+=1,H=J+1}break;default:J+=1}}return Y=H?Y+q.slice(H):q,Z?Y:a0.foldFlowLines(Y,G,a0.FOLD_QUOTED,d6(X,!1))}function s4(U,X){if(X.options.singleQuote===!1||X.implicitKey&&U.includes(`
16
+ `)||/[ \t]\n|\n[ \t]/.test(U))return g2(U,X);let q=X.indent||(c6(U)?" ":""),Z="'"+U.replace(/'/g,"''").replace(/\n+/g,`$&
17
+ ${q}`)+"'";return X.implicitKey?Z:a0.foldFlowLines(Z,q,a0.FOLD_FLOW,d6(X,!1))}function c1(U,X){let{singleQuote:q}=X.options,Z;if(q===!1)Z=g2;else{let Q=U.includes('"'),G=U.includes("'");if(Q&&!G)Z=s4;else if(G&&!Q)Z=g2;else Z=q?s4:g2}return Z(U,X)}var r4;try{r4=new RegExp(`(^|(?<!
18
+ ))
19
+ +(?!
20
+ |$)`,"g")}catch{r4=/\n+(?!\n|$)/g}function l6({comment:U,type:X,value:q},Z,Q,G){let{blockQuote:Y,commentString:H,lineWidth:J}=Z.options;if(!Y||/\n[\t ]+$/.test(q))return c1(q,Z);let W=Z.indent||(Z.forceBlockIndent||c6(q)?" ":""),_=Y==="literal"?!0:Y==="folded"||X===P0.Scalar.BLOCK_FOLDED?!1:X===P0.Scalar.BLOCK_LITERAL?!0:!VJ(q,J,W.length);if(!q)return _?`|
21
+ `:`>
22
+ `;let L,$;for($=q.length;$>0;--$){let N=q[$-1];if(N!==`
23
+ `&&N!=="\t"&&N!==" ")break}let A=q.substring($),B=A.indexOf(`
24
+ `);if(B===-1)L="-";else if(q===A||B!==A.length-1){if(L="+",G)G()}else L="";if(A){if(q=q.slice(0,-A.length),A[A.length-1]===`
25
+ `)A=A.slice(0,-1);A=A.replace(r4,`$&${W}`)}let z=!1,O,D=-1;for(O=0;O<q.length;++O){let N=q[O];if(N===" ")z=!0;else if(N===`
26
+ `)D=O;else break}let P=q.substring(0,D<O?D+1:O);if(P)q=q.substring(P.length),P=P.replace(/\n+/g,`$&${W}`);let C=(z?W?"2":"1":"")+L;if(U){if(C+=" "+H(U.replace(/ ?[\r\n]+/g," ")),Q)Q()}if(!_){let N=q.replace(/\n+/g,`
27
+ $&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${W}`),j=!1,m=d6(Z,!0);if(Y!=="folded"&&X!==P0.Scalar.BLOCK_FOLDED)m.onOverflow=()=>{j=!0};let w=a0.foldFlowLines(`${P}${N}${A}`,W,a0.FOLD_BLOCK,m);if(!j)return`>${C}
28
+ ${W}${w}`}return q=q.replace(/\n+/g,`$&${W}`),`|${C}
29
+ ${W}${P}${q}${A}`}function BJ(U,X,q,Z){let{type:Q,value:G}=U,{actualString:Y,implicitKey:H,indent:J,indentStep:W,inFlow:_}=X;if(H&&G.includes(`
30
+ `)||_&&/[[\]{},]/.test(G))return c1(G,X);if(/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(G))return H||_||!G.includes(`
31
+ `)?c1(G,X):l6(U,X,q,Z);if(!H&&!_&&Q!==P0.Scalar.PLAIN&&G.includes(`
32
+ `))return l6(U,X,q,Z);if(c6(G)){if(J==="")return X.forceBlockIndent=!0,l6(U,X,q,Z);else if(H&&J===W)return c1(G,X)}let L=G.replace(/\n+/g,`$&
33
+ ${J}`);if(Y){let $=(z)=>z.default&&z.tag!=="tag:yaml.org,2002:str"&&z.test?.test(L),{compat:A,tags:B}=X.doc.schema;if(B.some($)||A?.some($))return c1(G,X)}return H?L:a0.foldFlowLines(L,J,a0.FOLD_FLOW,d6(X,!1))}function RJ(U,X,q,Z){let{implicitKey:Q,inFlow:G}=X,Y=typeof U.value==="string"?U:Object.assign({},U,{value:String(U.value)}),{type:H}=U;if(H!==P0.Scalar.QUOTE_DOUBLE){if(/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(Y.value))H=P0.Scalar.QUOTE_DOUBLE}let J=(_)=>{switch(_){case P0.Scalar.BLOCK_FOLDED:case P0.Scalar.BLOCK_LITERAL:return Q||G?c1(Y.value,X):l6(Y,X,q,Z);case P0.Scalar.QUOTE_DOUBLE:return g2(Y.value,X);case P0.Scalar.QUOTE_SINGLE:return s4(Y.value,X);case P0.Scalar.PLAIN:return BJ(Y,X,q,Z);default:return null}},W=J(H);if(W===null){let{defaultKeyType:_,defaultStringType:L}=X.options,$=Q&&_||L;if(W=J($),W===null)throw Error(`Unsupported default string type ${$}`)}return W}DJ.stringifyString=RJ});var k2=R((EJ)=>{var wJ=h6(),t0=k(),PJ=f2(),IJ=y2();function KJ(U,X){let q=Object.assign({blockQuote:!0,commentString:PJ.stringifyComment,defaultKeyType:null,defaultStringType:"PLAIN",directives:null,doubleQuotedAsJSON:!1,doubleQuotedMinMultiLineLength:40,falseStr:"false",flowCollectionPadding:!0,indentSeq:!0,lineWidth:80,minContentWidth:20,nullStr:"null",simpleKeys:!1,singleQuote:null,trueStr:"true",verifyAliasOrder:!0},U.schema.toStringOptions,X),Z;switch(q.collectionStyle){case"block":Z=!1;break;case"flow":Z=!0;break;default:Z=null}return{anchors:new Set,doc:U,flowCollectionPadding:q.flowCollectionPadding?" ":"",indent:"",indentStep:typeof q.indent==="number"?" ".repeat(q.indent):" ",inFlow:Z,options:q}}function NJ(U,X){if(X.tag){let Q=U.filter((G)=>G.tag===X.tag);if(Q.length>0)return Q.find((G)=>G.format===X.format)??Q[0]}let q=void 0,Z;if(t0.isScalar(X)){Z=X.value;let Q=U.filter((G)=>G.identify?.(Z));if(Q.length>1){let G=Q.filter((Y)=>Y.test);if(G.length>0)Q=G}q=Q.find((G)=>G.format===X.format)??Q.find((G)=>!G.format)}else Z=X,q=U.find((Q)=>Q.nodeClass&&Z instanceof Q.nodeClass);if(!q){let Q=Z?.constructor?.name??(Z===null?"null":typeof Z);throw Error(`Tag not resolved for ${Q} value`)}return q}function CJ(U,X,{anchors:q,doc:Z}){if(!Z.directives)return"";let Q=[],G=(t0.isScalar(U)||t0.isCollection(U))&&U.anchor;if(G&&wJ.anchorIsValid(G))q.add(G),Q.push(`&${G}`);let Y=U.tag??(X.default?null:X.tag);if(Y)Q.push(Z.directives.tagString(Y));return Q.join(" ")}function SJ(U,X,q,Z){if(t0.isPair(U))return U.toString(X,q,Z);if(t0.isAlias(U)){if(X.doc.directives)return U.toString(X);if(X.resolvedAliases?.has(U))throw TypeError("Cannot stringify circular structure without alias nodes");else{if(X.resolvedAliases)X.resolvedAliases.add(U);else X.resolvedAliases=new Set([U]);U=U.resolve(X.doc)}}let Q=void 0,G=t0.isNode(U)?U:X.doc.createNode(U,{onTagObj:(J)=>Q=J});Q??(Q=NJ(X.doc.schema.tags,G));let Y=CJ(G,Q,X);if(Y.length>0)X.indentAtStart=(X.indentAtStart??0)+Y.length+1;let H=typeof Q.stringify==="function"?Q.stringify(G,X,q,Z):t0.isScalar(G)?IJ.stringifyString(G,X,q,Z):G.toString(X,q,Z);if(!Y)return H;return t0.isScalar(G)||H[0]==="{"||H[0]==="["?`${Y} ${H}`:`${Y}
34
+ ${X.indent}${H}`}EJ.createStringifyContext=KJ;EJ.stringify=SJ});var m8=R((gJ)=>{var u0=k(),h8=i(),u8=k2(),v2=f2();function fJ({key:U,value:X},q,Z,Q){let{allNullValues:G,doc:Y,indent:H,indentStep:J,options:{commentString:W,indentSeq:_,simpleKeys:L}}=q,$=u0.isNode(U)&&U.comment||null;if(L){if($)throw Error("With simple keys, key nodes cannot have comments");if(u0.isCollection(U)||!u0.isNode(U)&&typeof U==="object")throw Error("With simple keys, collection cannot be used as a key value")}let A=!L&&(!U||$&&X==null&&!q.inFlow||u0.isCollection(U)||(u0.isScalar(U)?U.type===h8.Scalar.BLOCK_FOLDED||U.type===h8.Scalar.BLOCK_LITERAL:typeof U==="object"));q=Object.assign({},q,{allNullValues:!1,implicitKey:!A&&(L||!G),indent:H+J});let B=!1,z=!1,O=u8.stringify(U,q,()=>B=!0,()=>z=!0);if(!A&&!q.inFlow&&O.length>1024){if(L)throw Error("With simple keys, single line scalar must not span more than 1024 characters");A=!0}if(q.inFlow){if(G||X==null){if(B&&Z)Z();return O===""?"?":A?`? ${O}`:O}}else if(G&&!L||X==null&&A){if(O=`? ${O}`,$&&!B)O+=v2.lineComment(O,q.indent,W($));else if(z&&Q)Q();return O}if(B)$=null;if(A){if($)O+=v2.lineComment(O,q.indent,W($));O=`? ${O}
35
+ ${H}:`}else if(O=`${O}:`,$)O+=v2.lineComment(O,q.indent,W($));let D,P,K;if(u0.isNode(X))D=!!X.spaceBefore,P=X.commentBefore,K=X.comment;else if(D=!1,P=null,K=null,X&&typeof X==="object")X=Y.createNode(X);if(q.implicitKey=!1,!A&&!$&&u0.isScalar(X))q.indentAtStart=O.length+1;if(z=!1,!_&&J.length>=2&&!q.inFlow&&!A&&u0.isSeq(X)&&!X.flow&&!X.tag&&!X.anchor)q.indent=q.indent.substring(2);let C=!1,N=u8.stringify(X,q,()=>C=!0,()=>z=!0),j=" ";if($||D||P){if(j=D?`
36
+ `:"",P){let m=W(P);j+=`
37
+ ${v2.indentComment(m,q.indent)}`}if(N===""&&!q.inFlow){if(j===`
38
+ `&&K)j=`
39
+
40
+ `}else j+=`
41
+ ${q.indent}`}else if(!A&&u0.isCollection(X)){let m=N[0],w=N.indexOf(`
42
+ `),o=w!==-1,m0=q.inFlow??X.flow??X.items.length===0;if(o||!m0){let R1=!1;if(o&&(m==="&"||m==="!")){let s=N.indexOf(" ");if(m==="&"&&s!==-1&&s<w&&N[s+1]==="!")s=N.indexOf(" ",s+1);if(s===-1||w<s)R1=!0}if(!R1)j=`
43
+ ${q.indent}`}}else if(N===""||N[0]===`
44
+ `)j="";if(O+=j+N,q.inFlow){if(C&&Z)Z()}else if(K&&!C)O+=v2.lineComment(O,q.indent,W(K));else if(z&&Q)Q();return O}gJ.stringifyPair=fJ});var n4=R((xJ)=>{var p8=D1("process");function kJ(U,...X){if(U==="debug")console.log(...X)}function vJ(U,X){if(U==="debug"||U==="warn")if(typeof p8.emitWarning==="function")p8.emitWarning(X);else console.warn(X)}xJ.debug=kJ;xJ.warn=vJ});var s6=R((pJ)=>{var x2=k(),l8=i(),i6="<<",o6={identify:(U)=>U===i6||typeof U==="symbol"&&U.description===i6,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new l8.Scalar(Symbol(i6)),{addToJSMap:d8}),stringify:()=>i6},mJ=(U,X)=>(o6.identify(X)||x2.isScalar(X)&&(!X.type||X.type===l8.Scalar.PLAIN)&&o6.identify(X.value))&&U?.doc.schema.tags.some((q)=>q.tag===o6.tag&&q.default);function d8(U,X,q){if(q=U&&x2.isAlias(q)?q.resolve(U.doc):q,x2.isSeq(q))for(let Z of q.items)a4(U,X,Z);else if(Array.isArray(q))for(let Z of q)a4(U,X,Z);else a4(U,X,q)}function a4(U,X,q){let Z=U&&x2.isAlias(q)?q.resolve(U.doc):q;if(!x2.isMap(Z))throw Error("Merge sources must be maps or map aliases");let Q=Z.toJSON(null,U,Map);for(let[G,Y]of Q)if(X instanceof Map){if(!X.has(G))X.set(G,Y)}else if(X instanceof Set)X.add(G);else if(!Object.prototype.hasOwnProperty.call(X,G))Object.defineProperty(X,G,{value:Y,writable:!0,enumerable:!0,configurable:!0});return X}pJ.addMergeToJSMap=d8;pJ.isMergeKey=mJ;pJ.merge=o6});var e4=R((nJ)=>{var iJ=n4(),c8=s6(),oJ=k2(),i8=k(),t4=n0();function sJ(U,X,{key:q,value:Z}){if(i8.isNode(q)&&q.addToJSMap)q.addToJSMap(U,X,Z);else if(c8.isMergeKey(U,q))c8.addMergeToJSMap(U,X,Z);else{let Q=t4.toJS(q,"",U);if(X instanceof Map)X.set(Q,t4.toJS(Z,Q,U));else if(X instanceof Set)X.add(Q);else{let G=rJ(q,Q,U),Y=t4.toJS(Z,G,U);if(G in X)Object.defineProperty(X,G,{value:Y,writable:!0,enumerable:!0,configurable:!0});else X[G]=Y}}return X}function rJ(U,X,q){if(X===null)return"";if(typeof X!=="object")return String(X);if(i8.isNode(U)&&q?.doc){let Z=oJ.createStringifyContext(q.doc,{});Z.anchors=new Set;for(let G of q.anchors.keys())Z.anchors.add(G.anchor);Z.inFlow=!0,Z.inStringifyKey=!0;let Q=U.toString(Z);if(!q.mapKeyWarned){let G=JSON.stringify(Q);if(G.length>40)G=G.substring(0,36)+'..."';iJ.warn(q.doc.options.logLevel,`Keys with collection values will be stringified due to JS Object restrictions: ${G}. Set mapAsMap: true to use object keys.`),q.mapKeyWarned=!0}return Q}return JSON.stringify(X)}nJ.addPairToJSMap=sJ});var e0=R((XW)=>{var o8=j2(),tJ=m8(),eJ=e4(),r6=k();function UW(U,X,q){let Z=o8.createNode(U,void 0,q),Q=o8.createNode(X,void 0,q);return new n6(Z,Q)}class n6{constructor(U,X=null){Object.defineProperty(this,r6.NODE_TYPE,{value:r6.PAIR}),this.key=U,this.value=X}clone(U){let{key:X,value:q}=this;if(r6.isNode(X))X=X.clone(U);if(r6.isNode(q))q=q.clone(U);return new n6(X,q)}toJSON(U,X){let q=X?.mapAsMap?new Map:{};return eJ.addPairToJSMap(X,q,this)}toString(U,X,q){return U?.doc?tJ.stringifyPair(this,U,X,q):JSON.stringify(this)}}XW.Pair=n6;XW.createPair=UW});var U9=R((HW)=>{var A1=k(),s8=k2(),a6=f2();function QW(U,X,q){return(X.inFlow??U.flow?YW:GW)(U,X,q)}function GW({comment:U,items:X},q,{blockItemPrefix:Z,flowChars:Q,itemIndent:G,onChompKeep:Y,onComment:H}){let{indent:J,options:{commentString:W}}=q,_=Object.assign({},q,{indent:G,type:null}),L=!1,$=[];for(let B=0;B<X.length;++B){let z=X[B],O=null;if(A1.isNode(z)){if(!L&&z.spaceBefore)$.push("");if(t6(q,$,z.commentBefore,L),z.comment)O=z.comment}else if(A1.isPair(z)){let P=A1.isNode(z.key)?z.key:null;if(P){if(!L&&P.spaceBefore)$.push("");t6(q,$,P.commentBefore,L)}}L=!1;let D=s8.stringify(z,_,()=>O=null,()=>L=!0);if(O)D+=a6.lineComment(D,G,W(O));if(L&&O)L=!1;$.push(Z+D)}let A;if($.length===0)A=Q.start+Q.end;else{A=$[0];for(let B=1;B<$.length;++B){let z=$[B];A+=z?`
45
+ ${J}${z}`:`
46
+ `}}if(U){if(A+=`
47
+ `+a6.indentComment(W(U),J),H)H()}else if(L&&Y)Y();return A}function YW({items:U},X,{flowChars:q,itemIndent:Z}){let{indent:Q,indentStep:G,flowCollectionPadding:Y,options:{commentString:H}}=X;Z+=G;let J=Object.assign({},X,{indent:Z,inFlow:!0,type:null}),W=!1,_=0,L=[];for(let B=0;B<U.length;++B){let z=U[B],O=null;if(A1.isNode(z)){if(z.spaceBefore)L.push("");if(t6(X,L,z.commentBefore,!1),z.comment)O=z.comment}else if(A1.isPair(z)){let P=A1.isNode(z.key)?z.key:null;if(P){if(P.spaceBefore)L.push("");if(t6(X,L,P.commentBefore,!1),P.comment)W=!0}let K=A1.isNode(z.value)?z.value:null;if(K){if(K.comment)O=K.comment;if(K.commentBefore)W=!0}else if(z.value==null&&P?.comment)O=P.comment}if(O)W=!0;let D=s8.stringify(z,J,()=>O=null);if(B<U.length-1)D+=",";if(O)D+=a6.lineComment(D,Z,H(O));if(!W&&(L.length>_||D.includes(`
48
+ `)))W=!0;L.push(D),_=L.length}let{start:$,end:A}=q;if(L.length===0)return $+A;else{if(!W){let B=L.reduce((z,O)=>z+O.length+2,2);W=X.options.lineWidth>0&&B>X.options.lineWidth}if(W){let B=$;for(let z of L)B+=z?`
49
+ ${G}${Q}${z}`:`
50
+ `;return`${B}
51
+ ${Q}${A}`}else return`${$}${Y}${L.join(" ")}${Y}${A}`}}function t6({indent:U,options:{commentString:X}},q,Z,Q){if(Z&&Q)Z=Z.replace(/^\n+/,"");if(Z){let G=a6.indentComment(X(Z),U);q.push(G.trimStart())}}HW.stringifyCollection=QW});var X1=R((zW)=>{var WW=U9(),LW=e4(),_W=p6(),U1=k(),e6=e0(),$W=i();function h2(U,X){let q=U1.isScalar(X)?X.value:X;for(let Z of U)if(U1.isPair(Z)){if(Z.key===X||Z.key===q)return Z;if(U1.isScalar(Z.key)&&Z.key.value===q)return Z}return}class r8 extends _W.Collection{static get tagName(){return"tag:yaml.org,2002:map"}constructor(U){super(U1.MAP,U);this.items=[]}static from(U,X,q){let{keepUndefined:Z,replacer:Q}=q,G=new this(U),Y=(H,J)=>{if(typeof Q==="function")J=Q.call(X,H,J);else if(Array.isArray(Q)&&!Q.includes(H))return;if(J!==void 0||Z)G.items.push(e6.createPair(H,J,q))};if(X instanceof Map)for(let[H,J]of X)Y(H,J);else if(X&&typeof X==="object")for(let H of Object.keys(X))Y(H,X[H]);if(typeof U.sortMapEntries==="function")G.items.sort(U.sortMapEntries);return G}add(U,X){let q;if(U1.isPair(U))q=U;else if(!U||typeof U!=="object"||!("key"in U))q=new e6.Pair(U,U?.value);else q=new e6.Pair(U.key,U.value);let Z=h2(this.items,q.key),Q=this.schema?.sortMapEntries;if(Z){if(!X)throw Error(`Key ${q.key} already set`);if(U1.isScalar(Z.value)&&$W.isScalarValue(q.value))Z.value.value=q.value;else Z.value=q.value}else if(Q){let G=this.items.findIndex((Y)=>Q(q,Y)<0);if(G===-1)this.items.push(q);else this.items.splice(G,0,q)}else this.items.push(q)}delete(U){let X=h2(this.items,U);if(!X)return!1;return this.items.splice(this.items.indexOf(X),1).length>0}get(U,X){let Z=h2(this.items,U)?.value;return(!X&&U1.isScalar(Z)?Z.value:Z)??void 0}has(U){return!!h2(this.items,U)}set(U,X){this.add(new e6.Pair(U,X),!0)}toJSON(U,X,q){let Z=q?new q:X?.mapAsMap?new Map:{};if(X?.onCreate)X.onCreate(Z);for(let Q of this.items)LW.addPairToJSMap(X,Z,Q);return Z}toString(U,X,q){if(!U)return JSON.stringify(this);for(let Z of this.items)if(!U1.isPair(Z))throw Error(`Map items must all be pairs; found ${JSON.stringify(Z)} instead`);if(!U.allNullValues&&this.hasAllNullValues(!1))U=Object.assign({},U,{allNullValues:!0});return WW.stringifyCollection(this,U,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:U.indent||"",onChompKeep:q,onComment:X})}}zW.YAMLMap=r8;zW.findPair=h2});var i1=R((VW)=>{var TW=k(),n8=X1(),OW={collection:"map",default:!0,nodeClass:n8.YAMLMap,tag:"tag:yaml.org,2002:map",resolve(U,X){if(!TW.isMap(U))X("Expected a mapping for this tag");return U},createNode:(U,X,q)=>n8.YAMLMap.from(U,X,q)};VW.map=OW});var q1=R((IW)=>{var RW=j2(),DW=U9(),MW=p6(),XU=k(),wW=i(),PW=n0();class a8 extends MW.Collection{static get tagName(){return"tag:yaml.org,2002:seq"}constructor(U){super(XU.SEQ,U);this.items=[]}add(U){this.items.push(U)}delete(U){let X=UU(U);if(typeof X!=="number")return!1;return this.items.splice(X,1).length>0}get(U,X){let q=UU(U);if(typeof q!=="number")return;let Z=this.items[q];return!X&&XU.isScalar(Z)?Z.value:Z}has(U){let X=UU(U);return typeof X==="number"&&X<this.items.length}set(U,X){let q=UU(U);if(typeof q!=="number")throw Error(`Expected a valid index, not ${U}.`);let Z=this.items[q];if(XU.isScalar(Z)&&wW.isScalarValue(X))Z.value=X;else this.items[q]=X}toJSON(U,X){let q=[];if(X?.onCreate)X.onCreate(q);let Z=0;for(let Q of this.items)q.push(PW.toJS(Q,String(Z++),X));return q}toString(U,X,q){if(!U)return JSON.stringify(this);return DW.stringifyCollection(this,U,{blockItemPrefix:"- ",flowChars:{start:"[",end:"]"},itemIndent:(U.indent||"")+" ",onChompKeep:q,onComment:X})}static from(U,X,q){let{replacer:Z}=q,Q=new this(U);if(X&&Symbol.iterator in Object(X)){let G=0;for(let Y of X){if(typeof Z==="function"){let H=X instanceof Set?Y:String(G++);Y=Z.call(X,H,Y)}Q.items.push(RW.createNode(Y,void 0,q))}}return Q}}function UU(U){let X=XU.isScalar(U)?U.value:U;if(X&&typeof X==="string")X=Number(X);return typeof X==="number"&&Number.isInteger(X)&&X>=0?X:null}IW.YAMLSeq=a8});var o1=R((SW)=>{var NW=k(),t8=q1(),CW={collection:"seq",default:!0,nodeClass:t8.YAMLSeq,tag:"tag:yaml.org,2002:seq",resolve(U,X){if(!NW.isSeq(U))X("Expected a sequence for this tag");return U},createNode:(U,X,q)=>t8.YAMLSeq.from(U,X,q)};SW.seq=CW});var u2=R((fW)=>{var bW=y2(),jW={identify:(U)=>typeof U==="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:(U)=>U,stringify(U,X,q,Z){return X=Object.assign({actualString:!0},X),bW.stringifyString(U,X,q,Z)}};fW.string=jW});var qU=R((yW)=>{var e8=i(),U3={identify:(U)=>U==null,createNode:()=>new e8.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new e8.Scalar(null),stringify:({source:U},X)=>typeof U==="string"&&U3.test.test(U)?U:X.options.nullStr};yW.nullTag=U3});var X9=R((xW)=>{var vW=i(),X3={identify:(U)=>typeof U==="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:(U)=>new vW.Scalar(U[0]==="t"||U[0]==="T"),stringify({source:U,value:X},q){if(U&&X3.test.test(U)){let Z=U[0]==="t"||U[0]==="T";if(X===Z)return U}return X?q.options.trueStr:q.options.falseStr}};xW.boolTag=X3});var s1=R((mW)=>{function uW({format:U,minFractionDigits:X,tag:q,value:Z}){if(typeof Z==="bigint")return String(Z);let Q=typeof Z==="number"?Z:Number(Z);if(!isFinite(Q))return isNaN(Q)?".nan":Q<0?"-.inf":".inf";let G=Object.is(Z,-0)?"-0":JSON.stringify(Z);if(!U&&X&&(!q||q==="tag:yaml.org,2002:float")&&/^\d/.test(G)){let Y=G.indexOf(".");if(Y<0)Y=G.length,G+=".";let H=X-(G.length-Y-1);while(H-- >0)G+="0"}return G}mW.stringifyNumber=uW});var Z9=R((oW)=>{var lW=i(),q9=s1(),dW={identify:(U)=>typeof U==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:(U)=>U.slice(-3).toLowerCase()==="nan"?NaN:U[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:q9.stringifyNumber},cW={identify:(U)=>typeof U==="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:(U)=>parseFloat(U),stringify(U){let X=Number(U.value);return isFinite(X)?X.toExponential():q9.stringifyNumber(U)}},iW={identify:(U)=>typeof U==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.[0-9]+|[0-9]+\.[0-9]*)$/,resolve(U){let X=new lW.Scalar(parseFloat(U)),q=U.indexOf(".");if(q!==-1&&U[U.length-1]==="0")X.minFractionDigits=U.length-q-1;return X},stringify:q9.stringifyNumber};oW.float=iW;oW.floatExp=cW;oW.floatNaN=dW});var G9=R((UL)=>{var q3=s1(),ZU=(U)=>typeof U==="bigint"||Number.isInteger(U),Q9=(U,X,q,{intAsBigInt:Z})=>Z?BigInt(U):parseInt(U.substring(X),q);function Z3(U,X,q){let{value:Z}=U;if(ZU(Z)&&Z>=0)return q+Z.toString(X);return q3.stringifyNumber(U)}var aW={identify:(U)=>ZU(U)&&U>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:(U,X,q)=>Q9(U,2,8,q),stringify:(U)=>Z3(U,8,"0o")},tW={identify:ZU,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:(U,X,q)=>Q9(U,0,10,q),stringify:q3.stringifyNumber},eW={identify:(U)=>ZU(U)&&U>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x[0-9a-fA-F]+$/,resolve:(U,X,q)=>Q9(U,2,16,q),stringify:(U)=>Z3(U,16,"0x")};UL.int=tW;UL.intHex=eW;UL.intOct=aW});var Q3=R((LL)=>{var QL=i1(),GL=qU(),YL=o1(),HL=u2(),JL=X9(),Y9=Z9(),H9=G9(),WL=[QL.map,YL.seq,HL.string,GL.nullTag,JL.boolTag,H9.intOct,H9.int,H9.intHex,Y9.floatNaN,Y9.floatExp,Y9.float];LL.schema=WL});var Y3=R((VL)=>{var $L=i(),zL=i1(),FL=o1();function G3(U){return typeof U==="bigint"||Number.isInteger(U)}var QU=({value:U})=>JSON.stringify(U),AL=[{identify:(U)=>typeof U==="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:(U)=>U,stringify:QU},{identify:(U)=>U==null,createNode:()=>new $L.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:QU},{identify:(U)=>typeof U==="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true$|^false$/,resolve:(U)=>U==="true",stringify:QU},{identify:G3,default:!0,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:(U,X,{intAsBigInt:q})=>q?BigInt(U):parseInt(U,10),stringify:({value:U})=>G3(U)?U.toString():JSON.stringify(U)},{identify:(U)=>typeof U==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:(U)=>parseFloat(U),stringify:QU}],TL={default:!0,tag:"",test:/^/,resolve(U,X){return X(`Unresolved plain scalar ${JSON.stringify(U)}`),U}},OL=[zL.map,FL.seq].concat(AL,TL);VL.schema=OL});var W9=R((ML)=>{var m2=D1("buffer"),J9=i(),RL=y2(),DL={identify:(U)=>U instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve(U,X){if(typeof m2.Buffer==="function")return m2.Buffer.from(U,"base64");else if(typeof atob==="function"){let q=atob(U.replace(/[\n\r]/g,"")),Z=new Uint8Array(q.length);for(let Q=0;Q<q.length;++Q)Z[Q]=q.charCodeAt(Q);return Z}else return X("This environment does not support reading binary tags; either Buffer or atob is required"),U},stringify({comment:U,type:X,value:q},Z,Q,G){if(!q)return"";let Y=q,H;if(typeof m2.Buffer==="function")H=Y instanceof m2.Buffer?Y.toString("base64"):m2.Buffer.from(Y.buffer).toString("base64");else if(typeof btoa==="function"){let J="";for(let W=0;W<Y.length;++W)J+=String.fromCharCode(Y[W]);H=btoa(J)}else throw Error("This environment does not support writing binary tags; either Buffer or btoa is required");if(X??(X=J9.Scalar.BLOCK_LITERAL),X!==J9.Scalar.QUOTE_DOUBLE){let J=Math.max(Z.options.lineWidth-Z.indent.length,Z.options.minContentWidth),W=Math.ceil(H.length/J),_=Array(W);for(let L=0,$=0;L<W;++L,$+=J)_[L]=H.substr($,J);H=_.join(X===J9.Scalar.BLOCK_LITERAL?`
52
+ `:" ")}return RL.stringifyString({comment:U,type:X,value:H},Z,Q,G)}};ML.binary=DL});var YU=R((NL)=>{var GU=k(),L9=e0(),PL=i(),IL=q1();function H3(U,X){if(GU.isSeq(U))for(let q=0;q<U.items.length;++q){let Z=U.items[q];if(GU.isPair(Z))continue;else if(GU.isMap(Z)){if(Z.items.length>1)X("Each pair must have its own sequence indicator");let Q=Z.items[0]||new L9.Pair(new PL.Scalar(null));if(Z.commentBefore)Q.key.commentBefore=Q.key.commentBefore?`${Z.commentBefore}
53
+ ${Q.key.commentBefore}`:Z.commentBefore;if(Z.comment){let G=Q.value??Q.key;G.comment=G.comment?`${Z.comment}
54
+ ${G.comment}`:Z.comment}Z=Q}U.items[q]=GU.isPair(Z)?Z:new L9.Pair(Z)}else X("Expected a sequence for this tag");return U}function J3(U,X,q){let{replacer:Z}=q,Q=new IL.YAMLSeq(U);Q.tag="tag:yaml.org,2002:pairs";let G=0;if(X&&Symbol.iterator in Object(X))for(let Y of X){if(typeof Z==="function")Y=Z.call(X,String(G++),Y);let H,J;if(Array.isArray(Y))if(Y.length===2)H=Y[0],J=Y[1];else throw TypeError(`Expected [key, value] tuple: ${Y}`);else if(Y&&Y instanceof Object){let W=Object.keys(Y);if(W.length===1)H=W[0],J=Y[H];else throw TypeError(`Expected tuple with one key, not ${W.length} keys`)}else H=Y;Q.items.push(L9.createPair(H,J,q))}return Q}var KL={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:H3,createNode:J3};NL.createPairs=J3;NL.pairs=KL;NL.resolvePairs=H3});var $9=R((fL)=>{var W3=k(),_9=n0(),p2=X1(),bL=q1(),L3=YU();class T1 extends bL.YAMLSeq{constructor(){super();this.add=p2.YAMLMap.prototype.add.bind(this),this.delete=p2.YAMLMap.prototype.delete.bind(this),this.get=p2.YAMLMap.prototype.get.bind(this),this.has=p2.YAMLMap.prototype.has.bind(this),this.set=p2.YAMLMap.prototype.set.bind(this),this.tag=T1.tag}toJSON(U,X){if(!X)return super.toJSON(U);let q=new Map;if(X?.onCreate)X.onCreate(q);for(let Z of this.items){let Q,G;if(W3.isPair(Z))Q=_9.toJS(Z.key,"",X),G=_9.toJS(Z.value,Q,X);else Q=_9.toJS(Z,"",X);if(q.has(Q))throw Error("Ordered maps must not include duplicate keys");q.set(Q,G)}return q}static from(U,X,q){let Z=L3.createPairs(U,X,q),Q=new this;return Q.items=Z.items,Q}}T1.tag="tag:yaml.org,2002:omap";var jL={collection:"seq",identify:(U)=>U instanceof Map,nodeClass:T1,default:!1,tag:"tag:yaml.org,2002:omap",resolve(U,X){let q=L3.resolvePairs(U,X),Z=[];for(let{key:Q}of q.items)if(W3.isScalar(Q))if(Z.includes(Q.value))X(`Ordered maps must not include duplicate keys: ${Q.value}`);else Z.push(Q.value);return Object.assign(new T1,q)},createNode:(U,X,q)=>T1.from(U,X,q)};fL.YAMLOMap=T1;fL.omap=jL});var A3=R((kL)=>{var _3=i();function $3({value:U,source:X},q){if(X&&(U?z3:F3).test.test(X))return X;return U?q.options.trueStr:q.options.falseStr}var z3={identify:(U)=>U===!0,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>new _3.Scalar(!0),stringify:$3},F3={identify:(U)=>U===!1,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,resolve:()=>new _3.Scalar(!1),stringify:$3};kL.falseTag=F3;kL.trueTag=z3});var T3=R((lL)=>{var hL=i(),z9=s1(),uL={identify:(U)=>typeof U==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:(U)=>U.slice(-3).toLowerCase()==="nan"?NaN:U[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:z9.stringifyNumber},mL={identify:(U)=>typeof U==="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:(U)=>parseFloat(U.replace(/_/g,"")),stringify(U){let X=Number(U.value);return isFinite(X)?X.toExponential():z9.stringifyNumber(U)}},pL={identify:(U)=>typeof U==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,resolve(U){let X=new hL.Scalar(parseFloat(U.replace(/_/g,""))),q=U.indexOf(".");if(q!==-1){let Z=U.substring(q+1).replace(/_/g,"");if(Z[Z.length-1]==="0")X.minFractionDigits=Z.length}return X},stringify:z9.stringifyNumber};lL.float=pL;lL.floatExp=mL;lL.floatNaN=uL});var V3=R((aL)=>{var O3=s1(),l2=(U)=>typeof U==="bigint"||Number.isInteger(U);function HU(U,X,q,{intAsBigInt:Z}){let Q=U[0];if(Q==="-"||Q==="+")X+=1;if(U=U.substring(X).replace(/_/g,""),Z){switch(q){case 2:U=`0b${U}`;break;case 8:U=`0o${U}`;break;case 16:U=`0x${U}`;break}let Y=BigInt(U);return Q==="-"?BigInt(-1)*Y:Y}let G=parseInt(U,q);return Q==="-"?-1*G:G}function F9(U,X,q){let{value:Z}=U;if(l2(Z)){let Q=Z.toString(X);return Z<0?"-"+q+Q.substr(1):q+Q}return O3.stringifyNumber(U)}var oL={identify:l2,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(U,X,q)=>HU(U,2,2,q),stringify:(U)=>F9(U,2,"0b")},sL={identify:l2,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(U,X,q)=>HU(U,1,8,q),stringify:(U)=>F9(U,8,"0")},rL={identify:l2,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(U,X,q)=>HU(U,0,10,q),stringify:O3.stringifyNumber},nL={identify:l2,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(U,X,q)=>HU(U,2,16,q),stringify:(U)=>F9(U,16,"0x")};aL.int=rL;aL.intBin=oL;aL.intHex=nL;aL.intOct=sL});var A9=R((Z_)=>{var LU=k(),JU=e0(),WU=X1();class O1 extends WU.YAMLMap{constructor(U){super(U);this.tag=O1.tag}add(U){let X;if(LU.isPair(U))X=U;else if(U&&typeof U==="object"&&"key"in U&&"value"in U&&U.value===null)X=new JU.Pair(U.key,null);else X=new JU.Pair(U,null);if(!WU.findPair(this.items,X.key))this.items.push(X)}get(U,X){let q=WU.findPair(this.items,U);return!X&&LU.isPair(q)?LU.isScalar(q.key)?q.key.value:q.key:q}set(U,X){if(typeof X!=="boolean")throw Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof X}`);let q=WU.findPair(this.items,U);if(q&&!X)this.items.splice(this.items.indexOf(q),1);else if(!q&&X)this.items.push(new JU.Pair(U))}toJSON(U,X){return super.toJSON(U,X,Set)}toString(U,X,q){if(!U)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},U,{allNullValues:!0}),X,q);else throw Error("Set items must all have null values")}static from(U,X,q){let{replacer:Z}=q,Q=new this(U);if(X&&Symbol.iterator in Object(X))for(let G of X){if(typeof Z==="function")G=Z.call(X,G,G);Q.items.push(JU.createPair(G,null,q))}return Q}}O1.tag="tag:yaml.org,2002:set";var q_={collection:"map",identify:(U)=>U instanceof Set,nodeClass:O1,default:!1,tag:"tag:yaml.org,2002:set",createNode:(U,X,q)=>O1.from(U,X,q),resolve(U,X){if(LU.isMap(U))if(U.hasAllNullValues(!0))return Object.assign(new O1,U);else X("Set items must all have null values");else X("Expected a mapping for this tag");return U}};Z_.YAMLSet=O1;Z_.set=q_});var O9=R((W_)=>{var Y_=s1();function T9(U,X){let q=U[0],Z=q==="-"||q==="+"?U.substring(1):U,Q=(Y)=>X?BigInt(Y):Number(Y),G=Z.replace(/_/g,"").split(":").reduce((Y,H)=>Y*Q(60)+Q(H),Q(0));return q==="-"?Q(-1)*G:G}function B3(U){let{value:X}=U,q=(Y)=>Y;if(typeof X==="bigint")q=(Y)=>BigInt(Y);else if(isNaN(X)||!isFinite(X))return Y_.stringifyNumber(U);let Z="";if(X<0)Z="-",X*=q(-1);let Q=q(60),G=[X%Q];if(X<60)G.unshift(0);else if(X=(X-G[0])/Q,G.unshift(X%Q),X>=60)X=(X-G[0])/Q,G.unshift(X);return Z+G.map((Y)=>String(Y).padStart(2,"0")).join(":").replace(/000000\d*$/,"")}var H_={identify:(U)=>typeof U==="bigint"||Number.isInteger(U),default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/,resolve:(U,X,{intAsBigInt:q})=>T9(U,q),stringify:B3},J_={identify:(U)=>typeof U==="number",default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*$/,resolve:(U)=>T9(U,!1),stringify:B3},R3={identify:(U)=>U instanceof Date,default:!0,tag:"tag:yaml.org,2002:timestamp",test:RegExp("^([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})(?:(?:t|T|[ \\t]+)([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?)?$"),resolve(U){let X=U.match(R3.test);if(!X)throw Error("!!timestamp expects a date, starting with yyyy-mm-dd");let[,q,Z,Q,G,Y,H]=X.map(Number),J=X[7]?Number((X[7]+"00").substr(1,3)):0,W=Date.UTC(q,Z-1,Q,G||0,Y||0,H||0,J),_=X[8];if(_&&_!=="Z"){let L=T9(_,!1);if(Math.abs(L)<30)L*=60;W-=60000*L}return new Date(W)},stringify:({value:U})=>U?.toISOString().replace(/(T00:00:00)?\.000Z$/,"")??""};W_.floatTime=J_;W_.intTime=H_;W_.timestamp=R3});var M3=R((w_)=>{var z_=i1(),F_=qU(),A_=o1(),T_=u2(),O_=W9(),D3=A3(),V9=T3(),_U=V3(),V_=s6(),B_=$9(),R_=YU(),D_=A9(),B9=O9(),M_=[z_.map,A_.seq,T_.string,F_.nullTag,D3.trueTag,D3.falseTag,_U.intBin,_U.intOct,_U.int,_U.intHex,V9.floatNaN,V9.floatExp,V9.float,O_.binary,V_.merge,B_.omap,R_.pairs,D_.set,B9.intTime,B9.floatTime,B9.timestamp];w_.schema=M_});var j3=R((j_)=>{var K3=i1(),I_=qU(),N3=o1(),K_=u2(),N_=X9(),R9=Z9(),D9=G9(),C_=Q3(),S_=Y3(),C3=W9(),d2=s6(),S3=$9(),E3=YU(),w3=M3(),b3=A9(),$U=O9(),P3=new Map([["core",C_.schema],["failsafe",[K3.map,N3.seq,K_.string]],["json",S_.schema],["yaml11",w3.schema],["yaml-1.1",w3.schema]]),I3={binary:C3.binary,bool:N_.boolTag,float:R9.float,floatExp:R9.floatExp,floatNaN:R9.floatNaN,floatTime:$U.floatTime,int:D9.int,intHex:D9.intHex,intOct:D9.intOct,intTime:$U.intTime,map:K3.map,merge:d2.merge,null:I_.nullTag,omap:S3.omap,pairs:E3.pairs,seq:N3.seq,set:b3.set,timestamp:$U.timestamp},E_={"tag:yaml.org,2002:binary":C3.binary,"tag:yaml.org,2002:merge":d2.merge,"tag:yaml.org,2002:omap":S3.omap,"tag:yaml.org,2002:pairs":E3.pairs,"tag:yaml.org,2002:set":b3.set,"tag:yaml.org,2002:timestamp":$U.timestamp};function b_(U,X,q){let Z=P3.get(X);if(Z&&!U)return q&&!Z.includes(d2.merge)?Z.concat(d2.merge):Z.slice();let Q=Z;if(!Q)if(Array.isArray(U))Q=[];else{let G=Array.from(P3.keys()).filter((Y)=>Y!=="yaml11").map((Y)=>JSON.stringify(Y)).join(", ");throw Error(`Unknown schema "${X}"; use one of ${G} or define customTags array`)}if(Array.isArray(U))for(let G of U)Q=Q.concat(G);else if(typeof U==="function")Q=U(Q.slice());if(q)Q=Q.concat(d2.merge);return Q.reduce((G,Y)=>{let H=typeof Y==="string"?I3[Y]:Y;if(!H){let J=JSON.stringify(Y),W=Object.keys(I3).map((_)=>JSON.stringify(_)).join(", ");throw Error(`Unknown custom tag ${J}; use one of ${W}`)}if(!G.includes(H))G.push(H);return G},[])}j_.coreKnownTags=E_;j_.getTags=b_});var P9=R((h_)=>{var M9=k(),y_=i1(),k_=o1(),v_=u2(),zU=j3(),x_=(U,X)=>U.key<X.key?-1:U.key>X.key?1:0;class w9{constructor({compat:U,customTags:X,merge:q,resolveKnownTags:Z,schema:Q,sortMapEntries:G,toStringDefaults:Y}){this.compat=Array.isArray(U)?zU.getTags(U,"compat"):U?zU.getTags(null,U):null,this.name=typeof Q==="string"&&Q||"core",this.knownTags=Z?zU.coreKnownTags:{},this.tags=zU.getTags(X,this.name,q),this.toStringOptions=Y??null,Object.defineProperty(this,M9.MAP,{value:y_.map}),Object.defineProperty(this,M9.SCALAR,{value:v_.string}),Object.defineProperty(this,M9.SEQ,{value:k_.seq}),this.sortMapEntries=typeof G==="function"?G:G===!0?x_:null}clone(){let U=Object.create(w9.prototype,Object.getOwnPropertyDescriptors(this));return U.tags=this.tags.slice(),U}}h_.Schema=w9});var f3=R((l_)=>{var m_=k(),I9=k2(),c2=f2();function p_(U,X){let q=[],Z=X.directives===!0;if(X.directives!==!1&&U.directives){let J=U.directives.toString(U);if(J)q.push(J),Z=!0;else if(U.directives.docStart)Z=!0}if(Z)q.push("---");let Q=I9.createStringifyContext(U,X),{commentString:G}=Q.options;if(U.commentBefore){if(q.length!==1)q.unshift("");let J=G(U.commentBefore);q.unshift(c2.indentComment(J,""))}let Y=!1,H=null;if(U.contents){if(m_.isNode(U.contents)){if(U.contents.spaceBefore&&Z)q.push("");if(U.contents.commentBefore){let _=G(U.contents.commentBefore);q.push(c2.indentComment(_,""))}Q.forceBlockIndent=!!U.comment,H=U.contents.comment}let J=H?void 0:()=>Y=!0,W=I9.stringify(U.contents,Q,()=>H=null,J);if(H)W+=c2.lineComment(W,"",G(H));if((W[0]==="|"||W[0]===">")&&q[q.length-1]==="---")q[q.length-1]=`--- ${W}`;else q.push(W)}else q.push(I9.stringify(U.contents,Q));if(U.directives?.docEnd)if(U.comment){let J=G(U.comment);if(J.includes(`
55
+ `))q.push("..."),q.push(c2.indentComment(J,""));else q.push(`... ${J}`)}else q.push("...");else{let J=U.comment;if(J&&Y)J=J.replace(/^\n+/,"");if(J){if((!Y||H)&&q[q.length-1]!=="")q.push("");q.push(c2.indentComment(G(J),""))}}return q.join(`
56
+ `)+`
57
+ `}l_.stringifyDocument=p_});var i2=R((t_)=>{var c_=b2(),r1=p6(),B0=k(),i_=e0(),o_=n0(),s_=P9(),r_=f3(),K9=h6(),n_=c4(),a_=j2(),N9=d4();class C9{constructor(U,X,q){this.commentBefore=null,this.comment=null,this.errors=[],this.warnings=[],Object.defineProperty(this,B0.NODE_TYPE,{value:B0.DOC});let Z=null;if(typeof X==="function"||Array.isArray(X))Z=X;else if(q===void 0&&X)q=X,X=void 0;let Q=Object.assign({intAsBigInt:!1,keepSourceTokens:!1,logLevel:"warn",prettyErrors:!0,strict:!0,stringKeys:!1,uniqueKeys:!0,version:"1.2"},q);this.options=Q;let{version:G}=Q;if(q?._directives){if(this.directives=q._directives.atDocument(),this.directives.yaml.explicit)G=this.directives.yaml.version}else this.directives=new N9.Directives({version:G});this.setSchema(G,q),this.contents=U===void 0?null:this.createNode(U,Z,q)}clone(){let U=Object.create(C9.prototype,{[B0.NODE_TYPE]:{value:B0.DOC}});if(U.commentBefore=this.commentBefore,U.comment=this.comment,U.errors=this.errors.slice(),U.warnings=this.warnings.slice(),U.options=Object.assign({},this.options),this.directives)U.directives=this.directives.clone();if(U.schema=this.schema.clone(),U.contents=B0.isNode(this.contents)?this.contents.clone(U.schema):this.contents,this.range)U.range=this.range.slice();return U}add(U){if(n1(this.contents))this.contents.add(U)}addIn(U,X){if(n1(this.contents))this.contents.addIn(U,X)}createAlias(U,X){if(!U.anchor){let q=K9.anchorNames(this);U.anchor=!X||q.has(X)?K9.findNewAnchor(X||"a",q):X}return new c_.Alias(U.anchor)}createNode(U,X,q){let Z=void 0;if(typeof X==="function")U=X.call({"":U},"",U),Z=X;else if(Array.isArray(X)){let z=(D)=>typeof D==="number"||D instanceof String||D instanceof Number,O=X.filter(z).map(String);if(O.length>0)X=X.concat(O);Z=X}else if(q===void 0&&X)q=X,X=void 0;let{aliasDuplicateObjects:Q,anchorPrefix:G,flow:Y,keepUndefined:H,onTagObj:J,tag:W}=q??{},{onAnchor:_,setAnchors:L,sourceObjects:$}=K9.createNodeAnchors(this,G||"a"),A={aliasDuplicateObjects:Q??!0,keepUndefined:H??!1,onAnchor:_,onTagObj:J,replacer:Z,schema:this.schema,sourceObjects:$},B=a_.createNode(U,W,A);if(Y&&B0.isCollection(B))B.flow=!0;return L(),B}createPair(U,X,q={}){let Z=this.createNode(U,null,q),Q=this.createNode(X,null,q);return new i_.Pair(Z,Q)}delete(U){return n1(this.contents)?this.contents.delete(U):!1}deleteIn(U){if(r1.isEmptyPath(U)){if(this.contents==null)return!1;return this.contents=null,!0}return n1(this.contents)?this.contents.deleteIn(U):!1}get(U,X){return B0.isCollection(this.contents)?this.contents.get(U,X):void 0}getIn(U,X){if(r1.isEmptyPath(U))return!X&&B0.isScalar(this.contents)?this.contents.value:this.contents;return B0.isCollection(this.contents)?this.contents.getIn(U,X):void 0}has(U){return B0.isCollection(this.contents)?this.contents.has(U):!1}hasIn(U){if(r1.isEmptyPath(U))return this.contents!==void 0;return B0.isCollection(this.contents)?this.contents.hasIn(U):!1}set(U,X){if(this.contents==null)this.contents=r1.collectionFromPath(this.schema,[U],X);else if(n1(this.contents))this.contents.set(U,X)}setIn(U,X){if(r1.isEmptyPath(U))this.contents=X;else if(this.contents==null)this.contents=r1.collectionFromPath(this.schema,Array.from(U),X);else if(n1(this.contents))this.contents.setIn(U,X)}setSchema(U,X={}){if(typeof U==="number")U=String(U);let q;switch(U){case"1.1":if(this.directives)this.directives.yaml.version="1.1";else this.directives=new N9.Directives({version:"1.1"});q={resolveKnownTags:!1,schema:"yaml-1.1"};break;case"1.2":case"next":if(this.directives)this.directives.yaml.version=U;else this.directives=new N9.Directives({version:U});q={resolveKnownTags:!0,schema:"core"};break;case null:if(this.directives)delete this.directives;q=null;break;default:{let Z=JSON.stringify(U);throw Error(`Expected '1.1', '1.2' or null as first argument, but found: ${Z}`)}}if(X.schema instanceof Object)this.schema=X.schema;else if(q)this.schema=new s_.Schema(Object.assign(q,X));else throw Error("With a null YAML version, the { schema: Schema } option is required")}toJS({json:U,jsonArg:X,mapAsMap:q,maxAliasCount:Z,onAnchor:Q,reviver:G}={}){let Y={anchors:new Map,doc:this,keep:!U,mapAsMap:q===!0,mapKeyWarned:!1,maxAliasCount:typeof Z==="number"?Z:100},H=o_.toJS(this.contents,X??"",Y);if(typeof Q==="function")for(let{count:J,res:W}of Y.anchors.values())Q(W,J);return typeof G==="function"?n_.applyReviver(G,{"":H},"",H):H}toJSON(U,X){return this.toJS({json:!0,jsonArg:U,mapAsMap:!1,onAnchor:X})}toString(U={}){if(this.errors.length>0)throw Error("Document with errors cannot be stringified");if("indent"in U&&(!Number.isInteger(U.indent)||Number(U.indent)<=0)){let X=JSON.stringify(U.indent);throw Error(`"indent" option must be a positive integer, not ${X}`)}return r_.stringifyDocument(this,U)}}function n1(U){if(B0.isCollection(U))return!0;throw Error("Expected a YAML collection as document contents")}t_.Document=C9});var o2=R((X$)=>{class FU extends Error{constructor(U,X,q,Z){super();this.name=U,this.code=q,this.message=Z,this.pos=X}}class g3 extends FU{constructor(U,X,q){super("YAMLParseError",U,X,q)}}class y3 extends FU{constructor(U,X,q){super("YAMLWarning",U,X,q)}}var U$=(U,X)=>(q)=>{if(q.pos[0]===-1)return;q.linePos=q.pos.map((H)=>X.linePos(H));let{line:Z,col:Q}=q.linePos[0];q.message+=` at line ${Z}, column ${Q}`;let G=Q-1,Y=U.substring(X.lineStarts[Z-1],X.lineStarts[Z]).replace(/[\n\r]+$/,"");if(G>=60&&Y.length>80){let H=Math.min(G-39,Y.length-79);Y="…"+Y.substring(H),G-=H-1}if(Y.length>80)Y=Y.substring(0,79)+"…";if(Z>1&&/^ *$/.test(Y.substring(0,G))){let H=U.substring(X.lineStarts[Z-2],X.lineStarts[Z-1]);if(H.length>80)H=H.substring(0,79)+`…
58
+ `;Y=H+Y}if(/[^ ]/.test(Y)){let H=1,J=q.linePos[1];if(J?.line===Z&&J.col>Q)H=Math.max(1,Math.min(J.col-Q,80-G));let W=" ".repeat(G)+"^".repeat(H);q.message+=`:
59
+
60
+ ${Y}
61
+ ${W}
62
+ `}};X$.YAMLError=FU;X$.YAMLParseError=g3;X$.YAMLWarning=y3;X$.prettifyError=U$});var s2=R((H$)=>{function Y$(U,{flow:X,indicator:q,next:Z,offset:Q,onError:G,parentIndent:Y,startOnNewline:H}){let J=!1,W=H,_=H,L="",$="",A=!1,B=!1,z=null,O=null,D=null,P=null,K=null,C=null,N=null;for(let w of U){if(B){if(w.type!=="space"&&w.type!=="newline"&&w.type!=="comma")G(w.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space");B=!1}if(z){if(W&&w.type!=="comment"&&w.type!=="newline")G(z,"TAB_AS_INDENT","Tabs are not allowed as indentation");z=null}switch(w.type){case"space":if(!X&&(q!=="doc-start"||Z?.type!=="flow-collection")&&w.source.includes("\t"))z=w;_=!0;break;case"comment":{if(!_)G(w,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let o=w.source.substring(1)||" ";if(!L)L=o;else L+=$+o;$="",W=!1;break}case"newline":if(W){if(L)L+=w.source;else if(!C||q!=="seq-item-ind")J=!0}else $+=w.source;if(W=!0,A=!0,O||D)P=w;_=!0;break;case"anchor":if(O)G(w,"MULTIPLE_ANCHORS","A node can have at most one anchor");if(w.source.endsWith(":"))G(w.offset+w.source.length-1,"BAD_ALIAS","Anchor ending in : is ambiguous",!0);O=w,N??(N=w.offset),W=!1,_=!1,B=!0;break;case"tag":{if(D)G(w,"MULTIPLE_TAGS","A node can have at most one tag");D=w,N??(N=w.offset),W=!1,_=!1,B=!0;break}case q:if(O||D)G(w,"BAD_PROP_ORDER",`Anchors and tags must be after the ${w.source} indicator`);if(C)G(w,"UNEXPECTED_TOKEN",`Unexpected ${w.source} in ${X??"collection"}`);C=w,W=q==="seq-item-ind"||q==="explicit-key-ind",_=!1;break;case"comma":if(X){if(K)G(w,"UNEXPECTED_TOKEN",`Unexpected , in ${X}`);K=w,W=!1,_=!1;break}default:G(w,"UNEXPECTED_TOKEN",`Unexpected ${w.type} token`),W=!1,_=!1}}let j=U[U.length-1],m=j?j.offset+j.source.length:Q;if(B&&Z&&Z.type!=="space"&&Z.type!=="newline"&&Z.type!=="comma"&&(Z.type!=="scalar"||Z.source!==""))G(Z.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space");if(z&&(W&&z.indent<=Y||Z?.type==="block-map"||Z?.type==="block-seq"))G(z,"TAB_AS_INDENT","Tabs are not allowed as indentation");return{comma:K,found:C,spaceBefore:J,comment:L,hasNewline:A,anchor:O,tag:D,newlineAfterProp:P,end:m,start:N??m}}H$.resolveProps=Y$});var AU=R((W$)=>{function S9(U){if(!U)return null;switch(U.type){case"alias":case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":if(U.source.includes(`
63
+ `))return!0;if(U.end){for(let X of U.end)if(X.type==="newline")return!0}return!1;case"flow-collection":for(let X of U.items){for(let q of X.start)if(q.type==="newline")return!0;if(X.sep){for(let q of X.sep)if(q.type==="newline")return!0}if(S9(X.key)||S9(X.value))return!0}return!1;default:return!0}}W$.containsNewline=S9});var E9=R((z$)=>{var _$=AU();function $$(U,X,q){if(X?.type==="flow-collection"){let Z=X.end[0];if(Z.indent===U&&(Z.source==="]"||Z.source==="}")&&_$.containsNewline(X))q(Z,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}z$.flowIndentCheck=$$});var b9=R((T$)=>{var k3=k();function A$(U,X,q){let{uniqueKeys:Z}=U.options;if(Z===!1)return!1;let Q=typeof Z==="function"?Z:(G,Y)=>G===Y||k3.isScalar(G)&&k3.isScalar(Y)&&G.value===Y.value;return X.some((G)=>Q(G.key,q))}T$.mapIncludes=A$});var m3=R((M$)=>{var v3=e0(),V$=X1(),x3=s2(),B$=AU(),h3=E9(),R$=b9(),u3="All mapping items must start at the same column";function D$({composeNode:U,composeEmptyNode:X},q,Z,Q,G){let H=new(G?.nodeClass??V$.YAMLMap)(q.schema);if(q.atRoot)q.atRoot=!1;let J=Z.offset,W=null;for(let _ of Z.items){let{start:L,key:$,sep:A,value:B}=_,z=x3.resolveProps(L,{indicator:"explicit-key-ind",next:$??A?.[0],offset:J,onError:Q,parentIndent:Z.indent,startOnNewline:!0}),O=!z.found;if(O){if($){if($.type==="block-seq")Q(J,"BLOCK_AS_IMPLICIT_KEY","A block sequence may not be used as an implicit map key");else if("indent"in $&&$.indent!==Z.indent)Q(J,"BAD_INDENT",u3)}if(!z.anchor&&!z.tag&&!A){if(W=z.end,z.comment)if(H.comment)H.comment+=`
64
+ `+z.comment;else H.comment=z.comment;continue}if(z.newlineAfterProp||B$.containsNewline($))Q($??L[L.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else if(z.found?.indent!==Z.indent)Q(J,"BAD_INDENT",u3);q.atKey=!0;let D=z.end,P=$?U(q,$,z,Q):X(q,D,L,null,z,Q);if(q.schema.compat)h3.flowIndentCheck(Z.indent,$,Q);if(q.atKey=!1,R$.mapIncludes(q,H.items,P))Q(D,"DUPLICATE_KEY","Map keys must be unique");let K=x3.resolveProps(A??[],{indicator:"map-value-ind",next:B,offset:P.range[2],onError:Q,parentIndent:Z.indent,startOnNewline:!$||$.type==="block-scalar"});if(J=K.end,K.found){if(O){if(B?.type==="block-map"&&!K.hasNewline)Q(J,"BLOCK_AS_IMPLICIT_KEY","Nested mappings are not allowed in compact mappings");if(q.options.strict&&z.start<K.found.offset-1024)Q(P.range,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit block mapping key")}let C=B?U(q,B,K,Q):X(q,J,A,null,K,Q);if(q.schema.compat)h3.flowIndentCheck(Z.indent,B,Q);J=C.range[2];let N=new v3.Pair(P,C);if(q.options.keepSourceTokens)N.srcToken=_;H.items.push(N)}else{if(O)Q(P.range,"MISSING_CHAR","Implicit map keys need to be followed by map values");if(K.comment)if(P.comment)P.comment+=`
65
+ `+K.comment;else P.comment=K.comment;let C=new v3.Pair(P);if(q.options.keepSourceTokens)C.srcToken=_;H.items.push(C)}}if(W&&W<J)Q(W,"IMPOSSIBLE","Map comment with trailing content");return H.range=[Z.offset,J,W??J],H}M$.resolveBlockMap=D$});var p3=R((C$)=>{var P$=q1(),I$=s2(),K$=E9();function N$({composeNode:U,composeEmptyNode:X},q,Z,Q,G){let H=new(G?.nodeClass??P$.YAMLSeq)(q.schema);if(q.atRoot)q.atRoot=!1;if(q.atKey)q.atKey=!1;let J=Z.offset,W=null;for(let{start:_,value:L}of Z.items){let $=I$.resolveProps(_,{indicator:"seq-item-ind",next:L,offset:J,onError:Q,parentIndent:Z.indent,startOnNewline:!0});if(!$.found)if($.anchor||$.tag||L)if(L?.type==="block-seq")Q($.end,"BAD_INDENT","All sequence items must start at the same column");else Q(J,"MISSING_CHAR","Sequence item without - indicator");else{if(W=$.end,$.comment)H.comment=$.comment;continue}let A=L?U(q,L,$,Q):X(q,$.end,_,null,$,Q);if(q.schema.compat)K$.flowIndentCheck(Z.indent,L,Q);J=A.range[2],H.items.push(A)}return H.range=[Z.offset,J,W??J],H}C$.resolveBlockSeq=N$});var a1=R((b$)=>{function E$(U,X,q,Z){let Q="";if(U){let G=!1,Y="";for(let H of U){let{source:J,type:W}=H;switch(W){case"space":G=!0;break;case"comment":{if(q&&!G)Z(H,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let _=J.substring(1)||" ";if(!Q)Q=_;else Q+=Y+_;Y="";break}case"newline":if(Q)Y+=J;G=!0;break;default:Z(H,"UNEXPECTED_TOKEN",`Unexpected ${W} at node end`)}X+=J.length}}return{comment:Q,offset:X}}b$.resolveEnd=E$});var c3=R((u$)=>{var f$=k(),g$=e0(),l3=X1(),y$=q1(),k$=a1(),d3=s2(),v$=AU(),x$=b9(),j9="Block collections are not allowed within flow collections",f9=(U)=>U&&(U.type==="block-map"||U.type==="block-seq");function h$({composeNode:U,composeEmptyNode:X},q,Z,Q,G){let Y=Z.start.source==="{",H=Y?"flow map":"flow sequence",W=new(G?.nodeClass??(Y?l3.YAMLMap:y$.YAMLSeq))(q.schema);W.flow=!0;let _=q.atRoot;if(_)q.atRoot=!1;if(q.atKey)q.atKey=!1;let L=Z.offset+Z.start.source.length;for(let O=0;O<Z.items.length;++O){let D=Z.items[O],{start:P,key:K,sep:C,value:N}=D,j=d3.resolveProps(P,{flow:H,indicator:"explicit-key-ind",next:K??C?.[0],offset:L,onError:Q,parentIndent:Z.indent,startOnNewline:!1});if(!j.found){if(!j.anchor&&!j.tag&&!C&&!N){if(O===0&&j.comma)Q(j.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${H}`);else if(O<Z.items.length-1)Q(j.start,"UNEXPECTED_TOKEN",`Unexpected empty item in ${H}`);if(j.comment)if(W.comment)W.comment+=`
66
+ `+j.comment;else W.comment=j.comment;L=j.end;continue}if(!Y&&q.options.strict&&v$.containsNewline(K))Q(K,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line")}if(O===0){if(j.comma)Q(j.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${H}`)}else{if(!j.comma)Q(j.start,"MISSING_CHAR",`Missing , between ${H} items`);if(j.comment){let m="";U:for(let w of P)switch(w.type){case"comma":case"space":break;case"comment":m=w.source.substring(1);break U;default:break U}if(m){let w=W.items[W.items.length-1];if(f$.isPair(w))w=w.value??w.key;if(w.comment)w.comment+=`
67
+ `+m;else w.comment=m;j.comment=j.comment.substring(m.length+1)}}}if(!Y&&!C&&!j.found){let m=N?U(q,N,j,Q):X(q,j.end,C,null,j,Q);if(W.items.push(m),L=m.range[2],f9(N))Q(m.range,"BLOCK_IN_FLOW",j9)}else{q.atKey=!0;let m=j.end,w=K?U(q,K,j,Q):X(q,m,P,null,j,Q);if(f9(K))Q(w.range,"BLOCK_IN_FLOW",j9);q.atKey=!1;let o=d3.resolveProps(C??[],{flow:H,indicator:"map-value-ind",next:N,offset:w.range[2],onError:Q,parentIndent:Z.indent,startOnNewline:!1});if(o.found){if(!Y&&!j.found&&q.options.strict){if(C)for(let s of C){if(s===o.found)break;if(s.type==="newline"){Q(s,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line");break}}if(j.start<o.found.offset-1024)Q(o.found,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit flow sequence key")}}else if(N)if("source"in N&&N.source?.[0]===":")Q(N,"MISSING_CHAR",`Missing space after : in ${H}`);else Q(o.start,"MISSING_CHAR",`Missing , or : between ${H} items`);let m0=N?U(q,N,o,Q):o.found?X(q,o.end,C,null,o,Q):null;if(m0){if(f9(N))Q(m0.range,"BLOCK_IN_FLOW",j9)}else if(o.comment)if(w.comment)w.comment+=`
68
+ `+o.comment;else w.comment=o.comment;let R1=new g$.Pair(w,m0);if(q.options.keepSourceTokens)R1.srcToken=D;if(Y){let s=W;if(x$.mapIncludes(q,s.items,w))Q(m,"DUPLICATE_KEY","Map keys must be unique");s.items.push(R1)}else{let s=new l3.YAMLMap(q.schema);s.flow=!0,s.items.push(R1);let e9=(m0??w).range;s.range=[w.range[0],e9[1],e9[2]],W.items.push(s)}L=m0?m0.range[2]:o.end}}let $=Y?"}":"]",[A,...B]=Z.end,z=L;if(A?.source===$)z=A.offset+A.source.length;else{let O=H[0].toUpperCase()+H.substring(1),D=_?`${O} must end with a ${$}`:`${O} in block collection must be sufficiently indented and end with a ${$}`;if(Q(L,_?"MISSING_CHAR":"BAD_INDENT",D),A&&A.source.length!==1)B.unshift(A)}if(B.length>0){let O=k$.resolveEnd(B,z,q.options.strict,Q);if(O.comment)if(W.comment)W.comment+=`
69
+ `+O.comment;else W.comment=O.comment;W.range=[Z.offset,z,O.offset]}else W.range=[Z.offset,z,z];return W}u$.resolveFlowCollection=h$});var i3=R((n$)=>{var p$=k(),l$=i(),d$=X1(),c$=q1(),i$=m3(),o$=p3(),s$=c3();function g9(U,X,q,Z,Q,G){let Y=q.type==="block-map"?i$.resolveBlockMap(U,X,q,Z,G):q.type==="block-seq"?o$.resolveBlockSeq(U,X,q,Z,G):s$.resolveFlowCollection(U,X,q,Z,G),H=Y.constructor;if(Q==="!"||Q===H.tagName)return Y.tag=H.tagName,Y;if(Q)Y.tag=Q;return Y}function r$(U,X,q,Z,Q){let G=Z.tag,Y=!G?null:X.directives.tagName(G.source,($)=>Q(G,"TAG_RESOLVE_FAILED",$));if(q.type==="block-seq"){let{anchor:$,newlineAfterProp:A}=Z,B=$&&G?$.offset>G.offset?$:G:$??G;if(B&&(!A||A.offset<B.offset))Q(B,"MISSING_CHAR","Missing newline after block sequence props")}let H=q.type==="block-map"?"map":q.type==="block-seq"?"seq":q.start.source==="{"?"map":"seq";if(!G||!Y||Y==="!"||Y===d$.YAMLMap.tagName&&H==="map"||Y===c$.YAMLSeq.tagName&&H==="seq")return g9(U,X,q,Q,Y);let J=X.schema.tags.find(($)=>$.tag===Y&&$.collection===H);if(!J){let $=X.schema.knownTags[Y];if($?.collection===H)X.schema.tags.push(Object.assign({},$,{default:!1})),J=$;else{if($)Q(G,"BAD_COLLECTION_TYPE",`${$.tag} used for ${H} collection, but expects ${$.collection??"scalar"}`,!0);else Q(G,"TAG_RESOLVE_FAILED",`Unresolved tag: ${Y}`,!0);return g9(U,X,q,Q,Y)}}let W=g9(U,X,q,Q,Y,J),_=J.resolve?.(W,($)=>Q(G,"TAG_RESOLVE_FAILED",$),X.options)??W,L=p$.isNode(_)?_:new l$.Scalar(_);if(L.range=W.range,L.tag=Y,J?.format)L.format=J.format;return L}n$.composeCollection=r$});var k9=R((Xz)=>{var y9=i();function t$(U,X,q){let Z=X.offset,Q=e$(X,U.options.strict,q);if(!Q)return{value:"",type:null,comment:"",range:[Z,Z,Z]};let G=Q.mode===">"?y9.Scalar.BLOCK_FOLDED:y9.Scalar.BLOCK_LITERAL,Y=X.source?Uz(X.source):[],H=Y.length;for(let z=Y.length-1;z>=0;--z){let O=Y[z][1];if(O===""||O==="\r")H=z;else break}if(H===0){let z=Q.chomp==="+"&&Y.length>0?`
70
+ `.repeat(Math.max(1,Y.length-1)):"",O=Z+Q.length;if(X.source)O+=X.source.length;return{value:z,type:G,comment:Q.comment,range:[Z,O,O]}}let J=X.indent+Q.indent,W=X.offset+Q.length,_=0;for(let z=0;z<H;++z){let[O,D]=Y[z];if(D===""||D==="\r"){if(Q.indent===0&&O.length>J)J=O.length}else{if(O.length<J)q(W+O.length,"MISSING_CHAR","Block scalars with more-indented leading empty lines must use an explicit indentation indicator");if(Q.indent===0)J=O.length;if(_=z,J===0&&!U.atRoot)q(W,"BAD_INDENT","Block scalar values in collections must be indented");break}W+=O.length+D.length+1}for(let z=Y.length-1;z>=H;--z)if(Y[z][0].length>J)H=z+1;let L="",$="",A=!1;for(let z=0;z<_;++z)L+=Y[z][0].slice(J)+`
71
+ `;for(let z=_;z<H;++z){let[O,D]=Y[z];W+=O.length+D.length+1;let P=D[D.length-1]==="\r";if(P)D=D.slice(0,-1);if(D&&O.length<J){let C=`Block scalar lines must not be less indented than their ${Q.indent?"explicit indentation indicator":"first line"}`;q(W-D.length-(P?2:1),"BAD_INDENT",C),O=""}if(G===y9.Scalar.BLOCK_LITERAL)L+=$+O.slice(J)+D,$=`
72
+ `;else if(O.length>J||D[0]==="\t"){if($===" ")$=`
73
+ `;else if(!A&&$===`
74
+ `)$=`
75
+
76
+ `;L+=$+O.slice(J)+D,$=`
77
+ `,A=!0}else if(D==="")if($===`
78
+ `)L+=`
79
+ `;else $=`
80
+ `;else L+=$+D,$=" ",A=!1}switch(Q.chomp){case"-":break;case"+":for(let z=H;z<Y.length;++z)L+=`
81
+ `+Y[z][0].slice(J);if(L[L.length-1]!==`
82
+ `)L+=`
83
+ `;break;default:L+=`
84
+ `}let B=Z+Q.length+X.source.length;return{value:L,type:G,comment:Q.comment,range:[Z,B,B]}}function e$({offset:U,props:X},q,Z){if(X[0].type!=="block-scalar-header")return Z(X[0],"IMPOSSIBLE","Block scalar header not found"),null;let{source:Q}=X[0],G=Q[0],Y=0,H="",J=-1;for(let $=1;$<Q.length;++$){let A=Q[$];if(!H&&(A==="-"||A==="+"))H=A;else{let B=Number(A);if(!Y&&B)Y=B;else if(J===-1)J=U+$}}if(J!==-1)Z(J,"UNEXPECTED_TOKEN",`Block scalar header includes extra characters: ${Q}`);let W=!1,_="",L=Q.length;for(let $=1;$<X.length;++$){let A=X[$];switch(A.type){case"space":W=!0;case"newline":L+=A.source.length;break;case"comment":if(q&&!W)Z(A,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");L+=A.source.length,_=A.source.substring(1);break;case"error":Z(A,"UNEXPECTED_TOKEN",A.message),L+=A.source.length;break;default:{let B=`Unexpected token in block scalar header: ${A.type}`;Z(A,"UNEXPECTED_TOKEN",B);let z=A.source;if(z&&typeof z==="string")L+=z.length}}}return{mode:G,indent:Y,chomp:H,comment:_,length:L}}function Uz(U){let X=U.split(/\n( *)/),q=X[0],Z=q.match(/^( *)/),G=[Z?.[1]?[Z[1],q.slice(Z[1].length)]:["",q]];for(let Y=1;Y<X.length;Y+=2)G.push([X[Y],X[Y+1]]);return G}Xz.resolveBlockScalar=t$});var x9=R((_z)=>{var v9=i(),Zz=a1();function Qz(U,X,q){let{offset:Z,type:Q,source:G,end:Y}=U,H,J,W=($,A,B)=>q(Z+$,A,B);switch(Q){case"scalar":H=v9.Scalar.PLAIN,J=Gz(G,W);break;case"single-quoted-scalar":H=v9.Scalar.QUOTE_SINGLE,J=Yz(G,W);break;case"double-quoted-scalar":H=v9.Scalar.QUOTE_DOUBLE,J=Hz(G,W);break;default:return q(U,"UNEXPECTED_TOKEN",`Expected a flow scalar value, but found: ${Q}`),{value:"",type:null,comment:"",range:[Z,Z+G.length,Z+G.length]}}let _=Z+G.length,L=Zz.resolveEnd(Y,_,X,q);return{value:J,type:H,comment:L.comment,range:[Z,_,L.offset]}}function Gz(U,X){let q="";switch(U[0]){case"\t":q="a tab character";break;case",":q="flow indicator character ,";break;case"%":q="directive indicator character %";break;case"|":case">":{q=`block scalar indicator ${U[0]}`;break}case"@":case"`":{q=`reserved character ${U[0]}`;break}}if(q)X(0,"BAD_SCALAR_START",`Plain value cannot start with ${q}`);return o3(U)}function Yz(U,X){if(U[U.length-1]!=="'"||U.length===1)X(U.length,"MISSING_CHAR","Missing closing 'quote");return o3(U.slice(1,-1)).replace(/''/g,"'")}function o3(U){let X,q;try{X=new RegExp(`(.*?)(?<![ ])[ ]*\r?
85
+ `,"sy"),q=new RegExp(`[ ]*(.*?)(?:(?<![ ])[ ]*)?\r?
86
+ `,"sy")}catch{X=/(.*?)[ \t]*\r?\n/sy,q=/[ \t]*(.*?)[ \t]*\r?\n/sy}let Z=X.exec(U);if(!Z)return U;let Q=Z[1],G=" ",Y=X.lastIndex;q.lastIndex=Y;while(Z=q.exec(U)){if(Z[1]==="")if(G===`
87
+ `)Q+=G;else G=`
88
+ `;else Q+=G+Z[1],G=" ";Y=q.lastIndex}let H=/[ \t]*(.*)/sy;return H.lastIndex=Y,Z=H.exec(U),Q+G+(Z?.[1]??"")}function Hz(U,X){let q="";for(let Z=1;Z<U.length-1;++Z){let Q=U[Z];if(Q==="\r"&&U[Z+1]===`
89
+ `)continue;if(Q===`
90
+ `){let{fold:G,offset:Y}=Jz(U,Z);q+=G,Z=Y}else if(Q==="\\"){let G=U[++Z],Y=Wz[G];if(Y)q+=Y;else if(G===`
91
+ `){G=U[Z+1];while(G===" "||G==="\t")G=U[++Z+1]}else if(G==="\r"&&U[Z+1]===`
92
+ `){G=U[++Z+1];while(G===" "||G==="\t")G=U[++Z+1]}else if(G==="x"||G==="u"||G==="U"){let H={x:2,u:4,U:8}[G];q+=Lz(U,Z+1,H,X),Z+=H}else{let H=U.substr(Z-1,2);X(Z-1,"BAD_DQ_ESCAPE",`Invalid escape sequence ${H}`),q+=H}}else if(Q===" "||Q==="\t"){let G=Z,Y=U[Z+1];while(Y===" "||Y==="\t")Y=U[++Z+1];if(Y!==`
93
+ `&&!(Y==="\r"&&U[Z+2]===`
94
+ `))q+=Z>G?U.slice(G,Z+1):Q}else q+=Q}if(U[U.length-1]!=='"'||U.length===1)X(U.length,"MISSING_CHAR",'Missing closing "quote');return q}function Jz(U,X){let q="",Z=U[X+1];while(Z===" "||Z==="\t"||Z===`
95
+ `||Z==="\r"){if(Z==="\r"&&U[X+2]!==`
96
+ `)break;if(Z===`
97
+ `)q+=`
98
+ `;X+=1,Z=U[X+1]}if(!q)q=" ";return{fold:q,offset:X}}var Wz={"0":"\x00",a:"\x07",b:"\b",e:"\x1B",f:"\f",n:`
99
+ `,r:"\r",t:"\t",v:"\v",N:"…",_:" ",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\","\t":"\t"};function Lz(U,X,q,Z){let Q=U.substr(X,q),Y=Q.length===q&&/^[0-9a-fA-F]+$/.test(Q)?parseInt(Q,16):NaN;if(isNaN(Y)){let H=U.substr(X-2,q+2);return Z(X-2,"BAD_DQ_ESCAPE",`Invalid escape sequence ${H}`),H}return String.fromCodePoint(Y)}_z.resolveFlowScalar=Qz});var r3=R((Vz)=>{var V1=k(),s3=i(),zz=k9(),Fz=x9();function Az(U,X,q,Z){let{value:Q,type:G,comment:Y,range:H}=X.type==="block-scalar"?zz.resolveBlockScalar(U,X,Z):Fz.resolveFlowScalar(X,U.options.strict,Z),J=q?U.directives.tagName(q.source,(L)=>Z(q,"TAG_RESOLVE_FAILED",L)):null,W;if(U.options.stringKeys&&U.atKey)W=U.schema[V1.SCALAR];else if(J)W=Tz(U.schema,Q,J,q,Z);else if(X.type==="scalar")W=Oz(U,Q,X,Z);else W=U.schema[V1.SCALAR];let _;try{let L=W.resolve(Q,($)=>Z(q??X,"TAG_RESOLVE_FAILED",$),U.options);_=V1.isScalar(L)?L:new s3.Scalar(L)}catch(L){let $=L instanceof Error?L.message:String(L);Z(q??X,"TAG_RESOLVE_FAILED",$),_=new s3.Scalar(Q)}if(_.range=H,_.source=Q,G)_.type=G;if(J)_.tag=J;if(W.format)_.format=W.format;if(Y)_.comment=Y;return _}function Tz(U,X,q,Z,Q){if(q==="!")return U[V1.SCALAR];let G=[];for(let H of U.tags)if(!H.collection&&H.tag===q)if(H.default&&H.test)G.push(H);else return H;for(let H of G)if(H.test?.test(X))return H;let Y=U.knownTags[q];if(Y&&!Y.collection)return U.tags.push(Object.assign({},Y,{default:!1,test:void 0})),Y;return Q(Z,"TAG_RESOLVE_FAILED",`Unresolved tag: ${q}`,q!=="tag:yaml.org,2002:str"),U[V1.SCALAR]}function Oz({atKey:U,directives:X,schema:q},Z,Q,G){let Y=q.tags.find((H)=>(H.default===!0||U&&H.default==="key")&&H.test?.test(Z))||q[V1.SCALAR];if(q.compat){let H=q.compat.find((J)=>J.default&&J.test?.test(Z))??q[V1.SCALAR];if(Y.tag!==H.tag){let J=X.tagString(Y.tag),W=X.tagString(H.tag),_=`Value may be parsed as either ${J} or ${W}`;G(Q,"TAG_RESOLVE_FAILED",_,!0)}}return Y}Vz.composeScalar=Az});var n3=R((Dz)=>{function Rz(U,X,q){if(X){q??(q=X.length);for(let Z=q-1;Z>=0;--Z){let Q=X[Z];switch(Q.type){case"space":case"comment":case"newline":U-=Q.source.length;continue}Q=X[++Z];while(Q?.type==="space")U+=Q.source.length,Q=X[++Z];break}}return U}Dz.emptyScalarPosition=Rz});var e3=R((Ez)=>{var wz=b2(),Pz=k(),Iz=i3(),a3=r3(),Kz=a1(),Nz=n3(),Cz={composeNode:t3,composeEmptyNode:h9};function t3(U,X,q,Z){let Q=U.atKey,{spaceBefore:G,comment:Y,anchor:H,tag:J}=q,W,_=!0;switch(X.type){case"alias":if(W=Sz(U,X,Z),H||J)Z(X,"ALIAS_PROPS","An alias node must not specify any properties");break;case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"block-scalar":if(W=a3.composeScalar(U,X,J,Z),H)W.anchor=H.source.substring(1);break;case"block-map":case"block-seq":case"flow-collection":if(W=Iz.composeCollection(Cz,U,X,q,Z),H)W.anchor=H.source.substring(1);break;default:{let L=X.type==="error"?X.message:`Unsupported token (type: ${X.type})`;Z(X,"UNEXPECTED_TOKEN",L),W=h9(U,X.offset,void 0,null,q,Z),_=!1}}if(H&&W.anchor==="")Z(H,"BAD_ALIAS","Anchor cannot be an empty string");if(Q&&U.options.stringKeys&&(!Pz.isScalar(W)||typeof W.value!=="string"||W.tag&&W.tag!=="tag:yaml.org,2002:str"))Z(J??X,"NON_STRING_KEY","With stringKeys, all keys must be strings");if(G)W.spaceBefore=!0;if(Y)if(X.type==="scalar"&&X.source==="")W.comment=Y;else W.commentBefore=Y;if(U.options.keepSourceTokens&&_)W.srcToken=X;return W}function h9(U,X,q,Z,{spaceBefore:Q,comment:G,anchor:Y,tag:H,end:J},W){let _={type:"scalar",offset:Nz.emptyScalarPosition(X,q,Z),indent:-1,source:""},L=a3.composeScalar(U,_,H,W);if(Y){if(L.anchor=Y.source.substring(1),L.anchor==="")W(Y,"BAD_ALIAS","Anchor cannot be an empty string")}if(Q)L.spaceBefore=!0;if(G)L.comment=G,L.range[2]=J;return L}function Sz({options:U},{offset:X,source:q,end:Z},Q){let G=new wz.Alias(q.substring(1));if(G.source==="")Q(X,"BAD_ALIAS","Alias cannot be an empty string");if(G.source.endsWith(":"))Q(X+q.length-1,"BAD_ALIAS","Alias ending in : is ambiguous",!0);let Y=X+q.length,H=Kz.resolveEnd(Z,Y,U.strict,Q);if(G.range=[X,Y,H.offset],H.comment)G.comment=H.comment;return G}Ez.composeEmptyNode=h9;Ez.composeNode=t3});var XQ=R((vz)=>{var fz=i2(),UQ=e3(),gz=a1(),yz=s2();function kz(U,X,{offset:q,start:Z,value:Q,end:G},Y){let H=Object.assign({_directives:X},U),J=new fz.Document(void 0,H),W={atKey:!1,atRoot:!0,directives:J.directives,options:J.options,schema:J.schema},_=yz.resolveProps(Z,{indicator:"doc-start",next:Q??G?.[0],offset:q,onError:Y,parentIndent:0,startOnNewline:!0});if(_.found){if(J.directives.docStart=!0,Q&&(Q.type==="block-map"||Q.type==="block-seq")&&!_.hasNewline)Y(_.end,"MISSING_CHAR","Block collection cannot start on same line with directives-end marker")}J.contents=Q?UQ.composeNode(W,Q,_,Y):UQ.composeEmptyNode(W,_.end,Z,null,_,Y);let L=J.contents.range[2],$=gz.resolveEnd(G,L,!1,Y);if($.comment)J.comment=$.comment;return J.range=[q,L,$.offset],J}vz.composeDoc=kz});var u9=R((dz)=>{var hz=D1("process"),uz=d4(),mz=i2(),r2=o2(),qQ=k(),pz=XQ(),lz=a1();function n2(U){if(typeof U==="number")return[U,U+1];if(Array.isArray(U))return U.length===2?U:[U[0],U[1]];let{offset:X,source:q}=U;return[X,X+(typeof q==="string"?q.length:1)]}function ZQ(U){let X="",q=!1,Z=!1;for(let Q=0;Q<U.length;++Q){let G=U[Q];switch(G[0]){case"#":X+=(X===""?"":Z?`
100
+
101
+ `:`
102
+ `)+(G.substring(1)||" "),q=!0,Z=!1;break;case"%":if(U[Q+1]?.[0]!=="#")Q+=1;q=!1;break;default:if(!q)Z=!0;q=!1}}return{comment:X,afterEmptyLine:Z}}class QQ{constructor(U={}){this.doc=null,this.atDirectives=!1,this.prelude=[],this.errors=[],this.warnings=[],this.onError=(X,q,Z,Q)=>{let G=n2(X);if(Q)this.warnings.push(new r2.YAMLWarning(G,q,Z));else this.errors.push(new r2.YAMLParseError(G,q,Z))},this.directives=new uz.Directives({version:U.version||"1.2"}),this.options=U}decorate(U,X){let{comment:q,afterEmptyLine:Z}=ZQ(this.prelude);if(q){let Q=U.contents;if(X)U.comment=U.comment?`${U.comment}
103
+ ${q}`:q;else if(Z||U.directives.docStart||!Q)U.commentBefore=q;else if(qQ.isCollection(Q)&&!Q.flow&&Q.items.length>0){let G=Q.items[0];if(qQ.isPair(G))G=G.key;let Y=G.commentBefore;G.commentBefore=Y?`${q}
104
+ ${Y}`:q}else{let G=Q.commentBefore;Q.commentBefore=G?`${q}
105
+ ${G}`:q}}if(X)Array.prototype.push.apply(U.errors,this.errors),Array.prototype.push.apply(U.warnings,this.warnings);else U.errors=this.errors,U.warnings=this.warnings;this.prelude=[],this.errors=[],this.warnings=[]}streamInfo(){return{comment:ZQ(this.prelude).comment,directives:this.directives,errors:this.errors,warnings:this.warnings}}*compose(U,X=!1,q=-1){for(let Z of U)yield*this.next(Z);yield*this.end(X,q)}*next(U){if(hz.env.LOG_STREAM)console.dir(U,{depth:null});switch(U.type){case"directive":this.directives.add(U.source,(X,q,Z)=>{let Q=n2(U);Q[0]+=X,this.onError(Q,"BAD_DIRECTIVE",q,Z)}),this.prelude.push(U.source),this.atDirectives=!0;break;case"document":{let X=pz.composeDoc(this.options,this.directives,U,this.onError);if(this.atDirectives&&!X.directives.docStart)this.onError(U,"MISSING_CHAR","Missing directives-end/doc-start indicator line");if(this.decorate(X,!1),this.doc)yield this.doc;this.doc=X,this.atDirectives=!1;break}case"byte-order-mark":case"space":break;case"comment":case"newline":this.prelude.push(U.source);break;case"error":{let X=U.source?`${U.message}: ${JSON.stringify(U.source)}`:U.message,q=new r2.YAMLParseError(n2(U),"UNEXPECTED_TOKEN",X);if(this.atDirectives||!this.doc)this.errors.push(q);else this.doc.errors.push(q);break}case"doc-end":{if(!this.doc){this.errors.push(new r2.YAMLParseError(n2(U),"UNEXPECTED_TOKEN","Unexpected doc-end without preceding document"));break}this.doc.directives.docEnd=!0;let X=lz.resolveEnd(U.end,U.offset+U.source.length,this.doc.options.strict,this.onError);if(this.decorate(this.doc,!0),X.comment){let q=this.doc.comment;this.doc.comment=q?`${q}
106
+ ${X.comment}`:X.comment}this.doc.range[2]=X.offset;break}default:this.errors.push(new r2.YAMLParseError(n2(U),"UNEXPECTED_TOKEN",`Unsupported token ${U.type}`))}}*end(U=!1,X=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc=null;else if(U){let q=Object.assign({_directives:this.directives},this.options),Z=new mz.Document(void 0,q);if(this.atDirectives)this.onError(X,"MISSING_CHAR","Missing directives-end indicator line");Z.range=[0,X,X],this.decorate(Z,!1),yield Z}}}dz.Composer=QQ});var HQ=R((ez)=>{var iz=k9(),oz=x9(),sz=o2(),GQ=y2();function rz(U,X=!0,q){if(U){let Z=(Q,G,Y)=>{let H=typeof Q==="number"?Q:Array.isArray(Q)?Q[0]:Q.offset;if(q)q(H,G,Y);else throw new sz.YAMLParseError([H,H+1],G,Y)};switch(U.type){case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return oz.resolveFlowScalar(U,X,Z);case"block-scalar":return iz.resolveBlockScalar({options:{strict:X}},U,Z)}}return null}function nz(U,X){let{implicitKey:q=!1,indent:Z,inFlow:Q=!1,offset:G=-1,type:Y="PLAIN"}=X,H=GQ.stringifyString({type:Y,value:U},{implicitKey:q,indent:Z>0?" ".repeat(Z):"",inFlow:Q,options:{blockQuote:!0,lineWidth:-1}}),J=X.end??[{type:"newline",offset:-1,indent:Z,source:`
107
+ `}];switch(H[0]){case"|":case">":{let W=H.indexOf(`
108
+ `),_=H.substring(0,W),L=H.substring(W+1)+`
109
+ `,$=[{type:"block-scalar-header",offset:G,indent:Z,source:_}];if(!YQ($,J))$.push({type:"newline",offset:-1,indent:Z,source:`
110
+ `});return{type:"block-scalar",offset:G,indent:Z,props:$,source:L}}case'"':return{type:"double-quoted-scalar",offset:G,indent:Z,source:H,end:J};case"'":return{type:"single-quoted-scalar",offset:G,indent:Z,source:H,end:J};default:return{type:"scalar",offset:G,indent:Z,source:H,end:J}}}function az(U,X,q={}){let{afterKey:Z=!1,implicitKey:Q=!1,inFlow:G=!1,type:Y}=q,H="indent"in U?U.indent:null;if(Z&&typeof H==="number")H+=2;if(!Y)switch(U.type){case"single-quoted-scalar":Y="QUOTE_SINGLE";break;case"double-quoted-scalar":Y="QUOTE_DOUBLE";break;case"block-scalar":{let W=U.props[0];if(W.type!=="block-scalar-header")throw Error("Invalid block scalar header");Y=W.source[0]===">"?"BLOCK_FOLDED":"BLOCK_LITERAL";break}default:Y="PLAIN"}let J=GQ.stringifyString({type:Y,value:X},{implicitKey:Q||H===null,indent:H!==null&&H>0?" ".repeat(H):"",inFlow:G,options:{blockQuote:!0,lineWidth:-1}});switch(J[0]){case"|":case">":tz(U,J);break;case'"':m9(U,J,"double-quoted-scalar");break;case"'":m9(U,J,"single-quoted-scalar");break;default:m9(U,J,"scalar")}}function tz(U,X){let q=X.indexOf(`
111
+ `),Z=X.substring(0,q),Q=X.substring(q+1)+`
112
+ `;if(U.type==="block-scalar"){let G=U.props[0];if(G.type!=="block-scalar-header")throw Error("Invalid block scalar header");G.source=Z,U.source=Q}else{let{offset:G}=U,Y="indent"in U?U.indent:-1,H=[{type:"block-scalar-header",offset:G,indent:Y,source:Z}];if(!YQ(H,"end"in U?U.end:void 0))H.push({type:"newline",offset:-1,indent:Y,source:`
113
+ `});for(let J of Object.keys(U))if(J!=="type"&&J!=="offset")delete U[J];Object.assign(U,{type:"block-scalar",indent:Y,props:H,source:Q})}}function YQ(U,X){if(X)for(let q of X)switch(q.type){case"space":case"comment":U.push(q);break;case"newline":return U.push(q),!0}return!1}function m9(U,X,q){switch(U.type){case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":U.type=q,U.source=X;break;case"block-scalar":{let Z=U.props.slice(1),Q=X.length;if(U.props[0].type==="block-scalar-header")Q-=U.props[0].source.length;for(let G of Z)G.offset+=Q;delete U.props,Object.assign(U,{type:q,source:X,end:Z});break}case"block-map":case"block-seq":{let Q={type:"newline",offset:U.offset+X.length,indent:U.indent,source:`
114
+ `};delete U.items,Object.assign(U,{type:q,source:X,end:[Q]});break}default:{let Z="indent"in U?U.indent:-1,Q="end"in U&&Array.isArray(U.end)?U.end.filter((G)=>G.type==="space"||G.type==="comment"||G.type==="newline"):[];for(let G of Object.keys(U))if(G!=="type"&&G!=="offset")delete U[G];Object.assign(U,{type:q,indent:Z,source:X,end:Q})}}}ez.createScalarToken=nz;ez.resolveAsScalar=rz;ez.setScalarValue=az});var JQ=R((QF)=>{var ZF=(U)=>("type"in U)?OU(U):TU(U);function OU(U){switch(U.type){case"block-scalar":{let X="";for(let q of U.props)X+=OU(q);return X+U.source}case"block-map":case"block-seq":{let X="";for(let q of U.items)X+=TU(q);return X}case"flow-collection":{let X=U.start.source;for(let q of U.items)X+=TU(q);for(let q of U.end)X+=q.source;return X}case"document":{let X=TU(U);if(U.end)for(let q of U.end)X+=q.source;return X}default:{let X=U.source;if("end"in U&&U.end)for(let q of U.end)X+=q.source;return X}}}function TU({start:U,key:X,sep:q,value:Z}){let Q="";for(let G of U)Q+=G.source;if(X)Q+=OU(X);if(q)for(let G of q)Q+=G.source;if(Z)Q+=OU(Z);return Q}QF.stringify=ZF});var _Q=R((HF)=>{var p9=Symbol("break visit"),YF=Symbol("skip children"),WQ=Symbol("remove item");function B1(U,X){if("type"in U&&U.type==="document")U={start:U.start,value:U.value};LQ(Object.freeze([]),U,X)}B1.BREAK=p9;B1.SKIP=YF;B1.REMOVE=WQ;B1.itemAtPath=(U,X)=>{let q=U;for(let[Z,Q]of X){let G=q?.[Z];if(G&&"items"in G)q=G.items[Q];else return}return q};B1.parentCollection=(U,X)=>{let q=B1.itemAtPath(U,X.slice(0,-1)),Z=X[X.length-1][0],Q=q?.[Z];if(Q&&"items"in Q)return Q;throw Error("Parent collection not found")};function LQ(U,X,q){let Z=q(X,U);if(typeof Z==="symbol")return Z;for(let Q of["key","value"]){let G=X[Q];if(G&&"items"in G){for(let Y=0;Y<G.items.length;++Y){let H=LQ(Object.freeze(U.concat([[Q,Y]])),G.items[Y],q);if(typeof H==="number")Y=H-1;else if(H===p9)return p9;else if(H===WQ)G.items.splice(Y,1),Y-=1}if(typeof Z==="function"&&Q==="key")Z=Z(X,U)}}return typeof Z==="function"?Z(X,U):Z}HF.visit=B1});var VU=R((AF)=>{var l9=HQ(),WF=JQ(),LF=_Q(),d9="\uFEFF",c9="\x02",i9="\x18",o9="\x1F",_F=(U)=>!!U&&("items"in U),$F=(U)=>!!U&&(U.type==="scalar"||U.type==="single-quoted-scalar"||U.type==="double-quoted-scalar"||U.type==="block-scalar");function zF(U){switch(U){case d9:return"<BOM>";case c9:return"<DOC>";case i9:return"<FLOW_END>";case o9:return"<SCALAR>";default:return JSON.stringify(U)}}function FF(U){switch(U){case d9:return"byte-order-mark";case c9:return"doc-mode";case i9:return"flow-error-end";case o9:return"scalar";case"---":return"doc-start";case"...":return"doc-end";case"":case`
115
+ `:case`\r
116
+ `:return"newline";case"-":return"seq-item-ind";case"?":return"explicit-key-ind";case":":return"map-value-ind";case"{":return"flow-map-start";case"}":return"flow-map-end";case"[":return"flow-seq-start";case"]":return"flow-seq-end";case",":return"comma"}switch(U[0]){case" ":case"\t":return"space";case"#":return"comment";case"%":return"directive-line";case"*":return"alias";case"&":return"anchor";case"!":return"tag";case"'":return"single-quoted-scalar";case'"':return"double-quoted-scalar";case"|":case">":return"block-scalar-header"}return null}AF.createScalarToken=l9.createScalarToken;AF.resolveAsScalar=l9.resolveAsScalar;AF.setScalarValue=l9.setScalarValue;AF.stringify=WF.stringify;AF.visit=LF.visit;AF.BOM=d9;AF.DOCUMENT=c9;AF.FLOW_END=i9;AF.SCALAR=o9;AF.isCollection=_F;AF.isScalar=$F;AF.prettyToken=zF;AF.tokenType=FF});var r9=R((bF)=>{var a2=VU();function I0(U){switch(U){case void 0:case" ":case`
117
+ `:case"\r":case"\t":return!0;default:return!1}}var $Q=new Set("0123456789ABCDEFabcdef"),SF=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),BU=new Set(",[]{}"),EF=new Set(` ,[]{}
118
+ \r `),s9=(U)=>!U||EF.has(U);class zQ{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.pos=0}*lex(U,X=!1){if(U){if(typeof U!=="string")throw TypeError("source is not a string");this.buffer=this.buffer?this.buffer+U:U,this.lineEndPos=null}this.atEnd=!X;let q=this.next??"stream";while(q&&(X||this.hasChars(1)))q=yield*this.parseNext(q)}atLineEnd(){let U=this.pos,X=this.buffer[U];while(X===" "||X==="\t")X=this.buffer[++U];if(!X||X==="#"||X===`
119
+ `)return!0;if(X==="\r")return this.buffer[U+1]===`
120
+ `;return!1}charAt(U){return this.buffer[this.pos+U]}continueScalar(U){let X=this.buffer[U];if(this.indentNext>0){let q=0;while(X===" ")X=this.buffer[++q+U];if(X==="\r"){let Z=this.buffer[q+U+1];if(Z===`
121
+ `||!Z&&!this.atEnd)return U+q+1}return X===`
122
+ `||q>=this.indentNext||!X&&!this.atEnd?U+q:-1}if(X==="-"||X==="."){let q=this.buffer.substr(U,3);if((q==="---"||q==="...")&&I0(this.buffer[U+3]))return-1}return U}getLine(){let U=this.lineEndPos;if(typeof U!=="number"||U!==-1&&U<this.pos)U=this.buffer.indexOf(`
123
+ `,this.pos),this.lineEndPos=U;if(U===-1)return this.atEnd?this.buffer.substring(this.pos):null;if(this.buffer[U-1]==="\r")U-=1;return this.buffer.substring(this.pos,U)}hasChars(U){return this.pos+U<=this.buffer.length}setNext(U){return this.buffer=this.buffer.substring(this.pos),this.pos=0,this.lineEndPos=null,this.next=U,null}peek(U){return this.buffer.substr(this.pos,U)}*parseNext(U){switch(U){case"stream":return yield*this.parseStream();case"line-start":return yield*this.parseLineStart();case"block-start":return yield*this.parseBlockStart();case"doc":return yield*this.parseDocument();case"flow":return yield*this.parseFlowCollection();case"quoted-scalar":return yield*this.parseQuotedScalar();case"block-scalar":return yield*this.parseBlockScalar();case"plain-scalar":return yield*this.parsePlainScalar()}}*parseStream(){let U=this.getLine();if(U===null)return this.setNext("stream");if(U[0]===a2.BOM)yield*this.pushCount(1),U=U.substring(1);if(U[0]==="%"){let X=U.length,q=U.indexOf("#");while(q!==-1){let Q=U[q-1];if(Q===" "||Q==="\t"){X=q-1;break}else q=U.indexOf("#",q+1)}while(!0){let Q=U[X-1];if(Q===" "||Q==="\t")X-=1;else break}let Z=(yield*this.pushCount(X))+(yield*this.pushSpaces(!0));return yield*this.pushCount(U.length-Z),this.pushNewline(),"stream"}if(this.atLineEnd()){let X=yield*this.pushSpaces(!0);return yield*this.pushCount(U.length-X),yield*this.pushNewline(),"stream"}return yield a2.DOCUMENT,yield*this.parseLineStart()}*parseLineStart(){let U=this.charAt(0);if(!U&&!this.atEnd)return this.setNext("line-start");if(U==="-"||U==="."){if(!this.atEnd&&!this.hasChars(4))return this.setNext("line-start");let X=this.peek(3);if((X==="---"||X==="...")&&I0(this.charAt(3)))return yield*this.pushCount(3),this.indentValue=0,this.indentNext=0,X==="---"?"doc":"stream"}if(this.indentValue=yield*this.pushSpaces(!1),this.indentNext>this.indentValue&&!I0(this.charAt(1)))this.indentNext=this.indentValue;return yield*this.parseBlockStart()}*parseBlockStart(){let[U,X]=this.peek(2);if(!X&&!this.atEnd)return this.setNext("block-start");if((U==="-"||U==="?"||U===":")&&I0(X)){let q=(yield*this.pushCount(1))+(yield*this.pushSpaces(!0));return this.indentNext=this.indentValue+1,this.indentValue+=q,yield*this.parseBlockStart()}return"doc"}*parseDocument(){yield*this.pushSpaces(!0);let U=this.getLine();if(U===null)return this.setNext("doc");let X=yield*this.pushIndicators();switch(U[X]){case"#":yield*this.pushCount(U.length-X);case void 0:return yield*this.pushNewline(),yield*this.parseLineStart();case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel=1,"flow";case"}":case"]":return yield*this.pushCount(1),"doc";case"*":return yield*this.pushUntil(s9),"doc";case'"':case"'":return yield*this.parseQuotedScalar();case"|":case">":return X+=yield*this.parseBlockScalarHeader(),X+=yield*this.pushSpaces(!0),yield*this.pushCount(U.length-X),yield*this.pushNewline(),yield*this.parseBlockScalar();default:return yield*this.parsePlainScalar()}}*parseFlowCollection(){let U,X,q=-1;do{if(U=yield*this.pushNewline(),U>0)X=yield*this.pushSpaces(!1),this.indentValue=q=X;else X=0;X+=yield*this.pushSpaces(!0)}while(U+X>0);let Z=this.getLine();if(Z===null)return this.setNext("flow");if(q!==-1&&q<this.indentNext&&Z[0]!=="#"||q===0&&(Z.startsWith("---")||Z.startsWith("..."))&&I0(Z[3])){if(!(q===this.indentNext-1&&this.flowLevel===1&&(Z[0]==="]"||Z[0]==="}")))return this.flowLevel=0,yield a2.FLOW_END,yield*this.parseLineStart()}let Q=0;while(Z[Q]===",")Q+=yield*this.pushCount(1),Q+=yield*this.pushSpaces(!0),this.flowKey=!1;switch(Q+=yield*this.pushIndicators(),Z[Q]){case void 0:return"flow";case"#":return yield*this.pushCount(Z.length-Q),"flow";case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel+=1,"flow";case"}":case"]":return yield*this.pushCount(1),this.flowKey=!0,this.flowLevel-=1,this.flowLevel?"flow":"doc";case"*":return yield*this.pushUntil(s9),"flow";case'"':case"'":return this.flowKey=!0,yield*this.parseQuotedScalar();case":":{let G=this.charAt(1);if(this.flowKey||I0(G)||G===",")return this.flowKey=!1,yield*this.pushCount(1),yield*this.pushSpaces(!0),"flow"}default:return this.flowKey=!1,yield*this.parsePlainScalar()}}*parseQuotedScalar(){let U=this.charAt(0),X=this.buffer.indexOf(U,this.pos+1);if(U==="'")while(X!==-1&&this.buffer[X+1]==="'")X=this.buffer.indexOf("'",X+2);else while(X!==-1){let Q=0;while(this.buffer[X-1-Q]==="\\")Q+=1;if(Q%2===0)break;X=this.buffer.indexOf('"',X+1)}let q=this.buffer.substring(0,X),Z=q.indexOf(`
124
+ `,this.pos);if(Z!==-1){while(Z!==-1){let Q=this.continueScalar(Z+1);if(Q===-1)break;Z=q.indexOf(`
125
+ `,Q)}if(Z!==-1)X=Z-(q[Z-1]==="\r"?2:1)}if(X===-1){if(!this.atEnd)return this.setNext("quoted-scalar");X=this.buffer.length}return yield*this.pushToIndex(X+1,!1),this.flowLevel?"flow":"doc"}*parseBlockScalarHeader(){this.blockScalarIndent=-1,this.blockScalarKeep=!1;let U=this.pos;while(!0){let X=this.buffer[++U];if(X==="+")this.blockScalarKeep=!0;else if(X>"0"&&X<="9")this.blockScalarIndent=Number(X)-1;else if(X!=="-")break}return yield*this.pushUntil((X)=>I0(X)||X==="#")}*parseBlockScalar(){let U=this.pos-1,X=0,q;U:for(let Q=this.pos;q=this.buffer[Q];++Q)switch(q){case" ":X+=1;break;case`
126
+ `:U=Q,X=0;break;case"\r":{let G=this.buffer[Q+1];if(!G&&!this.atEnd)return this.setNext("block-scalar");if(G===`
127
+ `)break}default:break U}if(!q&&!this.atEnd)return this.setNext("block-scalar");if(X>=this.indentNext){if(this.blockScalarIndent===-1)this.indentNext=X;else this.indentNext=this.blockScalarIndent+(this.indentNext===0?1:this.indentNext);do{let Q=this.continueScalar(U+1);if(Q===-1)break;U=this.buffer.indexOf(`
128
+ `,Q)}while(U!==-1);if(U===-1){if(!this.atEnd)return this.setNext("block-scalar");U=this.buffer.length}}let Z=U+1;q=this.buffer[Z];while(q===" ")q=this.buffer[++Z];if(q==="\t"){while(q==="\t"||q===" "||q==="\r"||q===`
129
+ `)q=this.buffer[++Z];U=Z-1}else if(!this.blockScalarKeep)do{let Q=U-1,G=this.buffer[Q];if(G==="\r")G=this.buffer[--Q];let Y=Q;while(G===" ")G=this.buffer[--Q];if(G===`
130
+ `&&Q>=this.pos&&Q+1+X>Y)U=Q;else break}while(!0);return yield a2.SCALAR,yield*this.pushToIndex(U+1,!0),yield*this.parseLineStart()}*parsePlainScalar(){let U=this.flowLevel>0,X=this.pos-1,q=this.pos-1,Z;while(Z=this.buffer[++q])if(Z===":"){let Q=this.buffer[q+1];if(I0(Q)||U&&BU.has(Q))break;X=q}else if(I0(Z)){let Q=this.buffer[q+1];if(Z==="\r")if(Q===`
131
+ `)q+=1,Z=`
132
+ `,Q=this.buffer[q+1];else X=q;if(Q==="#"||U&&BU.has(Q))break;if(Z===`
133
+ `){let G=this.continueScalar(q+1);if(G===-1)break;q=Math.max(q,G-2)}}else{if(U&&BU.has(Z))break;X=q}if(!Z&&!this.atEnd)return this.setNext("plain-scalar");return yield a2.SCALAR,yield*this.pushToIndex(X+1,!0),U?"flow":"doc"}*pushCount(U){if(U>0)return yield this.buffer.substr(this.pos,U),this.pos+=U,U;return 0}*pushToIndex(U,X){let q=this.buffer.slice(this.pos,U);if(q)return yield q,this.pos+=q.length,q.length;else if(X)yield"";return 0}*pushIndicators(){switch(this.charAt(0)){case"!":return(yield*this.pushTag())+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators());case"&":return(yield*this.pushUntil(s9))+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators());case"-":case"?":case":":{let U=this.flowLevel>0,X=this.charAt(1);if(I0(X)||U&&BU.has(X)){if(!U)this.indentNext=this.indentValue+1;else if(this.flowKey)this.flowKey=!1;return(yield*this.pushCount(1))+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators())}}}return 0}*pushTag(){if(this.charAt(1)==="<"){let U=this.pos+2,X=this.buffer[U];while(!I0(X)&&X!==">")X=this.buffer[++U];return yield*this.pushToIndex(X===">"?U+1:U,!1)}else{let U=this.pos+1,X=this.buffer[U];while(X)if(SF.has(X))X=this.buffer[++U];else if(X==="%"&&$Q.has(this.buffer[U+1])&&$Q.has(this.buffer[U+2]))X=this.buffer[U+=3];else break;return yield*this.pushToIndex(U,!1)}}*pushNewline(){let U=this.buffer[this.pos];if(U===`
134
+ `)return yield*this.pushCount(1);else if(U==="\r"&&this.charAt(1)===`
135
+ `)return yield*this.pushCount(2);else return 0}*pushSpaces(U){let X=this.pos-1,q;do q=this.buffer[++X];while(q===" "||U&&q==="\t");let Z=X-this.pos;if(Z>0)yield this.buffer.substr(this.pos,Z),this.pos=X;return Z}*pushUntil(U){let X=this.pos,q=this.buffer[X];while(!U(q))q=this.buffer[++X];return yield*this.pushToIndex(X,!1)}}bF.Lexer=zQ});var n9=R((fF)=>{class FQ{constructor(){this.lineStarts=[],this.addNewLine=(U)=>this.lineStarts.push(U),this.linePos=(U)=>{let X=0,q=this.lineStarts.length;while(X<q){let Q=X+q>>1;if(this.lineStarts[Q]<U)X=Q+1;else q=Q}if(this.lineStarts[X]===U)return{line:X+1,col:1};if(X===0)return{line:0,col:U};let Z=this.lineStarts[X-1];return{line:X,col:U-Z+1}}}}fF.LineCounter=FQ});var a9=R((vF)=>{var yF=D1("process"),AQ=VU(),kF=r9();function Z1(U,X){for(let q=0;q<U.length;++q)if(U[q].type===X)return!0;return!1}function TQ(U){for(let X=0;X<U.length;++X)switch(U[X].type){case"space":case"comment":case"newline":break;default:return X}return-1}function VQ(U){switch(U?.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"flow-collection":return!0;default:return!1}}function RU(U){switch(U.type){case"document":return U.start;case"block-map":{let X=U.items[U.items.length-1];return X.sep??X.start}case"block-seq":return U.items[U.items.length-1].start;default:return[]}}function t1(U){if(U.length===0)return[];let X=U.length;U:while(--X>=0)switch(U[X].type){case"doc-start":case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":case"newline":break U}while(U[++X]?.type==="space");return U.splice(X,U.length)}function OQ(U){if(U.start.type==="flow-seq-start"){for(let X of U.items)if(X.sep&&!X.value&&!Z1(X.start,"explicit-key-ind")&&!Z1(X.sep,"map-value-ind")){if(X.key)X.value=X.key;if(delete X.key,VQ(X.value))if(X.value.end)Array.prototype.push.apply(X.value.end,X.sep);else X.value.end=X.sep;else Array.prototype.push.apply(X.start,X.sep);delete X.sep}}}class BQ{constructor(U){this.atNewLine=!0,this.atScalar=!1,this.indent=0,this.offset=0,this.onKeyLine=!1,this.stack=[],this.source="",this.type="",this.lexer=new kF.Lexer,this.onNewLine=U}*parse(U,X=!1){if(this.onNewLine&&this.offset===0)this.onNewLine(0);for(let q of this.lexer.lex(U,X))yield*this.next(q);if(!X)yield*this.end()}*next(U){if(this.source=U,yF.env.LOG_TOKENS)console.log("|",AQ.prettyToken(U));if(this.atScalar){this.atScalar=!1,yield*this.step(),this.offset+=U.length;return}let X=AQ.tokenType(U);if(!X){let q=`Not a YAML token: ${U}`;yield*this.pop({type:"error",offset:this.offset,message:q,source:U}),this.offset+=U.length}else if(X==="scalar")this.atNewLine=!1,this.atScalar=!0,this.type="scalar";else{switch(this.type=X,yield*this.step(),X){case"newline":if(this.atNewLine=!0,this.indent=0,this.onNewLine)this.onNewLine(this.offset+U.length);break;case"space":if(this.atNewLine&&U[0]===" ")this.indent+=U.length;break;case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":if(this.atNewLine)this.indent+=U.length;break;case"doc-mode":case"flow-error-end":return;default:this.atNewLine=!1}this.offset+=U.length}}*end(){while(this.stack.length>0)yield*this.pop()}get sourceToken(){return{type:this.type,offset:this.offset,indent:this.indent,source:this.source}}*step(){let U=this.peek(1);if(this.type==="doc-end"&&U?.type!=="doc-end"){while(this.stack.length>0)yield*this.pop();this.stack.push({type:"doc-end",offset:this.offset,source:this.source});return}if(!U)return yield*this.stream();switch(U.type){case"document":return yield*this.document(U);case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return yield*this.scalar(U);case"block-scalar":return yield*this.blockScalar(U);case"block-map":return yield*this.blockMap(U);case"block-seq":return yield*this.blockSequence(U);case"flow-collection":return yield*this.flowCollection(U);case"doc-end":return yield*this.documentEnd(U)}yield*this.pop()}peek(U){return this.stack[this.stack.length-U]}*pop(U){let X=U??this.stack.pop();if(!X)yield{type:"error",offset:this.offset,source:"",message:"Tried to pop an empty stack"};else if(this.stack.length===0)yield X;else{let q=this.peek(1);if(X.type==="block-scalar")X.indent="indent"in q?q.indent:0;else if(X.type==="flow-collection"&&q.type==="document")X.indent=0;if(X.type==="flow-collection")OQ(X);switch(q.type){case"document":q.value=X;break;case"block-scalar":q.props.push(X);break;case"block-map":{let Z=q.items[q.items.length-1];if(Z.value){q.items.push({start:[],key:X,sep:[]}),this.onKeyLine=!0;return}else if(Z.sep)Z.value=X;else{Object.assign(Z,{key:X,sep:[]}),this.onKeyLine=!Z.explicitKey;return}break}case"block-seq":{let Z=q.items[q.items.length-1];if(Z.value)q.items.push({start:[],value:X});else Z.value=X;break}case"flow-collection":{let Z=q.items[q.items.length-1];if(!Z||Z.value)q.items.push({start:[],key:X,sep:[]});else if(Z.sep)Z.value=X;else Object.assign(Z,{key:X,sep:[]});return}default:yield*this.pop(),yield*this.pop(X)}if((q.type==="document"||q.type==="block-map"||q.type==="block-seq")&&(X.type==="block-map"||X.type==="block-seq")){let Z=X.items[X.items.length-1];if(Z&&!Z.sep&&!Z.value&&Z.start.length>0&&TQ(Z.start)===-1&&(X.indent===0||Z.start.every((Q)=>Q.type!=="comment"||Q.indent<X.indent))){if(q.type==="document")q.end=Z.start;else q.items.push({start:Z.start});X.items.splice(-1,1)}}}}*stream(){switch(this.type){case"directive-line":yield{type:"directive",offset:this.offset,source:this.source};return;case"byte-order-mark":case"space":case"comment":case"newline":yield this.sourceToken;return;case"doc-mode":case"doc-start":{let U={type:"document",offset:this.offset,start:[]};if(this.type==="doc-start")U.start.push(this.sourceToken);this.stack.push(U);return}}yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML stream`,source:this.source}}*document(U){if(U.value)return yield*this.lineEnd(U);switch(this.type){case"doc-start":{if(TQ(U.start)!==-1)yield*this.pop(),yield*this.step();else U.start.push(this.sourceToken);return}case"anchor":case"tag":case"space":case"comment":case"newline":U.start.push(this.sourceToken);return}let X=this.startBlockValue(U);if(X)this.stack.push(X);else yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML document`,source:this.source}}*scalar(U){if(this.type==="map-value-ind"){let X=RU(this.peek(2)),q=t1(X),Z;if(U.end)Z=U.end,Z.push(this.sourceToken),delete U.end;else Z=[this.sourceToken];let Q={type:"block-map",offset:U.offset,indent:U.indent,items:[{start:q,key:U,sep:Z}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=Q}else yield*this.lineEnd(U)}*blockScalar(U){switch(this.type){case"space":case"comment":case"newline":U.props.push(this.sourceToken);return;case"scalar":if(U.source=this.source,this.atNewLine=!0,this.indent=0,this.onNewLine){let X=this.source.indexOf(`
136
+ `)+1;while(X!==0)this.onNewLine(this.offset+X),X=this.source.indexOf(`
137
+ `,X)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(U){let X=U.items[U.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,X.value){let q="end"in X.value?X.value.end:void 0;if((Array.isArray(q)?q[q.length-1]:void 0)?.type==="comment")q?.push(this.sourceToken);else U.items.push({start:[this.sourceToken]})}else if(X.sep)X.sep.push(this.sourceToken);else X.start.push(this.sourceToken);return;case"space":case"comment":if(X.value)U.items.push({start:[this.sourceToken]});else if(X.sep)X.sep.push(this.sourceToken);else{if(this.atIndentedComment(X.start,U.indent)){let Z=U.items[U.items.length-2]?.value?.end;if(Array.isArray(Z)){Array.prototype.push.apply(Z,X.start),Z.push(this.sourceToken),U.items.pop();return}}X.start.push(this.sourceToken)}return}if(this.indent>=U.indent){let q=!this.onKeyLine&&this.indent===U.indent,Z=q&&(X.sep||X.explicitKey)&&this.type!=="seq-item-ind",Q=[];if(Z&&X.sep&&!X.value){let G=[];for(let Y=0;Y<X.sep.length;++Y){let H=X.sep[Y];switch(H.type){case"newline":G.push(Y);break;case"space":break;case"comment":if(H.indent>U.indent)G.length=0;break;default:G.length=0}}if(G.length>=2)Q=X.sep.splice(G[1])}switch(this.type){case"anchor":case"tag":if(Z||X.value)Q.push(this.sourceToken),U.items.push({start:Q}),this.onKeyLine=!0;else if(X.sep)X.sep.push(this.sourceToken);else X.start.push(this.sourceToken);return;case"explicit-key-ind":if(!X.sep&&!X.explicitKey)X.start.push(this.sourceToken),X.explicitKey=!0;else if(Z||X.value)Q.push(this.sourceToken),U.items.push({start:Q,explicitKey:!0});else this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken],explicitKey:!0}]});this.onKeyLine=!0;return;case"map-value-ind":if(X.explicitKey)if(!X.sep)if(Z1(X.start,"newline"))Object.assign(X,{key:null,sep:[this.sourceToken]});else{let G=t1(X.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:G,key:null,sep:[this.sourceToken]}]})}else if(X.value)U.items.push({start:[],key:null,sep:[this.sourceToken]});else if(Z1(X.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:Q,key:null,sep:[this.sourceToken]}]});else if(VQ(X.key)&&!Z1(X.sep,"newline")){let G=t1(X.start),Y=X.key,H=X.sep;H.push(this.sourceToken),delete X.key,delete X.sep,this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:G,key:Y,sep:H}]})}else if(Q.length>0)X.sep=X.sep.concat(Q,this.sourceToken);else X.sep.push(this.sourceToken);else if(!X.sep)Object.assign(X,{key:null,sep:[this.sourceToken]});else if(X.value||Z)U.items.push({start:Q,key:null,sep:[this.sourceToken]});else if(Z1(X.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]});else X.sep.push(this.sourceToken);this.onKeyLine=!0;return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let G=this.flowScalar(this.type);if(Z||X.value)U.items.push({start:Q,key:G,sep:[]}),this.onKeyLine=!0;else if(X.sep)this.stack.push(G);else Object.assign(X,{key:G,sep:[]}),this.onKeyLine=!0;return}default:{let G=this.startBlockValue(U);if(G){if(G.type==="block-seq"){if(!X.explicitKey&&X.sep&&!Z1(X.sep,"newline")){yield*this.pop({type:"error",offset:this.offset,message:"Unexpected block-seq-ind on same line with key",source:this.source});return}}else if(q)U.items.push({start:Q});this.stack.push(G);return}}}}yield*this.pop(),yield*this.step()}*blockSequence(U){let X=U.items[U.items.length-1];switch(this.type){case"newline":if(X.value){let q="end"in X.value?X.value.end:void 0;if((Array.isArray(q)?q[q.length-1]:void 0)?.type==="comment")q?.push(this.sourceToken);else U.items.push({start:[this.sourceToken]})}else X.start.push(this.sourceToken);return;case"space":case"comment":if(X.value)U.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment(X.start,U.indent)){let Z=U.items[U.items.length-2]?.value?.end;if(Array.isArray(Z)){Array.prototype.push.apply(Z,X.start),Z.push(this.sourceToken),U.items.pop();return}}X.start.push(this.sourceToken)}return;case"anchor":case"tag":if(X.value||this.indent<=U.indent)break;X.start.push(this.sourceToken);return;case"seq-item-ind":if(this.indent!==U.indent)break;if(X.value||Z1(X.start,"seq-item-ind"))U.items.push({start:[this.sourceToken]});else X.start.push(this.sourceToken);return}if(this.indent>U.indent){let q=this.startBlockValue(U);if(q){this.stack.push(q);return}}yield*this.pop(),yield*this.step()}*flowCollection(U){let X=U.items[U.items.length-1];if(this.type==="flow-error-end"){let q;do yield*this.pop(),q=this.peek(1);while(q?.type==="flow-collection")}else if(U.end.length===0){switch(this.type){case"comma":case"explicit-key-ind":if(!X||X.sep)U.items.push({start:[this.sourceToken]});else X.start.push(this.sourceToken);return;case"map-value-ind":if(!X||X.value)U.items.push({start:[],key:null,sep:[this.sourceToken]});else if(X.sep)X.sep.push(this.sourceToken);else Object.assign(X,{key:null,sep:[this.sourceToken]});return;case"space":case"comment":case"newline":case"anchor":case"tag":if(!X||X.value)U.items.push({start:[this.sourceToken]});else if(X.sep)X.sep.push(this.sourceToken);else X.start.push(this.sourceToken);return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let Z=this.flowScalar(this.type);if(!X||X.value)U.items.push({start:[],key:Z,sep:[]});else if(X.sep)this.stack.push(Z);else Object.assign(X,{key:Z,sep:[]});return}case"flow-map-end":case"flow-seq-end":U.end.push(this.sourceToken);return}let q=this.startBlockValue(U);if(q)this.stack.push(q);else yield*this.pop(),yield*this.step()}else{let q=this.peek(2);if(q.type==="block-map"&&(this.type==="map-value-ind"&&q.indent===U.indent||this.type==="newline"&&!q.items[q.items.length-1].sep))yield*this.pop(),yield*this.step();else if(this.type==="map-value-ind"&&q.type!=="flow-collection"){let Z=RU(q),Q=t1(Z);OQ(U);let G=U.end.splice(1,U.end.length);G.push(this.sourceToken);let Y={type:"block-map",offset:U.offset,indent:U.indent,items:[{start:Q,key:U,sep:G}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=Y}else yield*this.lineEnd(U)}}flowScalar(U){if(this.onNewLine){let X=this.source.indexOf(`
138
+ `)+1;while(X!==0)this.onNewLine(this.offset+X),X=this.source.indexOf(`
139
+ `,X)+1}return{type:U,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(U){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block-scalar-header":return{type:"block-scalar",offset:this.offset,indent:this.indent,props:[this.sourceToken],source:""};case"flow-map-start":case"flow-seq-start":return{type:"flow-collection",offset:this.offset,indent:this.indent,start:this.sourceToken,items:[],end:[]};case"seq-item-ind":return{type:"block-seq",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken]}]};case"explicit-key-ind":{this.onKeyLine=!0;let X=RU(U),q=t1(X);return q.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:q,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;let X=RU(U),q=t1(X);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:q,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(U,X){if(this.type!=="comment")return!1;if(this.indent<=X)return!1;return U.every((q)=>q.type==="newline"||q.type==="space")}*documentEnd(U){if(this.type!=="doc-mode"){if(U.end)U.end.push(this.sourceToken);else U.end=[this.sourceToken];if(this.type==="newline")yield*this.pop()}}*lineEnd(U){switch(this.type){case"comma":case"doc-start":case"doc-end":case"flow-seq-end":case"flow-map-end":case"map-value-ind":yield*this.pop(),yield*this.step();break;case"newline":this.onKeyLine=!1;case"space":case"comment":default:if(U.end)U.end.push(this.sourceToken);else U.end=[this.sourceToken];if(this.type==="newline")yield*this.pop()}}}vF.Parser=BQ});var PQ=R((iF)=>{var RQ=u9(),hF=i2(),t2=o2(),uF=n4(),mF=k(),pF=n9(),DQ=a9();function MQ(U){let X=U.prettyErrors!==!1;return{lineCounter:U.lineCounter||X&&new pF.LineCounter||null,prettyErrors:X}}function lF(U,X={}){let{lineCounter:q,prettyErrors:Z}=MQ(X),Q=new DQ.Parser(q?.addNewLine),G=new RQ.Composer(X),Y=Array.from(G.compose(Q.parse(U)));if(Z&&q)for(let H of Y)H.errors.forEach(t2.prettifyError(U,q)),H.warnings.forEach(t2.prettifyError(U,q));if(Y.length>0)return Y;return Object.assign([],{empty:!0},G.streamInfo())}function wQ(U,X={}){let{lineCounter:q,prettyErrors:Z}=MQ(X),Q=new DQ.Parser(q?.addNewLine),G=new RQ.Composer(X),Y=null;for(let H of G.compose(Q.parse(U),!0,U.length))if(!Y)Y=H;else if(Y.options.logLevel!=="silent"){Y.errors.push(new t2.YAMLParseError(H.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}if(Z&&q)Y.errors.forEach(t2.prettifyError(U,q)),Y.warnings.forEach(t2.prettifyError(U,q));return Y}function dF(U,X,q){let Z=void 0;if(typeof X==="function")Z=X;else if(q===void 0&&X&&typeof X==="object")q=X;let Q=wQ(U,q);if(!Q)return null;if(Q.warnings.forEach((G)=>uF.warn(Q.options.logLevel,G)),Q.errors.length>0)if(Q.options.logLevel!=="silent")throw Q.errors[0];else Q.errors=[];return Q.toJS(Object.assign({reviver:Z},q))}function cF(U,X,q){let Z=null;if(typeof X==="function"||Array.isArray(X))Z=X;else if(q===void 0&&X)q=X;if(typeof q==="string")q=q.length;if(typeof q==="number"){let Q=Math.round(q);q=Q<1?void 0:Q>8?{indent:8}:{indent:Q}}if(U===void 0){let{keepUndefined:Q}=q??X??{};if(!Q)return}if(mF.isDocument(U)&&!Z)return U.toString(q);return new hF.Document(U,Z,q).toString(q)}iF.parse=dF;iF.parseAllDocuments=lF;iF.parseDocument=wQ;iF.stringify=cF});var KQ=R((WA)=>{var aF=u9(),tF=i2(),eF=P9(),t9=o2(),UA=b2(),Q1=k(),XA=e0(),qA=i(),ZA=X1(),QA=q1(),GA=VU(),YA=r9(),HA=n9(),JA=a9(),DU=PQ(),IQ=S2();WA.Composer=aF.Composer;WA.Document=tF.Document;WA.Schema=eF.Schema;WA.YAMLError=t9.YAMLError;WA.YAMLParseError=t9.YAMLParseError;WA.YAMLWarning=t9.YAMLWarning;WA.Alias=UA.Alias;WA.isAlias=Q1.isAlias;WA.isCollection=Q1.isCollection;WA.isDocument=Q1.isDocument;WA.isMap=Q1.isMap;WA.isNode=Q1.isNode;WA.isPair=Q1.isPair;WA.isScalar=Q1.isScalar;WA.isSeq=Q1.isSeq;WA.Pair=XA.Pair;WA.Scalar=qA.Scalar;WA.YAMLMap=ZA.YAMLMap;WA.YAMLSeq=QA.YAMLSeq;WA.CST=GA;WA.Lexer=YA.Lexer;WA.LineCounter=HA.LineCounter;WA.Parser=JA.Parser;WA.parse=DU.parse;WA.parseAllDocuments=DU.parseAllDocuments;WA.parseDocument=DU.parseDocument;WA.stringify=DU.stringify;WA.visit=IQ.visit;WA.visitAsync=IQ.visitAsync});class Z0{static evaluate(U,X){try{if(U.includes("${")){let q=this.interpolate(U,X);if(!isNaN(Number(q))&&q.trim()!=="")return Number(q);return q}return this.evaluateExpression(U,X)}catch(q){return console.error(`Error evaluating expression: ${U}`,q),null}}static interpolate(U,X){return U.replace(/\$\{([^}]+)\}/g,(q,Z)=>{try{let Q=this.evaluateExpression(Z,X);if(Q===void 0||Q===null)return"undefined";return String(Q)}catch(Q){return console.error(`Error en interpolación: ${q}`,Q),q}})}static evaluateMathExpression(U){try{return Function("Math",`return ${U}`)(Math)}catch(X){throw Error(`Error evaluando expresión matemática: ${U}`)}}static evaluateExpression(U,X){if(/^(data|globals|request|computed)(\.[a-zA-Z0-9_]+)+$/.test(U))return this.getNestedValue(U,X);try{return Function("context","with(context) { return "+U+" }")(X)}catch(q){return console.error(`ERROR evaluating expression '${U}':`,q),U}}static getNestedValue(U,X){let q=U.split("."),Z=X;for(let Q of q){if(Z===null||Z===void 0||!(Q in Z))return;Z=Z[Q]}return Z}static evaluateMath(U,X){let q=U;q=q.replace(/\b[a-zA-Z_][a-zA-Z0-9_]*\b/g,(Z)=>{if(["Math","random","floor","ceil","round","sqrt","abs","pow","min","max","sin","cos","tan"].includes(Z))return Z;let Q=this.getNestedValue(Z,X);if(Q!==void 0)return typeof Q==="string"?`"${Q}"`:String(Q);return Z});try{return this.evaluateMathExpression(q)}catch(Z){return console.error(`Error en evaluación matemática: ${U}`,Z),NaN}}}class fQ{queue=[];engine;config;timer=null;isProcessing=!1;constructor(U,X={maxBatchSize:10,flushIntervalMs:100}){this.engine=U,this.config=X}push(U){if(this.queue.push(U),this.queue.length>=this.config.maxBatchSize)this.processQueue();else if(!this.timer)this.timer=setTimeout(()=>this.processQueue(),this.config.flushIntervalMs)}async processQueue(){if(this.isProcessing)return;if(this.isProcessing=!0,this.timer)clearTimeout(this.timer),this.timer=null;let U=this.queue.splice(0,this.config.maxBatchSize);if(U.length===0){this.isProcessing=!1;return}console.debug(`[EventQueue] Processing batch of ${U.length} events.`);for(let X of U)try{await this.engine.evaluateContext(X)}catch(q){console.error(`[EventQueue] Error processing event ${X.event}:`,q)}if(this.queue.length>0)setTimeout(()=>this.processQueue(),0);this.isProcessing=!1}getQueueLength(){return this.queue.length}}class wU{store=new Map;async loadState(){return new Map(this.store)}async saveState(U,X){this.store.set(U,X)}async deleteState(U){this.store.delete(U)}async clearState(){this.store.clear()}}class gQ{keyPrefix;cache=new Map;isLoaded=!1;constructor(U="trigger_system:"){this.keyPrefix=U}isAvailable(){return typeof window<"u"&&typeof window.localStorage<"u"}ensureLoaded(){if(this.isLoaded)return;if(this.isAvailable())try{let U=window.localStorage.getItem(this.keyPrefix+"state");if(U){let X=JSON.parse(U);this.cache=new Map(Object.entries(X))}}catch(U){console.error("[BrowserPersistence] Failed to load from localStorage:",U)}this.isLoaded=!0}persist(){if(this.isAvailable())try{let U=Object.fromEntries(this.cache);window.localStorage.setItem(this.keyPrefix+"state",JSON.stringify(U))}catch(U){console.error("[BrowserPersistence] Failed to save to localStorage:",U)}}async loadState(){return this.ensureLoaded(),new Map(this.cache)}async saveState(U,X){this.ensureLoaded(),this.cache.set(U,X),this.persist()}async deleteState(U){this.ensureLoaded(),this.cache.delete(U),this.persist()}async clearState(){this.cache.clear(),this.persist()}}class K0{static instance;state;persistence;constructor(){this.state=new Map,this.persistence=new wU}static getInstance(){if(!K0.instance)K0.instance=new K0;return K0.instance}setPersistence(U){this.persistence=U}async initialize(){let U=await this.persistence.loadState();this.state=U,console.log(`[StateManager] Initialized with ${this.state.size} keys.`)}get(U){return this.state.get(U)}async set(U,X){this.state.set(U,X),await this.persistence.saveState(U,X)}async increment(U,X=1){let q=this.get(U)||0,Z=Number(q)+X;return await this.set(U,Z),Z}async decrement(U,X=1){return this.increment(U,-X)}async delete(U){let X=this.state.delete(U);if(X)await this.persistence.deleteState(U);return X}async clear(){this.state.clear(),await this.persistence.clearState()}getAll(){return Object.fromEntries(this.state)}}class e2{static instance;handlers=new Map;constructor(){this.registerDefaults()}static getInstance(){if(!this.instance)this.instance=new e2;return this.instance}register(U,X){this.handlers.set(U.toUpperCase(),X)}get(U){return this.handlers.get(U.toUpperCase())}registerDefaults(){this.register("log",(U,X)=>{let q=U.params?.message||U.params?.content||"Log Trigger",Z=Z0.interpolate(q,X);return console.log(`[TriggerLog] ${Z}`),{message:Z}}),this.register("response",(U,X)=>{let q=U.params?.content||U.params?.body||"",Z=Z0.interpolate(q,X);return{statusCode:U.params?.statusCode||200,headers:U.params?.headers||{"Content-Type":"application/json"},body:Z}}),this.register("execute",async(U,X)=>{let q=U.params?.command||U.params?.content||"",Z=Z0.interpolate(q,X);if(!U.params?.safe)console.warn(`[Trigger] Ejecutando comando no seguro: ${Z}`);try{let Q=Bun.spawn(Z.split(" "),{stdout:"pipe",stderr:"pipe"}),[G,Y]=await Promise.all([new Response(Q.stdout).text(),new Response(Q.stderr).text()]);return{command:Z,stdout:G,stderr:Y,exitCode:await Q.exited}}catch(Q){return{command:Z,error:String(Q)}}}),this.register("forward",async(U,X)=>{let q=U.params?.url||"",Z=Z0.interpolate(q,X),Q=U.params?.method||"POST";try{let G=await fetch(Z,{method:Q,headers:{"Content-Type":"application/json",...U.params?.headers},body:JSON.stringify(X.data)});return{url:Z,method:Q,status:G.status,headers:(()=>{let Y={};return G.headers.forEach((H,J)=>Y[J]=H),Y})(),body:await G.text()}}catch(G){return{url:Z,method:Q,error:String(G)}}}),this.register("STATE_SET",async(U,X)=>{let q=U.params?.key,Z=U.params?.value;if(!q)return{error:"Missing key for STATE_SET"};let Q=Z;if(typeof Z==="string"&&Z.includes("${"))Q=Z0.interpolate(Z,X);return await K0.getInstance().set(q,Q),{key:q,value:Q}}),this.register("STATE_INCREMENT",async(U,X)=>{let q=U.params?.key,Z=Number(U.params?.amount)||1;if(!q)return{error:"Missing key for STATE_INCREMENT"};let Q=await K0.getInstance().increment(q,Z);return{key:q,newValue:Q}}),this.register("EMIT_EVENT",(U,X)=>{return{event:U.params?.event,payload:U.params?.data||{}}})}}class yQ{static create(U,X,q={}){return{event:U,timestamp:Date.now(),data:typeof X==="object"?X:{value:X},globals:q,helpers:this.getDefaultHelpers()}}static fromRequest(U,X,q={}){let Z=new URL(U.url);return{event:"HTTP_REQUEST",timestamp:Date.now(),data:{method:U.method,path:Z.pathname,query:Object.fromEntries(Z.searchParams),headers:(()=>{let Q={};return U.headers.forEach((G,Y)=>Q[Y]=G),Q})(),body:X||{}},globals:{...q,ip:U.headers.get("x-forwarded-for")||"unknown"},helpers:this.getDefaultHelpers()}}static fromWebhook(U,X,q,Z={}){return{event:`WEBHOOK_${U.toUpperCase()}_${X.toUpperCase()}`,timestamp:Date.now(),data:q,globals:{...Z,provider:U},helpers:this.getDefaultHelpers()}}static getDefaultHelpers(){return{now:()=>Date.now(),uuid:()=>crypto.randomUUID(),jsonParse:(U)=>JSON.parse(U),jsonStringify:(U)=>JSON.stringify(U)}}}var PU;((G)=>{G.ENGINE_START="engine:start";G.ENGINE_DONE="engine:done";G.RULE_MATCH="rule:match";G.ACTION_SUCCESS="action:success";G.ACTION_ERROR="action:error"})(PU||={});var tA=PU;class IU{static instance;handlers=new Map;constructor(){}static getInstance(){if(!this.instance)this.instance=new IU;return this.instance}on(U,X){let q=U;if(!this.handlers.has(q))this.handlers.set(q,new Set);return this.handlers.get(q).add(X),()=>this.off(q,X)}off(U,X){let q=U,Z=this.handlers.get(q);if(Z)Z.delete(X)}emit(U,X){let q=U,Z=this.handlers.get(q);if(Z)Z.forEach((Q)=>{try{Q(X)}catch(G){console.error(`Error in event handler for ${q}:`,G)}})}}var M1=IU.getInstance();class kQ{rules=[];config;lastExecutionTimes=new Map;actionRegistry;constructor(U){this.config=U,this.rules=[...U.rules],this.rules.sort((X,q)=>(q.priority||0)-(X.priority||0)),this.actionRegistry=e2.getInstance()}async processEvent(U,X={},q={}){let Z={event:U,data:X,globals:q,timestamp:Date.now(),state:{}};return this.evaluateContext(Z)}async evaluateContext(U){let X=[];if(U.state=K0.getInstance().getAll(),this.config.globalSettings.debugMode)console.log(`[RuleEngine] Evaluando contexto con ${this.rules.length} reglas para evento: ${U.event}`);M1.emit("engine:start",{context:U,rulesCount:this.rules.length});for(let q of this.rules){if(q.enabled===!1)continue;if(q.on!==U.event)continue;if(q.cooldown&&!this.checkCooldown(q.id,q.cooldown)){if(this.config.globalSettings.debugMode)console.log(`[RuleEngine] Regla ${q.id} en cooldown`);continue}if(this.evaluateRuleConditions(q.if,U)){if(this.config.globalSettings.debugMode)console.log(`[RuleEngine] Ejecutando regla: ${q.name||q.id}`);M1.emit("rule:match",{rule:q,context:U});let Q=await this.executeRuleActions(q.do,U);if(X.push({ruleId:q.id,executedActions:Q,success:!0}),this.lastExecutionTimes.set(q.id,Date.now()),!this.config.globalSettings.evaluateAll)break}}return M1.emit("engine:done",{results:X,context:U}),X}evaluateRuleConditions(U,X){if(!U)return!0;if(Array.isArray(U))return U.every((q)=>this.evaluateRecursiveCondition(q,X));else return this.evaluateRecursiveCondition(U,X)}evaluateRecursiveCondition(U,X){if("conditions"in U&&"operator"in U)return this.evaluateConditionGroup(U,X);else return this.evaluateSingleCondition(U,X)}evaluateConditionGroup(U,X){if(U.operator==="OR")return U.conditions.some((q)=>this.evaluateRecursiveCondition(q,X));else return U.conditions.every((q)=>this.evaluateRecursiveCondition(q,X))}evaluateSingleCondition(U,X){try{let q=Z0.getNestedValue(U.field,X),Z=U.value;if(typeof Z==="string"&&(Z.includes("${")||Z.startsWith("data.")||Z.startsWith("globals.")))Z=Z0.evaluate(Z,X);let Q=(Y)=>{if(Y instanceof Date)return Y.getTime();if(typeof Y==="number")return Y;let H=new Date(Y);return isNaN(H.getTime())?0:H.getTime()},G=(Y)=>{if(typeof Y==="number")return Y;if(Y===null||Y===void 0||Y==="")return null;let H=Number(Y);return isNaN(H)?null:H};switch(U.operator){case"EQ":case"==":return q==Z;case"NEQ":case"!=":return q!=Z;case"GT":case">":{let Y=G(q),H=G(Z);return Y!==null&&H!==null&&Y>H}case"GTE":case">=":{let Y=G(q),H=G(Z);return Y!==null&&H!==null&&Y>=H}case"LT":case"<":{let Y=G(q),H=G(Z);return Y!==null&&H!==null&&Y<H}case"LTE":case"<=":{let Y=G(q),H=G(Z);return Y!==null&&H!==null&&Y<=H}case"CONTAINS":return String(q).includes(String(Z));case"MATCHES":return new RegExp(String(Z)).test(String(q));case"IN":return Array.isArray(Z)&&Z.includes(q);case"NOT_IN":return Array.isArray(Z)&&!Z.includes(q);case"SINCE":case"AFTER":return Q(q)>=Q(Z);case"BEFORE":case"UNTIL":return Q(q)<Q(Z);case"RANGE":if(Array.isArray(Z)&&Z.length===2){let Y=G(q);return Y!==null&&Y>=Number(Z[0])&&Y<=Number(Z[1])}return!1;default:return console.error(`Operador desconocido: ${U.operator}`),!1}}catch(q){return console.error("Error evaluando condición:",U,q),!1}}async executeRuleActions(U,X){let q=[],Z=[],Q="ALL";if(this.isActionGroup(U))Z=U.actions,Q=U.mode;else if(Array.isArray(U))Z=U;else Z=[U];if(Q==="EITHER"&&Z.length>0){let G=Math.floor(Math.random()*Z.length),Y=Z[G];if(Y)Z=[Y]}if(Q==="SEQUENCE")for(let G of Z){let Y=await this.executeSingleAction(G,X);q.push(Y)}else for(let G of Z){let Y=await this.executeSingleAction(G,X);q.push(Y)}return q}isActionGroup(U){return"mode"in U&&"actions"in U}async executeSingleAction(U,X){if(U.probability!==void 0&&Math.random()>U.probability)return{type:U.type,timestamp:Date.now(),result:{skipped:"probability check failed"}};if(U.delay&&U.delay>0)await new Promise((q)=>setTimeout(q,U.delay));try{let q=this.actionRegistry.get(U.type),Z;if(q)Z=await q(U,X);else{let Q=`Tipo de acción genérica o desconocida: ${U.type}`;if(this.config.globalSettings.strictActions)throw Error(Q);console.warn(Q),Z={warning:`Generic action executed: ${U.type}`}}return M1.emit("action:success",{action:U,context:X,result:Z}),{type:U.type,result:Z,timestamp:Date.now()}}catch(q){return console.error("Error ejecutando acción:",U,q),M1.emit("action:error",{action:U,context:X,error:String(q)}),{type:U.type,error:String(q),timestamp:Date.now()}}}checkCooldown(U,X){let q=this.lastExecutionTimes.get(U);if(!q)return!0;return Date.now()-q>X}updateRules(U){this.rules=[...U],this.rules.sort((X,q)=>(q.priority||0)-(X.priority||0))}getRules(){return[...this.rules]}}class U6{static getNestedValue(U,X){let q=U.split("."),Z=X;for(let Q of q){if(Z===null||Z===void 0)return;Z=Z[Q]}return Z}static interpolate(U,X){if(typeof U!=="string")return U;return U.replace(/\$\{([^}]+)\}/g,(q,Z)=>{let Q=this.getNestedValue(Z,X);if(Q!==void 0)return String(Q);return q})}static compare(U,X,q){switch(X){case"EQ":case"==":return U==q;case"NEQ":case"!=":return U!=q;case"GT":case">":return Number(U)>Number(q);case"GTE":case">=":return Number(U)>=Number(q);case"LT":case"<":return Number(U)<Number(q);case"LTE":case"<=":return Number(U)<=Number(q);case"IN":return Array.isArray(q)&&q.includes(U);case"NOT_IN":return Array.isArray(q)&&!q.includes(U);case"CONTAINS":if(Array.isArray(U)||typeof U==="string")return U.includes(q);return!1;case"MATCHES":return new RegExp(q).test(String(U));case"RANGE":if(Array.isArray(q)&&q.length===2){let Z=Number(U);return Z>=q[0]&&Z<=q[1]}return!1;default:return console.warn(`Unknown operator: ${X}`),!1}}}class vQ{rules=[];actionHandlers=new Map;lastExecution=new Map;constructor(U=[]){this.rules=U,this.sortRules()}sortRules(){this.rules.sort((U,X)=>(X.priority||0)-(U.priority||0))}registerAction(U,X){this.actionHandlers.set(U,X)}async processEvent(U){let X=[],q=this.rules.filter((Z)=>Z.enabled!==!1&&Z.on===U.event);for(let Z of q){if(Z.cooldown&&this.checkCooldown(Z.id,Z.cooldown))continue;if(this.evaluateConditions(Z.if,U)){let Q=await this.executeRuleActions(Z.do,U);this.lastExecution.set(Z.id,Date.now()),X.push({ruleId:Z.id,success:!0,executedActions:Q})}}return X}checkCooldown(U,X){let q=this.lastExecution.get(U);if(!q)return!1;return Date.now()-q<X}evaluateConditions(U,X){if(!U)return!0;if(Array.isArray(U))return U.every((q)=>this.evaluateSingleCondition(q,X));return this.evaluateSingleCondition(U,X)}evaluateSingleCondition(U,X){if("operator"in U&&"conditions"in U){let G=U;if(G.operator==="OR")return G.conditions.some((Y)=>this.evaluateSingleCondition(Y,X));else return G.conditions.every((Y)=>this.evaluateSingleCondition(Y,X))}let q=U,Z=U6.getNestedValue(q.field,X),Q=q.value;if(typeof Q==="string"&&Q.includes("${"))Q=Z0.interpolate(Q,X);return U6.compare(Z,q.operator,Q)}async executeRuleActions(U,X){let q=[],Z=[],Q="ALL";if(Array.isArray(U))Z=U;else if("mode"in U&&"actions"in U){let G=U;Q=G.mode,Z=G.actions}else Z=[U];if(Q==="EITHER"){let G=Z.reduce((J,W)=>J+(W.probability||1),0),Y=Math.random()*G,H;for(let J of Z){let W=J.probability||1;if(Y-=W,Y<=0){H=J;break}}if(!H&&Z.length>0)H=Z[Z.length-1];if(H)Z=[H];else Z=[]}for(let G of Z){let Y=this.interpolateParams(G.params||{},X),H=this.actionHandlers.get(G.type);if(H)try{if(G.delay&&G.delay>0)await new Promise((W)=>setTimeout(W,G.delay));let J=await H(Y,X);q.push({type:G.type,result:J,timestamp:Date.now()})}catch(J){console.error(`Action ${G.type} failed:`,J),q.push({type:G.type,error:J,timestamp:Date.now()})}else console.warn(`No handler registered for action type: ${G.type}`),q.push({type:G.type,error:"No handler registered",timestamp:Date.now()})}return q}interpolateParams(U,X){let q={};for(let[Z,Q]of Object.entries(U))if(typeof Q==="string")q[Z]=Z0.interpolate(Q,X);else if(typeof Q==="object"&&Q!==null)q[Z]=this.interpolateDeep(Q,X);else q[Z]=Q;return q}interpolateDeep(U,X){if(typeof U==="string")return Z0.interpolate(U,X);if(Array.isArray(U))return U.map((q)=>this.interpolateDeep(q,X));if(typeof U==="object"&&U!==null){let q={};for(let Z in U)q[Z]=this.interpolateDeep(U[Z],X);return q}return U}}var p0=(U)=>Array.isArray(U)?U:[U],XX=(U,X)=>{let q=[[],[]];for(let Z of U)if(X(Z))q[0].push(Z);else q[1].push(Z);return q},X6=Array,z0=(U,X)=>U.includes(X),qX=(U,X=0)=>[...Array(U)].map((q,Z)=>Z+X),g=(U,X,q)=>{if(U===void 0)return X===void 0?[]:Array.isArray(X)?X:[X];if(q?.prepend)if(Array.isArray(X))U.unshift(...X);else U.unshift(X);else if(Array.isArray(X))U.push(...X);else U.push(X);return U},f0=(U,X)=>{if(X===void 0||X===null)return U??[];if(U===void 0||U===null)return p0(X);return U.concat(X)},ZX=(...U)=>U.reduce(f0,[]),N0=(U,X,q)=>{if(U===void 0)return Array.isArray(X)?X:[X];let Z=q?.isEqual??((Q,G)=>Q===G);for(let Q of p0(X))if(!U.some((G)=>Z(G,Q)))U.push(Q);return U},QX=(U,X)=>U.reduce((q,Z)=>{let Q=Z[X];return q[Q]=g(q[Q],Z),q},{}),g0=(U,X,q)=>U.length===X.length&&U.every(q?.isEqual?(Z,Q)=>q.isEqual(Z,X[Q]):(Z,Q)=>Z===X[Q]);var Q0=(U,X)=>r(U)===X,r=(U)=>{let X=typeof U;return X==="object"?U===null?"null":"object":X==="function"?"object":X},G0={boolean:"boolean",null:"null",undefined:"undefined",bigint:"a bigint",number:"a number",object:"an object",string:"a string",symbol:"a symbol"},GX={...G0,function:"a function"};class YX extends Error{}var y=(U)=>G1(U,YX),G1=(U,X=Error)=>{throw new X(U)};class e1 extends Error{name="ParseError"}var F=(U)=>G1(U,e1),R0=(U)=>` ${U}`,HX="​";var S=(U,X)=>{let q={},Z=Array.isArray(U),Q=!1;for(let[G,Y]of Object.entries(U).entries()){let H=Z?X(G,Y[1]):X(...Y,G);Q||=typeof H[0]==="number";let J=Array.isArray(H[0])||H.length===0?H:[H];for(let[W,_]of J)if(typeof W==="object")q[W.group]=g(q[W.group],_);else q[W]=_}return Q?Object.values(q):q};var KU=Object.entries;var n=(U,X)=>(U in X),w1=(U,X)=>(X in U);class NU{constructor(U){Object.assign(this,U)}}var JX=class{};class U2 extends JX{}var xQ=(U,X)=>{let q={},Z={},Q;for(Q in U)if(Q in X)q[Q]=U[Q];else Z[Q]=U[Q];return[q,Z]};var q6=(U,X)=>xQ(U,X)[1],C0=(U)=>Object.keys(U).length===0,Y1=(U)=>[...Object.entries(U),...Object.getOwnPropertySymbols(U).map((X)=>[X,U[X]])],WX=(U,X)=>Object.defineProperties(U,Object.getOwnPropertyDescriptors(X)),LX=(U)=>{let X=Object.keys(U).sort(),q={};for(let Z=0;Z<X.length;Z++)q[X[Z]]=U[X[Z]];return q};var Y0=R0(`unset${HX}`),_X=(U)=>Object.values(U).filter((X)=>{if(typeof X==="number")return!0;return typeof U[X]!=="number"});var CU={Array,Boolean,Date,Error,Function,Map,Number,Promise,RegExp,Set,String,WeakMap,WeakSet},SU=globalThis.File??Blob,EU={ArrayBuffer,Blob,File:SU,FormData,Headers,Request,Response,URL},hQ={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array},H1={...CU,...EU,...hQ,String,Number,Boolean},X2=(U)=>{let X=Object.getPrototypeOf(U);while(X?.constructor&&(!n(X.constructor.name,H1)||!(U instanceof H1[X.constructor.name])))X=Object.getPrototypeOf(X);let q=X?.constructor?.name;if(q===void 0||q==="Object")return;return q},q2=(U)=>typeof U==="object"&&U!==null?X2(U)??"object":r(U);var x=Array.isArray,uQ={Array:"an array",Function:"a function",Date:"a Date",RegExp:"a RegExp",Error:"an Error",Map:"a Map",Set:"a Set",String:"a String object",Number:"a Number object",Boolean:"a Boolean object",Promise:"a Promise",WeakMap:"a WeakMap",WeakSet:"a WeakSet"},mQ={ArrayBuffer:"an ArrayBuffer instance",Blob:"a Blob instance",File:"a File instance",FormData:"a FormData instance",Headers:"a Headers instance",Request:"a Request instance",Response:"a Response instance",URL:"a URL instance"},pQ={Int8Array:"an Int8Array",Uint8Array:"a Uint8Array",Uint8ClampedArray:"a Uint8ClampedArray",Int16Array:"an Int16Array",Uint16Array:"a Uint16Array",Int32Array:"an Int32Array",Uint32Array:"a Uint32Array",Float32Array:"a Float32Array",Float64Array:"a Float64Array",BigInt64Array:"a BigInt64Array",BigUint64Array:"a BigUint64Array"},$X={...uQ,...mQ,...pQ},Z2=(U)=>{let X=Object(U).name??null;return X&&n(X,H1)&&H1[X]===U?X:null};var bU=(U,X)=>{let q=U.prototype;while(q!==null){if(q===X.prototype)return!0;q=Object.getPrototypeOf(q)}return!1};var zX=(U)=>FX(U,new Map),FX=(U,X)=>{if(typeof U!=="object"||U===null)return U;if(X?.has(U))return X.get(U);let q=Z2(U.constructor);if(q==="Date")return new Date(U.getTime());if(q&&q!=="Array")return U;let Z=Array.isArray(U)?U.slice():Object.create(Object.getPrototypeOf(U)),Q=Object.getOwnPropertyDescriptors(U);if(X){X.set(U,Z);for(let G in Q){let Y=Q[G];if("get"in Y||"set"in Y)continue;Y.value=FX(Y.value,X)}}return Object.defineProperties(Z,Q),Z};var lQ=(U)=>{let X=Y0;return()=>X===Y0?X=U():X},l0=(U)=>typeof U==="function"&&U.length===0;var AX=class extends Function{constructor(...U){let X=U.slice(0,-1),q=U[U.length-1];try{super(...X,q)}catch(Z){return y(`Encountered an unexpected error while compiling your definition:
140
+ Message: ${Z}
141
+ Source: (${U.slice(0,-1)}) => {
142
+ ${U[U.length-1]}
143
+ }`)}}};class H0{constructor(U,...[X]){return Object.assign(Object.setPrototypeOf(U.bind(X?.bind??this),this.constructor.prototype),X?.attach)}}var TX=lQ(()=>{try{return Function("return false")()}catch{return!0}});var xT=R0("brand");var OX=R0("arkInferred");var mT=R0("args");class e{constructor(){}}var dQ=()=>{try{return((Error().stack?.split(`
144
+ `)[2]?.trim()||"").match(/\(?(.+?)(?::\d+:\d+)?\)?$/)?.[1]||"unknown").replace(/^file:\/\//,"")}catch{return"unknown"}},cQ=globalThis.process?.env??{},VX={fileName:dQ,env:cQ};var BX=(U)=>U[0].toUpperCase()+U.slice(1),RX=(U)=>U[0].toLowerCase()+U.slice(1),jU=(U)=>new RegExp(iQ(U),typeof U==="string"?"":U.flags);var iQ=(U)=>{return`^(?:${typeof U==="string"?U:U.source})$`};var y0={negativeLookahead:(U)=>`(?!${U})`,nonCapturingGroup:(U)=>`(?:${U})`},J1="\\",d0={" ":1,"\n":1,"\t":1};var oQ=/^-0\.?0*$/.source,MX=/[1-9]\d*/.source,sQ=/\.\d+/.source,rQ=/\.\d*[1-9]/.source,wX=(U)=>jU(y0.negativeLookahead(oQ)+y0.nonCapturingGroup("-?"+y0.nonCapturingGroup(y0.nonCapturingGroup("0|"+MX)+y0.nonCapturingGroup(U.decimalPattern)+"?")+(U.allowDecimalOnly?"|"+U.decimalPattern:"")+"?")),DX=wX({decimalPattern:rQ,allowDecimalOnly:!1}),nQ=DX.test.bind(DX),Z6=wX({decimalPattern:sQ,allowDecimalOnly:!0}),sT=Z6.test.bind(Z6),aQ=/^-?\d*\.?\d*$/,tQ=(U)=>U.length!==0&&aQ.test(U),Q2=jU(y0.negativeLookahead("^-0$")+"-?"+y0.nonCapturingGroup(y0.nonCapturingGroup("0|"+MX))),eQ=Q2.test.bind(Q2),fU=/^-?\d+$/,UG=fU.test.bind(fU),PX={number:"a number",bigint:"a bigint",integer:"an integer"},IX=(U,X)=>`'${U}' was parsed as ${PX[X]} but could not be narrowed to a literal value. Avoid unnecessary leading or trailing zeros and other abnormal notation`,XG=(U,X)=>X==="number"?nQ(U):eQ(U),qG=(U,X)=>X==="number"?Number(U):Number.parseInt(U),ZG=(U,X)=>X==="number"?tQ(U):UG(U),KX=(U,X)=>gU(U,"number",X),NX=(U,X)=>gU(U,"number",{...X,strict:!0}),CX=(U,X)=>gU(U,"integer",X),gU=(U,X,q)=>{let Z=qG(U,X);if(!Number.isNaN(Z)){if(ZG(U,X)){if(q?.strict)return XG(U,X)?Z:F(IX(U,X));return Z}}return q?.errorOnFail?F(q?.errorOnFail===!0?`Failed to parse ${PX[X]} from '${U}'`:q?.errorOnFail):void 0},SX=(U)=>{if(U[U.length-1]!=="n")return;let X=U.slice(0,-1),q;try{q=BigInt(X)}catch{return}if(Q2.test(X))return q;if(fU.test(X))return F(IX(U,"bigint"))};var QG="0.56.0",GG={version:QG,filename:VX.fileName(),FileConstructor:SU},W1=GG,EX=new Map,yU=Object.create(null),G2=(U)=>{let X=EX.get(U);if(X)return X;let q=YG(U);if(yU[q])q=`${q}${yU[q]++}`;else yU[q]=1;return W1[q]=U,EX.set(U,q),q},c0=(U)=>/^[$A-Z_a-z][\w$]*$/.test(U),YG=(U)=>{switch(typeof U){case"object":{if(U===null)break;let X=X2(U)??"object";return X[0].toLowerCase()+X.slice(1)}case"function":return c0(U.name)?U.name:"fn";case"symbol":return U.description&&c0(U.description)?U.description:"symbol"}return y(`Unexpected attempt to register serializable value of type ${r(U)}`)};var Y2=(U)=>typeof U==="string"?JSON.stringify(U):typeof U==="bigint"?`${U}n`:`${U}`;var bX=(U,X={})=>H2(U,{onUndefined:"$ark.undefined",onBigInt:(q)=>`$ark.bigint-${q}`,...X},[]);var E=(U,X)=>{switch(r(U)){case"object":let q=U,Z=q.constructor?.name??"Object";return Z==="Object"||Z==="Array"?X?.quoteKeys===!1?Q6(q,X?.indent??0,""):JSON.stringify(H2(q,P1,[]),null,X?.indent):Q6(q,X?.indent??0,"");case"symbol":return P1.onSymbol(U);default:return Y2(U)}},Q6=(U,X,q)=>{if(typeof U==="function")return P1.onFunction(U);if(typeof U!=="object"||U===null)return Y2(U);let Z=q+" ".repeat(X);if(Array.isArray(U)){if(U.length===0)return"[]";let G=U.map((Y)=>Q6(Y,X,Z)).join(`,
145
+ `+Z);return X?`[
146
+ ${Z}${G}
147
+ ${q}]`:`[${G}]`}let Q=U.constructor?.name??"Object";if(Q==="Object"){let G=Y1(U).map(([Y,H])=>{let J=typeof Y==="symbol"?P1.onSymbol(Y):c0(Y)?Y:JSON.stringify(Y),W=Q6(H,X,Z);return`${Z}${J}: ${W}`});if(G.length===0)return"{}";return X?`{
148
+ ${G.join(`,
149
+ `)}
150
+ ${q}}`:`{${G.join(", ")}}`}if(U instanceof Date)return L1(U);if("expression"in U&&typeof U.expression==="string")return U.expression;return Q},P1={onCycle:()=>"(cycle)",onSymbol:(U)=>`Symbol(${G2(U)})`,onFunction:(U)=>`Function(${G2(U)})`},H2=(U,X,q)=>{switch(r(U)){case"object":{let Z=U;if("toJSON"in Z&&typeof Z.toJSON==="function")return Z.toJSON();if(typeof Z==="function")return P1.onFunction(Z);if(q.includes(Z))return"(cycle)";let Q=[...q,Z];if(Array.isArray(Z))return Z.map((Y)=>H2(Y,X,Q));if(Z instanceof Date)return Z.toDateString();let G={};for(let Y in Z)G[Y]=H2(Z[Y],X,Q);for(let Y of Object.getOwnPropertySymbols(Z))G[X.onSymbol?.(Y)??Y.toString()]=H2(Z[Y],X,Q);return G}case"symbol":return P1.onSymbol(U);case"bigint":return X.onBigInt?.(U)??`${U}n`;case"undefined":return X.onUndefined??"undefined";case"string":return U.replace(/\\/g,"\\\\");default:return U}},L1=(U)=>{let X=U.getFullYear(),q=U.getMonth(),Z=U.getDate(),Q=U.getHours(),G=U.getMinutes(),Y=U.getSeconds(),H=U.getMilliseconds();if(q===0&&Z===1&&Q===0&&G===0&&Y===0&&H===0)return`${X}`;let J=`${HG[q]} ${Z}, ${X}`;if(Q===0&&G===0&&Y===0&&H===0)return J;let W=U.toLocaleTimeString(),_=W.endsWith(" AM")||W.endsWith(" PM")?W.slice(-3):"";if(_)W=W.slice(0,-_.length);if(H)W+=`.${WG(H,3)}`;else if(JG.test(W))W=W.slice(0,-3);return`${W+_}, ${J}`},HG=["January","February","March","April","May","June","July","August","September","October","November","December"],JG=/:\d\d:00$/,WG=(U,X)=>String(U).padStart(X,"0");var jX=(U,X,...[q])=>{let Z=q?.stringifySymbol??E,Q=U;switch(typeof X){case"string":Q=c0(X)?U===""?X:`${U}.${X}`:`${U}[${JSON.stringify(X)}]`;break;case"number":Q=`${U}[${X}]`;break;case"symbol":Q=`${U}[${Z(X)}]`;break;default:if(q?.stringifyNonKey)Q=`${U}[${q.stringifyNonKey(X)}]`;else F(`${E(X)} must be a PropertyKey or stringifyNonKey must be passed to options`)}return Q},k0=(U,...X)=>U.reduce((q,Z)=>jX(q,Z,...X),"");class J2 extends X6{cache={};constructor(...U){super();this.push(...U)}toJSON(){if(this.cache.json)return this.cache.json;this.cache.json=[];for(let U=0;U<this.length;U++)this.cache.json.push(typeof this[U]==="symbol"?E(this[U]):this[U]);return this.cache.json}stringify(){if(this.cache.stringify)return this.cache.stringify;return this.cache.stringify=k0(this)}stringifyAncestors(){if(this.cache.stringifyAncestors)return this.cache.stringifyAncestors;let U="",X=[U];for(let q of this)U=jX(U,q),X.push(U);return this.cache.stringifyAncestors=X}}class W2{chars;i;def;constructor(U){this.def=U,this.chars=[...U],this.i=0}shift(){return this.chars[this.i++]??""}get lookahead(){return this.chars[this.i]??""}get nextLookahead(){return this.chars[this.i+1]??""}get length(){return this.chars.length}shiftUntil(U){let X="";while(this.lookahead)if(U(this,X))break;else X+=this.shift();return X}shiftUntilEscapable(U){let X="";while(this.lookahead)if(this.lookahead===J1)if(this.shift(),U(this,X))X+=this.shift();else if(this.lookahead===J1)X+=this.shift();else X+=`${J1}${this.shift()}`;else if(U(this,X))break;else X+=this.shift();return X}shiftUntilLookahead(U){return typeof U==="string"?this.shiftUntil((X)=>X.lookahead===U):this.shiftUntil((X)=>(X.lookahead in U))}shiftUntilNonWhitespace(){return this.shiftUntil(()=>!(this.lookahead in d0))}jumpToIndex(U){this.i=U<0?this.length+U:U}jumpForward(U){this.i+=U}get location(){return this.i}get unscanned(){return this.chars.slice(this.i,this.length).join("")}get scanned(){return this.chars.slice(0,this.i).join("")}sliceChars(U,X){return this.chars.slice(U,X).join("")}lookaheadIs(U){return this.lookahead===U}lookaheadIsIn(U){return this.lookahead in U}}var fX=(U,X)=>`Unmatched ${U}${X===""?"":` before ${X}`}`,G6=(U)=>`Missing ${U}`;var BO=R0("implementedTraits");var kU="$ark",LG=2;while(kU in globalThis)kU=`$ark${LG++}`;var gX=kU;globalThis[gX]=W1;var T=W1,_G=(U)=>`${gX}.${U}`,d=(U)=>_G(G2(U));class Y6 extends U2{argNames;body="";constructor(...U){super();this.argNames=U;for(let X of U){if(X in this)throw Error(`Arg name '${X}' would overwrite an existing property on FunctionBody`);this[X]=X}}indentation=0;indent(){return this.indentation+=4,this}dedent(){return this.indentation-=4,this}prop(U,X=!1){return vU(U,X)}index(U,X=!1){return yX(`${U}`,X)}line(U){return this.body+=`${" ".repeat(this.indentation)}${U}
151
+ `,this}const(U,X){return this.line(`const ${U} = ${X}`),this}let(U,X){return this.line(`let ${U} = ${X}`)}set(U,X){return this.line(`${U} = ${X}`)}if(U,X){return this.block(`if (${U})`,X)}elseIf(U,X){return this.block(`else if (${U})`,X)}else(U){return this.block("else",U)}for(U,X,q=0){return this.block(`for (let i = ${q}; ${U}; i++)`,X)}forIn(U,X){return this.block(`for (const k in ${U})`,X)}block(U,X,q=""){return this.line(`${U} {`),this.indent(),X(this),this.dedent(),this.line(`}${q}`)}return(U=""){return this.line(`return ${U}`)}write(U="anonymous",X=0){return`${U}(${this.argNames.join(", ")}) { ${X?this.body.split(`
152
+ `).map((q)=>" ".repeat(X)+`${q}`).join(`
153
+ `):this.body} }`}compile(){return new AX(...this.argNames,this.body)}}var D0=(U)=>Q0(U,"object")||typeof U==="symbol"?d(U):Y2(U),vU=(U,X=!1)=>{if(typeof U==="string"&&c0(U))return`${X?"?":""}.${U}`;return yX($G(U),X)},$G=(U)=>typeof U==="symbol"?d(U):JSON.stringify(U),yX=(U,X=!1)=>`${X?"?.":""}[${U}]`;class L2 extends Y6{traversalKind;optimistic;constructor(U){super("data","ctx");this.traversalKind=U.kind,this.optimistic=U.optimistic===!0}invoke(U,X){let q=X?.arg??this.data,Z=typeof U==="string"?!0:this.requiresContextFor(U),Q=typeof U==="string"?U:U.id;if(Z)return`${this.referenceToId(Q,X)}(${q}, ${this.ctx})`;return`${this.referenceToId(Q,X)}(${q})`}referenceToId(U,X){let q=X?.kind??this.traversalKind,Z=`this.${U}${q}`;return X?.bind?`${Z}.bind(${X?.bind})`:Z}requiresContextFor(U){return this.traversalKind==="Apply"||U.allowsRequiresContext}initializeErrorCount(){return this.const("errorCount","ctx.currentErrorCount")}returnIfFail(){return this.if("ctx.currentErrorCount > errorCount",()=>this.return())}returnIfFailFast(){return this.if("ctx.failFast && ctx.currentErrorCount > errorCount",()=>this.return())}traverseKey(U,X,q){let Z=this.requiresContextFor(q);if(Z)this.line(`${this.ctx}.path.push(${U})`);if(this.check(q,{arg:X}),Z)this.line(`${this.ctx}.path.pop()`);return this}check(U,X){return this.traversalKind==="Allows"?this.if(`!${this.invoke(U,X)}`,()=>this.return(!1)):this.line(this.invoke(U,X))}}var H6=(U)=>S(U,(X,q)=>[X,x(q)?[...q]:q]),X0=R0("arkKind"),M=(U,X)=>U?.[X0]===X,h=(U)=>M(U,"root")||M(U,"constraint");var kX=["unit","proto","domain"],I1=["required","optional","index","sequence"],xU=["pattern","divisor","exactLength","max","min","maxLength","minLength","before","after"],hU=[...xU,"structure","predicate"],J6=[...hU,...I1],K1=["alias","union","morph","unit","intersection","proto","domain"],zG=[...K1,...J6],W6=S(J6,(U,X)=>[X,1]),vX=S([...I1,"undeclared"],(U,X)=>[X,1]),xX=S(zG,(U,X)=>[X,U]),N1=(U)=>typeof U==="string"&&(U in xX);var C1=(U)=>xX[U],L6=(U)=>K1.slice(C1(U)+1),qV=[...L6("union"),"alias"],ZV=[...L6("morph"),"alias"],F0=(U)=>{if(typeof U==="string"||typeof U==="boolean"||U===null)return U;if(typeof U==="number"){if(Number.isNaN(U))return"NaN";if(U===Number.POSITIVE_INFINITY)return"Infinity";if(U===Number.NEGATIVE_INFINITY)return"-Infinity";return U}return D0(U)},i0=(U)=>{let X="{ ";for(let[q,Z]of Object.entries(U))X+=`${q}: ${D0(Z)}, `;return X+" }"},b=(U)=>{let X=U;if(X.hasAssociatedError)X.defaults.expected??=(q)=>("description"in q)?q.description:X.defaults.description(q),X.defaults.actual??=(q)=>E(q),X.defaults.problem??=(q)=>`must be ${q.expected}${q.actual?` (was ${q.actual})`:""}`,X.defaults.message??=(q)=>{if(q.path.length===0)return q.problem;let Z=`${q.propString} ${q.problem}`;if(Z[0]==="[")return`value at ${Z}`;return Z};return X};class hX extends Error{name="ToJsonSchemaError";code;context;constructor(U,X){super(E(X,{quoteKeys:!1,indent:4}));this.code=U,this.context=X}hasCode(U){return this.code===U}}var FG={target:"draft-2020-12",dialect:"https://json-schema.org/draft/2020-12/schema",useRefs:!1,fallback:{arrayObject:(U)=>p.throw("arrayObject",U),arrayPostfix:(U)=>p.throw("arrayPostfix",U),defaultValue:(U)=>p.throw("defaultValue",U),domain:(U)=>p.throw("domain",U),morph:(U)=>p.throw("morph",U),patternIntersection:(U)=>p.throw("patternIntersection",U),predicate:(U)=>p.throw("predicate",U),proto:(U)=>p.throw("proto",U),symbolKey:(U)=>p.throw("symbolKey",U),unit:(U)=>p.throw("unit",U),date:(U)=>p.throw("date",U)}},p={Error:hX,throw:(...U)=>{throw new p.Error(...U)},throwInternalOperandError:(U,X)=>y(`Unexpected JSON Schema input for ${U}: ${E(X)}`),defaultConfig:FG};T.config??={};var _2=(U,X)=>{if(!X)return U;let q={...U},Z;for(Z in X){let Q={...U.keywords};if(Z==="keywords"){for(let G in X[Z]){let Y=X.keywords[G];if(Y===void 0)continue;Q[G]=typeof Y==="string"?{description:Y}:Y}q.keywords=Q}else if(Z==="toJsonSchema")q[Z]=uU(U.toJsonSchema,X.toJsonSchema);else if(N1(Z))q[Z]={...U[Z],...X[Z]};else q[Z]=X[Z]}return q},AG={"draft-2020-12":"https://json-schema.org/draft/2020-12/schema","draft-07":"http://json-schema.org/draft-07/schema#"},uU=(U,X)=>{if(!U)return uX(X??{},void 0);if(!X)return U;let q={...U},Z;for(Z in X)if(Z==="fallback")q.fallback=TG(U.fallback,X.fallback);else q[Z]=X[Z];return uX(q,X)},uX=(U,X)=>{if(X?.dialect!==void 0)return U;if(X?.target!==void 0)return{...U,dialect:AG[X.target]};return U},TG=(U,X)=>{U=mX(U),X=mX(X);let q={},Z;for(Z in p.defaultConfig.fallback)q[Z]=X[Z]??X.default??U[Z]??U.default??p.defaultConfig.fallback[Z];return q},mX=(U)=>typeof U==="function"?{default:U}:U??{};class o0 extends U2{[X0]="error";path;data;nodeConfig;input;ctx;constructor({prefixPath:U,relativePath:X,...q},Z){super();this.input=q,this.ctx=Z,WX(this,q);let Q=Z.data;if(q.code==="union")q.errors=q.errors.flatMap((Y)=>{let H=Y.hasCode("union")?Y.errors:[Y];if(!U&&!X)return H;return H.map((J)=>J.transform((W)=>({...W,path:ZX(U,W.path,X)})))});this.nodeConfig=Z.config[this.code];let G=[...q.path??Z.path];if(X)G.push(...X);if(U)G.unshift(...U);this.path=new J2(...G),this.data="data"in q?q.data:Q}transform(U){return new o0(U({data:this.data,path:this.path,...this.input}),this.ctx)}hasCode(U){return this.code===U}get propString(){return k0(this.path)}get expected(){if(this.input.expected)return this.input.expected;let U=this.meta?.expected??this.nodeConfig.expected;return typeof U==="function"?U(this.input):U}get actual(){if(this.input.actual)return this.input.actual;let U=this.meta?.actual??this.nodeConfig.actual;return typeof U==="function"?U(this.data):U}get problem(){if(this.input.problem)return this.input.problem;let U=this.meta?.problem??this.nodeConfig.problem;return typeof U==="function"?U(this):U}get message(){if(this.input.message)return this.input.message;let U=this.meta?.message??this.nodeConfig.message;return typeof U==="function"?U(this):U}get flat(){return this.hasCode("intersection")?[...this.errors]:[this]}toJSON(){return{data:this.data,path:this.path,...this.input,expected:this.expected,actual:this.actual,problem:this.problem,message:this.message}}toString(){return this.message}throw(){throw this}}class J0 extends X6{[X0]="errors";ctx;constructor(U){super();this.ctx=U}byPath=Object.create(null);get flatByPath(){return S(this.byPath,(U,X)=>[U,X.flat])}get flatProblemsByPath(){return S(this.byPath,(U,X)=>[U,X.flat.map((q)=>q.problem)])}byAncestorPath=Object.create(null);count=0;mutable=this;throw(){throw this.toTraversalError()}toTraversalError(){return new mU(this)}add(U){let X=this.byPath[U.propString];if(X){if(U===X)return;if(X.hasCode("union")&&X.errors.length===0)return;let q=U.hasCode("union")&&U.errors.length===0?U:new o0({code:"intersection",errors:X.hasCode("intersection")?[...X.errors,U]:[X,U]},this.ctx),Z=this.indexOf(X);this.mutable[Z===-1?this.length:Z]=q,this.byPath[U.propString]=q,this.addAncestorPaths(U)}else this.byPath[U.propString]=U,this.addAncestorPaths(U),this.mutable.push(U);this.count++}transform(U){let X=new J0(this.ctx);for(let q of this)X.add(U(q));return X}merge(U){for(let X of U)this.add(new o0({...X,path:[...this.ctx.path,...X.path]},this.ctx))}affectsPath(U){if(this.length===0)return!1;return U.stringifyAncestors().some((X)=>(X in this.byPath))||U.stringify()in this.byAncestorPath}get summary(){return this.toString()}get issues(){return this}toJSON(){return[...this.map((U)=>U.toJSON())]}toString(){return this.join(`
154
+ `)}addAncestorPaths(U){for(let X of U.path.stringifyAncestors())this.byAncestorPath[X]=g(this.byAncestorPath[X],U)}}class mU extends Error{name="TraversalError";constructor(U){if(U.length===1)super(U.summary);else super(`
155
+ `+U.map((X)=>` • ${OG(X)}`).join(`
156
+ `));Object.defineProperty(this,"arkErrors",{value:U,enumerable:!1})}}var OG=(U)=>U.toString().split(`
157
+ `).join(`
158
+ `);class M0{path=[];errors=new J0(this);root;config;queuedMorphs=[];branches=[];seen={};constructor(U,X){this.root=U,this.config=X}get data(){let U=this.root;for(let X of this.path)U=U?.[X];return U}get propString(){return k0(this.path)}reject(U){return this.error(U),!1}mustBe(U){return this.error(U),!1}error(U){let X=typeof U==="object"?U.code?U:{...U,code:"predicate"}:{code:"predicate",expected:U};return this.errorFromContext(X)}hasError(){return this.currentErrorCount!==0}get currentBranch(){return this.branches[this.branches.length-1]}queueMorphs(U){let X={path:new J2(...this.path),morphs:U};if(this.currentBranch)this.currentBranch.queuedMorphs.push(X);else this.queuedMorphs.push(X)}finalize(U){if(this.queuedMorphs.length){if(typeof this.root==="object"&&this.root!==null&&this.config.clone)this.root=this.config.clone(this.root);this.applyQueuedMorphs()}if(this.hasError())return U?U(this.errors):this.errors;return this.root}get currentErrorCount(){return this.currentBranch?this.currentBranch.error?1:0:this.errors.count}get failFast(){return this.branches.length!==0}pushBranch(){this.branches.push({error:void 0,queuedMorphs:[]})}popBranch(){return this.branches.pop()}get external(){return this}errorFromNodeContext(U){return this.errorFromContext(U)}errorFromContext(U){let X=new o0(U,this);if(this.currentBranch)this.currentBranch.error=X;else this.errors.add(X);return X}applyQueuedMorphs(){while(this.queuedMorphs.length){let U=this.queuedMorphs;this.queuedMorphs=[];for(let{path:X,morphs:q}of U){if(this.errors.affectsPath(X))continue;this.applyMorphsAtPath(X,q)}}}applyMorphsAtPath(U,X){let q=U[U.length-1],Z;if(q!==void 0){Z=this.root;for(let Q=0;Q<U.length-1;Q++)Z=Z[U[Q]]}for(let Q of X){this.path=[...U];let G=h(Q),Y=Q(Z===void 0?this.root:Z[q],this);if(Y instanceof o0){if(!this.errors.includes(Y))this.errors.add(Y);break}if(Y instanceof J0){if(!G)this.errors.merge(Y);this.queuedMorphs=[];break}if(Z===void 0)this.root=Y;else Z[q]=Y;this.applyQueuedMorphs()}}}var W0=(U,X,q)=>{if(!q)return X();q.path.push(U);let Z=X();return q.path.pop(),Z};class z2 extends H0{attachments;$;onFail;includesTransform;includesContextualPredicate;isCyclic;allowsRequiresContext;rootApplyStrategy;contextFreeMorph;rootApply;referencesById;shallowReferences;flatRefs;flatMorphs;allows;get shallowMorphs(){return[]}constructor(U,X){super((Z,Q,G=this.onFail)=>{if(Q)return this.traverseApply(Z,Q),Q.hasError()?Q.errors:Q.data;return this.rootApply(Z,G)},{attach:U});this.attachments=U,this.$=X,this.onFail=this.meta.onFail??this.$.resolvedConfig.onFail,this.includesTransform=this.hasKind("morph")||this.hasKind("structure")&&this.structuralMorph!==void 0||this.hasKind("sequence")&&this.inner.defaultables!==void 0,this.includesContextualPredicate=this.hasKind("predicate")&&this.inner.predicate.length!==1,this.isCyclic=this.kind==="alias",this.referencesById={[this.id]:this},this.shallowReferences=this.hasKind("structure")?[this,...this.children]:this.children.reduce((Z,Q)=>DG(Z,Q.shallowReferences),[this]);let q=this.isStructural();this.flatRefs=[],this.flatMorphs=[];for(let Z=0;Z<this.children.length;Z++){if(this.includesTransform||=this.children[Z].includesTransform,this.includesContextualPredicate||=this.children[Z].includesContextualPredicate,this.isCyclic||=this.children[Z].isCyclic,!q){let Q=this.children[Z].flatRefs;for(let G=0;G<Q.length;G++){let Y=Q[G];if(!this.flatRefs.some((H)=>lX(H,Y))){this.flatRefs.push(Y);for(let H of Y.node.branches)if(H.hasKind("morph")||H.hasKind("intersection")&&H.structure?.structuralMorph!==void 0)this.flatMorphs.push({path:Y.path,propString:Y.propString,node:H})}}}Object.assign(this.referencesById,this.children[Z].referencesById)}this.flatRefs.sort((Z,Q)=>Z.path.length>Q.path.length?1:Z.path.length<Q.path.length?-1:Z.propString>Q.propString?1:Z.propString<Q.propString?-1:Z.node.expression<Q.node.expression?-1:1),this.allowsRequiresContext=this.includesContextualPredicate||this.isCyclic,this.rootApplyStrategy=!this.allowsRequiresContext&&this.flatMorphs.length===0?this.shallowMorphs.length===0?"allows":this.shallowMorphs.every((Z)=>Z.length===1||Z.name==="$arkStructuralMorph")?this.hasKind("union")?this.branches.some((Z)=>Z.shallowMorphs.length>1)?"contextual":"branchedOptimistic":this.shallowMorphs.length>1?"contextual":"optimistic":"contextual":"contextual",this.rootApply=this.createRootApply(),this.allows=this.allowsRequiresContext?(Z)=>this.traverseAllows(Z,new M0(Z,this.$.resolvedConfig)):(Z)=>this.traverseAllows(Z)}createRootApply(){switch(this.rootApplyStrategy){case"allows":return(X,q)=>{if(this.allows(X))return X;let Z=new M0(X,this.$.resolvedConfig);return this.traverseApply(X,Z),Z.finalize(q)};case"contextual":return(X,q)=>{let Z=new M0(X,this.$.resolvedConfig);return this.traverseApply(X,Z),Z.finalize(q)};case"optimistic":this.contextFreeMorph=this.shallowMorphs[0];let U=this.$.resolvedConfig.clone;return(X,q)=>{if(this.allows(X))return this.contextFreeMorph(U&&(typeof X==="object"&&X!==null||typeof X==="function")?U(X):X);let Z=new M0(X,this.$.resolvedConfig);return this.traverseApply(X,Z),Z.finalize(q)};case"branchedOptimistic":return this.createBranchedOptimisticRootApply();default:return this.rootApplyStrategy,y(`Unexpected rootApplyStrategy ${this.rootApplyStrategy}`)}}compiledMeta=RG(this.metaJson);cacheGetter(U,X){return Object.defineProperty(this,U,{value:X}),X}get description(){return this.cacheGetter("description",this.meta?.description??this.$.resolvedConfig[this.kind].description(this))}get references(){return Object.values(this.referencesById)}precedence=C1(this.kind);precompilation;assert=(U,X)=>this(U,X,(q)=>q.throw());traverse(U,X){return this(U,X,null)}get in(){return this.cacheGetter("in",this.rawIn.isRoot()?this.$.finalize(this.rawIn):this.rawIn)}get rawIn(){return this.cacheGetter("rawIn",this.getIo("in"))}get out(){return this.cacheGetter("out",this.rawOut.isRoot()?this.$.finalize(this.rawOut):this.rawOut)}get rawOut(){return this.cacheGetter("rawOut",this.getIo("out"))}getIo(U){if(!this.includesTransform)return this;let X={};for(let[q,Z]of this.innerEntries){let Q=this.impl.keys[q];if(Q.reduceIo)Q.reduceIo(U,X,Z);else if(Q.child){let G=Z;X[q]=x(G)?G.map((Y)=>U==="in"?Y.rawIn:Y.rawOut):U==="in"?G.rawIn:G.rawOut}else X[q]=Z}return this.$.node(this.kind,X)}toJSON(){return this.json}toString(){return`Type<${this.expression}>`}equals(U){let X=h(U)?U:this.$.parseDefinition(U);return this.innerHash===X.innerHash}ifEquals(U){return this.equals(U)?this:void 0}hasKind(U){return this.kind===U}assertHasKind(U){if(this.kind!==U)G1(`${this.kind} node was not of asserted kind ${U}`);return this}hasKindIn(...U){return U.includes(this.kind)}assertHasKindIn(...U){if(!z0(U,this.kind))G1(`${this.kind} node was not one of asserted kinds ${U}`);return this}isBasis(){return z0(kX,this.kind)}isConstraint(){return z0(J6,this.kind)}isStructural(){return z0(I1,this.kind)}isRefinement(){return z0(hU,this.kind)}isRoot(){return z0(K1,this.kind)}isUnknown(){return this.hasKind("intersection")&&this.children.length===0}isNever(){return this.hasKind("union")&&this.children.length===0}hasUnit(U){return this.hasKind("unit")&&this.allows(U)}hasOpenIntersection(){return this.impl.intersectionIsOpen}get nestableExpression(){return this.expression}select(U){let X=$2.normalize(U);return this._select(X)}_select(U){let X=$2.applyBoundary[U.boundary??"references"](this);if(U.kind)X=X.filter((q)=>q.kind===U.kind);if(U.where)X=X.filter(U.where);return $2.applyMethod[U.method??"filter"](X,this,U)}transform(U,X){return this._transform(U,this._createTransformContext(X))}_createTransformContext(U){return{root:this,selected:void 0,seen:{},path:[],parseOptions:{prereduced:U?.prereduced??!1},undeclaredKeyHandling:void 0,...U}}_transform(U,X){let q=X.bindScope??this.$;if(X.seen[this.id])return this.$.lazilyResolve(X.seen[this.id]);if(X.shouldTransform?.(this,X)===!1)return this;let Z;if(X.seen[this.id]=()=>Z,this.hasKind("structure")&&this.undeclared!==X.undeclaredKeyHandling)X={...X,undeclaredKeyHandling:this.undeclared};let Q=S(this.inner,(W,_)=>{if(!this.impl.keys[W].child)return[W,_];let L=_;if(!x(L)){let A=L._transform(U,X);return A?[W,A]:[]}if(L.length===0)return[W,_];let $=L.flatMap((A)=>{return A._transform(U,X)??[]});return $.length?[W,$]:[]});delete X.seen[this.id];let G=Object.assign(Q,{meta:this.meta}),Y=X.selected&&!X.selected.includes(this)?G:U(this.kind,G,X);if(Y===null)return null;if(h(Y))return Z=Y;let H=Object.keys(Y);if((H.length===0||H.length===1&&H[0]==="meta")&&!C0(this.inner))return null;if((this.kind==="required"||this.kind==="optional"||this.kind==="index")&&!("value"in Y))return X.undeclaredKeyHandling?{...Y,value:T.intrinsic.unknown}:null;if(this.kind==="morph")Y.in??=T.intrinsic.unknown;return Z=q.node(this.kind,Y,X.parseOptions)}configureReferences(U,X="references"){let q=$2.normalize(X),Z=typeof U==="string"?(H,J)=>({...J,meta:{...J.meta,description:U}}):typeof U==="function"?(H,J)=>({...J,meta:U(J.meta)}):(H,J)=>({...J,meta:{...J.meta,...U}});if(q.boundary==="self")return this.$.node(this.kind,Z(this.kind,{...this.inner,meta:this.meta}));let Q=this._select(q),G=Q&&p0(Q),Y=q.boundary==="child"?(H,J)=>J.root.children.includes(H):q.boundary==="shallow"?(H)=>H.kind!=="structure":()=>!0;return this.$.finalize(this.transform(Z,{shouldTransform:Y,selected:G}))}}var $2={applyBoundary:{self:(U)=>[U],child:(U)=>[...U.children],shallow:(U)=>[...U.shallowReferences],references:(U)=>[...U.references]},applyMethod:{filter:(U)=>U,assertFilter:(U,X,q)=>{if(U.length===0)G1(pX(X,q));return U},find:(U)=>U[0],assertFind:(U,X,q)=>{if(U.length===0)G1(pX(X,q));return U[0]}},normalize:(U)=>typeof U==="function"?{boundary:"references",method:"filter",where:U}:typeof U==="string"?n(U,$2.applyBoundary)?{method:"filter",boundary:U}:{boundary:"references",method:"filter",kind:U}:{boundary:"references",method:"filter",...U}},pX=(U,X)=>`${U} had no references matching ${E(X)}.`,VG=(U)=>k0(U,{stringifyNonKey:(X)=>X.expression}),BG=/"(\$ark\.[^"]+)"/g,RG=(U)=>JSON.stringify(U).replace(BG,"$1"),w0=(U,X)=>({path:U,node:X,propString:VG(U)}),lX=(U,X)=>U.propString===X.propString&&U.node.equals(X.node),pU=(U,X)=>N0(U,X,{isEqual:lX}),DG=(U,X)=>N0(U,X,{isEqual:(q,Z)=>q.equals(Z)});class V extends Array{static init(U,X,q,Z){return new V({kind:U,l:X,r:q,path:Z?.path??[],optional:Z?.optional??!1})}add(U,X,q,Z){return this.push({kind:U,l:X,r:q,path:Z?.path??[],optional:Z?.optional??!1}),this}get summary(){return this.describeReasons()}describeReasons(){if(this.length===1){let{path:U,l:X,r:q}=this[0],Z=k0(U);return dU(`Intersection${Z&&` at ${Z}`} of ${dX(X,q)}`)}return`The following intersections result in unsatisfiable types:
159
+ • ${this.map(({path:U,l:X,r:q})=>`${U}: ${dX(X,q)}`).join(`
160
+ • `)}`}throw(){return F(this.describeReasons())}invert(){let U=this.map((X)=>({...X,l:X.r,r:X.l}));if(!(U instanceof V))return new V(...U);return U}withPrefixKey(U,X){return this.map((q)=>({...q,path:[U,...q.path],optional:q.optional||X==="optional"}))}toNeverIfDisjoint(){return T.intrinsic.never}}var dX=(U,X)=>`${lU(U)} and ${lU(X)}`,lU=(U)=>h(U)?U.expression:x(U)?U.map(lU).join(" | ")||"never":String(U),dU=(U)=>`${U} results in an unsatisfiable type`;var S1={},L0=(U,X,q)=>u(U,X,{$:q,invert:!1,pipe:!1}),F2=(U,X,q)=>u(U,X,{$:q,invert:!1,pipe:!0}),u=(U,X,q)=>{let Z=q.pipe?"|>":"&",Q=`${U.hash}${Z}${X.hash}`;if(S1[Q]!==void 0)return S1[Q];if(!q.pipe){let H=`${X.hash}${Z}${U.hash}`;if(S1[H]!==void 0){let J=S1[H],W=J instanceof V?J.invert():J;return S1[Q]=W,W}}let G=!q.pipe||!U.includesTransform&&!X.includesTransform;if(G&&U.equals(X))return U;let Y=G?cU(U,X,q):U.hasKindIn(...K1)?MG(U,X,q):cU(U,X,q);if(h(Y)){if(U.equals(Y))Y=U;else if(X.equals(Y))Y=X}return S1[Q]=Y,Y},cU=(U,X,q)=>{let Z=U.precedence<X.precedence?U.kind:X.kind,Q=U.impl.intersections[X.kind]??X.impl.intersections[U.kind];if(Q===void 0)return null;else if(Z===U.kind)return Q(U,X,q);else{let G=Q(X,U,{...q,invert:!q.invert});if(G instanceof V)G=G.invert();return G}},MG=(U,X,q)=>U.includesTransform||X.includesTransform?q.invert?cX(X,U,q):cX(U,X,q):cU(U,X,q),cX=(U,X,q)=>U.distribute((Z)=>wG(Z,X,q),(Z)=>{let Q=Z.filter(h);if(Q.length===0)return V.init("union",U.branches,X.branches);if(Q.length<U.branches.length||!U.branches.every((H,J)=>H.rawIn.equals(Q[J].rawIn)))return q.$.parseSchema(Q);let G;if(Q.length===1){let H=Q[0];if(!G)return H;return q.$.node("morph",{...H.inner,in:H.rawIn.configure(G,"self")})}let Y={branches:Q};if(G)Y.meta=G;return q.$.parseSchema(Y)}),wG=(U,X,q)=>{if(U.hasKind("morph")){let Q=[...U.morphs];if(U.lastMorphIfNode){let G=u(U.lastMorphIfNode,X,q);if(G instanceof V)return G;Q[Q.length-1]=G}else Q.push(X);return q.$.node("morph",{morphs:Q,in:U.inner.in})}if(X.hasKind("morph")){let Q=u(U,X.rawIn,q);if(Q instanceof V)return Q;return q.$.node("morph",{morphs:[X],in:Q})}return q.$.node("morph",{morphs:[X],in:U})};class A0 extends z2{constructor(U,X){super(U,X);Object.defineProperty(this,X0,{value:"constraint",enumerable:!1})}impliedSiblings;intersect(U){return L0(this,U,this.$)}}class v0 extends A0{traverseApply=(U,X)=>{if(!this.traverseAllows(U,X))X.errorFromNodeContext(this.errorContext)};compile(U){if(U.traversalKind==="Allows")U.return(this.compiledCondition);else U.if(this.compiledNegation,()=>U.line(`ctx.errorFromNodeContext(${this.compiledErrorContext})`))}get errorContext(){return{code:this.kind,description:this.description,meta:this.meta,...this.inner}}get compiledErrorContext(){return i0(this.errorContext)}}var U0=(U)=>(X,q)=>{if(x(X)){if(X.length===0)return;let Q=X.map((G)=>q.$.node(U,G));if(U==="predicate")return Q;return Q.sort((G,Y)=>G.hash<Y.hash?-1:1)}let Z=q.$.node(U,X);return Z.hasOpenIntersection()?[Z]:Z},E1=(U)=>{let X=U.r.shift();if(!X){let Z=U.l.length===0&&U.kind==="structure"?T.intrinsic.unknown.internal:U.ctx.$.node(U.kind,Object.assign(U.baseInner,PG(U.l)),{prereduced:!0});for(let Q of U.roots){if(Z instanceof V)return Z;Z=u(Q,Z,U.ctx)}return Z}let q=!1;for(let Z=0;Z<U.l.length;Z++){let Q=u(U.l[Z],X,U.ctx);if(Q===null)continue;if(Q instanceof V)return Q;if(Q.isRoot())return U.roots.push(Q),U.l.splice(Z),E1(U);if(!q)U.l[Z]=Q,q=!0;else if(!U.l.includes(Q))return y(`Unexpectedly encountered multiple distinct intersection results for refinement ${X}`)}if(!q)U.l.push(X);if(U.kind==="intersection"){if(X.impliedSiblings)for(let Z of X.impliedSiblings)N0(U.r,Z)}return E1(U)},b1=(U)=>{return Object.entries(U).flatMap(([q,Z])=>(q in W6)?Z:[]).sort((q,Z)=>q.precedence<Z.precedence?-1:q.precedence>Z.precedence?1:q.kind==="predicate"&&Z.kind==="predicate"?0:q.hash<Z.hash?-1:1)},PG=(U)=>{let X={};for(let q of U)if(q.hasOpenIntersection())X[q.kind]=g(X[q.kind],q);else{if(X[q.kind])return y(`Unexpected intersection of closed refinements of kind ${q.kind}`);X[q.kind]=q}return X},iX=(...U)=>F(oX(...U)),oX=(U,X,q)=>{let Z=q.hasKind("morph")?"a morph":q.isUnknown()?"unknown":q.exclude(X).defaultShortDescription;return`${BX(U)} operand must be ${X.description} (was ${Z})`};var sX=(U,X,q)=>new s0(U,X,q,q,null);class _6 extends H0{}class s0 extends H0{[X0]="generic";paramDefs;bodyDef;$;arg$;baseInstantiation;hkt;description;constructor(U,X,q,Z,Q){super((...G)=>{let Y=S(this.names,(H,J)=>{let W=this.arg$.parse(G[H]);if(!W.extends(this.constraints[H]))F(IG(J,this.constraints[H].expression,W.expression));return[J,W]});if(this.defIsLazy()){let H=this.bodyDef(Y);return this.$.parse(H)}return this.$.parse(X,{args:Y})});this.paramDefs=U,this.bodyDef=X,this.$=q,this.arg$=Z,this.hkt=Q,this.description=Q?new Q().description??`a generic type for ${Q.constructor.name}`:"a generic type",this.baseInstantiation=this(...this.constraints)}defIsLazy(){return this.bodyDef instanceof _6}cacheGetter(U,X){return Object.defineProperty(this,U,{value:X}),X}get json(){return this.cacheGetter("json",{params:this.params.map((U)=>U[1].isUnknown()?U[0]:[U[0],U[1].json]),body:bX(this.bodyDef)})}get params(){return this.cacheGetter("params",this.paramDefs.map((U)=>typeof U==="string"?[U,T.intrinsic.unknown]:[U[0],this.$.parse(U[1])]))}get names(){return this.cacheGetter("names",this.params.map((U)=>U[0]))}get constraints(){return this.cacheGetter("constraints",this.params.map((U)=>U[1]))}get internal(){return this}get referencesById(){return this.baseInstantiation.internal.referencesById}get references(){return this.baseInstantiation.internal.references}}var IG=(U,X,q)=>`${U} must be assignable to ${X} (was ${q})`;var KG=b({kind:"predicate",hasAssociatedError:!0,collapsibleKey:"predicate",keys:{predicate:{}},normalize:(U)=>typeof U==="function"?{predicate:U}:U,defaults:{description:(U)=>`valid according to ${U.predicate.name||"an anonymous predicate"}`},intersectionIsOpen:!0,intersections:{predicate:()=>null}});class rX extends A0{serializedPredicate=d(this.predicate);compiledCondition=`${this.serializedPredicate}(data, ctx)`;compiledNegation=`!${this.compiledCondition}`;impliedBasis=null;expression=this.serializedPredicate;traverseAllows=this.predicate;errorContext={code:"predicate",description:this.description,meta:this.meta};compiledErrorContext=i0(this.errorContext);traverseApply=(U,X)=>{let q=X.currentErrorCount;if(!this.predicate(U,X.external)&&X.currentErrorCount===q)X.errorFromNodeContext(this.errorContext)};compile(U){if(U.traversalKind==="Allows"){U.return(this.compiledCondition);return}U.initializeErrorCount(),U.if(`${this.compiledNegation} && ctx.currentErrorCount === errorCount`,()=>U.line(`ctx.errorFromNodeContext(${this.compiledErrorContext})`))}reduceJsonSchema(U,X){return X.fallback.predicate({code:"predicate",base:U,predicate:this.predicate})}}var iU={implementation:KG,Node:rX};var NG=b({kind:"divisor",collapsibleKey:"rule",keys:{rule:{parse:(U)=>Number.isInteger(U)?U:F(CG(U))}},normalize:(U)=>typeof U==="number"?{rule:U}:U,hasAssociatedError:!0,defaults:{description:(U)=>U.rule===1?"an integer":U.rule===2?"even":`a multiple of ${U.rule}`},intersections:{divisor:(U,X,q)=>q.$.node("divisor",{rule:Math.abs(U.rule*X.rule/SG(U.rule,X.rule))})},obviatesBasisDescription:!0});class nX extends v0{traverseAllows=(U)=>U%this.rule===0;compiledCondition=`data % ${this.rule} === 0`;compiledNegation=`data % ${this.rule} !== 0`;impliedBasis=T.intrinsic.number.internal;expression=`% ${this.rule}`;reduceJsonSchema(U){if(U.type="integer",this.rule===1)return U;return U.multipleOf=this.rule,U}}var oU={implementation:NG,Node:nX};var CG=(U)=>`divisor must be an integer (was ${U})`,SG=(U,X)=>{let q,Z=U,Q=X;while(Q!==0)q=Q,Q=Z%Q,Z=q;return Z};class $0 extends v0{boundOperandKind=fG[this.kind];compiledActual=this.boundOperandKind==="value"?"data":this.boundOperandKind==="length"?"data.length":"data.valueOf()";comparator=gG(this.kind,this.exclusive);numericLimit=this.rule.valueOf();expression=`${this.comparator} ${this.rule}`;compiledCondition=`${this.compiledActual} ${this.comparator} ${this.numericLimit}`;compiledNegation=`${this.compiledActual} ${EG[this.comparator]} ${this.numericLimit}`;stringLimit=this.boundOperandKind==="date"?yG(this.numericLimit):`${this.numericLimit}`;limitKind=this.comparator["0"]==="<"?"upper":"lower";isStricterThan(U){return(this.limitKind==="upper"?this.numericLimit<U.numericLimit:this.numericLimit>U.numericLimit)||this.numericLimit===U.numericLimit&&this.exclusive===!0&&!U.exclusive}overlapsRange(U){if(this.isStricterThan(U))return!1;if(this.numericLimit===U.numericLimit&&(this.exclusive||U.exclusive))return!1;return!0}overlapIsUnit(U){return this.numericLimit===U.numericLimit&&!this.exclusive&&!U.exclusive}}var EG={"<":">=","<=":">",">":"<=",">=":"<"},bG={min:"max",minLength:"maxLength",after:"before"},$6={parse:(U)=>U||void 0},z6=(U)=>(X)=>{if(typeof X==="number")return{rule:X};let{exclusive:q,...Z}=X;return q?{...Z,rule:U==="minLength"?Z.rule+1:Z.rule-1}:Z},F6=(U)=>(X)=>{if(typeof X==="number"||typeof X==="string"||X instanceof Date)return{rule:X};let{exclusive:q,...Z}=X;if(!q)return Z;let Q=typeof Z.rule==="number"?Z.rule:typeof Z.rule==="string"?new Date(Z.rule).valueOf():Z.rule.valueOf();return q?{...Z,rule:U==="after"?Q+1:Q-1}:Z},A6=(U)=>typeof U==="string"||typeof U==="number"?new Date(U):U,jG=(U,X)=>`${U} bound must be a positive integer (was ${X})`,j1=(U)=>(X)=>{if(!Number.isInteger(X)||X<0)F(jG(U,X));return X},fG={min:"value",max:"value",minLength:"length",maxLength:"length",after:"date",before:"date"},gG=(U,X)=>`${n(U,bG)?">":"<"}${X?"":"="}`,yG=(U)=>typeof U==="string"?U:new Date(U).toLocaleString(),aX=(U)=>`Bounded expression ${U} must be exactly one of number, string, Array, or Date`;var kG=b({kind:"after",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:A6,serialize:(U)=>U.toISOString()}},normalize:F6("after"),defaults:{description:(U)=>`${U.collapsibleLimitString} or later`,actual:L1},intersections:{after:(U,X)=>U.isStricterThan(X)?U:X}});class tX extends $0{impliedBasis=T.intrinsic.Date.internal;collapsibleLimitString=L1(this.rule);traverseAllows=(U)=>U>=this.rule;reduceJsonSchema(U,X){return X.fallback.date({code:"date",base:U,after:this.rule})}}var sU={implementation:kG,Node:tX};var vG=b({kind:"before",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:A6,serialize:(U)=>U.toISOString()}},normalize:F6("before"),defaults:{description:(U)=>`${U.collapsibleLimitString} or earlier`,actual:L1},intersections:{before:(U,X)=>U.isStricterThan(X)?U:X,after:(U,X,q)=>U.overlapsRange(X)?U.overlapIsUnit(X)?q.$.node("unit",{unit:U.rule}):null:V.init("range",U,X)}});class eX extends $0{collapsibleLimitString=L1(this.rule);traverseAllows=(U)=>U<=this.rule;impliedBasis=T.intrinsic.Date.internal;reduceJsonSchema(U,X){return X.fallback.date({code:"date",base:U,before:this.rule})}}var rU={implementation:vG,Node:eX};var xG=b({kind:"exactLength",collapsibleKey:"rule",keys:{rule:{parse:j1("exactLength")}},normalize:(U)=>typeof U==="number"?{rule:U}:U,hasAssociatedError:!0,defaults:{description:(U)=>`exactly length ${U.rule}`,actual:(U)=>`${U.length}`},intersections:{exactLength:(U,X,q)=>V.init("unit",q.$.node("unit",{unit:U.rule}),q.$.node("unit",{unit:X.rule}),{path:["length"]}),minLength:(U,X)=>U.rule>=X.rule?U:V.init("range",U,X),maxLength:(U,X)=>U.rule<=X.rule?U:V.init("range",U,X)}});class Uq extends v0{traverseAllows=(U)=>U.length===this.rule;compiledCondition=`data.length === ${this.rule}`;compiledNegation=`data.length !== ${this.rule}`;impliedBasis=T.intrinsic.lengthBoundable.internal;expression=`== ${this.rule}`;reduceJsonSchema(U){switch(U.type){case"string":return U.minLength=this.rule,U.maxLength=this.rule,U;case"array":return U.minItems=this.rule,U.maxItems=this.rule,U;default:return p.throwInternalOperandError("exactLength",U)}}}var nU={implementation:xG,Node:Uq};var hG=b({kind:"max",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{},exclusive:$6},normalize:(U)=>typeof U==="number"?{rule:U}:U,defaults:{description:(U)=>{if(U.rule===0)return U.exclusive?"negative":"non-positive";return`${U.exclusive?"less than":"at most"} ${U.rule}`}},intersections:{max:(U,X)=>U.isStricterThan(X)?U:X,min:(U,X,q)=>U.overlapsRange(X)?U.overlapIsUnit(X)?q.$.node("unit",{unit:U.rule}):null:V.init("range",U,X)},obviatesBasisDescription:!0});class Xq extends $0{impliedBasis=T.intrinsic.number.internal;traverseAllows=this.exclusive?(U)=>U<this.rule:(U)=>U<=this.rule;reduceJsonSchema(U){if(this.exclusive)U.exclusiveMaximum=this.rule;else U.maximum=this.rule;return U}}var aU={implementation:hG,Node:Xq};var uG=b({kind:"maxLength",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:j1("maxLength")}},reduce:(U,X)=>U.rule===0?X.node("exactLength",U):void 0,normalize:z6("maxLength"),defaults:{description:(U)=>`at most length ${U.rule}`,actual:(U)=>`${U.length}`},intersections:{maxLength:(U,X)=>U.isStricterThan(X)?U:X,minLength:(U,X,q)=>U.overlapsRange(X)?U.overlapIsUnit(X)?q.$.node("exactLength",{rule:U.rule}):null:V.init("range",U,X)}});class qq extends $0{impliedBasis=T.intrinsic.lengthBoundable.internal;traverseAllows=(U)=>U.length<=this.rule;reduceJsonSchema(U){switch(U.type){case"string":return U.maxLength=this.rule,U;case"array":return U.maxItems=this.rule,U;default:return p.throwInternalOperandError("maxLength",U)}}}var tU={implementation:uG,Node:qq};var mG=b({kind:"min",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{},exclusive:$6},normalize:(U)=>typeof U==="number"?{rule:U}:U,defaults:{description:(U)=>{if(U.rule===0)return U.exclusive?"positive":"non-negative";return`${U.exclusive?"more than":"at least"} ${U.rule}`}},intersections:{min:(U,X)=>U.isStricterThan(X)?U:X},obviatesBasisDescription:!0});class Zq extends $0{impliedBasis=T.intrinsic.number.internal;traverseAllows=this.exclusive?(U)=>U>this.rule:(U)=>U>=this.rule;reduceJsonSchema(U){if(this.exclusive)U.exclusiveMinimum=this.rule;else U.minimum=this.rule;return U}}var eU={implementation:mG,Node:Zq};var pG=b({kind:"minLength",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:j1("minLength")}},reduce:(U)=>U.rule===0?T.intrinsic.unknown:void 0,normalize:z6("minLength"),defaults:{description:(U)=>U.rule===1?"non-empty":`at least length ${U.rule}`,actual:(U)=>U.length===0?"":`${U.length}`},intersections:{minLength:(U,X)=>U.isStricterThan(X)?U:X}});class Qq extends $0{impliedBasis=T.intrinsic.lengthBoundable.internal;traverseAllows=(U)=>U.length>=this.rule;reduceJsonSchema(U){switch(U.type){case"string":return U.minLength=this.rule,U;case"array":return U.minItems=this.rule,U;default:return p.throwInternalOperandError("minLength",U)}}}var U4={implementation:pG,Node:Qq};var Gq={min:eU.implementation,max:aU.implementation,minLength:U4.implementation,maxLength:tU.implementation,exactLength:nU.implementation,after:sU.implementation,before:rU.implementation},Yq={min:eU.Node,max:aU.Node,minLength:U4.Node,maxLength:tU.Node,exactLength:nU.Node,after:sU.Node,before:rU.Node};var lG=b({kind:"pattern",collapsibleKey:"rule",keys:{rule:{},flags:{}},normalize:(U)=>typeof U==="string"?{rule:U}:U instanceof RegExp?U.flags?{rule:U.source,flags:U.flags}:{rule:U.source}:U,obviatesBasisDescription:!0,obviatesBasisExpression:!0,hasAssociatedError:!0,intersectionIsOpen:!0,defaults:{description:(U)=>`matched by ${U.rule}`},intersections:{pattern:()=>null}});class Hq extends v0{instance=new RegExp(this.rule,this.flags);expression=`${this.instance}`;traverseAllows=this.instance.test.bind(this.instance);compiledCondition=`${this.expression}.test(data)`;compiledNegation=`!${this.compiledCondition}`;impliedBasis=T.intrinsic.string.internal;reduceJsonSchema(U,X){if(U.pattern)return X.fallback.patternIntersection({code:"patternIntersection",base:U,pattern:this.rule});return U.pattern=this.rule,U}}var X4={implementation:lG,Node:Hq};var A2=(U,X)=>{let q=dG(U);if(X&&!X.includes(q))return F(`Root of kind ${q} should be one of ${X}`);return q},dG=(U)=>{if(M(U,"root"))return U.kind;if(typeof U==="string")return U[0]==="$"?"alias":(U in G0)?"domain":"proto";if(typeof U==="function")return"proto";if(typeof U!=="object"||U===null)return F(Jq(U));if("morphs"in U)return"morph";if("branches"in U||x(U))return"union";if("unit"in U)return"unit";if("reference"in U)return"alias";let X=Object.keys(U);if(X.length===0||X.some((q)=>(q in W6)))return"intersection";if("proto"in U)return"proto";if("domain"in U)return"domain";return F(Jq(U))},Jq=(U)=>`${E(U)} is not a valid type schema`,Wq={},cG=(U)=>x(U)?U.map((X)=>X.collapsibleJson):U.collapsibleJson,q0={};T.nodesByRegisteredId=q0;var q4=(U)=>{return Wq[U]??=0,`${U}${++Wq[U]}`},Z4=(U)=>{let X=f1[U.kind],q=X.applyConfig?.(U.def,U.$.resolvedConfig)??U.def,Z={},{meta:Q,...G}=q,Y=Q===void 0?{}:typeof Q==="string"?{description:Q}:Q,H=KU(G).sort(([W],[_])=>N1(W)?N1(_)?C1(W)-C1(_):1:N1(_)?-1:W<_?-1:1).filter(([W,_])=>{if(W.startsWith("meta.")){let L=W.slice(5);return Y[L]=_,!1}return!0});for(let W of H){let _=W[0],L=X.keys[_];if(!L)return F(`Key ${_} is not valid on ${U.kind} schema`);let $=L.parse?L.parse(W[1],U):W[1];if($!==Y0&&($!==void 0||L.preserveUndefined))Z[_]=$}if(X.reduce&&!U.prereduced){let W=X.reduce(Z,U.$);if(W){if(W instanceof V)return W.throw();return iG(W,Y)}}return Q4({id:U.id,kind:U.kind,inner:Z,meta:Y,$:U.$})},Q4=({id:U,kind:X,inner:q,meta:Z,$:Q,ignoreCache:G})=>{let Y=f1[X],H=KU(q),J=[],W={};for(let[D,P]of H){let K=Y.keys[D],C=K.serialize??(K.child?cG:F0);if(W[D]=C(P),K.child===!0){let N=P;if(x(N))J.push(...N);else J.push(N)}else if(typeof K.child==="function")J.push(...K.child(P))}if(Y.finalizeInnerJson)W=Y.finalizeInnerJson(W);let _={...W},L={};if(!C0(Z))L=S(Z,(D,P)=>[D,D==="examples"?P:F0(P)]),_.meta=T6(L,"description",!0);W=T6(W,Y.collapsibleKey,!1);let $=JSON.stringify({kind:X,...W});_=T6(_,Y.collapsibleKey,!1);let A=T6(_,Y.collapsibleKey,!0),B=JSON.stringify({kind:X,..._});if(Q.nodesByHash[B]&&!G)return Q.nodesByHash[B];let z={id:U,kind:X,impl:Y,inner:q,innerEntries:H,innerJson:W,innerHash:$,meta:Z,metaJson:L,json:_,hash:B,collapsibleJson:A,children:J};if(X!=="intersection"){for(let D in q)if(D!=="in"&&D!=="out")z[D]=q[D]}let O=new _q[X](z,Q);return Q.nodesByHash[B]=O},Lq=(U,X)=>{if(U.id===X)return U;if(h(q0[X]))y(`Unexpected attempt to overwrite node id ${X}`);return Q4({id:X,kind:U.kind,inner:U.inner,meta:U.meta,$:U.$,ignoreCache:!0})},iG=(U,X,q)=>{if(q&&h(q0[q]))y(`Unexpected attempt to overwrite node id ${q}`);return Q4({id:q??q4(X.alias??U.kind),kind:U.kind,inner:U.inner,meta:X,$:U.$})},T6=(U,X,q)=>{let Z=Object.keys(U);if(Z.length===1&&Z[0]===X){let Q=U[X];if(q)return Q;if(Q0(Q,"object")&&(Object.keys(Q).length===1||Array.isArray(Q)))return Q}return U};var T2=(U,X,q)=>{if(U.key!==X.key)return null;let Z=U.key,Q=u(U.value,X.value,q),G=U.required||X.required?"required":"optional";if(Q instanceof V)if(G==="optional")Q=T.intrinsic.never.internal;else return Q.withPrefixKey(U.key,U.required&&X.required?"required":"optional");if(G==="required")return q.$.node("required",{key:Z,value:Q});let Y=U.hasDefault()?X.hasDefault()?U.default===X.default?U.default:F(G4(U.default,X.default)):U.default:X.hasDefault()?X.default:Y0;return q.$.node("optional",{key:Z,value:Q,default:Y})};class O2 extends A0{required=this.kind==="required";optional=this.kind==="optional";impliedBasis=T.intrinsic.object.internal;serializedKey=D0(this.key);compiledKey=typeof this.key==="string"?this.key:this.serializedKey;flatRefs=g(this.value.flatRefs.map((U)=>w0([this.key,...U.path],U.node)),w0([this.key],this.value));_transform(U,X){X.path.push(this.key);let q=super._transform(U,X);return X.path.pop(),q}hasDefault(){return"default"in this.inner}traverseAllows=(U,X)=>{if(this.key in U)return W0(this.key,()=>this.value.traverseAllows(U[this.key],X),X);return this.optional};traverseApply=(U,X)=>{if(this.key in U)W0(this.key,()=>this.value.traverseApply(U[this.key],X),X);else if(this.hasKind("required"))X.errorFromNodeContext(this.errorContext)};compile(U){if(U.if(`${this.serializedKey} in data`,()=>U.traverseKey(this.serializedKey,`data${U.prop(this.key)}`,this.value)),this.hasKind("required"))U.else(()=>U.traversalKind==="Apply"?U.line(`ctx.errorFromNodeContext(${this.compiledErrorContext})`):U.return(!1));if(U.traversalKind==="Allows")U.return(!0)}}var G4=(U,X)=>`Invalid intersection of default values ${E(U)} & ${E(X)}`;var oG=b({kind:"optional",hasAssociatedError:!1,intersectionIsOpen:!0,keys:{key:{},value:{child:!0,parse:(U,X)=>X.$.parseSchema(U)},default:{preserveUndefined:!0}},normalize:(U)=>U,reduce:(U,X)=>{if(X.resolvedConfig.exactOptionalPropertyTypes===!1){if(!U.value.allows(void 0))return X.node("optional",{...U,value:U.value.or(I.undefined)},{prereduced:!0})}},defaults:{description:(U)=>`${U.compiledKey}?: ${U.value.description}`},intersections:{optional:T2}});class $q extends O2{constructor(...U){super(...U);if("default"in this.inner)B2(this.value,this.inner.default,this.key)}get rawIn(){let U=super.rawIn;if(!this.hasDefault())return U;return this.$.node("optional",q6(U.inner,{default:!0}),{prereduced:!0})}get outProp(){if(!this.hasDefault())return this;let{default:U,...X}=this.inner;return this.cacheGetter("outProp",this.$.node("required",X,{prereduced:!0}))}expression=this.hasDefault()?`${this.compiledKey}: ${this.value.expression} = ${E(this.inner.default)}`:`${this.compiledKey}?: ${this.value.expression}`;defaultValueMorph=rG(this);defaultValueMorphRef=this.defaultValueMorph&&d(this.defaultValueMorph)}var V2={implementation:oG,Node:$q},sG={},rG=(U)=>{if(!U.hasDefault())return;let X=`{${U.compiledKey}: ${U.value.id} = ${F0(U.default)}}`;return sG[X]??=Y4(U.key,U.value,U.default)},Y4=(U,X,q)=>{if(typeof q==="function")return X.includesTransform?(Q,G)=>{return W0(U,()=>X(Q[U]=q(),G),G),Q}:(Q)=>{return Q[U]=q(),Q};let Z=X.includesTransform?X.assert(q):q;return Q0(Z,"object")?(Q,G)=>{return W0(U,()=>X(Q[U]=q,G),G),Q}:(Q)=>{return Q[U]=Z,Q}},B2=(U,X,q)=>{let Z=l0(X);if(Q0(X,"object")&&!Z)F(nG(q));let Q=U.in(Z?X():X);if(Q instanceof J0){if(q===null)F(`Default ${Q.summary}`);let G=Q.transform((Y)=>Y.transform((H)=>({...H,prefixPath:[q]})));F(`Default for ${G.summary}`)}return X},nG=(U)=>{return`Non-primitive default ${U===null?"":typeof U==="number"?`for value at [${U}] `:`for ${D0(U)} `}must be specified as a function like () => ({my: 'object'})`};class T0 extends z2{constructor(U,X){super(U,X);Object.defineProperty(this,X0,{value:"root",enumerable:!1})}get rawIn(){return super.rawIn}get rawOut(){return super.rawOut}get internal(){return this}get "~standard"(){return{vendor:"arktype",version:1,validate:(U)=>{let X=this(U);if(X instanceof J0)return X;return{value:X}},jsonSchema:{input:(U)=>this.rawIn.toJsonSchema({target:zq(U.target),...U.libraryOptions}),output:(U)=>this.rawOut.toJsonSchema({target:zq(U.target),...U.libraryOptions})}}}as(){return this}brand(U){if(U==="")return F(aG);return this}readonly(){return this}branches=this.hasKind("union")?this.inner.branches:[this];distribute(U,X){let q=this.branches.map(U);return X?.(q)??q}get shortDescription(){return this.meta.description??this.defaultShortDescription}toJsonSchema(U={}){let X=uU(this.$.resolvedConfig.toJsonSchema,U);X.useRefs||=this.isCyclic;let q=typeof X.dialect==="string"?{$schema:X.dialect}:{};if(Object.assign(q,this.toJsonSchemaRecurse(X)),X.useRefs){let Z=S(this.references,(Q,G)=>G.isRoot()&&!G.alwaysExpandJsonSchema?[G.id,G.toResolvedJsonSchema(X)]:[]);if(X.target==="draft-07")Object.assign(q,{definitions:Z});else q.$defs=Z}return q}toJsonSchemaRecurse(U){if(U.useRefs&&!this.alwaysExpandJsonSchema)return{$ref:`#/${U.target==="draft-07"?"definitions":"$defs"}/${this.id}`};return this.toResolvedJsonSchema(U)}get alwaysExpandJsonSchema(){return this.isBasis()||this.kind==="alias"||this.hasKind("union")&&this.isBoolean}toResolvedJsonSchema(U){let X=this.innerToJsonSchema(U);return Object.assign(X,this.metaJson)}intersect(U){let X=this.$.parseDefinition(U),q=this.rawIntersect(X);if(q instanceof V)return q;return this.$.finalize(q)}rawIntersect(U){return L0(this,U,this.$)}toNeverIfDisjoint(){return this}and(U){let X=this.intersect(U);return X instanceof V?X.throw():X}rawAnd(U){let X=this.rawIntersect(U);return X instanceof V?X.throw():X}or(U){let X=this.$.parseDefinition(U);return this.$.finalize(this.rawOr(X))}rawOr(U){let X=[...this.branches,...U.branches];return this.$.node("union",X)}map(U){return this.$.schema(this.applyStructuralOperation("map",[U]))}pick(...U){return this.$.schema(this.applyStructuralOperation("pick",U))}omit(...U){return this.$.schema(this.applyStructuralOperation("omit",U))}required(){return this.$.schema(this.applyStructuralOperation("required",[]))}partial(){return this.$.schema(this.applyStructuralOperation("partial",[]))}_keyof;keyof(){if(this._keyof)return this._keyof;let U=this.applyStructuralOperation("keyof",[]).reduce((X,q)=>X.intersect(q).toNeverIfDisjoint(),T.intrinsic.unknown.internal);if(U.branches.length===0)F(dU(`keyof ${this.expression}`));return this._keyof=this.$.finalize(U)}get props(){if(this.branches.length!==1)return F(eG(this.expression));return[...this.applyStructuralOperation("props",[])[0]]}merge(U){let X=this.$.parseDefinition(U);return this.$.schema(X.distribute((q)=>this.applyStructuralOperation("merge",[Fq(q)??F(Aq("merge",q.expression))])))}applyStructuralOperation(U,X){return this.distribute((q)=>{if(q.equals(T.intrinsic.object)&&U!=="merge")return q;let Z=Fq(q);if(!Z)F(Aq(U,q.expression));if(U==="keyof")return Z.keyof();if(U==="get")return Z.get(...X);if(U==="props")return Z.props;let Q=U==="required"?"require":U==="partial"?"optionalize":U;return this.$.node("intersection",{domain:"object",structure:Z[Q](...X)})})}get(...U){if(U[0]===void 0)return this;return this.$.schema(this.applyStructuralOperation("get",U))}extract(U){let X=this.$.parseDefinition(U);return this.$.schema(this.branches.filter((q)=>q.extends(X)))}exclude(U){let X=this.$.parseDefinition(U);return this.$.schema(this.branches.filter((q)=>!q.extends(X)))}array(){return this.$.schema(this.isUnknown()?{proto:Array}:{proto:Array,sequence:this},{prereduced:!0})}overlaps(U){return!(this.intersect(U)instanceof V)}extends(U){if(this.isNever())return!0;let X=this.intersect(U);return!(X instanceof V)&&this.equals(X)}ifExtends(U){return this.extends(U)?this:void 0}subsumes(U){return this.$.parseDefinition(U).extends(this)}configure(U,X="shallow"){return this.configureReferences(U,X)}describe(U,X="shallow"){return this.configure({description:U},X)}optional(){return[this,"?"]}default(U){return B2(this,U,null),[this,"=",U]}from(U){return this.assert(U)}_pipe(...U){let X=U.reduce((q,Z)=>q.rawPipeOnce(Z),this);return this.$.finalize(X)}tryPipe(...U){let X=U.reduce((q,Z)=>q.rawPipeOnce(M(Z,"root")?Z:(Q,G)=>{try{return Z(Q,G)}catch(Y){return G.error({code:"predicate",predicate:Z,actual:`aborted due to error:
161
+ ${Y}
162
+ `})}}),this);return this.$.finalize(X)}pipe=Object.assign(this._pipe.bind(this),{try:this.tryPipe.bind(this)});to(U){return this.$.finalize(this.toNode(this.$.parseDefinition(U)))}toNode(U){let X=F2(this,U,this.$);if(X instanceof V)return X.throw();return X}rawPipeOnce(U){if(M(U,"root"))return this.toNode(U);return this.distribute((X)=>X.hasKind("morph")?this.$.node("morph",{in:X.inner.in,morphs:[...X.morphs,U]}):this.$.node("morph",{in:X,morphs:[U]}),this.$.parseSchema)}narrow(U){return this.constrainOut("predicate",U)}constrain(U,X){return this._constrain("root",U,X)}constrainIn(U,X){return this._constrain("in",U,X)}constrainOut(U,X){return this._constrain("out",U,X)}_constrain(U,X,q){let Z=this.$.node(X,q);if(Z.isRoot())return Z.isUnknown()?this:y(`Unexpected constraint node ${Z}`);let Q=U==="root"?this:U==="in"?this.rawIn:this.rawOut;if(Q.hasKind("morph")||Z.impliedBasis&&!Q.extends(Z.impliedBasis))return iX(X,Z.impliedBasis,this);let G=this.$.node("intersection",{[Z.kind]:Z}),Y=U==="out"?F2(this,G,this.$):L0(this,G,this.$);if(Y instanceof V)Y.throw();return this.$.finalize(Y)}onUndeclaredKey(U){let X=typeof U==="string"?U:U.rule,q=typeof U==="string"?!1:U.deep;return this.$.finalize(this.transform((Z,Q)=>Z==="structure"?X==="ignore"?q6(Q,{undeclared:1}):{...Q,undeclared:X}:Q,q?void 0:{shouldTransform:(Z)=>!z0(I1,Z.kind)}))}hasEqualMorphs(U){if(!this.includesTransform&&!U.includesTransform)return!0;if(!g0(this.shallowMorphs,U.shallowMorphs))return!1;if(!g0(this.flatMorphs,U.flatMorphs,{isEqual:(X,q)=>X.propString===q.propString&&(X.node.hasKind("morph")&&q.node.hasKind("morph")?X.node.hasEqualMorphs(q.node):X.node.hasKind("intersection")&&q.node.hasKind("intersection")?X.node.structure?.structuralMorphRef===q.node.structure?.structuralMorphRef:!1)}))return!1;return!0}onDeepUndeclaredKey(U){return this.onUndeclaredKey({rule:U,deep:!0})}filter(U){return this.constrainIn("predicate",U)}divisibleBy(U){return this.constrain("divisor",U)}matching(U){return this.constrain("pattern",U)}atLeast(U){return this.constrain("min",U)}atMost(U){return this.constrain("max",U)}moreThan(U){return this.constrain("min",g1(U))}lessThan(U){return this.constrain("max",g1(U))}atLeastLength(U){return this.constrain("minLength",U)}atMostLength(U){return this.constrain("maxLength",U)}moreThanLength(U){return this.constrain("minLength",g1(U))}lessThanLength(U){return this.constrain("maxLength",g1(U))}exactlyLength(U){return this.constrain("exactLength",U)}atOrAfter(U){return this.constrain("after",U)}atOrBefore(U){return this.constrain("before",U)}laterThan(U){return this.constrain("after",g1(U))}earlierThan(U){return this.constrain("before",g1(U))}}var aG="Expected a non-empty brand name after #",Tq=["draft-2020-12","draft-07"],tG=(U)=>`JSONSchema target '${U}' is not supported (must be ${Tq.map((X)=>`"${X}"`).join(" or ")})`,zq=(U)=>{if(!z0(Tq,U))F(tG(U));return U},g1=(U)=>typeof U==="object"&&!(U instanceof Date)?{...U,exclusive:!0}:{rule:U,exclusive:!0},R2=(U,X)=>M(X,"root")?M(U,"root")?U.extends(X):X.allows(U):M(U,"root")?U.hasUnit(X):X===U,Fq=(U)=>{if(U.hasKind("morph"))return null;if(U.hasKind("intersection"))return U.inner.structure??(U.basis?.domain==="object"?U.$.bindReference(T.intrinsic.emptyStructure):null);if(U.isBasis()&&U.domain==="object")return U.$.bindReference(T.intrinsic.emptyStructure);return null},eG=(U)=>`Props cannot be extracted from a union. Use .distribute to extract props from each branch instead. Received:
163
+ ${U}`,Aq=(U,X)=>`${U} operand must be an object (was ${X})`;var S0=(U,X)=>S(L6(U),(q,Z)=>[Z,X]);var U5=(U)=>typeof U==="string"?{reference:U}:U,Oq=(U)=>U instanceof V?T.intrinsic.never.internal:U,X5=b({kind:"alias",hasAssociatedError:!1,collapsibleKey:"reference",keys:{reference:{serialize:(U)=>U.startsWith("$")?U:`$ark.${U}`},resolve:{}},normalize:U5,defaults:{description:(U)=>U.reference},intersections:{alias:(U,X,q)=>q.$.lazilyResolve(()=>Oq(u(U.resolution,X.resolution,q)),`${U.reference}${q.pipe?"=>":"&"}${X.reference}`),...S0("alias",(U,X,q)=>{if(X.isUnknown())return U;if(X.isNever())return X;if(X.isBasis()&&!X.overlaps(T.intrinsic.object))return V.init("assignability",T.intrinsic.object,X);return q.$.lazilyResolve(()=>Oq(u(U.resolution,X,q)),`${U.reference}${q.pipe?"=>":"&"}${X.id}`)})}});class Vq extends T0{expression=this.reference;structure=void 0;get resolution(){let U=this._resolve();return q0[this.id]=U}_resolve(){if(this.resolve)return this.resolve();if(this.reference[0]==="$")return this.$.resolveRoot(this.reference.slice(1));let U=this.reference,X=q0[U],q=[];while(M(X,"context")){if(q.includes(X.id))return F(q5(X.id,q));q.push(X.id),X=q0[X.id]}if(!M(X,"root"))return y(`Unexpected resolution for reference ${this.reference}
164
+ Seen: [${q.join("->")}]
165
+ Resolution: ${E(X)}`);return X}get resolutionId(){if(this.reference.includes("&")||this.reference.includes("=>"))return this.resolution.id;if(this.reference[0]!=="$")return this.reference;let U=this.reference.slice(1),X=this.$.resolutions[U];if(typeof X==="string")return X;if(M(X,"root"))return X.id;return y(`Unexpected resolution for reference ${this.reference}: ${E(X)}`)}get defaultShortDescription(){return G0.object}innerToJsonSchema(U){return this.resolution.toJsonSchemaRecurse(U)}traverseAllows=(U,X)=>{let q=X.seen[this.reference];if(q?.includes(U))return!0;return X.seen[this.reference]=g(q,U),this.resolution.traverseAllows(U,X)};traverseApply=(U,X)=>{let q=X.seen[this.reference];if(q?.includes(U))return;X.seen[this.reference]=g(q,U),this.resolution.traverseApply(U,X)};compile(U){let X=this.resolutionId;U.if(`ctx.seen.${X} && ctx.seen.${X}.includes(data)`,()=>U.return(!0)),U.if(`!ctx.seen.${X}`,()=>U.line(`ctx.seen.${X} = []`)),U.line(`ctx.seen.${X}.push(data)`),U.return(U.invoke(X))}}var q5=(U,X)=>`Alias '${U}' has a shallow resolution cycle: ${[...X,U].join("->")}`,D2={implementation:X5,Node:Vq};class _1 extends T0{traverseApply=(U,X)=>{if(!this.traverseAllows(U,X))X.errorFromNodeContext(this.errorContext)};get errorContext(){return{code:this.kind,description:this.description,meta:this.meta,...this.inner}}get compiledErrorContext(){return i0(this.errorContext)}compile(U){if(U.traversalKind==="Allows")U.return(this.compiledCondition);else U.if(this.compiledNegation,()=>U.line(`ctx.errorFromNodeContext(${this.compiledErrorContext})`))}}var Z5=b({kind:"domain",hasAssociatedError:!0,collapsibleKey:"domain",keys:{domain:{},numberAllowsNaN:{}},normalize:(U)=>typeof U==="string"?{domain:U}:w1(U,"numberAllowsNaN")&&U.domain!=="number"?F(O6.writeBadAllowNanMessage(U.domain)):U,applyConfig:(U,X)=>U.numberAllowsNaN===void 0&&U.domain==="number"&&X.numberAllowsNaN?{...U,numberAllowsNaN:!0}:U,defaults:{description:(U)=>G0[U.domain],actual:(U)=>Number.isNaN(U)?"NaN":G0[r(U)]},intersections:{domain:(U,X)=>U.domain==="number"&&X.domain==="number"?U.numberAllowsNaN?X:U:V.init("domain",U,X)}});class Bq extends _1{requiresNaNCheck=this.domain==="number"&&!this.numberAllowsNaN;traverseAllows=this.requiresNaNCheck?(U)=>typeof U==="number"&&!Number.isNaN(U):(U)=>r(U)===this.domain;compiledCondition=this.domain==="object"?'((typeof data === "object" && data !== null) || typeof data === "function")':`typeof data === "${this.domain}"${this.requiresNaNCheck?" && !Number.isNaN(data)":""}`;compiledNegation=this.domain==="object"?'((typeof data !== "object" || data === null) && typeof data !== "function")':`typeof data !== "${this.domain}"${this.requiresNaNCheck?" || Number.isNaN(data)":""}`;expression=this.numberAllowsNaN?"number | NaN":this.domain;get nestableExpression(){return this.numberAllowsNaN?`(${this.expression})`:this.expression}get defaultShortDescription(){return G0[this.domain]}innerToJsonSchema(U){if(this.domain==="bigint"||this.domain==="symbol")return U.fallback.domain({code:"domain",base:{},domain:this.domain});return{type:this.domain}}}var O6={implementation:Z5,Node:Bq,writeBadAllowNanMessage:(U)=>`numberAllowsNaN may only be specified with domain "number" (was ${U})`};var Q5=b({kind:"intersection",hasAssociatedError:!0,normalize:(U)=>{if(h(U))return U;let{structure:X,...q}=U,Z=!!X,Q=X??{},G=S(q,(Y,H)=>{if(n(Y,vX)){if(Z)F(`Flattened structure key ${Y} cannot be specified alongside a root 'structure' key.`);return Q[Y]=H,[]}return[Y,H]});if(M(Q,"constraint")||!C0(Q))G.structure=Q;return G},finalizeInnerJson:({structure:U,...X})=>Q0(U,"object")?{...U,...X}:X,keys:{domain:{child:!0,parse:(U,X)=>X.$.node("domain",U)},proto:{child:!0,parse:(U,X)=>X.$.node("proto",U)},structure:{child:!0,parse:(U,X)=>X.$.node("structure",U),serialize:(U)=>{if(!U.sequence?.minLength)return U.collapsibleJson;let{sequence:X,...q}=U.collapsibleJson,{minVariadicLength:Z,...Q}=X,G=Q.variadic&&Object.keys(Q).length===1?Q.variadic:Q;return{...q,sequence:G}}},divisor:{child:!0,parse:U0("divisor")},max:{child:!0,parse:U0("max")},min:{child:!0,parse:U0("min")},maxLength:{child:!0,parse:U0("maxLength")},minLength:{child:!0,parse:U0("minLength")},exactLength:{child:!0,parse:U0("exactLength")},before:{child:!0,parse:U0("before")},after:{child:!0,parse:U0("after")},pattern:{child:!0,parse:U0("pattern")},predicate:{child:!0,parse:U0("predicate")}},reduce:(U,X)=>Rq({},U,{$:X,invert:!1,pipe:!1}),defaults:{description:(U)=>{if(U.children.length===0)return"unknown";if(U.structure)return U.structure.description;let X=[];if(U.basis&&!U.prestructurals.some((q)=>q.impl.obviatesBasisDescription))X.push(U.basis.description);if(U.prestructurals.length){let q=U.prestructurals.slice().sort((Z,Q)=>Z.kind==="min"&&Q.kind==="max"?-1:0).map((Z)=>Z.description);X.push(...q)}if(U.inner.predicate)X.push(...U.inner.predicate.map((q)=>q.description));return X.join(" and ")},expected:(U)=>` ◦ ${U.errors.map((X)=>X.expected).join(`
166
+ ◦ `)}`,problem:(U)=>`(${U.actual}) must be...
167
+ ${U.expected}`},intersections:{intersection:(U,X,q)=>Rq(U.inner,X.inner,q),...S0("intersection",(U,X,q)=>{if(U.children.length===0)return X;let{domain:Z,proto:Q,...G}=U.inner,Y=Q??Z,H=Y?u(Y,X,q):X;return H instanceof V?H:U?.basis?.equals(H)?U:U.$.node("intersection",{...G,[H.kind]:H},{prereduced:!0})})}});class Dq extends T0{basis=this.inner.domain??this.inner.proto??null;prestructurals=[];refinements=this.children.filter((U)=>{if(!U.isRefinement())return!1;if(z0(xU,U.kind))this.prestructurals.push(U);return!0});structure=this.inner.structure;expression=G5(this);get shallowMorphs(){return this.inner.structure?.structuralMorph?[this.inner.structure.structuralMorph]:[]}get defaultShortDescription(){return this.basis?.defaultShortDescription??"present"}innerToJsonSchema(U){return this.children.reduce((X,q)=>q.isBasis()?q.toJsonSchemaRecurse(U):q.reduceJsonSchema(X,U),{})}traverseAllows=(U,X)=>this.children.every((q)=>q.traverseAllows(U,X));traverseApply=(U,X)=>{let q=X.currentErrorCount;if(this.basis){if(this.basis.traverseApply(U,X),X.currentErrorCount>q)return}if(this.prestructurals.length){for(let Z=0;Z<this.prestructurals.length-1;Z++)if(this.prestructurals[Z].traverseApply(U,X),X.failFast&&X.currentErrorCount>q)return;if(this.prestructurals[this.prestructurals.length-1].traverseApply(U,X),X.currentErrorCount>q)return}if(this.structure){if(this.structure.traverseApply(U,X),X.currentErrorCount>q)return}if(this.inner.predicate){for(let Z=0;Z<this.inner.predicate.length-1;Z++)if(this.inner.predicate[Z].traverseApply(U,X),X.failFast&&X.currentErrorCount>q)return;this.inner.predicate[this.inner.predicate.length-1].traverseApply(U,X)}};compile(U){if(U.traversalKind==="Allows"){for(let X of this.children)U.check(X);U.return(!0);return}if(U.initializeErrorCount(),this.basis){if(U.check(this.basis),this.children.length>1)U.returnIfFail()}if(this.prestructurals.length){for(let X=0;X<this.prestructurals.length-1;X++)U.check(this.prestructurals[X]),U.returnIfFailFast();if(U.check(this.prestructurals[this.prestructurals.length-1]),this.structure||this.inner.predicate)U.returnIfFail()}if(this.structure){if(U.check(this.structure),this.inner.predicate)U.returnIfFail()}if(this.inner.predicate){for(let X=0;X<this.inner.predicate.length-1;X++)U.check(this.inner.predicate[X]),U.returnIfFail();U.check(this.inner.predicate[this.inner.predicate.length-1])}}}var H4={implementation:Q5,Node:Dq},G5=(U)=>{if(U.structure?.expression)return U.structure.expression;let X=U.basis&&!U.prestructurals.some((Q)=>Q.impl.obviatesBasisExpression)?U.basis.nestableExpression:"",q=U.prestructurals.map((Q)=>Q.expression).join(" & "),Z=`${X}${X?" ":""}${q}`;if(Z==="Array == 0")return"[]";return Z||"unknown"},Rq=(U,X,q)=>{let Z={},Q=U.proto??U.domain,G=X.proto??X.domain,Y=Q?G?u(Q,G,q):Q:G;if(Y instanceof V)return Y;if(Y)Z[Y.kind]=Y;return E1({kind:"intersection",baseInner:Z,l:b1(U),r:b1(X),roots:[],ctx:q})};var Y5=b({kind:"morph",hasAssociatedError:!1,keys:{in:{child:!0,parse:(U,X)=>X.$.parseSchema(U)},morphs:{parse:p0,serialize:(U)=>U.map((X)=>M(X,"root")?X.json:d(X))},declaredIn:{child:!1,serialize:(U)=>U.json},declaredOut:{child:!1,serialize:(U)=>U.json}},normalize:(U)=>U,defaults:{description:(U)=>`a morph from ${U.rawIn.description} to ${U.rawOut?.description??"unknown"}`},intersections:{morph:(U,X,q)=>{if(!U.hasEqualMorphs(X))return F(H5(U.expression,X.expression));let Z=u(U.rawIn,X.rawIn,q);if(Z instanceof V)return Z;let Q={morphs:U.morphs};if(U.declaredIn||X.declaredIn){let G=u(U.rawIn,X.rawIn,q);if(G instanceof V)return G.throw();else Q.declaredIn=G}if(U.declaredOut||X.declaredOut){let G=u(U.rawOut,X.rawOut,q);if(G instanceof V)return G.throw();else Q.declaredOut=G}return Z.distribute((G)=>q.$.node("morph",{...Q,in:G}),q.$.parseSchema)},...S0("morph",(U,X,q)=>{let Z=U.inner.in?u(U.inner.in,X,q):X;return Z instanceof V?Z:Z.equals(U.inner.in)?U:q.$.node("morph",{...U.inner,in:Z})})}});class Mq extends T0{serializedMorphs=this.morphs.map(d);compiledMorphs=`[${this.serializedMorphs}]`;lastMorph=this.inner.morphs[this.inner.morphs.length-1];lastMorphIfNode=M(this.lastMorph,"root")?this.lastMorph:void 0;introspectableIn=this.inner.in;introspectableOut=this.lastMorphIfNode?Object.assign(this.referencesById,this.lastMorphIfNode.referencesById)&&this.lastMorphIfNode.rawOut:void 0;get shallowMorphs(){return Array.isArray(this.inner.in?.shallowMorphs)?[...this.inner.in.shallowMorphs,...this.morphs]:this.morphs}get rawIn(){return this.declaredIn??this.inner.in?.rawIn??T.intrinsic.unknown.internal}get rawOut(){return this.declaredOut??this.introspectableOut??T.intrinsic.unknown.internal}declareIn(U){return this.$.node("morph",{...this.inner,declaredIn:U})}declareOut(U){return this.$.node("morph",{...this.inner,declaredOut:U})}expression=`(In: ${this.rawIn.expression}) => ${this.lastMorphIfNode?"To":"Out"}<${this.rawOut.expression}>`;get defaultShortDescription(){return this.rawIn.meta.description??this.rawIn.defaultShortDescription}innerToJsonSchema(U){return U.fallback.morph({code:"morph",base:this.rawIn.toJsonSchemaRecurse(U),out:this.introspectableOut?.toJsonSchemaRecurse(U)??null})}compile(U){if(U.traversalKind==="Allows"){if(!this.introspectableIn)return;U.return(U.invoke(this.introspectableIn));return}if(this.introspectableIn)U.line(U.invoke(this.introspectableIn));U.line(`ctx.queueMorphs(${this.compiledMorphs})`)}traverseAllows=(U,X)=>!this.introspectableIn||this.introspectableIn.traverseAllows(U,X);traverseApply=(U,X)=>{if(this.introspectableIn)this.introspectableIn.traverseApply(U,X);X.queueMorphs(this.morphs)};hasEqualMorphs(U){return g0(this.morphs,U.morphs,{isEqual:(X,q)=>X===q||M(X,"root")&&M(q,"root")&&X.equals(q)})}}var J4={implementation:Y5,Node:Mq},H5=(U,X)=>`The intersection of distinct morphs at a single path is indeterminate:
168
+ Left: ${U}
169
+ Right: ${X}`;var J5=b({kind:"proto",hasAssociatedError:!0,collapsibleKey:"proto",keys:{proto:{serialize:(U)=>Z2(U)??F0(U)},dateAllowsInvalid:{}},normalize:(U)=>{let X=typeof U==="string"?{proto:H1[U]}:typeof U==="function"?h(U)?U:{proto:U}:typeof U.proto==="string"?{...U,proto:H1[U.proto]}:U;if(typeof X.proto!=="function")F(M2.writeInvalidSchemaMessage(X.proto));if(w1(X,"dateAllowsInvalid")&&X.proto!==Date)F(M2.writeBadInvalidDateMessage(X.proto));return X},applyConfig:(U,X)=>{if(U.dateAllowsInvalid===void 0&&U.proto===Date&&X.dateAllowsInvalid)return{...U,dateAllowsInvalid:!0};return U},defaults:{description:(U)=>U.builtinName?$X[U.builtinName]:`an instance of ${U.proto.name}`,actual:(U)=>U instanceof Date&&U.toString()==="Invalid Date"?"an invalid Date":q2(U)},intersections:{proto:(U,X)=>U.proto===Date&&X.proto===Date?U.dateAllowsInvalid?X:U:bU(U.proto,X.proto)?U:bU(X.proto,U.proto)?X:V.init("proto",U,X),domain:(U,X)=>X.domain==="object"?U:V.init("domain",T.intrinsic.object.internal,X)}});class wq extends _1{builtinName=Z2(this.proto);serializedConstructor=this.json.proto;requiresInvalidDateCheck=this.proto===Date&&!this.dateAllowsInvalid;traverseAllows=this.requiresInvalidDateCheck?(U)=>U instanceof Date&&U.toString()!=="Invalid Date":(U)=>U instanceof this.proto;compiledCondition=`data instanceof ${this.serializedConstructor}${this.requiresInvalidDateCheck?' && data.toString() !== "Invalid Date"':""}`;compiledNegation=`!(${this.compiledCondition})`;innerToJsonSchema(U){switch(this.builtinName){case"Array":return{type:"array"};case"Date":return U.fallback.date?.({code:"date",base:{}})??U.fallback.proto({code:"proto",base:{},proto:this.proto});default:return U.fallback.proto({code:"proto",base:{},proto:this.proto})}}expression=this.dateAllowsInvalid?"Date | InvalidDate":this.proto.name;get nestableExpression(){return this.dateAllowsInvalid?`(${this.expression})`:this.expression}domain="object";get defaultShortDescription(){return this.description}}var M2={implementation:J5,Node:wq,writeBadInvalidDateMessage:(U)=>`dateAllowsInvalid may only be specified with constructor Date (was ${U.name})`,writeInvalidSchemaMessage:(U)=>`instanceOf operand must be a function (was ${r(U)})`};var W5=b({kind:"union",hasAssociatedError:!0,collapsibleKey:"branches",keys:{ordered:{},branches:{child:!0,parse:(U,X)=>{let q=[];for(let Z of U){let Q=M(Z,"root")?Z.branches:X.$.parseSchema(Z).branches;for(let G of Q)if(G.hasKind("morph")){let Y=q.findIndex((H)=>H.hasKind("morph")&&H.hasEqualMorphs(G));if(Y===-1)q.push(G);else{let H=q[Y];q[Y]=X.$.node("morph",{...H.inner,in:H.rawIn.rawOr(G.rawIn)})}}else q.push(G)}if(!X.def.ordered)q.sort((Z,Q)=>Z.hash<Q.hash?-1:1);return q}}},normalize:(U)=>x(U)?{branches:U}:U,reduce:(U,X)=>{let q=B5(U);if(q.length===1)return q[0];if(q.length===U.branches.length)return;return X.node("union",{...U,branches:q},{prereduced:!0})},defaults:{description:(U)=>U.distribute((X)=>X.description,y1),expected:(U)=>{let X=QX(U.errors,"propString"),q=Object.entries(X).map(([Z,Q])=>{let G=[];for(let J of Q)N0(G,J.expected);let Y=y1(G),H=Q.every((J)=>J.actual===Q[0].actual)?Q[0].actual:E(Q[0].data);return`${Z&&`${Z} `}must be ${Y}${H&&` (was ${H})`}`});return y1(q)},problem:(U)=>U.expected,message:(U)=>{if(U.problem[0]==="[")return`value at ${U.problem}`;return U.problem}},intersections:{union:(U,X,q)=>{if(U.isNever!==X.isNever)return V.init("presence",U,X);let Z;if(U.ordered){if(X.ordered)F(D5(U.expression,X.expression));if(Z=W4(X.branches,U.branches,q),Z instanceof V)Z.invert()}else Z=W4(U.branches,X.branches,q);if(Z instanceof V)return Z;return q.$.parseSchema(U.ordered||X.ordered?{branches:Z,ordered:!0}:{branches:Z})},...S0("union",(U,X,q)=>{let Z=W4(U.branches,[X],q);if(Z instanceof V)return Z;if(Z.length===1)return Z[0];return q.$.parseSchema(U.ordered?{branches:Z,ordered:!0}:{branches:Z})})}});class Kq extends T0{isBoolean=this.branches.length===2&&this.branches[0].hasUnit(!1)&&this.branches[1].hasUnit(!0);get branchGroups(){let U=[],X=-1;for(let q of this.branches){if(q.hasKind("unit")&&q.domain==="boolean"){if(X===-1)X=U.length,U.push(q);else U[X]=T.intrinsic.boolean;continue}U.push(q)}return U}unitBranches=this.branches.filter((U)=>U.rawIn.hasKind("unit"));discriminant=this.discriminate();discriminantJson=this.discriminant?T5(this.discriminant):null;expression=this.distribute((U)=>U.nestableExpression,V5);createBranchedOptimisticRootApply(){return(U,X)=>{let q=this.traverseOptimistic(U);if(q!==Y0)return q;let Z=new M0(U,this.$.resolvedConfig);return this.traverseApply(U,Z),Z.finalize(X)}}get shallowMorphs(){return this.branches.reduce((U,X)=>N0(U,X.shallowMorphs),[])}get defaultShortDescription(){return this.distribute((U)=>U.defaultShortDescription,y1)}innerToJsonSchema(U){if(this.branchGroups.length===1&&this.branchGroups[0].equals(T.intrinsic.boolean))return{type:"boolean"};let X=this.branchGroups.map((q)=>q.toJsonSchemaRecurse(U));if(X.every((q)=>Object.keys(q).length===1&&w1(q,"const")))return{enum:X.map((q)=>q.const)};return{anyOf:X}}traverseAllows=(U,X)=>this.branches.some((q)=>q.traverseAllows(U,X));traverseApply=(U,X)=>{let q=[];for(let Z=0;Z<this.branches.length;Z++){if(X.pushBranch(),this.branches[Z].traverseApply(U,X),!X.hasError()){if(this.branches[Z].includesTransform)return X.queuedMorphs.push(...X.popBranch().queuedMorphs);return X.popBranch()}q.push(X.popBranch().error)}X.errorFromNodeContext({code:"union",errors:q,meta:this.meta})};traverseOptimistic=(U)=>{for(let X=0;X<this.branches.length;X++){let q=this.branches[X];if(q.traverseAllows(U)){if(q.contextFreeMorph)return q.contextFreeMorph(U);return U}}return Y0};compile(U){if(!this.discriminant||this.unitBranches.length===this.branches.length&&this.branches.length===2)return this.compileIndiscriminable(U);let X=this.discriminant.optionallyChainedPropString;if(this.discriminant.kind==="domain")X=`typeof ${X} === "object" ? ${X} === null ? "null" : "object" : typeof ${X} === "function" ? "object" : typeof ${X}`;let q=this.discriminant.cases,Z=Object.keys(q),{optimistic:Q}=U;if(U.optimistic=!1,U.block(`switch(${X})`,()=>{for(let W in q){let _=q[W],L=W==="default"?W:`case ${W}`,$;if(_===!0)$=Q?"data":"true";else if(Q)if(_.rootApplyStrategy==="branchedOptimistic")$=U.invoke(_,{kind:"Optimistic"});else if(_.contextFreeMorph)$=`${U.invoke(_)} ? ${d(_.contextFreeMorph)}(data) : "${Y0}"`;else $=`${U.invoke(_)} ? data : "${Y0}"`;else $=U.invoke(_);U.line(`${L}: return ${$}`)}return U}),U.traversalKind==="Allows"){U.return(Q?`"${Y0}"`:!1);return}let G=y1(this.discriminant.kind==="domain"?Z.map((W)=>{let _=W.slice(1,-1);return _==="function"?G0.object:G0[_]}):Z),Y=this.discriminant.path.map((W)=>typeof W==="symbol"?d(W):JSON.stringify(W)),H=JSON.stringify(G),J=this.discriminant.kind==="domain"?`${F5}[${X}]`:`${A5}(${X})`;U.line(`ctx.errorFromNodeContext({
170
+ code: "predicate",
171
+ expected: ${H},
172
+ actual: ${J},
173
+ relativePath: [${Y}],
174
+ meta: ${this.compiledMeta}
175
+ })`)}compileIndiscriminable(U){if(U.traversalKind==="Apply"){U.const("errors","[]");for(let X of this.branches)U.line("ctx.pushBranch()").line(U.invoke(X)).if("!ctx.hasError()",()=>U.return(X.includesTransform?"ctx.queuedMorphs.push(...ctx.popBranch().queuedMorphs)":"ctx.popBranch()")).line("errors.push(ctx.popBranch().error)");U.line(`ctx.errorFromNodeContext({ code: "union", errors, meta: ${this.compiledMeta} })`)}else{let{optimistic:X}=U;U.optimistic=!1;for(let q of this.branches)U.if(`${U.invoke(q)}`,()=>U.return(X?q.contextFreeMorph?`${d(q.contextFreeMorph)}(data)`:"data":!0));U.return(X?`"${Y0}"`:!1)}}get nestableExpression(){return this.isBoolean?"boolean":`(${this.expression})`}discriminate(){if(this.branches.length<2||this.isCyclic)return null;if(this.unitBranches.length===this.branches.length){let Q=S(this.unitBranches,(G,Y)=>[`${Y.rawIn.serializedValue}`,Y.hasKind("morph")?Y:!0]);return{kind:"unit",path:[],optionallyChainedPropString:"data",cases:Q}}let U=[];for(let Q=0;Q<this.branches.length-1;Q++){let G=this.branches[Q];for(let Y=Q+1;Y<this.branches.length;Y++){let H=this.branches[Y],J=L0(G.rawIn,H.rawIn,G.$);if(!(J instanceof V))continue;for(let W of J){if(!W.kind||W.optional)continue;let _,L;if(W.kind==="domain"){let{l:A,r:B}=W;_=`"${typeof A==="string"?A:A.domain}"`,L=`"${typeof B==="string"?B:B.domain}"`}else if(W.kind==="unit")_=W.l.serializedValue,L=W.r.serializedValue;else continue;let $=U.find((A)=>g0(A.path,W.path)&&A.kind===W.kind);if(!$)U.push({kind:W.kind,cases:{[_]:{branchIndices:[Q],condition:W.l},[L]:{branchIndices:[Y],condition:W.r}},path:W.path});else{if($.cases[_])$.cases[_].branchIndices=N0($.cases[_].branchIndices,Q);else $.cases[_]??={branchIndices:[Q],condition:W.l};if($.cases[L])$.cases[L].branchIndices=N0($.cases[L].branchIndices,Y);else $.cases[L]??={branchIndices:[Y],condition:W.r}}}}}let X=this.ordered?$5(U,this.branches):U;if(!X.length)return null;let q=L5(X,this),Z={};for(let Q in q.best.cases){let G=_5(q,Q);if(G===null){Z[Q]=!0;continue}if(G.length===this.branches.length)return null;if(this.ordered)G.sort((J,W)=>J.originalIndex-W.originalIndex);let Y=G.map((J)=>J.branch),H=Y.length===1?Y[0]:this.$.node("union",this.ordered?{branches:Y,ordered:!0}:Y);Object.assign(this.referencesById,H.referencesById),Z[Q]=H}if(q.defaultEntries.length){let Q=q.defaultEntries.map((G)=>G.branch);Z.default=this.$.node("union",this.ordered?{branches:Q,ordered:!0}:Q,{prereduced:!0}),Object.assign(this.referencesById,Z.default.referencesById)}return Object.assign(q.location,{cases:Z})}}var L5=(U,X)=>{let Z=U.sort((Y,H)=>Y.path.length===H.path.length?Object.keys(H.cases).length-Object.keys(Y.cases).length:Y.path.length-H.path.length)[0],Q={kind:Z.kind,path:Z.path,optionallyChainedPropString:Nq(Z.path)},G=X.branches.map((Y,H)=>({originalIndex:H,branch:Y}));return{best:Z,location:Q,defaultEntries:G,node:X}},_5=(U,X)=>{let q=U.best.cases[X],Z=z5(q.condition,U.location.path,U.node.$),Q=[],G=[];for(let Y=0;Y<U.defaultEntries.length;Y++){let H=U.defaultEntries[Y];if(q.branchIndices.includes(H.originalIndex)){let J=Pq(U.node.branches[H.originalIndex],U.location);if(J===null)Q=null;else Q?.push({originalIndex:H.originalIndex,branch:J})}else if(H.branch.hasKind("alias")&&Z.hasKind("domain")&&Z.domain==="object")Q?.push(H);else{if(H.branch.rawIn.overlaps(Z)){let J=Pq(H.branch,U.location);Q?.push({originalIndex:H.originalIndex,branch:J})}G.push(H)}}return U.defaultEntries=G,Q},$5=(U,X)=>{return U.filter((Z)=>{let Q=Object.values(Z.cases).map((G)=>G.branchIndices);for(let G=0;G<Q.length-1;G++){let Y=Q[G];for(let H=G+1;H<Q.length;H++){let J=Q[H];for(let W of Y)for(let _ of J)if(W>_){if(X[W].overlaps(X[_]))return!1}}}return!0})},z5=(U,X,q)=>{let Z=U==="undefined"?q.node("unit",{unit:void 0}):U==="null"?q.node("unit",{unit:null}):U==="boolean"?q.units([!0,!1]):U;for(let Q=X.length-1;Q>=0;Q--){let G=X[Q];Z=q.node("intersection",typeof G==="number"?{proto:"Array",sequence:[...qX(G).map((Y)=>({})),Z]}:{domain:"object",required:[{key:G,value:Z}]})}return Z},Nq=(U)=>U.reduce((X,q)=>X+vU(q,!0),"data"),F5=d(GX),A5=d(E),L4={implementation:W5,Node:Kq},T5=(U)=>({kind:U.kind,path:U.path.map((X)=>typeof X==="string"?X:D0(X)),cases:S(U.cases,(X,q)=>[X,q===!0?q:q.hasKind("union")&&q.discriminantJson?q.discriminantJson:q.json])}),O5={delimiter:" | ",finalDelimiter:" | "},V5=(U)=>y1(U,O5),y1=(U,X)=>{let q=X?.delimiter??", ",Z=X?.finalDelimiter??" or ";if(U.length===0)return"never";if(U.length===1)return U[0];if(U.length===2&&U[0]==="false"&&U[1]==="true"||U[0]==="true"&&U[1]==="false")return"boolean";let Q={},G=U.filter((H)=>Q[H]?!1:Q[H]=!0),Y=G.pop();return`${G.join(q)}${G.length?Z:""}${Y}`},W4=(U,X,q)=>{let Z=X.map(()=>[]);for(let G=0;G<U.length;G++){let Y={};for(let H=0;H<X.length;H++){if(Z[H]===null)continue;if(U[G].equals(X[H])){Z[H]=null,Y={};break}let J=u(U[G],X[H],q);if(J instanceof V)continue;if(J.equals(U[G])){Z[H].push(U[G]),Y={};break}if(J.equals(X[H]))Z[H]=null;else Y[H]=J}for(let H in Y)Z[H][G]=Y[H]}let Q=Z.flatMap((G,Y)=>G?.flatMap((H)=>H.branches)??X[Y]);return Q.length===0?V.init("union",U,X):Q},B5=({branches:U,ordered:X})=>{if(U.length<2)return U;let q=U.map(()=>!0);for(let Z=0;Z<U.length;Z++)for(let Q=Z+1;Q<U.length&&q[Z]&&q[Q];Q++){if(U[Z].equals(U[Q])){q[Q]=!1;continue}let G=L0(U[Z].rawIn,U[Q].rawIn,U[0].$);if(G instanceof V)continue;if(!X)R5(U[Z],U[Q]);if(G.equals(U[Z].rawIn))q[Z]=!!X;else if(G.equals(U[Q].rawIn))q[Q]=!1}return U.filter((Z,Q)=>q[Q])},R5=(U,X)=>{if(!U.includesTransform&&!X.includesTransform)return;if(!g0(U.shallowMorphs,X.shallowMorphs))F(Iq(U.expression,X.expression));if(!g0(U.flatMorphs,X.flatMorphs,{isEqual:(q,Z)=>q.propString===Z.propString&&(q.node.hasKind("morph")&&Z.node.hasKind("morph")?q.node.hasEqualMorphs(Z.node):q.node.hasKind("intersection")&&Z.node.hasKind("intersection")?q.node.structure?.structuralMorphRef===Z.node.structure?.structuralMorphRef:!1)}))F(Iq(U.expression,X.expression))},Pq=(U,X)=>U.transform((q,Z)=>{if(q==="domain"||q==="unit")return null;return Z},{shouldTransform:(q,Z)=>{let Q=Nq(Z.path);if(!X.optionallyChainedPropString.startsWith(Q))return!1;if(q.hasKind("domain")&&q.domain==="object")return!0;if((q.hasKind("domain")||X.kind==="unit")&&Q===X.optionallyChainedPropString)return!0;return q.children.length!==0&&q.kind!=="index"}}),Iq=(U,X)=>`An unordered union of a type including a morph and a type with overlapping input is indeterminate:
176
+ Left: ${U}
177
+ Right: ${X}`,D5=(U,X)=>`The intersection of two ordered unions is indeterminate:
178
+ Left: ${U}
179
+ Right: ${X}`;var M5=b({kind:"unit",hasAssociatedError:!0,keys:{unit:{preserveUndefined:!0,serialize:(U)=>U instanceof Date?U.toISOString():F0(U)}},normalize:(U)=>U,defaults:{description:(U)=>E(U.unit),problem:({expected:U,actual:X})=>`${U===X?`must be reference equal to ${U} (serialized to the same value)`:`must be ${U} (was ${X})`}`},intersections:{unit:(U,X)=>V.init("unit",U,X),...S0("unit",(U,X)=>{if(X.allows(U.unit))return U;let q=X.hasKind("intersection")?X.basis:X;if(q){let Z=q.hasKind("domain")?q:T.intrinsic.object;if(U.domain!==Z.domain){let Q=U.domain==="undefined"||U.domain==="null"||U.domain==="boolean"?U.domain:T.intrinsic[U.domain];return V.init("domain",Q,Z)}}return V.init("assignability",U,X.hasKind("intersection")?X.children.find((Z)=>!Z.allows(U.unit)):X)})}});class Sq extends _1{compiledValue=this.json.unit;serializedValue=typeof this.unit==="string"||this.unit instanceof Date?JSON.stringify(this.compiledValue):`${this.compiledValue}`;compiledCondition=Cq(this.unit,this.serializedValue);compiledNegation=Cq(this.unit,this.serializedValue,"negated");expression=E(this.unit);domain=r(this.unit);get defaultShortDescription(){return this.domain==="object"?G0.object:this.description}innerToJsonSchema(U){return this.unit===null?{type:"null"}:T.intrinsic.jsonPrimitive.allows(this.unit)?{const:this.unit}:U.fallback.unit({code:"unit",base:{},unit:this.unit})}traverseAllows=this.unit instanceof Date?(U)=>U instanceof Date&&U.toISOString()===this.compiledValue:Number.isNaN(this.unit)?(U)=>Number.isNaN(U):(U)=>U===this.unit}var _4={implementation:M5,Node:Sq},Cq=(U,X,q)=>{if(U instanceof Date){let Z=`data instanceof Date && data.toISOString() === ${X}`;return q?`!(${Z})`:Z}if(Number.isNaN(U))return`${q?"!":""}Number.isNaN(data)`;return`data ${q?"!":"="}== ${X}`};var w5=b({kind:"index",hasAssociatedError:!1,intersectionIsOpen:!0,keys:{signature:{child:!0,parse:(U,X)=>{let q=X.$.parseSchema(U);if(!q.extends(T.intrinsic.key))return F(I5(q.expression));let Z=q.branches.filter((Q)=>Q.hasKind("unit"));if(Z.length)return F(P5(Z.map((Q)=>E(Q.unit))));return q}},value:{child:!0,parse:(U,X)=>X.$.parseSchema(U)}},normalize:(U)=>U,defaults:{description:(U)=>`[${U.signature.expression}]: ${U.value.description}`},intersections:{index:(U,X,q)=>{if(U.signature.equals(X.signature)){let Z=u(U.value,X.value,q),Q=Z instanceof V?T.intrinsic.never.internal:Z;return q.$.node("index",{signature:U.signature,value:Q})}if(U.signature.extends(X.signature)&&U.value.subsumes(X.value))return X;if(X.signature.extends(U.signature)&&X.value.subsumes(U.value))return U;return null}}});class Eq extends A0{impliedBasis=T.intrinsic.object.internal;expression=`[${this.signature.expression}]: ${this.value.expression}`;flatRefs=g(this.value.flatRefs.map((U)=>w0([this.signature,...U.path],U.node)),w0([this.signature],this.value));traverseAllows=(U,X)=>Y1(U).every((q)=>{if(this.signature.traverseAllows(q[0],X))return W0(q[0],()=>this.value.traverseAllows(q[1],X),X);return!0});traverseApply=(U,X)=>{for(let q of Y1(U))if(this.signature.traverseAllows(q[0],X))W0(q[0],()=>this.value.traverseApply(q[1],X),X)};_transform(U,X){X.path.push(this.signature);let q=super._transform(U,X);return X.path.pop(),q}compile(){}}var $4={implementation:w5,Node:Eq},P5=(U)=>`Index keys ${U.join(", ")} should be specified as named props.`,I5=(U)=>`Indexed key definition '${U}' must be a string or symbol`;var K5=b({kind:"required",hasAssociatedError:!0,intersectionIsOpen:!0,keys:{key:{},value:{child:!0,parse:(U,X)=>X.$.parseSchema(U)}},normalize:(U)=>U,defaults:{description:(U)=>`${U.compiledKey}: ${U.value.description}`,expected:(U)=>U.missingValueDescription,actual:()=>"missing"},intersections:{required:T2,optional:T2}});class bq extends O2{expression=`${this.compiledKey}: ${this.value.expression}`;errorContext=Object.freeze({code:"required",missingValueDescription:this.value.defaultShortDescription,relativePath:[this.key],meta:this.meta});compiledErrorContext=i0(this.errorContext)}var z4={implementation:K5,Node:bq};var N5=b({kind:"sequence",hasAssociatedError:!1,collapsibleKey:"variadic",keys:{prefix:{child:!0,parse:(U,X)=>{if(U.length===0)return;return U.map((q)=>X.$.parseSchema(q))}},optionals:{child:!0,parse:(U,X)=>{if(U.length===0)return;return U.map((q)=>X.$.parseSchema(q))}},defaultables:{child:(U)=>U.map((X)=>X[0]),parse:(U,X)=>{if(U.length===0)return;return U.map((q)=>{let Z=X.$.parseSchema(q[0]);return B2(Z,q[1],null),[Z,q[1]]})},serialize:(U)=>U.map((X)=>[X[0].collapsibleJson,F0(X[1])]),reduceIo:(U,X,q)=>{if(U==="in"){X.optionals=q.map((Z)=>Z[0].rawIn);return}X.prefix=q.map((Z)=>Z[0].rawOut);return}},variadic:{child:!0,parse:(U,X)=>X.$.parseSchema(U,X)},minVariadicLength:{parse:(U)=>U===0?void 0:U},postfix:{child:!0,parse:(U,X)=>{if(U.length===0)return;return U.map((q)=>X.$.parseSchema(q))}}},normalize:(U)=>{if(typeof U==="string")return{variadic:U};if("variadic"in U||"prefix"in U||"defaultables"in U||"optionals"in U||"postfix"in U||"minVariadicLength"in U){if(U.postfix?.length){if(!U.variadic)return F(b5);if(U.optionals?.length||U.defaultables?.length)return F(A4)}if(U.minVariadicLength&&!U.variadic)return F("minVariadicLength may not be specified without a variadic element");return U}return{variadic:U}},reduce:(U,X)=>{let q=U.minVariadicLength??0,Z=U.prefix?.slice()??[],Q=U.defaultables?.slice()??[],G=U.optionals?.slice()??[],Y=U.postfix?.slice()??[];if(U.variadic){while(G[G.length-1]?.equals(U.variadic))G.pop();if(G.length===0&&Q.length===0)while(Z[Z.length-1]?.equals(U.variadic))Z.pop(),q++;while(Y[0]?.equals(U.variadic))Y.shift(),q++}else if(G.length===0&&Q.length===0)Z.push(...Y.splice(0));if(q!==U.minVariadicLength||U.prefix&&U.prefix.length!==Z.length)return X.node("sequence",{...U,prefix:Z,defaultables:Q,optionals:G,postfix:Y,minVariadicLength:q},{prereduced:!0})},defaults:{description:(U)=>{if(U.isVariadicOnly)return`${U.variadic.nestableExpression}[]`;return`[${U.tuple.map((q)=>q.kind==="defaultables"?`${q.node.nestableExpression} = ${E(q.default)}`:q.kind==="optionals"?`${q.node.nestableExpression}?`:q.kind==="variadic"?`...${q.node.nestableExpression}[]`:q.node.expression).join(", ")}]`}},intersections:{sequence:(U,X,q)=>{let Z=w2({l:U.tuple,r:X.tuple,disjoint:new V,result:[],fixedVariants:[],ctx:q}),Q=Z.disjoint.length===0?[Z,...Z.fixedVariants]:Z.fixedVariants;return Q.length===0?Z.disjoint:Q.length===1?q.$.node("sequence",jq(Q[0].result)):q.$.node("union",Q.map((G)=>({proto:Array,sequence:jq(G.result)})))}}});class gq extends A0{impliedBasis=T.intrinsic.Array.internal;tuple=E5(this.inner);prefixLength=this.prefix?.length??0;defaultablesLength=this.defaultables?.length??0;optionalsLength=this.optionals?.length??0;postfixLength=this.postfix?.length??0;defaultablesAndOptionals=[];prevariadic=this.tuple.filter((U)=>{if(U.kind==="defaultables"||U.kind==="optionals")return this.defaultablesAndOptionals.push(U.node),!0;return U.kind==="prefix"});variadicOrPostfix=f0(this.variadic&&[this.variadic],this.postfix);flatRefs=this.addFlatRefs();addFlatRefs(){return pU(this.flatRefs,this.prevariadic.flatMap((U,X)=>g(U.node.flatRefs.map((q)=>w0([`${X}`,...q.path],q.node)),w0([`${X}`],U.node)))),pU(this.flatRefs,this.variadicOrPostfix.flatMap((U)=>g(U.flatRefs.map((X)=>w0([T.intrinsic.nonNegativeIntegerString.internal,...X.path],X.node)),w0([T.intrinsic.nonNegativeIntegerString.internal],U)))),this.flatRefs}isVariadicOnly=this.prevariadic.length+this.postfixLength===0;minVariadicLength=this.inner.minVariadicLength??0;minLength=this.prefixLength+this.minVariadicLength+this.postfixLength;minLengthNode=this.minLength===0?null:this.$.node("minLength",this.minLength);maxLength=this.variadic?null:this.tuple.length;maxLengthNode=this.maxLength===null?null:this.$.node("maxLength",this.maxLength);impliedSiblings=this.minLengthNode?this.maxLengthNode?[this.minLengthNode,this.maxLengthNode]:[this.minLengthNode]:this.maxLengthNode?[this.maxLengthNode]:[];defaultValueMorphs=S5(this);defaultValueMorphsReference=this.defaultValueMorphs.length?d(this.defaultValueMorphs):void 0;elementAtIndex(U,X){if(X<this.prevariadic.length)return this.tuple[X];let q=U.length-this.postfixLength;if(X>=q)return{kind:"postfix",node:this.postfix[X-q]};return{kind:"variadic",node:this.variadic??y(`Unexpected attempt to access index ${X} on ${this}`)}}traverseAllows=(U,X)=>{for(let q=0;q<U.length;q++)if(!this.elementAtIndex(U,q).node.traverseAllows(U[q],X))return!1;return!0};traverseApply=(U,X)=>{let q=0;for(;q<U.length;q++)W0(q,()=>this.elementAtIndex(U,q).node.traverseApply(U[q],X),X)};get element(){return this.cacheGetter("element",this.$.node("union",this.children))}compile(U){if(this.prefix)for(let[X,q]of this.prefix.entries())U.traverseKey(`${X}`,`data[${X}]`,q);for(let[X,q]of this.defaultablesAndOptionals.entries()){let Z=`${X+this.prefixLength}`;U.if(`${Z} >= data.length`,()=>U.traversalKind==="Allows"?U.return(!0):U.return()),U.traverseKey(Z,`data[${Z}]`,q)}if(this.variadic){if(this.postfix)U.const("firstPostfixIndex",`data.length${this.postfix?`- ${this.postfix.length}`:""}`);if(U.for(`i < ${this.postfix?"firstPostfixIndex":"data.length"}`,()=>U.traverseKey("i","data[i]",this.variadic),this.prevariadic.length),this.postfix)for(let[X,q]of this.postfix.entries()){let Z=`firstPostfixIndex + ${X}`;U.traverseKey(Z,`data[${Z}]`,q)}}if(U.traversalKind==="Allows")U.return(!0)}_transform(U,X){X.path.push(T.intrinsic.nonNegativeIntegerString.internal);let q=super._transform(U,X);return X.path.pop(),q}expression=this.description;reduceJsonSchema(U,X){let q=X.target==="draft-07";if(this.prevariadic.length){let Z=this.prevariadic.map((Q)=>{let G=Q.node.toJsonSchemaRecurse(X);if(Q.kind==="defaultables"){let Y=typeof Q.default==="function"?Q.default():Q.default;G.default=T.intrinsic.jsonData.allows(Y)?Y:X.fallback.defaultValue({code:"defaultValue",base:G,value:Y})}return G});if(q)U.items=Z;else U.prefixItems=Z}if(this.minLength)U.minItems=this.minLength;if(this.variadic){let Z=this.variadic.toJsonSchemaRecurse(X);if(q&&this.prevariadic.length)U.additionalItems=Z;else U.items=Z;if(this.maxLength)U.maxItems=this.maxLength;if(this.postfix){let Q=this.postfix.map((G)=>G.toJsonSchemaRecurse(X));U=X.fallback.arrayPostfix({code:"arrayPostfix",base:U,elements:Q})}}else{if(q)U.additionalItems=!1;else U.items=!1;delete U.maxItems}return U}}var C5={},S5=(U)=>{if(!U.defaultables)return[];let X=[],q="[",Z=U.prefixLength+U.defaultablesLength-1;for(let Q=U.prefixLength;Q<=Z;Q++){let[G,Y]=U.defaultables[Q-U.prefixLength];X.push(Y4(Q,G,Y)),q+=`${Q}: ${G.id} = ${F0(Y)}, `}return q+="]",C5[q]??=X},F4={implementation:N5,Node:gq},E5=(U)=>{let X=[];if(U.prefix)for(let q of U.prefix)X.push({kind:"prefix",node:q});if(U.defaultables)for(let[q,Z]of U.defaultables)X.push({kind:"defaultables",node:q,default:Z});if(U.optionals)for(let q of U.optionals)X.push({kind:"optionals",node:q});if(U.variadic)X.push({kind:"variadic",node:U.variadic});if(U.postfix)for(let q of U.postfix)X.push({kind:"postfix",node:q});return X},jq=(U)=>U.reduce((X,q)=>{if(q.kind==="variadic")X.variadic=q.node;else if(q.kind==="defaultables")X.defaultables=g(X.defaultables,[[q.node,q.default]]);else X[q.kind]=g(X[q.kind],q.node);return X},{}),A4="A postfix required element cannot follow an optional or defaultable element",b5="A postfix element requires a variadic element",w2=(U)=>{let[X,...q]=U.l,[Z,...Q]=U.r;if(!X||!Z)return U;let G=q[q.length-1]?.kind==="postfix",Y=Q[Q.length-1]?.kind==="postfix",H=X.kind==="prefix"||Z.kind==="prefix"?"prefix":X.kind==="postfix"||Z.kind==="postfix"?"postfix":X.kind==="variadic"&&Z.kind==="variadic"?"variadic":G||Y?"prefix":X.kind==="defaultables"||Z.kind==="defaultables"?"defaultables":"optionals";if(X.kind==="prefix"&&Z.kind==="variadic"&&Y){let L=w2({...U,fixedVariants:[],r:Q.map(($)=>({...$,kind:"prefix"}))});if(L.disjoint.length===0)U.fixedVariants.push(L)}else if(Z.kind==="prefix"&&X.kind==="variadic"&&G){let L=w2({...U,fixedVariants:[],l:q.map(($)=>({...$,kind:"prefix"}))});if(L.disjoint.length===0)U.fixedVariants.push(L)}let J=u(X.node,Z.node,U.ctx);if(J instanceof V)if(H==="prefix"||H==="postfix")U.disjoint.push(...J.withPrefixKey(H==="prefix"?U.result.length:`-${q.length+1}`,fq(X)&&fq(Z)?"required":"optional")),U.result=[...U.result,{kind:H,node:T.intrinsic.never.internal}];else if(H==="optionals"||H==="defaultables")return U;else return w2({...U,fixedVariants:[],l:q.map((L)=>({...L,kind:"prefix"})),r:q.map((L)=>({...L,kind:"prefix"}))});else if(H==="defaultables"){if(X.kind==="defaultables"&&Z.kind==="defaultables"&&X.default!==Z.default)F(G4(X.default,Z.default));U.result=[...U.result,{kind:H,node:J,default:X.kind==="defaultables"?X.default:Z.kind==="defaultables"?Z.default:y(`Unexpected defaultable intersection from ${X.kind} and ${Z.kind} elements.`)}]}else U.result=[...U.result,{kind:H,node:J}];let W=U.l.length,_=U.r.length;if(X.kind!=="variadic"||W>=_&&(Z.kind==="variadic"||_===1))U.l=q;if(Z.kind!=="variadic"||_>=W&&(X.kind==="variadic"||W===1))U.r=Q;return w2(U)},fq=(U)=>U.kind==="prefix"||U.kind==="postfix";var xq=(U)=>(X)=>{if(X.props.length||X.index){let q=X.index?.map((Q)=>Q[U])??[];for(let Q of X.props)q.push(Q[U]);if(X.undeclared)q.push(`+ (undeclared): ${X.undeclared}`);let Z=`{ ${q.join(", ")} }`;return X.sequence?`${Z} & ${X.sequence.description}`:Z}return X.sequence?.description??"{}"},j5=xq("description"),f5=xq("expression"),yq=(U,X,q)=>{let Z=U.required?"required":"optional";if(!X.signature.allows(U.key))return null;let Q=L0(U.value,X.value,q);if(Q instanceof V)return Z==="optional"?q.node("optional",{key:U.key,value:T.intrinsic.never.internal}):Q.withPrefixKey(U.key,U.kind);return null},g5=b({kind:"structure",hasAssociatedError:!1,normalize:(U)=>U,applyConfig:(U,X)=>{if(!U.undeclared&&X.onUndeclaredKey!=="ignore")return{...U,undeclared:X.onUndeclaredKey};return U},keys:{required:{child:!0,parse:U0("required"),reduceIo:(U,X,q)=>{X.required=g(X.required,q.map((Z)=>U==="in"?Z.rawIn:Z.rawOut));return}},optional:{child:!0,parse:U0("optional"),reduceIo:(U,X,q)=>{if(U==="in"){X.optional=q.map((Z)=>Z.rawIn);return}for(let Z of q)X[Z.outProp.kind]=g(X[Z.outProp.kind],Z.outProp.rawOut)}},index:{child:!0,parse:U0("index")},sequence:{child:!0,parse:U0("sequence")},undeclared:{parse:(U)=>U==="ignore"?void 0:U,reduceIo:(U,X,q)=>{if(q==="reject"){X.undeclared="reject";return}if(U==="in")delete X.undeclared;else X.undeclared="reject"}}},defaults:{description:j5},intersections:{structure:(U,X,q)=>{let Z={...U.inner},Q={...X.inner},G=new V;if(U.undeclared){let J=U.keyof();for(let W of X.requiredKeys)if(!J.allows(W))G.add("presence",T.intrinsic.never.internal,X.propsByKey[W].value,{path:[W]});if(Q.optional)Q.optional=Q.optional.filter((W)=>J.allows(W.key));if(Q.index)Q.index=Q.index.flatMap((W)=>{if(W.signature.extends(J))return W;let _=L0(J,W.signature,q.$);if(_ instanceof V)return[];let L=V6(_,W.value,q.$);if(L.required)Q.required=f0(Q.required,L.required);if(L.optional)Q.optional=f0(Q.optional,L.optional);return L.index??[]})}if(X.undeclared){let J=X.keyof();for(let W of U.requiredKeys)if(!J.allows(W))G.add("presence",U.propsByKey[W].value,T.intrinsic.never.internal,{path:[W]});if(Z.optional)Z.optional=Z.optional.filter((W)=>J.allows(W.key));if(Z.index)Z.index=Z.index.flatMap((W)=>{if(W.signature.extends(J))return W;let _=L0(J,W.signature,q.$);if(_ instanceof V)return[];let L=V6(_,W.value,q.$);if(L.required)Z.required=f0(Z.required,L.required);if(L.optional)Z.optional=f0(Z.optional,L.optional);return L.index??[]})}let Y={};if(U.undeclared||X.undeclared)Y.undeclared=U.undeclared==="reject"||X.undeclared==="reject"?"reject":"delete";let H=E1({kind:"structure",baseInner:Y,l:b1(Z),r:b1(Q),roots:[],ctx:q});if(H instanceof V)G.push(...H);if(G.length)return G;return H}},reduce:(U,X)=>{if(!U.required&&!U.optional)return;let q={},Z=!1,Q=U.optional?[...U.optional]:[];if(U.required)for(let G=0;G<U.required.length;G++){let Y=U.required[G];if(Y.key in q)F(vq(Y.key));if(q[Y.key]=!0,U.index)for(let H of U.index){let J=yq(Y,H,X);if(J instanceof V)return J}}if(U.optional)for(let G=0;G<U.optional.length;G++){let Y=U.optional[G];if(Y.key in q)F(vq(Y.key));if(q[Y.key]=!0,U.index)for(let H of U.index){let J=yq(Y,H,X);if(J instanceof V)return J;if(J!==null)Q[G]=J,Z=!0}}if(Z)return X.node("structure",{...U,optional:Q},{prereduced:!0})}});class hq extends A0{impliedBasis=T.intrinsic.object.internal;impliedSiblings=this.children.flatMap((U)=>U.impliedSiblings??[]);props=f0(this.required,this.optional);propsByKey=S(this.props,(U,X)=>[X.key,X]);propsByKeyReference=d(this.propsByKey);expression=f5(this);requiredKeys=this.required?.map((U)=>U.key)??[];optionalKeys=this.optional?.map((U)=>U.key)??[];literalKeys=[...this.requiredKeys,...this.optionalKeys];_keyof;keyof(){if(this._keyof)return this._keyof;let U=this.$.units(this.literalKeys).branches;if(this.index)for(let{signature:X}of this.index)U=U.concat(X.branches);return this._keyof=this.$.node("union",U)}map(U){return this.$.node("structure",this.props.flatMap(U).reduce((X,q)=>{let Z=this.propsByKey[q.key];if(h(q)){if(q.kind!=="required"&&q.kind!=="optional")return F(`Map result must have kind "required" or "optional" (was ${q.kind})`);return X[q.kind]=g(X[q.kind],q),X}let Q=q.kind??Z?.kind??"required",G=S(q,(Y,H)=>(Y in V2.implementation.keys)?[Y,H]:[]);return X[Q]=g(X[Q],this.$.node(Q,G)),X},{}))}assertHasKeys(U){let X=U.filter((q)=>!R2(q,this.keyof()));if(X.length)return F(kq(this.expression,X))}get(U,...X){let q,Z=!1,Q=x5(U);if((typeof Q==="string"||typeof Q==="symbol")&&this.propsByKey[Q])q=this.propsByKey[Q].value,Z=this.propsByKey[Q].required;if(this.index){for(let Y of this.index)if(R2(Q,Y.signature))q=q?.and(Y.value)??Y.value}if(this.sequence&&R2(Q,T.intrinsic.nonNegativeIntegerString))if(M(Q,"root")){if(this.sequence.variadic)q=q?.and(this.sequence.element)??this.sequence.element}else{let Y=Number.parseInt(Q);if(Y<this.sequence.prevariadic.length){let H=this.sequence.prevariadic[Y].node;q=q?.and(H)??H,Z||=Y<this.sequence.prefixLength}else if(this.sequence.variadic){let H=this.$.node("union",this.sequence.variadicOrPostfix);q=q?.and(H)??H}}if(!q){if(this.sequence?.variadic&&M(Q,"root")&&Q.extends(T.intrinsic.number))return F(h5(Q.expression,this.sequence.expression));return F(kq(this.expression,[Q]))}let G=q.get(...X);return Z?G:G.or(T.intrinsic.undefined)}pick(...U){return this.assertHasKeys(U),this.$.node("structure",this.filterKeys("pick",U))}omit(...U){return this.assertHasKeys(U),this.$.node("structure",this.filterKeys("omit",U))}optionalize(){let{required:U,...X}=this.inner;return this.$.node("structure",{...X,optional:this.props.map((q)=>q.hasKind("required")?this.$.node("optional",q.inner):q)})}require(){let{optional:U,...X}=this.inner;return this.$.node("structure",{...X,required:this.props.map((q)=>q.hasKind("optional")?{key:q.key,value:q.value}:q)})}merge(U){let X=this.filterKeys("omit",[U.keyof()]);if(U.required)X.required=g(X.required,U.required);if(U.optional)X.optional=g(X.optional,U.optional);if(U.index)X.index=g(X.index,U.index);if(U.sequence)X.sequence=U.sequence;if(U.undeclared)X.undeclared=U.undeclared;else delete X.undeclared;return this.$.node("structure",X)}filterKeys(U,X){let q=H6(this.inner),Z=(Q)=>{let G=X.some((Y)=>R2(Q,Y));return U==="pick"?G:!G};if(q.required)q.required=q.required.filter((Q)=>Z(Q.key));if(q.optional)q.optional=q.optional.filter((Q)=>Z(Q.key));if(q.index)q.index=q.index.filter((Q)=>Z(Q.signature));return q}traverseAllows=(U,X)=>this._traverse("Allows",U,X);traverseApply=(U,X)=>this._traverse("Apply",U,X);_traverse=(U,X,q)=>{let Z=q?.currentErrorCount??0;for(let Q=0;Q<this.props.length;Q++)if(U==="Allows"){if(!this.props[Q].traverseAllows(X,q))return!1}else if(this.props[Q].traverseApply(X,q),q.failFast&&q.currentErrorCount>Z)return!1;if(this.sequence){if(U==="Allows"){if(!this.sequence.traverseAllows(X,q))return!1}else if(this.sequence.traverseApply(X,q),q.failFast&&q.currentErrorCount>Z)return!1}if(this.index||this.undeclared==="reject"){let Q=Object.keys(X);Q.push(...Object.getOwnPropertySymbols(X));for(let G=0;G<Q.length;G++){let Y=Q[G];if(this.index){for(let H of this.index)if(H.signature.traverseAllows(Y,q)){if(U==="Allows"){if(!W0(Y,()=>H.value.traverseAllows(X[Y],q),q))return!1}else if(W0(Y,()=>H.value.traverseApply(X[Y],q),q),q.failFast&&q.currentErrorCount>Z)return!1}}if(this.undeclared==="reject"&&!this.declaresKey(Y)){if(U==="Allows")return!1;if(q.errorFromNodeContext({code:"predicate",expected:"removed",actual:"",relativePath:[Y],meta:this.meta}),q.failFast)return!1}}}if(this.structuralMorph&&q&&!q.hasError())q.queueMorphs([this.structuralMorph]);return!0};get defaultable(){return this.cacheGetter("defaultable",this.optional?.filter((U)=>U.hasDefault())??[])}declaresKey=(U)=>(U in this.propsByKey)||this.index?.some((X)=>X.signature.allows(U))||this.sequence!==void 0&&T.intrinsic.nonNegativeIntegerString.allows(U);_compileDeclaresKey(U){let X=[];if(this.props.length)X.push(`k in ${this.propsByKeyReference}`);if(this.index)for(let q of this.index)X.push(U.invoke(q.signature,{kind:"Allows",arg:"k"}));if(this.sequence)X.push("$ark.intrinsic.nonNegativeIntegerString.allows(k)");return X.join(" || ")||"false"}get structuralMorph(){return this.cacheGetter("structuralMorph",k5(this))}structuralMorphRef=this.structuralMorph&&d(this.structuralMorph);compile(U){if(U.traversalKind==="Apply")U.initializeErrorCount();for(let X of this.props)if(U.check(X),U.traversalKind==="Apply")U.returnIfFailFast();if(this.sequence){if(U.check(this.sequence),U.traversalKind==="Apply")U.returnIfFailFast()}if(this.index||this.undeclared==="reject")U.const("keys","Object.keys(data)"),U.line("keys.push(...Object.getOwnPropertySymbols(data))"),U.for("i < keys.length",()=>this.compileExhaustiveEntry(U));if(U.traversalKind==="Allows")return U.return(!0);if(this.structuralMorphRef)U.if("ctx && !ctx.hasError()",()=>{return U.line("ctx.queueMorphs(["),v5(U,this),U.line("])")})}compileExhaustiveEntry(U){if(U.const("k","keys[i]"),this.index)for(let X of this.index)U.if(`${U.invoke(X.signature,{arg:"k",kind:"Allows"})}`,()=>U.traverseKey("k","data[k]",X.value));if(this.undeclared==="reject")U.if(`!(${this._compileDeclaresKey(U)})`,()=>{if(U.traversalKind==="Allows")return U.return(!1);return U.line(`ctx.errorFromNodeContext({ code: "predicate", expected: "removed", actual: "", relativePath: [k], meta: ${this.compiledMeta} })`).if("ctx.failFast",()=>U.return())});return U}reduceJsonSchema(U,X){switch(U.type){case"object":return this.reduceObjectJsonSchema(U,X);case"array":let q=this.sequence?.reduceJsonSchema(U,X)??U;if(this.props.length||this.index)return X.fallback.arrayObject({code:"arrayObject",base:q,object:this.reduceObjectJsonSchema({type:"object"},X)});return q;default:return p.throwInternalOperandError("structure",U)}}reduceObjectJsonSchema(U,X){if(this.props.length){U.properties={};for(let q of this.props){let Z=q.value.toJsonSchemaRecurse(X);if(typeof q.key==="symbol"){X.fallback.symbolKey({code:"symbolKey",base:U,key:q.key,value:Z,optional:q.optional});continue}if(q.hasDefault()){let Q=typeof q.default==="function"?q.default():q.default;Z.default=T.intrinsic.jsonData.allows(Q)?Q:X.fallback.defaultValue({code:"defaultValue",base:Z,value:Q})}U.properties[q.key]=Z}if(this.requiredKeys.length&&U.properties)U.required=this.requiredKeys.filter((q)=>typeof q==="string"&&(q in U.properties))}if(this.index)for(let q of this.index){let Z=q.value.toJsonSchemaRecurse(X);if(q.signature.equals(T.intrinsic.string)){U.additionalProperties=Z;continue}for(let Q of q.signature.branches){if(!Q.extends(T.intrinsic.string)){U=X.fallback.symbolKey({code:"symbolKey",base:U,key:null,value:Z,optional:!1});continue}let G={type:"string"};if(Q.hasKind("morph"))G=X.fallback.morph({code:"morph",base:Q.rawIn.toJsonSchemaRecurse(X),out:Q.rawOut.toJsonSchemaRecurse(X)});if(!Q.hasKind("intersection"))return y(`Unexpected index branch kind ${Q.kind}.`);let{pattern:Y}=Q.inner;if(Y){let H=Object.assign(G,{pattern:Y[0].rule});for(let J=1;J<Y.length;J++)G=X.fallback.patternIntersection({code:"patternIntersection",base:H,pattern:Y[J].rule});U.patternProperties??={},U.patternProperties[H.pattern]=Z}}}if(this.undeclared&&!U.additionalProperties)U.additionalProperties=!1;return U}}var T4={},y5=(U)=>{let X="";for(let q=0;q<U.defaultable.length;q++)X+=U.defaultable[q].defaultValueMorphRef;if(U.sequence?.defaultValueMorphsReference)X+=U.sequence?.defaultValueMorphsReference;if(U.undeclared==="delete"){if(X+="delete !(",U.required)for(let q of U.required)X+=q.compiledKey+" | ";if(U.optional)for(let q of U.optional)X+=q.compiledKey+" | ";if(U.index)for(let q of U.index)X+=q.signature.id+" | ";if(U.sequence)if(U.sequence.maxLength===null)X+=I.nonNegativeIntegerString.id;else for(let q=0;q<U.sequence.tuple.length;q++)X+=q+" | ";X+=")"}return X},k5=(U)=>{let X=y5(U);if(!X)return;if(T4[X])return T4[X];let q=(Z,Q)=>{for(let G=0;G<U.defaultable.length;G++)if(!(U.defaultable[G].key in Z))U.defaultable[G].defaultValueMorph(Z,Q);if(U.sequence?.defaultables)for(let G=Z.length-U.sequence.prefixLength;G<U.sequence.defaultables.length;G++)U.sequence.defaultValueMorphs[G](Z,Q);if(U.undeclared==="delete"){for(let G in Z)if(!U.declaresKey(G))delete Z[G]}return Z};return T4[X]=q},v5=(U,X)=>{let Z=`(data${X.defaultable.some((Q)=>Q.defaultValueMorph.length===2)||X.sequence?.defaultValueMorphs.some((Q)=>Q.length===2)?", ctx":""})`;return U.block(`${Z} => `,(Q)=>{for(let G=0;G<X.defaultable.length;G++){let{serializedKey:Y,defaultValueMorphRef:H}=X.defaultable[G];Q.if(`!(${Y} in data)`,(J)=>J.line(`${H}${Z}`))}if(X.sequence?.defaultables)Q.for(`i < ${X.sequence.defaultables.length}`,(G)=>G.set("data[i]",5),`data.length - ${X.sequence.prefixLength}`);if(X.undeclared==="delete")Q.forIn("data",(G)=>G.if(`!(${X._compileDeclaresKey(G)})`,(Y)=>Y.line("delete data[k]")));return Q.return("data")})},O4={implementation:g5,Node:hq},x5=(U)=>{if(M(U,"root")&&U.hasKind("unit"))U=U.unit;if(typeof U==="number")U=`${U}`;return U},h5=(U,X)=>`${U} is not allowed as an array index on ${X}. Use the 'nonNegativeIntegerString' keyword instead.`,V6=(U,X,q)=>{let[Z,Q]=XX(U.branches,(Y)=>Y.hasKind("unit"));if(!Z.length)return{index:q.node("index",{signature:U,value:X})};let G={};for(let Y of Z){let H=q.node("required",{key:Y.unit,value:X});G[H.kind]=g(G[H.kind],H)}if(Q.length)G.index=q.node("index",{signature:Q,value:X});return G},u5=(U)=>M(U,"root")?U.expression:E(U),kq=(U,X)=>`Key${X.length===1?"":"s"} ${X.map(u5).join(", ")} ${X.length===1?"does":"do"} not exist on ${U}`,vq=(U)=>`Duplicate key ${D0(U)}`;var f1={...Gq,alias:D2.implementation,domain:O6.implementation,unit:_4.implementation,proto:M2.implementation,union:L4.implementation,morph:J4.implementation,intersection:H4.implementation,divisor:oU.implementation,pattern:X4.implementation,predicate:iU.implementation,required:z4.implementation,optional:V2.implementation,index:$4.implementation,sequence:F4.implementation,structure:O4.implementation};T.defaultConfig=LX(Object.assign(S(f1,(U,X)=>[U,X.defaults]),{jitless:TX(),clone:zX,onUndeclaredKey:"ignore",exactOptionalPropertyTypes:!0,numberAllowsNaN:!1,dateAllowsInvalid:!1,onFail:null,keywords:{},toJsonSchema:p.defaultConfig}));T.resolvedConfig=_2(T.defaultConfig,T.config);var _q={...Yq,alias:D2.Node,domain:O6.Node,unit:_4.Node,proto:M2.Node,union:L4.Node,morph:J4.Node,intersection:H4.Node,divisor:oU.Node,pattern:X4.Node,predicate:iU.Node,required:z4.Node,optional:V2.Node,index:$4.Node,sequence:F4.Node,structure:O4.Node};class k1 extends NU{get[X0](){return"module"}}var V4=(U,X)=>new k1(S(U,(q,Z)=>[q,M(Z,"module")?V4(Z,X):X.bindReference(Z)]));var m5=(U)=>x(U)?U:("branches"in U)&&x(U.branches)?U.branches:void 0,p5=(U,X)=>F(`Node of kind ${X} is not valid as a ${U} definition`),uq=(U)=>`#${U} duplicates public alias ${U}`,B4={};T.ambient??={};var mq,lq="function $",l5=(U)=>dq(U,cq(U)),dq=(U,X)=>{let q=X.write(lq,4),Z=X.compile()();for(let Q of U){if(Q.precompilation)continue;if(Q.traverseAllows=Z[`${Q.id}Allows`].bind(Z),Q.isRoot()&&!Q.allowsRequiresContext)Q.allows=Q.traverseAllows;if(Q.traverseApply=Z[`${Q.id}Apply`].bind(Z),Z[`${Q.id}Optimistic`])Q.traverseOptimistic=Z[`${Q.id}Optimistic`].bind(Z);Q.precompilation=q}},cq=(U)=>new Y6().return(U.reduce((X,q)=>{let Z=new L2({kind:"Allows"}).indent();q.compile(Z);let Q=Z.write(`${q.id}Allows`),G=new L2({kind:"Apply"}).indent();q.compile(G);let Y=G.write(`${q.id}Apply`),H=`${X}${Q},
180
+ ${Y},
181
+ `;if(!q.hasKind("union"))return H;let J=new L2({kind:"Allows",optimistic:!0}).indent();q.compile(J);let W=J.write(`${q.id}Optimistic`);return`${H}${W},
182
+ `},`{
183
+ `)+"}");class B6{config;resolvedConfig;name;get[X0](){return"scope"}referencesById={};references=[];resolutions={};exportedNames=[];aliases={};resolved=!1;nodesByHash={};intrinsic;constructor(U,X){if(this.config=_2(T.config,X),this.resolvedConfig=_2(T.resolvedConfig,X),this.name=this.resolvedConfig.name??`anonymousScope${Object.keys(B4).length}`,this.name in B4)F(`A Scope already named ${this.name} already exists`);B4[this.name]=this;let q=Object.entries(U).map((Z)=>this.preparseOwnAliasEntry(...Z));for(let[Z,Q]of q){let G=Z;if(Z[0]==="#"){if(G=Z.slice(1),G in this.aliases)F(uq(G));this.aliases[G]=Q}else{if(G in this.aliases)F(uq(Z));this.aliases[G]=Q,this.exportedNames.push(G)}if(!M(Q,"module")&&!M(Q,"generic")&&!l0(Q)){let Y=this.preparseOwnDefinitionFormat(Q,{alias:G});this.resolutions[G]=M(Y,"root")?this.bindReference(Y):this.createParseContext(Y).id}}mq??=this.node("union",{branches:["string","number","object","bigint","symbol",{unit:!0},{unit:!1},{unit:void 0},{unit:null}]},{prereduced:!0}),this.nodesByHash[mq.hash]=this.node("intersection",{},{prereduced:!0}),this.intrinsic=T.intrinsic?S(T.intrinsic,(Z,Q)=>Z.startsWith("json")?[]:[Z,this.bindReference(Q)]):{}}cacheGetter(U,X){return Object.defineProperty(this,U,{value:X}),X}get internal(){return this}_json;get json(){if(!this._json)this.export();return this._json}defineSchema(U){return U}generic=(...U)=>{let X=this;return(q,Z)=>new s0(U,Z?new _6(q):q,X,X,Z??null)};units=(U,X)=>{let q=[];for(let Q of U)if(!q.includes(Q))q.push(Q);let Z=q.map((Q)=>this.node("unit",{unit:Q},X));return this.node("union",Z,{...X,prereduced:!0})};lazyResolutions=[];lazilyResolve(U,X){let q=this.node("alias",{reference:X??"synthetic",resolve:U},{prereduced:!0});if(!this.resolved)this.lazyResolutions.push(q);return q}schema=(U,X)=>this.finalize(this.parseSchema(U,X));parseSchema=(U,X)=>this.node(A2(U),U,X);preparseNode(U,X,q){let Z=typeof U==="string"?U:A2(X,U);if(h(X)&&X.kind===Z)return X;if(Z==="alias"&&!q?.prereduced){let{reference:Y}=D2.implementation.normalize(X,this);if(Y.startsWith("$")){let H=this.resolveRoot(Y.slice(1));X=H,Z=H.kind}}else if(Z==="union"&&Q0(X,"object")){let Y=m5(X);if(Y?.length===1)X=Y[0],Z=A2(X)}if(h(X)&&X.kind===Z)return X;let G=f1[Z].normalize?.(X,this)??X;if(h(G))return G.kind===Z?G:p5(Z,G.kind);return{...q,$:this,kind:Z,def:G,prefix:q.alias??Z}}bindReference(U){let X;if(h(U))X=U.$===this?U:new U.constructor(U.attachments,this);else X=U.$===this?U:new s0(U.params,U.bodyDef,U.$,this,U.hkt);if(!this.resolved)Object.assign(this.referencesById,X.referencesById);return X}resolveRoot(U){return this.maybeResolveRoot(U)??F(M4(U))}maybeResolveRoot(U){let X=this.maybeResolve(U);if(M(X,"generic"))return;return X}maybeResolveSubalias(U){return R4(this.aliases,U)??R4(this.ambient,U)}get ambient(){return T.ambient}maybeResolve(U){let X=this.resolutions[U];if(X){if(typeof X!=="string")return this.bindReference(X);let Z=q0[X];if(M(Z,"root"))return this.resolutions[U]=Z;if(M(Z,"context")){if(Z.phase==="resolving")return this.node("alias",{reference:`$${U}`},{prereduced:!0});if(Z.phase==="resolved")return y(`Unexpected resolved context for was uncached by its scope: ${E(Z)}`);Z.phase="resolving";let Q=this.bindReference(this.parseOwnDefinitionFormat(Z.def,Z));return Z.phase="resolved",q0[Q.id]=Q,q0[Z.id]=Q,this.resolutions[U]=Q}return y(`Unexpected nodesById entry for ${X}: ${E(Z)}`)}let q=this.aliases[U]??this.ambient?.[U];if(!q)return this.maybeResolveSubalias(U);if(q=this.normalizeRootScopeValue(q),M(q,"generic"))return this.resolutions[U]=this.bindReference(q);if(M(q,"module")){if(!q.root)F(sq(U));return this.resolutions[U]=this.bindReference(q.root)}return this.resolutions[U]=this.parse(q,{alias:U})}createParseContext(U){let X=U.id??q4(U.prefix);return q0[X]=Object.assign(U,{[X0]:"context",$:this,id:X,phase:"unresolved"})}traversal(U){return new M0(U,this.resolvedConfig)}import(...U){return new k1(S(this.export(...U),(X,q)=>[`#${X}`,q]))}precompilation;_exportedResolutions;_exports;export(...U){if(!this._exports){this._exports={};for(let q of this.exportedNames){let Z=this.aliases[q];this._exports[q]=M(Z,"module")?V4(Z,this):pq(this.maybeResolve(q))}for(let q of this.lazyResolutions)q.resolution;if(this._exportedResolutions=oq(this,this._exports),this._json=iq(this._exportedResolutions),Object.assign(this.resolutions,this._exportedResolutions),this.references=Object.values(this.referencesById),!this.resolvedConfig.jitless){let q=cq(this.references);this.precompilation=q.write(lq,4),dq(this.references,q)}this.resolved=!0}let X=U.length?U:this.exportedNames;return new k1(S(X,(q,Z)=>[Z,this._exports[Z]]))}resolve(U){return this.export()[U]}node=(U,X,q={})=>{let Z=this.preparseNode(U,X,q);if(h(Z))return this.bindReference(Z);let Q=this.createParseContext(Z),G=Z4(Q),Y=this.bindReference(G);return q0[Q.id]=Y};parse=(U,X={})=>this.finalize(this.parseDefinition(U,X));parseDefinition(U,X={}){if(M(U,"root"))return this.bindReference(U);let q=this.preparseOwnDefinitionFormat(U,X);if(M(q,"root"))return this.bindReference(q);let Z=this.createParseContext(q);q0[Z.id]=Z;let Q=this.bindReference(this.parseOwnDefinitionFormat(U,Z));if(Q.isCyclic)Q=Lq(Q,Z.id);return q0[Z.id]=Q,Q}finalize(U){if(pq(U),!U.precompilation&&!this.resolvedConfig.jitless)l5(U.references);return U}}class D4 extends B6{parseOwnDefinitionFormat(U,X){return Z4(X)}preparseOwnDefinitionFormat(U,X){return this.preparseNode(A2(U),U,X)}preparseOwnAliasEntry(U,X){return[U,X]}normalizeRootScopeValue(U){return U}}var pq=(U)=>{let X=U.references.filter((q)=>q.hasKind("alias"));for(let q of X){Object.assign(q.referencesById,q.resolution.referencesById);for(let Z of U.references)if(q.id in Z.referencesById)Object.assign(Z.referencesById,q.referencesById)}return U},iq=(U)=>S(U,(X,q)=>[X,M(q,"root")||M(q,"generic")?q.json:M(q,"module")?iq(q):y(`Unexpected resolution ${E(q)}`)]),R4=(U,X)=>{let q=X.indexOf(".");if(q===-1)return;let Z=X.slice(0,q),Q=U[Z];if(Q===void 0)return;if(!M(Q,"module"))return F(d5(Z));let G=X.slice(q+1),Y=Q[G];if(Y===void 0)return R4(Q,G);if(M(Y,"root")||M(Y,"generic"))return Y;if(M(Y,"module"))return Y.root??F(sq(X));y(`Unexpected resolution for alias '${X}': ${E(Y)}`)},R6=(U,X)=>new D4(U,X),P2=new D4({});var oq=(U,X)=>{let q={};for(let Z in X){let Q=X[Z];if(M(Q,"module")){let G=oq(U,Q),Y=S(G,(H,J)=>[`${Z}.${H}`,J]);Object.assign(q,Y)}else if(M(Q,"root")||M(Q,"generic"))q[Z]=Q;else y(`Unexpected scope resolution ${E(Q)}`)}return q},M4=(U)=>`'${U}' is unresolvable`,d5=(U)=>`'${U}' must reference a module to be accessed using dot syntax`,sq=(U)=>`Reference to submodule '${U}' must specify an alias`;P2.export();var{schema:v,node:v1,defineSchema:Ww,generic:O0}=P2;var w4="^(?:0|[1-9]\\d*)$",c5=new RegExp(w4),$w=d(c5);var rq=R6({bigint:"bigint",boolean:[{unit:!1},{unit:!0}],false:{unit:!1},never:[],null:{unit:null},number:"number",object:"object",string:"string",symbol:"symbol",true:{unit:!0},unknown:{},undefined:{unit:void 0},Array,Date},{prereducedAliases:!0}).export();T.intrinsic={...rq};var nq=R6({integer:{domain:"number",divisor:1},lengthBoundable:["string",Array],key:["string","symbol"],nonNegativeIntegerString:{domain:"string",pattern:w4}},{prereducedAliases:!0}).export();Object.assign(T.intrinsic,nq);var i5=R6({jsonPrimitive:["string","number",{unit:!0},{unit:!1},{unit:null}],jsonObject:{domain:"object",index:{signature:"string",value:"$jsonData"}},jsonData:["$jsonPrimitive","$jsonObject"]},{prereducedAliases:!0}).export(),I={...rq,...nq,...i5,emptyStructure:v1("structure",{},{prereduced:!0})};T.intrinsic={...I};var D6=(U,X)=>new RegExp(U,X);Object.assign(D6,{as:D6});var tq=(U)=>typeof U==="string"&&U[0]==="d"&&(U[1]==="'"||U[1]==='"')&&U[U.length-1]===U[1],aq=(U)=>U.toString()!=="Invalid Date",eq=(U)=>U.slice(2,-1),P4=(U)=>`'${U}' could not be parsed by the Date constructor`,UZ=(U,X)=>o5(U,X),o5=(U,X)=>{let q=new Date(U);if(aq(q))return q;let Z=KX(U);if(Z!==void 0){let Q=new Date(Z);if(aq(Q))return Q}return X?F(X===!0?P4(U):X):void 0};var s5=v({proto:"Array",sequence:"string",required:{key:"groups",value:["object",{unit:void 0}]}}),M6=(U,X)=>{let q=U.scanner.shiftUntilEscapable(n5[ZZ[X]]);if(U.scanner.lookahead==="")return U.error(t5(q,X));if(U.scanner.shift(),X in qZ){let Z;try{Z=new RegExp(q)}catch(Q){F(String(Q))}if(U.root=U.ctx.$.node("intersection",{domain:"string",pattern:q},{prereduced:!0}),X==="x/")U.root=U.ctx.$.node("morph",{in:U.root,morphs:(Q)=>Z.exec(Q),declaredOut:s5})}else if(n(X,I4))U.root=U.ctx.$.node("unit",{unit:q});else{let Z=UZ(q,P4(q));U.root=U.ctx.$.node("unit",{meta:q,unit:Z})}},I4={"'":1,'"':1},XZ={"/":1,"'":1,'"':1},r5={"d'":"'",'d"':'"',"'":"'",'"':'"'},qZ={"/":"/","x/":"/"},ZZ={...r5,...qZ},n5={"'":(U)=>U.lookahead==="'",'"':(U)=>U.lookahead==='"',"/":(U)=>U.lookahead==="/"},a5={'"':"double-quote","'":"single-quote","/":"forward slash"},t5=(U,X)=>`${X}${U} requires a closing ${a5[ZZ[X]]}`;var QZ=(U)=>`Private type references should not include '#'. Use '${U}' instead.`,w6="Optional definitions like 'string?' are only valid as properties in an object or tuple",P6="Defaultable definitions like 'number = 0' are only valid as properties in an object or tuple";var E0={"<":1,">":1,"=":1,"|":1,"&":1,")":1,"[":1,"%":1,",":1,":":1,"?":1,"#":1,...d0};var GZ=(U,X)=>U===">"?X[0]==="="?X[1]==="=":X.trimStart()===""||n(X.trimStart()[0],E0):U==="="?X[0]!=="=":U===","||U==="?";var YZ=(U,X,q)=>HZ(U,X,q,[]),HZ=(U,X,q,Z)=>{let Q=q.parseUntilFinalizer();if(Z.push(Q.root),Q.finalizer===">"){if(Z.length!==X.params.length)return q.error(K4(U,X.names,Z.map((G)=>G.expression)));return Z}if(Q.finalizer===",")return HZ(U,X,q,Z);return Q.error(G6(">"))},K4=(U,X,q)=>`${U}<${X.join(", ")}> requires exactly ${X.length} args (got ${q.length}${q.length===0?"":`: ${q.join(", ")}`})`;var I6=(U)=>{let X=U.scanner.shiftUntilLookahead(E0);if(X==="keyof")U.addPrefix("keyof");else U.root=UY(U,X)},e5=(U,X,q)=>{if(q.scanner.shiftUntilNonWhitespace(),q.scanner.shift()!=="<")return q.error(K4(U,X.names,[]));let Q=YZ(U,X,q);return X(...Q)},UY=(U,X)=>XY(U,X)??qY(U,X)??U.error(X===""?U.scanner.lookahead==="#"?QZ(U.shiftedBy(1).scanner.shiftUntilLookahead(E0)):N4(U):M4(X)),XY=(U,X)=>{if(U.ctx.args?.[X]){let Z=U.ctx.args[X];if(typeof Z!=="string")return Z;return U.ctx.$.node("alias",{reference:Z},{prereduced:!0})}let q=U.ctx.$.maybeResolve(X);if(M(q,"root"))return q;if(q===void 0)return;if(M(q,"generic"))return e5(X,q,U);return F(`Unexpected resolution ${E(q)}`)},qY=(U,X)=>{let q=NX(X);if(q!==void 0)return U.ctx.$.node("unit",{unit:q});let Z=SX(X);if(Z!==void 0)return U.ctx.$.node("unit",{unit:Z})},N4=(U)=>{let X=U.previousOperator();return X?C4(X,U.scanner.unscanned):ZY(U.scanner.unscanned)},C4=(U,X="")=>`Token '${U}' requires a right operand${X?` before '${X}'`:""}`,ZY=(U)=>`Expected an expression${U?` before '${U}'`:""}`;var S4=(U)=>U.scanner.lookahead===""?U.error(N4(U)):U.scanner.lookahead==="("?U.shiftedBy(1).reduceGroupOpen():U.scanner.lookaheadIsIn(XZ)?M6(U,U.scanner.shift()):U.scanner.lookaheadIsIn(d0)?S4(U.shiftedBy(1)):U.scanner.lookahead==="d"?U.scanner.nextLookahead in I4?M6(U,`${U.scanner.shift()}${U.scanner.shift()}`):I6(U):U.scanner.lookahead==="x"?U.scanner.nextLookahead==="/"?U.shiftedBy(2)&&M6(U,"x/"):I6(U):I6(U);var JZ={">":!0,">=":!0},WZ={"<":!0,"<=":!0};var x1={"<":">",">":"<","<=":">=",">=":"<=","==":"=="},LZ=(U,X)=>`Left bounds are only valid when paired with right bounds (try ...${X}${U})`,K6=(U)=>`Left-bounded expressions must specify their limits using < or <= (was ${U})`,_Z=(U,X,q,Z)=>`An expression may have at most one left bound (parsed ${U}${x1[X]}, ${q}${x1[Z]})`;var zZ=(U,X)=>{let q=QY(U,X);if(U.root.hasKind("unit")){if(typeof U.root.unit==="number"){U.reduceLeftBound(U.root.unit,q),U.unsetRoot();return}if(U.root.unit instanceof Date){let Z=`d'${U.root.description??U.root.unit.toISOString()}'`;U.unsetRoot(),U.reduceLeftBound(Z,q);return}}return YY(U,q)},FZ={"<":1,">":1,"=":1},QY=(U,X)=>U.scanner.lookaheadIs("=")?`${X}${U.scanner.shift()}`:X;var $Z=(U,X,q,Z)=>{if(q.extends(T.intrinsic.number)){if(typeof X!=="number")return F(E4(U,X,Z));return U==="=="?["min","max"]:U[0]===">"?["min"]:["max"]}if(q.extends(T.intrinsic.lengthBoundable)){if(typeof X!=="number")return F(E4(U,X,Z));return U==="=="?["exactLength"]:U[0]===">"?["minLength"]:["maxLength"]}if(q.extends(T.intrinsic.Date))return U==="=="?["after","before"]:U[0]===">"?["after"]:["before"];return F(aX(q.expression))},GY=(U)=>({rule:tq(U.limit)?eq(U.limit):U.limit,exclusive:U.comparator.length===1}),YY=(U,X)=>{let q=U.unsetRoot(),Z=U.scanner.location;U.parseOperand();let Q=U.unsetRoot(),G=U.scanner.sliceChars(Z,U.scanner.location);if(U.root=q,!Q.hasKind("unit")||typeof Q.unit!=="number"&&!(Q.unit instanceof Date))return U.error(E4(X,G,"right"));let Y=Q.unit,H=X.length===1,J=$Z(X,typeof Y==="number"?Y:G,q,"right");for(let _ of J)U.constrainRoot(_,X==="=="?{rule:Y}:{rule:Y,exclusive:H});if(!U.branches.leftBound)return;if(!n(X,WZ))return U.error(K6(X));let W=$Z(U.branches.leftBound.comparator,U.branches.leftBound.limit,q,"left");U.constrainRoot(W[0],GY(U.branches.leftBound)),U.branches.leftBound=null},E4=(U,X,q)=>`Comparator ${q==="left"?x1[U]:U} must be ${q==="left"?"preceded":"followed"} by a corresponding literal (was ${X})`;var AZ=(U)=>{U.scanner.shiftUntilNonWhitespace();let X=U.scanner.shiftUntilLookahead(E0);U.root=U.root.brand(X)};var OZ=(U)=>{U.scanner.shiftUntilNonWhitespace();let X=U.scanner.shiftUntilLookahead(E0),q=CX(X,{errorOnFail:TZ(X)});if(q===0)U.error(TZ(0));U.root=U.root.constrain("divisor",q)},TZ=(U)=>`% operator must be followed by a non-zero integer literal (was ${U})`;var b4=(U)=>{let X=U.scanner.shift();return X===""?U.finalize(""):X==="["?U.scanner.shift()==="]"?U.setRoot(U.root.array()):U.error(HY):X==="|"?U.scanner.lookahead===">"?U.shiftedBy(1).pushRootToBranch("|>"):U.pushRootToBranch(X):X==="&"?U.pushRootToBranch(X):X===")"?U.finalizeGroup():GZ(X,U.scanner.unscanned)?U.finalize(X):n(X,FZ)?zZ(U,X):X==="%"?OZ(U):X==="#"?AZ(U):(X in d0)?b4(U):U.error(N6(X))},N6=(U,X="")=>`'${U}' is not allowed here${X&&` (should be ${X})`}`,HY="Missing expected ']'";var VZ=(U)=>{let X=U.unsetRoot();U.parseOperand();let q=U.unsetRoot();if(!q.hasKind("unit"))return U.error(JY(q.expression));let Z=q.unit instanceof Date?()=>new Date(q.unit):q.unit;return[X,"=",Z]},JY=(U)=>`Default value '${U}' must be a literal value`;var j4=(U,X)=>{let q=X.$.maybeResolveRoot(U);if(q)return q;if(U.endsWith("[]")){let G=X.$.maybeResolveRoot(U.slice(0,-2));if(G)return G.array()}let Z=new h1(new W2(U),X),Q=WY(Z);if(Z.finalizer===">")F(N6(">"));return Q},WY=(U)=>{U.parseOperand();let X=I2(U).root;if(!X)return y(`Root was unexpectedly unset after parsing string '${U.scanner.scanned}'`);if(U.finalizer==="=")X=VZ(U);else if(U.finalizer==="?")X=[X,"?"];if(U.scanner.shiftUntilNonWhitespace(),U.scanner.lookahead)F(N6(U.scanner.lookahead));return X},I2=(U)=>{while(U.finalizer===void 0)LY(U);return U},LY=(U)=>U.hasRoot()?U.parseOperator():U.parseOperand();class h1{root;branches={prefixes:[],leftBound:null,intersection:null,union:null,pipe:null};finalizer;groups=[];scanner;ctx;constructor(U,X){this.scanner=U,this.ctx=X}error(U){return F(U)}hasRoot(){return this.root!==void 0}setRoot(U){this.root=U}unsetRoot(){let U=this.root;return this.root=void 0,U}constrainRoot(...U){this.root=this.root.constrain(U[0],U[1])}finalize(U){if(this.groups.length)return this.error(G6(")"));this.finalizeBranches(),this.finalizer=U}reduceLeftBound(U,X){let q=x1[X];if(!n(q,JZ))return this.error(K6(X));if(this.branches.leftBound)return this.error(_Z(this.branches.leftBound.limit,this.branches.leftBound.comparator,U,q));this.branches.leftBound={comparator:q,limit:U}}finalizeBranches(){if(this.assertRangeUnset(),this.branches.pipe){this.pushRootToBranch("|>"),this.root=this.branches.pipe;return}if(this.branches.union){this.pushRootToBranch("|"),this.root=this.branches.union;return}if(this.branches.intersection){this.pushRootToBranch("&"),this.root=this.branches.intersection;return}this.applyPrefixes()}finalizeGroup(){this.finalizeBranches();let U=this.groups.pop();if(!U)return this.error(fX(")",this.scanner.unscanned));this.branches=U}addPrefix(U){this.branches.prefixes.push(U)}applyPrefixes(){while(this.branches.prefixes.length){let U=this.branches.prefixes.pop();this.root=U==="keyof"?this.root.keyof():y(`Unexpected prefix '${U}'`)}}pushRootToBranch(U){this.assertRangeUnset(),this.applyPrefixes();let X=this.root;if(this.root=void 0,this.branches.intersection=this.branches.intersection?.rawAnd(X)??X,U==="&")return;if(this.branches.union=this.branches.union?.rawOr(this.branches.intersection)??this.branches.intersection,this.branches.intersection=null,U==="|")return;this.branches.pipe=this.branches.pipe?.rawPipeOnce(this.branches.union)??this.branches.union,this.branches.union=null}parseUntilFinalizer(){return I2(new h1(this.scanner,this.ctx))}parseOperator(){return b4(this)}parseOperand(){return S4(this)}assertRangeUnset(){if(this.branches.leftBound)return this.error(LZ(this.branches.leftBound.limit,this.branches.leftBound.comparator))}reduceGroupOpen(){this.groups.push(this.branches),this.branches={prefixes:[],leftBound:null,union:null,intersection:null,pipe:null}}previousOperator(){return this.branches.leftBound?.comparator??this.branches.prefixes[this.branches.prefixes.length-1]??(this.branches.intersection?"&":this.branches.union?"|":this.branches.pipe?"|>":void 0)}shiftedBy(U){return this.scanner.jumpForward(U),this}}var _Y="An empty string is not a valid generic parameter name",C6=(U,X,q)=>{U.shiftUntilNonWhitespace();let Z=U.shiftUntilLookahead(E0);if(Z===""){if(U.lookahead===""&&X.length)return X;return F(_Y)}return U.shiftUntilNonWhitespace(),$Y(U,Z,X,q)},BZ="extends ",$Y=(U,X,q,Z)=>{if(U.shiftUntilNonWhitespace(),U.unscanned.startsWith(BZ))U.jumpForward(BZ.length);else{if(U.lookahead===",")U.shift();return q.push(X),C6(U,q,Z)}let Q=I2(new h1(U,Z));return q.push([X,Q.root]),C6(U,q,Z)};class f4 extends H0{constructor(U){let X={$:U,raw:U.fn};super((...q)=>{let Z=q.indexOf(":"),Q=Z===-1?q.length-1:Z-1,G=q.slice(0,Q+1),Y=U.parse(G).assertHasKind("intersection"),H=U.intrinsic.unknown;if(Z!==-1){if(Z!==q.length-2)return F(zY);H=U.parse(q[Z+1])}return(J)=>new RZ(J,Y,H)},{attach:X})}}class RZ extends H0{raw;params;returns;expression;constructor(U,X,q){let Z=`typed ${U.name}`,Q={[Z]:(...Y)=>{let H=X.assert(Y),J=U(...H);return q.assert(J)}}[Z];super(Q);this.raw=U,this.params=X,this.returns=q;let G=X.expression;if(G[0]==="["&&G[G.length-1]==="]")G=G.slice(1,-1);else if(G.endsWith("[]"))G=`...${G}`;this.expression=`(${G}) => ${q?.expression??"unknown"}`}}var zY=`":" must be followed by exactly one return type e.g:
184
+ fn("string", ":", "number")(s => s.length)`;class g4 extends H0{$;constructor(U){super((...X)=>new K2(U)(...X),{bind:U});this.$=U}in(U){return new K2(this.$,U===void 0?void 0:this.$.parse(U))}at(U,X){return new K2(this.$).at(U,X)}case(U,X){return new K2(this.$).case(U,X)}}class K2 extends H0{$;in;key;branches=[];constructor(U,X){super((q)=>this.caseEntries(Object.entries(q).map(([Z,Q])=>Z==="default"?[Z,Q]:[this.$.parse(Z),Q])));this.$=U,this.in=X}at(U,X){if(this.key)F(AY);if(this.branches.length)F(FY);return this.key=U,X?this.match(X):this}case(U,X){return this.caseEntry(this.$.parse(U),X)}caseEntry(U,X){let Z=(this.key?this.$.parse({[this.key]:U}):U).pipe(X);return this.branches.push(Z),this}match(U){return this(U)}strings(U){return this.caseEntries(Object.entries(U).map(([X,q])=>X==="default"?[X,q]:[this.$.node("unit",{unit:X}),q]))}caseEntries(U){for(let X=0;X<U.length;X++){let[q,Z]=U[X];if(q==="default"){if(X!==U.length-1)F("default may only be specified as the last key of a switch definition");return this.default(Z)}if(typeof Z!=="function")return F(`Value for case "${q}" must be a function (was ${r(Z)})`);this.caseEntry(q,Z)}return this}default(U){if(typeof U==="function")this.case(I.unknown,U);let X={branches:this.branches,ordered:!0};if(U==="never"||U==="assert")X.meta={onFail:DZ};let q=this.$.node("union",X);if(!this.in)return this.$.finalize(q);let Z=this.in.pipe(q);if(U==="never"||U==="assert")Z=Z.configureReferences({onFail:DZ},"self");return this.$.finalize(Z)}}var DZ=(U)=>U.throw(),FY="A key matcher must be specified before the first case i.e. match.at('foo') or match.in<object>().at('bar')",AY="At most one key matcher may be specified per expression";var S6=(U,X)=>{if(x(U)){if(U[1]==="=")return[X.$.parseOwnDefinitionFormat(U[0],X),"=",U[2]];if(U[1]==="?")return[X.$.parseOwnDefinitionFormat(U[0],X),"?"]}return E6(U,X)},MZ="Only required keys may make their values optional, e.g. { [mySymbol]: ['number', '?'] }",wZ="Only required keys may specify default values, e.g. { value: 'number = 0' }";var PZ=(U,X)=>{let q,Z={},Q=Y1(U);for(let[Y,H]of Q){let J=VY(Y);if(J.kind==="spread"){if(!C0(Z))return F(OY);let A=X.$.parseOwnDefinitionFormat(H,X);if(A.equals(I.object))continue;if(!A.hasKind("intersection")||!A.basis?.equals(I.object))return F(BY(A.expression));q=A.structure;continue}if(J.kind==="undeclared"){if(H!=="reject"&&H!=="delete"&&H!=="ignore")F(TY(H));Z.undeclared=H;continue}let W=S6(H,X),_=J;if(J.kind==="required"){if(!x(W))y4(Z,"required",{key:J.normalized,value:W},X);else y4(Z,"optional",W[1]==="="?{key:J.normalized,value:W[0],default:W[2]}:{key:J.normalized,value:W[0]},X);continue}if(x(W)){if(W[1]==="?")F(MZ);if(W[1]==="=")F(wZ)}if(J.kind==="optional"){y4(Z,"optional",{key:J.normalized,value:W},X);continue}let L=X.$.parseOwnDefinitionFormat(_.normalized,X),$=V6(L,W,X.$);if($.index)Z.index=g(Z.index,$.index);if($.required)Z.required=g(Z.required,$.required)}let G=X.$.node("structure",Z);return X.$.parseSchema({domain:"object",structure:q?.merge(G)??G})},y4=(U,X,q,Z)=>{U[X]=g(U[X],Z.$.node(X,q))},TY=(U)=>`Value of '+' key must be 'reject', 'delete', or 'ignore' (was ${E(U)})`,OY="Spread operator may only be used as the first key in an object",VY=(U)=>typeof U==="symbol"?{kind:"required",normalized:U}:U[U.length-1]==="?"?U[U.length-2]===J1?{kind:"required",normalized:`${U.slice(0,-2)}?`}:{kind:"optional",normalized:U.slice(0,-1)}:U[0]==="["&&U[U.length-1]==="]"?{kind:"index",normalized:U.slice(1,-1)}:U[0]===J1&&U[1]==="["&&U[U.length-1]==="]"?{kind:"required",normalized:U.slice(1)}:U==="..."?{kind:"spread"}:U==="+"?{kind:"undeclared"}:{kind:"required",normalized:U==="\\..."?"...":U==="\\+"?"+":U},BY=(U)=>`Spread operand must resolve to an object literal type (was ${U})`;var KZ=(U,X)=>SY(U)?EZ[U[0]](U,X):NY(U)?SZ[U[1]](U,X):null,RY=(U,X)=>X.$.parseOwnDefinitionFormat(U[1],X).keyof(),k4=(U,X)=>{if(U[2]===void 0)return F(C4(U[1],""));let q=X.$.parseOwnDefinitionFormat(U[0],X),Z=X.$.parseOwnDefinitionFormat(U[2],X);if(U[1]==="|")return X.$.node("union",{branches:[q,Z]});let Q=U[1]==="&"?L0(q,Z,X.$):F2(q,Z,X.$);if(Q instanceof V)return Q.throw();return Q},DY=(U,X)=>X.$.parseOwnDefinitionFormat(U[0],X).array(),MY=(U,X)=>{if(typeof U[2]!=="function")return F(NZ("=>",U[2]));return X.$.parseOwnDefinitionFormat(U[0],X).pipe(U[2])},NZ=(U,X)=>`${U===":"?"Narrow":"Morph"} expression requires a function following '${U}' (was ${typeof X})`,wY=(U,X)=>{if(typeof U[2]!=="function")return F(NZ(":",U[2]));return X.$.parseOwnDefinitionFormat(U[0],X).constrain("predicate",U[2])},PY=(U,X)=>X.$.parseOwnDefinitionFormat(U[0],X).configure(U[2],U[3]),CZ=(U)=>U,IY=CZ({"[]":DY,"?":()=>F(w6)}),KY=CZ({"|":k4,"&":k4,":":wY,"=>":MY,"|>":k4,"@":PY,"=":()=>F(P6)}),SZ={...IY,...KY},NY=(U)=>SZ[U[1]]!==void 0,CY=(U)=>U,EZ=CY({keyof:RY,instanceof:(U,X)=>{if(typeof U[1]!=="function")return F(IZ(q2(U[1])));let q=U.slice(1).map((Z)=>typeof Z==="function"?X.$.node("proto",{proto:Z}):F(IZ(q2(Z))));return q.length===1?q[0]:X.$.node("union",{branches:q})},"===":(U,X)=>X.$.units(U.slice(1))}),SY=(U)=>EZ[U[0]]!==void 0,IZ=(U)=>`Expected a constructor following 'instanceof' operator (was ${U})`;var fZ=(U,X)=>{let q=[{}],Z=0;while(Z<U.length){let Q=!1;if(U[Z]==="..."&&Z<U.length-1)Q=!0,Z++;let G=S6(U[Z],X),[Y,H,J]=!x(G)?[G]:G;if(Z++,Q){if(!Y.extends(T.intrinsic.Array))return F(jY(Y.expression));q=q.flatMap((W)=>Y.distribute((_)=>bY(H6(W),_)))}else q=q.map((W)=>{if(H==="?")return gZ(W,Y);if(H==="=")return EY(W,Y,J);return v4(W,Y)})}return X.$.parseSchema(q.map((Q)=>C0(Q)?{proto:Array,exactLength:0}:{proto:Array,sequence:Q}))},v4=(U,X)=>{if(U.defaultables||U.optionals)return F(U.variadic?A4:fY);if(U.variadic)U.postfix=g(U.postfix,X);else U.prefix=g(U.prefix,X);return U},gZ=(U,X)=>{if(U.variadic)return F(yZ);return U.optionals=g(U.optionals,X),U},EY=(U,X,q)=>{if(U.variadic)return F(yZ);if(U.optionals)return F(gY);return U.defaultables=g(U.defaultables,[[X,q]]),U},bZ=(U,X)=>{if(U.postfix)F(jZ);if(U.variadic){if(!U.variadic.equals(X))F(jZ)}else U.variadic=X.internal;return U},bY=(U,X)=>{let q=X.select({method:"find",kind:"sequence"});if(!q)return bZ(U,T.intrinsic.unknown);if(q.prefix)for(let Z of q.prefix)v4(U,Z);if(q.optionals)for(let Z of q.optionals)gZ(U,Z);if(q.variadic)bZ(U,q.variadic);if(q.postfix)for(let Z of q.postfix)v4(U,Z);return U},jY=(U)=>`Spread element must be an array (was ${U})`,jZ="A tuple may have at most one variadic element",fY="A required element may not follow an optional element",yZ="An optional element may not follow a variadic element";var gY="A defaultable element may not follow an optional element without a default";var yY={},E6=(U,X)=>{if(typeof U==="string"){if(X.args&&Object.keys(X.args).some((Z)=>U.includes(Z)))return j4(U,X);let q=yY[X.$.name]??={};return q[U]??=j4(U,X)}return Q0(U,"object")?kY(U,X):F(x4(r(U)))},kY=(U,X)=>{let q=X2(U);switch(q){case void 0:if(M(U,"root"))return U;if("~standard"in U)return vY(U,X);return PZ(U,X);case"Array":return xY(U,X);case"RegExp":return X.$.node("intersection",{domain:"string",pattern:U},{prereduced:!0});case"Function":{let Z=l0(U)?U():U;if(M(Z,"root"))return Z;return F(x4("Function"))}default:return F(x4(q??E(U)))}},vY=(U,X)=>X.$.intrinsic.unknown.pipe((q,Z)=>{let Q=U["~standard"].validate(q);if(!Q.issues)return Q.value;for(let{message:G,path:Y}of Q.issues)if(Y)if(Y.length)Z.error({problem:RX(G),relativePath:Y.map((H)=>typeof H==="object"?H.key:H)});else Z.error({message:G});else Z.error({message:G})}),xY=(U,X)=>KZ(U,X)??fZ(U,X),x4=(U)=>`Type definitions must be strings or objects (was ${U})`;class h4 extends H0{constructor(U){let X=Object.assign({errors:J0,hkt:e,$:U,raw:U.parse,module:U.constructor.module,scope:U.constructor.scope,declare:U.declare,define:U.define,match:U.match,generic:U.generic,schema:U.schema,keywords:U.ambient,unit:U.unit,enumerated:U.enumerated,instanceOf:U.instanceOf,valueOf:U.valueOf,or:U.or,and:U.and,merge:U.merge,pipe:U.pipe,fn:U.fn},U.ambientAttachments);super((...q)=>{if(q.length===1)return U.parse(q[0]);if(q.length===2&&typeof q[0]==="string"&&q[0][0]==="<"&&q[0][q[0].length-1]===">"){let Z=q[0].slice(1,-1),Q=U.parseGenericParams(Z,{});return new s0(Q,q[1],U,U,null)}return U.parse(q)},{attach:X})}}var u1=T;class b6 extends B6{get ambientAttachments(){if(!u1.typeAttachments)return;return this.cacheGetter("ambientAttachments",S(u1.typeAttachments,(U,X)=>[U,this.bindReference(X)]))}preparseOwnAliasEntry(U,X){let q=U.indexOf("<");if(q===-1){if(M(X,"module")||M(X,"generic"))return[U,X];let G=this.name==="ark"?U:U==="root"?this.name:`${this.name}.${U}`,Y=this.resolvedConfig.keywords?.[G];if(Y)X=[X,"@",Y];return[U,X]}if(U[U.length-1]!==">")F("'>' must be the last character of a generic declaration in a scope");let Z=U.slice(0,q),Q=U.slice(q+1,-1);return[Z,()=>{let G=this.parseGenericParams(Q,{alias:Z});return sX(G,X,this)}]}parseGenericParams(U,X){return C6(new W2(U),[],this.createParseContext({...X,def:U,prefix:"generic"}))}normalizeRootScopeValue(U){if(l0(U)&&!M(U,"generic"))return U();return U}preparseOwnDefinitionFormat(U,X){return{...X,def:U,prefix:X.alias??"type"}}parseOwnDefinitionFormat(U,X){if(!(X.alias&&(X.alias in this.aliases))&&!X.args)X.args={this:X.id};let Z=E6(U,X);if(x(Z)){if(Z[1]==="=")return F(P6);if(Z[1]==="?")return F(w6)}return Z}unit=(U)=>this.units([U]);valueOf=(U)=>this.units(_X(U));enumerated=(...U)=>this.units(U);instanceOf=(U)=>this.node("proto",{proto:U},{prereduced:!0});or=(...U)=>this.schema(U.map((X)=>this.parse(X)));and=(...U)=>U.reduce((X,q)=>X.and(this.parse(q)),this.intrinsic.unknown);merge=(...U)=>U.reduce((X,q)=>X.merge(this.parse(q)),this.intrinsic.object);pipe=(...U)=>this.intrinsic.unknown.pipe(...U);fn=new f4(this);match=new g4(this);declare=()=>({type:this.type});define(U){return U}type=new h4(this);static scope=(U,X={})=>new b6(U,X);static module=(U,X={})=>this.scope(U,X).export()}var N2=Object.assign(b6.scope,{define:(U)=>U}),f=b6;class kZ extends e{description='merge an object\'s properties onto another like `Merge(User, { isAdmin: "true" })`'}var hY=O0(["base",I.object],["props",I.object])((U)=>U.base.merge(U.props),kZ),vZ=f.module({Key:I.key,Merge:hY});class xZ extends e{}var uY=O0("element")((U)=>{let X=U.element.exclude(I.Array),q=X.array();return X.rawOr(q).pipe(p0).distribute((Z)=>Z.assertHasKind("morph").declareOut(q),v)},xZ),hZ=f.module({root:I.Array,readonly:"root",index:I.nonNegativeIntegerString,liftFrom:uY},{name:"Array"});var u4=v(["string",W1.FileConstructor]),mY=u4.rawOr(u4.array()),uZ=v({meta:"an object representing parsed form data",domain:"object",index:{signature:"string",value:mY}}),mZ=f.module({root:["instanceof",FormData],value:u4,parsed:uZ,parse:v({in:FormData,morphs:(U)=>{let X={};for(let[q,Z]of U)if(q in X){let Q=X[q];if(typeof Q==="string"||Q instanceof W1.FileConstructor)X[q]=[Q,Z];else Q.push(Z)}else X[q]=Z;return X},declaredOut:uZ})},{name:"FormData"});var pZ=f.module({Int8:["instanceof",Int8Array],Uint8:["instanceof",Uint8Array],Uint8Clamped:["instanceof",Uint8ClampedArray],Int16:["instanceof",Int16Array],Uint16:["instanceof",Uint16Array],Int32:["instanceof",Int32Array],Uint32:["instanceof",Uint32Array],Float32:["instanceof",Float32Array],Float64:["instanceof",Float64Array],BigInt64:["instanceof",BigInt64Array],BigUint64:["instanceof",BigUint64Array]},{name:"TypedArray"});var pY={Boolean:1,Number:1,String:1},lZ=f.module({...S({...CU,...EU},(U,X)=>(U in pY)?[]:[U,["instanceof",X]]),Array:hZ,TypedArray:pZ,FormData:mZ});var lY=v({domain:{domain:"number",meta:"a number representing a Unix timestamp"},divisor:{rule:1,meta:"an integer representing a Unix timestamp"},min:{rule:-8640000000000000,meta:"a Unix timestamp after -8640000000000000"},max:{rule:8640000000000000,meta:"a Unix timestamp before 8640000000000000"},meta:"an integer representing a safe Unix timestamp"}),dY=v({domain:"number",divisor:1}),j6=f.module({root:I.number,integer:dY,epoch:lY,safe:v({domain:{domain:"number",numberAllowsNaN:!1},min:Number.MIN_SAFE_INTEGER,max:Number.MAX_SAFE_INTEGER}),NaN:["===",Number.NaN],Infinity:["===",Number.POSITIVE_INFINITY],NegativeInfinity:["===",Number.NEGATIVE_INFINITY]},{name:"number"});var l=(U,X,q)=>{let Z={domain:"string",pattern:{rule:U.source,flags:U.flags,meta:X}};if(q)Z.meta={format:q};return v1("intersection",Z)},dZ=l(Q2,"a well-formed integer string"),q8=f.module({root:dZ,parse:v({in:dZ,morphs:(U,X)=>{let q=Number.parseInt(U);return Number.isSafeInteger(q)?q:X.error("an integer in the range Number.MIN_SAFE_INTEGER to Number.MAX_SAFE_INTEGER")},declaredOut:I.integer})},{name:"string.integer"}),cY=l(/^[\dA-Fa-f]+$/,"hex characters only"),iY=f.module({root:l(/^(?:[\d+/A-Za-z]{4})*(?:[\d+/A-Za-z]{2}==|[\d+/A-Za-z]{3}=)?$/,"base64-encoded"),url:l(/^(?:[\w-]{4})*(?:[\w-]{2}(?:==|%3D%3D)?|[\w-]{3}(?:=|%3D)?)?$/,"base64url-encoded")},{name:"string.base64"}),cZ=l(/^[A-Z].*$/,"capitalized"),oY=f.module({root:v({in:"string",morphs:(U)=>U.charAt(0).toUpperCase()+U.slice(1),declaredOut:cZ}),preformatted:cZ},{name:"string.capitalize"}),sY=(U)=>{let X=U.replace(/[ -]+/g,""),q=0,Z,Q,G=!1;for(let Y=X.length-1;Y>=0;Y--){if(Z=X.substring(Y,Y+1),Q=Number.parseInt(Z,10),G)Q*=2,q+=Q>=10?Q%10+1:Q;else q+=Q;G=!G}return!!(q%10===0?X:!1)},rY=/^(?:4\d{12}(?:\d{3,6})?|5[1-5]\d{14}|(222[1-9]|22[3-9]\d|2[3-6]\d{2}|27[01]\d|2720)\d{12}|6(?:011|5\d\d)\d{12,15}|3[47]\d{13}|3(?:0[0-5]|[68]\d)\d{11}|(?:2131|1800|35\d{3})\d{11}|6[27]\d{14}|^(81\d{14,17}))$/,nY=v({domain:"string",pattern:{meta:"a credit card number",rule:rY.source},predicate:{meta:"a credit card number",predicate:sY}});var aY=/^([+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))(T((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([,.]\d+(?!:))?)?(\17[0-5]\d([,.]\d+)?)?([Zz]|([+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/;var tY=(U)=>!Number.isNaN(new Date(U).valueOf()),iZ=v({domain:"string",predicate:{meta:"a parsable date",predicate:tY}}).assertHasKind("intersection"),oZ=q8.root.internal.narrow((U,X)=>{let q=Number.parseInt(U),Z=j6.epoch(q);if(Z instanceof J0)return X.errors.merge(Z),!1;return!0}).configure({description:"an integer string representing a safe Unix timestamp"},"self").assertHasKind("intersection"),eY=f.module({root:oZ,parse:v({in:oZ,morphs:(U)=>new Date(U),declaredOut:I.Date})},{name:"string.date.epoch"}),sZ=l(aY,"an ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ) date").internal.assertHasKind("intersection"),U7=f.module({root:sZ,parse:v({in:sZ,morphs:(U)=>new Date(U),declaredOut:I.Date})},{name:"string.date.iso"}),X7=f.module({root:iZ,parse:v({declaredIn:iZ,in:"string",morphs:(U,X)=>{let q=new Date(U);if(Number.isNaN(q.valueOf()))return X.error("a parsable date");return q},declaredOut:I.Date}),iso:U7,epoch:eY},{name:"string.date"}),q7=l(/^[\w%+.-]+@[\d.A-Za-z-]+\.[A-Za-z]{2,}$/,"an email address","email"),rZ="(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])",r0=`(${rZ}[.]){3}${rZ}`,Z7=new RegExp(`^${r0}$`),c="(?:[0-9a-fA-F]{1,4})",Q7=new RegExp(`^((?:${c}:){7}(?:${c}|:)|(?:${c}:){6}(?:${r0}|:${c}|:)|(?:${c}:){5}(?::${r0}|(:${c}){1,2}|:)|(?:${c}:){4}(?:(:${c}){0,1}:${r0}|(:${c}){1,3}|:)|(?:${c}:){3}(?:(:${c}){0,2}:${r0}|(:${c}){1,4}|:)|(?:${c}:){2}(?:(:${c}){0,3}:${r0}|(:${c}){1,5}|:)|(?:${c}:){1}(?:(:${c}){0,4}:${r0}|(:${c}){1,6}|:)|(?::((?::${c}){0,5}:${r0}|(?::${c}){1,7}|:)))(%[0-9a-zA-Z.]{1,})?$`),G7=f.module({root:["v4 | v6","@","an IP address"],v4:l(Z7,"an IPv4 address","ipv4"),v6:l(Q7,"an IPv6 address","ipv6")},{name:"string.ip"}),m1="a JSON string",Z8=(U)=>{if(!(U instanceof SyntaxError))throw U;return`must be ${m1} (${U})`},Y7=v({meta:m1,domain:"string",predicate:{meta:m1,predicate:(U,X)=>{try{return JSON.parse(U),!0}catch(q){return X.reject({code:"predicate",expected:m1,problem:Z8(q)})}}}}),H7=(U,X)=>{if(U.length===0)return X.error({code:"predicate",expected:m1,actual:"empty"});try{return JSON.parse(U)}catch(q){return X.error({code:"predicate",expected:m1,problem:Z8(q)})}},J7=f.module({root:Y7,parse:v({meta:"safe JSON string parser",in:"string",morphs:H7,declaredOut:I.jsonObject})},{name:"string.json"}),nZ=l(/^[a-z]*$/,"only lowercase letters"),W7=f.module({root:v({in:"string",morphs:(U)=>U.toLowerCase(),declaredOut:nZ}),preformatted:nZ},{name:"string.lower"}),Q8=["NFC","NFD","NFKC","NFKD"],C2=S(Q8,(U,X)=>[X,v({domain:"string",predicate:(q)=>q.normalize(X)===q,meta:`${X}-normalized unicode`})]),f6=S(Q8,(U,X)=>[X,v({in:"string",morphs:(q)=>q.normalize(X),declaredOut:C2[X]})]),L7=f.module({root:f6.NFC,preformatted:C2.NFC},{name:"string.normalize.NFC"}),_7=f.module({root:f6.NFD,preformatted:C2.NFD},{name:"string.normalize.NFD"}),$7=f.module({root:f6.NFKC,preformatted:C2.NFKC},{name:"string.normalize.NFKC"}),z7=f.module({root:f6.NFKD,preformatted:C2.NFKD},{name:"string.normalize.NFKD"}),F7=f.module({root:"NFC",NFC:L7,NFD:_7,NFKC:$7,NFKD:z7},{name:"string.normalize"}),aZ=l(Z6,"a well-formed numeric string"),A7=f.module({root:aZ,parse:v({in:aZ,morphs:(U)=>Number.parseFloat(U),declaredOut:I.number})},{name:"string.numeric"}),tZ="a regex pattern",T7=v({domain:"string",predicate:{meta:tZ,predicate:(U,X)=>{try{return new RegExp(U),!0}catch(q){return X.reject({code:"predicate",expected:tZ,problem:String(q)})}}},meta:{format:"regex"}}),O7=/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[A-Za-z-][\dA-Za-z-]*)(?:\.(?:0|[1-9]\d*|\d*[A-Za-z-][\dA-Za-z-]*))*))?(?:\+([\dA-Za-z-]+(?:\.[\dA-Za-z-]+)*))?$/,V7=l(O7,"a semantic version (see https://semver.org/)"),eZ=l(/^\S.*\S$|^\S?$/,"trimmed"),B7=f.module({root:v({in:"string",morphs:(U)=>U.trim(),declaredOut:eZ}),preformatted:eZ},{name:"string.trim"}),U8=l(/^[A-Z]*$/,"only uppercase letters"),R7=f.module({root:v({in:"string",morphs:(U)=>U.toUpperCase(),declaredOut:U8}),preformatted:U8},{name:"string.upper"}),D7=(U)=>URL.canParse(U),X8=v({domain:"string",predicate:{meta:"a URL string",predicate:D7},meta:{format:"uri"}}),M7=f.module({root:X8,parse:v({declaredIn:X8,in:"string",morphs:(U,X)=>{try{return new URL(U)}catch{return X.error("a URL string")}},declaredOut:v(URL)})},{name:"string.url"}),w7=f.module({root:["versioned | nil | max","@",{description:"a UUID",format:"uuid"}],"#nil":"'00000000-0000-0000-0000-000000000000'","#max":"'ffffffff-ffff-ffff-ffff-ffffffffffff'","#versioned":/[\da-f]{8}-[\da-f]{4}-[1-8][\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}/i,v1:l(/^[\da-f]{8}-[\da-f]{4}-1[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv1"),v2:l(/^[\da-f]{8}-[\da-f]{4}-2[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv2"),v3:l(/^[\da-f]{8}-[\da-f]{4}-3[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv3"),v4:l(/^[\da-f]{8}-[\da-f]{4}-4[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv4"),v5:l(/^[\da-f]{8}-[\da-f]{4}-5[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv5"),v6:l(/^[\da-f]{8}-[\da-f]{4}-6[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv6"),v7:l(/^[\da-f]{8}-[\da-f]{4}-7[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv7"),v8:l(/^[\da-f]{8}-[\da-f]{4}-8[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv8")},{name:"string.uuid"}),G8=f.module({root:I.string,alpha:l(/^[A-Za-z]*$/,"only letters"),alphanumeric:l(/^[\dA-Za-z]*$/,"only letters and digits 0-9"),hex:cY,base64:iY,capitalize:oY,creditCard:nY,date:X7,digits:l(/^\d*$/,"only digits 0-9"),email:q7,integer:q8,ip:G7,json:J7,lower:W7,normalize:F7,numeric:A7,regex:T7,semver:V7,trim:B7,upper:R7,url:M7,uuid:w7},{name:"string"});var Y8=f.module({bigint:I.bigint,boolean:I.boolean,false:I.false,never:I.never,null:I.null,number:I.number,object:I.object,string:I.string,symbol:I.symbol,true:I.true,unknown:I.unknown,undefined:I.undefined}),H8=f.module({root:I.unknown,any:I.unknown},{name:"unknown"}),P7=f.module({root:I.jsonObject,stringify:v1("morph",{in:I.jsonObject,morphs:(U)=>JSON.stringify(U),declaredOut:I.string})},{name:"object.json"}),J8=f.module({root:I.object,json:P7},{name:"object"});class W8 extends e{description='instantiate an object from an index signature and corresponding value type like `Record("string", "number")`'}var I7=O0(["K",I.key],"V")((U)=>({domain:"object",index:{signature:U.K,value:U.V}}),W8);class L8 extends e{description='pick a set of properties from an object like `Pick(User, "name | age")`'}var K7=O0(["T",I.object],["K",I.key])((U)=>U.T.pick(U.K),L8);class _8 extends e{description='omit a set of properties from an object like `Omit(User, "age")`'}var N7=O0(["T",I.object],["K",I.key])((U)=>U.T.omit(U.K),_8);class $8 extends e{description="make all named properties of an object optional like `Partial(User)`"}var C7=O0(["T",I.object])((U)=>U.T.partial(),$8);class z8 extends e{description="make all named properties of an object required like `Required(User)`"}var S7=O0(["T",I.object])((U)=>U.T.required(),z8);class F8 extends e{description='exclude branches of a union like `Exclude("boolean", "true")`'}var E7=O0("T","U")((U)=>U.T.exclude(U.U),F8);class A8 extends e{description='extract branches of a union like `Extract("0 | false | 1", "number")`'}var b7=O0("T","U")((U)=>U.T.extract(U.U),A8),T8=f.module({Exclude:E7,Extract:b7,Omit:N7,Partial:C7,Pick:K7,Record:I7,Required:S7});var x0=N2({...Y8,...T8,...lZ,...vZ,string:G8,number:j6,object:J8,unknown:H8},{prereducedAliases:!0,name:"ark"}),a=x0.export();Object.assign(u1.ambient,a);u1.typeAttachments={string:a.string.root,number:a.number.root,bigint:a.bigint,boolean:a.boolean,symbol:a.symbol,undefined:a.undefined,null:a.null,object:a.object.root,unknown:a.unknown.root,false:a.false,true:a.true,never:a.never,arrayIndex:a.Array.index,Key:a.Key,Record:a.Record,Array:a.Array.root,Date:a.Date};var m4=Object.assign(x0.type,u1.typeAttachments),j7=x0.match,f7=x0.fn,g7=x0.generic,dK=x0.schema,y7=x0.define,k7=x0.declare;var $1=N2({Operator:"'EQ' | '==' | 'NEQ' | '!=' | 'GT' | '>' | 'GTE' | '>=' | 'LT' | '<' | 'LTE' | '<=' | 'IN' | 'NOT_IN' | 'CONTAINS' | 'MATCHES' | 'RANGE' | 'SINCE' | 'AFTER' | 'BEFORE' | 'UNTIL'",Condition:"RangeCondition | ListCondition | ContainsCondition | NumericCondition | RegexCondition | BasicCondition",RangeCondition:{field:"string > 0",operator:"'RANGE'",value:"unknown[] == 2"},ListCondition:{field:"string > 0",operator:"'IN' | 'NOT_IN'",value:"unknown[]"},ContainsCondition:{field:"string > 0",operator:"'CONTAINS'",value:"string | unknown[]"},NumericCondition:{field:"string > 0",operator:"'>' | '>=' | '<' | '<=' | 'GT' | 'GTE' | 'LT' | 'LTE'",value:"number | string"},RegexCondition:{field:"string > 0",operator:"'MATCHES'",value:"string"},BasicCondition:{field:"string > 0",operator:"Operator",value:"unknown"},ConditionGroup:{operator:"'AND' | 'OR'",conditions:"(Condition | ConditionGroup)[] >= 1"},RuleCondition:"Condition | ConditionGroup",Action:{type:"string > 0","params?":"object","delay?":"number.integer >= 0","probability?":"0 <= number <= 1"},ActionGroup:{"mode?":"'ALL' | 'EITHER' | 'SEQUENCE'",actions:"(Action | ActionGroup)[] >= 1"},RuleAction:"Action | ActionGroup",TriggerRule:{id:"string > 0","name?":"string","description?":"string","priority?":"number.integer","enabled?":"boolean","cooldown?":"number.integer >= 0","tags?":"string[]",on:"string > 0","if?":"RuleCondition | RuleCondition[]",do:"RuleAction | RuleAction[]","comment?":"string"}}).export(),JN=$1.Operator,WN=$1.Condition,LN=$1.ConditionGroup,_N=$1.RuleCondition,$N=$1.Action,zN=$1.ActionGroup,v7=$1.TriggerRule;class x7{static validate(U){let X=v7(U);if(X instanceof m4.errors){let Q=[];for(let G of X){let Y=G.path.join("."),H=G.message,J=void 0;if(Y.endsWith("on")&&(H.includes("string")||H.includes("must be")))if(typeof U==="object"&&U&&U.on===!0)H="The 'on' field is incorrect (boolean true found).",J=`In YAML, 'on' is a boolean keyword (true). Quote it: "on": "EventName"`;else J="Ensure 'on' is a string event name.";Q.push({path:Y,message:H,suggestion:J,severity:"error"})}return{valid:!1,issues:Q}}let q=X,Z=[];if(this.validateConditionsRecursive(q.if,Z,"if"),Z.length>0)return{valid:!1,issues:Z};return{valid:!0,rule:q}}static validateConditionsRecursive(U,X,q){if(!U)return;if(Array.isArray(U)){U.forEach((Z,Q)=>{this.validateConditionsRecursive(Z,X,`${q}.${Q}`)});return}if("conditions"in U&&Array.isArray(U.conditions)){U.conditions.forEach((Z,Q)=>{this.validateConditionsRecursive(Z,X,`${q}.conditions.${Q}`)});return}if("operator"in U&&"value"in U)this.validateConditionValue(U,X,q)}static validateConditionValue(U,X,q){let{operator:Z,value:Q}=U;if(["IN","NOT_IN","RANGE","CONTAINS"].includes(Z)){if(Z==="CONTAINS"){if(typeof Q!=="string"&&!Array.isArray(Q))X.push({path:`${q}.value`,message:`Incorrect value type: Operator 'CONTAINS' expects a String or List (Array), but received ${typeof Q}.`,suggestion:"Use a substring or a list of items.",severity:"error"});return}if(!Array.isArray(Q)){X.push({path:`${q}.value`,message:`Incorrect value type: Operator '${Z}' expects a List (Array), but received ${typeof Q}.`,suggestion:Z==="RANGE"?"Use format [min, max]":"Use format [item1, item2]",severity:"error"});return}if(Z==="RANGE"){if(Q.length!==2)X.push({path:`${q}.value`,message:"Invalid Range: Operator 'RANGE' requires exactly 2 values (min and max).",suggestion:"Use format [min, max], e.g. [1, 10]",severity:"error"});else if(typeof Q[0]!=="number"&&typeof Q[0]!=="string")X.push({path:`${q}.value`,message:"Incorrect range type: Range values must be numbers or expression strings.",severity:"error"})}}else if(Z==="MATCHES")if(typeof Q!=="string")X.push({path:`${q}.value`,message:`Incorrect value type: Operator 'MATCHES' expects a string (regex pattern), but received ${typeof Q}.`,severity:"error"});else try{new RegExp(Q)}catch(G){X.push({path:`${q}.value`,message:`Invalid Regex pattern: ${G.message}`,severity:"error"})}else if(["GT","GTE","LT","LTE",">",">=","<","<="].includes(Z)){if(typeof Q!=="number"&&typeof Q!=="string")X.push({path:`${q}.value`,message:`Incorrect value type: Operator '${Z}' expects a number or expression string, but received ${typeof Q}.`,severity:"error"})}}}class g6{conditions=[];op="AND";constructor(U="AND"){this.op=U}where(U,X,q){return this.conditions.push({field:U,operator:X,value:q}),this}and(U){let X=new g6("AND");return this.conditions.push(U(X).build()),this}or(U){let X=new g6("OR");return this.conditions.push(U(X).build()),this}build(){if(this.conditions.length===0)throw Error("Condition group must have at least one condition");if(this.conditions.length===1&&this.op==="AND")return this.conditions[0];return{operator:this.op,conditions:this.conditions}}}class O8{actions=[];mode="ALL";setMode(U){return this.mode=U,this}add(U,X,q){return this.actions.push({type:U,params:X,...q}),this}build(){if(this.actions.length===0)throw Error("Action group must have at least one action");if(this.actions.length===1&&this.mode==="ALL")return this.actions[0];if(this.mode==="ALL")return this.actions;return{mode:this.mode,actions:this.actions}}}class h7{rule={enabled:!0,priority:0};withId(U){return this.rule.id=U,this}withName(U){return this.rule.name=U,this}withDescription(U){return this.rule.description=U,this}withPriority(U){return this.rule.priority=U,this}withCooldown(U){return this.rule.cooldown=U,this}withTags(U){return this.rule.tags=U,this}on(U){return this.rule.on=U,this}if(U,X,q){if(!this.rule.if)this.rule.if={field:U,operator:X,value:q};else if(Array.isArray(this.rule.if))this.rule.if.push({field:U,operator:X,value:q});else this.rule.if=[this.rule.if,{field:U,operator:X,value:q}];return this}ifComplex(U){let X=new g6,q=U(X).build();return this.rule.if=q,this}do(U,X,q){let Z={type:U,params:X,...q};if(!this.rule.do)this.rule.do=Z;else if(Array.isArray(this.rule.do))this.rule.do.push(Z);else if(this.rule.do&&typeof this.rule.do==="object"&&"actions"in this.rule.do)this.rule.do.actions.push(Z);else this.rule.do=[this.rule.do,Z];return this}doComplex(U){let X=new O8,q=U(X).build();return this.rule.do=q,this}build(){if(!this.rule.id)throw Error("Rule ID is required");if(!this.rule.on)throw Error("Rule 'on' event is required");if(!this.rule.do)throw Error("Rule 'do' action is required");return this.rule}}var NQ=MU(KQ(),1);class hA{static toYaml(U){let X=Array.isArray(U)?U:[U];return NQ.default.stringify(X)}static async saveToFile(U,X){let q=this.toYaml(U);if(typeof process<"u"&&process.versions&&process.versions.node){let Z=await import("fs/promises"),G=(await import("path")).dirname(X);await Z.mkdir(G,{recursive:!0}),await Z.writeFile(X,q,"utf8")}else throw Error("saveToFile is only supported in Node.js/Bun environments")}}export{M1 as triggerEmitter,tA as engineEvents,x7 as TriggerValidator,U6 as TriggerUtils,v7 as TriggerRuleSchema,vQ as TriggerEngine,IU as TriggerEmitter,K0 as StateManager,hA as RuleExporter,kQ as RuleEngine,_N as RuleConditionSchema,h7 as RuleBuilder,wU as InMemoryPersistence,Z0 as ExpressionEngine,fQ as EventQueue,PU as EngineEvent,yQ as ContextAdapter,WN as ConditionSchema,LN as ConditionGroupSchema,g6 as ConditionBuilder,JN as ComparisonOperatorSchema,gQ as BrowserPersistence,$N as ActionSchema,e2 as ActionRegistry,zN as ActionGroupSchema,O8 as ActionBuilder};
185
+
186
+ //# debugId=BA2DB9D3CA733F4F64756E2164756E21