@fincity/kirun-js 1.6.12 → 1.6.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/module.js CHANGED
@@ -1,2 +1,2 @@
1
- function e(e,t,r,n){Object.defineProperty(e,t,{get:r,set:n,enumerable:!0,configurable:!0})}function t(e,t){return Object.keys(t).forEach((function(r){"default"===r||"__esModule"===r||e.hasOwnProperty(r)||Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[r]}})})),e}e({},"KIRunSchemaRepository",(()=>f));var r={};e(r,"AdditionalType",(()=>g)),e(r,"Schema",(()=>c));e({},"Namespaces",(()=>n));class n{static SYSTEM="System";static SYSTEM_CTX="System.Context";static SYSTEM_LOOP="System.Loop";static SYSTEM_ARRAY="System.Array";static SYSTEM_OBJECT="System.Object";static MATH="System.Math";static STRING="System.String";constructor(){}}e({},"ArraySchemaType",(()=>a));function s(e){return null==e}e({},"isNullValue",(()=>s));class a{constructor(e){e&&(this.singleSchema=e.singleSchema?new c(e.singleSchema):void 0,this.tupleSchema=e.tupleSchema?e.tupleSchema.map((e=>new c(e))):void 0)}setSingleSchema(e){return this.singleSchema=e,this}setTupleSchema(e){return this.tupleSchema=e,this}getSingleSchema(){return this.singleSchema}getTupleSchema(){return this.tupleSchema}isSingleType(){return!s(this.singleSchema)}static of(...e){return 1==e.length?(new a).setSingleSchema(e[0]):(new a).setTupleSchema(e)}static from(e){if(!e)return;if(Array.isArray(e))return(new a).setTupleSchema(c.fromListOfSchemas(e));let t=Object.keys(e);if(-1!=t.indexOf("singleSchema"))return(new a).setSingleSchema(c.from(e.singleSchema));if(-1!=t.indexOf("tupleSchema"))return(new a).setTupleSchema(c.fromListOfSchemas(e.tupleSchema));let r=c.from(e);return r?(new a).setSingleSchema(r):void 0}}let i;var o;e({},"SchemaType",(()=>i)),(o=i||(i={})).INTEGER="Integer",o.LONG="Long",o.FLOAT="Float",o.DOUBLE="Double",o.STRING="String",o.OBJECT="Object",o.ARRAY="Array",o.BOOLEAN="Boolean",o.NULL="Null";e({},"TypeUtil",(()=>l));e({},"MultipleType",(()=>u));e({},"Type",(()=>E));class E{}class u extends E{constructor(e){super(),this.type=e instanceof u?new Set(Array.from(e.type)):new Set(Array.from(e))}getType(){return this.type}setType(e){return this.type=e,this}getAllowedSchemaTypes(){return this.type}contains(e){return this.type?.has(e)}}e({},"SingleType",(()=>A));class A extends E{constructor(e){super(),this.type=e instanceof A?e.type:e}getType(){return this.type}getAllowedSchemaTypes(){return new Set([this.type])}contains(e){return this.type==e}}class l{static of(...e){return 1==e.length?new A(e[0]):new u(new Set(e))}static from(e){return"string"==typeof e?new A(i[e]):Array.isArray(e)?new u(new Set(e.map((e=>e)).map((e=>i[e])))):void 0}}class g{constructor(e){e&&(this.booleanValue=e.booleanValue,e.schemaValue&&(this.schemaValue=new c(e.schemaValue)))}getBooleanValue(){return this.booleanValue}getSchemaValue(){return this.schemaValue}setBooleanValue(e){return this.booleanValue=e,this}setSchemaValue(e){return this.schemaValue=e,this}static from(e){if(s(e))return;const t=new g;if("boolean"==typeof e)t.booleanValue=e;else{let r=Object.keys(e);-1!=r.indexOf("booleanValue")?t.booleanValue=e.booleanValue:-1!=r.indexOf("schemaValue")?t.schemaValue=c.from(e.schemaValue):t.schemaValue=c.from(e)}return t}}class c{static NULL=(new c).setNamespace(n.SYSTEM).setName("Null").setType(l.of(i.NULL)).setConstant(void 0);static TYPE_SCHEMA=(new c).setType(l.of(i.STRING)).setEnums(["INTEGER","LONG","FLOAT","DOUBLE","STRING","OBJECT","ARRAY","BOOLEAN","NULL"]);static SCHEMA=(new c).setNamespace(n.SYSTEM).setName("Schema").setType(l.of(i.OBJECT)).setProperties(new Map([["namespace",c.of("namespace",i.STRING).setDefaultValue("_")],["name",c.ofString("name")],["version",c.of("version",i.INTEGER).setDefaultValue(1)],["ref",c.ofString("ref")],["type",(new c).setAnyOf([c.TYPE_SCHEMA,c.ofArray("type",c.TYPE_SCHEMA)])],["anyOf",c.ofArray("anyOf",c.ofRef("System.Schema"))],["allOf",c.ofArray("allOf",c.ofRef("System.Schema"))],["oneOf",c.ofArray("oneOf",c.ofRef("System.Schema"))],["not",c.ofRef("System.Schema")],["title",c.ofString("title")],["description",c.ofString("description")],["id",c.ofString("id")],["examples",c.ofAny("examples")],["defaultValue",c.ofAny("defaultValue")],["comment",c.ofString("comment")],["enums",c.ofArray("enums",c.ofString("enums"))],["constant",c.ofAny("constant")],["pattern",c.ofString("pattern")],["format",c.of("format",i.STRING).setEnums(["DATETIME","TIME","DATE","EMAIL","REGEX"])],["minLength",c.ofInteger("minLength")],["maxLength",c.ofInteger("maxLength")],["multipleOf",c.ofLong("multipleOf")],["minimum",c.ofNumber("minimum")],["maximum",c.ofNumber("maximum")],["exclusiveMinimum",c.ofNumber("exclusiveMinimum")],["exclusiveMaximum",c.ofNumber("exclusiveMaximum")],["properties",c.of("properties",i.OBJECT).setAdditionalProperties((new g).setSchemaValue(c.ofRef("System.Schema")))],["additionalProperties",(new c).setName("additionalProperty").setNamespace(n.SYSTEM).setAnyOf([c.ofBoolean("additionalProperty"),c.ofObject("additionalProperty").setRef("System.Schema")]).setDefaultValue(!0)],["required",c.ofArray("required",c.ofString("required")).setDefaultValue([])],["propertyNames",c.ofRef("System.Schema")],["minProperties",c.ofInteger("minProperties")],["maxProperties",c.ofInteger("maxProperties")],["patternProperties",c.of("patternProperties",i.OBJECT).setAdditionalProperties((new g).setSchemaValue(c.ofRef("System.Schema")))],["items",(new c).setName("items").setAnyOf([c.ofRef("System.Schema").setName("item"),c.ofArray("tuple",c.ofRef("System.Schema"))])],["contains",c.ofRef("System.Schema")],["minContains",c.ofInteger("minContains")],["maxContains",c.ofInteger("maxContains")],["minItems",c.ofInteger("minItems")],["maxItems",c.ofInteger("maxItems")],["uniqueItems",c.ofBoolean("uniqueItems")],["additionalItems",(new c).setName("additionalItems").setNamespace(n.SYSTEM).setAnyOf([c.ofBoolean("additionalItems"),c.ofObject("additionalItems").setRef("System.Schema")])],["$defs",c.of("$defs",i.OBJECT).setAdditionalProperties((new g).setSchemaValue(c.ofRef("System.Schema")))],["permission",c.ofString("permission")]])).setRequired([]);static ofString(e){return(new c).setType(l.of(i.STRING)).setName(e)}static ofInteger(e){return(new c).setType(l.of(i.INTEGER)).setName(e)}static ofFloat(e){return(new c).setType(l.of(i.FLOAT)).setName(e)}static ofLong(e){return(new c).setType(l.of(i.LONG)).setName(e)}static ofDouble(e){return(new c).setType(l.of(i.DOUBLE)).setName(e)}static ofAny(e){return(new c).setType(l.of(i.INTEGER,i.LONG,i.FLOAT,i.DOUBLE,i.STRING,i.BOOLEAN,i.ARRAY,i.NULL,i.OBJECT)).setName(e)}static ofAnyNotNull(e){return(new c).setType(l.of(i.INTEGER,i.LONG,i.FLOAT,i.DOUBLE,i.STRING,i.BOOLEAN,i.ARRAY,i.OBJECT)).setName(e)}static ofNumber(e){return(new c).setType(l.of(i.INTEGER,i.LONG,i.FLOAT,i.DOUBLE)).setName(e)}static ofBoolean(e){return(new c).setType(l.of(i.BOOLEAN)).setName(e)}static of(e,...t){return(new c).setType(l.of(...t)).setName(e)}static ofObject(e){return(new c).setType(l.of(i.OBJECT)).setName(e)}static ofRef(e){return(new c).setRef(e)}static ofArray(e,...t){return(new c).setType(l.of(i.ARRAY)).setName(e).setItems(a.of(...t))}static fromListOfSchemas(e){if(s(e)&&!Array.isArray(e))return;let t=[];for(let r of Array.from(e)){let e=c.from(r);e&&t.push(e)}return t}static fromMapOfSchemas(e){if(s(e))return;const t=new Map;return Object.entries(e).forEach((([e,r])=>{let n=c.from(r);n&&t.set(e,n)})),t}static from(e,t=!1){if(s(e))return;let r=new c;return r.namespace=e.namespace??"_",r.name=e.name,r.version=e.version??1,r.ref=e.ref,r.type=t?new A(i.STRING):l.from(e.type),r.anyOf=c.fromListOfSchemas(e.anyOf),r.allOf=c.fromListOfSchemas(e.allOf),r.oneOf=c.fromListOfSchemas(e.oneOf),r.not=c.from(e.not),r.description=e.description,r.examples=e.examples?[...e.examples]:void 0,r.defaultValue=e.defaultValue,r.comment=e.comment,r.enums=e.enums?[...e.enums]:void 0,r.constant=e.constant,r.pattern=e.pattern,r.format=e.format,r.minLength=e.minLength,r.maxLength=e.maxLength,r.multipleOf=e.multipleOf,r.minimum=e.minimum,r.maximum=e.maximum,r.exclusiveMinimum=e.exclusiveMinimum,r.exclusiveMaximum=e.exclusiveMaximum,r.properties=c.fromMapOfSchemas(e.properties),r.additionalProperties=g.from(e.additionalProperties),r.required=e.required,r.propertyNames=c.from(e.propertyNames,!0),r.minProperties=e.minProperties,r.maxProperties=e.maxProperties,r.patternProperties=c.fromMapOfSchemas(e.patternProperties),r.items=a.from(e.items),r.additionalItems=g.from(e.additionalItems),r.contains=c.from(e.contains),r.minContains=e.minContains,r.maxContains=e.maxContains,r.minItems=e.minItems,r.maxItems=e.maxItems,r.uniqueItems=e.uniqueItems,r.$defs=c.fromMapOfSchemas(e.$defs),r.permission=e.permission,r}namespace="_";version=1;constructor(e){e&&(this.namespace=e.namespace,this.name=e.name,this.version=e.version,this.ref=e.ref,this.type=e.type instanceof A?new A(e.type):new u(e.type),this.anyOf=e.anyOf?.map((e=>new c(e))),this.allOf=e.allOf?.map((e=>new c(e))),this.oneOf=e.oneOf?.map((e=>new c(e))),this.not=this.not?new c(this.not):void 0,this.description=e.description,this.examples=e.examples?JSON.parse(JSON.stringify(e.examples)):void 0,this.defaultValue=e.defaultValue?JSON.parse(JSON.stringify(e.defaultValue)):void 0,this.comment=e.comment,this.enums=e.enums?[...e.enums]:void 0,this.constant=e.constant?JSON.parse(JSON.stringify(e.constant)):void 0,this.pattern=e.pattern,this.format=e.format,this.minLength=e.minLength,this.maxLength=e.maxLength,this.multipleOf=e.multipleOf,this.minimum=e.minimum,this.maximum=e.maximum,this.exclusiveMinimum=e.exclusiveMinimum,this.exclusiveMaximum=e.exclusiveMaximum,this.properties=e.properties?new Map(Array.from(e.properties.entries()).map((e=>[e[0],new c(e[1])]))):void 0,this.additionalProperties=e.additionalProperties?new g(e.additionalProperties):void 0,this.required=e.required?[...e.required]:void 0,this.propertyNames=e.propertyNames?new c(e.propertyNames):void 0,this.minProperties=e.minProperties,this.maxProperties=e.maxProperties,this.patternProperties=e.patternProperties?new Map(Array.from(e.patternProperties.entries()).map((e=>[e[0],new c(e[1])]))):void 0,this.items=e.items?new a(e.items):void 0,this.contains=e.contains?new c(this.contains):void 0,this.minContains=e.minContains,this.maxContains=e.maxContains,this.minItems=e.minItems,this.maxItems=e.maxItems,this.uniqueItems=e.uniqueItems,this.additionalItems=e.additionalItems?new g(e.additionalItems):void 0,this.$defs=e.$defs?new Map(Array.from(e.$defs.entries()).map((e=>[e[0],new c(e[1])]))):void 0,this.permission=e.permission)}getTitle(){return this.namespace&&"_"!=this.namespace?this.namespace+"."+this.name:this.name}getFullName(){return this.namespace+"."+this.name}get$defs(){return this.$defs}set$defs(e){return this.$defs=e,this}getNamespace(){return this.namespace}setNamespace(e){return this.namespace=e,this}getName(){return this.name}setName(e){return this.name=e,this}getVersion(){return this.version}setVersion(e){return this.version=e,this}getRef(){return this.ref}setRef(e){return this.ref=e,this}getType(){return this.type}setType(e){return this.type=e,this}getAnyOf(){return this.anyOf}setAnyOf(e){return this.anyOf=e,this}getAllOf(){return this.allOf}setAllOf(e){return this.allOf=e,this}getOneOf(){return this.oneOf}setOneOf(e){return this.oneOf=e,this}getNot(){return this.not}setNot(e){return this.not=e,this}getDescription(){return this.description}setDescription(e){return this.description=e,this}getExamples(){return this.examples}setExamples(e){return this.examples=e,this}getDefaultValue(){return this.defaultValue}setDefaultValue(e){return this.defaultValue=e,this}getComment(){return this.comment}setComment(e){return this.comment=e,this}getEnums(){return this.enums}setEnums(e){return this.enums=e,this}getConstant(){return this.constant}setConstant(e){return this.constant=e,this}getPattern(){return this.pattern}setPattern(e){return this.pattern=e,this}getFormat(){return this.format}setFormat(e){return this.format=e,this}getMinLength(){return this.minLength}setMinLength(e){return this.minLength=e,this}getMaxLength(){return this.maxLength}setMaxLength(e){return this.maxLength=e,this}getMultipleOf(){return this.multipleOf}setMultipleOf(e){return this.multipleOf=e,this}getMinimum(){return this.minimum}setMinimum(e){return this.minimum=e,this}getMaximum(){return this.maximum}setMaximum(e){return this.maximum=e,this}getExclusiveMinimum(){return this.exclusiveMinimum}setExclusiveMinimum(e){return this.exclusiveMinimum=e,this}getExclusiveMaximum(){return this.exclusiveMaximum}setExclusiveMaximum(e){return this.exclusiveMaximum=e,this}getProperties(){return this.properties}setProperties(e){return this.properties=e,this}getAdditionalProperties(){return this.additionalProperties}setAdditionalProperties(e){return this.additionalProperties=e,this}getAdditionalItems(){return this.additionalItems}setAdditionalItems(e){return this.additionalItems=e,this}getRequired(){return this.required}setRequired(e){return this.required=e,this}getPropertyNames(){return this.propertyNames}setPropertyNames(e){return this.propertyNames=e,this.propertyNames.type=new A(i.STRING),this}getMinProperties(){return this.minProperties}setMinProperties(e){return this.minProperties=e,this}getMaxProperties(){return this.maxProperties}setMaxProperties(e){return this.maxProperties=e,this}getPatternProperties(){return this.patternProperties}setPatternProperties(e){return this.patternProperties=e,this}getItems(){return this.items}setItems(e){return this.items=e,this}getContains(){return this.contains}setContains(e){return this.contains=e,this}getMinContains(){return this.minContains}setMinContains(e){return this.minContains=e,this}getMaxContains(){return this.maxContains}setMaxContains(e){return this.maxContains=e,this}getMinItems(){return this.minItems}setMinItems(e){return this.minItems=e,this}getMaxItems(){return this.maxItems}setMaxItems(e){return this.maxItems=e,this}getUniqueItems(){return this.uniqueItems}setUniqueItems(e){return this.uniqueItems=e,this}getPermission(){return this.permission}setPermission(e){return this.permission=e,this}}e({},"Parameter",(()=>p));e({},"SchemaReferenceException",(()=>m));class m extends Error{constructor(e,t,r){super(e.trim()?e+"-"+t:t),this.schemaPath=e,this.cause=r}getSchemaPath(){return this.schemaPath}getCause(){return this.cause}}let T;var R;e({},"ParameterType",(()=>T)),(R=T||(T={})).CONSTANT="CONSTANT",R.EXPRESSION="EXPRESSION";class p{static SCHEMA_NAME="Parameter";static SCHEMA=(new c).setNamespace(n.SYSTEM).setName(p.SCHEMA_NAME).setProperties(new Map([["schema",c.SCHEMA],["parameterName",c.ofString("parameterName")],["variableArgument",c.of("variableArgument",i.BOOLEAN).setDefaultValue(!1)],["type",c.ofString("type").setEnums(["EXPRESSION","CONSTANT"])]]));static EXPRESSION=(new c).setNamespace(n.SYSTEM).setName("ParameterExpression").setType(l.of(i.OBJECT)).setProperties(new Map([["isExpression",c.ofBoolean("isExpression").setDefaultValue(!0)],["value",c.ofAny("value")]]));variableArgument=!1;type=T.EXPRESSION;constructor(e,t){if(e instanceof p)this.schema=new c(e.schema),this.parameterName=e.parameterName,this.variableArgument=e.variableArgument,this.type=e.type;else{if(!t)throw new Error("Unknown constructor signature");this.schema=t,this.parameterName=e}}getSchema(){return this.schema}setSchema(e){return this.schema=e,this}getParameterName(){return this.parameterName}setParameterName(e){return this.parameterName=e,this}isVariableArgument(){return this.variableArgument}setVariableArgument(e){return this.variableArgument=e,this}getType(){return this.type}setType(e){return this.type=e,this}static ofEntry(e,t,r=!1,n=T.EXPRESSION){return[e,new p(e,t).setType(n).setVariableArgument(r)]}static of(e,t,r=!1,n=T.EXPRESSION){return new p(e,t).setType(n).setVariableArgument(r)}static from(e){const t=c.from(e.schema);if(!t)throw new m("","Parameter requires Schema");return new p(e.parameterName,t).setVariableArgument(!!e.variableArguments).setType(e.type??T.EXPRESSION)}}const h=new Map([["any",c.ofAny("any").setNamespace(n.SYSTEM)],["boolean",c.ofBoolean("boolean").setNamespace(n.SYSTEM)],["double",c.ofDouble("double").setNamespace(n.SYSTEM)],["float",c.ofFloat("float").setNamespace(n.SYSTEM)],["integer",c.ofInteger("integer").setNamespace(n.SYSTEM)],["long",c.ofLong("long").setNamespace(n.SYSTEM)],["number",c.ofNumber("number").setNamespace(n.SYSTEM)],["string",c.ofString("string").setNamespace(n.SYSTEM)],[p.EXPRESSION.getName(),p.EXPRESSION],[c.NULL.getName(),c.NULL],[c.SCHEMA.getName(),c.SCHEMA]]),N=Array.from(h.values()).map((e=>e.getFullName()));class f{find(e,t){if(n.SYSTEM==e)return h.get(t)}filter(e){return N.filter((t=>-1!==t.toLowerCase().indexOf(e.toLowerCase())))}}function _(e){return[e.getSignature().getName(),e]}e({},"KIRunFunctionRepository",(()=>Cr));var S={};e(S,"MapUtil",(()=>M)),e(S,"MapEntry",(()=>O));class M{static of(e,t,r,n,a,i,o,E,u,A,l,g,c,m,T,R,p,h,N,f){const _=new Map;return s(e)||s(t)||_.set(e,t),s(r)||s(n)||_.set(r,n),s(a)||s(i)||_.set(a,i),s(o)||s(E)||_.set(o,E),s(u)||s(A)||_.set(u,A),s(l)||s(g)||_.set(l,g),s(c)||s(m)||_.set(c,m),s(T)||s(R)||_.set(T,R),s(p)||s(h)||_.set(p,h),s(N)||s(f)||_.set(N,f),_}static ofArrayEntries(...e){const t=new Map;for(const[r,n]of e)t.set(r,n);return t}static entry(e,t){return new O(e,t)}static ofEntries(...e){const t=new Map;for(const r of e)t.set(r.k,r.v);return t}static ofEntriesArray(...e){const t=new Map;for(let r=0;r<e.length;r++)t.set(e[r][0],e[r][1]);return t}constructor(){}}class O{constructor(e,t){this.k=e,this.v=t}}e({},"EventResult",(()=>I));e({},"Event",(()=>w));class w{static OUTPUT="output";static ERROR="error";static ITERATION="iteration";static TRUE="true";static FALSE="false";static SCHEMA_NAME="Event";static SCHEMA=(new c).setNamespace(n.SYSTEM).setName(w.SCHEMA_NAME).setType(l.of(i.OBJECT)).setProperties(new Map([["name",c.ofString("name")],["parameters",c.ofObject("parameter").setAdditionalProperties((new g).setSchemaValue(c.SCHEMA))]]));constructor(e,t){if(e instanceof w)this.name=e.name,this.parameters=new Map(Array.from(e.parameters.entries()).map((e=>[e[0],new c(e[1])])));else{if(this.name=e,!t)throw new Error("Unknown constructor format");this.parameters=t}}getName(){return this.name}setName(e){return this.name=e,this}getParameters(){return this.parameters}setParameters(e){return this.parameters=e,this}static outputEventMapEntry(e){return w.eventMapEntry(w.OUTPUT,e)}static eventMapEntry(e,t){return[e,new w(e,t)]}static from(e){return new w(e.name,new Map(Object.entries(e.parameters??{}).map((e=>{const t=c.from(e[1]);if(!t)throw new m("","Event expects a schema");return[e[0],t]}))))}}class I{constructor(e,t){this.name=e,this.result=t}getName(){return this.name}setName(e){return this.name=e,this}getResult(){return this.result}setResult(e){return this.result=e,this}static outputOf(e){return I.of(w.OUTPUT,e)}static of(e,t){return new I(e,t)}}e({},"FunctionOutput",(()=>d));e({},"KIRuntimeException",(()=>P));class P extends Error{constructor(e,t){super(e),this.cause=t}getCause(){return this.cause}}class d{index=0;constructor(e){if(s(e))throw new P("Function output is generating null");Array.isArray(e)&&e.length&&e[0]instanceof I?this.fo=e:(this.fo=[],Array.isArray(e)||(this.generator=e))}next(){if(!this.generator)return this.index<this.fo.length?this.fo[this.index++]:void 0;const e=this.generator.next();return e&&this.fo.push(e),e}allResults(){return this.fo}}e({},"FunctionSignature",(()=>y));class y{static SCHEMA_NAME="FunctionSignature";static SCHEMA=(new c).setNamespace(n.SYSTEM).setName(y.SCHEMA_NAME).setProperties(new Map([["name",c.ofString("name")],["namespace",c.ofString("namespace")],["parameters",c.ofObject("parameters").setAdditionalProperties((new g).setSchemaValue(p.SCHEMA))],["events",c.ofObject("events").setAdditionalProperties((new g).setSchemaValue(w.SCHEMA))]]));namespace="_";parameters=new Map;events=new Map;constructor(e){e instanceof y?(this.name=e.name,this.namespace=e.namespace,this.parameters=new Map(Array.from(e.parameters.entries()).map((e=>[e[0],new p(e[1])]))),this.events=new Map(Array.from(e.events.entries()).map((e=>[e[0],new w(e[1])])))):this.name=e}getNamespace(){return this.namespace}setNamespace(e){return this.namespace=e,this}getName(){return this.name}setName(e){return this.name=e,this}getParameters(){return this.parameters}setParameters(e){return this.parameters=e,this}getEvents(){return this.events}setEvents(e){return this.events=e,this}getFullName(){return this.namespace+"."+this.name}}e({},"AbstractFunction",(()=>J));e({},"SchemaValidator",(()=>q));e({},"StringUtil",(()=>L));e({},"StringFormatter",(()=>x));class x{static format(e,...t){if(!t||0==t.length)return e;let r="",n=0,s="",a=s,i=e.length;for(let o=0;o<i;o++)s=e.charAt(o),"$"==s&&"\\"==a?r=r.substring(0,o-1)+s:"$"==s&&n<t.length?r+=t[n++]:r+=s,a=s;return r.toString()}constructor(){}}class L{constructor(){}static nthIndex(e,t,r=0,n){if(!e)throw new P("String cannot be null");if(r<0||r>=e.length)throw new P(x.format("Cannot search from index : $",r));if(n<=0||n>e.length)throw new P(x.format("Cannot search for occurance : $",n));for(;r<e.length;){if(e.charAt(r)==t&&0==--n)return r;++r}return-1}static splitAtFirstOccurance(e,t){if(!e)return[void 0,void 0];let r=e.indexOf(t);return-1==r?[e,void 0]:[e.substring(0,r),e.substring(r+1)]}static isNullOrBlank(e){return!e||""==e.trim()}}e({},"SchemaUtil",(()=>b));var v={};e(v,"Tuple2",(()=>U)),e(v,"Tuple3",(()=>V)),e(v,"Tuple4",(()=>C));class U{constructor(e,t){this.f=e,this.s=t}getT1(){return this.f}getT2(){return this.s}setT1(e){return this.f=e,this}setT2(e){return this.s=e,this}}class V extends U{constructor(e,t,r){super(e,t),this.t=r}getT3(){return this.t}setT1(e){return this.f=e,this}setT2(e){return this.s=e,this}setT3(e){return this.t=e,this}}class C extends V{constructor(e,t,r,n){super(e,t,r),this.fr=n}getT4(){return this.fr}setT1(e){return this.f=e,this}setT2(e){return this.s=e,this}setT3(e){return this.t=e,this}setT4(e){return this.fr=e,this}}e({},"SchemaValidationException",(()=>G));class G extends Error{constructor(e,t,r=[],n){super(t+(r?r.map((e=>e.message)).reduce(((e,t)=>e+"\n"+t),""):"")),this.schemaPath=e,this.cause=n}getSchemaPath(){return this.schemaPath}getCause(){return this.cause}}class b{static UNABLE_TO_RETRIVE_SCHEMA_FROM_REFERENCED_PATH="Unable to retrive schema from referenced path";static CYCLIC_REFERENCE_LIMIT_COUNTER=20;static getDefaultValue(e,t){if(e)return e.getConstant()?e.getConstant():s(e.getDefaultValue())?b.getDefaultValue(b.getSchemaFromRef(e,t,e.getRef()),t):e.getDefaultValue()}static hasDefaultValueOrNullSchemaType(e,t){return!!e&&(!!e.getConstant()||(!!e.getDefaultValue()||(s(e.getRef())?!!e.getType()?.getAllowedSchemaTypes().has(i.NULL):this.hasDefaultValueOrNullSchemaType(b.getSchemaFromRef(e,t,e.getRef()),t))))}static getSchemaFromRef(e,t,r,n=0){if(++n==b.CYCLIC_REFERENCE_LIMIT_COUNTER)throw new G(r??"","Schema has a cyclic reference");if(!e||!r||L.isNullOrBlank(r))return;if(!r.startsWith("#")){var s=b.resolveExternalSchema(e,t,r);s&&(e=s.getT1(),r=s.getT2())}let a=r.split("/");return 1===a.length?e:b.resolveInternalSchema(e,t,r,n,a,1)}static resolveInternalSchema(e,t,r,n,s,a){let o=e;if(a!==s.length){for(;a<s.length;){if("$defs"===s[a]){if(++a>=s.length||!o.get$defs())throw new m(r,b.UNABLE_TO_RETRIVE_SCHEMA_FROM_REFERENCED_PATH);o=o.get$defs()?.get(s[a])}else{if(o&&(!o.getType()?.contains(i.OBJECT)||!o.getProperties()))throw new m(r,"Cannot retrievie schema from non Object type schemas");o=o.getProperties()?.get(s[a])}if(a++,!o)throw new m(r,b.UNABLE_TO_RETRIVE_SCHEMA_FROM_REFERENCED_PATH);if(!L.isNullOrBlank(o.getRef())&&(o=b.getSchemaFromRef(o,t,o.getRef(),n),!o))throw new m(r,b.UNABLE_TO_RETRIVE_SCHEMA_FROM_REFERENCED_PATH)}return o}}static resolveExternalSchema(e,t,r){if(!t)return;let n=L.splitAtFirstOccurance(r??"","/");if(!n[0])return;let s=L.splitAtFirstOccurance(n[0],".");if(!s[0]||!s[1])return;let a=t.find(s[0],s[1]);if(a){if(!n[1]||""===n[1])return new U(a,r);if(r="#/"+n[1],!a)throw new m(r,b.UNABLE_TO_RETRIVE_SCHEMA_FROM_REFERENCED_PATH);return new U(a,r)}}constructor(){}}e({},"AnyOfAllOfOneOfValidator",(()=>D));class D{static validate(e,t,r,n){let s=[];return t.getOneOf()&&!t.getOneOf()?D.oneOf(e,t,r,n,s):t.getAllOf()&&!t.getAllOf()?D.allOf(e,t,r,n,s):t.getAnyOf()&&!t.getAnyOf()&&D.anyOf(e,t,r,n,s),n}static anyOf(e,t,r,n,s){let a=!1;for(let i of t.getAnyOf()??[])try{D.validate(e,i,r,n),a=!0;break}catch(e){a=!1,s.push(e)}if(!a)throw new G(q.path(e),"The value don't satisfy any of the schemas.",s)}static allOf(e,t,r,n,s){let a=0;for(let i of t.getAllOf()??[])try{D.validate(e,i,r,n),a++}catch(e){s.push(e)}if(a!==t.getAllOf()?.length)throw new G(q.path(e),"The value doesn't satisfy some of the schemas.",s)}static oneOf(e,t,r,n,s){let a=0;for(let i of t.getOneOf()??[])try{D.validate(e,i,r,n),a++}catch(e){s.push(e)}if(1!=a)throw new G(q.path(e),0==a?"The value does not satisfy any schema":"The value satisfy more than one schema",s)}constructor(){}}e({},"TypeValidator",(()=>W));e({},"ArrayValidator",(()=>F));class F{static validate(e,t,r,n){if(s(n))throw new G(q.path(e),"Expected an array but found null");if(!Array.isArray(n))throw new G(q.path(e),n.toString()+" is not an Array");let a=n;return F.checkMinMaxItems(e,t,a),F.checkItems(e,t,r,a),F.checkUniqueItems(e,t,a),F.checkContains(t,e,r,a),n}static checkContains(e,t,r,n){if(s(e.getContains()))return;let a=F.countContains(t,e,r,n,s(e.getMinContains())&&s(e.getMaxContains()));if(0===a)throw new G(q.path(t),"None of the items are of type contains schema");if(!s(e.getMinContains())&&e.getMinContains()>a)throw new G(q.path(t),"The minimum number of the items of type contains schema should be "+e.getMinContains()+" but found "+a);if(!s(e.getMaxContains())&&e.getMaxContains()<a)throw new G(q.path(t),"The maximum number of the items of type contains schema should be "+e.getMaxContains()+" but found "+a)}static countContains(e,t,r,n,s){let a=0;for(let i=0;i<n.length;i++){let o=e?[...e]:[];try{if(q.validate(o,t.getContains(),r,n[i]),a++,s)break}catch(e){}}return a}static checkUniqueItems(e,t,r){if(t.getUniqueItems()&&t.getUniqueItems()){if(new Set(r).size!==r.length)throw new G(q.path(e),"Items on the array are not unique")}}static checkMinMaxItems(e,t,r){if(t.getMinItems()&&t.getMinItems()>r.length)throw new G(q.path(e),"Array should have minimum of "+t.getMinItems()+" elements");if(t.getMaxItems()&&t.getMaxItems()<r.length)throw new G(q.path(e),"Array can have maximum of "+t.getMaxItems()+" elements")}static checkItems(e,t,r,n){if(!t.getItems())return;let a=t.getItems();if(a.getSingleSchema())for(let t=0;t<n.length;t++){let s=e?[...e]:[],i=q.validate(s,a.getSingleSchema(),r,n[t]);n[t]=i}if(a.getTupleSchema()){if(a.getTupleSchema().length!==n.length&&s(t?.getAdditionalItems()))throw new G(q.path(e),"Expected an array with only "+a.getTupleSchema().length+" but found "+n.length);this.checkItemsInTupleSchema(e,r,n,a),this.checkAdditionalItems(e,t,r,n,a)}}static checkItemsInTupleSchema(e,t,r,n){for(let s=0;s<n.getTupleSchema()?.length;s++){let a=e?[...e]:[],i=q.validate(a,n.getTupleSchema()[s],t,r[s]);r[s]=i}}static checkAdditionalItems(e,t,r,n,a){if(!s(t.getAdditionalItems())){let s=t.getAdditionalItems();if(s?.getBooleanValue()){let i=c.ofAny("item");if(!1===s?.getBooleanValue()&&n.length>a.getTupleSchema()?.length)throw new G(q.path(e),"No Additional Items are defined");this.checkEachItemInAdditionalItems(e,t,r,n,a,i)}else if(s?.getSchemaValue()){let i=s.getSchemaValue();this.checkEachItemInAdditionalItems(e,t,r,n,a,i)}}}static checkEachItemInAdditionalItems(e,t,r,n,s,a){for(let t=s.getTupleSchema()?.length;t<n.length;t++){let s=e?[...e]:[],i=q.validate(s,a,r,n[t]);n[t]=i}}constructor(){}}e({},"BooleanValidator",(()=>B));class B{static validate(e,t,r){if(s(r))throw new G(q.path(e),"Expected a boolean but found null");if("boolean"!=typeof r)throw new G(q.path(e),r.toString()+" is not a boolean");return r}constructor(){}}e({},"NullValidator",(()=>Y));class Y{static validate(e,t,r){if(r)throw new G(q.path(e),"Expected a null but found "+r);return r}constructor(){}}e({},"NumberValidator",(()=>H));class H{static validate(e,t,r,n){if(s(n))throw new G(q.path(t),"Expected a number but found null");if("number"!=typeof n)throw new G(q.path(t),n.toString()+" is not a "+e);let a=H.extractNumber(e,t,r,n);return H.checkRange(t,r,n,a),H.checkMultipleOf(t,r,n,a),n}static extractNumber(e,t,r,n){let a=n;try{e!=i.LONG&&e!=i.INTEGER||(a=Math.round(a))}catch(r){throw new G(q.path(t),n+" is not a number of type "+e,r)}if(s(a)||(e==i.LONG||e==i.INTEGER)&&a!=n)throw new G(q.path(t),n.toString()+" is not a number of type "+e);return a}static checkMultipleOf(e,t,r,n){if(t.getMultipleOf()){if(n%t.getMultipleOf()!=0)throw new G(q.path(e),r.toString()+" is not multiple of "+t.getMultipleOf())}}static checkRange(e,t,r,n){if(t.getMinimum()&&H.numberCompare(n,t.getMinimum())<0)throw new G(q.path(e),r.toString()+" should be greater than or equal to "+t.getMinimum());if(t.getMaximum()&&H.numberCompare(n,t.getMaximum())>0)throw new G(q.path(e),r.toString()+" should be less than or equal to "+t.getMaximum());if(t.getExclusiveMinimum()&&H.numberCompare(n,t.getExclusiveMinimum())<=0)throw new G(q.path(e),r.toString()+" should be greater than "+t.getExclusiveMinimum());if(t.getExclusiveMaximum()&&H.numberCompare(n,t.getExclusiveMaximum())>0)throw new G(q.path(e),r.toString()+" should be less than "+t.getExclusiveMaximum())}static numberCompare(e,t){return e-t}constructor(){}}e({},"ObjectValidator",(()=>k));class k{static validate(e,t,r,n){if(s(n))throw new G(q.path(e),"Expected an object but found null");if("object"!=typeof n||Array.isArray(n))throw new G(q.path(e),n.toString()+" is not an Object");let a=n,i=new Set(Object.keys(a));k.checkMinMaxProperties(e,t,i),t.getPropertyNames()&&k.checkPropertyNameSchema(e,t,r,i),t.getRequired()&&k.checkRequired(e,t,a),t.getProperties()&&k.checkProperties(e,t,r,a,i),t.getPatternProperties()&&k.checkPatternProperties(e,t,r,a,i),t.getAdditionalProperties()&&k.checkAddtionalProperties(e,t,r,a,i)}static checkPropertyNameSchema(e,t,r,n){for(let s of Array.from(n.values()))try{q.validate(e,t.getPropertyNames(),r,s)}catch(t){throw new G(q.path(e),"Property name '"+s+"' does not fit the property schema")}}static checkRequired(e,t,r){for(const n of t.getRequired()??[])if(s(r[n]))throw new G(q.path(e),n+" is mandatory")}static checkAddtionalProperties(e,t,r,n,s){let a=t.getAdditionalProperties();if(a.getSchemaValue())for(let t of Array.from(s.values())){let s=e?[...e]:[],i=q.validate(s,a.getSchemaValue(),r,n[t]);n[t]=i}else if(!1===a.getBooleanValue()&&s.size)throw new G(q.path(e),Array.from(s)+" is/are additional properties which are not allowed.")}static checkPatternProperties(e,t,r,n,s){const a=new Map;for(const e of Array.from(t.getPatternProperties().keys()))a.set(e,new RegExp(e));for(const i of Array.from(s.values())){const o=e?[...e]:[];for(const e of Array.from(a.entries()))if(e[1].test(i)){const a=q.validate(o,t.getPatternProperties().get(e[0]),r,n[i]);n[i]=a,s.delete(i);break}}}static checkProperties(e,t,r,n,a){for(const i of Array.from(t.getProperties())){let t=n[i[0]];if(!n.hasOwnProperty(i[0])&&s(t)){if(s(b.getDefaultValue(i[1],r)))continue}let o=e?[...e]:[],E=q.validate(o,i[1],r,t);n[i[0]]=E,a.delete(i[0])}}static checkMinMaxProperties(e,t,r){if(t.getMinProperties()&&r.size<t.getMinProperties())throw new G(q.path(e),"Object should have minimum of "+t.getMinProperties()+" properties");if(t.getMaxProperties()&&r.size>t.getMaxProperties())throw new G(q.path(e),"Object can have maximum of "+t.getMaxProperties()+" properties")}constructor(){}}e({},"StringValidator",(()=>X));let $;var j;e({},"StringFormat",(()=>$)),(j=$||($={})).DATETIME="DATETIME",j.TIME="TIME",j.DATE="DATE",j.EMAIL="EMAIL",j.REGEX="REGEX";class X{static TIME=/^([01]?[0-9]|2[0-3]):[0-5][0-9](:[0-5][0-9])?([+-][01][0-9]:[0-5][0-9])?$/;static DATE=/^[0-9]{4,4}-([0][0-9]|[1][0-2])-(0[1-9]|[1-2][1-9]|3[01])$/;static DATETIME=/^[0-9]{4,4}-([0][0-9]|[1][0-2])-(0[1-9]|[1-2][1-9]|3[01])T([01]?[0-9]|2[0-3]):[0-5][0-9](:[0-5][0-9])?([+-][01][0-9]:[0-5][0-9])?$/;static EMAIL=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/;static validate(e,t,r){if(s(r))throw new G(q.path(e),"Expected a string but found "+r);if("string"!=typeof r)throw new G(q.path(e),r.toString()+" is not String");t.getFormat()==$.TIME?X.patternMatcher(e,t,r,X.TIME,"time pattern"):t.getFormat()==$.DATE?X.patternMatcher(e,t,r,X.DATE,"date pattern"):t.getFormat()==$.DATETIME?X.patternMatcher(e,t,r,X.DATETIME,"date time pattern"):t.getFormat()==$.EMAIL?X.patternMatcher(e,t,r,X.EMAIL,"email pattern"):t.getPattern()&&X.patternMatcher(e,t,r,new RegExp(t.getPattern()),"pattern "+t.getPattern());let n=r.length;if(t.getMinLength()&&n<t.getMinLength())throw new G(q.path(e),"Expected a minimum of "+t.getMinLength()+" characters");if(t.getMaxLength()&&n>t.getMaxLength())throw new G(q.path(e),"Expected a maximum of "+t.getMaxLength()+" characters");return r}static patternMatcher(e,t,r,n,s){if(!n.test(r))throw new G(q.path(e),r.toString()+" is not matched with the "+s)}constructor(){}}class W{static validate(e,t,r,n,s){if(t==i.STRING)X.validate(e,r,s);else if(t==i.LONG||t==i.INTEGER||t==i.DOUBLE||t==i.FLOAT)H.validate(t,e,r,s);else if(t==i.BOOLEAN)B.validate(e,r,s);else if(t==i.OBJECT)k.validate(e,r,n,s);else if(t==i.ARRAY)F.validate(e,r,n,s);else{if(t!=i.NULL)throw new G(q.path(e),t+" is not a valid type.");Y.validate(e,r,s)}return s}constructor(){}}class q{static path(e){return e?e.map((e=>e.getTitle()??"")).filter((e=>!!e)).reduce(((e,t,r)=>e+(0===r?"":".")+t),""):""}static validate(e,t,r,n){if(!t)throw new G(q.path(e),"No schema found to validate");if(e||(e=new Array),e.push(t),s(n)&&!s(t.getDefaultValue()))return JSON.parse(JSON.stringify(t.getDefaultValue()));if(t.getConstant())return q.constantValidation(e,t,n);if(t.getEnums()&&!t.getEnums()?.length)return q.enumCheck(e,t,n);if(t.getFormat()&&s(t.getType()))throw new G(this.path(e),"Type is missing in schema for declared "+t.getFormat()?.toString()+" format.");if(t.getType()&&q.typeValidation(e,t,r,n),!L.isNullOrBlank(t.getRef()))return q.validate(e,b.getSchemaFromRef(e[0],r,t.getRef()),r,n);if((t.getOneOf()||t.getAllOf()||t.getAnyOf())&&D.validate(e,t,r,n),t.getNot()){let s=!1;try{q.validate(e,t.getNot(),r,n),s=!0}catch(e){s=!1}if(s)throw new G(q.path(e),"Schema validated value in not condition.")}return n}static constantValidation(e,t,r){if(!t.getConstant().equals(r))throw new G(q.path(e),"Expecting a constant value : "+r);return r}static enumCheck(e,t,r){let n=!1;for(let e of t.getEnums()??[])if(e===r){n=!0;break}if(n)return r;throw new G(q.path(e),"Value is not one of "+t.getEnums())}static typeValidation(e,t,r,n){let s=!1,a=[];for(const i of Array.from(t.getType()?.getAllowedSchemaTypes()?.values()??[]))try{W.validate(e,i,t,r,n),s=!0;break}catch(e){s=!1,a.push(e)}if(!s)throw new G(q.path(e),"Value "+JSON.stringify(n)+" is not of valid type(s)",a)}constructor(){}}class J{validateArguments(e,t,r){return Array.from(this.getSignature().getParameters().entries()).map((n=>{let s=n[1];try{return this.validateArgument(e,t,n,s)}catch(e){const t=this.getSignature();throw new P(`Error while executing the function ${t.getNamespace()}.${t.getName()}'s parameter ${s.getParameterName()} with step name '${r?.getStatement().getStatementName()??"Unknown Step"}' with error : ${e?.message}`)}})).reduce(((e,t)=>(e.set(t.getT1(),t.getT2()),e)),new Map)}validateArgument(e,t,r,n){let a,i=r[0],o=e.get(r[0]);if(s(o)&&!n.isVariableArgument())return new U(i,q.validate(void 0,n.getSchema(),t,void 0));if(!n?.isVariableArgument())return new U(i,q.validate(void 0,n.getSchema(),t,o));Array.isArray(o)?a=o:(a=[],s(o)?s(n.getSchema().getDefaultValue())||a.push(n.getSchema().getDefaultValue()):a.push(o));for(let e=0;e<a.length;e++)a[e]=q.validate(void 0,n.getSchema(),t,a[e]);return new U(i,a)}async execute(e){e.setArguments(this.validateArguments(e.getArguments()??new Map,e.getSchemaRepository(),e.getStatementExecution()));try{return this.internalExecute(e)}catch(t){const r=this.getSignature();throw new P(`Error while executing the function ${r.getNamespace()}.${r.getName()} with step name '${e.getStatementExecution()?.getStatement().getStatementName()??"Unknown Step"}' with error : ${t?.message}`)}}getProbableEventSignature(e){return this.getSignature().getEvents()}}class z extends J{static EVENT_INDEX_NAME="index";static EVENT_RESULT_NAME="result";static EVENT_INDEX=new w(w.OUTPUT,M.of(z.EVENT_INDEX_NAME,c.ofInteger(z.EVENT_INDEX_NAME)));static EVENT_RESULT_INTEGER=new w(w.OUTPUT,M.of(z.EVENT_RESULT_NAME,c.ofInteger(z.EVENT_RESULT_NAME)));static EVENT_RESULT_BOOLEAN=new w(w.OUTPUT,M.of(z.EVENT_RESULT_NAME,c.ofBoolean(z.EVENT_RESULT_NAME)));static EVENT_RESULT_ARRAY=new w(w.OUTPUT,M.of(z.EVENT_RESULT_NAME,c.ofArray(z.EVENT_RESULT_NAME,c.ofAny(z.EVENT_RESULT_NAME))));static EVENT_RESULT_EMPTY=new w(w.OUTPUT,M.of());static EVENT_RESULT_ANY=new w(w.OUTPUT,M.of(this.EVENT_RESULT_NAME,c.ofAny(this.EVENT_RESULT_NAME)));static PARAMETER_INT_LENGTH=p.of("length",c.ofInteger("length").setDefaultValue(-1));static PARAMETER_ARRAY_FIND=p.of("find",c.ofArray("eachFind",c.ofAny("eachFind")));static PARAMETER_INT_SOURCE_FROM=p.of("srcFrom",c.ofInteger("srcFrom").setDefaultValue(0).setMinimum(0));static PARAMETER_INT_SECOND_SOURCE_FROM=p.of("secondSrcFrom",c.ofInteger("secondSrcFrom").setDefaultValue(0));static PARAMETER_INT_FIND_FROM=p.of("findFrom",c.ofInteger("findFrom").setDefaultValue(0));static PARAMETER_INT_OFFSET=p.of("offset",c.ofInteger("offset").setDefaultValue(0));static PARAMETER_ROTATE_LENGTH=p.of("rotateLength",c.ofInteger("rotateLength").setDefaultValue(1).setMinimum(1));static PARAMETER_BOOLEAN_ASCENDING=p.of("ascending",c.ofBoolean("ascending").setDefaultValue(!1));static PARAMETER_FIND_PRIMITIVE=p.of("findPrimitive",c.of("findPrimitive",i.STRING,i.DOUBLE,i.FLOAT,i.INTEGER,i.LONG));static PARAMETER_ARRAY_SOURCE=p.of("source",c.ofArray("eachSource",c.ofAny("eachSource")));static PARAMETER_ARRAY_SECOND_SOURCE=p.of("secondSource",c.ofArray("eachSecondSource",c.ofAny("eachSecondSource")));static PARAMETER_ARRAY_SOURCE_PRIMITIVE=p.of("source",c.ofArray("eachSource",(new c).setName("eachSource").setType(l.of(i.STRING,i.NULL,i.INTEGER,i.FLOAT,i.DOUBLE,i.LONG))));static PARAMETER_BOOLEAN_DEEP_COPY=p.of("deepCopy",c.ofBoolean("deepCopy").setDefaultValue(!0));static PARAMETER_ANY=p.of("element",c.ofAny("element"));static PARAMETER_ANY_NOT_NULL=p.of("elementObject",c.ofAnyNotNull("elementObject"));static PARAMETER_ANY_VAR_ARGS=p.of("element",c.ofAny("element")).setVariableArgument(!0);static PARAMETER_ARRAY_RESULT=p.of(z.EVENT_RESULT_NAME,c.ofArray("eachResult",c.ofAny("eachResult")));constructor(e,t,r){super();const s=new Map;for(const e of t)s.set(e.getParameterName(),e);this.signature=new y(e).setNamespace(n.SYSTEM_ARRAY).setParameters(s).setEvents(M.of(r.getName(),r))}getSignature(){return this.signature}}class K extends z{constructor(){super("Add",[z.PARAMETER_ARRAY_SOURCE,z.PARAMETER_ARRAY_SECOND_SOURCE],z.EVENT_RESULT_EMPTY)}async internalExecute(e){let t=e?.getArguments()?.get(z.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(z.PARAMETER_ARRAY_SECOND_SOURCE.getParameterName());return t.splice(t.length,0,...r),new d([I.outputOf(new Map([]))])}}class Q extends z{constructor(){super("AddFirst",[z.PARAMETER_ARRAY_SOURCE,z.PARAMETER_ANY_NOT_NULL],z.EVENT_RESULT_EMPTY)}async internalExecute(e){let t=e?.getArguments()?.get(z.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(z.PARAMETER_ANY_NOT_NULL.getParameterName());if(0==t.length)return t.push(r),new d([I.outputOf(new Map([]))]);t.push(r);let n=t.length-1;for(;n>0;){let e=t[n-1];t[n-1]=t[n],t[n--]=e}return new d([I.outputOf(new Map([]))])}}class Z extends z{constructor(){super("ArrayToObjects",[z.PARAMETER_ARRAY_SOURCE,p.of("keyName",c.ofString("keyName"),!0)],z.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(Z.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get("keyName");if(!t?.length)return new d([I.outputOf(new Map([[z.EVENT_RESULT_ARRAY.getName(),[]]]))]);let n=t.map((e=>{const t={};if(Array.isArray(e))if(r.length)r.forEach(((r,n)=>{t[r]=e[n]}));else for(let r=0;r<e.length;r++)t[`value${r+1}`]=e[r];else t[r.length?r[0]:"value"]=e;return t}));return new d([I.outputOf(new Map([[z.EVENT_RESULT_ARRAY.getName(),n]]))])}}e({},"PrimitiveUtil",(()=>te));e({},"ExecutionException",(()=>ee));class ee extends Error{constructor(e,t){super(e),this.cause=t}getCause(){return this.cause}}class te{static findPrimitiveNullAsBoolean(e){if(s(e))return new U(i.BOOLEAN,!1);let t=typeof e;if("object"===t)throw new ee(x.format("$ is not a primitive type",e));let r=e;return"boolean"===t?new U(i.BOOLEAN,r):"string"===t?new U(i.STRING,r):te.findPrimitiveNumberType(r)}static findPrimitive(e){if(s(e))return new U(i.NULL,void 0);let t=typeof e;if("object"===t)throw new ee(x.format("$ is not a primitive type",e));let r=e;return"boolean"===t?new U(i.BOOLEAN,r):"string"===t?new U(i.STRING,r):te.findPrimitiveNumberType(r)}static findPrimitiveNumberType(e){if(s(e)||Array.isArray(e)||"object"==typeof e)throw new ee(x.format("Unable to convert $ to a number.",e));let t=e;try{let e=t;return Number.isInteger(e)?new U(i.LONG,e):new U(i.DOUBLE,e)}catch(e){throw new ee(x.format("Unable to convert $ to a number.",t),e)}}static compare(e,t){if(e==t)return 0;if(s(e)||s(t))return s(e)?-1:1;if(Array.isArray(e)||Array.isArray(t)){if(Array.isArray(e)&&Array.isArray(t)){if(e.length!=t.length)return e.length-t.length;for(let r=0;r<e.length;r++){let n=this.compare(e[r],t[r]);if(0!=n)return n}return 0}return Array.isArray(e)?-1:1}const r=typeof e,n=typeof t;return"object"===r||"object"===n?("object"===r&&"object"===n&&Object.keys(e).forEach((r=>{let n=this.compare(e[r],t[r]);if(0!=n)return n})),"object"===r?-1:1):this.comparePrimitive(e,t)}static comparePrimitive(e,t){return s(e)||s(t)?s(e)&&s(t)?0:s(e)?-1:1:e==t?0:"boolean"==typeof e||"boolean"==typeof t?e?-1:1:"string"==typeof e||"string"==typeof t?e+""<t+""?-1:1:"number"==typeof e||"number"==typeof t?e-t:0}static baseNumberType(e){return Number.isInteger(e)?i.LONG:i.DOUBLE}static toPrimitiveType(e){return e}constructor(){}}class re extends z{constructor(){super("BinarySearch",[re.PARAMETER_ARRAY_SOURCE_PRIMITIVE,re.PARAMETER_INT_SOURCE_FROM,re.PARAMETER_FIND_PRIMITIVE,re.PARAMETER_INT_LENGTH],re.EVENT_INDEX)}async internalExecute(e){let t=e?.getArguments()?.get(re.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(re.PARAMETER_INT_SOURCE_FROM.getParameterName()),n=e?.getArguments()?.get(re.PARAMETER_FIND_PRIMITIVE.getParameterName()),s=e?.getArguments()?.get(re.PARAMETER_INT_LENGTH.getParameterName());if(0==t.length||r<0||r>t.length)throw new P("Search source array cannot be empty");if(-1==s&&(s=t.length-r),s=r+s,s>t.length)throw new P("End point for array cannot be more than the size of the source array");let a=-1;for(;r<=s;){let e=Math.floor((r+s)/2);if(0==te.compare(t[e],n)){a=e;break}te.compare(t[e],n)>0?s=e-1:r=e+1}return new d([I.outputOf(new Map([[re.EVENT_INDEX.getName(),a]]))])}}e({},"ArrayUtil",(()=>ne));class ne{static removeAListFrom(e,t){if(!(t&&e&&e.length&&t.length))return;const r=new Set(t);for(let t=0;t<e.length;t++)r.has(e[t])&&(e.splice(t,1),t--)}static of(...e){const t=new Array(e.length);for(let r=0;r<e.length;r++)t[r]=e[r];return t}constructor(){}}class se extends z{constructor(){super("Compare",ne.of(se.PARAMETER_ARRAY_SOURCE,se.PARAMETER_INT_SOURCE_FROM,se.PARAMETER_ARRAY_FIND,se.PARAMETER_INT_FIND_FROM,se.PARAMETER_INT_LENGTH),se.EVENT_RESULT_INTEGER)}async internalExecute(e){var t=e?.getArguments()?.get(se.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(se.PARAMETER_INT_SOURCE_FROM.getParameterName()),n=e?.getArguments()?.get(se.PARAMETER_ARRAY_FIND.getParameterName()),s=e?.getArguments()?.get(se.PARAMETER_INT_FIND_FROM.getParameterName()),a=e?.getArguments()?.get(se.PARAMETER_INT_LENGTH.getParameterName());if(0==t.length)throw new P("Compare source array cannot be empty");if(0==n.length)throw new P("Compare find array cannot be empty");if(-1==a&&(a=t.length-r),r+a>t.length)throw new P(x.format("Source array size $ is less than comparing size $",t.length,r+a));if(s+a>n.length)throw new P(x.format("Find array size $ is less than comparing size $",n.length,s+a));return new d(ne.of(I.outputOf(M.of(se.EVENT_RESULT_NAME,this.compare(t,r,r+a,n,s,s+a)))))}compare(e,t,r,n,a,i){if(r<t){let e=t;t=r,r=e}if(i<a){let e=a;a=i,i=e}if(r-t!=i-a)throw new P(x.format("Cannot compare uneven arrays from $ to $ in source array with $ to $ in find array",r,t,i,a));for(let i=t,o=a;i<r;i++,o++){let t=1;if(s(e[i])||s(n[o])){let r=s(e[i]);r==s(n[o])?t=0:r&&(t=-1)}else{let r=typeof e[i],s=typeof n[o];if("object"===r||"object"===s)t=1;else if("string"===r||"string"===s){let r=""+e[i],s=""+n[o];r===s?t=0:r<s&&(t=-1)}else"boolean"===r||"boolean"===s?t=r==s?0:1:"number"===r&&"number"===s&&(t=e[i]-n[o])}if(0!=t)return t}return 0}}class ae extends z{constructor(){super("Copy",[ae.PARAMETER_ARRAY_SOURCE,ae.PARAMETER_INT_SOURCE_FROM,ae.PARAMETER_INT_LENGTH,ae.PARAMETER_BOOLEAN_DEEP_COPY],ae.EVENT_RESULT_ARRAY)}async internalExecute(e){var t=e?.getArguments()?.get(ae.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(ae.PARAMETER_INT_SOURCE_FROM.getParameterName()),n=e?.getArguments()?.get(ae.PARAMETER_INT_LENGTH.getParameterName());if(-1==n&&(n=t.length-r),r+n>t.length)throw new P(x.format("Array has no elements from $ to $ as the array size is $",r,r+n,t.length));var a=e?.getArguments()?.get(ae.PARAMETER_BOOLEAN_DEEP_COPY.getParameterName());const i=new Array(n);for(let e=r;e<r+n;e++)s(t[e])||(i[e-r]=a?JSON.parse(JSON.stringify(t[e])):t[e]);return new d([I.outputOf(M.of(ae.EVENT_RESULT_NAME,i))])}}class ie extends z{constructor(){super("Delete",[z.PARAMETER_ARRAY_SOURCE,z.PARAMETER_ANY_VAR_ARGS],z.EVENT_RESULT_EMPTY)}async internalExecute(e){let t=e?.getArguments()?.get(ie.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(ie.PARAMETER_ANY_VAR_ARGS.getParameterName());if(null==r)throw new P("The deletable var args are empty. So cannot be proceeded further.");if(0==t.length||0==r.length)throw new P("Expected a source or deletable for an array but not found any");let n=new Set,s=[];for(let e=t.length-1;e>=0;e--)for(let s=0;s<r.length;s++)n.has(e)||0!=te.compare(t[e],r[s])||n.add(t[e]);return s=t.filter((e=>!n.has(e))),t.splice(0,t.length,...s),new d([I.outputOf(new Map([]))])}}class oe extends z{constructor(){super("DeleteFirst",[oe.PARAMETER_ARRAY_SOURCE],oe.EVENT_RESULT_EMPTY)}async internalExecute(e){let t=e?.getArguments()?.get(oe.PARAMETER_ARRAY_SOURCE.getParameterName());if(0==t.length)throw new P("Given source array is empty");return t.shift(),new d([I.outputOf(new Map([]))])}}class Ee extends z{constructor(){super("DeleteFrom",[Ee.PARAMETER_ARRAY_SOURCE,Ee.PARAMETER_INT_SOURCE_FROM,Ee.PARAMETER_INT_LENGTH],Ee.EVENT_RESULT_EMPTY)}async internalExecute(e){let t=e?.getArguments()?.get(Ee.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(Ee.PARAMETER_INT_SOURCE_FROM.getParameterName()),n=e?.getArguments()?.get(Ee.PARAMETER_INT_LENGTH.getParameterName());if(0==t.length)throw new P("There are no elements to be deleted");if(r>=t.length||r<0)throw new P("The int source for the array should be in between 0 and length of the array ");if(-1==n&&(n=t.length-r),r+n>t.length)throw new P("Requested length to be deleted is more than the size of array ");return t.splice(r,n),new d([I.outputOf(new Map([]))])}}class ue extends z{constructor(){super("DeleteLast",[ue.PARAMETER_ARRAY_SOURCE],ue.EVENT_RESULT_EMPTY)}async internalExecute(e){let t=e?.getArguments()?.get(ue.PARAMETER_ARRAY_SOURCE.getParameterName());if(0==t.length)throw new P("Given source array is empty");return t.pop(),new d([I.outputOf(new Map([]))])}}class Ae extends z{constructor(){super("Disjoint",[Ae.PARAMETER_ARRAY_SOURCE,Ae.PARAMETER_INT_SOURCE_FROM,Ae.PARAMETER_ARRAY_SECOND_SOURCE,Ae.PARAMETER_INT_SECOND_SOURCE_FROM,Ae.PARAMETER_INT_LENGTH],Ae.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(Ae.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(Ae.PARAMETER_INT_SOURCE_FROM.getParameterName()),n=e?.getArguments()?.get(Ae.PARAMETER_ARRAY_SECOND_SOURCE.getParameterName()),s=e?.getArguments()?.get(Ae.PARAMETER_INT_SECOND_SOURCE_FROM.getParameterName()),a=e?.getArguments()?.get(Ae.PARAMETER_INT_LENGTH.getParameterName());if(-1==a&&(a=t.length<=n.length?t.length-r:n.length-s),a>t.length||a>n.length||r+a>t.length||s+a>n.length)throw new P("The length which was being requested is more than than the size either source array or second source array");let i=new Set,o=new Set;for(let e=0;e<a;e++)i.add(t[e+r]);for(let e=0;e<a;e++)o.add(n[e+s]);let E=new Set;i.forEach((e=>{o.has(e)?o.delete(e):E.add(e)})),o.forEach((e=>{i.has(e)||E.add(e)}));let u=[];return E.forEach((e=>u.push(e))),new d([I.outputOf(new Map([[Ae.EVENT_RESULT_ARRAY.getName(),u]]))])}}class le extends z{constructor(){super("Equals",[le.PARAMETER_ARRAY_SOURCE,le.PARAMETER_INT_SOURCE_FROM,le.PARAMETER_ARRAY_FIND,le.PARAMETER_INT_FIND_FROM,le.PARAMETER_INT_LENGTH],le.EVENT_RESULT_BOOLEAN)}async internalExecute(e){let t=new se,r=(await t.execute(e)).allResults()[0].getResult().get(le.EVENT_RESULT_NAME);return new d([I.outputOf(M.of(le.EVENT_RESULT_NAME,0==r))])}}class ge extends z{constructor(){super("Fill",[ge.PARAMETER_ARRAY_SOURCE,ge.PARAMETER_INT_SOURCE_FROM,ge.PARAMETER_INT_LENGTH,ge.PARAMETER_ANY],ge.EVENT_RESULT_EMPTY)}async internalExecute(e){var t=e?.getArguments()?.get(ge.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(ge.PARAMETER_INT_SOURCE_FROM.getParameterName()),n=e?.getArguments()?.get(ge.PARAMETER_INT_LENGTH.getParameterName()),a=e?.getArguments()?.get(ge.PARAMETER_ANY.getParameterName());if(r<0)throw new P(x.format("Arrays out of bound trying to access $ index",r));-1==n&&(n=t.length-r);let i=r+n-t.length;if(i>0)for(let e=0;e<i;e++)t.push();for(let e=r;e<r+n;e++)t[e]=s(a)?a:JSON.parse(JSON.stringify(a));return new d([I.outputOf(M.of())])}}class ce extends z{constructor(){super("Frequency",[ce.PARAMETER_ARRAY_SOURCE,ce.PARAMETER_ANY,ce.PARAMETER_INT_SOURCE_FROM,ce.PARAMETER_INT_LENGTH],ce.EVENT_RESULT_INTEGER)}async internalExecute(e){let t=e?.getArguments()?.get(ce.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(ce.PARAMETER_ANY.getParameterName()),n=e?.getArguments()?.get(ce.PARAMETER_INT_SOURCE_FROM.getParameterName()),a=e?.getArguments()?.get(ce.PARAMETER_INT_LENGTH.getParameterName());if(0==t.length)return new d([I.outputOf(new Map([[ce.EVENT_RESULT_INTEGER.getName(),0]]))]);if(n>t.length)throw new P("Given start point is more than the size of source");if(s(r))throw new P("Given find was null. Hence cannot be found in the array");let i=n+a;if(-1==a&&(i=t.length-n),i>t.length)throw new P("Given length is more than the size of source");let o=0;for(let e=n;e<i&&e<t.length;e++)0==te.compare(t[e],r)&&o++;return new d([I.outputOf(new Map([[ce.EVENT_RESULT_INTEGER.getName(),o]]))])}}class me extends z{constructor(){super("IndexOf",[me.PARAMETER_ARRAY_SOURCE,me.PARAMETER_ANY_NOT_NULL,me.PARAMETER_INT_FIND_FROM],me.EVENT_RESULT_INTEGER)}async internalExecute(e){let t=e?.getArguments()?.get(me.PARAMETER_ARRAY_SOURCE.getParameterName());var r=e?.getArguments()?.get(me.PARAMETER_ANY_NOT_NULL.getParameterName());let n=e?.getArguments()?.get(me.PARAMETER_INT_FIND_FROM.getParameterName());if(0==t.length)return new d([I.outputOf(new Map([[me.EVENT_RESULT_INTEGER.getName(),-1]]))]);if(n<0||n>t.length)throw new P("The size of the search index of the array is greater than the size of the array");let s=-1;for(let e=n;e<t.length;e++)if(0==te.compare(t[e],r)){s=e;break}return new d([I.outputOf(new Map([[me.EVENT_RESULT_INTEGER.getName(),s]]))])}}class Te extends z{constructor(){super("IndexOfArray",[Te.PARAMETER_ARRAY_SOURCE,Te.PARAMETER_ARRAY_SECOND_SOURCE,Te.PARAMETER_INT_FIND_FROM],Te.EVENT_RESULT_INTEGER)}async internalExecute(e){let t=e?.getArguments()?.get(Te.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(Te.PARAMETER_ARRAY_SECOND_SOURCE.getParameterName()),n=e?.getArguments()?.get(Te.PARAMETER_INT_FIND_FROM.getParameterName());if(0==t.length||0==r.length)return new d([I.outputOf(new Map([[Te.EVENT_RESULT_INTEGER.getName(),-1]]))]);if(n<0||n>t.length||t.length<r.length)throw new P("Given from second source is more than the size of the source array");let s=r.length,a=-1;for(let e=n;e<t.length;e++){let n=0;if(0==te.compare(t[e],r[n])){for(;n<s&&0==te.compare(t[e+n],r[n]);)n++;if(n==s){a=e;break}}}return new d([I.outputOf(new Map([[Te.EVENT_RESULT_INTEGER.getName(),a]]))])}}class Re extends z{constructor(){super("LastIndexOf",[Re.PARAMETER_ARRAY_SOURCE,Re.PARAMETER_ANY_NOT_NULL,Re.PARAMETER_INT_FIND_FROM],Re.EVENT_RESULT_INTEGER)}async internalExecute(e){let t=e?.getArguments()?.get(Re.PARAMETER_ARRAY_SOURCE.getParameterName());var r=e?.getArguments()?.get(Re.PARAMETER_ANY_NOT_NULL.getParameterName());let n=e?.getArguments()?.get(Re.PARAMETER_INT_FIND_FROM.getParameterName());if(0==t.length)return new d([I.outputOf(new Map([[Re.EVENT_RESULT_INTEGER.getName(),-1]]))]);if(n<0||n>t.length)throw new P("The value of length shouldn't the exceed the size of the array or shouldn't be in terms");let s=-1;for(let e=t.length-1;e>=n;e--)if(0==te.compare(t[e],r)){s=e;break}return new d([I.outputOf(new Map([[Re.EVENT_RESULT_INTEGER.getName(),s]]))])}}class pe extends z{constructor(){super("LastIndexOfArray",[pe.PARAMETER_ARRAY_SOURCE,pe.PARAMETER_ARRAY_SECOND_SOURCE,pe.PARAMETER_INT_FIND_FROM],pe.EVENT_RESULT_INTEGER)}async internalExecute(e){let t=e?.getArguments()?.get(pe.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(pe.PARAMETER_ARRAY_SECOND_SOURCE.getParameterName()),n=e?.getArguments()?.get(pe.PARAMETER_INT_FIND_FROM.getParameterName());if(0==t.length)return new d([I.outputOf(new Map([[pe.EVENT_RESULT_ARRAY.getName(),-1]]))]);if(n<0||n>t.length||r.length>t.length)throw new P("Given from index is more than the size of the source array");let s=r.length,a=-1;for(let e=n;e<t.length;e++){let n=0;if(0==te.compare(t[e],r[n])){for(;n<s&&0==te.compare(t[e+n],r[n]);)n++;n==s&&(a=e)}}return new d([I.outputOf(new Map([[pe.EVENT_RESULT_INTEGER.getName(),a]]))])}}class he extends z{constructor(){super("Max",[he.PARAMETER_ARRAY_SOURCE_PRIMITIVE],he.EVENT_RESULT_ANY)}async internalExecute(e){let t=e?.getArguments()?.get(he.PARAMETER_ARRAY_SOURCE_PRIMITIVE.getParameterName());if(0==t.length)throw new P("Search source array cannot be empty");let r=t[0];for(let e=1;e<t.length;e++){let n=t[e];te.comparePrimitive(r,n)>=0||(r=n)}return new d([I.outputOf(new Map([[he.EVENT_RESULT_ANY.getName(),r]]))])}}class Ne extends z{constructor(){super("Min",[Ne.PARAMETER_ARRAY_SOURCE_PRIMITIVE],Ne.EVENT_RESULT_ANY)}async internalExecute(e){let t,r=e?.getArguments()?.get(Ne.PARAMETER_ARRAY_SOURCE_PRIMITIVE.getParameterName());if(0==r.length)throw new P("Search source array cannot be empty");for(let e=0;e<r.length;e++)s(r[e])||(void 0===t||te.comparePrimitive(r[e],t)<0)&&(t=r[e]);return new d([I.outputOf(new Map([[Ne.EVENT_RESULT_ANY.getName(),t]]))])}}class fe extends z{constructor(){super("MisMatch",[fe.PARAMETER_ARRAY_SOURCE,fe.PARAMETER_INT_FIND_FROM,fe.PARAMETER_ARRAY_SECOND_SOURCE,fe.PARAMETER_INT_SECOND_SOURCE_FROM,fe.PARAMETER_INT_LENGTH],fe.EVENT_RESULT_INTEGER)}async internalExecute(e){let t=e?.getArguments()?.get(fe.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(fe.PARAMETER_INT_FIND_FROM.getParameterName()),n=e?.getArguments()?.get(fe.PARAMETER_ARRAY_SECOND_SOURCE.getParameterName()),s=e?.getArguments()?.get(fe.PARAMETER_INT_SECOND_SOURCE_FROM.getParameterName()),a=e?.getArguments()?.get(fe.PARAMETER_INT_LENGTH.getParameterName()),i=r<t.length&&r>0?r:0,o=s<n.length&&s>0?s:0;if(i+a>=t.length||o+a>n.length)throw new P("The size of the array for first and second which was being requested is more than size of the given array");let E=-1;for(let e=0;e<a;e++)if(t[i+e]!=n[o+e]){E=e;break}return new d([I.outputOf(new Map([[fe.EVENT_RESULT_INTEGER.getName(),E]]))])}}class _e extends z{constructor(){super("Reverse",[_e.PARAMETER_ARRAY_SOURCE,_e.PARAMETER_INT_SOURCE_FROM,_e.PARAMETER_INT_LENGTH],_e.EVENT_RESULT_EMPTY)}async internalExecute(e){let t=e?.getArguments()?.get(_e.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(_e.PARAMETER_INT_SOURCE_FROM.getParameterName()),n=e?.getArguments()?.get(_e.PARAMETER_INT_LENGTH.getParameterName());if(-1==n&&(n=t.length-r),n>=t.length||n<0||r<0)throw new P("Please provide start point between the start and end indexes or provide the length which was less than the source size ");let s=r+n-1;for(;r<=s;){let e=t[r],n=t[s];t[r++]=n,t[s--]=e}return new d([I.outputOf(new Map([]))])}}class Se extends z{constructor(){super("Rotate",[Se.PARAMETER_ARRAY_SOURCE,Se.PARAMETER_ROTATE_LENGTH],Se.EVENT_RESULT_EMPTY)}async internalExecute(e){let t=e?.getArguments()?.get(Se.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(Se.PARAMETER_ROTATE_LENGTH.getParameterName());if(0==t.length)return new d([I.outputOf(new Map([]))]);let n=t.length;return r%=n,this.rotate(t,0,r-1),this.rotate(t,r,n-1),this.rotate(t,0,n-1),new d([I.outputOf(new Map([]))])}rotate(e,t,r){for(;t<r;){let n=e[t];e[t++]=e[r],e[r--]=n}}}class Me extends z{constructor(){super("Shuffle",[Me.PARAMETER_ARRAY_SOURCE],Me.EVENT_RESULT_EMPTY)}async internalExecute(e){let t=e?.getArguments()?.get(Me.PARAMETER_ARRAY_SOURCE.getParameterName());if(t.length<=1)return new d([I.outputOf(new Map([]))]);let r=0,n=t.length;for(let e=0;e<n;e++){let e=Math.floor(Math.random()*n)%n,s=t[r];t[r]=t[e],t[e]=s,r=e}return new d([I.outputOf(new Map([]))])}}class Oe extends z{constructor(){super("Sort",[Oe.PARAMETER_ARRAY_SOURCE_PRIMITIVE,Oe.PARAMETER_INT_FIND_FROM,Oe.PARAMETER_INT_LENGTH,Oe.PARAMETER_BOOLEAN_ASCENDING],Oe.EVENT_RESULT_EMPTY)}async internalExecute(e){let t=e?.getArguments()?.get(Oe.PARAMETER_ARRAY_SOURCE_PRIMITIVE.getParameterName()),r=e?.getArguments()?.get(Oe.PARAMETER_INT_FIND_FROM.getParameterName()),n=e?.getArguments()?.get(Oe.PARAMETER_INT_LENGTH.getParameterName()),s=e?.getArguments()?.get(Oe.PARAMETER_BOOLEAN_ASCENDING.getParameterName());if(0==t.length)return new d([I.outputOf(new Map([[Oe.EVENT_RESULT_EMPTY.getName(),t]]))]);if(-1==n&&(n=t.length-r),r<0||r>=t.length||r+n>t.length)throw new P("Given start point is more than the size of the array or not available at that point");let a=t.slice(r,r+n+1);return a.sort(((e,t)=>function(e,t,r){return e===t?0:null===e?1:null===t?-1:r?e<t?1:-1:e<t?-1:1}(e,t,s))),t.splice(r,n,...a),new d([I.outputOf(new Map([[Oe.EVENT_RESULT_EMPTY.getName(),t]]))])}}class we extends z{constructor(){super("SubArray",[we.PARAMETER_ARRAY_SOURCE,we.PARAMETER_INT_FIND_FROM,we.PARAMETER_INT_LENGTH],we.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(we.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(we.PARAMETER_INT_FIND_FROM.getParameterName()),n=e?.getArguments()?.get(we.PARAMETER_INT_LENGTH.getParameterName());if(-1==n&&(n=t.length-r),n<=0)return new d([I.outputOf(new Map([]))]);if(!(r>=0&&r<t.length)||r+n>t.length)throw new P("Given find from point is more than the source size array or the Requested length for the subarray was more than the source size");let s=t.slice(r,r+n);return new d([I.outputOf(new Map([[we.EVENT_RESULT_ARRAY.getName(),s]]))])}}class Ie{static repoMap=M.ofArrayEntries(_(new K),_(new Q),_(new re),_(new se),_(new ae),_(new ie),_(new oe),_(new Ee),_(new ue),_(new Ae),_(new le),_(new ge),_(new ce),_(new me),_(new Te),_(new Re),_(new pe),_(new he),_(new Ne),_(new fe),_(new _e),_(new Se),_(new Me),_(new Oe),_(new we),_(new Z));static filterableNames=Array.from(Ie.repoMap.values()).map((e=>e.getSignature().getFullName()));find(e,t){if(e==n.SYSTEM_ARRAY)return Ie.repoMap.get(t)}filter(e){return Ie.filterableNames.filter((t=>-1!==t.toLowerCase().indexOf(e.toLowerCase())))}}e({},"ContextElement",(()=>Pe));class Pe{static NULL=new Pe(c.NULL,void 0);constructor(e,t){this.schema=e,this.element=t}getSchema(){return this.schema}setSchema(e){return this.schema=e,this}getElement(){return this.element}setElement(e){return this.element=e,this}}const de=new y("Create").setNamespace(n.SYSTEM_CTX).setParameters(new Map([p.ofEntry("name",(new c).setName("name").setType(l.of(i.STRING)).setMinLength(1).setFormat($.REGEX).setPattern("^[a-zA-Z_$][a-zA-Z_$0-9]*$"),!1,T.CONSTANT),p.ofEntry("schema",c.SCHEMA,!1,T.CONSTANT)])).setEvents(new Map([w.outputEventMapEntry(new Map)]));const ye=new y("Get").setNamespace(n.SYSTEM_CTX).setParameters(new Map([p.ofEntry("name",(new c).setName("name").setType(l.of(i.STRING)).setMinLength(1).setFormat($.REGEX).setPattern("^[a-zA-Z_$][a-zA-Z_$0-9]*$"),!1,T.CONSTANT)])).setEvents(new Map([w.outputEventMapEntry(new Map([["value",c.ofAny("value")]]))]));e({},"Expression",(()=>De));e({},"LinkedList",(()=>Le));function xe(e,t){let r=new Le;r.push(e);let n=new Le;for(n.push(t);!r.isEmpty()&&!n.isEmpty();){const e=r.pop(),t=n.pop();if(e===t)continue;const s=typeof e,a=typeof t;if("undefined"===s||"undefined"===a){if(!e&&!t)continue;return!1}if(s!==a)return!1;if(Array.isArray(e)){if(!Array.isArray(t)||e.length!=t.length)return!1;for(let s=0;s<e.length;s++)r.push(e[s]),n.push(t[s])}else{if("object"!==s)return!1;{const s=Object.entries(e),a=Object.entries(t);if(s.length!==a.length)return!1;for(const[e,a]of s)r.push(a),n.push(t[e])}}}return!0}e({},"deepEqual",(()=>xe));class Le{head=void 0;tail=void 0;length=0;constructor(e){if(e?.length){for(const t of e)if(this.head){const e=new ve(t,this.tail);this.tail.next=e,this.tail=e}else this.tail=this.head=new ve(t);this.length=e.length}}push(e){const t=new ve(e,void 0,this.head);this.head?(this.head.previous=t,this.head=t):this.tail=this.head=t,this.length++}pop(){if(!this.head)throw Error("List is empty and cannot pop further.");const e=this.head.value;if(this.length--,this.head==this.tail)return this.head=this.tail=void 0,e;const t=this.head;return this.head=t.next,t.next=void 0,t.previous=void 0,this.head.previous=void 0,e}isEmpty(){return!this.length}size(){return this.length}get(e){if(e<0||e>=this.length)throw new Error(`${e} is out of bounds [0,${this.length}]`);let t=this.head;for(;e>0;)t=this.head.next,--e;return t.value}set(e,t){if(e<0||e>=this.length)throw new P(x.format("Index $ out of bound to set the value in linked list.",e));let r=this.head;for(;e>0;)r=this.head.next,--e;return r.value=t,this}toString(){let e=this.head,t="";for(;e;)t+=e.value,e=e.next,e&&(t+=", ");return`[${t}]`}toArray(){let e=[],t=this.head;for(;t;)e.push(t.value),t=t.next;return e}peek(){if(!this.head)throw new Error("List is empty so cannot peak");return this.head.value}peekLast(){if(!this.tail)throw new Error("List is empty so cannot peak");return this.tail.value}getFirst(){if(!this.head)throw new Error("List is empty so cannot get first");return this.head.value}removeFirst(){return this.pop()}removeLast(){if(!this.tail)throw new Error("List is empty so cannot remove");--this.length;const e=this.tail.value;if(0==this.length)this.head=this.tail=void 0;else{const e=this.tail.previous;e.next=void 0,this.tail.previous=void 0,this.tail=e}return e}addAll(e){return e&&e.length?(e.forEach(this.add.bind(this)),this):this}add(e){return++this.length,this.tail||this.head?this.head===this.tail?(this.tail=new ve(e,this.head),this.head.next=this.tail):(this.tail=new ve(e,this.tail),this.tail.previous.next=this.tail):this.head=this.tail=new ve(e),this}map(e,t){let r=new Le,n=this.head,s=0;for(;n;)r.add(e(n.value,s)),n=n.next,++s;return r}indexOf(e){let t=this.head,r=0;for(;t;){if(xe(t.value,e))return r;t=t.next,++r}return-1}forEach(e,t){let r=this.head,n=0;for(;r;)e(r.value,n),r=r.next,++n}}class ve{constructor(e,t,r){this.value=e,this.next=r,this.previous=t}toString(){return""+this.value}}e({},"StringBuilder",(()=>Ue));class Ue{constructor(e){this.str=e??""}append(e){return this.str+=e,this}toString(){return""+this.str}trim(){return this.str=this.str.trim(),this}setLength(e){return this.str=this.str.substring(0,e),this}length(){return this.str.length}charAt(e){return this.str.charAt(e)}deleteCharAt(e){return this.checkIndex(e),this.str=this.str.substring(0,e)+this.str.substring(e+1),this}insert(e,t){return this.str=this.str.substring(0,e)+t+this.str.substring(e),this}checkIndex(e){if(e>=this.str.length)throw new P(`Index ${e} is greater than or equal to ${this.str.length}`)}substring(e,t){return this.str.substring(e,t)}}e({},"ExpressionEvaluationException",(()=>Ve));class Ve extends Error{constructor(e,t,r){super(x.format("$ : $",e,t)),this.cause=r}getCause(){return this.cause}}e({},"ExpressionToken",(()=>Ce));class Ce{constructor(e){this.expression=e}getExpression(){return this.expression}toString(){return this.expression}}e({},"ExpressionTokenValue",(()=>Ge));class Ge extends Ce{constructor(e,t){super(e),this.element=t}getTokenValue(){return this.element}getElement(){return this.element}toString(){return x.format("$: $",this.expression,this.element)}}e({},"Operation",(()=>be));class be{static MULTIPLICATION=new be("*");static DIVISION=new be("/");static INTEGER_DIVISION=new be("//");static MOD=new be("%");static ADDITION=new be("+");static SUBTRACTION=new be("-");static NOT=new be("not",void 0,!0);static AND=new be("and",void 0,!0);static OR=new be("or",void 0,!0);static LESS_THAN=new be("<");static LESS_THAN_EQUAL=new be("<=");static GREATER_THAN=new be(">");static GREATER_THAN_EQUAL=new be(">=");static EQUAL=new be("=");static NOT_EQUAL=new be("!=");static BITWISE_AND=new be("&");static BITWISE_OR=new be("|");static BITWISE_XOR=new be("^");static BITWISE_COMPLEMENT=new be("~");static BITWISE_LEFT_SHIFT=new be("<<");static BITWISE_RIGHT_SHIFT=new be(">>");static BITWISE_UNSIGNED_RIGHT_SHIFT=new be(">>>");static UNARY_PLUS=new be("UN: +","+");static UNARY_MINUS=new be("UN: -","-");static UNARY_LOGICAL_NOT=new be("UN: not","not");static UNARY_BITWISE_COMPLEMENT=new be("UN: ~","~");static ARRAY_OPERATOR=new be("[");static OBJECT_OPERATOR=new be(".");static NULLISH_COALESCING_OPERATOR=new be("??");static CONDITIONAL_TERNARY_OPERATOR=new be("?");static VALUE_OF=new Map([["MULTIPLICATION",be.MULTIPLICATION],["DIVISION",be.DIVISION],["INTEGER_DIVISON",be.INTEGER_DIVISION],["MOD",be.MOD],["ADDITION",be.ADDITION],["SUBTRACTION",be.SUBTRACTION],["NOT",be.NOT],["AND",be.AND],["OR",be.OR],["LESS_THAN",be.LESS_THAN],["LESS_THAN_EQUAL",be.LESS_THAN_EQUAL],["GREATER_THAN",be.GREATER_THAN],["GREATER_THAN_EQUAL",be.GREATER_THAN_EQUAL],["EQUAL",be.EQUAL],["NOT_EQUAL",be.NOT_EQUAL],["BITWISE_AND",be.BITWISE_AND],["BITWISE_OR",be.BITWISE_OR],["BITWISE_XOR",be.BITWISE_XOR],["BITWISE_COMPLEMENT",be.BITWISE_COMPLEMENT],["BITWISE_LEFT_SHIFT",be.BITWISE_LEFT_SHIFT],["BITWISE_RIGHT_SHIFT",be.BITWISE_RIGHT_SHIFT],["BITWISE_UNSIGNED_RIGHT_SHIFT",be.BITWISE_UNSIGNED_RIGHT_SHIFT],["UNARY_PLUS",be.UNARY_PLUS],["UNARY_MINUS",be.UNARY_MINUS],["UNARY_LOGICAL_NOT",be.UNARY_LOGICAL_NOT],["UNARY_BITWISE_COMPLEMENT",be.UNARY_BITWISE_COMPLEMENT],["ARRAY_OPERATOR",be.ARRAY_OPERATOR],["OBJECT_OPERATOR",be.OBJECT_OPERATOR],["NULLISH_COALESCING_OPERATOR",be.NULLISH_COALESCING_OPERATOR],["CONDITIONAL_TERNARY_OPERATOR",be.CONDITIONAL_TERNARY_OPERATOR]]);static UNARY_OPERATORS=new Set([be.ADDITION,be.SUBTRACTION,be.NOT,be.BITWISE_COMPLEMENT,be.UNARY_PLUS,be.UNARY_MINUS,be.UNARY_LOGICAL_NOT,be.UNARY_BITWISE_COMPLEMENT]);static ARITHMETIC_OPERATORS=new Set([be.MULTIPLICATION,be.DIVISION,be.INTEGER_DIVISION,be.MOD,be.ADDITION,be.SUBTRACTION]);static LOGICAL_OPERATORS=new Set([be.NOT,be.AND,be.OR,be.LESS_THAN,be.LESS_THAN_EQUAL,be.GREATER_THAN,be.GREATER_THAN_EQUAL,be.EQUAL,be.NOT_EQUAL,be.NULLISH_COALESCING_OPERATOR]);static BITWISE_OPERATORS=new Set([be.BITWISE_AND,be.BITWISE_COMPLEMENT,be.BITWISE_LEFT_SHIFT,be.BITWISE_OR,be.BITWISE_RIGHT_SHIFT,be.BITWISE_UNSIGNED_RIGHT_SHIFT,be.BITWISE_XOR]);static CONDITIONAL_OPERATORS=new Set([be.CONDITIONAL_TERNARY_OPERATOR]);static OPERATOR_PRIORITY=new Map([[be.UNARY_PLUS,1],[be.UNARY_MINUS,1],[be.UNARY_LOGICAL_NOT,1],[be.UNARY_BITWISE_COMPLEMENT,1],[be.ARRAY_OPERATOR,1],[be.OBJECT_OPERATOR,1],[be.MULTIPLICATION,2],[be.DIVISION,2],[be.INTEGER_DIVISION,2],[be.MOD,2],[be.ADDITION,3],[be.SUBTRACTION,3],[be.BITWISE_LEFT_SHIFT,4],[be.BITWISE_RIGHT_SHIFT,4],[be.BITWISE_UNSIGNED_RIGHT_SHIFT,4],[be.LESS_THAN,5],[be.LESS_THAN_EQUAL,5],[be.GREATER_THAN,5],[be.GREATER_THAN_EQUAL,5],[be.EQUAL,6],[be.NOT_EQUAL,6],[be.BITWISE_AND,7],[be.BITWISE_XOR,8],[be.BITWISE_OR,9],[be.AND,10],[be.OR,11],[be.NULLISH_COALESCING_OPERATOR,11],[be.CONDITIONAL_TERNARY_OPERATOR,12]]);static OPERATORS=new Set([...Array.from(be.ARITHMETIC_OPERATORS),...Array.from(be.LOGICAL_OPERATORS),...Array.from(be.BITWISE_OPERATORS),be.ARRAY_OPERATOR,be.OBJECT_OPERATOR,...Array.from(be.CONDITIONAL_OPERATORS)].map((e=>e.getOperator())));static OPERATORS_WITHOUT_SPACE_WRAP=new Set([...Array.from(be.ARITHMETIC_OPERATORS),...Array.from(be.LOGICAL_OPERATORS),...Array.from(be.BITWISE_OPERATORS),be.ARRAY_OPERATOR,be.OBJECT_OPERATOR,...Array.from(be.CONDITIONAL_OPERATORS)].filter((e=>!e.shouldBeWrappedInSpace())).map((e=>e.getOperator())));static OPERATION_VALUE_OF=new Map(Array.from(be.VALUE_OF.entries()).map((([e,t])=>[t.getOperator(),t])));static UNARY_MAP=new Map([[be.ADDITION,be.UNARY_PLUS],[be.SUBTRACTION,be.UNARY_MINUS],[be.NOT,be.UNARY_LOGICAL_NOT],[be.BITWISE_COMPLEMENT,be.UNARY_BITWISE_COMPLEMENT],[be.UNARY_PLUS,be.UNARY_PLUS],[be.UNARY_MINUS,be.UNARY_MINUS],[be.UNARY_LOGICAL_NOT,be.UNARY_LOGICAL_NOT],[be.UNARY_BITWISE_COMPLEMENT,be.UNARY_BITWISE_COMPLEMENT]]);static BIGGEST_OPERATOR_SIZE=Array.from(be.VALUE_OF.values()).map((e=>e.getOperator())).filter((e=>!e.startsWith("UN: "))).map((e=>e.length)).reduce(((e,t)=>e>t?e:t),0);constructor(e,t,r=!1){this.operator=e,this.operatorName=t??e,this._shouldBeWrappedInSpace=r}getOperator(){return this.operator}getOperatorName(){return this.operatorName}shouldBeWrappedInSpace(){return this._shouldBeWrappedInSpace}valueOf(e){return be.VALUE_OF.get(e)}toString(){return this.operator}}class De extends Ce{tokens=new Le;ops=new Le;constructor(e,t,r,n){super(e||""),t&&this.tokens.push(t),r&&this.tokens.push(r),n&&this.ops.push(n),this.evaluate()}getTokens(){return this.tokens}getOperations(){return this.ops}evaluate(){const e=this.expression.length;let t,r="",n=new Ue(""),s=0,a=!1;for(;s<e;){switch(r=this.expression[s],t=n.toString(),r){case" ":a=this.processTokenSepearator(n,t,a);break;case"(":s=this.processSubExpression(e,n,t,s,a),a=!1;break;case")":throw new Ve(this.expression,"Extra closing parenthesis found");case"]":throw new Ve(this.expression,"Extra closing square bracket found");case"'":case'"':{let t=this.processStringLiteral(e,r,s);s=t.getT1(),a=t.getT2();break}case"?":if(s+1<e&&"?"!=this.expression.charAt(s+1)&&0!=s&&"?"!=this.expression.charAt(s-1))s=this.processTernaryOperator(e,n,t,s,a);else{let i=this.processOthers(r,e,n,t,s,a);s=i.getT1(),a=i.getT2(),a&&this.ops.peek()==be.ARRAY_OPERATOR&&(i=this.process(e,n,s),s=i.getT1(),a=i.getT2())}break;default:let i=this.processOthers(r,e,n,t,s,a);s=i.getT1(),a=i.getT2(),a&&this.ops.peek()==be.ARRAY_OPERATOR&&(i=this.process(e,n,s),s=i.getT1(),a=i.getT2())}++s}if(t=n.toString(),!L.isNullOrBlank(t)){if(be.OPERATORS.has(t))throw new Ve(this.expression,"Expression is ending with an operator");this.tokens.push(new Ce(t))}}processStringLiteral(e,t,r){let n="",s=r+1;for(;s<e;s++){let e=this.expression.charAt(s);if(e==t&&"\\"!=this.expression.charAt(s-1))break;n+=e}if(s==e&&this.expression.charAt(s-1)!=t)throw new Ve(this.expression,"Missing string ending marker "+t);let a=new U(s,!1);return this.tokens.push(new Ge(n,n)),a}process(e,t,r){let n=1;for(++r;r<e&&0!=n;){let e=this.expression.charAt(r);"]"==e?--n:"["==e&&++n,0!=n&&(t.append(e),r++)}return this.tokens.push(new De(t.toString())),t.setLength(0),new U(r,!1)}processOthers(e,t,r,n,s,a){let i=t-s;i=i<be.BIGGEST_OPERATOR_SIZE?i:be.BIGGEST_OPERATOR_SIZE;for(let e=i;e>0;e--){let t=this.expression.substring(s,s+e);if(be.OPERATORS_WITHOUT_SPACE_WRAP.has(t))return L.isNullOrBlank(n)||(this.tokens.push(new Ce(n)),a=!1),this.checkUnaryOperator(this.tokens,this.ops,be.OPERATION_VALUE_OF.get(t),a),a=!0,r.setLength(0),new U(s+e-1,a)}return r.append(e),new U(s,!1)}processTernaryOperator(e,t,r,n,s){if(s)throw new Ve(this.expression,"Ternary operator is followed by an operator");""!=r.trim()&&(this.tokens.push(new De(r)),t.setLength(0));let a=1,i="";const o=++n;for(;n<e&&a>0;)i=this.expression.charAt(n),"?"==i?++a:":"==i&&--a,++n;if(":"!=i)throw new Ve(this.expression,"':' operater is missing");if(n>=e)throw new Ve(this.expression,"Third part of the ternary expression is missing");for(;!this.ops.isEmpty()&&this.hasPrecedence(be.CONDITIONAL_TERNARY_OPERATOR,this.ops.peek());){let e=this.ops.pop();if(be.UNARY_OPERATORS.has(e)){const t=this.tokens.pop();this.tokens.push(new De("",t,void 0,e))}else{let t=this.tokens.pop(),r=this.tokens.pop();this.tokens.push(new De("",r,t,e))}}this.ops.push(be.CONDITIONAL_TERNARY_OPERATOR),this.tokens.push(new De(this.expression.substring(o,n-1)));const E=this.expression.substring(n);if(""===E.trim())throw new Ve(this.expression,"Third part of the ternary expression is missing");return this.tokens.push(new De(E)),e-1}processSubExpression(e,t,r,n,s){if(be.OPERATORS.has(r))this.checkUnaryOperator(this.tokens,this.ops,be.OPERATION_VALUE_OF.get(r),s),t.setLength(0);else if(!L.isNullOrBlank(r))throw new Ve(this.expression,x.format("Unkown token : $ found.",r));let a=1;const i=new Ue;let o=this.expression.charAt(n);for(n++;n<e&&a>0;)o=this.expression.charAt(n),"("==o?a++:")"==o&&a--,0!=a&&(i.append(o),n++);if(")"!=o)throw new Ve(this.expression,"Missing a closed parenthesis");for(;i.length()>2&&"("==i.charAt(0)&&")"==i.charAt(i.length()-1);)i.deleteCharAt(0),i.setLength(i.length()-1);return this.tokens.push(new De(i.toString().trim())),n}processTokenSepearator(e,t,r){return L.isNullOrBlank(t)||(be.OPERATORS.has(t)?(this.checkUnaryOperator(this.tokens,this.ops,be.OPERATION_VALUE_OF.get(t),r),r=!0):(this.tokens.push(new Ce(t)),r=!1)),e.setLength(0),r}checkUnaryOperator(e,t,r,n){if(r)if(n||e.isEmpty()){if(!be.UNARY_OPERATORS.has(r))throw new Ve(this.expression,x.format("Extra operator $ found.",r));{const e=be.UNARY_MAP.get(r);e&&t.push(e)}}else{for(;!t.isEmpty()&&this.hasPrecedence(r,t.peek());){let r=t.pop();if(be.UNARY_OPERATORS.has(r)){let t=e.pop();e.push(new De("",t,void 0,r))}else{let t=e.pop(),n=e.pop();e.push(new De("",n,t,r))}}t.push(r)}}hasPrecedence(e,t){let r=be.OPERATOR_PRIORITY.get(e),n=be.OPERATOR_PRIORITY.get(t);if(!r||!n)throw new Error("Unknown operators provided");return n<r}toString(){if(this.ops.isEmpty())return 1==this.tokens.size()?this.tokens.get(0).toString():"Error: No tokens";let e=new Ue,t=0;const r=this.ops.toArray(),n=this.tokens.toArray();for(let s=0;s<r.length;s++)if(r[s].getOperator().startsWith("UN: "))e.append("(").append(r[s].getOperator().substring(4)).append(n[t]instanceof De?n[t].toString():n[t]).append(")"),t++;else if(r[s]==be.CONDITIONAL_TERNARY_OPERATOR){let r=n[t++];e.insert(0,r.toString()),e.insert(0,":"),r=n[t++],e.insert(0,r.toString()),e.insert(0,"?"),r=n[t++],e.insert(0,r.toString()).append(")"),e.insert(0,"(")}else{if(0==t){const r=n[t++];e.insert(0,r.toString())}const a=n[t++];e.insert(0,r[s].getOperator()).insert(0,a.toString()).insert(0,"(").append(")")}return e.toString()}equals(e){return this.expression==e.expression}}e({},"ExpressionEvaluator",(()=>Jt));var Fe={};e(Fe,"LogicalNullishCoalescingOperator",(()=>He));var Be={};e(Be,"BinaryOperator",(()=>Ye));class Ye{nullCheck(e,t,r){if(s(e)||s(t))throw new ee(x.format("$ cannot be applied to a null value",r.getOperatorName()))}}class He extends Ye{apply(e,t){return s(e)?t:e}}var ke={};e(ke,"ArithmeticAdditionOperator",(()=>$e));class $e extends Ye{apply(e,t){return this.nullCheck(e,t,be.ADDITION),e+t}}var je={};e(je,"ArithmeticDivisionOperator",(()=>Xe));class Xe extends Ye{apply(e,t){return this.nullCheck(e,t,be.DIVISION),e/t}}var We={};e(We,"ArithmeticIntegerDivisionOperator",(()=>qe));class qe extends Ye{apply(e,t){return this.nullCheck(e,t,be.DIVISION),Math.floor(e/t)}}var Je={};e(Je,"ArithmeticModulusOperator",(()=>ze));class ze extends Ye{apply(e,t){return this.nullCheck(e,t,be.MOD),e%t}}var Ke={};e(Ke,"ArithmeticMultiplicationOperator",(()=>Qe));class Qe extends Ye{apply(e,t){this.nullCheck(e,t,be.MULTIPLICATION);const r="string"==typeof e;if(r||"string"===typeof t){let n=r?e:t,s=r?t:e,a="",i=s<0;s=Math.abs(s);let o=Math.floor(s);for(;o-- >0;)a+=n;let E=Math.floor(n.length*(s-Math.floor(s)));if(E<0&&(E=-E),0!=E&&(a+=n.substring(0,E)),i){let e="";for(let t=a.length-1;t>=0;t--)e+=a[t];return e}return a}return e*t}}var Ze={};e(Ze,"ArithmeticSubtractionOperator",(()=>et));class et extends Ye{apply(e,t){return this.nullCheck(e,t,be.SUBTRACTION),e-t}}var tt={};e(tt,"ArrayOperator",(()=>rt));class rt extends Ye{apply(e,t){if(!e)throw new ee("Cannot apply array operator on a null value");if(!t)throw new ee("Cannot retrive null index value");if(!Array.isArray(e)&&"string"!=typeof e)throw new ee(x.format("Cannot retrieve value from a primitive value $",e));if(t>=e.length)throw new ee(x.format("Cannot retrieve index $ from the array of length $",t,e.length));return e[t]}}var nt={};e(nt,"BitwiseAndOperator",(()=>st));class st extends Ye{apply(e,t){return this.nullCheck(e,t,be.BITWISE_AND),e&t}}var at={};e(at,"BitwiseLeftShiftOperator",(()=>it));class it extends Ye{apply(e,t){return this.nullCheck(e,t,be.BITWISE_LEFT_SHIFT),e<<t}}var ot={};e(ot,"BitwiseOrOperator",(()=>Et));class Et extends Ye{apply(e,t){return this.nullCheck(e,t,be.BITWISE_OR),e|t}}var ut={};e(ut,"BitwiseRightShiftOperator",(()=>At));class At extends Ye{apply(e,t){return this.nullCheck(e,t,be.BITWISE_RIGHT_SHIFT),e>>t}}var lt={};e(lt,"BitwiseUnsignedRightShiftOperator",(()=>gt));class gt extends Ye{apply(e,t){return this.nullCheck(e,t,be.BITWISE_UNSIGNED_RIGHT_SHIFT),e>>>t}}var ct={};e(ct,"BitwiseXorOperator",(()=>mt));class mt extends Ye{apply(e,t){return this.nullCheck(e,t,be.BITWISE_XOR),e^t}}var Tt={};e(Tt,"LogicalAndOperator",(()=>Rt));class Rt extends Ye{apply(e,t){const r=te.findPrimitiveNullAsBoolean(e),n=te.findPrimitiveNullAsBoolean(t);if(r.getT1()!=i.BOOLEAN)throw new ee(x.format("Boolean value expected but found $",r.getT2()));if(n.getT1()!=i.BOOLEAN)throw new ee(x.format("Boolean value expected but found $",n.getT2()));return r.getT2()&&n.getT2()}}var pt={};e(pt,"LogicalEqualOperator",(()=>ht));class ht extends Ye{apply(e,t){return xe(e,t)}}var Nt={};e(Nt,"LogicalGreaterThanEqualOperator",(()=>ft));class ft extends Ye{apply(e,t){const r=te.findPrimitiveNullAsBoolean(e),n=te.findPrimitiveNullAsBoolean(t);if(r.getT1()==i.BOOLEAN||n.getT1()==i.BOOLEAN)throw new ee(x.format("Cannot compare >= with the values $ and $",r.getT2(),n.getT2()));return r.getT2()>=n.getT2()}}var _t={};e(_t,"LogicalGreaterThanOperator",(()=>St));class St extends Ye{apply(e,t){const r=te.findPrimitiveNullAsBoolean(e),n=te.findPrimitiveNullAsBoolean(t);if(r.getT1()==i.BOOLEAN||n.getT1()==i.BOOLEAN)throw new ee(x.format("Cannot compare > with the values $ and $",r.getT2(),n.getT2()));return r.getT2()>n.getT2()}}var Mt={};e(Mt,"LogicalLessThanEqualOperator",(()=>Ot));class Ot extends Ye{apply(e,t){const r=te.findPrimitiveNullAsBoolean(e),n=te.findPrimitiveNullAsBoolean(t);if(r.getT1()==i.BOOLEAN||n.getT1()==i.BOOLEAN)throw new ee(x.format("Cannot compare <= with the values $ and $",r.getT2(),n.getT2()));return r.getT2()<=n.getT2()}}var wt={};e(wt,"LogicalLessThanOperator",(()=>It));class It extends Ye{apply(e,t){const r=te.findPrimitiveNullAsBoolean(e),n=te.findPrimitiveNullAsBoolean(t);if(r.getT1()==i.BOOLEAN||n.getT1()==i.BOOLEAN)throw new ee(x.format("Cannot compare < with the values $ and $",r.getT2(),n.getT2()));return r.getT2()<n.getT2()}}var Pt={};e(Pt,"LogicalNotEqualOperator",(()=>dt));class dt extends Ye{apply(e,t){return!xe(e,t)}}var yt={};e(yt,"LogicalOrOperator",(()=>xt));class xt extends Ye{apply(e,t){const r=te.findPrimitiveNullAsBoolean(e),n=te.findPrimitiveNullAsBoolean(t);if(r.getT1()!=i.BOOLEAN)throw new ee(x.format("Boolean value expected but found $",r.getT2()));if(n.getT1()!=i.BOOLEAN)throw new ee(x.format("Boolean value expected but found $",n.getT2()));return r.getT2()||n.getT2()}}var Lt={};e(Lt,"ObjectOperator",(()=>vt));class vt extends Ye{apply(e,t){if(!e)throw new ee("Cannot apply array operator on a null value");if(!t)throw new ee("Cannot retrive null property value");const r=typeof e;if(!Array.isArray(e)&&"string"!=r&&"object"!=r)throw new ee(x.format("Cannot retrieve value from a primitive value $",e));return e[t]}}var Ut={};e(Ut,"ArithmeticUnaryMinusOperator",(()=>Gt));var Vt={};e(Vt,"UnaryOperator",(()=>Ct));class Ct{nullCheck(e,t){if(s(e))throw new ee(x.format("$ cannot be applied to a null value",t.getOperatorName()))}}class Gt extends Ct{apply(e){return this.nullCheck(e,be.UNARY_MINUS),te.findPrimitiveNumberType(e),-e}}var bt={};e(bt,"ArithmeticUnaryPlusOperator",(()=>Dt));class Dt extends Ct{apply(e){return this.nullCheck(e,be.UNARY_PLUS),te.findPrimitiveNumberType(e),e}}var Ft={};e(Ft,"BitwiseComplementOperator",(()=>Bt));class Bt extends Ct{apply(e){this.nullCheck(e,be.UNARY_BITWISE_COMPLEMENT);let t=te.findPrimitiveNumberType(e);if(t.getT1()!=i.INTEGER&&t.getT1()!=i.LONG)throw new ee(x.format("Unable to apply bitwise operator on $",e));return~e}}var Yt={};e(Yt,"LogicalNotOperator",(()=>Ht));class Ht extends Ct{apply(e){return!e&&""!==e}}e({},"LiteralTokenValueExtractor",(()=>jt));e({},"TokenValueExtractor",(()=>kt));class kt{static REGEX_SQUARE_BRACKETS=/[\[\]]/;static REGEX_DOT=/\./;getValue(e){let t=this.getPrefix();if(!e.startsWith(t))throw new P(x.format("Token $ doesn't start with $",e,t));return this.getValueInternal(e)}retrieveElementFrom(e,t,r,n){if(s(n))return;if(t.length==r)return n;let a=t[r].split(kt.REGEX_SQUARE_BRACKETS).map((e=>e.trim())).filter((e=>!L.isNullOrBlank(e))).reduce(((n,s,a)=>this.resolveForEachPartOfTokenWithBrackets(e,t,r,s,n,a)),n);return this.retrieveElementFrom(e,t,r+1,a)}resolveForEachPartOfTokenWithBrackets(e,t,r,n,a,i){if(!s(a)){if(0===i){if(Array.isArray(a)){if("length"===n)return a.length;try{let e=parseInt(n);if(isNaN(e))throw new Error(x.format("$ is not a number",e));if(e>=a.length)return;return a[e]}catch(t){throw new Ve(e,x.format("$ couldn't be parsed into integer in $",n,e),t)}}return this.checkIfObject(e,t,r,a),a[n]}if(n?.startsWith('"')){if(!n.endsWith('"')||1==n.length||2==n.length)throw new Ve(e,x.format("$ is missing a double quote or empty key found",e));return this.checkIfObject(e,t,r,a),a[n.substring(1,n.length-1)]}try{let t=parseInt(n);if(isNaN(t))throw new Error(x.format("$ is not a number",t));if(!Array.isArray(a))throw new Ve(e,x.format("Expecting an array with index $ while processing the expression",t,e));if(t>=a.length)return;return a[t]}catch(t){throw new Ve(e,x.format("$ couldn't be parsed into integer in $",n,e),t)}}}checkIfObject(e,t,r,n){if("object"!=typeof n||Array.isArray(n))throw new Ve(e,x.format("Unable to retrive $ from $ in the path $",t[r],n.toString(),e))}}const $t=new Map([["true",!0],["false",!1],["null",void 0],["undefined",void 0]]);class jt extends kt{static INSTANCE=new jt;getValueInternal(e){if(!L.isNullOrBlank(e))return e=e.trim(),$t.has(e)?$t.get(e):e.startsWith('"')?this.processString(e):this.processNumbers(e)}processNumbers(e){try{let t=Number(e);if(isNaN(t))throw new Error("Parse number error");return t}catch(t){throw new Ve(e,x.format("Unable to parse the literal or expression $",e),t)}}processString(e){if(!e.endsWith('"'))throw new Ve(e,x.format("String literal $ is not closed properly",e));return e.substring(1,e.length-1)}getPrefix(){return""}}var Xt={};e(Xt,"ConditionalTernaryOperator",(()=>Wt));class Wt extends class{nullCheck(e,t,r,n){if(s(e)||s(t)||s(r))throw new ee(x.format("$ cannot be applied to a null value",n.getOperatorName()))}}{apply(e,t,r){return e?t:r}}t({},Xt);class qt extends kt{static PREFIX="_internal.";values=new Map;addValue(e,t){this.values.set(e,t)}getValueInternal(e){let t=e.split(kt.REGEX_DOT),r=t[1],n=r.indexOf("["),s=2;return-1!=n&&(r=t[1].substring(0,n),t[1]=t[1].substring(n),s=1),this.retrieveElementFrom(e,t,s,this.values.get(r))}getPrefix(){return qt.PREFIX}}class Jt{static UNARY_OPERATORS_MAP=new Map([[be.UNARY_BITWISE_COMPLEMENT,new Bt],[be.UNARY_LOGICAL_NOT,new Ht],[be.UNARY_MINUS,new Gt],[be.UNARY_PLUS,new Dt]]);static TERNARY_OPERATORS_MAP=new Map([[be.CONDITIONAL_TERNARY_OPERATOR,new Wt]]);static BINARY_OPERATORS_MAP=new Map([[be.ADDITION,new $e],[be.DIVISION,new Xe],[be.INTEGER_DIVISION,new qe],[be.MOD,new ze],[be.MULTIPLICATION,new Qe],[be.SUBTRACTION,new et],[be.BITWISE_AND,new st],[be.BITWISE_LEFT_SHIFT,new it],[be.BITWISE_OR,new Et],[be.BITWISE_RIGHT_SHIFT,new At],[be.BITWISE_UNSIGNED_RIGHT_SHIFT,new gt],[be.BITWISE_XOR,new mt],[be.AND,new Rt],[be.EQUAL,new ht],[be.GREATER_THAN,new St],[be.GREATER_THAN_EQUAL,new ft],[be.LESS_THAN,new It],[be.LESS_THAN_EQUAL,new Ot],[be.OR,new xt],[be.NOT_EQUAL,new dt],[be.NULLISH_COALESCING_OPERATOR,new He],[be.ARRAY_OPERATOR,new rt],[be.OBJECT_OPERATOR,new vt]]);static UNARY_OPERATORS_MAP_KEY_SET=new Set(Jt.UNARY_OPERATORS_MAP.keys());internalTokenValueExtractor=new qt;constructor(e){e instanceof De?(this.exp=e,this.expression=this.exp.getExpression()):this.expression=e}evaluate(e){const t=this.processNestingExpression(this.expression,e);return this.expression=t.getT1(),this.exp=t.getT2(),(e=new Map(e.entries())).set(this.internalTokenValueExtractor.getPrefix(),this.internalTokenValueExtractor),this.evaluateExpression(this.exp,e)}processNestingExpression(e,t){let r=0,n=0;const s=new Le;for(;n<e.length-1;){if("{"==e.charAt(n)&&"{"==e.charAt(n+1))0==r&&s.push(new U(n+2,-1)),r++,n++;else if("}"==e.charAt(n)&&"}"==e.charAt(n+1)){if(r--,r<0)throw new Ve(e,"Expecting {{ nesting path operator to be started before closing");0==r&&s.push(s.pop().setT2(n)),n++}n++}let a=this.replaceNestingExpression(e,t,s);return new U(a,new De(a))}replaceNestingExpression(e,t,r){let n=e;for(var s of r.toArray()){if(-1==s.getT2())throw new Ve(e,"Expecting }} nesting path operator to be closed");let r=new Jt(n.substring(s.getT1(),s.getT2())).evaluate(t);n=n.substring(0,s.getT1()-2)+r+n.substring(s.getT2()+2)}return n}getExpression(){return this.exp||(this.exp=new De(this.expression)),this.exp}getExpressionString(){return this.expression}evaluateExpression(e,t){let r=e.getOperations(),n=e.getTokens();for(;!r.isEmpty();){let e=r.pop(),o=n.pop();if(Jt.UNARY_OPERATORS_MAP_KEY_SET.has(e))n.push(this.applyUnaryOperation(e,this.getValueFromToken(t,o)));else if(e==be.OBJECT_OPERATOR||e==be.ARRAY_OPERATOR)this.processObjectOrArrayOperator(t,r,n,e,o);else if(e==be.CONDITIONAL_TERNARY_OPERATOR){const r=n.pop(),E=n.pop();var s=this.getValueFromToken(t,E),a=this.getValueFromToken(t,r),i=this.getValueFromToken(t,o);n.push(this.applyTernaryOperation(e,s,a,i))}else{const r=n.pop();s=this.getValueFromToken(t,r),a=this.getValueFromToken(t,o);n.push(this.applyBinaryOperation(e,s,a))}}if(n.isEmpty())throw new ee(x.format("Expression : $ evaluated to null",e));if(1!=n.size())throw new ee(x.format("Expression : $ evaluated multiple values $",e,n));const o=n.get(0);if(o instanceof Ge)return o.getElement();if(!(o instanceof De))return this.getValueFromToken(t,o);throw new ee(x.format("Expression : $ evaluated to $",e,n.get(0)))}processObjectOrArrayOperator(e,t,r,n,s){const a=new Le,i=new Le;if(!n||!s)return;do{i.push(n),s instanceof De?a.push(new Ge(s.toString(),this.evaluateExpression(s,e))):s&&a.push(s),s=r.isEmpty()?void 0:r.pop(),n=t.isEmpty()?void 0:t.pop()}while(n==be.OBJECT_OPERATOR||n==be.ARRAY_OPERATOR);s&&(s instanceof De?a.push(new Ge(s.toString(),this.evaluateExpression(s,e))):a.push(s)),n&&t.push(n);let o=a.pop();if(o instanceof Ge&&"object"==typeof o.getTokenValue()){const e=(new Date).getTime()+""+Math.round(1e3*Math.random());this.internalTokenValueExtractor.addValue(e,o.getTokenValue()),o=new Ce(qt.PREFIX+e)}let E=new Ue(o instanceof Ge?o.getTokenValue():o.toString());for(;!a.isEmpty();)o=a.pop(),n=i.pop(),E.append(n.getOperator()).append(o instanceof Ge?o.getTokenValue():o.toString()),n==be.ARRAY_OPERATOR&&E.append("]");let u=E.toString(),A=u.substring(0,u.indexOf(".")+1);if(A.length>2&&e.has(A))r.push(new Ge(u,this.getValue(u,e)));else{let e;try{e=jt.INSTANCE.getValue(u)}catch(t){e=u}r.push(new Ge(u,e))}}applyTernaryOperation(e,t,r,n){let s=Jt.TERNARY_OPERATORS_MAP.get(e);if(!s)throw new Ve(this.expression,x.format("No operator found to evaluate $",this.getExpression()));return new Ge(e.toString(),s.apply(t,r,n))}applyBinaryOperation(e,t,r){let n=typeof t,s=typeof r,a=Jt.BINARY_OPERATORS_MAP.get(e);if(("object"===n||"object"===s)&&e!==be.EQUAL&&e!==be.NOT_EQUAL&&e!==be.NULLISH_COALESCING_OPERATOR)throw new Ve(this.expression,x.format("Cannot evaluate expression $ $ $",t,e.getOperator(),r));if(!a)throw new Ve(this.expression,x.format("No operator found to evaluate $ $ $",t,e.getOperator(),r));return new Ge(e.toString(),a.apply(t,r))}applyUnaryOperation(e,t){if("object"===typeof t||Array.isArray(t))throw new Ve(this.expression,x.format("The operator $ cannot be applied to $",e.getOperator(),t));let r=Jt.UNARY_OPERATORS_MAP.get(e);if(!r)throw new Ve(this.expression,x.format("No Unary operator $ is found to apply on $",e.getOperator(),t));return new Ge(e.toString(),r.apply(t))}getValueFromToken(e,t){return t instanceof De?this.evaluateExpression(t,e):t instanceof Ge?t.getElement():this.getValue(t.getExpression(),e)}getValue(e,t){if(e.length<=5)return jt.INSTANCE.getValue(e);const r=e.substring(0,e.indexOf(".")+1);return(t.get(r)??jt.INSTANCE).getValue(e)}}const zt=new y("Set").setNamespace(n.SYSTEM_CTX).setParameters(new Map([p.ofEntry("name",(new c).setName("name").setType(l.of(i.STRING)).setMinLength(1),!1,T.CONSTANT),p.ofEntry("value",c.ofAny("value"))])).setEvents(new Map([w.outputEventMapEntry(new Map)]));const Kt=new y("GenerateEvent").setNamespace(n.SYSTEM).setParameters(new Map([p.ofEntry("eventName",c.ofString("eventName").setDefaultValue("output")),p.ofEntry("results",c.ofObject("results").setProperties(new Map([["name",c.ofString("name")],["value",p.EXPRESSION]])),!0)])).setEvents(new Map([w.outputEventMapEntry(new Map)]));class Qt extends J{static CONDITION="condition";static SIGNATURE=new y("If").setNamespace(n.SYSTEM).setParameters(new Map([p.ofEntry(Qt.CONDITION,c.of(Qt.CONDITION,i.BOOLEAN))])).setEvents(new Map([w.eventMapEntry(w.TRUE,new Map),w.eventMapEntry(w.FALSE,new Map),w.outputEventMapEntry(new Map)]));getSignature(){return Qt.SIGNATURE}async internalExecute(e){var t=e.getArguments()?.get(Qt.CONDITION);return new d([I.of(t?w.TRUE:w.FALSE,new Map),I.outputOf(new Map)])}}const Zt=new y("CountLoop").setNamespace(n.SYSTEM_LOOP).setParameters(new Map([p.ofEntry("count",c.of("count",i.INTEGER))])).setEvents(new Map([w.eventMapEntry(w.ITERATION,new Map([["index",c.of("index",i.INTEGER)]])),w.outputEventMapEntry(new Map([["value",c.of("value",i.INTEGER)]]))]));const er=new y("RangeLoop").setNamespace(n.SYSTEM_LOOP).setParameters(new Map([p.ofEntry("from",c.of("from",i.INTEGER,i.LONG,i.FLOAT,i.DOUBLE).setDefaultValue(0)),p.ofEntry("to",c.of("to",i.INTEGER,i.LONG,i.FLOAT,i.DOUBLE).setDefaultValue(1)),p.ofEntry("step",c.of("step",i.INTEGER,i.LONG,i.FLOAT,i.DOUBLE).setDefaultValue(1).setNot((new c).setConstant(0)))])).setEvents(new Map([w.eventMapEntry(w.ITERATION,new Map([["index",c.of("index",i.INTEGER,i.LONG,i.FLOAT,i.DOUBLE)]])),w.outputEventMapEntry(new Map([["value",c.of("value",i.INTEGER,i.LONG,i.FLOAT,i.DOUBLE)]]))]));const tr=new y("Add").setNamespace(n.MATH).setParameters(new Map([["value",new p("value",c.ofNumber("value")).setVariableArgument(!0)]])).setEvents(new Map([w.outputEventMapEntry(new Map([["value",c.ofNumber("value")]]))]));const rr=[()=>new Map([["value",new p("value",c.ofNumber("value"))]]),()=>new Map([["value1",new p("value1",c.ofNumber("value1"))],["value2",new p("value2",c.ofNumber("value2"))]])];class nr extends J{constructor(e,t,r=1,...s){super(),s&&s.length||(s=[i.DOUBLE]),this.parametersNumber=r,this.mathFunction=t,this.signature=new y(e).setNamespace(n.MATH).setParameters(rr[r-1]()).setEvents(new Map([w.outputEventMapEntry(new Map([["value",(new c).setType(l.of(...s)).setName("value")]]))]))}getSignature(){return this.signature}async internalExecute(e){let t,r=te.findPrimitiveNumberType(e.getArguments()?.get(1==this.parametersNumber?"value":"value1")).getT2();return 2==this.parametersNumber&&(t=te.findPrimitiveNumberType(e.getArguments()?.get("value2")).getT2()),new d([I.outputOf(new Map([["value",this.mathFunction.call(this,r,t)]]))])}}class sr extends J{static SIGNATURE=new y("Hypotenuse").setNamespace(n.MATH).setParameters(new Map([["value",new p("value",c.ofNumber("value")).setVariableArgument(!0)]])).setEvents(new Map([w.outputEventMapEntry(new Map([["value",(new c).setType(l.of(i.DOUBLE)).setName("value")]]))]));constructor(){super()}getSignature(){return sr.SIGNATURE}async internalExecute(e){let t=e.getArguments()?.get("value");return new d([I.outputOf(new Map([["value",Math.sqrt(t.reduce(((e,t)=>e+t*t),0))]]))])}}const ar=new y("Maximum").setNamespace(n.MATH).setParameters(new Map([["value",new p("value",c.ofNumber("value")).setVariableArgument(!0)]])).setEvents(new Map([w.outputEventMapEntry(new Map([["value",c.ofNumber("value")]]))]));const ir=new y("Minimum").setNamespace(n.MATH).setParameters(new Map([["value",new p("value",c.ofNumber("value")).setVariableArgument(!0)]])).setEvents(new Map([w.outputEventMapEntry(new Map([["value",c.ofNumber("value")]]))]));class or extends J{static SIGNATURE=new y("Random").setNamespace(n.MATH).setEvents(new Map([w.outputEventMapEntry(M.of("value",c.ofDouble("value")))]));getSignature(){return or.SIGNATURE}async internalExecute(e){return new d([I.outputOf(new Map([["value",Math.random()]]))])}}class Er extends J{static MIN_VALUE="minValue";static MAX_VALUE="maxValue";static VALUE="value";static SIGNATURE=new y("RandomFloat").setParameters(M.of(Er.MIN_VALUE,p.of(Er.MIN_VALUE,c.ofFloat(Er.MIN_VALUE).setDefaultValue(0)),Er.MAX_VALUE,p.of(Er.MAX_VALUE,c.ofFloat(Er.MAX_VALUE).setDefaultValue(2147483647)))).setNamespace(n.MATH).setEvents(new Map([w.outputEventMapEntry(M.of(Er.VALUE,c.ofFloat(Er.VALUE)))]));getSignature(){return Er.SIGNATURE}async internalExecute(e){let t=e.getArguments()?.get(Er.MIN_VALUE),r=e.getArguments()?.get(Er.MAX_VALUE),n=Math.random()*(r-t)+t;return new d([I.outputOf(new Map([[Er.VALUE,n]]))])}}class ur extends J{static MIN_VALUE="minValue";static MAX_VALUE="maxValue";static VALUE="value";static SIGNATURE=new y("RandomInt").setParameters(M.of(ur.MIN_VALUE,p.of(ur.MIN_VALUE,c.ofInteger(ur.MIN_VALUE).setDefaultValue(0)),ur.MAX_VALUE,p.of(ur.MAX_VALUE,c.ofInteger(ur.MAX_VALUE).setDefaultValue(2147483647)))).setNamespace(n.MATH).setEvents(new Map([w.outputEventMapEntry(M.of(ur.VALUE,c.ofInteger(ur.VALUE)))]));getSignature(){return ur.SIGNATURE}async internalExecute(e){let t=e.getArguments()?.get(ur.MIN_VALUE),r=e.getArguments()?.get(ur.MAX_VALUE),n=Math.floor(Math.random()*(r-t)+t);return new d([I.outputOf(new Map([[ur.VALUE,n]]))])}}const Ar={Absolute:new nr("Absolute",(e=>Math.abs(e)),1,i.INTEGER,i.LONG,i.FLOAT,i.DOUBLE),ACosine:new nr("ArcCosine",(e=>Math.acos(e))),ASine:new nr("ArcSine",(e=>Math.asin(e))),ATangent:new nr("ArcTangent",(e=>Math.atan(e))),Ceiling:new nr("Ceiling",(e=>Math.ceil(e))),Cosine:new nr("Cosine",(e=>Math.cos(e))),CosineH:new nr("HyperbolicCosine",(e=>Math.cosh(e))),CubeRoot:new nr("CubeRoot",(e=>Math.cbrt(e))),Exponential:new nr("Exponential",(e=>Math.exp(e))),Expm1:new nr("ExponentialMinus1",(e=>Math.expm1(e))),Floor:new nr("Floor",(e=>Math.floor(e))),Log:new nr("LogNatural",(e=>Math.log(e))),Log10:new nr("Log10",(e=>Math.log10(e))),Round:new nr("Round",(e=>Math.round(e)),1,i.INTEGER,i.LONG),Sine:new nr("Sine",(e=>Math.sin(e))),SineH:new nr("HyperbolicSine",(e=>Math.sinh(e))),Tangent:new nr("Tangent",(e=>Math.tan(e))),TangentH:new nr("HyperbolicTangent",(e=>Math.tanh(e))),ToDegrees:new nr("ToDegrees",(e=>e*(Math.PI/180))),ToRadians:new nr("ToRadians",(e=>e*(180/Math.PI))),SquareRoot:new nr("SquareRoot",(e=>Math.sqrt(e))),ArcTangent:new nr("ArcTangent2",((e,t)=>Math.atan2(e,t)),2),Power:new nr("Power",((e,t)=>Math.pow(e,t)),2),Add:new class extends J{getSignature(){return tr}async internalExecute(e){let t=e.getArguments()?.get("value");return new d([I.outputOf(new Map([["value",t.reduce(((e,t)=>e+t),0)]]))])}},Hypotenuse:new sr,Maximum:new class extends J{getSignature(){return ar}async internalExecute(e){let t=e.getArguments()?.get("value");return new d([I.outputOf(new Map([["value",t.reduce(((e,t)=>!e&&0!==e||t>e?t:e))]]))])}},Minimum:new class extends J{getSignature(){return ir}async internalExecute(e){let t=e.getArguments()?.get("value");return new d([I.outputOf(new Map([["value",t.reduce(((e,t)=>!e&&0!==e||t<e?t:e))]]))])}},Random:new or,RandomFloat:new Er,RandomInt:new ur},lr=Object.values(Ar).map((e=>e.getSignature().getFullName()));class gr{find(e,t){if(e==n.MATH)return Ar[t]}filter(e){return lr.filter((t=>-1!==t.toLowerCase().indexOf(e.toLowerCase())))}}function cr(e){return e?structuredClone?structuredClone(e):JSON.parse(JSON.stringify(e)):e}e({},"duplicate",(()=>cr));class mr extends J{constructor(e,t){super(),this.signature=new y(e).setNamespace(n.SYSTEM_OBJECT).setParameters(new Map([p.ofEntry("source",c.ofAny("source"))])).setEvents(new Map([w.outputEventMapEntry(new Map([["value",t]]))]))}getSignature(){return this.signature}}const Tr={ObjectValues:new class extends mr{constructor(){super("ObjectValues",c.ofArray("value",c.ofAny("value")))}async internalExecute(e){var t=e.getArguments()?.get("source");if(s(t))return new d([I.outputOf(new Map([["value",[]]]))]);let r=Object.entries(cr(t)).sort(((e,t)=>e[0].localeCompare(t[0]))).map((e=>e[1]));return new d([I.outputOf(new Map([["value",r]]))])}},ObjectKeys:new class extends mr{constructor(){super("ObjectKeys",c.ofArray("value",c.ofString("value")))}async internalExecute(e){var t=e.getArguments()?.get("source");if(s(t))return new d([I.outputOf(new Map([["value",[]]]))]);let r=Object.keys(cr(t)).sort(((e,t)=>e.localeCompare(t)));return new d([I.outputOf(new Map([["value",r]]))])}},ObjectEntries:new class extends mr{constructor(){super("ObjectEntries",c.ofArray("value",c.ofArray("tuple",c.ofString("key"),c.ofAny("value"))))}async internalExecute(e){var t=e.getArguments()?.get("source");if(s(t))return new d([I.outputOf(new Map([["value",[]]]))]);let r=Object.entries(cr(t)).sort(((e,t)=>e[0].localeCompare(t[0])));return new d([I.outputOf(new Map([["value",r]]))])}},ObjectDeleteKey:new class extends J{constructor(){super(),this.signature=new y("ObjectDeleteKey").setNamespace(n.SYSTEM_OBJECT).setParameters(new Map([p.ofEntry("source",c.ofAny("source")),p.ofEntry("key",c.ofString("key"))])).setEvents(new Map([w.outputEventMapEntry(new Map([["value",c.ofAny("value")]]))]))}getSignature(){return this.signature}async internalExecute(e){let t=e.getArguments()?.get("source"),r=e.getArguments()?.get("key");return s(t)?new d([I.outputOf(new Map([["value",void 0]]))]):(t=cr(t),delete t[r],new d([I.outputOf(new Map([["value",t]]))]))}}},Rr=Object.values(Tr).map((e=>e.getSignature().getFullName()));class pr{find(e,t){if(e==n.SYSTEM_OBJECT)return Tr[t]}filter(e){return Rr.filter((t=>-1!==t.toLowerCase().indexOf(e.toLowerCase())))}}class hr extends J{static VALUES="values";static SIGNATURE=new y("Print").setNamespace(n.SYSTEM).setParameters(new Map([p.ofEntry(hr.VALUES,c.ofAny(hr.VALUES),!0)]));getSignature(){return hr.SIGNATURE}async internalExecute(e){var t=e.getArguments()?.get(hr.VALUES);return console?.log(...t),new d([I.outputOf(new Map)])}}class Nr extends J{static PARAMETER_STRING_NAME="string";static PARAMETER_SEARCH_STRING_NAME="searchString";static PARAMETER_SECOND_STRING_NAME="secondString";static PARAMETER_THIRD_STRING_NAME="thirdString";static PARAMETER_INDEX_NAME="index";static PARAMETER_SECOND_INDEX_NAME="secondIndex";static EVENT_RESULT_NAME="result";static PARAMETER_STRING=new p(Nr.PARAMETER_STRING_NAME,c.ofString(Nr.PARAMETER_STRING_NAME));static PARAMETER_SECOND_STRING=new p(Nr.PARAMETER_SECOND_STRING_NAME,c.ofString(Nr.PARAMETER_SECOND_STRING_NAME));static PARAMETER_THIRD_STRING=new p(Nr.PARAMETER_THIRD_STRING_NAME,c.ofString(Nr.PARAMETER_THIRD_STRING_NAME));static PARAMETER_INDEX=new p(Nr.PARAMETER_INDEX_NAME,c.ofInteger(Nr.PARAMETER_INDEX_NAME));static PARAMETER_SECOND_INDEX=new p(Nr.PARAMETER_SECOND_INDEX_NAME,c.ofInteger(Nr.PARAMETER_SECOND_INDEX_NAME));static PARAMETER_SEARCH_STRING=new p(Nr.PARAMETER_SEARCH_STRING_NAME,c.ofString(Nr.PARAMETER_STRING_NAME));static EVENT_STRING=new w(w.OUTPUT,M.of(Nr.EVENT_RESULT_NAME,c.ofString(Nr.EVENT_RESULT_NAME)));static EVENT_BOOLEAN=new w(w.OUTPUT,M.of(Nr.EVENT_RESULT_NAME,c.ofBoolean(Nr.EVENT_RESULT_NAME)));static EVENT_INT=new w(w.OUTPUT,M.of(Nr.EVENT_RESULT_NAME,c.ofInteger(Nr.EVENT_RESULT_NAME)));static EVENT_ARRAY=new w(w.OUTPUT,M.of(Nr.EVENT_RESULT_NAME,c.ofArray(Nr.EVENT_RESULT_NAME)));constructor(e,t,r,...n){super();const s=new Map;n.forEach((e=>s.set(e.getParameterName(),e))),this.signature=new y(t).setNamespace(e).setParameters(s).setEvents(M.of(r.getName(),r))}getSignature(){return this.signature}static ofEntryAsStringBooleanOutput(e,t){return[e,new class extends Nr{constructor(e,t,r,...n){super(e,t,r,...n)}async internalExecute(e){let r=e?.getArguments()?.get(Nr.PARAMETER_STRING_NAME),n=e?.getArguments()?.get(Nr.PARAMETER_SEARCH_STRING_NAME);return new d([I.outputOf(M.of(Nr.EVENT_RESULT_NAME,t(r,n)))])}}(n.STRING,e,Nr.EVENT_BOOLEAN,Nr.PARAMETER_STRING,Nr.PARAMETER_SEARCH_STRING)]}static ofEntryAsStringAndIntegerStringOutput(e,t){return[e,new class extends Nr{constructor(e,t,r,...n){super(e,t,r,...n)}async internalExecute(e){let r=e?.getArguments()?.get(Nr.PARAMETER_STRING_NAME),n=e?.getArguments()?.get(Nr.PARAMETER_INDEX_NAME);return new d([I.outputOf(M.of(Nr.EVENT_RESULT_NAME,t(r,n)))])}}(n.STRING,e,Nr.EVENT_STRING,Nr.PARAMETER_STRING,Nr.PARAMETER_INDEX)]}static ofEntryAsStringIntegerOutput(e,t){return[e,new class extends Nr{constructor(e,t,r,...n){super(e,t,r,...n)}async internalExecute(e){let r=e?.getArguments()?.get(Nr.PARAMETER_STRING_NAME),n=e?.getArguments()?.get(Nr.PARAMETER_SEARCH_STRING_NAME);return new d([I.outputOf(M.of(Nr.EVENT_RESULT_NAME,t(r,n)))])}}(n.STRING,e,Nr.EVENT_INT,Nr.PARAMETER_STRING,Nr.PARAMETER_SEARCH_STRING)]}static ofEntryString(e,t){return[e,new class extends Nr{constructor(e,t,r,...n){super(e,t,r,...n)}async internalExecute(e){let r=e?.getArguments()?.get(Nr.PARAMETER_STRING_NAME);return new d([I.outputOf(M.of(Nr.EVENT_RESULT_NAME,t(r)))])}}(n.STRING,e,Nr.EVENT_STRING,Nr.PARAMETER_STRING)]}static ofEntryStringBooleanOutput(e,t){return[e,new class extends Nr{constructor(e,t,r,...n){super(e,t,r,...n)}async internalExecute(e){let r=e?.getArguments()?.get(Nr.PARAMETER_STRING_NAME);return new d([I.outputOf(M.of(Nr.EVENT_RESULT_NAME,t(r)))])}}(n.STRING,e,Nr.EVENT_BOOLEAN,Nr.PARAMETER_STRING)]}static ofEntryAsStringStringIntegerIntegerOutput(e,t){return[e,new class extends Nr{constructor(e,t,r,...n){super(e,t,r,...n)}async internalExecute(e){let r=e?.getArguments()?.get(Nr.PARAMETER_STRING_NAME),n=e?.getArguments()?.get(Nr.PARAMETER_SEARCH_STRING_NAME),s=e?.getArguments()?.get(Nr.PARAMETER_INDEX_NAME);return new d([I.outputOf(M.of(Nr.EVENT_RESULT_NAME,t(r,n,s)))])}}(n.STRING,e,Nr.EVENT_INT,Nr.PARAMETER_STRING,Nr.PARAMETER_SEARCH_STRING,Nr.PARAMETER_INDEX)]}static ofEntryAsStringIntegerIntegerStringOutput(e,t){return[e,new class extends Nr{constructor(e,t,r,...n){super(e,t,r,...n)}async internalExecute(e){let r=e?.getArguments()?.get(Nr.PARAMETER_STRING_NAME),n=e?.getArguments()?.get(Nr.PARAMETER_INDEX_NAME),s=e?.getArguments()?.get(Nr.PARAMETER_SECOND_INDEX_NAME);return new d([I.outputOf(M.of(Nr.EVENT_RESULT_NAME,t(r,n,s)))])}}(n.STRING,e,Nr.EVENT_INT,Nr.PARAMETER_STRING,Nr.PARAMETER_INDEX,Nr.PARAMETER_SECOND_INDEX)]}static ofEntryAsStringStringStringStringOutput(e,t){return[e,new class extends Nr{constructor(e,t,r,...n){super(e,t,r,...n)}async internalExecute(e){let r=e?.getArguments()?.get(Nr.PARAMETER_STRING_NAME),n=e?.getArguments()?.get(Nr.PARAMETER_SECOND_STRING_NAME),s=e?.getArguments()?.get(Nr.PARAMETER_THIRD_STRING_NAME);return new d([I.outputOf(M.of(Nr.EVENT_RESULT_NAME,t(r,n,s)))])}}(n.STRING,e,Nr.EVENT_STRING,Nr.PARAMETER_STRING,Nr.PARAMETER_SECOND_STRING,Nr.PARAMETER_THIRD_STRING)]}}class fr extends J{static VALUE="value";static SCHEMA=(new c).setName(fr.VALUE).setType(new A(i.STRING));static SIGNATURE=new y("Concatenate").setNamespace(n.STRING).setParameters(new Map([[fr.VALUE,new p(fr.VALUE,fr.SCHEMA).setVariableArgument(!0)]])).setEvents(new Map([w.outputEventMapEntry(new Map([[fr.VALUE,c.ofString(fr.VALUE)]]))]));constructor(){super()}getSignature(){return fr.SIGNATURE}async internalExecute(e){let t=e.getArguments()?.get(fr.VALUE),r="";return t.reduce(((e,t)=>r=e+t),r),new d([I.outputOf(new Map([[fr.VALUE,r]]))])}}class _r extends J{static PARAMETER_STRING_NAME="string";static PARAMETER_AT_START_NAME="startPosition";static PARAMETER_AT_END_NAME="endPosition";static EVENT_RESULT_NAME="result";PARAMETER_STRING=new p(_r.PARAMETER_STRING_NAME,c.ofString(_r.PARAMETER_STRING_NAME));PARAMETER_AT_START=new p(_r.PARAMETER_AT_START_NAME,c.ofInteger(_r.PARAMETER_AT_START_NAME));PARAMETER_AT_END=new p(_r.PARAMETER_AT_END_NAME,c.ofInteger(_r.PARAMETER_AT_END_NAME));EVENT_STRING=new w(w.OUTPUT,new Map([[_r.EVENT_RESULT_NAME,c.ofString(_r.EVENT_RESULT_NAME)]]));signature=new y("DeleteForGivenLength").setNamespace(n.STRING).setParameters(new Map([[this.PARAMETER_STRING.getParameterName(),this.PARAMETER_STRING],[this.PARAMETER_AT_START.getParameterName(),this.PARAMETER_AT_START],[this.PARAMETER_AT_END.getParameterName(),this.PARAMETER_AT_END]])).setEvents(new Map([[this.EVENT_STRING.getName(),this.EVENT_STRING]]));constructor(){super()}getSignature(){return this.signature}async internalExecute(e){let t=e?.getArguments()?.get(_r.PARAMETER_STRING_NAME),r=e?.getArguments()?.get(_r.PARAMETER_AT_START_NAME),n=e?.getArguments()?.get(_r.PARAMETER_AT_END_NAME);if(n>=r){let e="";return e+=t.substring(0,r),e+=t.substring(n),new d([I.outputOf(new Map([[_r.EVENT_RESULT_NAME,e.toString()]]))])}return new d([I.outputOf(new Map([[_r.EVENT_RESULT_NAME,t]]))])}}class Sr extends J{static PARAMETER_STRING_NAME="string";static PARAMETER_AT_POSITION_NAME="position";static PARAMETER_INSERT_STRING_NAME="insertString";EVENT_RESULT_NAME="result";PARAMETER_STRING=new p(Sr.PARAMETER_STRING_NAME,c.ofString(Sr.PARAMETER_STRING_NAME));PARAMETER_AT_POSITION=new p(Sr.PARAMETER_AT_POSITION_NAME,c.ofInteger(Sr.PARAMETER_AT_POSITION_NAME));PARAMETER_INSERT_STRING=new p(Sr.PARAMETER_INSERT_STRING_NAME,c.ofString(Sr.PARAMETER_INSERT_STRING_NAME));EVENT_STRING=new w(w.OUTPUT,new Map([[this.EVENT_RESULT_NAME,c.ofString(this.EVENT_RESULT_NAME)]]));signature=new y("InsertAtGivenPosition").setNamespace(n.STRING).setParameters(new Map([[this.PARAMETER_STRING.getParameterName(),this.PARAMETER_STRING],[this.PARAMETER_AT_POSITION.getParameterName(),this.PARAMETER_AT_POSITION],[this.PARAMETER_INSERT_STRING.getParameterName(),this.PARAMETER_INSERT_STRING]])).setEvents(new Map([w.outputEventMapEntry(new Map([[this.EVENT_RESULT_NAME,c.ofString(this.EVENT_RESULT_NAME)]]))]));getSignature(){return this.signature}async internalExecute(e){let t=e?.getArguments()?.get(Sr.PARAMETER_STRING_NAME),r=e?.getArguments()?.get(Sr.PARAMETER_AT_POSITION_NAME),n=e?.getArguments()?.get(Sr.PARAMETER_INSERT_STRING_NAME),s="";return s+=t.substring(0,r),s+=n,s+=t.substring(r),new d([I.outputOf(new Map([[this.EVENT_RESULT_NAME,s]]))])}}class Mr extends J{static PARAMETER_STRING_NAME="string";static PARAMETER_POSTPAD_STRING_NAME="postpadString";static PARAMETER_LENGTH_NAME="length";static EVENT_RESULT_NAME="result";static PARAMETER_STRING=new p(Mr.PARAMETER_STRING_NAME,c.ofString(Mr.PARAMETER_STRING_NAME));static PARAMETER_POSTPAD_STRING=new p(Mr.PARAMETER_POSTPAD_STRING_NAME,c.ofString(Mr.PARAMETER_POSTPAD_STRING_NAME));static PARAMETER_LENGTH=new p(Mr.PARAMETER_LENGTH_NAME,c.ofInteger(Mr.PARAMETER_LENGTH_NAME));static EVENT_STRING=new w(w.OUTPUT,new Map([[Mr.EVENT_RESULT_NAME,c.ofString(Mr.EVENT_RESULT_NAME)]]));signature=new y("PostPad").setNamespace(n.STRING).setParameters(new Map([[Mr.PARAMETER_STRING.getParameterName(),Mr.PARAMETER_STRING],[Mr.PARAMETER_POSTPAD_STRING.getParameterName(),Mr.PARAMETER_POSTPAD_STRING],[Mr.PARAMETER_LENGTH.getParameterName(),Mr.PARAMETER_LENGTH]])).setEvents(new Map([[Mr.EVENT_STRING.getName(),Mr.EVENT_STRING]]));constructor(){super()}getSignature(){return this.signature}async internalExecute(e){let t=e.getArguments()?.get(Mr.PARAMETER_STRING_NAME),r=e?.getArguments()?.get(Mr.PARAMETER_POSTPAD_STRING_NAME),n=e.getArguments()?.get(Mr.PARAMETER_LENGTH_NAME),s="",a=r.length;for(s+=t;a<=n;)s+=r,a+=r.length;return s.length-t.length<n&&(s+=r.substring(0,n-(s.length-t.length))),new d([I.of(Mr.EVENT_RESULT_NAME,new Map([[Mr.EVENT_RESULT_NAME,s.toString()]]))])}}class Or extends J{static PARAMETER_STRING_NAME="string";static PARAMETER_PREPAD_STRING_NAME="prepadString";static PARAMETER_LENGTH_NAME="length";static EVENT_RESULT_NAME="result";static PARAMETER_STRING=new p(Or.PARAMETER_STRING_NAME,c.ofString(Or.PARAMETER_STRING_NAME));static PARAMETER_PREPAD_STRING=new p(Or.PARAMETER_PREPAD_STRING_NAME,c.ofString(Or.PARAMETER_PREPAD_STRING_NAME));static PARAMETER_LENGTH=new p(Or.PARAMETER_LENGTH_NAME,c.ofInteger(Or.PARAMETER_LENGTH_NAME));static EVENT_STRING=new w(w.OUTPUT,new Map([[Or.EVENT_RESULT_NAME,c.ofString(Or.EVENT_RESULT_NAME)]]));signature=new y("PrePad").setNamespace(n.STRING).setParameters(new Map([[Or.PARAMETER_STRING.getParameterName(),Or.PARAMETER_STRING],[Or.PARAMETER_PREPAD_STRING.getParameterName(),Or.PARAMETER_PREPAD_STRING],[Or.PARAMETER_LENGTH.getParameterName(),Or.PARAMETER_LENGTH]])).setEvents(new Map([[Or.EVENT_STRING.getName(),Or.EVENT_STRING]]));getSignature(){return this.signature}constructor(){super()}async internalExecute(e){let t=e.getArguments()?.get(Or.PARAMETER_STRING_NAME),r=e.getArguments()?.get(Or.PARAMETER_PREPAD_STRING_NAME),n=e.getArguments()?.get(Or.PARAMETER_LENGTH_NAME),s="",a=r.length;for(;a<=n;)s+=r,a+=r.length;return s.length<n&&(s+=r.substring(0,n-s.length)),s+=t,new d([I.of(Or.EVENT_RESULT_NAME,new Map([[Or.EVENT_RESULT_NAME,s]]))])}}class wr extends J{static PARAMETER_STRING_NAME="string";static PARAMETER_BOOLEAN_NAME="boolean";static PARAMETER_FIRST_OFFSET_NAME="firstOffset";static PARAMETER_OTHER_STRING_NAME="otherString";static PARAMETER_SECOND_OFFSET_NAME="secondOffset";static PARAMETER_INTEGER_NAME="length";static EVENT_RESULT_NAME="result";static PARAMETER_STRING=new p(wr.PARAMETER_STRING_NAME,c.ofString(wr.PARAMETER_STRING_NAME));static PARAMETER_OTHER_STRING=new p(wr.PARAMETER_OTHER_STRING_NAME,c.ofString(wr.PARAMETER_OTHER_STRING_NAME));static PARAMETER_FIRST_OFFSET=new p(wr.PARAMETER_FIRST_OFFSET_NAME,c.ofInteger(wr.PARAMETER_FIRST_OFFSET_NAME));static PARAMETER_SECOND_OFFSET=new p(wr.PARAMETER_SECOND_OFFSET_NAME,c.ofInteger(wr.PARAMETER_SECOND_OFFSET_NAME));static PARAMETER_INTEGER=new p(wr.PARAMETER_INTEGER_NAME,c.ofInteger(wr.PARAMETER_INTEGER_NAME));static PARAMETER_BOOLEAN=new p(wr.PARAMETER_BOOLEAN_NAME,c.ofBoolean(wr.PARAMETER_BOOLEAN_NAME));static EVENT_BOOLEAN=new w(w.OUTPUT,new Map([[wr.EVENT_RESULT_NAME,c.ofBoolean(wr.EVENT_RESULT_NAME)]]));signature=new y("RegionMatches").setNamespace(n.STRING).setParameters(new Map([[wr.PARAMETER_STRING.getParameterName(),wr.PARAMETER_STRING],[wr.PARAMETER_BOOLEAN.getParameterName(),wr.PARAMETER_BOOLEAN],[wr.PARAMETER_FIRST_OFFSET.getParameterName(),wr.PARAMETER_FIRST_OFFSET],[wr.PARAMETER_OTHER_STRING.getParameterName(),wr.PARAMETER_OTHER_STRING],[wr.PARAMETER_SECOND_OFFSET.getParameterName(),wr.PARAMETER_SECOND_OFFSET],[wr.PARAMETER_INTEGER.getParameterName(),wr.PARAMETER_INTEGER]])).setEvents(new Map([[wr.EVENT_BOOLEAN.getName(),wr.EVENT_BOOLEAN]]));getSignature(){return this.signature}constructor(){super()}async internalExecute(e){let t=e.getArguments()?.get(wr.PARAMETER_STRING_NAME),r=e.getArguments()?.get(wr.PARAMETER_BOOLEAN_NAME),n=e.getArguments()?.get(wr.PARAMETER_FIRST_OFFSET_NAME),s=e?.getArguments()?.get(wr.PARAMETER_OTHER_STRING_NAME),a=e?.getArguments()?.get(wr.PARAMETER_SECOND_OFFSET_NAME),i=e.getArguments()?.get(wr.PARAMETER_INTEGER_NAME),o=!1;if(n<0||a<0||n+i>t.length||a+i>s.length)o=!1;else if(r){t=t.substring(n,n+i).toUpperCase(),o=t==s.substring(a,a+i).toUpperCase()}else{t=t.substring(n,n+i),o=t==s.substring(a,i)}return new d([I.outputOf(new Map([[wr.EVENT_RESULT_NAME,o]]))])}}class Ir extends J{static PARAMETER_STRING_NAME="string";static PARAMETER_AT_START_NAME="startPosition";static PARAMETER_AT_LENGTH_NAME="lengthPosition";static PARAMETER_REPLACE_STRING_NAME="replaceString";static EVENT_RESULT_NAME="result";static PARAMETER_STRING=new p(Ir.PARAMETER_STRING_NAME,c.ofString(Ir.PARAMETER_STRING_NAME));static PARAMETER_AT_START=new p(Ir.PARAMETER_AT_START_NAME,c.ofInteger(Ir.PARAMETER_AT_START_NAME));static PARAMETER_AT_LENGTH=new p(Ir.PARAMETER_AT_LENGTH_NAME,c.ofInteger(Ir.PARAMETER_AT_LENGTH_NAME));static PARAMETER_REPLACE_STRING=new p(Ir.PARAMETER_REPLACE_STRING_NAME,c.ofString(Ir.PARAMETER_REPLACE_STRING_NAME));static EVENT_STRING=new w(w.OUTPUT,new Map([[Ir.EVENT_RESULT_NAME,c.ofString(Ir.EVENT_RESULT_NAME)]]));constructor(){super()}signature=new y("ReplaceAtGivenPosition").setNamespace(n.STRING).setParameters(new Map([[Ir.PARAMETER_STRING.getParameterName(),Ir.PARAMETER_STRING],[Ir.PARAMETER_AT_START.getParameterName(),Ir.PARAMETER_AT_START],[Ir.PARAMETER_AT_LENGTH.getParameterName(),Ir.PARAMETER_AT_LENGTH],[Ir.PARAMETER_REPLACE_STRING.getParameterName(),Ir.PARAMETER_REPLACE_STRING]])).setEvents(new Map([[Ir.EVENT_STRING.getName(),Ir.EVENT_STRING]]));getSignature(){return this.signature}async internalExecute(e){let t=e?.getArguments()?.get(Ir.PARAMETER_STRING_NAME),r=e?.getArguments()?.get(Ir.PARAMETER_AT_START_NAME),n=e?.getArguments()?.get(Ir.PARAMETER_AT_LENGTH_NAME),s=e?.getArguments()?.get(Ir.PARAMETER_REPLACE_STRING_NAME);t.length;if(r<n){let e="";e+=t.substring(0,r),e+=s,e+=t.substring(r+n)}return new d([I.outputOf(new Map([[Ir.EVENT_RESULT_NAME,t]]))])}}class Pr extends J{VALUE="value";SIGNATURE=new y("Reverse").setNamespace(n.STRING).setParameters(new Map([[this.VALUE,new p(this.VALUE,c.ofString(this.VALUE)).setVariableArgument(!1)]])).setEvents(new Map([w.outputEventMapEntry(new Map([[this.VALUE,(new c).setType(l.of(i.STRING)).setName(this.VALUE)]]))]));constructor(){super()}getSignature(){return this.SIGNATURE}async internalExecute(e){let t=e.getArguments()?.get(this.VALUE),r=t.length-1,n="";for(;r>=0;)n+=t.charAt(r--);return new d([I.outputOf(M.of(this.VALUE,n))])}}class dr extends J{PARAMETER_STRING_NAME="string";PARAMETER_SPLIT_STRING_NAME="searchString";EVENT_RESULT_NAME="result";PARAMETER_STRING=new p(this.PARAMETER_STRING_NAME,c.ofString(this.PARAMETER_STRING_NAME));PARAMETER_SPLIT_STRING=new p(this.PARAMETER_SPLIT_STRING_NAME,c.ofString(this.PARAMETER_SPLIT_STRING_NAME));EVENT_ARRAY=new w(w.OUTPUT,M.of(this.EVENT_RESULT_NAME,c.ofArray(this.EVENT_RESULT_NAME)));getSignature(){return new y("Split").setNamespace(n.STRING).setParameters(new Map([[this.PARAMETER_STRING_NAME,this.PARAMETER_STRING],[this.PARAMETER_SPLIT_STRING_NAME,this.PARAMETER_SPLIT_STRING]])).setEvents(new Map([w.outputEventMapEntry(new Map([[this.EVENT_RESULT_NAME,c.ofArray(this.EVENT_RESULT_NAME)]]))]))}constructor(){super()}async internalExecute(e){let t=e.getArguments()?.get(this.PARAMETER_STRING_NAME),r=e.getArguments()?.get(this.PARAMETER_SPLIT_STRING_NAME);return new d([I.outputOf(M.of(this.EVENT_ARRAY.getName(),t.split(r)))])}}class yr extends J{PARAMETER_INPUT_ANYTYPE_NAME="anytype";EVENT_RESULT_NAME="result";PARAMETER_INPUT_ANYTYPE=new p(this.PARAMETER_INPUT_ANYTYPE_NAME,c.ofAny(this.PARAMETER_INPUT_ANYTYPE_NAME));EVENT_STRING=new w(w.OUTPUT,new Map([[this.EVENT_RESULT_NAME,c.ofString(this.EVENT_RESULT_NAME)]]));getSignature(){return new y("ToString").setNamespace(n.STRING).setParameters(new Map([[this.PARAMETER_INPUT_ANYTYPE.getParameterName(),this.PARAMETER_INPUT_ANYTYPE]])).setEvents(new Map([[this.EVENT_STRING.getName(),this.EVENT_STRING]]))}constructor(){super()}async internalExecute(e){let t=e.getArguments()?.get(this.PARAMETER_INPUT_ANYTYPE_NAME),r="";return r="object"==typeof t?JSON.stringify(t,void 0,2):""+t,new d([I.outputOf(new Map([[this.EVENT_RESULT_NAME,r]]))])}}class xr extends J{static PARAMETER_STRING_NAME="string";static PARAMETER_LENGTH_NAME="length";static EVENT_RESULT_NAME="result";static PARAMETER_STRING=new p(xr.PARAMETER_STRING_NAME,c.ofString(xr.PARAMETER_STRING_NAME));static PARAMETER_LENGTH=new p(xr.PARAMETER_LENGTH_NAME,c.ofInteger(xr.PARAMETER_LENGTH_NAME));static EVENT_STRING=new w(w.OUTPUT,new Map([[xr.EVENT_RESULT_NAME,c.ofString(xr.EVENT_RESULT_NAME)]]));signature=new y("TrimTo").setNamespace(n.STRING).setParameters(new Map([[xr.PARAMETER_STRING.getParameterName(),xr.PARAMETER_STRING],[xr.PARAMETER_LENGTH.getParameterName(),xr.PARAMETER_LENGTH]])).setEvents(new Map([[xr.EVENT_STRING.getName(),xr.EVENT_STRING]]));getSignature(){return this.signature}constructor(){super()}async internalExecute(e){let t=e.getArguments()?.get(xr.PARAMETER_STRING_NAME),r=e.getArguments()?.get(xr.PARAMETER_LENGTH_NAME);return new d([I.of(xr.EVENT_RESULT_NAME,new Map([[xr.EVENT_RESULT_NAME,t.substring(0,r)]]))])}}class Lr{static repoMap=M.ofArrayEntries(Nr.ofEntryString("Trim",(e=>e.trim())),Nr.ofEntryString("LowerCase",(e=>e.toLocaleLowerCase())),Nr.ofEntryString("UpperCase",(e=>e.toUpperCase())),Nr.ofEntryStringBooleanOutput("IsBlank",(e=>""===e.trim())),Nr.ofEntryStringBooleanOutput("IsEmpty",(e=>""===e)),Nr.ofEntryAsStringBooleanOutput("Contains",((e,t)=>-1!=e.indexOf(t))),Nr.ofEntryAsStringBooleanOutput("EndsWith",((e,t)=>e.endsWith(t))),Nr.ofEntryAsStringBooleanOutput("EqualsIgnoreCase",((e,t)=>e.toUpperCase()==t.toUpperCase())),Nr.ofEntryAsStringBooleanOutput("Matches",((e,t)=>new RegExp(t).test(e))),Nr.ofEntryAsStringIntegerOutput("IndexOf",((e,t)=>e.indexOf(t))),Nr.ofEntryAsStringIntegerOutput("LastIndexOf",((e,t)=>e.lastIndexOf(t))),Nr.ofEntryAsStringAndIntegerStringOutput("Repeat",((e,t)=>e.repeat(t))),Nr.ofEntryAsStringStringIntegerIntegerOutput("IndexOfWithStartPoint",((e,t,r)=>e.indexOf(t,r))),Nr.ofEntryAsStringStringIntegerIntegerOutput("LastIndexOfWithStartPoint",((e,t,r)=>e.lastIndexOf(t,r))),Nr.ofEntryAsStringStringStringStringOutput("Replace",((e,t,r)=>e)),Nr.ofEntryAsStringStringStringStringOutput("ReplaceFirst",((e,t,r)=>e.replace(t,r))),Nr.ofEntryAsStringIntegerIntegerStringOutput("SubString",((e,t,r)=>e.substring(t,r))),_(new fr),_(new _r),_(new Sr),_(new Mr),_(new Or),_(new wr),_(new Ir),_(new Pr),_(new dr),_(new yr),_(new xr));static filterableNames=Array.from(Lr.repoMap.values()).map((e=>e.getSignature().getFullName()));find(e,t){if(e==n.STRING)return Lr.repoMap.get(t)}filter(e){return Lr.filterableNames.filter((t=>-1!==t.toLowerCase().indexOf(e.toLowerCase())))}}e({},"HybridRepository",(()=>vr));class vr{constructor(...e){this.repos=e}find(e,t){for(let r of this.repos){let n=r.find(e,t);if(n)return n}}filter(e){let t=new Set;for(let r of this.repos)r.filter(e).forEach((e=>t.add(e)));return Array.from(t)}}const Ur=new Map([[n.SYSTEM_CTX,new Map([_(new class extends J{getSignature(){return de}async internalExecute(e){const t=e?.getArguments()?.get("name");if(e?.getContext()?.has(t))throw new P(x.format("Context already has an element for '$' ",t));let r=c.from(e?.getArguments()?.get("schema"));if(!r)throw new P("Schema is not supplied.");return e.getContext().set(t,new Pe(r,s(r.getDefaultValue())?void 0:r.getDefaultValue())),new d([I.outputOf(new Map)])}}),_(new class extends J{getSignature(){return ye}async internalExecute(e){const t=e?.getArguments()?.get("name");if(!e.getContext()?.has(t))throw new P(x.format("Context don't have an element for '$' ",t));return new d([I.outputOf(new Map(["value",e.getContext()?.get(t)?.getElement()]))])}}),_(new class extends J{getSignature(){return zt}async internalExecute(e){let t=e?.getArguments()?.get("name");if(L.isNullOrBlank(t))throw new P("Empty string is not a valid name for the context element");let r=e?.getArguments()?.get("value");const n=new De(t),s=n.getTokens().peekLast();if(!s.getExpression().startsWith("Context")||s instanceof De||s instanceof Ge&&!s.getElement().toString().startsWith("Context"))throw new ee(x.format("The context path $ is not a valid path in context",t));for(const e of n.getOperations().toArray())if(e!=be.ARRAY_OPERATOR&&e!=be.OBJECT_OPERATOR)throw new ee(x.format("Expected a reference to the context location, but found an expression $",t));for(let r=0;r<n.getTokens().size();r++){let s=n.getTokens().get(r);s instanceof De&&n.getTokens().set(r,new Ge(t,new Jt(s).evaluate(e.getValuesMap())))}return this.modifyContext(e,t,r,n)}modifyContext(e,t,r,n){const a=n.getTokens();a.removeLast();const i=n.getOperations();i.removeLast();let o=e.getContext()?.get(a.removeLast().getExpression());if(s(o))throw new P(x.format("Context doesn't have any element with name '$' ",t));if(i.isEmpty())return o.setElement(r),new d([I.outputOf(new Map)]);let E=o.getElement(),u=i.removeLast(),A=a.removeLast(),l=A instanceof Ge?A.getElement():A.getExpression();for(s(E)&&(E=u==be.OBJECT_OPERATOR?{}:[],o.setElement(E));!i.isEmpty();)E=u==be.OBJECT_OPERATOR?this.getDataFromObject(E,l,i.peekLast()):this.getDataFromArray(E,l,i.peekLast()),u=i.removeLast(),A=a.removeLast(),l=A instanceof Ge?A.getElement():A.getExpression();return u==be.OBJECT_OPERATOR?this.putDataInObject(E,l,r):this.putDataInArray(E,l,r),new d([I.outputOf(new Map)])}getDataFromArray(e,t,r){if(!Array.isArray(e))throw new P(x.format("Expected an array but found $",e));const n=parseInt(t);if(isNaN(n))throw new P(x.format("Expected an array index but found $",t));if(n<0)throw new P(x.format("Array index is out of bound - $",t));let a=e[n];return s(a)&&(a=r==be.OBJECT_OPERATOR?{}:[],e[n]=a),a}getDataFromObject(e,t,r){if(Array.isArray(e)||"object"!=typeof e)throw new P(x.format("Expected an object but found $",e));let n=e[t];return s(n)&&(n=r==be.OBJECT_OPERATOR?{}:[],e[t]=n),n}putDataInArray(e,t,r){if(!Array.isArray(e))throw new P(x.format("Expected an array but found $",e));const n=parseInt(t);if(isNaN(n))throw new P(x.format("Expected an array index but found $",t));if(n<0)throw new P(x.format("Array index is out of bound - $",t));e[n]=r}putDataInObject(e,t,r){if(Array.isArray(e)||"object"!=typeof e)throw new P(x.format("Expected an object but found $",e));e[t]=r}})])],[n.SYSTEM_LOOP,new Map([_(new class extends J{getSignature(){return er}async internalExecute(e){let t=e.getArguments()?.get("from"),r=e.getArguments()?.get("to"),n=e.getArguments()?.get("step");const s=n>0;let a=t,i=!1;return new d({next(){if(i)return;if(s&&a>=r||!s&&a<=r)return i=!0,I.outputOf(new Map([["value",a]]));const e=I.of(w.ITERATION,new Map([["index",a]]));return a+=n,e}})}}),_(new class extends J{getSignature(){return Zt}async internalExecute(e){let t=e.getArguments()?.get("count"),r=0;return new d({next(){if(r>=t)return I.outputOf(new Map([["value",t]]));const e=I.of(w.ITERATION,new Map([["index",r]]));return++r,e}})}})])],[n.SYSTEM,new Map([_(new Qt),_(new class extends J{getSignature(){return Kt}async internalExecute(e){const t=e.getEvents(),r=e.getArguments()?.get("eventName"),n=e?.getArguments()?.get("results").map((t=>{let r=t.value;if(s(r))throw new P("Expect a value object");let n=r.value;return r.isExpression&&(n=new Jt(n).evaluate(e.getValuesMap())),[t.name,n]})).reduce(((e,t)=>(e.set(t[0],t[1]),e)),new Map);return t?.has(r)||t?.set(r,[]),t?.get(r)?.push(n),new d([I.outputOf(new Map)])}}),_(new hr)])]]),Vr=Array.from(Ur.values()).flatMap((e=>Array.from(e.values()))).map((e=>e.getSignature().getFullName()));class Cr extends vr{constructor(){super({find:(e,t)=>Ur.get(e)?.get(t),filter:e=>Array.from(Vr).filter((t=>-1!==t.toLowerCase().indexOf(e.toLowerCase())))},new gr,new Lr,new Ie,new pr)}}e({},"StatementExecution",(()=>br));e({},"StatementMessage",(()=>Gr));class Gr{constructor(e,t){this.message=t,this.messageType=e}getMessageType(){return this.messageType}setMessageType(e){return this.messageType=e,this}getMessage(){return this.message}setMessage(e){return this.message=e,this}toString(){return`${this.messageType} : ${this.message}`}}class br{messages=new Array;dependencies=new Set;constructor(e){this.statement=e}getStatement(){return this.statement}setStatement(e){return this.statement=e,this}getMessages(){return this.messages}setMessages(e){return this.messages=e,this}getDependencies(){return this.dependencies}setDependencies(e){return this.dependencies=e,this}getUniqueKey(){return this.statement.getStatementName()}addMessage(e,t){this.messages.push(new Gr(e,t))}addDependency(e){this.dependencies.add(e)}getDepenedencies(){return this.dependencies}equals(e){if(!(e instanceof br))return!1;return e.statement.equals(this.statement)}}e({},"ContextTokenValueExtractor",(()=>Dr));class Dr extends kt{static PREFIX="Context.";constructor(e){super(),this.context=e}getValueInternal(e){let t=e.split(kt.REGEX_DOT),r=t[1],n=r.indexOf("["),s=2;return-1!=n&&(r=t[1].substring(0,n),t[1]=t[1].substring(n),s=1),this.retrieveElementFrom(e,t,s,this.context.get(r)?.getElement())}getPrefix(){return Dr.PREFIX}}e({},"OutputMapTokenValueExtractor",(()=>Fr));class Fr extends kt{static PREFIX="Steps.";constructor(e){super(),this.output=e}getValueInternal(e){let t=e.split(kt.REGEX_DOT),r=1,n=this.output.get(t[r++]);if(!n||r>=t.length)return;let s=n.get(t[r++]);if(!s||r>=t.length)return;let a=s.get(t[r++]);return this.retrieveElementFrom(e,t,r,a)}getPrefix(){return Fr.PREFIX}}e({},"ArgumentsTokenValueExtractor",(()=>Br));class Br extends kt{static PREFIX="Arguments.";constructor(e){super(),this.args=e}getValueInternal(e){let t=e.split(kt.REGEX_DOT),r=t[1],n=r.indexOf("["),s=2;return-1!=n&&(r=t[1].substring(0,n),t[1]=t[1].substring(n),s=1),this.retrieveElementFrom(e,t,s,this.args.get(r))}getPrefix(){return Br.PREFIX}}e({},"GraphVertex",(()=>Hr));e({},"ExecutionGraph",(()=>Yr));class Yr{nodeMap=new Map;constructor(e=!1){this.isSubGrph=e}getVerticesData(){return Array.from(this.nodeMap.values()).map((e=>e.getData()))}addVertex(e){if(!this.nodeMap.has(e.getUniqueKey())){let t=new Hr(this,e);this.nodeMap.set(e.getUniqueKey(),t)}return this.nodeMap.get(e.getUniqueKey())}getVertex(e){return this.nodeMap.get(e)}getVertexData(e){if(this.nodeMap.has(e))return this.nodeMap.get(e).getData()}getVerticesWithNoIncomingEdges(){return Array.from(this.nodeMap.values()).filter((e=>!e.hasIncomingEdges()))}isCyclic(){let e,t=new Le(this.getVerticesWithNoIncomingEdges()),r=new Set;for(;!t.isEmpty();){if(r.has(t.getFirst().getKey()))return!0;e=t.removeFirst(),r.add(e.getKey()),e.hasOutgoingEdges()&&t.addAll(Array.from(e.getOutVertices().values()).flatMap((e=>Array.from(e))))}return!1}addVertices(e){for(const t of e)this.addVertex(t)}getNodeMap(){return this.nodeMap}isSubGraph(){return this.isSubGrph}toString(){return"Execution Graph : \n"+Array.from(this.nodeMap.values()).map((e=>e.toString())).join("\n")}}class Hr{outVertices=new Map;inVertices=new Set;constructor(e,t){this.data=t,this.graph=e}getData(){return this.data}setData(e){return this.data=e,this}getOutVertices(){return this.outVertices}setOutVertices(e){return this.outVertices=e,this}getInVertices(){return this.inVertices}setInVertices(e){return this.inVertices=e,this}getGraph(){return this.graph}setGraph(e){return this.graph=e,this}getKey(){return this.data.getUniqueKey()}addOutEdgeTo(e,t){return this.outVertices.has(e)||this.outVertices.set(e,new Set),this.outVertices.get(e).add(t),t.inVertices.add(new U(this,e)),t}addInEdgeTo(e,t){return this.inVertices.add(new U(e,t)),e.outVertices.has(t)||e.outVertices.set(t,new Set),e.outVertices.get(t).add(this),e}hasIncomingEdges(){return!!this.inVertices.size}hasOutgoingEdges(){return!!this.outVertices.size}getSubGraphOfType(e){let t=new Yr(!0);var r=new Le(Array.from(this.outVertices.get(e)??[]));for(r.map((e=>e.getData())).forEach((e=>t.addVertex(e)));!r.isEmpty();){var n=r.pop();Array.from(n.outVertices.values()).flatMap((e=>Array.from(e))).forEach((e=>{t.addVertex(e.getData()),r.add(e)}))}return t}toString(){var e=Array.from(this.getInVertices()).map((e=>e.getT1().getKey()+"("+e.getT2()+")")).join(", "),t=Array.from(this.outVertices.entries()).map((([e,t])=>e+": "+Array.from(t).map((e=>e.getKey())).join(","))).join("\n\t\t");return this.getKey()+":\n\tIn: "+e+"\n\tOut: \n\t\t"+t}}e({},"KIRuntime",(()=>zr));e({},"JsonExpression",(()=>kr));class kr{constructor(e){this.expression=e}getExpression(){return this.expression}}let $r;var jr;e({},"ParameterReferenceType",(()=>$r)),(jr=$r||($r={})).VALUE="VALUE",jr.EXPRESSION="EXPRESSION";function Xr(){var e=(new Date).getTime();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(t){var r=(e+16*Math.random())%16|0;return e=Math.floor(e/16),("x"==t?r:3&r|8).toString(16)}))}e({},"FunctionExecutionParameters",(()=>Wr));class Wr{count=0;valueExtractors=new Map;constructor(e,t,r){this.functionRepository=e,this.schemaRepository=t,this.executionId=r??Xr()}getExecutionId(){return this.executionId}getContext(){return this.context}setContext(e){this.context=e;let t=new Dr(e);return this.valueExtractors.set(t.getPrefix(),t),this}getArguments(){return this.args}setArguments(e){return this.args=e,this}getEvents(){return this.events}setEvents(e){return this.events=e,this}getStatementExecution(){return this.statementExecution}setStatementExecution(e){return this.statementExecution=e,this}getSteps(){return this.steps}setSteps(e){this.steps=e;let t=new Fr(e);return this.valueExtractors.set(t.getPrefix(),t),this}getCount(){return this.count}setCount(e){return this.count=e,this}getValuesMap(){return this.valueExtractors}getFunctionRepository(){return this.functionRepository}setFunctionRepository(e){return this.functionRepository=e,this}getSchemaRepository(){return this.schemaRepository}setSchemaRepository(e){return this.schemaRepository=e,this}addTokenValueExtractor(...e){for(const t of e)this.valueExtractors.set(t.getPrefix(),t);return this}setValuesMap(e){for(const[t,r]of e.entries())this.valueExtractors.set(t,r);return this}}let qr;var Jr;e({},"StatementMessageType",(()=>qr)),(Jr=qr||(qr={})).ERROR="ERROR",Jr.WARNING="WARNING",Jr.MESSAGE="MESSAGE";class zr extends J{static PARAMETER_NEEDS_A_VALUE='Parameter "$" needs a value';static STEP_REGEX_PATTERN=new RegExp("Steps\\.([a-zA-Z0-9\\\\-]{1,})\\.([a-zA-Z0-9\\\\-]{1,})","g");static VERSION=1;static MAX_EXECUTION_ITERATIONS=1e7;debugMode=!1;constructor(e,t=!1){if(super(),this.debugMode=t,this.fd=e,this.fd.getVersion()>zr.VERSION)throw new P("Runtime is at a lower version "+zr.VERSION+" and trying to run code from version "+this.fd.getVersion()+".")}getSignature(){return this.fd}async getExecutionPlan(e,t){let r=new Yr;for(let n of Array.from(this.fd.getSteps().values()))r.addVertex(this.prepareStatementExecution(n,e,t));let n=this.makeEdges(r);return Array.from(n.getT2().entries()).forEach((e=>{let t=r.getNodeMap().get(e[0])?.getData();t&&t.addMessage(qr.ERROR,e[1])})),r}async internalExecute(e){e.getContext()||e.setContext(new Map),e.getEvents()||e.setEvents(new Map),e.getSteps()||e.setSteps(new Map),e.getArguments()&&e.addTokenValueExtractor(new Br(e.getArguments())),this.debugMode&&(console.log(`EID: ${e.getExecutionId()} Executing: ${this.fd.getNamespace()}.${this.fd.getName()}`),console.log(`EID: ${e.getExecutionId()} Parameters: `,e));let t=await this.getExecutionPlan(e.getFunctionRepository(),e.getSchemaRepository());this.debugMode&&console.log(`EID: ${e.getExecutionId()} ${t?.toString()}`);let r=t.getVerticesData().filter((e=>e.getMessages().length)).map((e=>e.getStatement().getStatementName()+": \n"+e.getMessages().join(",")));if(r?.length)throw new P("Please fix the errors in the function definition before execution : \n"+r.join(",\n"));return await this.executeGraph(t,e)}async executeGraph(e,t){let r=new Le;r.addAll(e.getVerticesWithNoIncomingEdges());let n=new Le;for(;!(r.isEmpty()&&n.isEmpty()||t.getEvents()?.has(w.OUTPUT));)if(await this.processBranchQue(t,r,n),await this.processExecutionQue(t,r,n),t.setCount(t.getCount()+1),t.getCount()==zr.MAX_EXECUTION_ITERATIONS)throw new P("Execution locked in an infinite loop");if(!e.isSubGraph()&&!t.getEvents()?.size){const e=this.getSignature().getEvents();if(e.size&&e.get(w.OUTPUT)?.getParameters()?.size)throw new P("No events raised")}const s=Array.from(t.getEvents()?.entries()??[]).flatMap((e=>e[1].map((t=>I.of(e[0],t)))));return s.length||e.isSubGraph()?new d(s):new d([I.of(w.OUTPUT,new Map)])}async processExecutionQue(e,t,r){if(!t.isEmpty()){let n=t.pop();await this.allDependenciesResolvedVertex(n,e.getSteps())?await this.executeVertex(n,e,r,t,e.getFunctionRepository()):t.add(n)}}async processBranchQue(e,t,r){if(r.length){let n=r.pop();await this.allDependenciesResolvedTuples(n.getT2(),e.getSteps())?await this.executeBranch(e,t,n):r.add(n)}}async executeBranch(e,t,r){let n,s=r.getT4();do{if(await this.executeGraph(r.getT1(),e),n=r.getT3().next(),n&&(e.getSteps()?.has(s.getData().getStatement().getStatementName())||e.getSteps()?.set(s.getData().getStatement().getStatementName(),new Map),e.getSteps()?.get(s.getData().getStatement().getStatementName())?.set(n.getName(),this.resolveInternalExpressions(n.getResult(),e)),this.debugMode)){const t=s.getData().getStatement();console.log(`EID: ${e.getExecutionId()} Step : ${t.getStatementName()} => ${t.getNamespace()}.${t.getName()}`),console.log(`EID: ${e.getExecutionId()} Event : ${n.getName()} : `,e.getSteps().get(t.getStatementName()).get(n.getName()))}}while(n&&n.getName()!=w.OUTPUT);n?.getName()==w.OUTPUT&&s.getOutVertices().has(w.OUTPUT)&&(s?.getOutVertices()?.get(w.OUTPUT)??[]).forEach((async r=>{await this.allDependenciesResolvedVertex(r,e.getSteps())&&t.add(r)}))}async executeVertex(e,t,r,n,s){let a=e.getData().getStatement(),i=s.find(a.getNamespace(),a.getName());if(!i)throw new P(x.format("$.$ function is not found.",a.getNamespace(),a.getName()));let o=i?.getSignature().getParameters(),E=this.getArgumentsFromParametersMap(t,a,o??new Map);this.debugMode&&(console.log(`EID: ${t.getExecutionId()} Step : ${a.getStatementName()} => ${a.getNamespace()}.${a.getName()}`),console.log(`EID: ${t.getExecutionId()} Arguments : `,E));let u,A=t.getContext();u=i instanceof zr?new Wr(t.getFunctionRepository(),t.getSchemaRepository(),`${t.getExecutionId()}_${a.getStatementName()}`).setArguments(E).setValuesMap(new Map(Array.from(t.getValuesMap().values()).filter((e=>e.getPrefix()!==Br.PREFIX&&e.getPrefix()!==Fr.PREFIX&&e.getPrefix()!==Dr.PREFIX)).map((e=>[e.getPrefix(),e])))):new Wr(t.getFunctionRepository(),t.getSchemaRepository(),t.getExecutionId()).setValuesMap(t.getValuesMap()).setContext(A).setArguments(E).setEvents(t.getEvents()).setSteps(t.getSteps()).setStatementExecution(e.getData()).setCount(t.getCount());let l=await i.execute(u),g=l.next();if(!g)throw new P(x.format("Executing $ returned no events",a.getStatementName()));let c=g.getName()==w.OUTPUT;if(t.getSteps()?.has(a.getStatementName())||t.getSteps().set(a.getStatementName(),new Map),t.getSteps().get(a.getStatementName()).set(g.getName(),this.resolveInternalExpressions(g.getResult(),t)),this.debugMode&&(console.log(`EID: ${t.getExecutionId()} Step : ${a.getStatementName()} => ${a.getNamespace()}.${a.getName()}`),console.log(`EID: ${t.getExecutionId()} Event : ${g.getName()} : `,t.getSteps().get(a.getStatementName()).get(g.getName()))),c){let r=e.getOutVertices().get(w.OUTPUT);r&&r.forEach((async e=>{await this.allDependenciesResolvedVertex(e,t.getSteps())&&n.add(e)}))}else{let t=e.getSubGraphOfType(g.getName()),n=this.makeEdges(t).getT1();r.push(new C(t,n,l,e))}}resolveInternalExpressions(e,t){return e?Array.from(e.entries()).map((e=>new U(e[0],this.resolveInternalExpression(e[1],t)))).reduce(((e,t)=>(e.set(t.getT1(),t.getT2()),e)),new Map):e}resolveInternalExpression(e,t){if(s(e)||"object"!=typeof e)return e;if(e instanceof kr){return new Jt(e.getExpression()).evaluate(t.getValuesMap())}if(Array.isArray(e)){let r=[];for(let n of e)r.push(this.resolveInternalExpression(n,t));return r}if("object"==typeof e){let r={};for(let n of Object.entries(e))r[n[0]]=this.resolveInternalExpression(n[1],t);return r}}allDependenciesResolvedTuples(e,t){for(let r of e){if(!t.has(r.getT1()))return!1;if(!t.get(r.getT1())?.get(r.getT2()))return!1}return!0}allDependenciesResolvedVertex(e,t){return!e.getInVertices().size||0==Array.from(e.getInVertices()).filter((e=>{let r=e.getT1().getData().getStatement().getStatementName(),n=e.getT2();return!(t.has(r)&&t.get(r)?.has(n))})).length}getArgumentsFromParametersMap(e,t,r){return Array.from(t.getParameterMap().entries()).map((t=>{let n,a=Array.from(t[1]?.values()??[]);if(!a?.length)return new U(t[0],n);let i=r.get(t[0]);return i?(n=i.isVariableArgument()?a.sort(((e,t)=>(e.getOrder()??0)-(t.getOrder()??0))).filter((e=>!s(e))).map((t=>this.parameterReferenceEvaluation(e,t))).flatMap((e=>Array.isArray(e)?e:[e])):this.parameterReferenceEvaluation(e,a[0]),new U(t[0],n)):new U(t[0],void 0)})).filter((e=>!s(e.getT2()))).reduce(((e,t)=>(e.set(t.getT1(),t.getT2()),e)),new Map)}parameterReferenceEvaluation(e,t){let r;if(t.getType()==$r.VALUE)r=this.resolveInternalExpression(t.getValue(),e);else if(t.getType()==$r.EXPRESSION&&!L.isNullOrBlank(t.getExpression())){r=new Jt(t.getExpression()??"").evaluate(e.getValuesMap())}return r}prepareStatementExecution(e,t,r){let n=new br(e),a=t.find(e.getNamespace(),e.getName());if(!a)return n.addMessage(qr.ERROR,x.format("$.$ is not available",e.getNamespace(),e.getName())),n;let i=new Map(a.getSignature().getParameters());if(!e.getParameterMap())return n;for(let t of Array.from(e.getParameterMap().entries())){let e=i.get(t[0]);if(!e)continue;let s=Array.from(t[1]?.values()??[]);if(s.length||e.isVariableArgument()){if(e.isVariableArgument()){s.sort(((e,t)=>(e.getOrder()??0)-(t.getOrder()??0)));for(let t of s)this.parameterReferenceValidation(n,e,t,r)}else if(s.length){let t=s[0];this.parameterReferenceValidation(n,e,t,r)}i.delete(e.getParameterName())}else b.hasDefaultValueOrNullSchemaType(e.getSchema(),r)||n.addMessage(qr.ERROR,x.format(zr.PARAMETER_NEEDS_A_VALUE,e.getParameterName())),i.delete(e.getParameterName())}if(!s(n.getStatement().getDependentStatements()))for(let e of n.getStatement().getDependentStatements().entries())e[1]&&n.addDependency(e[0]);if(i.size)for(let e of Array.from(i.values()))e.isVariableArgument()||b.hasDefaultValueOrNullSchemaType(e.getSchema(),r)||n.addMessage(qr.ERROR,x.format(zr.PARAMETER_NEEDS_A_VALUE,e.getParameterName()));return n}parameterReferenceValidation(e,t,r,n){if(r){if(r.getType()==$r.VALUE){if(s(r.getValue())&&!b.hasDefaultValueOrNullSchemaType(t.getSchema(),n)&&e.addMessage(qr.ERROR,x.format(zr.PARAMETER_NEEDS_A_VALUE,t.getParameterName())),s(r.getValue()))return;let a=new Le;for(a.push(new U(t.getSchema(),r.getValue()));!a.isEmpty();){let t=a.pop();if(t.getT2()instanceof kr)this.addDependencies(e,t.getT2().getExpression());else{if(s(t.getT1())||s(t.getT1().getType()))continue;if(t.getT1().getType()?.contains(i.ARRAY)&&Array.isArray(t.getT2())){let e=t.getT1().getItems();if(!e)continue;if(e.isSingleType())for(let r of t.getT2())a.push(new U(e.getSingleSchema(),r));else{let r=t.getT2();for(let t=0;t<r.length;t++)a.push(new U(e.getTupleSchema()[t],r[t]))}}else if(t.getT1().getType()?.contains(i.OBJECT)&&"object"==typeof t.getT2()){let r=t.getT1();if(r.getName()===p.EXPRESSION.getName()&&r.getNamespace()===p.EXPRESSION.getNamespace()){let r=t.getT2();r.isExpression&&this.addDependencies(e,r.value)}else if(r.getProperties())for(let e of Object.entries(t.getT2()))r.getProperties().has(e[0])&&a.push(new U(r.getProperties().get(e[0]),e[1]))}}}}else if(r.getType()==$r.EXPRESSION)if(L.isNullOrBlank(r.getExpression()))s(b.getDefaultValue(t.getSchema(),n))&&e.addMessage(qr.ERROR,x.format(zr.PARAMETER_NEEDS_A_VALUE,t.getParameterName()));else try{this.addDependencies(e,r.getExpression())}catch(t){e.addMessage(qr.ERROR,x.format("Error evaluating $ : $",r.getExpression(),t))}}else s(b.getDefaultValue(t.getSchema(),n))&&e.addMessage(qr.ERROR,x.format(zr.PARAMETER_NEEDS_A_VALUE,t.getParameterName()))}addDependencies(e,t){t&&Array.from(t.match(zr.STEP_REGEX_PATTERN)??[]).forEach((t=>e.addDependency(t)))}makeEdges(e){let t=e.getNodeMap().values(),r=[],n=new Map;for(let s of Array.from(t))for(let t of s.getData().getDependencies()){let a=t.indexOf(".",6),i=t.substring(6,a),o=t.indexOf(".",a+1),E=-1==o?t.substring(a+1):t.substring(a+1,o);e.getNodeMap().has(i)?s.addInEdgeTo(e.getNodeMap().get(i),E):(r.push(new U(i,E)),n.set(s.getData().getStatement().getStatementName(),x.format("Unable to find the step with name $",i)))}return new U(r,n)}}e({},"KIRunConstants",(()=>Kr));class Kr{static NAMESPACE="namespace";static NAME="name";static ID="id";constructor(){}}e({},"Position",(()=>Qr));class Qr{static SCHEMA_NAME="Position";static SCHEMA=(new c).setNamespace(n.SYSTEM).setName(Qr.SCHEMA_NAME).setType(l.of(i.OBJECT)).setProperties(new Map([["left",c.ofFloat("left")],["top",c.ofFloat("top")]]));constructor(e,t){this.left=e,this.top=t}getLeft(){return this.left}setLeft(e){return this.left=e,this}getTop(){return this.top}setTop(e){return this.top=e,this}static from(e){if(e)return new Qr(e.left,e.top)}}e({},"FunctionDefinition",(()=>sn));e({},"Statement",(()=>tn));e({},"AbstractStatement",(()=>Zr));class Zr{override=!1;constructor(e){e&&(this.comment=e.comment,this.description=e.description,this.position=e.position?new Qr(e.position.getLeft(),e.position.getTop()):void 0,this.override=e.override)}getComment(){return this.comment}setComment(e){return this.comment=e,this}isOverride(){return this.override}setOverride(e){return this.override=e,this}getDescription(){return this.description}setDescription(e){return this.description=e,this}getPosition(){return this.position}setPosition(e){return this.position=e,this}}e({},"ParameterReference",(()=>en));class en{static SCHEMA_NAME="ParameterReference";static SCHEMA=(new c).setNamespace(n.SYSTEM).setName(en.SCHEMA_NAME).setType(l.of(i.OBJECT)).setProperties(new Map([["key",c.ofString("key")],["value",c.ofAny("value")],["expression",c.ofString("expression")],["type",c.ofString("type").setEnums(["EXPRESSION","VALUE"])],["order",c.ofInteger("order")]]));constructor(e){if(e instanceof en){let t=e;this.key=t.key,this.type=t.type,this.value=s(t.value)?void 0:JSON.parse(JSON.stringify(t.value)),this.expression=t.expression,this.order=t.order}else this.type=e,this.key=Xr()}getType(){return this.type}setType(e){return this.type=e,this}getKey(){return this.key}setKey(e){return this.key=e,this}getValue(){return this.value}setValue(e){return this.value=e,this}getExpression(){return this.expression}setExpression(e){return this.expression=e,this}setOrder(e){return this.order=e,this}getOrder(){return this.order}static ofExpression(e){const t=new en($r.EXPRESSION).setExpression(e);return[t.getKey(),t]}static ofValue(e){const t=new en($r.VALUE).setValue(e);return[t.getKey(),t]}static from(e){return new en(e.type).setValue(e.value).setExpression(e.expression).setKey(e.key).setOrder(e.order)}}class tn extends Zr{static SCHEMA_NAME="Statement";static SCHEMA=(new c).setNamespace(n.SYSTEM).setName(tn.SCHEMA_NAME).setType(l.of(i.OBJECT)).setProperties(new Map([["statementName",c.ofString("statementName")],["comment",c.ofString("comment")],["description",c.ofString("description")],["namespace",c.ofString("namespace")],["name",c.ofString("name")],["dependentStatements",c.ofObject("dependentstatement").setAdditionalProperties((new g).setSchemaValue(c.ofBoolean("exists")))],["parameterMap",(new c).setName("parameterMap").setAdditionalProperties((new g).setSchemaValue(c.ofObject("parameterReference").setAdditionalProperties((new g).setSchemaValue(en.SCHEMA))))],["position",Qr.SCHEMA]]));constructor(e,t,r){if(super(e instanceof tn?e:void 0),e instanceof tn){let t=e;this.statementName=t.statementName,this.name=t.name,this.namespace=t.namespace,t.parameterMap&&(this.parameterMap=new Map(Array.from(t.parameterMap.entries()).map((e=>[e[0],new Map(Array.from(e[1].entries()).map((e=>[e[0],new en(e[1])])))])))),t.dependentStatements&&(this.dependentStatements=new Map(Array.from(t.dependentStatements.entries())))}else{if(this.statementName=e,!r||!t)throw new Error("Unknown constructor");this.namespace=t,this.name=r}}getStatementName(){return this.statementName}setStatementName(e){return this.statementName=e,this}getNamespace(){return this.namespace}setNamespace(e){return this.namespace=e,this}getName(){return this.name}setName(e){return this.name=e,this}getParameterMap(){return this.parameterMap||(this.parameterMap=new Map),this.parameterMap}setParameterMap(e){return this.parameterMap=e,this}getDependentStatements(){return this.dependentStatements??new Map}setDependentStatements(e){return this.dependentStatements=e,this}equals(e){if(!(e instanceof tn))return!1;return e.statementName==this.statementName}static ofEntry(e){return[e.statementName,e]}static from(e){return new tn(e.statementName,e.namespace,e.name).setParameterMap(new Map(Object.entries(e.parameterMap??{}).map((([e,t])=>[e,new Map(Object.entries(t??{}).map((([e,t])=>en.from(t))).map((e=>[e.getKey(),e])))])))).setDependentStatements(new Map(Object.entries(e.dependentStatements??{}))).setPosition(Qr.from(e.position)).setComment(e.comment).setDescription(e.description)}}e({},"StatementGroup",(()=>rn));class rn extends Zr{static SCHEMA_NAME="StatementGroup";static SCHEMA=(new c).setNamespace(n.SYSTEM).setName(rn.SCHEMA_NAME).setType(l.of(i.OBJECT)).setProperties(new Map([["statementGroupName",c.ofString("statementGroupName")],["comment",c.ofString("comment")],["description",c.ofString("description")],["position",Qr.SCHEMA]]));constructor(e,t=new Map){super(),this.statementGroupName=e,this.statements=t}getStatementGroupName(){return this.statementGroupName}setStatementGroupName(e){return this.statementGroupName=e,this}getStatements(){return this.statements}setStatements(e){return this.statements=e,this}static from(e){return new rn(e.statementGroupName,new Map(Object.entries(e.statements||{}).map((([e,t])=>[e,"true"==(""+t)?.toLowerCase()])))).setPosition(Qr.from(e.position)).setComment(e.comment).setDescription(e.description)}}const nn=(new c).setNamespace(n.SYSTEM).setName("FunctionDefinition").setProperties(new Map([["name",c.ofString("name")],["namespace",c.ofString("namespace")],["parameters",c.ofArray("parameters",p.SCHEMA)],["events",c.ofObject("events").setAdditionalProperties((new g).setSchemaValue(w.SCHEMA))],["steps",c.ofObject("steps").setAdditionalProperties((new g).setSchemaValue(tn.SCHEMA))]]));nn.getProperties()?.set("parts",c.ofArray("parts",nn));class sn extends y{static SCHEMA=nn;version=1;constructor(e){super(e)}getVersion(){return this.version}setVersion(e){return this.version=e,this}getSteps(){return this.steps??new Map}setSteps(e){return this.steps=e,this}getStepGroups(){return this.stepGroups}setStepGroups(e){return this.stepGroups=e,this}getParts(){return this.parts}setParts(e){return this.parts=e,this}static from(e){return e?new sn(e.name).setSteps(new Map(Object.values(e.steps??{}).filter((e=>!!e)).map((e=>[e.statementName,tn.from(e)])))).setStepGroups(new Map(Object.values(e.stepGroups??{}).filter((e=>!!e)).map((e=>[e.statementGroupName,rn.from(e)])))).setParts(Array.from(e.parts??[]).filter((e=>!!e)).map((e=>sn.from(e)))).setVersion(e.version??1).setEvents(new Map(Object.values(e.events??{}).filter((e=>!!e)).map((e=>[e.name,w.from(e)])))).setParameters(new Map(Object.values(e.parameters??{}).filter((e=>!!e)).map((e=>[e.parameterName,p.from(e)])))):new sn("unknown")}}e({},"Argument",(()=>an));class an{argumentIndex=0;constructor(e,t,r){this.argumentIndex=e,this.name=t,this.value=r}getArgumentIndex(){return this.argumentIndex}setArgumentIndex(e){return this.argumentIndex=e,this}getName(){return this.name}setName(e){return this.name=e,this}getValue(){return this.value}setValue(e){return this.value=e,this}static of(e,t){return new an(0,e,t)}}var on={};t(on,Ut),t(on,bt),t(on,Ft),t(on,Yt),t(on,Vt);var En={};t(En,ke),t(En,je),t(En,We),t(En,Je),t(En,Ke),t(En,Ze),t(En,tt),t(En,Be),t(En,nt),t(En,at),t(En,ot),t(En,ut),t(En,lt),t(En,ct),t(En,Tt),t(En,pt),t(En,Nt),t(En,_t),t(En,Mt),t(En,Pt),t(En,wt),t(En,yt),t(En,Lt),t(En,Fe);export{f as KIRunSchemaRepository,Cr as KIRunFunctionRepository,te as PrimitiveUtil,M as MapUtil,O as MapEntry,s as isNullValue,Le as LinkedList,Ue as StringBuilder,x as StringFormatter,L as StringUtil,U as Tuple2,V as Tuple3,C as Tuple4,ne as ArrayUtil,xe as deepEqual,cr as duplicate,br as StatementExecution,Gr as StatementMessage,Pe as ContextElement,Dr as ContextTokenValueExtractor,Fr as OutputMapTokenValueExtractor,Br as ArgumentsTokenValueExtractor,Hr as GraphVertex,Yr as ExecutionGraph,zr as KIRuntime,qr as StatementMessageType,Wr as FunctionExecutionParameters,De as Expression,kt as TokenValueExtractor,jt as LiteralTokenValueExtractor,Jt as ExpressionEvaluator,be as Operation,Ce as ExpressionToken,Ve as ExpressionEvaluationException,Ge as ExpressionTokenValue,J as AbstractFunction,n as Namespaces,kr as JsonExpression,g as AdditionalType,c as Schema,H as NumberValidator,B as BooleanValidator,Y as NullValidator,F as ArrayValidator,D as AnyOfAllOfOneOfValidator,X as StringValidator,k as ObjectValidator,q as SchemaValidator,G as SchemaValidationException,m as SchemaReferenceException,W as TypeValidator,a as ArraySchemaType,A as SingleType,l as TypeUtil,u as MultipleType,E as Type,i as SchemaType,b as SchemaUtil,$ as StringFormat,vr as HybridRepository,Kr as KIRunConstants,p as Parameter,d as FunctionOutput,Qr as Position,sn as FunctionDefinition,$r as ParameterReferenceType,I as EventResult,Zr as AbstractStatement,tn as Statement,rn as StatementGroup,y as FunctionSignature,w as Event,T as ParameterType,an as Argument,en as ParameterReference,ee as ExecutionException,P as KIRuntimeException,Gt as ArithmeticUnaryMinusOperator,Dt as ArithmeticUnaryPlusOperator,Bt as BitwiseComplementOperator,Ht as LogicalNotOperator,Ct as UnaryOperator,$e as ArithmeticAdditionOperator,Xe as ArithmeticDivisionOperator,qe as ArithmeticIntegerDivisionOperator,ze as ArithmeticModulusOperator,Qe as ArithmeticMultiplicationOperator,et as ArithmeticSubtractionOperator,rt as ArrayOperator,Ye as BinaryOperator,st as BitwiseAndOperator,it as BitwiseLeftShiftOperator,Et as BitwiseOrOperator,At as BitwiseRightShiftOperator,gt as BitwiseUnsignedRightShiftOperator,mt as BitwiseXorOperator,Rt as LogicalAndOperator,ht as LogicalEqualOperator,ft as LogicalGreaterThanEqualOperator,St as LogicalGreaterThanOperator,Ot as LogicalLessThanEqualOperator,dt as LogicalNotEqualOperator,It as LogicalLessThanOperator,xt as LogicalOrOperator,vt as ObjectOperator,He as LogicalNullishCoalescingOperator,Wt as ConditionalTernaryOperator};
1
+ function e(e,t,r,n){Object.defineProperty(e,t,{get:r,set:n,enumerable:!0,configurable:!0})}function t(e,t){return Object.keys(t).forEach((function(r){"default"===r||"__esModule"===r||e.hasOwnProperty(r)||Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[r]}})})),e}e({},"KIRunSchemaRepository",(()=>f));var r={};e(r,"AdditionalType",(()=>g)),e(r,"Schema",(()=>c));e({},"Namespaces",(()=>n));class n{static SYSTEM="System";static SYSTEM_CTX="System.Context";static SYSTEM_LOOP="System.Loop";static SYSTEM_ARRAY="System.Array";static SYSTEM_OBJECT="System.Object";static MATH="System.Math";static STRING="System.String";constructor(){}}e({},"ArraySchemaType",(()=>a));function s(e){return null==e}e({},"isNullValue",(()=>s));class a{constructor(e){e&&(this.singleSchema=e.singleSchema?new c(e.singleSchema):void 0,this.tupleSchema=e.tupleSchema?e.tupleSchema.map((e=>new c(e))):void 0)}setSingleSchema(e){return this.singleSchema=e,this}setTupleSchema(e){return this.tupleSchema=e,this}getSingleSchema(){return this.singleSchema}getTupleSchema(){return this.tupleSchema}isSingleType(){return!s(this.singleSchema)}static of(...e){return 1==e.length?(new a).setSingleSchema(e[0]):(new a).setTupleSchema(e)}static from(e){if(!e)return;if(Array.isArray(e))return(new a).setTupleSchema(c.fromListOfSchemas(e));let t=Object.keys(e);if(-1!=t.indexOf("singleSchema"))return(new a).setSingleSchema(c.from(e.singleSchema));if(-1!=t.indexOf("tupleSchema"))return(new a).setTupleSchema(c.fromListOfSchemas(e.tupleSchema));let r=c.from(e);return r?(new a).setSingleSchema(r):void 0}}let i;var o;e({},"SchemaType",(()=>i)),(o=i||(i={})).INTEGER="Integer",o.LONG="Long",o.FLOAT="Float",o.DOUBLE="Double",o.STRING="String",o.OBJECT="Object",o.ARRAY="Array",o.BOOLEAN="Boolean",o.NULL="Null";e({},"TypeUtil",(()=>l));e({},"MultipleType",(()=>u));e({},"Type",(()=>E));class E{}class u extends E{constructor(e){super(),this.type=e instanceof u?new Set(Array.from(e.type)):new Set(Array.from(e))}getType(){return this.type}setType(e){return this.type=e,this}getAllowedSchemaTypes(){return this.type}contains(e){return this.type?.has(e)}}e({},"SingleType",(()=>A));class A extends E{constructor(e){super(),this.type=e instanceof A?e.type:e}getType(){return this.type}getAllowedSchemaTypes(){return new Set([this.type])}contains(e){return this.type==e}}class l{static of(...e){return 1==e.length?new A(e[0]):new u(new Set(e))}static from(e){return"string"==typeof e?new A(i[e]):Array.isArray(e)?new u(new Set(e.map((e=>e)).map((e=>i[e])))):void 0}}class g{constructor(e){e&&(this.booleanValue=e.booleanValue,e.schemaValue&&(this.schemaValue=new c(e.schemaValue)))}getBooleanValue(){return this.booleanValue}getSchemaValue(){return this.schemaValue}setBooleanValue(e){return this.booleanValue=e,this}setSchemaValue(e){return this.schemaValue=e,this}static from(e){if(s(e))return;const t=new g;if("boolean"==typeof e)t.booleanValue=e;else{let r=Object.keys(e);-1!=r.indexOf("booleanValue")?t.booleanValue=e.booleanValue:-1!=r.indexOf("schemaValue")?t.schemaValue=c.from(e.schemaValue):t.schemaValue=c.from(e)}return t}}class c{static NULL=(new c).setNamespace(n.SYSTEM).setName("Null").setType(l.of(i.NULL)).setConstant(void 0);static TYPE_SCHEMA=(new c).setType(l.of(i.STRING)).setEnums(["INTEGER","LONG","FLOAT","DOUBLE","STRING","OBJECT","ARRAY","BOOLEAN","NULL"]);static SCHEMA=(new c).setNamespace(n.SYSTEM).setName("Schema").setType(l.of(i.OBJECT)).setProperties(new Map([["namespace",c.of("namespace",i.STRING).setDefaultValue("_")],["name",c.ofString("name")],["version",c.of("version",i.INTEGER).setDefaultValue(1)],["ref",c.ofString("ref")],["type",(new c).setAnyOf([c.TYPE_SCHEMA,c.ofArray("type",c.TYPE_SCHEMA)])],["anyOf",c.ofArray("anyOf",c.ofRef("System.Schema"))],["allOf",c.ofArray("allOf",c.ofRef("System.Schema"))],["oneOf",c.ofArray("oneOf",c.ofRef("System.Schema"))],["not",c.ofRef("System.Schema")],["title",c.ofString("title")],["description",c.ofString("description")],["id",c.ofString("id")],["examples",c.ofAny("examples")],["defaultValue",c.ofAny("defaultValue")],["comment",c.ofString("comment")],["enums",c.ofArray("enums",c.ofString("enums"))],["constant",c.ofAny("constant")],["pattern",c.ofString("pattern")],["format",c.of("format",i.STRING).setEnums(["DATETIME","TIME","DATE","EMAIL","REGEX"])],["minLength",c.ofInteger("minLength")],["maxLength",c.ofInteger("maxLength")],["multipleOf",c.ofLong("multipleOf")],["minimum",c.ofNumber("minimum")],["maximum",c.ofNumber("maximum")],["exclusiveMinimum",c.ofNumber("exclusiveMinimum")],["exclusiveMaximum",c.ofNumber("exclusiveMaximum")],["properties",c.of("properties",i.OBJECT).setAdditionalProperties((new g).setSchemaValue(c.ofRef("System.Schema")))],["additionalProperties",(new c).setName("additionalProperty").setNamespace(n.SYSTEM).setAnyOf([c.ofBoolean("additionalProperty"),c.ofObject("additionalProperty").setRef("System.Schema")]).setDefaultValue(!0)],["required",c.ofArray("required",c.ofString("required")).setDefaultValue([])],["propertyNames",c.ofRef("System.Schema")],["minProperties",c.ofInteger("minProperties")],["maxProperties",c.ofInteger("maxProperties")],["patternProperties",c.of("patternProperties",i.OBJECT).setAdditionalProperties((new g).setSchemaValue(c.ofRef("System.Schema")))],["items",(new c).setName("items").setAnyOf([c.ofRef("System.Schema").setName("item"),c.ofArray("tuple",c.ofRef("System.Schema"))])],["contains",c.ofRef("System.Schema")],["minContains",c.ofInteger("minContains")],["maxContains",c.ofInteger("maxContains")],["minItems",c.ofInteger("minItems")],["maxItems",c.ofInteger("maxItems")],["uniqueItems",c.ofBoolean("uniqueItems")],["additionalItems",(new c).setName("additionalItems").setNamespace(n.SYSTEM).setAnyOf([c.ofBoolean("additionalItems"),c.ofObject("additionalItems").setRef("System.Schema")])],["$defs",c.of("$defs",i.OBJECT).setAdditionalProperties((new g).setSchemaValue(c.ofRef("System.Schema")))],["permission",c.ofString("permission")]])).setRequired([]);static ofString(e){return(new c).setType(l.of(i.STRING)).setName(e)}static ofInteger(e){return(new c).setType(l.of(i.INTEGER)).setName(e)}static ofFloat(e){return(new c).setType(l.of(i.FLOAT)).setName(e)}static ofLong(e){return(new c).setType(l.of(i.LONG)).setName(e)}static ofDouble(e){return(new c).setType(l.of(i.DOUBLE)).setName(e)}static ofAny(e){return(new c).setType(l.of(i.INTEGER,i.LONG,i.FLOAT,i.DOUBLE,i.STRING,i.BOOLEAN,i.ARRAY,i.NULL,i.OBJECT)).setName(e)}static ofAnyNotNull(e){return(new c).setType(l.of(i.INTEGER,i.LONG,i.FLOAT,i.DOUBLE,i.STRING,i.BOOLEAN,i.ARRAY,i.OBJECT)).setName(e)}static ofNumber(e){return(new c).setType(l.of(i.INTEGER,i.LONG,i.FLOAT,i.DOUBLE)).setName(e)}static ofBoolean(e){return(new c).setType(l.of(i.BOOLEAN)).setName(e)}static of(e,...t){return(new c).setType(l.of(...t)).setName(e)}static ofObject(e){return(new c).setType(l.of(i.OBJECT)).setName(e)}static ofRef(e){return(new c).setRef(e)}static ofArray(e,...t){return(new c).setType(l.of(i.ARRAY)).setName(e).setItems(a.of(...t))}static fromListOfSchemas(e){if(s(e)&&!Array.isArray(e))return;let t=[];for(let r of Array.from(e)){let e=c.from(r);e&&t.push(e)}return t}static fromMapOfSchemas(e){if(s(e))return;const t=new Map;return Object.entries(e).forEach((([e,r])=>{let n=c.from(r);n&&t.set(e,n)})),t}static from(e,t=!1){if(s(e))return;let r=new c;return r.namespace=e.namespace??"_",r.name=e.name,r.version=e.version??1,r.ref=e.ref,r.type=t?new A(i.STRING):l.from(e.type),r.anyOf=c.fromListOfSchemas(e.anyOf),r.allOf=c.fromListOfSchemas(e.allOf),r.oneOf=c.fromListOfSchemas(e.oneOf),r.not=c.from(e.not),r.description=e.description,r.examples=e.examples?[...e.examples]:void 0,r.defaultValue=e.defaultValue,r.comment=e.comment,r.enums=e.enums?[...e.enums]:void 0,r.constant=e.constant,r.pattern=e.pattern,r.format=e.format,r.minLength=e.minLength,r.maxLength=e.maxLength,r.multipleOf=e.multipleOf,r.minimum=e.minimum,r.maximum=e.maximum,r.exclusiveMinimum=e.exclusiveMinimum,r.exclusiveMaximum=e.exclusiveMaximum,r.properties=c.fromMapOfSchemas(e.properties),r.additionalProperties=g.from(e.additionalProperties),r.required=e.required,r.propertyNames=c.from(e.propertyNames,!0),r.minProperties=e.minProperties,r.maxProperties=e.maxProperties,r.patternProperties=c.fromMapOfSchemas(e.patternProperties),r.items=a.from(e.items),r.additionalItems=g.from(e.additionalItems),r.contains=c.from(e.contains),r.minContains=e.minContains,r.maxContains=e.maxContains,r.minItems=e.minItems,r.maxItems=e.maxItems,r.uniqueItems=e.uniqueItems,r.$defs=c.fromMapOfSchemas(e.$defs),r.permission=e.permission,r}namespace="_";version=1;constructor(e){e&&(this.namespace=e.namespace,this.name=e.name,this.version=e.version,this.ref=e.ref,this.type=e.type instanceof A?new A(e.type):new u(e.type),this.anyOf=e.anyOf?.map((e=>new c(e))),this.allOf=e.allOf?.map((e=>new c(e))),this.oneOf=e.oneOf?.map((e=>new c(e))),this.not=this.not?new c(this.not):void 0,this.description=e.description,this.examples=e.examples?JSON.parse(JSON.stringify(e.examples)):void 0,this.defaultValue=e.defaultValue?JSON.parse(JSON.stringify(e.defaultValue)):void 0,this.comment=e.comment,this.enums=e.enums?[...e.enums]:void 0,this.constant=e.constant?JSON.parse(JSON.stringify(e.constant)):void 0,this.pattern=e.pattern,this.format=e.format,this.minLength=e.minLength,this.maxLength=e.maxLength,this.multipleOf=e.multipleOf,this.minimum=e.minimum,this.maximum=e.maximum,this.exclusiveMinimum=e.exclusiveMinimum,this.exclusiveMaximum=e.exclusiveMaximum,this.properties=e.properties?new Map(Array.from(e.properties.entries()).map((e=>[e[0],new c(e[1])]))):void 0,this.additionalProperties=e.additionalProperties?new g(e.additionalProperties):void 0,this.required=e.required?[...e.required]:void 0,this.propertyNames=e.propertyNames?new c(e.propertyNames):void 0,this.minProperties=e.minProperties,this.maxProperties=e.maxProperties,this.patternProperties=e.patternProperties?new Map(Array.from(e.patternProperties.entries()).map((e=>[e[0],new c(e[1])]))):void 0,this.items=e.items?new a(e.items):void 0,this.contains=e.contains?new c(this.contains):void 0,this.minContains=e.minContains,this.maxContains=e.maxContains,this.minItems=e.minItems,this.maxItems=e.maxItems,this.uniqueItems=e.uniqueItems,this.additionalItems=e.additionalItems?new g(e.additionalItems):void 0,this.$defs=e.$defs?new Map(Array.from(e.$defs.entries()).map((e=>[e[0],new c(e[1])]))):void 0,this.permission=e.permission)}getTitle(){return this.namespace&&"_"!=this.namespace?this.namespace+"."+this.name:this.name}getFullName(){return this.namespace+"."+this.name}get$defs(){return this.$defs}set$defs(e){return this.$defs=e,this}getNamespace(){return this.namespace}setNamespace(e){return this.namespace=e,this}getName(){return this.name}setName(e){return this.name=e,this}getVersion(){return this.version}setVersion(e){return this.version=e,this}getRef(){return this.ref}setRef(e){return this.ref=e,this}getType(){return this.type}setType(e){return this.type=e,this}getAnyOf(){return this.anyOf}setAnyOf(e){return this.anyOf=e,this}getAllOf(){return this.allOf}setAllOf(e){return this.allOf=e,this}getOneOf(){return this.oneOf}setOneOf(e){return this.oneOf=e,this}getNot(){return this.not}setNot(e){return this.not=e,this}getDescription(){return this.description}setDescription(e){return this.description=e,this}getExamples(){return this.examples}setExamples(e){return this.examples=e,this}getDefaultValue(){return this.defaultValue}setDefaultValue(e){return this.defaultValue=e,this}getComment(){return this.comment}setComment(e){return this.comment=e,this}getEnums(){return this.enums}setEnums(e){return this.enums=e,this}getConstant(){return this.constant}setConstant(e){return this.constant=e,this}getPattern(){return this.pattern}setPattern(e){return this.pattern=e,this}getFormat(){return this.format}setFormat(e){return this.format=e,this}getMinLength(){return this.minLength}setMinLength(e){return this.minLength=e,this}getMaxLength(){return this.maxLength}setMaxLength(e){return this.maxLength=e,this}getMultipleOf(){return this.multipleOf}setMultipleOf(e){return this.multipleOf=e,this}getMinimum(){return this.minimum}setMinimum(e){return this.minimum=e,this}getMaximum(){return this.maximum}setMaximum(e){return this.maximum=e,this}getExclusiveMinimum(){return this.exclusiveMinimum}setExclusiveMinimum(e){return this.exclusiveMinimum=e,this}getExclusiveMaximum(){return this.exclusiveMaximum}setExclusiveMaximum(e){return this.exclusiveMaximum=e,this}getProperties(){return this.properties}setProperties(e){return this.properties=e,this}getAdditionalProperties(){return this.additionalProperties}setAdditionalProperties(e){return this.additionalProperties=e,this}getAdditionalItems(){return this.additionalItems}setAdditionalItems(e){return this.additionalItems=e,this}getRequired(){return this.required}setRequired(e){return this.required=e,this}getPropertyNames(){return this.propertyNames}setPropertyNames(e){return this.propertyNames=e,this.propertyNames.type=new A(i.STRING),this}getMinProperties(){return this.minProperties}setMinProperties(e){return this.minProperties=e,this}getMaxProperties(){return this.maxProperties}setMaxProperties(e){return this.maxProperties=e,this}getPatternProperties(){return this.patternProperties}setPatternProperties(e){return this.patternProperties=e,this}getItems(){return this.items}setItems(e){return this.items=e,this}getContains(){return this.contains}setContains(e){return this.contains=e,this}getMinContains(){return this.minContains}setMinContains(e){return this.minContains=e,this}getMaxContains(){return this.maxContains}setMaxContains(e){return this.maxContains=e,this}getMinItems(){return this.minItems}setMinItems(e){return this.minItems=e,this}getMaxItems(){return this.maxItems}setMaxItems(e){return this.maxItems=e,this}getUniqueItems(){return this.uniqueItems}setUniqueItems(e){return this.uniqueItems=e,this}getPermission(){return this.permission}setPermission(e){return this.permission=e,this}}e({},"Parameter",(()=>p));e({},"SchemaReferenceException",(()=>m));class m extends Error{constructor(e,t,r){super(e.trim()?e+"-"+t:t),this.schemaPath=e,this.cause=r}getSchemaPath(){return this.schemaPath}getCause(){return this.cause}}let T;var R;e({},"ParameterType",(()=>T)),(R=T||(T={})).CONSTANT="CONSTANT",R.EXPRESSION="EXPRESSION";class p{static SCHEMA_NAME="Parameter";static SCHEMA=(new c).setNamespace(n.SYSTEM).setName(p.SCHEMA_NAME).setProperties(new Map([["schema",c.SCHEMA],["parameterName",c.ofString("parameterName")],["variableArgument",c.of("variableArgument",i.BOOLEAN).setDefaultValue(!1)],["type",c.ofString("type").setEnums(["EXPRESSION","CONSTANT"])]]));static EXPRESSION=(new c).setNamespace(n.SYSTEM).setName("ParameterExpression").setType(l.of(i.OBJECT)).setProperties(new Map([["isExpression",c.ofBoolean("isExpression").setDefaultValue(!0)],["value",c.ofAny("value")]]));variableArgument=!1;type=T.EXPRESSION;constructor(e,t){if(e instanceof p)this.schema=new c(e.schema),this.parameterName=e.parameterName,this.variableArgument=e.variableArgument,this.type=e.type;else{if(!t)throw new Error("Unknown constructor signature");this.schema=t,this.parameterName=e}}getSchema(){return this.schema}setSchema(e){return this.schema=e,this}getParameterName(){return this.parameterName}setParameterName(e){return this.parameterName=e,this}isVariableArgument(){return this.variableArgument}setVariableArgument(e){return this.variableArgument=e,this}getType(){return this.type}setType(e){return this.type=e,this}static ofEntry(e,t,r=!1,n=T.EXPRESSION){return[e,new p(e,t).setType(n).setVariableArgument(r)]}static of(e,t,r=!1,n=T.EXPRESSION){return new p(e,t).setType(n).setVariableArgument(r)}static from(e){const t=c.from(e.schema);if(!t)throw new m("","Parameter requires Schema");return new p(e.parameterName,t).setVariableArgument(!!e.variableArguments).setType(e.type??T.EXPRESSION)}}const h=new Map([["any",c.ofAny("any").setNamespace(n.SYSTEM)],["boolean",c.ofBoolean("boolean").setNamespace(n.SYSTEM)],["double",c.ofDouble("double").setNamespace(n.SYSTEM)],["float",c.ofFloat("float").setNamespace(n.SYSTEM)],["integer",c.ofInteger("integer").setNamespace(n.SYSTEM)],["long",c.ofLong("long").setNamespace(n.SYSTEM)],["number",c.ofNumber("number").setNamespace(n.SYSTEM)],["string",c.ofString("string").setNamespace(n.SYSTEM)],[p.EXPRESSION.getName(),p.EXPRESSION],[c.NULL.getName(),c.NULL],[c.SCHEMA.getName(),c.SCHEMA]]),N=Array.from(h.values()).map((e=>e.getFullName()));class f{find(e,t){if(n.SYSTEM==e)return h.get(t)}filter(e){return N.filter((t=>-1!==t.toLowerCase().indexOf(e.toLowerCase())))}}function _(e){return[e.getSignature().getName(),e]}e({},"KIRunFunctionRepository",(()=>Cr));var S={};e(S,"MapUtil",(()=>M)),e(S,"MapEntry",(()=>O));class M{static of(e,t,r,n,a,i,o,E,u,A,l,g,c,m,T,R,p,h,N,f){const _=new Map;return s(e)||s(t)||_.set(e,t),s(r)||s(n)||_.set(r,n),s(a)||s(i)||_.set(a,i),s(o)||s(E)||_.set(o,E),s(u)||s(A)||_.set(u,A),s(l)||s(g)||_.set(l,g),s(c)||s(m)||_.set(c,m),s(T)||s(R)||_.set(T,R),s(p)||s(h)||_.set(p,h),s(N)||s(f)||_.set(N,f),_}static ofArrayEntries(...e){const t=new Map;for(const[r,n]of e)t.set(r,n);return t}static entry(e,t){return new O(e,t)}static ofEntries(...e){const t=new Map;for(const r of e)t.set(r.k,r.v);return t}static ofEntriesArray(...e){const t=new Map;for(let r=0;r<e.length;r++)t.set(e[r][0],e[r][1]);return t}constructor(){}}class O{constructor(e,t){this.k=e,this.v=t}}e({},"EventResult",(()=>I));e({},"Event",(()=>w));class w{static OUTPUT="output";static ERROR="error";static ITERATION="iteration";static TRUE="true";static FALSE="false";static SCHEMA_NAME="Event";static SCHEMA=(new c).setNamespace(n.SYSTEM).setName(w.SCHEMA_NAME).setType(l.of(i.OBJECT)).setProperties(new Map([["name",c.ofString("name")],["parameters",c.ofObject("parameter").setAdditionalProperties((new g).setSchemaValue(c.SCHEMA))]]));constructor(e,t){if(e instanceof w)this.name=e.name,this.parameters=new Map(Array.from(e.parameters.entries()).map((e=>[e[0],new c(e[1])])));else{if(this.name=e,!t)throw new Error("Unknown constructor format");this.parameters=t}}getName(){return this.name}setName(e){return this.name=e,this}getParameters(){return this.parameters}setParameters(e){return this.parameters=e,this}static outputEventMapEntry(e){return w.eventMapEntry(w.OUTPUT,e)}static eventMapEntry(e,t){return[e,new w(e,t)]}static from(e){return new w(e.name,new Map(Object.entries(e.parameters??{}).map((e=>{const t=c.from(e[1]);if(!t)throw new m("","Event expects a schema");return[e[0],t]}))))}}class I{constructor(e,t){this.name=e,this.result=t}getName(){return this.name}setName(e){return this.name=e,this}getResult(){return this.result}setResult(e){return this.result=e,this}static outputOf(e){return I.of(w.OUTPUT,e)}static of(e,t){return new I(e,t)}}e({},"FunctionOutput",(()=>d));e({},"KIRuntimeException",(()=>P));class P extends Error{constructor(e,t){super(e),this.cause=t}getCause(){return this.cause}}class d{index=0;constructor(e){if(s(e))throw new P("Function output is generating null");Array.isArray(e)&&e.length&&e[0]instanceof I?this.fo=e:(this.fo=[],Array.isArray(e)||(this.generator=e))}next(){if(!this.generator)return this.index<this.fo.length?this.fo[this.index++]:void 0;const e=this.generator.next();return e&&this.fo.push(e),e}allResults(){return this.fo}}e({},"FunctionSignature",(()=>y));class y{static SCHEMA_NAME="FunctionSignature";static SCHEMA=(new c).setNamespace(n.SYSTEM).setName(y.SCHEMA_NAME).setProperties(new Map([["name",c.ofString("name")],["namespace",c.ofString("namespace")],["parameters",c.ofObject("parameters").setAdditionalProperties((new g).setSchemaValue(p.SCHEMA))],["events",c.ofObject("events").setAdditionalProperties((new g).setSchemaValue(w.SCHEMA))]]));namespace="_";parameters=new Map;events=new Map;constructor(e){e instanceof y?(this.name=e.name,this.namespace=e.namespace,this.parameters=new Map(Array.from(e.parameters.entries()).map((e=>[e[0],new p(e[1])]))),this.events=new Map(Array.from(e.events.entries()).map((e=>[e[0],new w(e[1])])))):this.name=e}getNamespace(){return this.namespace}setNamespace(e){return this.namespace=e,this}getName(){return this.name}setName(e){return this.name=e,this}getParameters(){return this.parameters}setParameters(e){return this.parameters=e,this}getEvents(){return this.events}setEvents(e){return this.events=e,this}getFullName(){return this.namespace+"."+this.name}}e({},"AbstractFunction",(()=>J));e({},"SchemaValidator",(()=>q));e({},"StringUtil",(()=>L));e({},"StringFormatter",(()=>x));class x{static format(e,...t){if(!t||0==t.length)return e;let r="",n=0,s="",a=s,i=e.length;for(let o=0;o<i;o++)s=e.charAt(o),"$"==s&&"\\"==a?r=r.substring(0,o-1)+s:"$"==s&&n<t.length?r+=t[n++]:r+=s,a=s;return r.toString()}constructor(){}}class L{constructor(){}static nthIndex(e,t,r=0,n){if(!e)throw new P("String cannot be null");if(r<0||r>=e.length)throw new P(x.format("Cannot search from index : $",r));if(n<=0||n>e.length)throw new P(x.format("Cannot search for occurance : $",n));for(;r<e.length;){if(e.charAt(r)==t&&0==--n)return r;++r}return-1}static splitAtFirstOccurance(e,t){if(!e)return[void 0,void 0];let r=e.indexOf(t);return-1==r?[e,void 0]:[e.substring(0,r),e.substring(r+1)]}static isNullOrBlank(e){return!e||""==e.trim()}}e({},"SchemaUtil",(()=>b));var v={};e(v,"Tuple2",(()=>U)),e(v,"Tuple3",(()=>V)),e(v,"Tuple4",(()=>C));class U{constructor(e,t){this.f=e,this.s=t}getT1(){return this.f}getT2(){return this.s}setT1(e){return this.f=e,this}setT2(e){return this.s=e,this}}class V extends U{constructor(e,t,r){super(e,t),this.t=r}getT3(){return this.t}setT1(e){return this.f=e,this}setT2(e){return this.s=e,this}setT3(e){return this.t=e,this}}class C extends V{constructor(e,t,r,n){super(e,t,r),this.fr=n}getT4(){return this.fr}setT1(e){return this.f=e,this}setT2(e){return this.s=e,this}setT3(e){return this.t=e,this}setT4(e){return this.fr=e,this}}e({},"SchemaValidationException",(()=>G));class G extends Error{constructor(e,t,r=[],n){super(t+(r?r.map((e=>e.message)).reduce(((e,t)=>e+"\n"+t),""):"")),this.schemaPath=e,this.cause=n}getSchemaPath(){return this.schemaPath}getCause(){return this.cause}}class b{static UNABLE_TO_RETRIVE_SCHEMA_FROM_REFERENCED_PATH="Unable to retrive schema from referenced path";static CYCLIC_REFERENCE_LIMIT_COUNTER=20;static getDefaultValue(e,t){if(e)return e.getConstant()?e.getConstant():s(e.getDefaultValue())?b.getDefaultValue(b.getSchemaFromRef(e,t,e.getRef()),t):e.getDefaultValue()}static hasDefaultValueOrNullSchemaType(e,t){return!!e&&(!!e.getConstant()||(!!e.getDefaultValue()||(s(e.getRef())?!!e.getType()?.getAllowedSchemaTypes().has(i.NULL):this.hasDefaultValueOrNullSchemaType(b.getSchemaFromRef(e,t,e.getRef()),t))))}static getSchemaFromRef(e,t,r,n=0){if(++n==b.CYCLIC_REFERENCE_LIMIT_COUNTER)throw new G(r??"","Schema has a cyclic reference");if(!e||!r||L.isNullOrBlank(r))return;if(!r.startsWith("#")){var s=b.resolveExternalSchema(e,t,r);s&&(e=s.getT1(),r=s.getT2())}let a=r.split("/");return 1===a.length?e:b.resolveInternalSchema(e,t,r,n,a,1)}static resolveInternalSchema(e,t,r,n,s,a){let o=e;if(a!==s.length){for(;a<s.length;){if("$defs"===s[a]){if(++a>=s.length||!o.get$defs())throw new m(r,b.UNABLE_TO_RETRIVE_SCHEMA_FROM_REFERENCED_PATH);o=o.get$defs()?.get(s[a])}else{if(o&&(!o.getType()?.contains(i.OBJECT)||!o.getProperties()))throw new m(r,"Cannot retrievie schema from non Object type schemas");o=o.getProperties()?.get(s[a])}if(a++,!o)throw new m(r,b.UNABLE_TO_RETRIVE_SCHEMA_FROM_REFERENCED_PATH);if(!L.isNullOrBlank(o.getRef())&&(o=b.getSchemaFromRef(o,t,o.getRef(),n),!o))throw new m(r,b.UNABLE_TO_RETRIVE_SCHEMA_FROM_REFERENCED_PATH)}return o}}static resolveExternalSchema(e,t,r){if(!t)return;let n=L.splitAtFirstOccurance(r??"","/");if(!n[0])return;let s=L.splitAtFirstOccurance(n[0],".");if(!s[0]||!s[1])return;let a=t.find(s[0],s[1]);if(a){if(!n[1]||""===n[1])return new U(a,r);if(r="#/"+n[1],!a)throw new m(r,b.UNABLE_TO_RETRIVE_SCHEMA_FROM_REFERENCED_PATH);return new U(a,r)}}constructor(){}}e({},"AnyOfAllOfOneOfValidator",(()=>D));class D{static validate(e,t,r,n){let s=[];return t.getOneOf()&&!t.getOneOf()?D.oneOf(e,t,r,n,s):t.getAllOf()&&!t.getAllOf()?D.allOf(e,t,r,n,s):t.getAnyOf()&&!t.getAnyOf()&&D.anyOf(e,t,r,n,s),n}static anyOf(e,t,r,n,s){let a=!1;for(let i of t.getAnyOf()??[])try{D.validate(e,i,r,n),a=!0;break}catch(e){a=!1,s.push(e)}if(!a)throw new G(q.path(e),"The value don't satisfy any of the schemas.",s)}static allOf(e,t,r,n,s){let a=0;for(let i of t.getAllOf()??[])try{D.validate(e,i,r,n),a++}catch(e){s.push(e)}if(a!==t.getAllOf()?.length)throw new G(q.path(e),"The value doesn't satisfy some of the schemas.",s)}static oneOf(e,t,r,n,s){let a=0;for(let i of t.getOneOf()??[])try{D.validate(e,i,r,n),a++}catch(e){s.push(e)}if(1!=a)throw new G(q.path(e),0==a?"The value does not satisfy any schema":"The value satisfy more than one schema",s)}constructor(){}}e({},"TypeValidator",(()=>W));e({},"ArrayValidator",(()=>F));class F{static validate(e,t,r,n){if(s(n))throw new G(q.path(e),"Expected an array but found null");if(!Array.isArray(n))throw new G(q.path(e),n.toString()+" is not an Array");let a=n;return F.checkMinMaxItems(e,t,a),F.checkItems(e,t,r,a),F.checkUniqueItems(e,t,a),F.checkContains(t,e,r,a),n}static checkContains(e,t,r,n){if(s(e.getContains()))return;let a=F.countContains(t,e,r,n,s(e.getMinContains())&&s(e.getMaxContains()));if(0===a)throw new G(q.path(t),"None of the items are of type contains schema");if(!s(e.getMinContains())&&e.getMinContains()>a)throw new G(q.path(t),"The minimum number of the items of type contains schema should be "+e.getMinContains()+" but found "+a);if(!s(e.getMaxContains())&&e.getMaxContains()<a)throw new G(q.path(t),"The maximum number of the items of type contains schema should be "+e.getMaxContains()+" but found "+a)}static countContains(e,t,r,n,s){let a=0;for(let i=0;i<n.length;i++){let o=e?[...e]:[];try{if(q.validate(o,t.getContains(),r,n[i]),a++,s)break}catch(e){}}return a}static checkUniqueItems(e,t,r){if(t.getUniqueItems()&&t.getUniqueItems()){if(new Set(r).size!==r.length)throw new G(q.path(e),"Items on the array are not unique")}}static checkMinMaxItems(e,t,r){if(t.getMinItems()&&t.getMinItems()>r.length)throw new G(q.path(e),"Array should have minimum of "+t.getMinItems()+" elements");if(t.getMaxItems()&&t.getMaxItems()<r.length)throw new G(q.path(e),"Array can have maximum of "+t.getMaxItems()+" elements")}static checkItems(e,t,r,n){if(!t.getItems())return;let a=t.getItems();if(a.getSingleSchema())for(let t=0;t<n.length;t++){let s=e?[...e]:[],i=q.validate(s,a.getSingleSchema(),r,n[t]);n[t]=i}if(a.getTupleSchema()){if(a.getTupleSchema().length!==n.length&&s(t?.getAdditionalItems()))throw new G(q.path(e),"Expected an array with only "+a.getTupleSchema().length+" but found "+n.length);this.checkItemsInTupleSchema(e,r,n,a),this.checkAdditionalItems(e,t,r,n,a)}}static checkItemsInTupleSchema(e,t,r,n){for(let s=0;s<n.getTupleSchema()?.length;s++){let a=e?[...e]:[],i=q.validate(a,n.getTupleSchema()[s],t,r[s]);r[s]=i}}static checkAdditionalItems(e,t,r,n,a){if(!s(t.getAdditionalItems())){let s=t.getAdditionalItems();if(s?.getBooleanValue()){let i=c.ofAny("item");if(!1===s?.getBooleanValue()&&n.length>a.getTupleSchema()?.length)throw new G(q.path(e),"No Additional Items are defined");this.checkEachItemInAdditionalItems(e,t,r,n,a,i)}else if(s?.getSchemaValue()){let i=s.getSchemaValue();this.checkEachItemInAdditionalItems(e,t,r,n,a,i)}}}static checkEachItemInAdditionalItems(e,t,r,n,s,a){for(let t=s.getTupleSchema()?.length;t<n.length;t++){let s=e?[...e]:[],i=q.validate(s,a,r,n[t]);n[t]=i}}constructor(){}}e({},"BooleanValidator",(()=>B));class B{static validate(e,t,r){if(s(r))throw new G(q.path(e),"Expected a boolean but found null");if("boolean"!=typeof r)throw new G(q.path(e),r.toString()+" is not a boolean");return r}constructor(){}}e({},"NullValidator",(()=>Y));class Y{static validate(e,t,r){if(r)throw new G(q.path(e),"Expected a null but found "+r);return r}constructor(){}}e({},"NumberValidator",(()=>H));class H{static validate(e,t,r,n){if(s(n))throw new G(q.path(t),"Expected a number but found null");if("number"!=typeof n)throw new G(q.path(t),n.toString()+" is not a "+e);let a=H.extractNumber(e,t,r,n);return H.checkRange(t,r,n,a),H.checkMultipleOf(t,r,n,a),n}static extractNumber(e,t,r,n){let a=n;try{e!=i.LONG&&e!=i.INTEGER||(a=Math.round(a))}catch(r){throw new G(q.path(t),n+" is not a number of type "+e,r)}if(s(a)||(e==i.LONG||e==i.INTEGER)&&a!=n)throw new G(q.path(t),n.toString()+" is not a number of type "+e);return a}static checkMultipleOf(e,t,r,n){if(t.getMultipleOf()){if(n%t.getMultipleOf()!=0)throw new G(q.path(e),r.toString()+" is not multiple of "+t.getMultipleOf())}}static checkRange(e,t,r,n){if(t.getMinimum()&&H.numberCompare(n,t.getMinimum())<0)throw new G(q.path(e),r.toString()+" should be greater than or equal to "+t.getMinimum());if(t.getMaximum()&&H.numberCompare(n,t.getMaximum())>0)throw new G(q.path(e),r.toString()+" should be less than or equal to "+t.getMaximum());if(t.getExclusiveMinimum()&&H.numberCompare(n,t.getExclusiveMinimum())<=0)throw new G(q.path(e),r.toString()+" should be greater than "+t.getExclusiveMinimum());if(t.getExclusiveMaximum()&&H.numberCompare(n,t.getExclusiveMaximum())>0)throw new G(q.path(e),r.toString()+" should be less than "+t.getExclusiveMaximum())}static numberCompare(e,t){return e-t}constructor(){}}e({},"ObjectValidator",(()=>k));class k{static validate(e,t,r,n){if(s(n))throw new G(q.path(e),"Expected an object but found null");if("object"!=typeof n||Array.isArray(n))throw new G(q.path(e),n.toString()+" is not an Object");let a=n,i=new Set(Object.keys(a));k.checkMinMaxProperties(e,t,i),t.getPropertyNames()&&k.checkPropertyNameSchema(e,t,r,i),t.getRequired()&&k.checkRequired(e,t,a),t.getProperties()&&k.checkProperties(e,t,r,a,i),t.getPatternProperties()&&k.checkPatternProperties(e,t,r,a,i),t.getAdditionalProperties()&&k.checkAddtionalProperties(e,t,r,a,i)}static checkPropertyNameSchema(e,t,r,n){for(let s of Array.from(n.values()))try{q.validate(e,t.getPropertyNames(),r,s)}catch(t){throw new G(q.path(e),"Property name '"+s+"' does not fit the property schema")}}static checkRequired(e,t,r){for(const n of t.getRequired()??[])if(s(r[n]))throw new G(q.path(e),n+" is mandatory")}static checkAddtionalProperties(e,t,r,n,s){let a=t.getAdditionalProperties();if(a.getSchemaValue())for(let t of Array.from(s.values())){let s=e?[...e]:[],i=q.validate(s,a.getSchemaValue(),r,n[t]);n[t]=i}else if(!1===a.getBooleanValue()&&s.size)throw new G(q.path(e),Array.from(s)+" is/are additional properties which are not allowed.")}static checkPatternProperties(e,t,r,n,s){const a=new Map;for(const e of Array.from(t.getPatternProperties().keys()))a.set(e,new RegExp(e));for(const i of Array.from(s.values())){const o=e?[...e]:[];for(const e of Array.from(a.entries()))if(e[1].test(i)){const a=q.validate(o,t.getPatternProperties().get(e[0]),r,n[i]);n[i]=a,s.delete(i);break}}}static checkProperties(e,t,r,n,a){for(const i of Array.from(t.getProperties())){let t=n[i[0]];if(!n.hasOwnProperty(i[0])&&s(t)){if(s(b.getDefaultValue(i[1],r)))continue}let o=e?[...e]:[],E=q.validate(o,i[1],r,t);n[i[0]]=E,a.delete(i[0])}}static checkMinMaxProperties(e,t,r){if(t.getMinProperties()&&r.size<t.getMinProperties())throw new G(q.path(e),"Object should have minimum of "+t.getMinProperties()+" properties");if(t.getMaxProperties()&&r.size>t.getMaxProperties())throw new G(q.path(e),"Object can have maximum of "+t.getMaxProperties()+" properties")}constructor(){}}e({},"StringValidator",(()=>X));let $;var j;e({},"StringFormat",(()=>$)),(j=$||($={})).DATETIME="DATETIME",j.TIME="TIME",j.DATE="DATE",j.EMAIL="EMAIL",j.REGEX="REGEX";class X{static TIME=/^([01]?[0-9]|2[0-3]):[0-5][0-9](:[0-5][0-9])?([+-][01][0-9]:[0-5][0-9])?$/;static DATE=/^[0-9]{4,4}-([0][0-9]|[1][0-2])-(0[1-9]|[1-2][1-9]|3[01])$/;static DATETIME=/^[0-9]{4,4}-([0][0-9]|[1][0-2])-(0[1-9]|[1-2][1-9]|3[01])T([01]?[0-9]|2[0-3]):[0-5][0-9](:[0-5][0-9])?([+-][01][0-9]:[0-5][0-9])?$/;static EMAIL=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/;static validate(e,t,r){if(s(r))throw new G(q.path(e),"Expected a string but found "+r);if("string"!=typeof r)throw new G(q.path(e),r.toString()+" is not String");t.getFormat()==$.TIME?X.patternMatcher(e,t,r,X.TIME,"time pattern"):t.getFormat()==$.DATE?X.patternMatcher(e,t,r,X.DATE,"date pattern"):t.getFormat()==$.DATETIME?X.patternMatcher(e,t,r,X.DATETIME,"date time pattern"):t.getFormat()==$.EMAIL?X.patternMatcher(e,t,r,X.EMAIL,"email pattern"):t.getPattern()&&X.patternMatcher(e,t,r,new RegExp(t.getPattern()),"pattern "+t.getPattern());let n=r.length;if(t.getMinLength()&&n<t.getMinLength())throw new G(q.path(e),"Expected a minimum of "+t.getMinLength()+" characters");if(t.getMaxLength()&&n>t.getMaxLength())throw new G(q.path(e),"Expected a maximum of "+t.getMaxLength()+" characters");return r}static patternMatcher(e,t,r,n,s){if(!n.test(r))throw new G(q.path(e),r.toString()+" is not matched with the "+s)}constructor(){}}class W{static validate(e,t,r,n,s){if(t==i.STRING)X.validate(e,r,s);else if(t==i.LONG||t==i.INTEGER||t==i.DOUBLE||t==i.FLOAT)H.validate(t,e,r,s);else if(t==i.BOOLEAN)B.validate(e,r,s);else if(t==i.OBJECT)k.validate(e,r,n,s);else if(t==i.ARRAY)F.validate(e,r,n,s);else{if(t!=i.NULL)throw new G(q.path(e),t+" is not a valid type.");Y.validate(e,r,s)}return s}constructor(){}}class q{static path(e){return e?e.map((e=>e.getTitle()??"")).filter((e=>!!e)).reduce(((e,t,r)=>e+(0===r?"":".")+t),""):""}static validate(e,t,r,n){if(!t)throw new G(q.path(e),"No schema found to validate");if(e||(e=new Array),e.push(t),s(n)&&!s(t.getDefaultValue()))return JSON.parse(JSON.stringify(t.getDefaultValue()));if(t.getConstant())return q.constantValidation(e,t,n);if(t.getEnums()&&!t.getEnums()?.length)return q.enumCheck(e,t,n);if(t.getFormat()&&s(t.getType()))throw new G(this.path(e),"Type is missing in schema for declared "+t.getFormat()?.toString()+" format.");if(t.getType()&&q.typeValidation(e,t,r,n),!L.isNullOrBlank(t.getRef()))return q.validate(e,b.getSchemaFromRef(e[0],r,t.getRef()),r,n);if((t.getOneOf()||t.getAllOf()||t.getAnyOf())&&D.validate(e,t,r,n),t.getNot()){let s=!1;try{q.validate(e,t.getNot(),r,n),s=!0}catch(e){s=!1}if(s)throw new G(q.path(e),"Schema validated value in not condition.")}return n}static constantValidation(e,t,r){if(!t.getConstant().equals(r))throw new G(q.path(e),"Expecting a constant value : "+r);return r}static enumCheck(e,t,r){let n=!1;for(let e of t.getEnums()??[])if(e===r){n=!0;break}if(n)return r;throw new G(q.path(e),"Value is not one of "+t.getEnums())}static typeValidation(e,t,r,n){let s=!1,a=[];for(const i of Array.from(t.getType()?.getAllowedSchemaTypes()?.values()??[]))try{W.validate(e,i,t,r,n),s=!0;break}catch(e){s=!1,a.push(e)}if(!s)throw new G(q.path(e),"Value "+JSON.stringify(n)+" is not of valid type(s)",a)}constructor(){}}class J{validateArguments(e,t,r){return Array.from(this.getSignature().getParameters().entries()).map((n=>{let s=n[1];try{return this.validateArgument(e,t,n,s)}catch(e){const t=this.getSignature();throw new P(`Error while executing the function ${t.getNamespace()}.${t.getName()}'s parameter ${s.getParameterName()} with step name '${r?.getStatement().getStatementName()??"Unknown Step"}' with error : ${e?.message}`)}})).reduce(((e,t)=>(e.set(t.getT1(),t.getT2()),e)),new Map)}validateArgument(e,t,r,n){let a,i=r[0],o=e.get(r[0]);if(s(o)&&!n.isVariableArgument())return new U(i,q.validate(void 0,n.getSchema(),t,void 0));if(!n?.isVariableArgument())return new U(i,q.validate(void 0,n.getSchema(),t,o));Array.isArray(o)?a=o:(a=[],s(o)?s(n.getSchema().getDefaultValue())||a.push(n.getSchema().getDefaultValue()):a.push(o));for(let e=0;e<a.length;e++)a[e]=q.validate(void 0,n.getSchema(),t,a[e]);return new U(i,a)}async execute(e){e.setArguments(this.validateArguments(e.getArguments()??new Map,e.getSchemaRepository(),e.getStatementExecution()));try{return this.internalExecute(e)}catch(t){const r=this.getSignature();throw new P(`Error while executing the function ${r.getNamespace()}.${r.getName()} with step name '${e.getStatementExecution()?.getStatement().getStatementName()??"Unknown Step"}' with error : ${t?.message}`)}}getProbableEventSignature(e){return this.getSignature().getEvents()}}class z extends J{static EVENT_INDEX_NAME="index";static EVENT_RESULT_NAME="result";static EVENT_INDEX=new w(w.OUTPUT,M.of(z.EVENT_INDEX_NAME,c.ofInteger(z.EVENT_INDEX_NAME)));static EVENT_RESULT_INTEGER=new w(w.OUTPUT,M.of(z.EVENT_RESULT_NAME,c.ofInteger(z.EVENT_RESULT_NAME)));static EVENT_RESULT_BOOLEAN=new w(w.OUTPUT,M.of(z.EVENT_RESULT_NAME,c.ofBoolean(z.EVENT_RESULT_NAME)));static EVENT_RESULT_ARRAY=new w(w.OUTPUT,M.of(z.EVENT_RESULT_NAME,c.ofArray(z.EVENT_RESULT_NAME,c.ofAny(z.EVENT_RESULT_NAME))));static EVENT_RESULT_EMPTY=new w(w.OUTPUT,M.of());static EVENT_RESULT_ANY=new w(w.OUTPUT,M.of(this.EVENT_RESULT_NAME,c.ofAny(this.EVENT_RESULT_NAME)));static PARAMETER_INT_LENGTH=p.of("length",c.ofInteger("length").setDefaultValue(-1));static PARAMETER_ARRAY_FIND=p.of("find",c.ofArray("eachFind",c.ofAny("eachFind")));static PARAMETER_INT_SOURCE_FROM=p.of("srcFrom",c.ofInteger("srcFrom").setDefaultValue(0).setMinimum(0));static PARAMETER_INT_SECOND_SOURCE_FROM=p.of("secondSrcFrom",c.ofInteger("secondSrcFrom").setDefaultValue(0));static PARAMETER_INT_FIND_FROM=p.of("findFrom",c.ofInteger("findFrom").setDefaultValue(0));static PARAMETER_INT_OFFSET=p.of("offset",c.ofInteger("offset").setDefaultValue(0));static PARAMETER_ROTATE_LENGTH=p.of("rotateLength",c.ofInteger("rotateLength").setDefaultValue(1).setMinimum(1));static PARAMETER_BOOLEAN_ASCENDING=p.of("ascending",c.ofBoolean("ascending").setDefaultValue(!1));static PARAMETER_FIND_PRIMITIVE=p.of("findPrimitive",c.of("findPrimitive",i.STRING,i.DOUBLE,i.FLOAT,i.INTEGER,i.LONG));static PARAMETER_ARRAY_SOURCE=p.of("source",c.ofArray("eachSource",c.ofAny("eachSource")));static PARAMETER_ARRAY_SECOND_SOURCE=p.of("secondSource",c.ofArray("eachSecondSource",c.ofAny("eachSecondSource")));static PARAMETER_ARRAY_SOURCE_PRIMITIVE=p.of("source",c.ofArray("eachSource",(new c).setName("eachSource").setType(l.of(i.STRING,i.NULL,i.INTEGER,i.FLOAT,i.DOUBLE,i.LONG))));static PARAMETER_BOOLEAN_DEEP_COPY=p.of("deepCopy",c.ofBoolean("deepCopy").setDefaultValue(!0));static PARAMETER_ANY=p.of("element",c.ofAny("element"));static PARAMETER_ANY_NOT_NULL=p.of("elementObject",c.ofAnyNotNull("elementObject"));static PARAMETER_ANY_VAR_ARGS=p.of("element",c.ofAny("element")).setVariableArgument(!0);static PARAMETER_ARRAY_RESULT=p.of(z.EVENT_RESULT_NAME,c.ofArray("eachResult",c.ofAny("eachResult")));constructor(e,t,r){super();const s=new Map;for(const e of t)s.set(e.getParameterName(),e);this.signature=new y(e).setNamespace(n.SYSTEM_ARRAY).setParameters(s).setEvents(M.of(r.getName(),r))}getSignature(){return this.signature}}class K extends z{constructor(){super("Add",[z.PARAMETER_ARRAY_SOURCE,z.PARAMETER_ARRAY_SECOND_SOURCE],z.EVENT_RESULT_EMPTY)}async internalExecute(e){let t=e?.getArguments()?.get(z.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(z.PARAMETER_ARRAY_SECOND_SOURCE.getParameterName());return t.splice(t.length,0,...r),new d([I.outputOf(new Map([]))])}}class Q extends z{constructor(){super("AddFirst",[z.PARAMETER_ARRAY_SOURCE,z.PARAMETER_ANY_NOT_NULL],z.EVENT_RESULT_EMPTY)}async internalExecute(e){let t=e?.getArguments()?.get(z.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(z.PARAMETER_ANY_NOT_NULL.getParameterName());if(0==t.length)return t.push(r),new d([I.outputOf(new Map([]))]);t.push(r);let n=t.length-1;for(;n>0;){let e=t[n-1];t[n-1]=t[n],t[n--]=e}return new d([I.outputOf(new Map([]))])}}class Z extends z{constructor(){super("ArrayToObjects",[z.PARAMETER_ARRAY_SOURCE,p.of("keyName",c.ofString("keyName"),!0)],z.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(Z.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get("keyName");if(!t?.length)return new d([I.outputOf(new Map([[z.EVENT_RESULT_NAME,[]]]))]);let n=t.map((e=>{const t={};if(Array.isArray(e))if(r.length)r.forEach(((r,n)=>{t[r]=e[n]}));else for(let r=0;r<e.length;r++)t[`value${r+1}`]=e[r];else t[r.length?r[0]:"value"]=e;return t}));return new d([I.outputOf(new Map([[z.EVENT_RESULT_NAME,n]]))])}}e({},"PrimitiveUtil",(()=>te));e({},"ExecutionException",(()=>ee));class ee extends Error{constructor(e,t){super(e),this.cause=t}getCause(){return this.cause}}class te{static findPrimitiveNullAsBoolean(e){if(s(e))return new U(i.BOOLEAN,!1);let t=typeof e;if("object"===t)throw new ee(x.format("$ is not a primitive type",e));let r=e;return"boolean"===t?new U(i.BOOLEAN,r):"string"===t?new U(i.STRING,r):te.findPrimitiveNumberType(r)}static findPrimitive(e){if(s(e))return new U(i.NULL,void 0);let t=typeof e;if("object"===t)throw new ee(x.format("$ is not a primitive type",e));let r=e;return"boolean"===t?new U(i.BOOLEAN,r):"string"===t?new U(i.STRING,r):te.findPrimitiveNumberType(r)}static findPrimitiveNumberType(e){if(s(e)||Array.isArray(e)||"object"==typeof e)throw new ee(x.format("Unable to convert $ to a number.",e));let t=e;try{let e=t;return Number.isInteger(e)?new U(i.LONG,e):new U(i.DOUBLE,e)}catch(e){throw new ee(x.format("Unable to convert $ to a number.",t),e)}}static compare(e,t){if(e==t)return 0;if(s(e)||s(t))return s(e)?-1:1;if(Array.isArray(e)||Array.isArray(t)){if(Array.isArray(e)&&Array.isArray(t)){if(e.length!=t.length)return e.length-t.length;for(let r=0;r<e.length;r++){let n=this.compare(e[r],t[r]);if(0!=n)return n}return 0}return Array.isArray(e)?-1:1}const r=typeof e,n=typeof t;return"object"===r||"object"===n?("object"===r&&"object"===n&&Object.keys(e).forEach((r=>{let n=this.compare(e[r],t[r]);if(0!=n)return n})),"object"===r?-1:1):this.comparePrimitive(e,t)}static comparePrimitive(e,t){return s(e)||s(t)?s(e)&&s(t)?0:s(e)?-1:1:e==t?0:"boolean"==typeof e||"boolean"==typeof t?e?-1:1:"string"==typeof e||"string"==typeof t?e+""<t+""?-1:1:"number"==typeof e||"number"==typeof t?e-t:0}static baseNumberType(e){return Number.isInteger(e)?i.LONG:i.DOUBLE}static toPrimitiveType(e){return e}constructor(){}}class re extends z{constructor(){super("BinarySearch",[re.PARAMETER_ARRAY_SOURCE_PRIMITIVE,re.PARAMETER_INT_SOURCE_FROM,re.PARAMETER_FIND_PRIMITIVE,re.PARAMETER_INT_LENGTH],re.EVENT_INDEX)}async internalExecute(e){let t=e?.getArguments()?.get(re.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(re.PARAMETER_INT_SOURCE_FROM.getParameterName()),n=e?.getArguments()?.get(re.PARAMETER_FIND_PRIMITIVE.getParameterName()),s=e?.getArguments()?.get(re.PARAMETER_INT_LENGTH.getParameterName());if(0==t.length||r<0||r>t.length)throw new P("Search source array cannot be empty");if(-1==s&&(s=t.length-r),s=r+s,s>t.length)throw new P("End point for array cannot be more than the size of the source array");let a=-1;for(;r<=s;){let e=Math.floor((r+s)/2);if(0==te.compare(t[e],n)){a=e;break}te.compare(t[e],n)>0?s=e-1:r=e+1}return new d([I.outputOf(new Map([[re.EVENT_INDEX.getName(),a]]))])}}e({},"ArrayUtil",(()=>ne));class ne{static removeAListFrom(e,t){if(!(t&&e&&e.length&&t.length))return;const r=new Set(t);for(let t=0;t<e.length;t++)r.has(e[t])&&(e.splice(t,1),t--)}static of(...e){const t=new Array(e.length);for(let r=0;r<e.length;r++)t[r]=e[r];return t}constructor(){}}class se extends z{constructor(){super("Compare",ne.of(se.PARAMETER_ARRAY_SOURCE,se.PARAMETER_INT_SOURCE_FROM,se.PARAMETER_ARRAY_FIND,se.PARAMETER_INT_FIND_FROM,se.PARAMETER_INT_LENGTH),se.EVENT_RESULT_INTEGER)}async internalExecute(e){var t=e?.getArguments()?.get(se.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(se.PARAMETER_INT_SOURCE_FROM.getParameterName()),n=e?.getArguments()?.get(se.PARAMETER_ARRAY_FIND.getParameterName()),s=e?.getArguments()?.get(se.PARAMETER_INT_FIND_FROM.getParameterName()),a=e?.getArguments()?.get(se.PARAMETER_INT_LENGTH.getParameterName());if(0==t.length)throw new P("Compare source array cannot be empty");if(0==n.length)throw new P("Compare find array cannot be empty");if(-1==a&&(a=t.length-r),r+a>t.length)throw new P(x.format("Source array size $ is less than comparing size $",t.length,r+a));if(s+a>n.length)throw new P(x.format("Find array size $ is less than comparing size $",n.length,s+a));return new d(ne.of(I.outputOf(M.of(se.EVENT_RESULT_NAME,this.compare(t,r,r+a,n,s,s+a)))))}compare(e,t,r,n,a,i){if(r<t){let e=t;t=r,r=e}if(i<a){let e=a;a=i,i=e}if(r-t!=i-a)throw new P(x.format("Cannot compare uneven arrays from $ to $ in source array with $ to $ in find array",r,t,i,a));for(let i=t,o=a;i<r;i++,o++){let t=1;if(s(e[i])||s(n[o])){let r=s(e[i]);r==s(n[o])?t=0:r&&(t=-1)}else{let r=typeof e[i],s=typeof n[o];if("object"===r||"object"===s)t=1;else if("string"===r||"string"===s){let r=""+e[i],s=""+n[o];r===s?t=0:r<s&&(t=-1)}else"boolean"===r||"boolean"===s?t=r==s?0:1:"number"===r&&"number"===s&&(t=e[i]-n[o])}if(0!=t)return t}return 0}}class ae extends z{constructor(){super("Copy",[ae.PARAMETER_ARRAY_SOURCE,ae.PARAMETER_INT_SOURCE_FROM,ae.PARAMETER_INT_LENGTH,ae.PARAMETER_BOOLEAN_DEEP_COPY],ae.EVENT_RESULT_ARRAY)}async internalExecute(e){var t=e?.getArguments()?.get(ae.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(ae.PARAMETER_INT_SOURCE_FROM.getParameterName()),n=e?.getArguments()?.get(ae.PARAMETER_INT_LENGTH.getParameterName());if(-1==n&&(n=t.length-r),r+n>t.length)throw new P(x.format("Array has no elements from $ to $ as the array size is $",r,r+n,t.length));var a=e?.getArguments()?.get(ae.PARAMETER_BOOLEAN_DEEP_COPY.getParameterName());const i=new Array(n);for(let e=r;e<r+n;e++)s(t[e])||(i[e-r]=a?JSON.parse(JSON.stringify(t[e])):t[e]);return new d([I.outputOf(M.of(ae.EVENT_RESULT_NAME,i))])}}class ie extends z{constructor(){super("Delete",[z.PARAMETER_ARRAY_SOURCE,z.PARAMETER_ANY_VAR_ARGS],z.EVENT_RESULT_EMPTY)}async internalExecute(e){let t=e?.getArguments()?.get(ie.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(ie.PARAMETER_ANY_VAR_ARGS.getParameterName());if(null==r)throw new P("The deletable var args are empty. So cannot be proceeded further.");if(0==t.length||0==r.length)throw new P("Expected a source or deletable for an array but not found any");let n=new Set,s=[];for(let e=t.length-1;e>=0;e--)for(let s=0;s<r.length;s++)n.has(e)||0!=te.compare(t[e],r[s])||n.add(t[e]);return s=t.filter((e=>!n.has(e))),t.splice(0,t.length,...s),new d([I.outputOf(new Map([]))])}}class oe extends z{constructor(){super("DeleteFirst",[oe.PARAMETER_ARRAY_SOURCE],oe.EVENT_RESULT_EMPTY)}async internalExecute(e){let t=e?.getArguments()?.get(oe.PARAMETER_ARRAY_SOURCE.getParameterName());if(0==t.length)throw new P("Given source array is empty");return t.shift(),new d([I.outputOf(new Map([]))])}}class Ee extends z{constructor(){super("DeleteFrom",[Ee.PARAMETER_ARRAY_SOURCE,Ee.PARAMETER_INT_SOURCE_FROM,Ee.PARAMETER_INT_LENGTH],Ee.EVENT_RESULT_EMPTY)}async internalExecute(e){let t=e?.getArguments()?.get(Ee.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(Ee.PARAMETER_INT_SOURCE_FROM.getParameterName()),n=e?.getArguments()?.get(Ee.PARAMETER_INT_LENGTH.getParameterName());if(0==t.length)throw new P("There are no elements to be deleted");if(r>=t.length||r<0)throw new P("The int source for the array should be in between 0 and length of the array ");if(-1==n&&(n=t.length-r),r+n>t.length)throw new P("Requested length to be deleted is more than the size of array ");return t.splice(r,n),new d([I.outputOf(new Map([]))])}}class ue extends z{constructor(){super("DeleteLast",[ue.PARAMETER_ARRAY_SOURCE],ue.EVENT_RESULT_EMPTY)}async internalExecute(e){let t=e?.getArguments()?.get(ue.PARAMETER_ARRAY_SOURCE.getParameterName());if(0==t.length)throw new P("Given source array is empty");return t.pop(),new d([I.outputOf(new Map([]))])}}class Ae extends z{constructor(){super("Disjoint",[Ae.PARAMETER_ARRAY_SOURCE,Ae.PARAMETER_INT_SOURCE_FROM,Ae.PARAMETER_ARRAY_SECOND_SOURCE,Ae.PARAMETER_INT_SECOND_SOURCE_FROM,Ae.PARAMETER_INT_LENGTH],Ae.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(Ae.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(Ae.PARAMETER_INT_SOURCE_FROM.getParameterName()),n=e?.getArguments()?.get(Ae.PARAMETER_ARRAY_SECOND_SOURCE.getParameterName()),s=e?.getArguments()?.get(Ae.PARAMETER_INT_SECOND_SOURCE_FROM.getParameterName()),a=e?.getArguments()?.get(Ae.PARAMETER_INT_LENGTH.getParameterName());if(-1==a&&(a=t.length<=n.length?t.length-r:n.length-s),a>t.length||a>n.length||r+a>t.length||s+a>n.length)throw new P("The length which was being requested is more than than the size either source array or second source array");let i=new Set,o=new Set;for(let e=0;e<a;e++)i.add(t[e+r]);for(let e=0;e<a;e++)o.add(n[e+s]);let E=new Set;i.forEach((e=>{o.has(e)?o.delete(e):E.add(e)})),o.forEach((e=>{i.has(e)||E.add(e)}));let u=[];return E.forEach((e=>u.push(e))),new d([I.outputOf(new Map([[Ae.EVENT_RESULT_ARRAY.getName(),u]]))])}}class le extends z{constructor(){super("Equals",[le.PARAMETER_ARRAY_SOURCE,le.PARAMETER_INT_SOURCE_FROM,le.PARAMETER_ARRAY_FIND,le.PARAMETER_INT_FIND_FROM,le.PARAMETER_INT_LENGTH],le.EVENT_RESULT_BOOLEAN)}async internalExecute(e){let t=new se,r=(await t.execute(e)).allResults()[0].getResult().get(le.EVENT_RESULT_NAME);return new d([I.outputOf(M.of(le.EVENT_RESULT_NAME,0==r))])}}class ge extends z{constructor(){super("Fill",[ge.PARAMETER_ARRAY_SOURCE,ge.PARAMETER_INT_SOURCE_FROM,ge.PARAMETER_INT_LENGTH,ge.PARAMETER_ANY],ge.EVENT_RESULT_EMPTY)}async internalExecute(e){var t=e?.getArguments()?.get(ge.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(ge.PARAMETER_INT_SOURCE_FROM.getParameterName()),n=e?.getArguments()?.get(ge.PARAMETER_INT_LENGTH.getParameterName()),a=e?.getArguments()?.get(ge.PARAMETER_ANY.getParameterName());if(r<0)throw new P(x.format("Arrays out of bound trying to access $ index",r));-1==n&&(n=t.length-r);let i=r+n-t.length;if(i>0)for(let e=0;e<i;e++)t.push();for(let e=r;e<r+n;e++)t[e]=s(a)?a:JSON.parse(JSON.stringify(a));return new d([I.outputOf(M.of())])}}class ce extends z{constructor(){super("Frequency",[ce.PARAMETER_ARRAY_SOURCE,ce.PARAMETER_ANY,ce.PARAMETER_INT_SOURCE_FROM,ce.PARAMETER_INT_LENGTH],ce.EVENT_RESULT_INTEGER)}async internalExecute(e){let t=e?.getArguments()?.get(ce.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(ce.PARAMETER_ANY.getParameterName()),n=e?.getArguments()?.get(ce.PARAMETER_INT_SOURCE_FROM.getParameterName()),a=e?.getArguments()?.get(ce.PARAMETER_INT_LENGTH.getParameterName());if(0==t.length)return new d([I.outputOf(new Map([[ce.EVENT_RESULT_INTEGER.getName(),0]]))]);if(n>t.length)throw new P("Given start point is more than the size of source");if(s(r))throw new P("Given find was null. Hence cannot be found in the array");let i=n+a;if(-1==a&&(i=t.length-n),i>t.length)throw new P("Given length is more than the size of source");let o=0;for(let e=n;e<i&&e<t.length;e++)0==te.compare(t[e],r)&&o++;return new d([I.outputOf(new Map([[ce.EVENT_RESULT_INTEGER.getName(),o]]))])}}class me extends z{constructor(){super("IndexOf",[me.PARAMETER_ARRAY_SOURCE,me.PARAMETER_ANY_NOT_NULL,me.PARAMETER_INT_FIND_FROM],me.EVENT_RESULT_INTEGER)}async internalExecute(e){let t=e?.getArguments()?.get(me.PARAMETER_ARRAY_SOURCE.getParameterName());var r=e?.getArguments()?.get(me.PARAMETER_ANY_NOT_NULL.getParameterName());let n=e?.getArguments()?.get(me.PARAMETER_INT_FIND_FROM.getParameterName());if(0==t.length)return new d([I.outputOf(new Map([[me.EVENT_RESULT_INTEGER.getName(),-1]]))]);if(n<0||n>t.length)throw new P("The size of the search index of the array is greater than the size of the array");let s=-1;for(let e=n;e<t.length;e++)if(0==te.compare(t[e],r)){s=e;break}return new d([I.outputOf(new Map([[me.EVENT_RESULT_INTEGER.getName(),s]]))])}}class Te extends z{constructor(){super("IndexOfArray",[Te.PARAMETER_ARRAY_SOURCE,Te.PARAMETER_ARRAY_SECOND_SOURCE,Te.PARAMETER_INT_FIND_FROM],Te.EVENT_RESULT_INTEGER)}async internalExecute(e){let t=e?.getArguments()?.get(Te.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(Te.PARAMETER_ARRAY_SECOND_SOURCE.getParameterName()),n=e?.getArguments()?.get(Te.PARAMETER_INT_FIND_FROM.getParameterName());if(0==t.length||0==r.length)return new d([I.outputOf(new Map([[Te.EVENT_RESULT_INTEGER.getName(),-1]]))]);if(n<0||n>t.length||t.length<r.length)throw new P("Given from second source is more than the size of the source array");let s=r.length,a=-1;for(let e=n;e<t.length;e++){let n=0;if(0==te.compare(t[e],r[n])){for(;n<s&&0==te.compare(t[e+n],r[n]);)n++;if(n==s){a=e;break}}}return new d([I.outputOf(new Map([[Te.EVENT_RESULT_INTEGER.getName(),a]]))])}}class Re extends z{constructor(){super("LastIndexOf",[Re.PARAMETER_ARRAY_SOURCE,Re.PARAMETER_ANY_NOT_NULL,Re.PARAMETER_INT_FIND_FROM],Re.EVENT_RESULT_INTEGER)}async internalExecute(e){let t=e?.getArguments()?.get(Re.PARAMETER_ARRAY_SOURCE.getParameterName());var r=e?.getArguments()?.get(Re.PARAMETER_ANY_NOT_NULL.getParameterName());let n=e?.getArguments()?.get(Re.PARAMETER_INT_FIND_FROM.getParameterName());if(0==t.length)return new d([I.outputOf(new Map([[Re.EVENT_RESULT_INTEGER.getName(),-1]]))]);if(n<0||n>t.length)throw new P("The value of length shouldn't the exceed the size of the array or shouldn't be in terms");let s=-1;for(let e=t.length-1;e>=n;e--)if(0==te.compare(t[e],r)){s=e;break}return new d([I.outputOf(new Map([[Re.EVENT_RESULT_INTEGER.getName(),s]]))])}}class pe extends z{constructor(){super("LastIndexOfArray",[pe.PARAMETER_ARRAY_SOURCE,pe.PARAMETER_ARRAY_SECOND_SOURCE,pe.PARAMETER_INT_FIND_FROM],pe.EVENT_RESULT_INTEGER)}async internalExecute(e){let t=e?.getArguments()?.get(pe.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(pe.PARAMETER_ARRAY_SECOND_SOURCE.getParameterName()),n=e?.getArguments()?.get(pe.PARAMETER_INT_FIND_FROM.getParameterName());if(0==t.length)return new d([I.outputOf(new Map([[pe.EVENT_RESULT_ARRAY.getName(),-1]]))]);if(n<0||n>t.length||r.length>t.length)throw new P("Given from index is more than the size of the source array");let s=r.length,a=-1;for(let e=n;e<t.length;e++){let n=0;if(0==te.compare(t[e],r[n])){for(;n<s&&0==te.compare(t[e+n],r[n]);)n++;n==s&&(a=e)}}return new d([I.outputOf(new Map([[pe.EVENT_RESULT_INTEGER.getName(),a]]))])}}class he extends z{constructor(){super("Max",[he.PARAMETER_ARRAY_SOURCE_PRIMITIVE],he.EVENT_RESULT_ANY)}async internalExecute(e){let t=e?.getArguments()?.get(he.PARAMETER_ARRAY_SOURCE_PRIMITIVE.getParameterName());if(0==t.length)throw new P("Search source array cannot be empty");let r=t[0];for(let e=1;e<t.length;e++){let n=t[e];te.comparePrimitive(r,n)>=0||(r=n)}return new d([I.outputOf(new Map([[he.EVENT_RESULT_ANY.getName(),r]]))])}}class Ne extends z{constructor(){super("Min",[Ne.PARAMETER_ARRAY_SOURCE_PRIMITIVE],Ne.EVENT_RESULT_ANY)}async internalExecute(e){let t,r=e?.getArguments()?.get(Ne.PARAMETER_ARRAY_SOURCE_PRIMITIVE.getParameterName());if(0==r.length)throw new P("Search source array cannot be empty");for(let e=0;e<r.length;e++)s(r[e])||(void 0===t||te.comparePrimitive(r[e],t)<0)&&(t=r[e]);return new d([I.outputOf(new Map([[Ne.EVENT_RESULT_ANY.getName(),t]]))])}}class fe extends z{constructor(){super("MisMatch",[fe.PARAMETER_ARRAY_SOURCE,fe.PARAMETER_INT_FIND_FROM,fe.PARAMETER_ARRAY_SECOND_SOURCE,fe.PARAMETER_INT_SECOND_SOURCE_FROM,fe.PARAMETER_INT_LENGTH],fe.EVENT_RESULT_INTEGER)}async internalExecute(e){let t=e?.getArguments()?.get(fe.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(fe.PARAMETER_INT_FIND_FROM.getParameterName()),n=e?.getArguments()?.get(fe.PARAMETER_ARRAY_SECOND_SOURCE.getParameterName()),s=e?.getArguments()?.get(fe.PARAMETER_INT_SECOND_SOURCE_FROM.getParameterName()),a=e?.getArguments()?.get(fe.PARAMETER_INT_LENGTH.getParameterName()),i=r<t.length&&r>0?r:0,o=s<n.length&&s>0?s:0;if(i+a>=t.length||o+a>n.length)throw new P("The size of the array for first and second which was being requested is more than size of the given array");let E=-1;for(let e=0;e<a;e++)if(t[i+e]!=n[o+e]){E=e;break}return new d([I.outputOf(new Map([[fe.EVENT_RESULT_INTEGER.getName(),E]]))])}}class _e extends z{constructor(){super("Reverse",[_e.PARAMETER_ARRAY_SOURCE,_e.PARAMETER_INT_SOURCE_FROM,_e.PARAMETER_INT_LENGTH],_e.EVENT_RESULT_EMPTY)}async internalExecute(e){let t=e?.getArguments()?.get(_e.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(_e.PARAMETER_INT_SOURCE_FROM.getParameterName()),n=e?.getArguments()?.get(_e.PARAMETER_INT_LENGTH.getParameterName());if(-1==n&&(n=t.length-r),n>=t.length||n<0||r<0)throw new P("Please provide start point between the start and end indexes or provide the length which was less than the source size ");let s=r+n-1;for(;r<=s;){let e=t[r],n=t[s];t[r++]=n,t[s--]=e}return new d([I.outputOf(new Map([]))])}}class Se extends z{constructor(){super("Rotate",[Se.PARAMETER_ARRAY_SOURCE,Se.PARAMETER_ROTATE_LENGTH],Se.EVENT_RESULT_EMPTY)}async internalExecute(e){let t=e?.getArguments()?.get(Se.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(Se.PARAMETER_ROTATE_LENGTH.getParameterName());if(0==t.length)return new d([I.outputOf(new Map([]))]);let n=t.length;return r%=n,this.rotate(t,0,r-1),this.rotate(t,r,n-1),this.rotate(t,0,n-1),new d([I.outputOf(new Map([]))])}rotate(e,t,r){for(;t<r;){let n=e[t];e[t++]=e[r],e[r--]=n}}}class Me extends z{constructor(){super("Shuffle",[Me.PARAMETER_ARRAY_SOURCE],Me.EVENT_RESULT_EMPTY)}async internalExecute(e){let t=e?.getArguments()?.get(Me.PARAMETER_ARRAY_SOURCE.getParameterName());if(t.length<=1)return new d([I.outputOf(new Map([]))]);let r=0,n=t.length;for(let e=0;e<n;e++){let e=Math.floor(Math.random()*n)%n,s=t[r];t[r]=t[e],t[e]=s,r=e}return new d([I.outputOf(new Map([]))])}}class Oe extends z{constructor(){super("Sort",[Oe.PARAMETER_ARRAY_SOURCE_PRIMITIVE,Oe.PARAMETER_INT_FIND_FROM,Oe.PARAMETER_INT_LENGTH,Oe.PARAMETER_BOOLEAN_ASCENDING],Oe.EVENT_RESULT_EMPTY)}async internalExecute(e){let t=e?.getArguments()?.get(Oe.PARAMETER_ARRAY_SOURCE_PRIMITIVE.getParameterName()),r=e?.getArguments()?.get(Oe.PARAMETER_INT_FIND_FROM.getParameterName()),n=e?.getArguments()?.get(Oe.PARAMETER_INT_LENGTH.getParameterName()),s=e?.getArguments()?.get(Oe.PARAMETER_BOOLEAN_ASCENDING.getParameterName());if(0==t.length)return new d([I.outputOf(new Map([[Oe.EVENT_RESULT_EMPTY.getName(),t]]))]);if(-1==n&&(n=t.length-r),r<0||r>=t.length||r+n>t.length)throw new P("Given start point is more than the size of the array or not available at that point");let a=t.slice(r,r+n+1);return a.sort(((e,t)=>function(e,t,r){return e===t?0:null===e?1:null===t?-1:r?e<t?1:-1:e<t?-1:1}(e,t,s))),t.splice(r,n,...a),new d([I.outputOf(new Map([[Oe.EVENT_RESULT_EMPTY.getName(),t]]))])}}class we extends z{constructor(){super("SubArray",[we.PARAMETER_ARRAY_SOURCE,we.PARAMETER_INT_FIND_FROM,we.PARAMETER_INT_LENGTH],we.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(we.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(we.PARAMETER_INT_FIND_FROM.getParameterName()),n=e?.getArguments()?.get(we.PARAMETER_INT_LENGTH.getParameterName());if(-1==n&&(n=t.length-r),n<=0)return new d([I.outputOf(new Map([]))]);if(!(r>=0&&r<t.length)||r+n>t.length)throw new P("Given find from point is more than the source size array or the Requested length for the subarray was more than the source size");let s=t.slice(r,r+n);return new d([I.outputOf(new Map([[we.EVENT_RESULT_ARRAY.getName(),s]]))])}}class Ie{static repoMap=M.ofArrayEntries(_(new K),_(new Q),_(new re),_(new se),_(new ae),_(new ie),_(new oe),_(new Ee),_(new ue),_(new Ae),_(new le),_(new ge),_(new ce),_(new me),_(new Te),_(new Re),_(new pe),_(new he),_(new Ne),_(new fe),_(new _e),_(new Se),_(new Me),_(new Oe),_(new we),_(new Z));static filterableNames=Array.from(Ie.repoMap.values()).map((e=>e.getSignature().getFullName()));find(e,t){if(e==n.SYSTEM_ARRAY)return Ie.repoMap.get(t)}filter(e){return Ie.filterableNames.filter((t=>-1!==t.toLowerCase().indexOf(e.toLowerCase())))}}e({},"ContextElement",(()=>Pe));class Pe{static NULL=new Pe(c.NULL,void 0);constructor(e,t){this.schema=e,this.element=t}getSchema(){return this.schema}setSchema(e){return this.schema=e,this}getElement(){return this.element}setElement(e){return this.element=e,this}}const de=new y("Create").setNamespace(n.SYSTEM_CTX).setParameters(new Map([p.ofEntry("name",(new c).setName("name").setType(l.of(i.STRING)).setMinLength(1).setFormat($.REGEX).setPattern("^[a-zA-Z_$][a-zA-Z_$0-9]*$"),!1,T.CONSTANT),p.ofEntry("schema",c.SCHEMA,!1,T.CONSTANT)])).setEvents(new Map([w.outputEventMapEntry(new Map)]));const ye=new y("Get").setNamespace(n.SYSTEM_CTX).setParameters(new Map([p.ofEntry("name",(new c).setName("name").setType(l.of(i.STRING)).setMinLength(1).setFormat($.REGEX).setPattern("^[a-zA-Z_$][a-zA-Z_$0-9]*$"),!1,T.CONSTANT)])).setEvents(new Map([w.outputEventMapEntry(new Map([["value",c.ofAny("value")]]))]));e({},"Expression",(()=>De));e({},"LinkedList",(()=>Le));function xe(e,t){let r=new Le;r.push(e);let n=new Le;for(n.push(t);!r.isEmpty()&&!n.isEmpty();){const e=r.pop(),t=n.pop();if(e===t)continue;const s=typeof e,a=typeof t;if("undefined"===s||"undefined"===a){if(!e&&!t)continue;return!1}if(s!==a)return!1;if(Array.isArray(e)){if(!Array.isArray(t)||e.length!=t.length)return!1;for(let s=0;s<e.length;s++)r.push(e[s]),n.push(t[s])}else{if("object"!==s)return!1;{const s=Object.entries(e),a=Object.entries(t);if(s.length!==a.length)return!1;for(const[e,a]of s)r.push(a),n.push(t[e])}}}return!0}e({},"deepEqual",(()=>xe));class Le{head=void 0;tail=void 0;length=0;constructor(e){if(e?.length){for(const t of e)if(this.head){const e=new ve(t,this.tail);this.tail.next=e,this.tail=e}else this.tail=this.head=new ve(t);this.length=e.length}}push(e){const t=new ve(e,void 0,this.head);this.head?(this.head.previous=t,this.head=t):this.tail=this.head=t,this.length++}pop(){if(!this.head)throw Error("List is empty and cannot pop further.");const e=this.head.value;if(this.length--,this.head==this.tail)return this.head=this.tail=void 0,e;const t=this.head;return this.head=t.next,t.next=void 0,t.previous=void 0,this.head.previous=void 0,e}isEmpty(){return!this.length}size(){return this.length}get(e){if(e<0||e>=this.length)throw new Error(`${e} is out of bounds [0,${this.length}]`);let t=this.head;for(;e>0;)t=this.head.next,--e;return t.value}set(e,t){if(e<0||e>=this.length)throw new P(x.format("Index $ out of bound to set the value in linked list.",e));let r=this.head;for(;e>0;)r=this.head.next,--e;return r.value=t,this}toString(){let e=this.head,t="";for(;e;)t+=e.value,e=e.next,e&&(t+=", ");return`[${t}]`}toArray(){let e=[],t=this.head;for(;t;)e.push(t.value),t=t.next;return e}peek(){if(!this.head)throw new Error("List is empty so cannot peak");return this.head.value}peekLast(){if(!this.tail)throw new Error("List is empty so cannot peak");return this.tail.value}getFirst(){if(!this.head)throw new Error("List is empty so cannot get first");return this.head.value}removeFirst(){return this.pop()}removeLast(){if(!this.tail)throw new Error("List is empty so cannot remove");--this.length;const e=this.tail.value;if(0==this.length)this.head=this.tail=void 0;else{const e=this.tail.previous;e.next=void 0,this.tail.previous=void 0,this.tail=e}return e}addAll(e){return e&&e.length?(e.forEach(this.add.bind(this)),this):this}add(e){return++this.length,this.tail||this.head?this.head===this.tail?(this.tail=new ve(e,this.head),this.head.next=this.tail):(this.tail=new ve(e,this.tail),this.tail.previous.next=this.tail):this.head=this.tail=new ve(e),this}map(e,t){let r=new Le,n=this.head,s=0;for(;n;)r.add(e(n.value,s)),n=n.next,++s;return r}indexOf(e){let t=this.head,r=0;for(;t;){if(xe(t.value,e))return r;t=t.next,++r}return-1}forEach(e,t){let r=this.head,n=0;for(;r;)e(r.value,n),r=r.next,++n}}class ve{constructor(e,t,r){this.value=e,this.next=r,this.previous=t}toString(){return""+this.value}}e({},"StringBuilder",(()=>Ue));class Ue{constructor(e){this.str=e??""}append(e){return this.str+=e,this}toString(){return""+this.str}trim(){return this.str=this.str.trim(),this}setLength(e){return this.str=this.str.substring(0,e),this}length(){return this.str.length}charAt(e){return this.str.charAt(e)}deleteCharAt(e){return this.checkIndex(e),this.str=this.str.substring(0,e)+this.str.substring(e+1),this}insert(e,t){return this.str=this.str.substring(0,e)+t+this.str.substring(e),this}checkIndex(e){if(e>=this.str.length)throw new P(`Index ${e} is greater than or equal to ${this.str.length}`)}substring(e,t){return this.str.substring(e,t)}}e({},"ExpressionEvaluationException",(()=>Ve));class Ve extends Error{constructor(e,t,r){super(x.format("$ : $",e,t)),this.cause=r}getCause(){return this.cause}}e({},"ExpressionToken",(()=>Ce));class Ce{constructor(e){this.expression=e}getExpression(){return this.expression}toString(){return this.expression}}e({},"ExpressionTokenValue",(()=>Ge));class Ge extends Ce{constructor(e,t){super(e),this.element=t}getTokenValue(){return this.element}getElement(){return this.element}toString(){return x.format("$: $",this.expression,this.element)}}e({},"Operation",(()=>be));class be{static MULTIPLICATION=new be("*");static DIVISION=new be("/");static INTEGER_DIVISION=new be("//");static MOD=new be("%");static ADDITION=new be("+");static SUBTRACTION=new be("-");static NOT=new be("not",void 0,!0);static AND=new be("and",void 0,!0);static OR=new be("or",void 0,!0);static LESS_THAN=new be("<");static LESS_THAN_EQUAL=new be("<=");static GREATER_THAN=new be(">");static GREATER_THAN_EQUAL=new be(">=");static EQUAL=new be("=");static NOT_EQUAL=new be("!=");static BITWISE_AND=new be("&");static BITWISE_OR=new be("|");static BITWISE_XOR=new be("^");static BITWISE_COMPLEMENT=new be("~");static BITWISE_LEFT_SHIFT=new be("<<");static BITWISE_RIGHT_SHIFT=new be(">>");static BITWISE_UNSIGNED_RIGHT_SHIFT=new be(">>>");static UNARY_PLUS=new be("UN: +","+");static UNARY_MINUS=new be("UN: -","-");static UNARY_LOGICAL_NOT=new be("UN: not","not");static UNARY_BITWISE_COMPLEMENT=new be("UN: ~","~");static ARRAY_OPERATOR=new be("[");static OBJECT_OPERATOR=new be(".");static NULLISH_COALESCING_OPERATOR=new be("??");static CONDITIONAL_TERNARY_OPERATOR=new be("?");static VALUE_OF=new Map([["MULTIPLICATION",be.MULTIPLICATION],["DIVISION",be.DIVISION],["INTEGER_DIVISON",be.INTEGER_DIVISION],["MOD",be.MOD],["ADDITION",be.ADDITION],["SUBTRACTION",be.SUBTRACTION],["NOT",be.NOT],["AND",be.AND],["OR",be.OR],["LESS_THAN",be.LESS_THAN],["LESS_THAN_EQUAL",be.LESS_THAN_EQUAL],["GREATER_THAN",be.GREATER_THAN],["GREATER_THAN_EQUAL",be.GREATER_THAN_EQUAL],["EQUAL",be.EQUAL],["NOT_EQUAL",be.NOT_EQUAL],["BITWISE_AND",be.BITWISE_AND],["BITWISE_OR",be.BITWISE_OR],["BITWISE_XOR",be.BITWISE_XOR],["BITWISE_COMPLEMENT",be.BITWISE_COMPLEMENT],["BITWISE_LEFT_SHIFT",be.BITWISE_LEFT_SHIFT],["BITWISE_RIGHT_SHIFT",be.BITWISE_RIGHT_SHIFT],["BITWISE_UNSIGNED_RIGHT_SHIFT",be.BITWISE_UNSIGNED_RIGHT_SHIFT],["UNARY_PLUS",be.UNARY_PLUS],["UNARY_MINUS",be.UNARY_MINUS],["UNARY_LOGICAL_NOT",be.UNARY_LOGICAL_NOT],["UNARY_BITWISE_COMPLEMENT",be.UNARY_BITWISE_COMPLEMENT],["ARRAY_OPERATOR",be.ARRAY_OPERATOR],["OBJECT_OPERATOR",be.OBJECT_OPERATOR],["NULLISH_COALESCING_OPERATOR",be.NULLISH_COALESCING_OPERATOR],["CONDITIONAL_TERNARY_OPERATOR",be.CONDITIONAL_TERNARY_OPERATOR]]);static UNARY_OPERATORS=new Set([be.ADDITION,be.SUBTRACTION,be.NOT,be.BITWISE_COMPLEMENT,be.UNARY_PLUS,be.UNARY_MINUS,be.UNARY_LOGICAL_NOT,be.UNARY_BITWISE_COMPLEMENT]);static ARITHMETIC_OPERATORS=new Set([be.MULTIPLICATION,be.DIVISION,be.INTEGER_DIVISION,be.MOD,be.ADDITION,be.SUBTRACTION]);static LOGICAL_OPERATORS=new Set([be.NOT,be.AND,be.OR,be.LESS_THAN,be.LESS_THAN_EQUAL,be.GREATER_THAN,be.GREATER_THAN_EQUAL,be.EQUAL,be.NOT_EQUAL,be.NULLISH_COALESCING_OPERATOR]);static BITWISE_OPERATORS=new Set([be.BITWISE_AND,be.BITWISE_COMPLEMENT,be.BITWISE_LEFT_SHIFT,be.BITWISE_OR,be.BITWISE_RIGHT_SHIFT,be.BITWISE_UNSIGNED_RIGHT_SHIFT,be.BITWISE_XOR]);static CONDITIONAL_OPERATORS=new Set([be.CONDITIONAL_TERNARY_OPERATOR]);static OPERATOR_PRIORITY=new Map([[be.UNARY_PLUS,1],[be.UNARY_MINUS,1],[be.UNARY_LOGICAL_NOT,1],[be.UNARY_BITWISE_COMPLEMENT,1],[be.ARRAY_OPERATOR,1],[be.OBJECT_OPERATOR,1],[be.MULTIPLICATION,2],[be.DIVISION,2],[be.INTEGER_DIVISION,2],[be.MOD,2],[be.ADDITION,3],[be.SUBTRACTION,3],[be.BITWISE_LEFT_SHIFT,4],[be.BITWISE_RIGHT_SHIFT,4],[be.BITWISE_UNSIGNED_RIGHT_SHIFT,4],[be.LESS_THAN,5],[be.LESS_THAN_EQUAL,5],[be.GREATER_THAN,5],[be.GREATER_THAN_EQUAL,5],[be.EQUAL,6],[be.NOT_EQUAL,6],[be.BITWISE_AND,7],[be.BITWISE_XOR,8],[be.BITWISE_OR,9],[be.AND,10],[be.OR,11],[be.NULLISH_COALESCING_OPERATOR,11],[be.CONDITIONAL_TERNARY_OPERATOR,12]]);static OPERATORS=new Set([...Array.from(be.ARITHMETIC_OPERATORS),...Array.from(be.LOGICAL_OPERATORS),...Array.from(be.BITWISE_OPERATORS),be.ARRAY_OPERATOR,be.OBJECT_OPERATOR,...Array.from(be.CONDITIONAL_OPERATORS)].map((e=>e.getOperator())));static OPERATORS_WITHOUT_SPACE_WRAP=new Set([...Array.from(be.ARITHMETIC_OPERATORS),...Array.from(be.LOGICAL_OPERATORS),...Array.from(be.BITWISE_OPERATORS),be.ARRAY_OPERATOR,be.OBJECT_OPERATOR,...Array.from(be.CONDITIONAL_OPERATORS)].filter((e=>!e.shouldBeWrappedInSpace())).map((e=>e.getOperator())));static OPERATION_VALUE_OF=new Map(Array.from(be.VALUE_OF.entries()).map((([e,t])=>[t.getOperator(),t])));static UNARY_MAP=new Map([[be.ADDITION,be.UNARY_PLUS],[be.SUBTRACTION,be.UNARY_MINUS],[be.NOT,be.UNARY_LOGICAL_NOT],[be.BITWISE_COMPLEMENT,be.UNARY_BITWISE_COMPLEMENT],[be.UNARY_PLUS,be.UNARY_PLUS],[be.UNARY_MINUS,be.UNARY_MINUS],[be.UNARY_LOGICAL_NOT,be.UNARY_LOGICAL_NOT],[be.UNARY_BITWISE_COMPLEMENT,be.UNARY_BITWISE_COMPLEMENT]]);static BIGGEST_OPERATOR_SIZE=Array.from(be.VALUE_OF.values()).map((e=>e.getOperator())).filter((e=>!e.startsWith("UN: "))).map((e=>e.length)).reduce(((e,t)=>e>t?e:t),0);constructor(e,t,r=!1){this.operator=e,this.operatorName=t??e,this._shouldBeWrappedInSpace=r}getOperator(){return this.operator}getOperatorName(){return this.operatorName}shouldBeWrappedInSpace(){return this._shouldBeWrappedInSpace}valueOf(e){return be.VALUE_OF.get(e)}toString(){return this.operator}}class De extends Ce{tokens=new Le;ops=new Le;constructor(e,t,r,n){super(e||""),t&&this.tokens.push(t),r&&this.tokens.push(r),n&&this.ops.push(n),this.evaluate()}getTokens(){return this.tokens}getOperations(){return this.ops}evaluate(){const e=this.expression.length;let t,r="",n=new Ue(""),s=0,a=!1;for(;s<e;){switch(r=this.expression[s],t=n.toString(),r){case" ":a=this.processTokenSepearator(n,t,a);break;case"(":s=this.processSubExpression(e,n,t,s,a),a=!1;break;case")":throw new Ve(this.expression,"Extra closing parenthesis found");case"]":throw new Ve(this.expression,"Extra closing square bracket found");case"'":case'"':{let t=this.processStringLiteral(e,r,s);s=t.getT1(),a=t.getT2();break}case"?":if(s+1<e&&"?"!=this.expression.charAt(s+1)&&0!=s&&"?"!=this.expression.charAt(s-1))s=this.processTernaryOperator(e,n,t,s,a);else{let i=this.processOthers(r,e,n,t,s,a);s=i.getT1(),a=i.getT2(),a&&this.ops.peek()==be.ARRAY_OPERATOR&&(i=this.process(e,n,s),s=i.getT1(),a=i.getT2())}break;default:let i=this.processOthers(r,e,n,t,s,a);s=i.getT1(),a=i.getT2(),a&&this.ops.peek()==be.ARRAY_OPERATOR&&(i=this.process(e,n,s),s=i.getT1(),a=i.getT2())}++s}if(t=n.toString(),!L.isNullOrBlank(t)){if(be.OPERATORS.has(t))throw new Ve(this.expression,"Expression is ending with an operator");this.tokens.push(new Ce(t))}}processStringLiteral(e,t,r){let n="",s=r+1;for(;s<e;s++){let e=this.expression.charAt(s);if(e==t&&"\\"!=this.expression.charAt(s-1))break;n+=e}if(s==e&&this.expression.charAt(s-1)!=t)throw new Ve(this.expression,"Missing string ending marker "+t);let a=new U(s,!1);return this.tokens.push(new Ge(n,n)),a}process(e,t,r){let n=1;for(++r;r<e&&0!=n;){let e=this.expression.charAt(r);"]"==e?--n:"["==e&&++n,0!=n&&(t.append(e),r++)}return this.tokens.push(new De(t.toString())),t.setLength(0),new U(r,!1)}processOthers(e,t,r,n,s,a){let i=t-s;i=i<be.BIGGEST_OPERATOR_SIZE?i:be.BIGGEST_OPERATOR_SIZE;for(let e=i;e>0;e--){let t=this.expression.substring(s,s+e);if(be.OPERATORS_WITHOUT_SPACE_WRAP.has(t))return L.isNullOrBlank(n)||(this.tokens.push(new Ce(n)),a=!1),this.checkUnaryOperator(this.tokens,this.ops,be.OPERATION_VALUE_OF.get(t),a),a=!0,r.setLength(0),new U(s+e-1,a)}return r.append(e),new U(s,!1)}processTernaryOperator(e,t,r,n,s){if(s)throw new Ve(this.expression,"Ternary operator is followed by an operator");""!=r.trim()&&(this.tokens.push(new De(r)),t.setLength(0));let a=1,i="";const o=++n;for(;n<e&&a>0;)i=this.expression.charAt(n),"?"==i?++a:":"==i&&--a,++n;if(":"!=i)throw new Ve(this.expression,"':' operater is missing");if(n>=e)throw new Ve(this.expression,"Third part of the ternary expression is missing");for(;!this.ops.isEmpty()&&this.hasPrecedence(be.CONDITIONAL_TERNARY_OPERATOR,this.ops.peek());){let e=this.ops.pop();if(be.UNARY_OPERATORS.has(e)){const t=this.tokens.pop();this.tokens.push(new De("",t,void 0,e))}else{let t=this.tokens.pop(),r=this.tokens.pop();this.tokens.push(new De("",r,t,e))}}this.ops.push(be.CONDITIONAL_TERNARY_OPERATOR),this.tokens.push(new De(this.expression.substring(o,n-1)));const E=this.expression.substring(n);if(""===E.trim())throw new Ve(this.expression,"Third part of the ternary expression is missing");return this.tokens.push(new De(E)),e-1}processSubExpression(e,t,r,n,s){if(be.OPERATORS.has(r))this.checkUnaryOperator(this.tokens,this.ops,be.OPERATION_VALUE_OF.get(r),s),t.setLength(0);else if(!L.isNullOrBlank(r))throw new Ve(this.expression,x.format("Unkown token : $ found.",r));let a=1;const i=new Ue;let o=this.expression.charAt(n);for(n++;n<e&&a>0;)o=this.expression.charAt(n),"("==o?a++:")"==o&&a--,0!=a&&(i.append(o),n++);if(")"!=o)throw new Ve(this.expression,"Missing a closed parenthesis");for(;i.length()>2&&"("==i.charAt(0)&&")"==i.charAt(i.length()-1);)i.deleteCharAt(0),i.setLength(i.length()-1);return this.tokens.push(new De(i.toString().trim())),n}processTokenSepearator(e,t,r){return L.isNullOrBlank(t)||(be.OPERATORS.has(t)?(this.checkUnaryOperator(this.tokens,this.ops,be.OPERATION_VALUE_OF.get(t),r),r=!0):(this.tokens.push(new Ce(t)),r=!1)),e.setLength(0),r}checkUnaryOperator(e,t,r,n){if(r)if(n||e.isEmpty()){if(!be.UNARY_OPERATORS.has(r))throw new Ve(this.expression,x.format("Extra operator $ found.",r));{const e=be.UNARY_MAP.get(r);e&&t.push(e)}}else{for(;!t.isEmpty()&&this.hasPrecedence(r,t.peek());){let r=t.pop();if(be.UNARY_OPERATORS.has(r)){let t=e.pop();e.push(new De("",t,void 0,r))}else{let t=e.pop(),n=e.pop();e.push(new De("",n,t,r))}}t.push(r)}}hasPrecedence(e,t){let r=be.OPERATOR_PRIORITY.get(e),n=be.OPERATOR_PRIORITY.get(t);if(!r||!n)throw new Error("Unknown operators provided");return n<r}toString(){if(this.ops.isEmpty())return 1==this.tokens.size()?this.tokens.get(0).toString():"Error: No tokens";let e=new Ue,t=0;const r=this.ops.toArray(),n=this.tokens.toArray();for(let s=0;s<r.length;s++)if(r[s].getOperator().startsWith("UN: "))e.append("(").append(r[s].getOperator().substring(4)).append(n[t]instanceof De?n[t].toString():n[t]).append(")"),t++;else if(r[s]==be.CONDITIONAL_TERNARY_OPERATOR){let r=n[t++];e.insert(0,r.toString()),e.insert(0,":"),r=n[t++],e.insert(0,r.toString()),e.insert(0,"?"),r=n[t++],e.insert(0,r.toString()).append(")"),e.insert(0,"(")}else{if(0==t){const r=n[t++];e.insert(0,r.toString())}const a=n[t++];e.insert(0,r[s].getOperator()).insert(0,a.toString()).insert(0,"(").append(")")}return e.toString()}equals(e){return this.expression==e.expression}}e({},"ExpressionEvaluator",(()=>Jt));var Fe={};e(Fe,"LogicalNullishCoalescingOperator",(()=>He));var Be={};e(Be,"BinaryOperator",(()=>Ye));class Ye{nullCheck(e,t,r){if(s(e)||s(t))throw new ee(x.format("$ cannot be applied to a null value",r.getOperatorName()))}}class He extends Ye{apply(e,t){return s(e)?t:e}}var ke={};e(ke,"ArithmeticAdditionOperator",(()=>$e));class $e extends Ye{apply(e,t){return this.nullCheck(e,t,be.ADDITION),e+t}}var je={};e(je,"ArithmeticDivisionOperator",(()=>Xe));class Xe extends Ye{apply(e,t){return this.nullCheck(e,t,be.DIVISION),e/t}}var We={};e(We,"ArithmeticIntegerDivisionOperator",(()=>qe));class qe extends Ye{apply(e,t){return this.nullCheck(e,t,be.DIVISION),Math.floor(e/t)}}var Je={};e(Je,"ArithmeticModulusOperator",(()=>ze));class ze extends Ye{apply(e,t){return this.nullCheck(e,t,be.MOD),e%t}}var Ke={};e(Ke,"ArithmeticMultiplicationOperator",(()=>Qe));class Qe extends Ye{apply(e,t){this.nullCheck(e,t,be.MULTIPLICATION);const r="string"==typeof e;if(r||"string"===typeof t){let n=r?e:t,s=r?t:e,a="",i=s<0;s=Math.abs(s);let o=Math.floor(s);for(;o-- >0;)a+=n;let E=Math.floor(n.length*(s-Math.floor(s)));if(E<0&&(E=-E),0!=E&&(a+=n.substring(0,E)),i){let e="";for(let t=a.length-1;t>=0;t--)e+=a[t];return e}return a}return e*t}}var Ze={};e(Ze,"ArithmeticSubtractionOperator",(()=>et));class et extends Ye{apply(e,t){return this.nullCheck(e,t,be.SUBTRACTION),e-t}}var tt={};e(tt,"ArrayOperator",(()=>rt));class rt extends Ye{apply(e,t){if(!e)throw new ee("Cannot apply array operator on a null value");if(!t)throw new ee("Cannot retrive null index value");if(!Array.isArray(e)&&"string"!=typeof e)throw new ee(x.format("Cannot retrieve value from a primitive value $",e));if(t>=e.length)throw new ee(x.format("Cannot retrieve index $ from the array of length $",t,e.length));return e[t]}}var nt={};e(nt,"BitwiseAndOperator",(()=>st));class st extends Ye{apply(e,t){return this.nullCheck(e,t,be.BITWISE_AND),e&t}}var at={};e(at,"BitwiseLeftShiftOperator",(()=>it));class it extends Ye{apply(e,t){return this.nullCheck(e,t,be.BITWISE_LEFT_SHIFT),e<<t}}var ot={};e(ot,"BitwiseOrOperator",(()=>Et));class Et extends Ye{apply(e,t){return this.nullCheck(e,t,be.BITWISE_OR),e|t}}var ut={};e(ut,"BitwiseRightShiftOperator",(()=>At));class At extends Ye{apply(e,t){return this.nullCheck(e,t,be.BITWISE_RIGHT_SHIFT),e>>t}}var lt={};e(lt,"BitwiseUnsignedRightShiftOperator",(()=>gt));class gt extends Ye{apply(e,t){return this.nullCheck(e,t,be.BITWISE_UNSIGNED_RIGHT_SHIFT),e>>>t}}var ct={};e(ct,"BitwiseXorOperator",(()=>mt));class mt extends Ye{apply(e,t){return this.nullCheck(e,t,be.BITWISE_XOR),e^t}}var Tt={};e(Tt,"LogicalAndOperator",(()=>Rt));class Rt extends Ye{apply(e,t){const r=te.findPrimitiveNullAsBoolean(e),n=te.findPrimitiveNullAsBoolean(t);if(r.getT1()!=i.BOOLEAN)throw new ee(x.format("Boolean value expected but found $",r.getT2()));if(n.getT1()!=i.BOOLEAN)throw new ee(x.format("Boolean value expected but found $",n.getT2()));return r.getT2()&&n.getT2()}}var pt={};e(pt,"LogicalEqualOperator",(()=>ht));class ht extends Ye{apply(e,t){return xe(e,t)}}var Nt={};e(Nt,"LogicalGreaterThanEqualOperator",(()=>ft));class ft extends Ye{apply(e,t){const r=te.findPrimitiveNullAsBoolean(e),n=te.findPrimitiveNullAsBoolean(t);if(r.getT1()==i.BOOLEAN||n.getT1()==i.BOOLEAN)throw new ee(x.format("Cannot compare >= with the values $ and $",r.getT2(),n.getT2()));return r.getT2()>=n.getT2()}}var _t={};e(_t,"LogicalGreaterThanOperator",(()=>St));class St extends Ye{apply(e,t){const r=te.findPrimitiveNullAsBoolean(e),n=te.findPrimitiveNullAsBoolean(t);if(r.getT1()==i.BOOLEAN||n.getT1()==i.BOOLEAN)throw new ee(x.format("Cannot compare > with the values $ and $",r.getT2(),n.getT2()));return r.getT2()>n.getT2()}}var Mt={};e(Mt,"LogicalLessThanEqualOperator",(()=>Ot));class Ot extends Ye{apply(e,t){const r=te.findPrimitiveNullAsBoolean(e),n=te.findPrimitiveNullAsBoolean(t);if(r.getT1()==i.BOOLEAN||n.getT1()==i.BOOLEAN)throw new ee(x.format("Cannot compare <= with the values $ and $",r.getT2(),n.getT2()));return r.getT2()<=n.getT2()}}var wt={};e(wt,"LogicalLessThanOperator",(()=>It));class It extends Ye{apply(e,t){const r=te.findPrimitiveNullAsBoolean(e),n=te.findPrimitiveNullAsBoolean(t);if(r.getT1()==i.BOOLEAN||n.getT1()==i.BOOLEAN)throw new ee(x.format("Cannot compare < with the values $ and $",r.getT2(),n.getT2()));return r.getT2()<n.getT2()}}var Pt={};e(Pt,"LogicalNotEqualOperator",(()=>dt));class dt extends Ye{apply(e,t){return!xe(e,t)}}var yt={};e(yt,"LogicalOrOperator",(()=>xt));class xt extends Ye{apply(e,t){const r=te.findPrimitiveNullAsBoolean(e),n=te.findPrimitiveNullAsBoolean(t);if(r.getT1()!=i.BOOLEAN)throw new ee(x.format("Boolean value expected but found $",r.getT2()));if(n.getT1()!=i.BOOLEAN)throw new ee(x.format("Boolean value expected but found $",n.getT2()));return r.getT2()||n.getT2()}}var Lt={};e(Lt,"ObjectOperator",(()=>vt));class vt extends Ye{apply(e,t){if(!e)throw new ee("Cannot apply array operator on a null value");if(!t)throw new ee("Cannot retrive null property value");const r=typeof e;if(!Array.isArray(e)&&"string"!=r&&"object"!=r)throw new ee(x.format("Cannot retrieve value from a primitive value $",e));return e[t]}}var Ut={};e(Ut,"ArithmeticUnaryMinusOperator",(()=>Gt));var Vt={};e(Vt,"UnaryOperator",(()=>Ct));class Ct{nullCheck(e,t){if(s(e))throw new ee(x.format("$ cannot be applied to a null value",t.getOperatorName()))}}class Gt extends Ct{apply(e){return this.nullCheck(e,be.UNARY_MINUS),te.findPrimitiveNumberType(e),-e}}var bt={};e(bt,"ArithmeticUnaryPlusOperator",(()=>Dt));class Dt extends Ct{apply(e){return this.nullCheck(e,be.UNARY_PLUS),te.findPrimitiveNumberType(e),e}}var Ft={};e(Ft,"BitwiseComplementOperator",(()=>Bt));class Bt extends Ct{apply(e){this.nullCheck(e,be.UNARY_BITWISE_COMPLEMENT);let t=te.findPrimitiveNumberType(e);if(t.getT1()!=i.INTEGER&&t.getT1()!=i.LONG)throw new ee(x.format("Unable to apply bitwise operator on $",e));return~e}}var Yt={};e(Yt,"LogicalNotOperator",(()=>Ht));class Ht extends Ct{apply(e){return!e&&""!==e}}e({},"LiteralTokenValueExtractor",(()=>jt));e({},"TokenValueExtractor",(()=>kt));class kt{static REGEX_SQUARE_BRACKETS=/[\[\]]/;static REGEX_DOT=/\./;getValue(e){let t=this.getPrefix();if(!e.startsWith(t))throw new P(x.format("Token $ doesn't start with $",e,t));return this.getValueInternal(e)}retrieveElementFrom(e,t,r,n){if(s(n))return;if(t.length==r)return n;let a=t[r].split(kt.REGEX_SQUARE_BRACKETS).map((e=>e.trim())).filter((e=>!L.isNullOrBlank(e))).reduce(((n,s,a)=>this.resolveForEachPartOfTokenWithBrackets(e,t,r,s,n,a)),n);return this.retrieveElementFrom(e,t,r+1,a)}resolveForEachPartOfTokenWithBrackets(e,t,r,n,a,i){if(!s(a)){if(0===i){if(Array.isArray(a)){if("length"===n)return a.length;try{let e=parseInt(n);if(isNaN(e))throw new Error(x.format("$ is not a number",e));if(e>=a.length)return;return a[e]}catch(t){throw new Ve(e,x.format("$ couldn't be parsed into integer in $",n,e),t)}}return this.checkIfObject(e,t,r,a),a[n]}if(n?.startsWith('"')){if(!n.endsWith('"')||1==n.length||2==n.length)throw new Ve(e,x.format("$ is missing a double quote or empty key found",e));return this.checkIfObject(e,t,r,a),a[n.substring(1,n.length-1)]}try{let t=parseInt(n);if(isNaN(t))throw new Error(x.format("$ is not a number",t));if(!Array.isArray(a))throw new Ve(e,x.format("Expecting an array with index $ while processing the expression",t,e));if(t>=a.length)return;return a[t]}catch(t){throw new Ve(e,x.format("$ couldn't be parsed into integer in $",n,e),t)}}}checkIfObject(e,t,r,n){if("object"!=typeof n||Array.isArray(n))throw new Ve(e,x.format("Unable to retrive $ from $ in the path $",t[r],n.toString(),e))}}const $t=new Map([["true",!0],["false",!1],["null",void 0],["undefined",void 0]]);class jt extends kt{static INSTANCE=new jt;getValueInternal(e){if(!L.isNullOrBlank(e))return e=e.trim(),$t.has(e)?$t.get(e):e.startsWith('"')?this.processString(e):this.processNumbers(e)}processNumbers(e){try{let t=Number(e);if(isNaN(t))throw new Error("Parse number error");return t}catch(t){throw new Ve(e,x.format("Unable to parse the literal or expression $",e),t)}}processString(e){if(!e.endsWith('"'))throw new Ve(e,x.format("String literal $ is not closed properly",e));return e.substring(1,e.length-1)}getPrefix(){return""}}var Xt={};e(Xt,"ConditionalTernaryOperator",(()=>Wt));class Wt extends class{nullCheck(e,t,r,n){if(s(e)||s(t)||s(r))throw new ee(x.format("$ cannot be applied to a null value",n.getOperatorName()))}}{apply(e,t,r){return e?t:r}}t({},Xt);class qt extends kt{static PREFIX="_internal.";values=new Map;addValue(e,t){this.values.set(e,t)}getValueInternal(e){let t=e.split(kt.REGEX_DOT),r=t[1],n=r.indexOf("["),s=2;return-1!=n&&(r=t[1].substring(0,n),t[1]=t[1].substring(n),s=1),this.retrieveElementFrom(e,t,s,this.values.get(r))}getPrefix(){return qt.PREFIX}}class Jt{static UNARY_OPERATORS_MAP=new Map([[be.UNARY_BITWISE_COMPLEMENT,new Bt],[be.UNARY_LOGICAL_NOT,new Ht],[be.UNARY_MINUS,new Gt],[be.UNARY_PLUS,new Dt]]);static TERNARY_OPERATORS_MAP=new Map([[be.CONDITIONAL_TERNARY_OPERATOR,new Wt]]);static BINARY_OPERATORS_MAP=new Map([[be.ADDITION,new $e],[be.DIVISION,new Xe],[be.INTEGER_DIVISION,new qe],[be.MOD,new ze],[be.MULTIPLICATION,new Qe],[be.SUBTRACTION,new et],[be.BITWISE_AND,new st],[be.BITWISE_LEFT_SHIFT,new it],[be.BITWISE_OR,new Et],[be.BITWISE_RIGHT_SHIFT,new At],[be.BITWISE_UNSIGNED_RIGHT_SHIFT,new gt],[be.BITWISE_XOR,new mt],[be.AND,new Rt],[be.EQUAL,new ht],[be.GREATER_THAN,new St],[be.GREATER_THAN_EQUAL,new ft],[be.LESS_THAN,new It],[be.LESS_THAN_EQUAL,new Ot],[be.OR,new xt],[be.NOT_EQUAL,new dt],[be.NULLISH_COALESCING_OPERATOR,new He],[be.ARRAY_OPERATOR,new rt],[be.OBJECT_OPERATOR,new vt]]);static UNARY_OPERATORS_MAP_KEY_SET=new Set(Jt.UNARY_OPERATORS_MAP.keys());internalTokenValueExtractor=new qt;constructor(e){e instanceof De?(this.exp=e,this.expression=this.exp.getExpression()):this.expression=e}evaluate(e){const t=this.processNestingExpression(this.expression,e);return this.expression=t.getT1(),this.exp=t.getT2(),(e=new Map(e.entries())).set(this.internalTokenValueExtractor.getPrefix(),this.internalTokenValueExtractor),this.evaluateExpression(this.exp,e)}processNestingExpression(e,t){let r=0,n=0;const s=new Le;for(;n<e.length-1;){if("{"==e.charAt(n)&&"{"==e.charAt(n+1))0==r&&s.push(new U(n+2,-1)),r++,n++;else if("}"==e.charAt(n)&&"}"==e.charAt(n+1)){if(r--,r<0)throw new Ve(e,"Expecting {{ nesting path operator to be started before closing");0==r&&s.push(s.pop().setT2(n)),n++}n++}let a=this.replaceNestingExpression(e,t,s);return new U(a,new De(a))}replaceNestingExpression(e,t,r){let n=e;for(var s of r.toArray()){if(-1==s.getT2())throw new Ve(e,"Expecting }} nesting path operator to be closed");let r=new Jt(n.substring(s.getT1(),s.getT2())).evaluate(t);n=n.substring(0,s.getT1()-2)+r+n.substring(s.getT2()+2)}return n}getExpression(){return this.exp||(this.exp=new De(this.expression)),this.exp}getExpressionString(){return this.expression}evaluateExpression(e,t){let r=e.getOperations(),n=e.getTokens();for(;!r.isEmpty();){let e=r.pop(),o=n.pop();if(Jt.UNARY_OPERATORS_MAP_KEY_SET.has(e))n.push(this.applyUnaryOperation(e,this.getValueFromToken(t,o)));else if(e==be.OBJECT_OPERATOR||e==be.ARRAY_OPERATOR)this.processObjectOrArrayOperator(t,r,n,e,o);else if(e==be.CONDITIONAL_TERNARY_OPERATOR){const r=n.pop(),E=n.pop();var s=this.getValueFromToken(t,E),a=this.getValueFromToken(t,r),i=this.getValueFromToken(t,o);n.push(this.applyTernaryOperation(e,s,a,i))}else{const r=n.pop();s=this.getValueFromToken(t,r),a=this.getValueFromToken(t,o);n.push(this.applyBinaryOperation(e,s,a))}}if(n.isEmpty())throw new ee(x.format("Expression : $ evaluated to null",e));if(1!=n.size())throw new ee(x.format("Expression : $ evaluated multiple values $",e,n));const o=n.get(0);if(o instanceof Ge)return o.getElement();if(!(o instanceof De))return this.getValueFromToken(t,o);throw new ee(x.format("Expression : $ evaluated to $",e,n.get(0)))}processObjectOrArrayOperator(e,t,r,n,s){const a=new Le,i=new Le;if(!n||!s)return;do{i.push(n),s instanceof De?a.push(new Ge(s.toString(),this.evaluateExpression(s,e))):s&&a.push(s),s=r.isEmpty()?void 0:r.pop(),n=t.isEmpty()?void 0:t.pop()}while(n==be.OBJECT_OPERATOR||n==be.ARRAY_OPERATOR);s&&(s instanceof De?a.push(new Ge(s.toString(),this.evaluateExpression(s,e))):a.push(s)),n&&t.push(n);let o=a.pop();if(o instanceof Ge&&"object"==typeof o.getTokenValue()){const e=(new Date).getTime()+""+Math.round(1e3*Math.random());this.internalTokenValueExtractor.addValue(e,o.getTokenValue()),o=new Ce(qt.PREFIX+e)}let E=new Ue(o instanceof Ge?o.getTokenValue():o.toString());for(;!a.isEmpty();)o=a.pop(),n=i.pop(),E.append(n.getOperator()).append(o instanceof Ge?o.getTokenValue():o.toString()),n==be.ARRAY_OPERATOR&&E.append("]");let u=E.toString(),A=u.substring(0,u.indexOf(".")+1);if(A.length>2&&e.has(A))r.push(new Ge(u,this.getValue(u,e)));else{let e;try{e=jt.INSTANCE.getValue(u)}catch(t){e=u}r.push(new Ge(u,e))}}applyTernaryOperation(e,t,r,n){let s=Jt.TERNARY_OPERATORS_MAP.get(e);if(!s)throw new Ve(this.expression,x.format("No operator found to evaluate $",this.getExpression()));return new Ge(e.toString(),s.apply(t,r,n))}applyBinaryOperation(e,t,r){let n=typeof t,s=typeof r,a=Jt.BINARY_OPERATORS_MAP.get(e);if(("object"===n||"object"===s)&&e!==be.EQUAL&&e!==be.NOT_EQUAL&&e!==be.NULLISH_COALESCING_OPERATOR)throw new Ve(this.expression,x.format("Cannot evaluate expression $ $ $",t,e.getOperator(),r));if(!a)throw new Ve(this.expression,x.format("No operator found to evaluate $ $ $",t,e.getOperator(),r));return new Ge(e.toString(),a.apply(t,r))}applyUnaryOperation(e,t){if("object"===typeof t||Array.isArray(t))throw new Ve(this.expression,x.format("The operator $ cannot be applied to $",e.getOperator(),t));let r=Jt.UNARY_OPERATORS_MAP.get(e);if(!r)throw new Ve(this.expression,x.format("No Unary operator $ is found to apply on $",e.getOperator(),t));return new Ge(e.toString(),r.apply(t))}getValueFromToken(e,t){return t instanceof De?this.evaluateExpression(t,e):t instanceof Ge?t.getElement():this.getValue(t.getExpression(),e)}getValue(e,t){if(e.length<=5)return jt.INSTANCE.getValue(e);const r=e.substring(0,e.indexOf(".")+1);return(t.get(r)??jt.INSTANCE).getValue(e)}}const zt=new y("Set").setNamespace(n.SYSTEM_CTX).setParameters(new Map([p.ofEntry("name",(new c).setName("name").setType(l.of(i.STRING)).setMinLength(1),!1,T.CONSTANT),p.ofEntry("value",c.ofAny("value"))])).setEvents(new Map([w.outputEventMapEntry(new Map)]));const Kt=new y("GenerateEvent").setNamespace(n.SYSTEM).setParameters(new Map([p.ofEntry("eventName",c.ofString("eventName").setDefaultValue("output")),p.ofEntry("results",c.ofObject("results").setProperties(new Map([["name",c.ofString("name")],["value",p.EXPRESSION]])),!0)])).setEvents(new Map([w.outputEventMapEntry(new Map)]));class Qt extends J{static CONDITION="condition";static SIGNATURE=new y("If").setNamespace(n.SYSTEM).setParameters(new Map([p.ofEntry(Qt.CONDITION,c.of(Qt.CONDITION,i.BOOLEAN))])).setEvents(new Map([w.eventMapEntry(w.TRUE,new Map),w.eventMapEntry(w.FALSE,new Map),w.outputEventMapEntry(new Map)]));getSignature(){return Qt.SIGNATURE}async internalExecute(e){var t=e.getArguments()?.get(Qt.CONDITION);return new d([I.of(t?w.TRUE:w.FALSE,new Map),I.outputOf(new Map)])}}const Zt=new y("CountLoop").setNamespace(n.SYSTEM_LOOP).setParameters(new Map([p.ofEntry("count",c.of("count",i.INTEGER))])).setEvents(new Map([w.eventMapEntry(w.ITERATION,new Map([["index",c.of("index",i.INTEGER)]])),w.outputEventMapEntry(new Map([["value",c.of("value",i.INTEGER)]]))]));const er=new y("RangeLoop").setNamespace(n.SYSTEM_LOOP).setParameters(new Map([p.ofEntry("from",c.of("from",i.INTEGER,i.LONG,i.FLOAT,i.DOUBLE).setDefaultValue(0)),p.ofEntry("to",c.of("to",i.INTEGER,i.LONG,i.FLOAT,i.DOUBLE).setDefaultValue(1)),p.ofEntry("step",c.of("step",i.INTEGER,i.LONG,i.FLOAT,i.DOUBLE).setDefaultValue(1).setNot((new c).setConstant(0)))])).setEvents(new Map([w.eventMapEntry(w.ITERATION,new Map([["index",c.of("index",i.INTEGER,i.LONG,i.FLOAT,i.DOUBLE)]])),w.outputEventMapEntry(new Map([["value",c.of("value",i.INTEGER,i.LONG,i.FLOAT,i.DOUBLE)]]))]));const tr=new y("Add").setNamespace(n.MATH).setParameters(new Map([["value",new p("value",c.ofNumber("value")).setVariableArgument(!0)]])).setEvents(new Map([w.outputEventMapEntry(new Map([["value",c.ofNumber("value")]]))]));const rr=[()=>new Map([["value",new p("value",c.ofNumber("value"))]]),()=>new Map([["value1",new p("value1",c.ofNumber("value1"))],["value2",new p("value2",c.ofNumber("value2"))]])];class nr extends J{constructor(e,t,r=1,...s){super(),s&&s.length||(s=[i.DOUBLE]),this.parametersNumber=r,this.mathFunction=t,this.signature=new y(e).setNamespace(n.MATH).setParameters(rr[r-1]()).setEvents(new Map([w.outputEventMapEntry(new Map([["value",(new c).setType(l.of(...s)).setName("value")]]))]))}getSignature(){return this.signature}async internalExecute(e){let t,r=te.findPrimitiveNumberType(e.getArguments()?.get(1==this.parametersNumber?"value":"value1")).getT2();return 2==this.parametersNumber&&(t=te.findPrimitiveNumberType(e.getArguments()?.get("value2")).getT2()),new d([I.outputOf(new Map([["value",this.mathFunction.call(this,r,t)]]))])}}class sr extends J{static SIGNATURE=new y("Hypotenuse").setNamespace(n.MATH).setParameters(new Map([["value",new p("value",c.ofNumber("value")).setVariableArgument(!0)]])).setEvents(new Map([w.outputEventMapEntry(new Map([["value",(new c).setType(l.of(i.DOUBLE)).setName("value")]]))]));constructor(){super()}getSignature(){return sr.SIGNATURE}async internalExecute(e){let t=e.getArguments()?.get("value");return new d([I.outputOf(new Map([["value",Math.sqrt(t.reduce(((e,t)=>e+t*t),0))]]))])}}const ar=new y("Maximum").setNamespace(n.MATH).setParameters(new Map([["value",new p("value",c.ofNumber("value")).setVariableArgument(!0)]])).setEvents(new Map([w.outputEventMapEntry(new Map([["value",c.ofNumber("value")]]))]));const ir=new y("Minimum").setNamespace(n.MATH).setParameters(new Map([["value",new p("value",c.ofNumber("value")).setVariableArgument(!0)]])).setEvents(new Map([w.outputEventMapEntry(new Map([["value",c.ofNumber("value")]]))]));class or extends J{static SIGNATURE=new y("Random").setNamespace(n.MATH).setEvents(new Map([w.outputEventMapEntry(M.of("value",c.ofDouble("value")))]));getSignature(){return or.SIGNATURE}async internalExecute(e){return new d([I.outputOf(new Map([["value",Math.random()]]))])}}class Er extends J{static MIN_VALUE="minValue";static MAX_VALUE="maxValue";static VALUE="value";static SIGNATURE=new y("RandomFloat").setParameters(M.of(Er.MIN_VALUE,p.of(Er.MIN_VALUE,c.ofFloat(Er.MIN_VALUE).setDefaultValue(0)),Er.MAX_VALUE,p.of(Er.MAX_VALUE,c.ofFloat(Er.MAX_VALUE).setDefaultValue(2147483647)))).setNamespace(n.MATH).setEvents(new Map([w.outputEventMapEntry(M.of(Er.VALUE,c.ofFloat(Er.VALUE)))]));getSignature(){return Er.SIGNATURE}async internalExecute(e){let t=e.getArguments()?.get(Er.MIN_VALUE),r=e.getArguments()?.get(Er.MAX_VALUE),n=Math.random()*(r-t)+t;return new d([I.outputOf(new Map([[Er.VALUE,n]]))])}}class ur extends J{static MIN_VALUE="minValue";static MAX_VALUE="maxValue";static VALUE="value";static SIGNATURE=new y("RandomInt").setParameters(M.of(ur.MIN_VALUE,p.of(ur.MIN_VALUE,c.ofInteger(ur.MIN_VALUE).setDefaultValue(0)),ur.MAX_VALUE,p.of(ur.MAX_VALUE,c.ofInteger(ur.MAX_VALUE).setDefaultValue(2147483647)))).setNamespace(n.MATH).setEvents(new Map([w.outputEventMapEntry(M.of(ur.VALUE,c.ofInteger(ur.VALUE)))]));getSignature(){return ur.SIGNATURE}async internalExecute(e){let t=e.getArguments()?.get(ur.MIN_VALUE),r=e.getArguments()?.get(ur.MAX_VALUE),n=Math.floor(Math.random()*(r-t)+t);return new d([I.outputOf(new Map([[ur.VALUE,n]]))])}}const Ar={Absolute:new nr("Absolute",(e=>Math.abs(e)),1,i.INTEGER,i.LONG,i.FLOAT,i.DOUBLE),ACosine:new nr("ArcCosine",(e=>Math.acos(e))),ASine:new nr("ArcSine",(e=>Math.asin(e))),ATangent:new nr("ArcTangent",(e=>Math.atan(e))),Ceiling:new nr("Ceiling",(e=>Math.ceil(e))),Cosine:new nr("Cosine",(e=>Math.cos(e))),CosineH:new nr("HyperbolicCosine",(e=>Math.cosh(e))),CubeRoot:new nr("CubeRoot",(e=>Math.cbrt(e))),Exponential:new nr("Exponential",(e=>Math.exp(e))),Expm1:new nr("ExponentialMinus1",(e=>Math.expm1(e))),Floor:new nr("Floor",(e=>Math.floor(e))),Log:new nr("LogNatural",(e=>Math.log(e))),Log10:new nr("Log10",(e=>Math.log10(e))),Round:new nr("Round",(e=>Math.round(e)),1,i.INTEGER,i.LONG),Sine:new nr("Sine",(e=>Math.sin(e))),SineH:new nr("HyperbolicSine",(e=>Math.sinh(e))),Tangent:new nr("Tangent",(e=>Math.tan(e))),TangentH:new nr("HyperbolicTangent",(e=>Math.tanh(e))),ToDegrees:new nr("ToDegrees",(e=>e*(Math.PI/180))),ToRadians:new nr("ToRadians",(e=>e*(180/Math.PI))),SquareRoot:new nr("SquareRoot",(e=>Math.sqrt(e))),ArcTangent:new nr("ArcTangent2",((e,t)=>Math.atan2(e,t)),2),Power:new nr("Power",((e,t)=>Math.pow(e,t)),2),Add:new class extends J{getSignature(){return tr}async internalExecute(e){let t=e.getArguments()?.get("value");return new d([I.outputOf(new Map([["value",t.reduce(((e,t)=>e+t),0)]]))])}},Hypotenuse:new sr,Maximum:new class extends J{getSignature(){return ar}async internalExecute(e){let t=e.getArguments()?.get("value");return new d([I.outputOf(new Map([["value",t.reduce(((e,t)=>!e&&0!==e||t>e?t:e))]]))])}},Minimum:new class extends J{getSignature(){return ir}async internalExecute(e){let t=e.getArguments()?.get("value");return new d([I.outputOf(new Map([["value",t.reduce(((e,t)=>!e&&0!==e||t<e?t:e))]]))])}},Random:new or,RandomFloat:new Er,RandomInt:new ur},lr=Object.values(Ar).map((e=>e.getSignature().getFullName()));class gr{find(e,t){if(e==n.MATH)return Ar[t]}filter(e){return lr.filter((t=>-1!==t.toLowerCase().indexOf(e.toLowerCase())))}}function cr(e){return e?structuredClone?structuredClone(e):JSON.parse(JSON.stringify(e)):e}e({},"duplicate",(()=>cr));class mr extends J{constructor(e,t){super(),this.signature=new y(e).setNamespace(n.SYSTEM_OBJECT).setParameters(new Map([p.ofEntry("source",c.ofAny("source"))])).setEvents(new Map([w.outputEventMapEntry(new Map([["value",t]]))]))}getSignature(){return this.signature}}const Tr={ObjectValues:new class extends mr{constructor(){super("ObjectValues",c.ofArray("value",c.ofAny("value")))}async internalExecute(e){var t=e.getArguments()?.get("source");if(s(t))return new d([I.outputOf(new Map([["value",[]]]))]);let r=Object.entries(cr(t)).sort(((e,t)=>e[0].localeCompare(t[0]))).map((e=>e[1]));return new d([I.outputOf(new Map([["value",r]]))])}},ObjectKeys:new class extends mr{constructor(){super("ObjectKeys",c.ofArray("value",c.ofString("value")))}async internalExecute(e){var t=e.getArguments()?.get("source");if(s(t))return new d([I.outputOf(new Map([["value",[]]]))]);let r=Object.keys(cr(t)).sort(((e,t)=>e.localeCompare(t)));return new d([I.outputOf(new Map([["value",r]]))])}},ObjectEntries:new class extends mr{constructor(){super("ObjectEntries",c.ofArray("value",c.ofArray("tuple",c.ofString("key"),c.ofAny("value"))))}async internalExecute(e){var t=e.getArguments()?.get("source");if(s(t))return new d([I.outputOf(new Map([["value",[]]]))]);let r=Object.entries(cr(t)).sort(((e,t)=>e[0].localeCompare(t[0])));return new d([I.outputOf(new Map([["value",r]]))])}},ObjectDeleteKey:new class extends J{constructor(){super(),this.signature=new y("ObjectDeleteKey").setNamespace(n.SYSTEM_OBJECT).setParameters(new Map([p.ofEntry("source",c.ofAny("source")),p.ofEntry("key",c.ofString("key"))])).setEvents(new Map([w.outputEventMapEntry(new Map([["value",c.ofAny("value")]]))]))}getSignature(){return this.signature}async internalExecute(e){let t=e.getArguments()?.get("source"),r=e.getArguments()?.get("key");return s(t)?new d([I.outputOf(new Map([["value",void 0]]))]):(t=cr(t),delete t[r],new d([I.outputOf(new Map([["value",t]]))]))}}},Rr=Object.values(Tr).map((e=>e.getSignature().getFullName()));class pr{find(e,t){if(e==n.SYSTEM_OBJECT)return Tr[t]}filter(e){return Rr.filter((t=>-1!==t.toLowerCase().indexOf(e.toLowerCase())))}}class hr extends J{static VALUES="values";static SIGNATURE=new y("Print").setNamespace(n.SYSTEM).setParameters(new Map([p.ofEntry(hr.VALUES,c.ofAny(hr.VALUES),!0)]));getSignature(){return hr.SIGNATURE}async internalExecute(e){var t=e.getArguments()?.get(hr.VALUES);return console?.log(...t),new d([I.outputOf(new Map)])}}class Nr extends J{static PARAMETER_STRING_NAME="string";static PARAMETER_SEARCH_STRING_NAME="searchString";static PARAMETER_SECOND_STRING_NAME="secondString";static PARAMETER_THIRD_STRING_NAME="thirdString";static PARAMETER_INDEX_NAME="index";static PARAMETER_SECOND_INDEX_NAME="secondIndex";static EVENT_RESULT_NAME="result";static PARAMETER_STRING=new p(Nr.PARAMETER_STRING_NAME,c.ofString(Nr.PARAMETER_STRING_NAME));static PARAMETER_SECOND_STRING=new p(Nr.PARAMETER_SECOND_STRING_NAME,c.ofString(Nr.PARAMETER_SECOND_STRING_NAME));static PARAMETER_THIRD_STRING=new p(Nr.PARAMETER_THIRD_STRING_NAME,c.ofString(Nr.PARAMETER_THIRD_STRING_NAME));static PARAMETER_INDEX=new p(Nr.PARAMETER_INDEX_NAME,c.ofInteger(Nr.PARAMETER_INDEX_NAME));static PARAMETER_SECOND_INDEX=new p(Nr.PARAMETER_SECOND_INDEX_NAME,c.ofInteger(Nr.PARAMETER_SECOND_INDEX_NAME));static PARAMETER_SEARCH_STRING=new p(Nr.PARAMETER_SEARCH_STRING_NAME,c.ofString(Nr.PARAMETER_STRING_NAME));static EVENT_STRING=new w(w.OUTPUT,M.of(Nr.EVENT_RESULT_NAME,c.ofString(Nr.EVENT_RESULT_NAME)));static EVENT_BOOLEAN=new w(w.OUTPUT,M.of(Nr.EVENT_RESULT_NAME,c.ofBoolean(Nr.EVENT_RESULT_NAME)));static EVENT_INT=new w(w.OUTPUT,M.of(Nr.EVENT_RESULT_NAME,c.ofInteger(Nr.EVENT_RESULT_NAME)));static EVENT_ARRAY=new w(w.OUTPUT,M.of(Nr.EVENT_RESULT_NAME,c.ofArray(Nr.EVENT_RESULT_NAME)));constructor(e,t,r,...n){super();const s=new Map;n.forEach((e=>s.set(e.getParameterName(),e))),this.signature=new y(t).setNamespace(e).setParameters(s).setEvents(M.of(r.getName(),r))}getSignature(){return this.signature}static ofEntryAsStringBooleanOutput(e,t){return[e,new class extends Nr{constructor(e,t,r,...n){super(e,t,r,...n)}async internalExecute(e){let r=e?.getArguments()?.get(Nr.PARAMETER_STRING_NAME),n=e?.getArguments()?.get(Nr.PARAMETER_SEARCH_STRING_NAME);return new d([I.outputOf(M.of(Nr.EVENT_RESULT_NAME,t(r,n)))])}}(n.STRING,e,Nr.EVENT_BOOLEAN,Nr.PARAMETER_STRING,Nr.PARAMETER_SEARCH_STRING)]}static ofEntryAsStringAndIntegerStringOutput(e,t){return[e,new class extends Nr{constructor(e,t,r,...n){super(e,t,r,...n)}async internalExecute(e){let r=e?.getArguments()?.get(Nr.PARAMETER_STRING_NAME),n=e?.getArguments()?.get(Nr.PARAMETER_INDEX_NAME);return new d([I.outputOf(M.of(Nr.EVENT_RESULT_NAME,t(r,n)))])}}(n.STRING,e,Nr.EVENT_STRING,Nr.PARAMETER_STRING,Nr.PARAMETER_INDEX)]}static ofEntryAsStringIntegerOutput(e,t){return[e,new class extends Nr{constructor(e,t,r,...n){super(e,t,r,...n)}async internalExecute(e){let r=e?.getArguments()?.get(Nr.PARAMETER_STRING_NAME),n=e?.getArguments()?.get(Nr.PARAMETER_SEARCH_STRING_NAME);return new d([I.outputOf(M.of(Nr.EVENT_RESULT_NAME,t(r,n)))])}}(n.STRING,e,Nr.EVENT_INT,Nr.PARAMETER_STRING,Nr.PARAMETER_SEARCH_STRING)]}static ofEntryString(e,t){return[e,new class extends Nr{constructor(e,t,r,...n){super(e,t,r,...n)}async internalExecute(e){let r=e?.getArguments()?.get(Nr.PARAMETER_STRING_NAME);return new d([I.outputOf(M.of(Nr.EVENT_RESULT_NAME,t(r)))])}}(n.STRING,e,Nr.EVENT_STRING,Nr.PARAMETER_STRING)]}static ofEntryStringBooleanOutput(e,t){return[e,new class extends Nr{constructor(e,t,r,...n){super(e,t,r,...n)}async internalExecute(e){let r=e?.getArguments()?.get(Nr.PARAMETER_STRING_NAME);return new d([I.outputOf(M.of(Nr.EVENT_RESULT_NAME,t(r)))])}}(n.STRING,e,Nr.EVENT_BOOLEAN,Nr.PARAMETER_STRING)]}static ofEntryAsStringStringIntegerIntegerOutput(e,t){return[e,new class extends Nr{constructor(e,t,r,...n){super(e,t,r,...n)}async internalExecute(e){let r=e?.getArguments()?.get(Nr.PARAMETER_STRING_NAME),n=e?.getArguments()?.get(Nr.PARAMETER_SEARCH_STRING_NAME),s=e?.getArguments()?.get(Nr.PARAMETER_INDEX_NAME);return new d([I.outputOf(M.of(Nr.EVENT_RESULT_NAME,t(r,n,s)))])}}(n.STRING,e,Nr.EVENT_INT,Nr.PARAMETER_STRING,Nr.PARAMETER_SEARCH_STRING,Nr.PARAMETER_INDEX)]}static ofEntryAsStringIntegerIntegerStringOutput(e,t){return[e,new class extends Nr{constructor(e,t,r,...n){super(e,t,r,...n)}async internalExecute(e){let r=e?.getArguments()?.get(Nr.PARAMETER_STRING_NAME),n=e?.getArguments()?.get(Nr.PARAMETER_INDEX_NAME),s=e?.getArguments()?.get(Nr.PARAMETER_SECOND_INDEX_NAME);return new d([I.outputOf(M.of(Nr.EVENT_RESULT_NAME,t(r,n,s)))])}}(n.STRING,e,Nr.EVENT_INT,Nr.PARAMETER_STRING,Nr.PARAMETER_INDEX,Nr.PARAMETER_SECOND_INDEX)]}static ofEntryAsStringStringStringStringOutput(e,t){return[e,new class extends Nr{constructor(e,t,r,...n){super(e,t,r,...n)}async internalExecute(e){let r=e?.getArguments()?.get(Nr.PARAMETER_STRING_NAME),n=e?.getArguments()?.get(Nr.PARAMETER_SECOND_STRING_NAME),s=e?.getArguments()?.get(Nr.PARAMETER_THIRD_STRING_NAME);return new d([I.outputOf(M.of(Nr.EVENT_RESULT_NAME,t(r,n,s)))])}}(n.STRING,e,Nr.EVENT_STRING,Nr.PARAMETER_STRING,Nr.PARAMETER_SECOND_STRING,Nr.PARAMETER_THIRD_STRING)]}}class fr extends J{static VALUE="value";static SCHEMA=(new c).setName(fr.VALUE).setType(new A(i.STRING));static SIGNATURE=new y("Concatenate").setNamespace(n.STRING).setParameters(new Map([[fr.VALUE,new p(fr.VALUE,fr.SCHEMA).setVariableArgument(!0)]])).setEvents(new Map([w.outputEventMapEntry(new Map([[fr.VALUE,c.ofString(fr.VALUE)]]))]));constructor(){super()}getSignature(){return fr.SIGNATURE}async internalExecute(e){let t=e.getArguments()?.get(fr.VALUE),r="";return t.reduce(((e,t)=>r=e+t),r),new d([I.outputOf(new Map([[fr.VALUE,r]]))])}}class _r extends J{static PARAMETER_STRING_NAME="string";static PARAMETER_AT_START_NAME="startPosition";static PARAMETER_AT_END_NAME="endPosition";static EVENT_RESULT_NAME="result";PARAMETER_STRING=new p(_r.PARAMETER_STRING_NAME,c.ofString(_r.PARAMETER_STRING_NAME));PARAMETER_AT_START=new p(_r.PARAMETER_AT_START_NAME,c.ofInteger(_r.PARAMETER_AT_START_NAME));PARAMETER_AT_END=new p(_r.PARAMETER_AT_END_NAME,c.ofInteger(_r.PARAMETER_AT_END_NAME));EVENT_STRING=new w(w.OUTPUT,new Map([[_r.EVENT_RESULT_NAME,c.ofString(_r.EVENT_RESULT_NAME)]]));signature=new y("DeleteForGivenLength").setNamespace(n.STRING).setParameters(new Map([[this.PARAMETER_STRING.getParameterName(),this.PARAMETER_STRING],[this.PARAMETER_AT_START.getParameterName(),this.PARAMETER_AT_START],[this.PARAMETER_AT_END.getParameterName(),this.PARAMETER_AT_END]])).setEvents(new Map([[this.EVENT_STRING.getName(),this.EVENT_STRING]]));constructor(){super()}getSignature(){return this.signature}async internalExecute(e){let t=e?.getArguments()?.get(_r.PARAMETER_STRING_NAME),r=e?.getArguments()?.get(_r.PARAMETER_AT_START_NAME),n=e?.getArguments()?.get(_r.PARAMETER_AT_END_NAME);if(n>=r){let e="";return e+=t.substring(0,r),e+=t.substring(n),new d([I.outputOf(new Map([[_r.EVENT_RESULT_NAME,e.toString()]]))])}return new d([I.outputOf(new Map([[_r.EVENT_RESULT_NAME,t]]))])}}class Sr extends J{static PARAMETER_STRING_NAME="string";static PARAMETER_AT_POSITION_NAME="position";static PARAMETER_INSERT_STRING_NAME="insertString";EVENT_RESULT_NAME="result";PARAMETER_STRING=new p(Sr.PARAMETER_STRING_NAME,c.ofString(Sr.PARAMETER_STRING_NAME));PARAMETER_AT_POSITION=new p(Sr.PARAMETER_AT_POSITION_NAME,c.ofInteger(Sr.PARAMETER_AT_POSITION_NAME));PARAMETER_INSERT_STRING=new p(Sr.PARAMETER_INSERT_STRING_NAME,c.ofString(Sr.PARAMETER_INSERT_STRING_NAME));EVENT_STRING=new w(w.OUTPUT,new Map([[this.EVENT_RESULT_NAME,c.ofString(this.EVENT_RESULT_NAME)]]));signature=new y("InsertAtGivenPosition").setNamespace(n.STRING).setParameters(new Map([[this.PARAMETER_STRING.getParameterName(),this.PARAMETER_STRING],[this.PARAMETER_AT_POSITION.getParameterName(),this.PARAMETER_AT_POSITION],[this.PARAMETER_INSERT_STRING.getParameterName(),this.PARAMETER_INSERT_STRING]])).setEvents(new Map([w.outputEventMapEntry(new Map([[this.EVENT_RESULT_NAME,c.ofString(this.EVENT_RESULT_NAME)]]))]));getSignature(){return this.signature}async internalExecute(e){let t=e?.getArguments()?.get(Sr.PARAMETER_STRING_NAME),r=e?.getArguments()?.get(Sr.PARAMETER_AT_POSITION_NAME),n=e?.getArguments()?.get(Sr.PARAMETER_INSERT_STRING_NAME),s="";return s+=t.substring(0,r),s+=n,s+=t.substring(r),new d([I.outputOf(new Map([[this.EVENT_RESULT_NAME,s]]))])}}class Mr extends J{static PARAMETER_STRING_NAME="string";static PARAMETER_POSTPAD_STRING_NAME="postpadString";static PARAMETER_LENGTH_NAME="length";static EVENT_RESULT_NAME="result";static PARAMETER_STRING=new p(Mr.PARAMETER_STRING_NAME,c.ofString(Mr.PARAMETER_STRING_NAME));static PARAMETER_POSTPAD_STRING=new p(Mr.PARAMETER_POSTPAD_STRING_NAME,c.ofString(Mr.PARAMETER_POSTPAD_STRING_NAME));static PARAMETER_LENGTH=new p(Mr.PARAMETER_LENGTH_NAME,c.ofInteger(Mr.PARAMETER_LENGTH_NAME));static EVENT_STRING=new w(w.OUTPUT,new Map([[Mr.EVENT_RESULT_NAME,c.ofString(Mr.EVENT_RESULT_NAME)]]));signature=new y("PostPad").setNamespace(n.STRING).setParameters(new Map([[Mr.PARAMETER_STRING.getParameterName(),Mr.PARAMETER_STRING],[Mr.PARAMETER_POSTPAD_STRING.getParameterName(),Mr.PARAMETER_POSTPAD_STRING],[Mr.PARAMETER_LENGTH.getParameterName(),Mr.PARAMETER_LENGTH]])).setEvents(new Map([[Mr.EVENT_STRING.getName(),Mr.EVENT_STRING]]));constructor(){super()}getSignature(){return this.signature}async internalExecute(e){let t=e.getArguments()?.get(Mr.PARAMETER_STRING_NAME),r=e?.getArguments()?.get(Mr.PARAMETER_POSTPAD_STRING_NAME),n=e.getArguments()?.get(Mr.PARAMETER_LENGTH_NAME),s="",a=r.length;for(s+=t;a<=n;)s+=r,a+=r.length;return s.length-t.length<n&&(s+=r.substring(0,n-(s.length-t.length))),new d([I.of(Mr.EVENT_RESULT_NAME,new Map([[Mr.EVENT_RESULT_NAME,s.toString()]]))])}}class Or extends J{static PARAMETER_STRING_NAME="string";static PARAMETER_PREPAD_STRING_NAME="prepadString";static PARAMETER_LENGTH_NAME="length";static EVENT_RESULT_NAME="result";static PARAMETER_STRING=new p(Or.PARAMETER_STRING_NAME,c.ofString(Or.PARAMETER_STRING_NAME));static PARAMETER_PREPAD_STRING=new p(Or.PARAMETER_PREPAD_STRING_NAME,c.ofString(Or.PARAMETER_PREPAD_STRING_NAME));static PARAMETER_LENGTH=new p(Or.PARAMETER_LENGTH_NAME,c.ofInteger(Or.PARAMETER_LENGTH_NAME));static EVENT_STRING=new w(w.OUTPUT,new Map([[Or.EVENT_RESULT_NAME,c.ofString(Or.EVENT_RESULT_NAME)]]));signature=new y("PrePad").setNamespace(n.STRING).setParameters(new Map([[Or.PARAMETER_STRING.getParameterName(),Or.PARAMETER_STRING],[Or.PARAMETER_PREPAD_STRING.getParameterName(),Or.PARAMETER_PREPAD_STRING],[Or.PARAMETER_LENGTH.getParameterName(),Or.PARAMETER_LENGTH]])).setEvents(new Map([[Or.EVENT_STRING.getName(),Or.EVENT_STRING]]));getSignature(){return this.signature}constructor(){super()}async internalExecute(e){let t=e.getArguments()?.get(Or.PARAMETER_STRING_NAME),r=e.getArguments()?.get(Or.PARAMETER_PREPAD_STRING_NAME),n=e.getArguments()?.get(Or.PARAMETER_LENGTH_NAME),s="",a=r.length;for(;a<=n;)s+=r,a+=r.length;return s.length<n&&(s+=r.substring(0,n-s.length)),s+=t,new d([I.of(Or.EVENT_RESULT_NAME,new Map([[Or.EVENT_RESULT_NAME,s]]))])}}class wr extends J{static PARAMETER_STRING_NAME="string";static PARAMETER_BOOLEAN_NAME="boolean";static PARAMETER_FIRST_OFFSET_NAME="firstOffset";static PARAMETER_OTHER_STRING_NAME="otherString";static PARAMETER_SECOND_OFFSET_NAME="secondOffset";static PARAMETER_INTEGER_NAME="length";static EVENT_RESULT_NAME="result";static PARAMETER_STRING=new p(wr.PARAMETER_STRING_NAME,c.ofString(wr.PARAMETER_STRING_NAME));static PARAMETER_OTHER_STRING=new p(wr.PARAMETER_OTHER_STRING_NAME,c.ofString(wr.PARAMETER_OTHER_STRING_NAME));static PARAMETER_FIRST_OFFSET=new p(wr.PARAMETER_FIRST_OFFSET_NAME,c.ofInteger(wr.PARAMETER_FIRST_OFFSET_NAME));static PARAMETER_SECOND_OFFSET=new p(wr.PARAMETER_SECOND_OFFSET_NAME,c.ofInteger(wr.PARAMETER_SECOND_OFFSET_NAME));static PARAMETER_INTEGER=new p(wr.PARAMETER_INTEGER_NAME,c.ofInteger(wr.PARAMETER_INTEGER_NAME));static PARAMETER_BOOLEAN=new p(wr.PARAMETER_BOOLEAN_NAME,c.ofBoolean(wr.PARAMETER_BOOLEAN_NAME));static EVENT_BOOLEAN=new w(w.OUTPUT,new Map([[wr.EVENT_RESULT_NAME,c.ofBoolean(wr.EVENT_RESULT_NAME)]]));signature=new y("RegionMatches").setNamespace(n.STRING).setParameters(new Map([[wr.PARAMETER_STRING.getParameterName(),wr.PARAMETER_STRING],[wr.PARAMETER_BOOLEAN.getParameterName(),wr.PARAMETER_BOOLEAN],[wr.PARAMETER_FIRST_OFFSET.getParameterName(),wr.PARAMETER_FIRST_OFFSET],[wr.PARAMETER_OTHER_STRING.getParameterName(),wr.PARAMETER_OTHER_STRING],[wr.PARAMETER_SECOND_OFFSET.getParameterName(),wr.PARAMETER_SECOND_OFFSET],[wr.PARAMETER_INTEGER.getParameterName(),wr.PARAMETER_INTEGER]])).setEvents(new Map([[wr.EVENT_BOOLEAN.getName(),wr.EVENT_BOOLEAN]]));getSignature(){return this.signature}constructor(){super()}async internalExecute(e){let t=e.getArguments()?.get(wr.PARAMETER_STRING_NAME),r=e.getArguments()?.get(wr.PARAMETER_BOOLEAN_NAME),n=e.getArguments()?.get(wr.PARAMETER_FIRST_OFFSET_NAME),s=e?.getArguments()?.get(wr.PARAMETER_OTHER_STRING_NAME),a=e?.getArguments()?.get(wr.PARAMETER_SECOND_OFFSET_NAME),i=e.getArguments()?.get(wr.PARAMETER_INTEGER_NAME),o=!1;if(n<0||a<0||n+i>t.length||a+i>s.length)o=!1;else if(r){t=t.substring(n,n+i).toUpperCase(),o=t==s.substring(a,a+i).toUpperCase()}else{t=t.substring(n,n+i),o=t==s.substring(a,i)}return new d([I.outputOf(new Map([[wr.EVENT_RESULT_NAME,o]]))])}}class Ir extends J{static PARAMETER_STRING_NAME="string";static PARAMETER_AT_START_NAME="startPosition";static PARAMETER_AT_LENGTH_NAME="lengthPosition";static PARAMETER_REPLACE_STRING_NAME="replaceString";static EVENT_RESULT_NAME="result";static PARAMETER_STRING=new p(Ir.PARAMETER_STRING_NAME,c.ofString(Ir.PARAMETER_STRING_NAME));static PARAMETER_AT_START=new p(Ir.PARAMETER_AT_START_NAME,c.ofInteger(Ir.PARAMETER_AT_START_NAME));static PARAMETER_AT_LENGTH=new p(Ir.PARAMETER_AT_LENGTH_NAME,c.ofInteger(Ir.PARAMETER_AT_LENGTH_NAME));static PARAMETER_REPLACE_STRING=new p(Ir.PARAMETER_REPLACE_STRING_NAME,c.ofString(Ir.PARAMETER_REPLACE_STRING_NAME));static EVENT_STRING=new w(w.OUTPUT,new Map([[Ir.EVENT_RESULT_NAME,c.ofString(Ir.EVENT_RESULT_NAME)]]));constructor(){super()}signature=new y("ReplaceAtGivenPosition").setNamespace(n.STRING).setParameters(new Map([[Ir.PARAMETER_STRING.getParameterName(),Ir.PARAMETER_STRING],[Ir.PARAMETER_AT_START.getParameterName(),Ir.PARAMETER_AT_START],[Ir.PARAMETER_AT_LENGTH.getParameterName(),Ir.PARAMETER_AT_LENGTH],[Ir.PARAMETER_REPLACE_STRING.getParameterName(),Ir.PARAMETER_REPLACE_STRING]])).setEvents(new Map([[Ir.EVENT_STRING.getName(),Ir.EVENT_STRING]]));getSignature(){return this.signature}async internalExecute(e){let t=e?.getArguments()?.get(Ir.PARAMETER_STRING_NAME),r=e?.getArguments()?.get(Ir.PARAMETER_AT_START_NAME),n=e?.getArguments()?.get(Ir.PARAMETER_AT_LENGTH_NAME),s=e?.getArguments()?.get(Ir.PARAMETER_REPLACE_STRING_NAME);t.length;if(r<n){let e="";e+=t.substring(0,r),e+=s,e+=t.substring(r+n)}return new d([I.outputOf(new Map([[Ir.EVENT_RESULT_NAME,t]]))])}}class Pr extends J{VALUE="value";SIGNATURE=new y("Reverse").setNamespace(n.STRING).setParameters(new Map([[this.VALUE,new p(this.VALUE,c.ofString(this.VALUE)).setVariableArgument(!1)]])).setEvents(new Map([w.outputEventMapEntry(new Map([[this.VALUE,(new c).setType(l.of(i.STRING)).setName(this.VALUE)]]))]));constructor(){super()}getSignature(){return this.SIGNATURE}async internalExecute(e){let t=e.getArguments()?.get(this.VALUE),r=t.length-1,n="";for(;r>=0;)n+=t.charAt(r--);return new d([I.outputOf(M.of(this.VALUE,n))])}}class dr extends J{PARAMETER_STRING_NAME="string";PARAMETER_SPLIT_STRING_NAME="searchString";EVENT_RESULT_NAME="result";PARAMETER_STRING=new p(this.PARAMETER_STRING_NAME,c.ofString(this.PARAMETER_STRING_NAME));PARAMETER_SPLIT_STRING=new p(this.PARAMETER_SPLIT_STRING_NAME,c.ofString(this.PARAMETER_SPLIT_STRING_NAME));EVENT_ARRAY=new w(w.OUTPUT,M.of(this.EVENT_RESULT_NAME,c.ofArray(this.EVENT_RESULT_NAME)));getSignature(){return new y("Split").setNamespace(n.STRING).setParameters(new Map([[this.PARAMETER_STRING_NAME,this.PARAMETER_STRING],[this.PARAMETER_SPLIT_STRING_NAME,this.PARAMETER_SPLIT_STRING]])).setEvents(new Map([w.outputEventMapEntry(new Map([[this.EVENT_RESULT_NAME,c.ofArray(this.EVENT_RESULT_NAME)]]))]))}constructor(){super()}async internalExecute(e){let t=e.getArguments()?.get(this.PARAMETER_STRING_NAME),r=e.getArguments()?.get(this.PARAMETER_SPLIT_STRING_NAME);return new d([I.outputOf(M.of(this.EVENT_ARRAY.getName(),t.split(r)))])}}class yr extends J{PARAMETER_INPUT_ANYTYPE_NAME="anytype";EVENT_RESULT_NAME="result";PARAMETER_INPUT_ANYTYPE=new p(this.PARAMETER_INPUT_ANYTYPE_NAME,c.ofAny(this.PARAMETER_INPUT_ANYTYPE_NAME));EVENT_STRING=new w(w.OUTPUT,new Map([[this.EVENT_RESULT_NAME,c.ofString(this.EVENT_RESULT_NAME)]]));getSignature(){return new y("ToString").setNamespace(n.STRING).setParameters(new Map([[this.PARAMETER_INPUT_ANYTYPE.getParameterName(),this.PARAMETER_INPUT_ANYTYPE]])).setEvents(new Map([[this.EVENT_STRING.getName(),this.EVENT_STRING]]))}constructor(){super()}async internalExecute(e){let t=e.getArguments()?.get(this.PARAMETER_INPUT_ANYTYPE_NAME),r="";return r="object"==typeof t?JSON.stringify(t,void 0,2):""+t,new d([I.outputOf(new Map([[this.EVENT_RESULT_NAME,r]]))])}}class xr extends J{static PARAMETER_STRING_NAME="string";static PARAMETER_LENGTH_NAME="length";static EVENT_RESULT_NAME="result";static PARAMETER_STRING=new p(xr.PARAMETER_STRING_NAME,c.ofString(xr.PARAMETER_STRING_NAME));static PARAMETER_LENGTH=new p(xr.PARAMETER_LENGTH_NAME,c.ofInteger(xr.PARAMETER_LENGTH_NAME));static EVENT_STRING=new w(w.OUTPUT,new Map([[xr.EVENT_RESULT_NAME,c.ofString(xr.EVENT_RESULT_NAME)]]));signature=new y("TrimTo").setNamespace(n.STRING).setParameters(new Map([[xr.PARAMETER_STRING.getParameterName(),xr.PARAMETER_STRING],[xr.PARAMETER_LENGTH.getParameterName(),xr.PARAMETER_LENGTH]])).setEvents(new Map([[xr.EVENT_STRING.getName(),xr.EVENT_STRING]]));getSignature(){return this.signature}constructor(){super()}async internalExecute(e){let t=e.getArguments()?.get(xr.PARAMETER_STRING_NAME),r=e.getArguments()?.get(xr.PARAMETER_LENGTH_NAME);return new d([I.of(xr.EVENT_RESULT_NAME,new Map([[xr.EVENT_RESULT_NAME,t.substring(0,r)]]))])}}class Lr{static repoMap=M.ofArrayEntries(Nr.ofEntryString("Trim",(e=>e.trim())),Nr.ofEntryString("LowerCase",(e=>e.toLocaleLowerCase())),Nr.ofEntryString("UpperCase",(e=>e.toUpperCase())),Nr.ofEntryStringBooleanOutput("IsBlank",(e=>""===e.trim())),Nr.ofEntryStringBooleanOutput("IsEmpty",(e=>""===e)),Nr.ofEntryAsStringBooleanOutput("Contains",((e,t)=>-1!=e.indexOf(t))),Nr.ofEntryAsStringBooleanOutput("EndsWith",((e,t)=>e.endsWith(t))),Nr.ofEntryAsStringBooleanOutput("EqualsIgnoreCase",((e,t)=>e.toUpperCase()==t.toUpperCase())),Nr.ofEntryAsStringBooleanOutput("Matches",((e,t)=>new RegExp(t).test(e))),Nr.ofEntryAsStringIntegerOutput("IndexOf",((e,t)=>e.indexOf(t))),Nr.ofEntryAsStringIntegerOutput("LastIndexOf",((e,t)=>e.lastIndexOf(t))),Nr.ofEntryAsStringAndIntegerStringOutput("Repeat",((e,t)=>e.repeat(t))),Nr.ofEntryAsStringStringIntegerIntegerOutput("IndexOfWithStartPoint",((e,t,r)=>e.indexOf(t,r))),Nr.ofEntryAsStringStringIntegerIntegerOutput("LastIndexOfWithStartPoint",((e,t,r)=>e.lastIndexOf(t,r))),Nr.ofEntryAsStringStringStringStringOutput("Replace",((e,t,r)=>e)),Nr.ofEntryAsStringStringStringStringOutput("ReplaceFirst",((e,t,r)=>e.replace(t,r))),Nr.ofEntryAsStringIntegerIntegerStringOutput("SubString",((e,t,r)=>e.substring(t,r))),_(new fr),_(new _r),_(new Sr),_(new Mr),_(new Or),_(new wr),_(new Ir),_(new Pr),_(new dr),_(new yr),_(new xr));static filterableNames=Array.from(Lr.repoMap.values()).map((e=>e.getSignature().getFullName()));find(e,t){if(e==n.STRING)return Lr.repoMap.get(t)}filter(e){return Lr.filterableNames.filter((t=>-1!==t.toLowerCase().indexOf(e.toLowerCase())))}}e({},"HybridRepository",(()=>vr));class vr{constructor(...e){this.repos=e}find(e,t){for(let r of this.repos){let n=r.find(e,t);if(n)return n}}filter(e){let t=new Set;for(let r of this.repos)r.filter(e).forEach((e=>t.add(e)));return Array.from(t)}}const Ur=new Map([[n.SYSTEM_CTX,new Map([_(new class extends J{getSignature(){return de}async internalExecute(e){const t=e?.getArguments()?.get("name");if(e?.getContext()?.has(t))throw new P(x.format("Context already has an element for '$' ",t));let r=c.from(e?.getArguments()?.get("schema"));if(!r)throw new P("Schema is not supplied.");return e.getContext().set(t,new Pe(r,s(r.getDefaultValue())?void 0:r.getDefaultValue())),new d([I.outputOf(new Map)])}}),_(new class extends J{getSignature(){return ye}async internalExecute(e){const t=e?.getArguments()?.get("name");if(!e.getContext()?.has(t))throw new P(x.format("Context don't have an element for '$' ",t));return new d([I.outputOf(new Map(["value",e.getContext()?.get(t)?.getElement()]))])}}),_(new class extends J{getSignature(){return zt}async internalExecute(e){let t=e?.getArguments()?.get("name");if(L.isNullOrBlank(t))throw new P("Empty string is not a valid name for the context element");let r=e?.getArguments()?.get("value");const n=new De(t),s=n.getTokens().peekLast();if(!s.getExpression().startsWith("Context")||s instanceof De||s instanceof Ge&&!s.getElement().toString().startsWith("Context"))throw new ee(x.format("The context path $ is not a valid path in context",t));for(const e of n.getOperations().toArray())if(e!=be.ARRAY_OPERATOR&&e!=be.OBJECT_OPERATOR)throw new ee(x.format("Expected a reference to the context location, but found an expression $",t));for(let r=0;r<n.getTokens().size();r++){let s=n.getTokens().get(r);s instanceof De&&n.getTokens().set(r,new Ge(t,new Jt(s).evaluate(e.getValuesMap())))}return this.modifyContext(e,t,r,n)}modifyContext(e,t,r,n){const a=n.getTokens();a.removeLast();const i=n.getOperations();i.removeLast();let o=e.getContext()?.get(a.removeLast().getExpression());if(s(o))throw new P(x.format("Context doesn't have any element with name '$' ",t));if(i.isEmpty())return o.setElement(r),new d([I.outputOf(new Map)]);let E=o.getElement(),u=i.removeLast(),A=a.removeLast(),l=A instanceof Ge?A.getElement():A.getExpression();for(s(E)&&(E=u==be.OBJECT_OPERATOR?{}:[],o.setElement(E));!i.isEmpty();)E=u==be.OBJECT_OPERATOR?this.getDataFromObject(E,l,i.peekLast()):this.getDataFromArray(E,l,i.peekLast()),u=i.removeLast(),A=a.removeLast(),l=A instanceof Ge?A.getElement():A.getExpression();return u==be.OBJECT_OPERATOR?this.putDataInObject(E,l,r):this.putDataInArray(E,l,r),new d([I.outputOf(new Map)])}getDataFromArray(e,t,r){if(!Array.isArray(e))throw new P(x.format("Expected an array but found $",e));const n=parseInt(t);if(isNaN(n))throw new P(x.format("Expected an array index but found $",t));if(n<0)throw new P(x.format("Array index is out of bound - $",t));let a=e[n];return s(a)&&(a=r==be.OBJECT_OPERATOR?{}:[],e[n]=a),a}getDataFromObject(e,t,r){if(Array.isArray(e)||"object"!=typeof e)throw new P(x.format("Expected an object but found $",e));let n=e[t];return s(n)&&(n=r==be.OBJECT_OPERATOR?{}:[],e[t]=n),n}putDataInArray(e,t,r){if(!Array.isArray(e))throw new P(x.format("Expected an array but found $",e));const n=parseInt(t);if(isNaN(n))throw new P(x.format("Expected an array index but found $",t));if(n<0)throw new P(x.format("Array index is out of bound - $",t));e[n]=r}putDataInObject(e,t,r){if(Array.isArray(e)||"object"!=typeof e)throw new P(x.format("Expected an object but found $",e));e[t]=r}})])],[n.SYSTEM_LOOP,new Map([_(new class extends J{getSignature(){return er}async internalExecute(e){let t=e.getArguments()?.get("from"),r=e.getArguments()?.get("to"),n=e.getArguments()?.get("step");const s=n>0;let a=t,i=!1;return new d({next(){if(i)return;if(s&&a>=r||!s&&a<=r)return i=!0,I.outputOf(new Map([["value",a]]));const e=I.of(w.ITERATION,new Map([["index",a]]));return a+=n,e}})}}),_(new class extends J{getSignature(){return Zt}async internalExecute(e){let t=e.getArguments()?.get("count"),r=0;return new d({next(){if(r>=t)return I.outputOf(new Map([["value",t]]));const e=I.of(w.ITERATION,new Map([["index",r]]));return++r,e}})}})])],[n.SYSTEM,new Map([_(new Qt),_(new class extends J{getSignature(){return Kt}async internalExecute(e){const t=e.getEvents(),r=e.getArguments()?.get("eventName"),n=e?.getArguments()?.get("results").map((t=>{let r=t.value;if(s(r))throw new P("Expect a value object");let n=r.value;return r.isExpression&&(n=new Jt(n).evaluate(e.getValuesMap())),[t.name,n]})).reduce(((e,t)=>(e.set(t[0],t[1]),e)),new Map);return t?.has(r)||t?.set(r,[]),t?.get(r)?.push(n),new d([I.outputOf(new Map)])}}),_(new hr)])]]),Vr=Array.from(Ur.values()).flatMap((e=>Array.from(e.values()))).map((e=>e.getSignature().getFullName()));class Cr extends vr{constructor(){super({find:(e,t)=>Ur.get(e)?.get(t),filter:e=>Array.from(Vr).filter((t=>-1!==t.toLowerCase().indexOf(e.toLowerCase())))},new gr,new Lr,new Ie,new pr)}}e({},"StatementExecution",(()=>br));e({},"StatementMessage",(()=>Gr));class Gr{constructor(e,t){this.message=t,this.messageType=e}getMessageType(){return this.messageType}setMessageType(e){return this.messageType=e,this}getMessage(){return this.message}setMessage(e){return this.message=e,this}toString(){return`${this.messageType} : ${this.message}`}}class br{messages=new Array;dependencies=new Set;constructor(e){this.statement=e}getStatement(){return this.statement}setStatement(e){return this.statement=e,this}getMessages(){return this.messages}setMessages(e){return this.messages=e,this}getDependencies(){return this.dependencies}setDependencies(e){return this.dependencies=e,this}getUniqueKey(){return this.statement.getStatementName()}addMessage(e,t){this.messages.push(new Gr(e,t))}addDependency(e){this.dependencies.add(e)}getDepenedencies(){return this.dependencies}equals(e){if(!(e instanceof br))return!1;return e.statement.equals(this.statement)}}e({},"ContextTokenValueExtractor",(()=>Dr));class Dr extends kt{static PREFIX="Context.";constructor(e){super(),this.context=e}getValueInternal(e){let t=e.split(kt.REGEX_DOT),r=t[1],n=r.indexOf("["),s=2;return-1!=n&&(r=t[1].substring(0,n),t[1]=t[1].substring(n),s=1),this.retrieveElementFrom(e,t,s,this.context.get(r)?.getElement())}getPrefix(){return Dr.PREFIX}}e({},"OutputMapTokenValueExtractor",(()=>Fr));class Fr extends kt{static PREFIX="Steps.";constructor(e){super(),this.output=e}getValueInternal(e){let t=e.split(kt.REGEX_DOT),r=1,n=this.output.get(t[r++]);if(!n||r>=t.length)return;let s=n.get(t[r++]);if(!s||r>=t.length)return;let a=s.get(t[r++]);return this.retrieveElementFrom(e,t,r,a)}getPrefix(){return Fr.PREFIX}}e({},"ArgumentsTokenValueExtractor",(()=>Br));class Br extends kt{static PREFIX="Arguments.";constructor(e){super(),this.args=e}getValueInternal(e){let t=e.split(kt.REGEX_DOT),r=t[1],n=r.indexOf("["),s=2;return-1!=n&&(r=t[1].substring(0,n),t[1]=t[1].substring(n),s=1),this.retrieveElementFrom(e,t,s,this.args.get(r))}getPrefix(){return Br.PREFIX}}e({},"GraphVertex",(()=>Hr));e({},"ExecutionGraph",(()=>Yr));class Yr{nodeMap=new Map;constructor(e=!1){this.isSubGrph=e}getVerticesData(){return Array.from(this.nodeMap.values()).map((e=>e.getData()))}addVertex(e){if(!this.nodeMap.has(e.getUniqueKey())){let t=new Hr(this,e);this.nodeMap.set(e.getUniqueKey(),t)}return this.nodeMap.get(e.getUniqueKey())}getVertex(e){return this.nodeMap.get(e)}getVertexData(e){if(this.nodeMap.has(e))return this.nodeMap.get(e).getData()}getVerticesWithNoIncomingEdges(){return Array.from(this.nodeMap.values()).filter((e=>!e.hasIncomingEdges()))}isCyclic(){let e,t=new Le(this.getVerticesWithNoIncomingEdges()),r=new Set;for(;!t.isEmpty();){if(r.has(t.getFirst().getKey()))return!0;e=t.removeFirst(),r.add(e.getKey()),e.hasOutgoingEdges()&&t.addAll(Array.from(e.getOutVertices().values()).flatMap((e=>Array.from(e))))}return!1}addVertices(e){for(const t of e)this.addVertex(t)}getNodeMap(){return this.nodeMap}isSubGraph(){return this.isSubGrph}toString(){return"Execution Graph : \n"+Array.from(this.nodeMap.values()).map((e=>e.toString())).join("\n")}}class Hr{outVertices=new Map;inVertices=new Set;constructor(e,t){this.data=t,this.graph=e}getData(){return this.data}setData(e){return this.data=e,this}getOutVertices(){return this.outVertices}setOutVertices(e){return this.outVertices=e,this}getInVertices(){return this.inVertices}setInVertices(e){return this.inVertices=e,this}getGraph(){return this.graph}setGraph(e){return this.graph=e,this}getKey(){return this.data.getUniqueKey()}addOutEdgeTo(e,t){return this.outVertices.has(e)||this.outVertices.set(e,new Set),this.outVertices.get(e).add(t),t.inVertices.add(new U(this,e)),t}addInEdgeTo(e,t){return this.inVertices.add(new U(e,t)),e.outVertices.has(t)||e.outVertices.set(t,new Set),e.outVertices.get(t).add(this),e}hasIncomingEdges(){return!!this.inVertices.size}hasOutgoingEdges(){return!!this.outVertices.size}getSubGraphOfType(e){let t=new Yr(!0);var r=new Le(Array.from(this.outVertices.get(e)??[]));for(r.map((e=>e.getData())).forEach((e=>t.addVertex(e)));!r.isEmpty();){var n=r.pop();Array.from(n.outVertices.values()).flatMap((e=>Array.from(e))).forEach((e=>{t.addVertex(e.getData()),r.add(e)}))}return t}toString(){var e=Array.from(this.getInVertices()).map((e=>e.getT1().getKey()+"("+e.getT2()+")")).join(", "),t=Array.from(this.outVertices.entries()).map((([e,t])=>e+": "+Array.from(t).map((e=>e.getKey())).join(","))).join("\n\t\t");return this.getKey()+":\n\tIn: "+e+"\n\tOut: \n\t\t"+t}}e({},"KIRuntime",(()=>zr));e({},"JsonExpression",(()=>kr));class kr{constructor(e){this.expression=e}getExpression(){return this.expression}}let $r;var jr;e({},"ParameterReferenceType",(()=>$r)),(jr=$r||($r={})).VALUE="VALUE",jr.EXPRESSION="EXPRESSION";function Xr(){var e=(new Date).getTime();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(t){var r=(e+16*Math.random())%16|0;return e=Math.floor(e/16),("x"==t?r:3&r|8).toString(16)}))}e({},"FunctionExecutionParameters",(()=>Wr));class Wr{count=0;valueExtractors=new Map;constructor(e,t,r){this.functionRepository=e,this.schemaRepository=t,this.executionId=r??Xr()}getExecutionId(){return this.executionId}getContext(){return this.context}setContext(e){this.context=e;let t=new Dr(e);return this.valueExtractors.set(t.getPrefix(),t),this}getArguments(){return this.args}setArguments(e){return this.args=e,this}getEvents(){return this.events}setEvents(e){return this.events=e,this}getStatementExecution(){return this.statementExecution}setStatementExecution(e){return this.statementExecution=e,this}getSteps(){return this.steps}setSteps(e){this.steps=e;let t=new Fr(e);return this.valueExtractors.set(t.getPrefix(),t),this}getCount(){return this.count}setCount(e){return this.count=e,this}getValuesMap(){return this.valueExtractors}getFunctionRepository(){return this.functionRepository}setFunctionRepository(e){return this.functionRepository=e,this}getSchemaRepository(){return this.schemaRepository}setSchemaRepository(e){return this.schemaRepository=e,this}addTokenValueExtractor(...e){for(const t of e)this.valueExtractors.set(t.getPrefix(),t);return this}setValuesMap(e){for(const[t,r]of e.entries())this.valueExtractors.set(t,r);return this}}let qr;var Jr;e({},"StatementMessageType",(()=>qr)),(Jr=qr||(qr={})).ERROR="ERROR",Jr.WARNING="WARNING",Jr.MESSAGE="MESSAGE";class zr extends J{static PARAMETER_NEEDS_A_VALUE='Parameter "$" needs a value';static STEP_REGEX_PATTERN=new RegExp("Steps\\.([a-zA-Z0-9\\\\-]{1,})\\.([a-zA-Z0-9\\\\-]{1,})","g");static VERSION=1;static MAX_EXECUTION_ITERATIONS=1e7;debugMode=!1;constructor(e,t=!1){if(super(),this.debugMode=t,this.fd=e,this.fd.getVersion()>zr.VERSION)throw new P("Runtime is at a lower version "+zr.VERSION+" and trying to run code from version "+this.fd.getVersion()+".")}getSignature(){return this.fd}async getExecutionPlan(e,t){let r=new Yr;for(let n of Array.from(this.fd.getSteps().values()))r.addVertex(this.prepareStatementExecution(n,e,t));let n=this.makeEdges(r);return Array.from(n.getT2().entries()).forEach((e=>{let t=r.getNodeMap().get(e[0])?.getData();t&&t.addMessage(qr.ERROR,e[1])})),r}async internalExecute(e){e.getContext()||e.setContext(new Map),e.getEvents()||e.setEvents(new Map),e.getSteps()||e.setSteps(new Map),e.getArguments()&&e.addTokenValueExtractor(new Br(e.getArguments())),this.debugMode&&(console.log(`EID: ${e.getExecutionId()} Executing: ${this.fd.getNamespace()}.${this.fd.getName()}`),console.log(`EID: ${e.getExecutionId()} Parameters: `,e));let t=await this.getExecutionPlan(e.getFunctionRepository(),e.getSchemaRepository());this.debugMode&&console.log(`EID: ${e.getExecutionId()} ${t?.toString()}`);let r=t.getVerticesData().filter((e=>e.getMessages().length)).map((e=>e.getStatement().getStatementName()+": \n"+e.getMessages().join(",")));if(r?.length)throw new P("Please fix the errors in the function definition before execution : \n"+r.join(",\n"));return await this.executeGraph(t,e)}async executeGraph(e,t){let r=new Le;r.addAll(e.getVerticesWithNoIncomingEdges());let n=new Le;for(;!(r.isEmpty()&&n.isEmpty()||t.getEvents()?.has(w.OUTPUT));)if(await this.processBranchQue(t,r,n),await this.processExecutionQue(t,r,n),t.setCount(t.getCount()+1),t.getCount()==zr.MAX_EXECUTION_ITERATIONS)throw new P("Execution locked in an infinite loop");if(!e.isSubGraph()&&!t.getEvents()?.size){const e=this.getSignature().getEvents();if(e.size&&e.get(w.OUTPUT)?.getParameters()?.size)throw new P("No events raised")}const s=Array.from(t.getEvents()?.entries()??[]).flatMap((e=>e[1].map((t=>I.of(e[0],t)))));return s.length||e.isSubGraph()?new d(s):new d([I.of(w.OUTPUT,new Map)])}async processExecutionQue(e,t,r){if(!t.isEmpty()){let n=t.pop();await this.allDependenciesResolvedVertex(n,e.getSteps())?await this.executeVertex(n,e,r,t,e.getFunctionRepository()):t.add(n)}}async processBranchQue(e,t,r){if(r.length){let n=r.pop();await this.allDependenciesResolvedTuples(n.getT2(),e.getSteps())?await this.executeBranch(e,t,n):r.add(n)}}async executeBranch(e,t,r){let n,s=r.getT4();do{if(await this.executeGraph(r.getT1(),e),n=r.getT3().next(),n&&(e.getSteps()?.has(s.getData().getStatement().getStatementName())||e.getSteps()?.set(s.getData().getStatement().getStatementName(),new Map),e.getSteps()?.get(s.getData().getStatement().getStatementName())?.set(n.getName(),this.resolveInternalExpressions(n.getResult(),e)),this.debugMode)){const t=s.getData().getStatement();console.log(`EID: ${e.getExecutionId()} Step : ${t.getStatementName()} => ${t.getNamespace()}.${t.getName()}`),console.log(`EID: ${e.getExecutionId()} Event : ${n.getName()} : `,e.getSteps().get(t.getStatementName()).get(n.getName()))}}while(n&&n.getName()!=w.OUTPUT);n?.getName()==w.OUTPUT&&s.getOutVertices().has(w.OUTPUT)&&(s?.getOutVertices()?.get(w.OUTPUT)??[]).forEach((async r=>{await this.allDependenciesResolvedVertex(r,e.getSteps())&&t.add(r)}))}async executeVertex(e,t,r,n,s){let a=e.getData().getStatement(),i=s.find(a.getNamespace(),a.getName());if(!i)throw new P(x.format("$.$ function is not found.",a.getNamespace(),a.getName()));let o=i?.getSignature().getParameters(),E=this.getArgumentsFromParametersMap(t,a,o??new Map);this.debugMode&&(console.log(`EID: ${t.getExecutionId()} Step : ${a.getStatementName()} => ${a.getNamespace()}.${a.getName()}`),console.log(`EID: ${t.getExecutionId()} Arguments : `,E));let u,A=t.getContext();u=i instanceof zr?new Wr(t.getFunctionRepository(),t.getSchemaRepository(),`${t.getExecutionId()}_${a.getStatementName()}`).setArguments(E).setValuesMap(new Map(Array.from(t.getValuesMap().values()).filter((e=>e.getPrefix()!==Br.PREFIX&&e.getPrefix()!==Fr.PREFIX&&e.getPrefix()!==Dr.PREFIX)).map((e=>[e.getPrefix(),e])))):new Wr(t.getFunctionRepository(),t.getSchemaRepository(),t.getExecutionId()).setValuesMap(t.getValuesMap()).setContext(A).setArguments(E).setEvents(t.getEvents()).setSteps(t.getSteps()).setStatementExecution(e.getData()).setCount(t.getCount());let l=await i.execute(u),g=l.next();if(!g)throw new P(x.format("Executing $ returned no events",a.getStatementName()));let c=g.getName()==w.OUTPUT;if(t.getSteps()?.has(a.getStatementName())||t.getSteps().set(a.getStatementName(),new Map),t.getSteps().get(a.getStatementName()).set(g.getName(),this.resolveInternalExpressions(g.getResult(),t)),this.debugMode&&(console.log(`EID: ${t.getExecutionId()} Step : ${a.getStatementName()} => ${a.getNamespace()}.${a.getName()}`),console.log(`EID: ${t.getExecutionId()} Event : ${g.getName()} : `,t.getSteps().get(a.getStatementName()).get(g.getName()))),c){let r=e.getOutVertices().get(w.OUTPUT);r&&r.forEach((async e=>{await this.allDependenciesResolvedVertex(e,t.getSteps())&&n.add(e)}))}else{let t=e.getSubGraphOfType(g.getName()),n=this.makeEdges(t).getT1();r.push(new C(t,n,l,e))}}resolveInternalExpressions(e,t){return e?Array.from(e.entries()).map((e=>new U(e[0],this.resolveInternalExpression(e[1],t)))).reduce(((e,t)=>(e.set(t.getT1(),t.getT2()),e)),new Map):e}resolveInternalExpression(e,t){if(s(e)||"object"!=typeof e)return e;if(e instanceof kr){return new Jt(e.getExpression()).evaluate(t.getValuesMap())}if(Array.isArray(e)){let r=[];for(let n of e)r.push(this.resolveInternalExpression(n,t));return r}if("object"==typeof e){let r={};for(let n of Object.entries(e))r[n[0]]=this.resolveInternalExpression(n[1],t);return r}}allDependenciesResolvedTuples(e,t){for(let r of e){if(!t.has(r.getT1()))return!1;if(!t.get(r.getT1())?.get(r.getT2()))return!1}return!0}allDependenciesResolvedVertex(e,t){return!e.getInVertices().size||0==Array.from(e.getInVertices()).filter((e=>{let r=e.getT1().getData().getStatement().getStatementName(),n=e.getT2();return!(t.has(r)&&t.get(r)?.has(n))})).length}getArgumentsFromParametersMap(e,t,r){return Array.from(t.getParameterMap().entries()).map((t=>{let n,a=Array.from(t[1]?.values()??[]);if(!a?.length)return new U(t[0],n);let i=r.get(t[0]);return i?(n=i.isVariableArgument()?a.sort(((e,t)=>(e.getOrder()??0)-(t.getOrder()??0))).filter((e=>!s(e))).map((t=>this.parameterReferenceEvaluation(e,t))).flatMap((e=>Array.isArray(e)?e:[e])):this.parameterReferenceEvaluation(e,a[0]),new U(t[0],n)):new U(t[0],void 0)})).filter((e=>!s(e.getT2()))).reduce(((e,t)=>(e.set(t.getT1(),t.getT2()),e)),new Map)}parameterReferenceEvaluation(e,t){let r;if(t.getType()==$r.VALUE)r=this.resolveInternalExpression(t.getValue(),e);else if(t.getType()==$r.EXPRESSION&&!L.isNullOrBlank(t.getExpression())){r=new Jt(t.getExpression()??"").evaluate(e.getValuesMap())}return r}prepareStatementExecution(e,t,r){let n=new br(e),a=t.find(e.getNamespace(),e.getName());if(!a)return n.addMessage(qr.ERROR,x.format("$.$ is not available",e.getNamespace(),e.getName())),n;let i=new Map(a.getSignature().getParameters());if(!e.getParameterMap())return n;for(let t of Array.from(e.getParameterMap().entries())){let e=i.get(t[0]);if(!e)continue;let s=Array.from(t[1]?.values()??[]);if(s.length||e.isVariableArgument()){if(e.isVariableArgument()){s.sort(((e,t)=>(e.getOrder()??0)-(t.getOrder()??0)));for(let t of s)this.parameterReferenceValidation(n,e,t,r)}else if(s.length){let t=s[0];this.parameterReferenceValidation(n,e,t,r)}i.delete(e.getParameterName())}else b.hasDefaultValueOrNullSchemaType(e.getSchema(),r)||n.addMessage(qr.ERROR,x.format(zr.PARAMETER_NEEDS_A_VALUE,e.getParameterName())),i.delete(e.getParameterName())}if(!s(n.getStatement().getDependentStatements()))for(let e of n.getStatement().getDependentStatements().entries())e[1]&&n.addDependency(e[0]);if(i.size)for(let e of Array.from(i.values()))e.isVariableArgument()||b.hasDefaultValueOrNullSchemaType(e.getSchema(),r)||n.addMessage(qr.ERROR,x.format(zr.PARAMETER_NEEDS_A_VALUE,e.getParameterName()));return n}parameterReferenceValidation(e,t,r,n){if(r){if(r.getType()==$r.VALUE){if(s(r.getValue())&&!b.hasDefaultValueOrNullSchemaType(t.getSchema(),n)&&e.addMessage(qr.ERROR,x.format(zr.PARAMETER_NEEDS_A_VALUE,t.getParameterName())),s(r.getValue()))return;let a=new Le;for(a.push(new U(t.getSchema(),r.getValue()));!a.isEmpty();){let t=a.pop();if(t.getT2()instanceof kr)this.addDependencies(e,t.getT2().getExpression());else{if(s(t.getT1())||s(t.getT1().getType()))continue;if(t.getT1().getType()?.contains(i.ARRAY)&&Array.isArray(t.getT2())){let e=t.getT1().getItems();if(!e)continue;if(e.isSingleType())for(let r of t.getT2())a.push(new U(e.getSingleSchema(),r));else{let r=t.getT2();for(let t=0;t<r.length;t++)a.push(new U(e.getTupleSchema()[t],r[t]))}}else if(t.getT1().getType()?.contains(i.OBJECT)&&"object"==typeof t.getT2()){let r=t.getT1();if(r.getName()===p.EXPRESSION.getName()&&r.getNamespace()===p.EXPRESSION.getNamespace()){let r=t.getT2();r.isExpression&&this.addDependencies(e,r.value)}else if(r.getProperties())for(let e of Object.entries(t.getT2()))r.getProperties().has(e[0])&&a.push(new U(r.getProperties().get(e[0]),e[1]))}}}}else if(r.getType()==$r.EXPRESSION)if(L.isNullOrBlank(r.getExpression()))s(b.getDefaultValue(t.getSchema(),n))&&e.addMessage(qr.ERROR,x.format(zr.PARAMETER_NEEDS_A_VALUE,t.getParameterName()));else try{this.addDependencies(e,r.getExpression())}catch(t){e.addMessage(qr.ERROR,x.format("Error evaluating $ : $",r.getExpression(),t))}}else s(b.getDefaultValue(t.getSchema(),n))&&e.addMessage(qr.ERROR,x.format(zr.PARAMETER_NEEDS_A_VALUE,t.getParameterName()))}addDependencies(e,t){t&&Array.from(t.match(zr.STEP_REGEX_PATTERN)??[]).forEach((t=>e.addDependency(t)))}makeEdges(e){let t=e.getNodeMap().values(),r=[],n=new Map;for(let s of Array.from(t))for(let t of s.getData().getDependencies()){let a=t.indexOf(".",6),i=t.substring(6,a),o=t.indexOf(".",a+1),E=-1==o?t.substring(a+1):t.substring(a+1,o);e.getNodeMap().has(i)?s.addInEdgeTo(e.getNodeMap().get(i),E):(r.push(new U(i,E)),n.set(s.getData().getStatement().getStatementName(),x.format("Unable to find the step with name $",i)))}return new U(r,n)}}e({},"KIRunConstants",(()=>Kr));class Kr{static NAMESPACE="namespace";static NAME="name";static ID="id";constructor(){}}e({},"Position",(()=>Qr));class Qr{static SCHEMA_NAME="Position";static SCHEMA=(new c).setNamespace(n.SYSTEM).setName(Qr.SCHEMA_NAME).setType(l.of(i.OBJECT)).setProperties(new Map([["left",c.ofFloat("left")],["top",c.ofFloat("top")]]));constructor(e,t){this.left=e,this.top=t}getLeft(){return this.left}setLeft(e){return this.left=e,this}getTop(){return this.top}setTop(e){return this.top=e,this}static from(e){if(e)return new Qr(e.left,e.top)}}e({},"FunctionDefinition",(()=>sn));e({},"Statement",(()=>tn));e({},"AbstractStatement",(()=>Zr));class Zr{override=!1;constructor(e){e&&(this.comment=e.comment,this.description=e.description,this.position=e.position?new Qr(e.position.getLeft(),e.position.getTop()):void 0,this.override=e.override)}getComment(){return this.comment}setComment(e){return this.comment=e,this}isOverride(){return this.override}setOverride(e){return this.override=e,this}getDescription(){return this.description}setDescription(e){return this.description=e,this}getPosition(){return this.position}setPosition(e){return this.position=e,this}}e({},"ParameterReference",(()=>en));class en{static SCHEMA_NAME="ParameterReference";static SCHEMA=(new c).setNamespace(n.SYSTEM).setName(en.SCHEMA_NAME).setType(l.of(i.OBJECT)).setProperties(new Map([["key",c.ofString("key")],["value",c.ofAny("value")],["expression",c.ofString("expression")],["type",c.ofString("type").setEnums(["EXPRESSION","VALUE"])],["order",c.ofInteger("order")]]));constructor(e){if(e instanceof en){let t=e;this.key=t.key,this.type=t.type,this.value=s(t.value)?void 0:JSON.parse(JSON.stringify(t.value)),this.expression=t.expression,this.order=t.order}else this.type=e,this.key=Xr()}getType(){return this.type}setType(e){return this.type=e,this}getKey(){return this.key}setKey(e){return this.key=e,this}getValue(){return this.value}setValue(e){return this.value=e,this}getExpression(){return this.expression}setExpression(e){return this.expression=e,this}setOrder(e){return this.order=e,this}getOrder(){return this.order}static ofExpression(e){const t=new en($r.EXPRESSION).setExpression(e);return[t.getKey(),t]}static ofValue(e){const t=new en($r.VALUE).setValue(e);return[t.getKey(),t]}static from(e){return new en(e.type).setValue(e.value).setExpression(e.expression).setKey(e.key).setOrder(e.order)}}class tn extends Zr{static SCHEMA_NAME="Statement";static SCHEMA=(new c).setNamespace(n.SYSTEM).setName(tn.SCHEMA_NAME).setType(l.of(i.OBJECT)).setProperties(new Map([["statementName",c.ofString("statementName")],["comment",c.ofString("comment")],["description",c.ofString("description")],["namespace",c.ofString("namespace")],["name",c.ofString("name")],["dependentStatements",c.ofObject("dependentstatement").setAdditionalProperties((new g).setSchemaValue(c.ofBoolean("exists")))],["parameterMap",(new c).setName("parameterMap").setAdditionalProperties((new g).setSchemaValue(c.ofObject("parameterReference").setAdditionalProperties((new g).setSchemaValue(en.SCHEMA))))],["position",Qr.SCHEMA]]));constructor(e,t,r){if(super(e instanceof tn?e:void 0),e instanceof tn){let t=e;this.statementName=t.statementName,this.name=t.name,this.namespace=t.namespace,t.parameterMap&&(this.parameterMap=new Map(Array.from(t.parameterMap.entries()).map((e=>[e[0],new Map(Array.from(e[1].entries()).map((e=>[e[0],new en(e[1])])))])))),t.dependentStatements&&(this.dependentStatements=new Map(Array.from(t.dependentStatements.entries())))}else{if(this.statementName=e,!r||!t)throw new Error("Unknown constructor");this.namespace=t,this.name=r}}getStatementName(){return this.statementName}setStatementName(e){return this.statementName=e,this}getNamespace(){return this.namespace}setNamespace(e){return this.namespace=e,this}getName(){return this.name}setName(e){return this.name=e,this}getParameterMap(){return this.parameterMap||(this.parameterMap=new Map),this.parameterMap}setParameterMap(e){return this.parameterMap=e,this}getDependentStatements(){return this.dependentStatements??new Map}setDependentStatements(e){return this.dependentStatements=e,this}equals(e){if(!(e instanceof tn))return!1;return e.statementName==this.statementName}static ofEntry(e){return[e.statementName,e]}static from(e){return new tn(e.statementName,e.namespace,e.name).setParameterMap(new Map(Object.entries(e.parameterMap??{}).map((([e,t])=>[e,new Map(Object.entries(t??{}).map((([e,t])=>en.from(t))).map((e=>[e.getKey(),e])))])))).setDependentStatements(new Map(Object.entries(e.dependentStatements??{}))).setPosition(Qr.from(e.position)).setComment(e.comment).setDescription(e.description)}}e({},"StatementGroup",(()=>rn));class rn extends Zr{static SCHEMA_NAME="StatementGroup";static SCHEMA=(new c).setNamespace(n.SYSTEM).setName(rn.SCHEMA_NAME).setType(l.of(i.OBJECT)).setProperties(new Map([["statementGroupName",c.ofString("statementGroupName")],["comment",c.ofString("comment")],["description",c.ofString("description")],["position",Qr.SCHEMA]]));constructor(e,t=new Map){super(),this.statementGroupName=e,this.statements=t}getStatementGroupName(){return this.statementGroupName}setStatementGroupName(e){return this.statementGroupName=e,this}getStatements(){return this.statements}setStatements(e){return this.statements=e,this}static from(e){return new rn(e.statementGroupName,new Map(Object.entries(e.statements||{}).map((([e,t])=>[e,"true"==(""+t)?.toLowerCase()])))).setPosition(Qr.from(e.position)).setComment(e.comment).setDescription(e.description)}}const nn=(new c).setNamespace(n.SYSTEM).setName("FunctionDefinition").setProperties(new Map([["name",c.ofString("name")],["namespace",c.ofString("namespace")],["parameters",c.ofArray("parameters",p.SCHEMA)],["events",c.ofObject("events").setAdditionalProperties((new g).setSchemaValue(w.SCHEMA))],["steps",c.ofObject("steps").setAdditionalProperties((new g).setSchemaValue(tn.SCHEMA))]]));nn.getProperties()?.set("parts",c.ofArray("parts",nn));class sn extends y{static SCHEMA=nn;version=1;constructor(e){super(e)}getVersion(){return this.version}setVersion(e){return this.version=e,this}getSteps(){return this.steps??new Map}setSteps(e){return this.steps=e,this}getStepGroups(){return this.stepGroups}setStepGroups(e){return this.stepGroups=e,this}getParts(){return this.parts}setParts(e){return this.parts=e,this}static from(e){return e?new sn(e.name).setSteps(new Map(Object.values(e.steps??{}).filter((e=>!!e)).map((e=>[e.statementName,tn.from(e)])))).setStepGroups(new Map(Object.values(e.stepGroups??{}).filter((e=>!!e)).map((e=>[e.statementGroupName,rn.from(e)])))).setParts(Array.from(e.parts??[]).filter((e=>!!e)).map((e=>sn.from(e)))).setVersion(e.version??1).setEvents(new Map(Object.values(e.events??{}).filter((e=>!!e)).map((e=>[e.name,w.from(e)])))).setParameters(new Map(Object.values(e.parameters??{}).filter((e=>!!e)).map((e=>[e.parameterName,p.from(e)])))):new sn("unknown")}}e({},"Argument",(()=>an));class an{argumentIndex=0;constructor(e,t,r){this.argumentIndex=e,this.name=t,this.value=r}getArgumentIndex(){return this.argumentIndex}setArgumentIndex(e){return this.argumentIndex=e,this}getName(){return this.name}setName(e){return this.name=e,this}getValue(){return this.value}setValue(e){return this.value=e,this}static of(e,t){return new an(0,e,t)}}var on={};t(on,Ut),t(on,bt),t(on,Ft),t(on,Yt),t(on,Vt);var En={};t(En,ke),t(En,je),t(En,We),t(En,Je),t(En,Ke),t(En,Ze),t(En,tt),t(En,Be),t(En,nt),t(En,at),t(En,ot),t(En,ut),t(En,lt),t(En,ct),t(En,Tt),t(En,pt),t(En,Nt),t(En,_t),t(En,Mt),t(En,Pt),t(En,wt),t(En,yt),t(En,Lt),t(En,Fe);export{f as KIRunSchemaRepository,Cr as KIRunFunctionRepository,te as PrimitiveUtil,M as MapUtil,O as MapEntry,s as isNullValue,Le as LinkedList,Ue as StringBuilder,x as StringFormatter,L as StringUtil,U as Tuple2,V as Tuple3,C as Tuple4,ne as ArrayUtil,xe as deepEqual,cr as duplicate,br as StatementExecution,Gr as StatementMessage,Pe as ContextElement,Dr as ContextTokenValueExtractor,Fr as OutputMapTokenValueExtractor,Br as ArgumentsTokenValueExtractor,Hr as GraphVertex,Yr as ExecutionGraph,zr as KIRuntime,qr as StatementMessageType,Wr as FunctionExecutionParameters,De as Expression,kt as TokenValueExtractor,jt as LiteralTokenValueExtractor,Jt as ExpressionEvaluator,be as Operation,Ce as ExpressionToken,Ve as ExpressionEvaluationException,Ge as ExpressionTokenValue,J as AbstractFunction,n as Namespaces,kr as JsonExpression,g as AdditionalType,c as Schema,H as NumberValidator,B as BooleanValidator,Y as NullValidator,F as ArrayValidator,D as AnyOfAllOfOneOfValidator,X as StringValidator,k as ObjectValidator,q as SchemaValidator,G as SchemaValidationException,m as SchemaReferenceException,W as TypeValidator,a as ArraySchemaType,A as SingleType,l as TypeUtil,u as MultipleType,E as Type,i as SchemaType,b as SchemaUtil,$ as StringFormat,vr as HybridRepository,Kr as KIRunConstants,p as Parameter,d as FunctionOutput,Qr as Position,sn as FunctionDefinition,$r as ParameterReferenceType,I as EventResult,Zr as AbstractStatement,tn as Statement,rn as StatementGroup,y as FunctionSignature,w as Event,T as ParameterType,an as Argument,en as ParameterReference,ee as ExecutionException,P as KIRuntimeException,Gt as ArithmeticUnaryMinusOperator,Dt as ArithmeticUnaryPlusOperator,Bt as BitwiseComplementOperator,Ht as LogicalNotOperator,Ct as UnaryOperator,$e as ArithmeticAdditionOperator,Xe as ArithmeticDivisionOperator,qe as ArithmeticIntegerDivisionOperator,ze as ArithmeticModulusOperator,Qe as ArithmeticMultiplicationOperator,et as ArithmeticSubtractionOperator,rt as ArrayOperator,Ye as BinaryOperator,st as BitwiseAndOperator,it as BitwiseLeftShiftOperator,Et as BitwiseOrOperator,At as BitwiseRightShiftOperator,gt as BitwiseUnsignedRightShiftOperator,mt as BitwiseXorOperator,Rt as LogicalAndOperator,ht as LogicalEqualOperator,ft as LogicalGreaterThanEqualOperator,St as LogicalGreaterThanOperator,Ot as LogicalLessThanEqualOperator,dt as LogicalNotEqualOperator,It as LogicalLessThanOperator,xt as LogicalOrOperator,vt as ObjectOperator,He as LogicalNullishCoalescingOperator,Wt as ConditionalTernaryOperator};
2
2
  //# sourceMappingURL=module.js.map