camunda-bpmn-js 0.13.0-alpha.7 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/CHANGELOG.md +23 -1
  2. package/dist/assets/base-navigated-viewer.css +2 -0
  3. package/dist/assets/base-viewer.css +2 -0
  4. package/dist/assets/camunda-cloud-navigated-viewer.css +1 -0
  5. package/dist/assets/camunda-cloud-viewer.css +1 -0
  6. package/dist/assets/camunda-platform-navigated-viewer.css +1 -0
  7. package/dist/assets/camunda-platform-viewer.css +1 -0
  8. package/dist/base-modeler.development.js +32 -6
  9. package/dist/base-modeler.production.min.js +1 -1
  10. package/dist/base-navigated-viewer.development.js +22218 -0
  11. package/dist/base-navigated-viewer.production.min.js +2 -0
  12. package/dist/base-viewer.development.js +21227 -0
  13. package/dist/base-viewer.production.min.js +2 -0
  14. package/dist/camunda-cloud-modeler.development.js +1380 -456
  15. package/dist/camunda-cloud-modeler.production.min.js +4 -4
  16. package/dist/camunda-cloud-navigated-viewer.development.js +23041 -0
  17. package/dist/camunda-cloud-navigated-viewer.production.min.js +2 -0
  18. package/dist/camunda-cloud-viewer.development.js +22050 -0
  19. package/dist/camunda-cloud-viewer.production.min.js +2 -0
  20. package/dist/camunda-platform-modeler.development.js +1657 -1340
  21. package/dist/camunda-platform-modeler.production.min.js +4 -4
  22. package/dist/camunda-platform-navigated-viewer.development.js +23413 -0
  23. package/dist/camunda-platform-navigated-viewer.production.min.js +2 -0
  24. package/dist/camunda-platform-viewer.development.js +22422 -0
  25. package/dist/camunda-platform-viewer.production.min.js +2 -0
  26. package/lib/base/NavigatedViewer.js +3 -0
  27. package/lib/base/Viewer.js +3 -0
  28. package/lib/camunda-cloud/Modeler.js +6 -7
  29. package/lib/camunda-cloud/NavigatedViewer.js +34 -0
  30. package/lib/camunda-cloud/Viewer.js +34 -0
  31. package/lib/camunda-cloud/util/commonModules.js +14 -0
  32. package/lib/camunda-platform/Modeler.js +5 -5
  33. package/lib/camunda-platform/NavigatedViewer.js +25 -0
  34. package/lib/camunda-platform/Viewer.js +24 -0
  35. package/lib/camunda-platform/util/commonModules.js +7 -0
  36. package/package.json +13 -7
  37. package/styles/base-navigated-viewer.css +2 -0
  38. package/styles/base-viewer.css +2 -0
  39. package/styles/camunda-cloud-navigated-viewer.css +1 -0
  40. package/styles/camunda-cloud-viewer.css +1 -0
  41. package/styles/camunda-platform-navigated-viewer.css +1 -0
  42. package/styles/camunda-platform-viewer.css +1 -0
  43. package/util/index.js +39 -0
  44. package/dist/assets/bpmn-font/bpmn-codes.css +0 -108
  45. package/dist/assets/bpmn-font/bpmn-embedded.css +0 -161
  46. package/dist/assets/bpmn-font/bpmn.css +0 -164
  47. package/dist/assets/bpmn-font/bpmn.eot +0 -0
  48. package/dist/assets/bpmn-font/bpmn.svg +0 -224
  49. package/dist/assets/bpmn-font/bpmn.ttf +0 -0
  50. package/dist/assets/bpmn-font/bpmn.woff +0 -0
  51. package/dist/assets/bpmn-font/bpmn.woff2 +0 -0
  52. package/dist/assets/bpmn-font/css/bpmn-codes.css +0 -108
  53. package/dist/assets/bpmn-font/css/bpmn-embedded.css +0 -161
  54. package/dist/assets/bpmn-font/css/bpmn.css +0 -164
  55. package/dist/assets/bpmn-font/font/bpmn.eot +0 -0
  56. package/dist/assets/bpmn-font/font/bpmn.svg +0 -224
  57. package/dist/assets/bpmn-font/font/bpmn.ttf +0 -0
  58. package/dist/assets/bpmn-font/font/bpmn.woff +0 -0
  59. package/dist/assets/bpmn-font/font/bpmn.woff2 +0 -0
  60. package/dist/assets/bpmn-js.css +0 -116
  61. package/dist/assets/diagram-js-minimap.css +0 -87
  62. package/dist/assets/diagram-js.css +0 -819
  63. package/dist/assets/element-templates.css +0 -75
  64. package/dist/assets/properties-panel.css +0 -902
  65. package/lib/camunda-cloud/features/modeling/behavior/CleanUpBusinessRuleTaskBehavior.js +0 -115
  66. package/lib/camunda-cloud/features/modeling/behavior/CreateZeebeBoundaryEventBehavior.js +0 -76
  67. package/lib/camunda-cloud/features/modeling/behavior/CreateZeebeCallActivityBehavior.js +0 -86
  68. package/lib/camunda-cloud/features/modeling/behavior/FormDefinitionBehavior.js +0 -138
  69. package/lib/camunda-cloud/features/modeling/behavior/RemoveAssignmentDefinitionBehavior.js +0 -51
  70. package/lib/camunda-cloud/features/modeling/behavior/UpdatePropagateAllChildVariablesBehavior.js +0 -136
  71. package/lib/camunda-cloud/features/modeling/behavior/index.js +0 -24
  72. package/lib/camunda-cloud/features/modeling/index.js +0 -7
  73. package/lib/camunda-cloud/helper/CalledElementHelper.js +0 -72
  74. package/lib/camunda-cloud/helper/ElementHelper.js +0 -18
  75. package/lib/camunda-cloud/helper/FormsHelper.js +0 -84
  76. package/lib/camunda-cloud/helper/InputOutputHelper.js +0 -138
  77. package/lib/camunda-cloud/helper/Utils.js +0 -10
  78. package/lib/camunda-cloud/helper/ZeebeServiceTaskHelper.js +0 -41
  79. package/lib/camunda-platform/features/modeling/behavior/DeleteErrorEventDefinitionBehavior.js +0 -54
  80. package/lib/camunda-platform/features/modeling/behavior/DeleteRetryTimeCycleBehavior.js +0 -96
  81. package/lib/camunda-platform/features/modeling/behavior/UpdateCamundaExclusiveBehavior.js +0 -68
  82. package/lib/camunda-platform/features/modeling/behavior/UpdateInputOutputBehavior.js +0 -44
  83. package/lib/camunda-platform/features/modeling/behavior/UpdateResultVariableBehavior.js +0 -54
  84. package/lib/camunda-platform/features/modeling/behavior/UserTaskFormsBehavior.js +0 -71
  85. package/lib/camunda-platform/features/modeling/behavior/UserTaskGeneratedFormsBehavior.js +0 -116
  86. package/lib/camunda-platform/features/modeling/behavior/index.js +0 -26
  87. package/lib/camunda-platform/features/modeling/index.js +0 -7
  88. package/lib/camunda-platform/helper/InputOutputHelper.js +0 -29
@@ -63404,7 +63404,7 @@
63404
63404
  return 0;
63405
63405
  };
63406
63406
 
63407
- var version$1 = "0.8.0";
63407
+ var version$1 = "0.9.1";
63408
63408
 
63409
63409
  // do not edit .js files directly - edit src/index.jst
63410
63410
 
@@ -63455,7 +63455,7 @@
63455
63455
  // https://github.com/ajv-validator/ajv/issues/889
63456
63456
  var equal = fastDeepEqual;
63457
63457
 
63458
- var standaloneValidator = validate14$1;var _default$1 = validate14$1;const schema17$1 = {"type":"object","allOf":[{"required":["name","id","appliesTo","properties"],"properties":{"name":{"$id":"#/name","type":"string","description":"The name of the element template."},"id":{"$id":"#/id","type":"string","description":"The identifier of the element template."},"description":{"$id":"#/description","type":"string","description":"The description of the element template."},"version":{"$id":"#/version","type":"number","description":"Optional version of the template. If you add a version to a template it will be considered unique based on its ID and version. Two templates can have the same ID if their version is different."},"isDefault":{"$id":"#/isDefault","type":"boolean","description":"Indicates whether the element template is a default template."},"appliesTo":{"$id":"#/appliesTo","type":"array","description":"List of BPMN types the template can be applied to.","default":[],"items":{"$id":"#/appliesTo/items","type":"string","pattern":"^(.*?:)","errorMessage":{"pattern":"invalid item for \"appliesTo\", should contain namespaced property, example: \"bpmn:Task\""},"allOf":[{"examples":["bpmn:Task","bpmn:ServiceTask","bpmn:SequenceFlow","bpmn:Process","bpmn:StartEvent","bpmn:Gateway"]}]}},"metadata":{"$id":"#/metadata","type":"object","description":"Some custom properties for further configuration.","default":{}},"entriesVisible":{"$id":"#/entriesVisible","type":"boolean","description":"Select whether non-template entries are visible in the properties panel."},"groups":{"$id":"#/groups","type":"array","description":"Custom fields can be ordered together via groups.","allOf":[{"examples":[[{"id":"group-1","label":"My Group"}]]}],"items":{"$id":"#/groups/group","type":"object","default":{},"required":["id","label"],"errorMessage":{"required":{"id":"missing id for group \"${0#}\"","label":"missing label for group \"${0#}\""}},"properties":{"id":{"$id":"#/groups/group/id","type":"string","description":"The id of the custom group"},"label":{"$id":"#/groups/group/label","type":"string","description":"The label of the custom group"}}}}},"errorMessage":{"required":{"name":"missing template name","id":"missing template id","appliesTo":"missing appliesTo=[]","properties":"missing properties=[]"}}}],"properties":{"properties":{"$ref":"#/definitions/properties","$id":"#/properties"},"scopes":{"$id":"#/scopes","type":"array","description":"Special scoped bindings that allow you to configure nested elements.","allOf":[{"examples":[[{"type":"bpmn:Error","id":"Error_1","properties":[{"value":"error-code","binding":{"type":"property","name":"errorCode"}},{"value":"error-message","binding":{"type":"property","name":"camunda:errorMessage"}},{"value":"error-name","binding":{"type":"property","name":"name"}}]}]]}],"items":{"$id":"#/scopes/item","type":"object","default":{},"properties":{"type":{"$id":"#scopes/item/type","type":"string","description":"The type of a scope.","enum":["camunda:Connector","bpmn:Error"],"errorMessage":"invalid scope type ${0}; must be any of { camunda:Connector, bpmn:Error }"},"properties":{"$id":"#/scopes/properties","description":"List of properties of a scope.","default":[],"allOf":[{"$ref":"#/definitions/properties/allOf/0"},{"$ref":"#/definitions/properties/allOf/1"}]}},"required":["type","properties"],"errorMessage":{"required":{"type":"invalid scope, missing type","properties":"invalid scope ${0/type}, missing properties=[]"}},"allOf":[{"if":{"properties":{"type":{"enum":["bpmn:Error"]}},"required":["type"]},"then":{"required":["id"],"errorMessage":"invalid scope ${0/type}, missing id"}}]}}}};const schema18$1 = {"allOf":[{"type":"array","description":"List of properties of the element template.","allOf":[{"examples":[[{"label":"Name","type":"String","binding":{"type":"property","name":"name"}}]]}],"items":{"type":"object","default":{},"allOf":[{"if":{"properties":{"type":{"const":"Dropdown"}},"required":["type"]},"then":{"required":["choices"],"errorMessage":"must provide choices=[] with \"Dropdown\" type"}}],"properties":{"value":{"$id":"#/properties/property/value","type":["string","boolean"],"description":"The value of a control field."},"description":{"$id":"#/properties/property/description","type":"string","description":"The description of a control field."},"label":{"$id":"#/properties/property/label","type":"string","description":"The label of a control field."},"type":{"$id":"#/properties/property/type","type":"string","description":"The type of a control field."},"editable":{"$id":"#/properties/property/editable","type":"boolean","description":"Indicates whether a control field is editable or not."},"choices":{"$id":"#/properties/property/choices","type":"array","description":"The choices for dropdown fields.","default":[],"items":{"$id":"#/properties/property/choices/item","type":"object","default":{},"properties":{"name":{"$id":"#/properties/property/choices/item/name","type":"string","description":"The name of a choice."},"value":{"$id":"#/properties/property/choices/item/value","type":"string","description":"The value of a choice."}},"required":["value","name"],"errorMessage":"{ name, value } must be specified for \"Dropdown\" choices"}},"constraints":{"$id":"#/properties/property/constraints","type":"object","description":"The validation constraints of a control field.","allOf":[{"examples":[{"notEmpty":true}]}],"properties":{"notEmpty":{"$id":"#/properties/property/constraints/notEmpty","type":"boolean","description":"The control field must not be empty."},"minLength":{"$id":"#/properties/property/constraints/minLength","type":"number","description":"The minimal length of a control field value."},"maxLength":{"$id":"#/properties/property/constraints/maxLength","type":"number","description":"The maximal length for a control field value."},"pattern":{"$id":"#/properties/property/constraints/pattern","description":"A regular expression pattern for a constraint.","oneOf":[{"type":"object","default":{},"properties":{"value":{"$id":"#/properties/property/constraints/pattern/value","type":"string","description":"The regular expression of a pattern."},"message":{"$id":"#/properties/property/constraints/pattern/message","type":"string","description":"The validation message of a pattern."}}},{"type":"string"}]}}},"group":{"$id":"#/properties/property/group","type":"string","description":"The custom group of a control field."}}}},{"$schema":"http://json-schema.org/draft-07/schema","type":"array","description":"List of properties of the element template.","items":{"type":"object","default":{},"required":["binding"],"errorMessage":{"required":{"binding":"missing binding for property \"${0#}\""}},"allOf":[{"if":{"properties":{"binding":{"properties":{"type":{"const":"property"}},"required":["type"]}},"required":["binding"]},"then":{"properties":{"type":{"enum":["String","Text","Hidden","Dropdown","Boolean"],"errorMessage":"invalid property type ${0} for binding type \"property\"; must be any of { String, Text, Hidden, Dropdown, Boolean }"}}}},{"if":{"properties":{"binding":{"properties":{"type":{"const":"camunda:executionListener"}},"required":["type"]}},"required":["binding"]},"then":{"properties":{"type":{"enum":["Hidden"],"errorMessage":"invalid property type ${1/type} for binding type \"camunda:executionListener\"; must be \"Hidden\""}}}},{"if":{"properties":{"binding":{"properties":{"type":{"enum":["camunda:property","camunda:outputParameter","camunda:in","camunda:in:businessKey","camunda:out","camunda:errorEventDefinition"]}},"required":["type"]}},"required":["binding"]},"then":{"properties":{"type":{"enum":["String","Hidden","Dropdown"],"errorMessage":"invalid property type ${0} for binding type ${1/binding/type}; must be any of { String, Hidden, Dropdown }"}}}},{"if":{"properties":{"binding":{"properties":{"type":{"enum":["camunda:inputParameter","camunda:field"]}},"required":["type"]}},"required":["binding"]},"then":{"properties":{"type":{"enum":["String","Text","Hidden","Dropdown"],"errorMessage":"invalid property type ${0} for binding type ${1/binding/type}; must be any of { String, Text, Hidden, Dropdown }"}}}}],"properties":{"binding":{"$id":"#/properties/property/binding","type":"object","description":"Specifying how the property is mapped to BPMN or Camunda extension elements and attributes.","required":["type"],"allOf":[{"if":{"properties":{"type":{"enum":["property","camunda:property","camunda:inputParameter","camunda:field"]}},"required":["type"]},"then":{"required":["name"],"errorMessage":"property.binding ${0/type} requires name"}},{"if":{"properties":{"type":{"const":"camunda:outputParameter"}},"required":["type"]},"then":{"required":["source"],"errorMessage":"property.binding ${0/type} requires source"}},{"if":{"properties":{"type":{"const":"camunda:in"}},"required":["type"]},"then":{"anyOf":[{"required":["variables"]},{"required":["target"]}],"errorMessage":"property.binding ${0/type} requires variables, target, or both"}},{"if":{"properties":{"type":{"const":"camunda:out"}},"required":["type"]},"then":{"oneOf":[{"required":["variables"],"not":{"anyOf":[{"required":["source"]},{"required":["sourceExpression"]}]}},{"required":["source"],"not":{"anyOf":[{"required":["variables"]},{"required":["sourceExpression"]}]}},{"required":["sourceExpression"],"not":{"anyOf":[{"required":["variables"]},{"required":["source"]}]}},{"required":["variables","sourceExpression"],"not":{"required":["source"]}},{"required":["variables","source"],"not":{"required":["sourceExpression"]}}],"errorMessage":"property.binding ${0/type} requires one of the following: variables, sourceExpression, source, (sourceExpression and variables), or (source and variables)"}},{"if":{"properties":{"type":{"const":"camunda:errorEventDefinition"}},"required":["type"]},"then":{"oneOf":[{"required":["errorRef"]}],"errorMessage":"property.binding ${0/type} requires errorRef"}},{"examples":[{"type":"property","name":"name"},{"type":"camunda:property","name":"property"},{"type":"camunda:inputParameter","name":"input"},{"type":"camunda:outputParameter","source":"output"},{"type":"camunda:in","target":"target"},{"type":"camunda:in:businessKey"},{"type":"camunda:out","source":"output"},{"type":"camunda:executionListener","event":"start"},{"type":"camunda:field","name":"field"},{"type":"camunda:errorEventDefinition","errorRef":"error"},{"type":"camunda:errorEventDefinition","errorRef":"error"}]}],"properties":{"type":{"$id":"#/properties/property/binding/type","type":"string","enum":["property","camunda:property","camunda:inputParameter","camunda:outputParameter","camunda:in","camunda:out","camunda:in:businessKey","camunda:executionListener","camunda:field","camunda:errorEventDefinition"],"errorMessage":"invalid property.binding type ${0}; must be any of { property, camunda:property, camunda:inputParameter, camunda:outputParameter, camunda:in, camunda:out, camunda:in:businessKey, camunda:executionListener, camunda:field, camunda:errorEventDefinition }","description":"The type of a property binding."},"name":{"$id":"#/properties/property/binding/name","type":"string","description":"The name of a property binding."},"event":{"$id":"#/properties/property/binding/event","type":"string","description":"The event type of a property binding (camunda:executionListener)."},"scriptFormat":{"$id":"#/properties/property/binding/scriptFormat","type":"string","description":"The script format of a property binding (camunda:outputParameter, camunda:inputParameter)."},"source":{"$id":"#/properties/property/binding/source","type":"string","description":"The source value of a property binding (camunda:outputParameter, camunda:out)."},"target":{"$id":"#/properties/property/binding/target","type":"string","description":"The target value of a property binding (camunda:in)."},"expression":{"$id":"#/properties/property/binding/expression","type":"boolean","description":"Indicates whether the control field value is an expression (camunda:in, camunda:field)."},"variables":{"$id":"#/properties/property/binding/variables","type":"string","enum":["all","local"],"description":"The variable mapping of a property binding (camunda:in)."},"sourceExpression":{"$id":"#/properties/property/binding/sourceExpression","type":"string","description":"The string containing the expression for the source attribute (camunda:out)."}}}}}}]};const schema19 = {"type":"array","description":"List of properties of the element template.","allOf":[{"examples":[[{"label":"Name","type":"String","binding":{"type":"property","name":"name"}}]]}],"items":{"type":"object","default":{},"allOf":[{"if":{"properties":{"type":{"const":"Dropdown"}},"required":["type"]},"then":{"required":["choices"],"errorMessage":"must provide choices=[] with \"Dropdown\" type"}}],"properties":{"value":{"$id":"#/properties/property/value","type":["string","boolean"],"description":"The value of a control field."},"description":{"$id":"#/properties/property/description","type":"string","description":"The description of a control field."},"label":{"$id":"#/properties/property/label","type":"string","description":"The label of a control field."},"type":{"$id":"#/properties/property/type","type":"string","description":"The type of a control field."},"editable":{"$id":"#/properties/property/editable","type":"boolean","description":"Indicates whether a control field is editable or not."},"choices":{"$id":"#/properties/property/choices","type":"array","description":"The choices for dropdown fields.","default":[],"items":{"$id":"#/properties/property/choices/item","type":"object","default":{},"properties":{"name":{"$id":"#/properties/property/choices/item/name","type":"string","description":"The name of a choice."},"value":{"$id":"#/properties/property/choices/item/value","type":"string","description":"The value of a choice."}},"required":["value","name"],"errorMessage":"{ name, value } must be specified for \"Dropdown\" choices"}},"constraints":{"$id":"#/properties/property/constraints","type":"object","description":"The validation constraints of a control field.","allOf":[{"examples":[{"notEmpty":true}]}],"properties":{"notEmpty":{"$id":"#/properties/property/constraints/notEmpty","type":"boolean","description":"The control field must not be empty."},"minLength":{"$id":"#/properties/property/constraints/minLength","type":"number","description":"The minimal length of a control field value."},"maxLength":{"$id":"#/properties/property/constraints/maxLength","type":"number","description":"The maximal length for a control field value."},"pattern":{"$id":"#/properties/property/constraints/pattern","description":"A regular expression pattern for a constraint.","oneOf":[{"type":"object","default":{},"properties":{"value":{"$id":"#/properties/property/constraints/pattern/value","type":"string","description":"The regular expression of a pattern."},"message":{"$id":"#/properties/property/constraints/pattern/message","type":"string","description":"The validation message of a pattern."}}},{"type":"string"}]}}},"group":{"$id":"#/properties/property/group","type":"string","description":"The custom group of a control field."}}}};const schema20 = {"$schema":"http://json-schema.org/draft-07/schema","type":"array","description":"List of properties of the element template.","items":{"type":"object","default":{},"required":["binding"],"errorMessage":{"required":{"binding":"missing binding for property \"${0#}\""}},"allOf":[{"if":{"properties":{"binding":{"properties":{"type":{"const":"property"}},"required":["type"]}},"required":["binding"]},"then":{"properties":{"type":{"enum":["String","Text","Hidden","Dropdown","Boolean"],"errorMessage":"invalid property type ${0} for binding type \"property\"; must be any of { String, Text, Hidden, Dropdown, Boolean }"}}}},{"if":{"properties":{"binding":{"properties":{"type":{"const":"camunda:executionListener"}},"required":["type"]}},"required":["binding"]},"then":{"properties":{"type":{"enum":["Hidden"],"errorMessage":"invalid property type ${1/type} for binding type \"camunda:executionListener\"; must be \"Hidden\""}}}},{"if":{"properties":{"binding":{"properties":{"type":{"enum":["camunda:property","camunda:outputParameter","camunda:in","camunda:in:businessKey","camunda:out","camunda:errorEventDefinition"]}},"required":["type"]}},"required":["binding"]},"then":{"properties":{"type":{"enum":["String","Hidden","Dropdown"],"errorMessage":"invalid property type ${0} for binding type ${1/binding/type}; must be any of { String, Hidden, Dropdown }"}}}},{"if":{"properties":{"binding":{"properties":{"type":{"enum":["camunda:inputParameter","camunda:field"]}},"required":["type"]}},"required":["binding"]},"then":{"properties":{"type":{"enum":["String","Text","Hidden","Dropdown"],"errorMessage":"invalid property type ${0} for binding type ${1/binding/type}; must be any of { String, Text, Hidden, Dropdown }"}}}}],"properties":{"binding":{"$id":"#/properties/property/binding","type":"object","description":"Specifying how the property is mapped to BPMN or Camunda extension elements and attributes.","required":["type"],"allOf":[{"if":{"properties":{"type":{"enum":["property","camunda:property","camunda:inputParameter","camunda:field"]}},"required":["type"]},"then":{"required":["name"],"errorMessage":"property.binding ${0/type} requires name"}},{"if":{"properties":{"type":{"const":"camunda:outputParameter"}},"required":["type"]},"then":{"required":["source"],"errorMessage":"property.binding ${0/type} requires source"}},{"if":{"properties":{"type":{"const":"camunda:in"}},"required":["type"]},"then":{"anyOf":[{"required":["variables"]},{"required":["target"]}],"errorMessage":"property.binding ${0/type} requires variables, target, or both"}},{"if":{"properties":{"type":{"const":"camunda:out"}},"required":["type"]},"then":{"oneOf":[{"required":["variables"],"not":{"anyOf":[{"required":["source"]},{"required":["sourceExpression"]}]}},{"required":["source"],"not":{"anyOf":[{"required":["variables"]},{"required":["sourceExpression"]}]}},{"required":["sourceExpression"],"not":{"anyOf":[{"required":["variables"]},{"required":["source"]}]}},{"required":["variables","sourceExpression"],"not":{"required":["source"]}},{"required":["variables","source"],"not":{"required":["sourceExpression"]}}],"errorMessage":"property.binding ${0/type} requires one of the following: variables, sourceExpression, source, (sourceExpression and variables), or (source and variables)"}},{"if":{"properties":{"type":{"const":"camunda:errorEventDefinition"}},"required":["type"]},"then":{"oneOf":[{"required":["errorRef"]}],"errorMessage":"property.binding ${0/type} requires errorRef"}},{"examples":[{"type":"property","name":"name"},{"type":"camunda:property","name":"property"},{"type":"camunda:inputParameter","name":"input"},{"type":"camunda:outputParameter","source":"output"},{"type":"camunda:in","target":"target"},{"type":"camunda:in:businessKey"},{"type":"camunda:out","source":"output"},{"type":"camunda:executionListener","event":"start"},{"type":"camunda:field","name":"field"},{"type":"camunda:errorEventDefinition","errorRef":"error"},{"type":"camunda:errorEventDefinition","errorRef":"error"}]}],"properties":{"type":{"$id":"#/properties/property/binding/type","type":"string","enum":["property","camunda:property","camunda:inputParameter","camunda:outputParameter","camunda:in","camunda:out","camunda:in:businessKey","camunda:executionListener","camunda:field","camunda:errorEventDefinition"],"errorMessage":"invalid property.binding type ${0}; must be any of { property, camunda:property, camunda:inputParameter, camunda:outputParameter, camunda:in, camunda:out, camunda:in:businessKey, camunda:executionListener, camunda:field, camunda:errorEventDefinition }","description":"The type of a property binding."},"name":{"$id":"#/properties/property/binding/name","type":"string","description":"The name of a property binding."},"event":{"$id":"#/properties/property/binding/event","type":"string","description":"The event type of a property binding (camunda:executionListener)."},"scriptFormat":{"$id":"#/properties/property/binding/scriptFormat","type":"string","description":"The script format of a property binding (camunda:outputParameter, camunda:inputParameter)."},"source":{"$id":"#/properties/property/binding/source","type":"string","description":"The source value of a property binding (camunda:outputParameter, camunda:out)."},"target":{"$id":"#/properties/property/binding/target","type":"string","description":"The target value of a property binding (camunda:in)."},"expression":{"$id":"#/properties/property/binding/expression","type":"boolean","description":"Indicates whether the control field value is an expression (camunda:in, camunda:field)."},"variables":{"$id":"#/properties/property/binding/variables","type":"string","enum":["all","local"],"description":"The variable mapping of a property binding (camunda:in)."},"sourceExpression":{"$id":"#/properties/property/binding/sourceExpression","type":"string","description":"The string containing the expression for the source attribute (camunda:out)."}}}}}};const pattern0$1 = new RegExp("^(.*?:)", "u");const obj0$1 = {"required":"missingProperty","dependencies":"property","dependentRequired":"property"};function validate15$1(data, {dataPath="", parentData, parentDataProperty, rootData=data}={}){let vErrors = null;let errors = 0;if(data && typeof data == "object" && !Array.isArray(data)){if(data.name === undefined){const err0 = {keyword:"required",dataPath,schemaPath:"#/allOf/0/required",params:{missingProperty: "name"},message:"should have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data.id === undefined){const err1 = {keyword:"required",dataPath,schemaPath:"#/allOf/0/required",params:{missingProperty: "id"},message:"should have required property '"+"id"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}if(data.appliesTo === undefined){const err2 = {keyword:"required",dataPath,schemaPath:"#/allOf/0/required",params:{missingProperty: "appliesTo"},message:"should have required property '"+"appliesTo"+"'"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}if(data.properties === undefined){const err3 = {keyword:"required",dataPath,schemaPath:"#/allOf/0/required",params:{missingProperty: "properties"},message:"should have required property '"+"properties"+"'"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}if(data.name !== undefined){if(typeof data.name !== "string"){const err4 = {keyword:"type",dataPath:dataPath+"/name",schemaPath:"#/allOf/0/properties/name/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}}if(data.id !== undefined){if(typeof data.id !== "string"){const err5 = {keyword:"type",dataPath:dataPath+"/id",schemaPath:"#/allOf/0/properties/id/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}}if(data.description !== undefined){if(typeof data.description !== "string"){const err6 = {keyword:"type",dataPath:dataPath+"/description",schemaPath:"#/allOf/0/properties/description/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}}if(data.version !== undefined){if(!(typeof data.version == "number")){const err7 = {keyword:"type",dataPath:dataPath+"/version",schemaPath:"#/allOf/0/properties/version/type",params:{type: "number"},message:"should be number"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}}if(data.isDefault !== undefined){if(typeof data.isDefault !== "boolean"){const err8 = {keyword:"type",dataPath:dataPath+"/isDefault",schemaPath:"#/allOf/0/properties/isDefault/type",params:{type: "boolean"},message:"should be boolean"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}}if(data.appliesTo !== undefined){let data5 = data.appliesTo;if(Array.isArray(data5)){const len0 = data5.length;for(let i0=0; i0<len0; i0++){let data6 = data5[i0];if(typeof data6 === "string"){if(!pattern0$1.test(data6)){const err9 = {keyword:"pattern",dataPath:dataPath+"/appliesTo/" + i0,schemaPath:"#/allOf/0/properties/appliesTo/items/pattern",params:{pattern: "^(.*?:)"},message:"should match pattern \""+"^(.*?:)"+"\""};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}}else {const err10 = {keyword:"type",dataPath:dataPath+"/appliesTo/" + i0,schemaPath:"#/allOf/0/properties/appliesTo/items/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}if(errors > 0){const emErrors0 = {"pattern":[]};const templates0 = {};for(const err11 of vErrors){if((((((err11.keyword !== "errorMessage") && (!err11.emUsed)) && (err11.dataPath === dataPath+"/appliesTo/" + i0)) && (err11.keyword in emErrors0)) && (err11.schemaPath.indexOf("#/allOf/0/properties/appliesTo/items") === 0)) && (/^\/[^\/]*$/.test(err11.schemaPath.slice(36)))){emErrors0[err11.keyword].push(err11);err11.emUsed = true;}}for(const key0 in emErrors0){if(emErrors0[key0].length){const err12 = {keyword:"errorMessage",dataPath:dataPath+"/appliesTo/" + i0,schemaPath:"#/allOf/0/properties/appliesTo/items/errorMessage",params:{errors: emErrors0[key0]},message:key0 in templates0 ? templates0[key0]() : schema17$1.allOf[0].properties.appliesTo.items.errorMessage[key0]};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}}const emErrs0 = [];for(const err13 of vErrors){if(!err13.emUsed){emErrs0.push(err13);}}vErrors = emErrs0;errors = emErrs0.length;}}}else {const err14 = {keyword:"type",dataPath:dataPath+"/appliesTo",schemaPath:"#/allOf/0/properties/appliesTo/type",params:{type: "array"},message:"should be array"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}}if(data.metadata !== undefined){let data7 = data.metadata;if(!(data7 && typeof data7 == "object" && !Array.isArray(data7))){const err15 = {keyword:"type",dataPath:dataPath+"/metadata",schemaPath:"#/allOf/0/properties/metadata/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}}if(data.entriesVisible !== undefined){if(typeof data.entriesVisible !== "boolean"){const err16 = {keyword:"type",dataPath:dataPath+"/entriesVisible",schemaPath:"#/allOf/0/properties/entriesVisible/type",params:{type: "boolean"},message:"should be boolean"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}}if(data.groups !== undefined){let data9 = data.groups;if(Array.isArray(data9)){const len1 = data9.length;for(let i1=0; i1<len1; i1++){let data10 = data9[i1];if(data10 && typeof data10 == "object" && !Array.isArray(data10)){if(data10.id === undefined){const err17 = {keyword:"required",dataPath:dataPath+"/groups/" + i1,schemaPath:"#/allOf/0/properties/groups/items/required",params:{missingProperty: "id"},message:"should have required property '"+"id"+"'"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}if(data10.label === undefined){const err18 = {keyword:"required",dataPath:dataPath+"/groups/" + i1,schemaPath:"#/allOf/0/properties/groups/items/required",params:{missingProperty: "label"},message:"should have required property '"+"label"+"'"};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}if(data10.id !== undefined){if(typeof data10.id !== "string"){const err19 = {keyword:"type",dataPath:dataPath+"/groups/" + i1+"/id",schemaPath:"#/allOf/0/properties/groups/items/properties/id/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}}if(data10.label !== undefined){if(typeof data10.label !== "string"){const err20 = {keyword:"type",dataPath:dataPath+"/groups/" + i1+"/label",schemaPath:"#/allOf/0/properties/groups/items/properties/label/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}}}else {const err21 = {keyword:"type",dataPath:dataPath+"/groups/" + i1,schemaPath:"#/allOf/0/properties/groups/items/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}if(errors > 0){const emErrors1 = {"required":{"id":[],"label":[]}};const templates1 = {required:{id:function(){return "missing id for group \"" + JSON.stringify(i1) + "\""},label:function(){return "missing label for group \"" + JSON.stringify(i1) + "\""}}};let emPropParams0;let emParamsErrors0;for(const err22 of vErrors){if((((((err22.keyword !== "errorMessage") && (!err22.emUsed)) && (err22.dataPath === dataPath+"/groups/" + i1)) && (err22.keyword in emErrors1)) && (err22.schemaPath.indexOf("#/allOf/0/properties/groups/items") === 0)) && (/^\/[^\/]*$/.test(err22.schemaPath.slice(33)))){emPropParams0 = obj0$1[err22.keyword];emParamsErrors0 = emErrors1[err22.keyword][err22.params[emPropParams0]];if(emParamsErrors0){emParamsErrors0.push(err22);err22.emUsed = true;}}}for(const key1 in emErrors1){for(const keyProp0 in emErrors1[key1]){emParamsErrors0 = emErrors1[key1][keyProp0];if(emParamsErrors0.length){const tmpl0 = templates1[key1] && templates1[key1][keyProp0];const err23 = {keyword:"errorMessage",dataPath:dataPath+"/groups/" + i1,schemaPath:"#/allOf/0/properties/groups/items/errorMessage",params:{errors: emParamsErrors0},message:tmpl0 ? tmpl0() : schema17$1.allOf[0].properties.groups.items.errorMessage[key1][keyProp0]};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}}}const emErrs1 = [];for(const err24 of vErrors){if(!err24.emUsed){emErrs1.push(err24);}}vErrors = emErrs1;errors = emErrs1.length;}}}else {const err25 = {keyword:"type",dataPath:dataPath+"/groups",schemaPath:"#/allOf/0/properties/groups/type",params:{type: "array"},message:"should be array"};if(vErrors === null){vErrors = [err25];}else {vErrors.push(err25);}errors++;}}}if(errors > 0){const emErrors2 = {"required":{"name":[],"id":[],"appliesTo":[],"properties":[]}};const templates2 = {required:{}};let emPropParams1;let emParamsErrors1;for(const err26 of vErrors){if((((((err26.keyword !== "errorMessage") && (!err26.emUsed)) && (err26.dataPath === dataPath)) && (err26.keyword in emErrors2)) && (err26.schemaPath.indexOf("#/allOf/0") === 0)) && (/^\/[^\/]*$/.test(err26.schemaPath.slice(9)))){emPropParams1 = obj0$1[err26.keyword];emParamsErrors1 = emErrors2[err26.keyword][err26.params[emPropParams1]];if(emParamsErrors1){emParamsErrors1.push(err26);err26.emUsed = true;}}}for(const key2 in emErrors2){for(const keyProp1 in emErrors2[key2]){emParamsErrors1 = emErrors2[key2][keyProp1];if(emParamsErrors1.length){const tmpl1 = templates2[key2] && templates2[key2][keyProp1];const err27 = {keyword:"errorMessage",dataPath,schemaPath:"#/allOf/0/errorMessage",params:{errors: emParamsErrors1},message:tmpl1 ? tmpl1() : schema17$1.allOf[0].errorMessage[key2][keyProp1]};if(vErrors === null){vErrors = [err27];}else {vErrors.push(err27);}errors++;}}}const emErrs2 = [];for(const err28 of vErrors){if(!err28.emUsed){emErrs2.push(err28);}}vErrors = emErrs2;errors = emErrs2.length;}if(data && typeof data == "object" && !Array.isArray(data)){if(data.properties !== undefined){let data13 = data.properties;if(Array.isArray(data13)){const len2 = data13.length;for(let i2=0; i2<len2; i2++){let data14 = data13[i2];const _errs35 = errors;let valid16 = true;const _errs36 = errors;if(data14 && typeof data14 == "object" && !Array.isArray(data14)){if((data14.type === undefined) && ("type")){const err29 = {};if(vErrors === null){vErrors = [err29];}else {vErrors.push(err29);}errors++;}else {if(data14.type !== undefined){if(!equal(data14.type, "Dropdown")){const err30 = {};if(vErrors === null){vErrors = [err30];}else {vErrors.push(err30);}errors++;}}}}var _valid0 = _errs36 === errors;errors = _errs35;if(vErrors !== null){if(_errs35){vErrors.length = _errs35;}else {vErrors = null;}}if(_valid0){const _errs38 = errors;if(data14 && typeof data14 == "object" && !Array.isArray(data14)){if(data14.choices === undefined){const err31 = {keyword:"required",dataPath:dataPath+"/properties/" + i2,schemaPath:"#/definitions/properties/allOf/0/items/allOf/0/then/required",params:{missingProperty: "choices"},message:"should have required property '"+"choices"+"'"};if(vErrors === null){vErrors = [err31];}else {vErrors.push(err31);}errors++;}}if(errors > 0){const emErrs3 = [];for(const err32 of vErrors){if(((((err32.keyword !== "errorMessage") && (!err32.emUsed)) && ((err32.dataPath === dataPath+"/properties/" + i2) || ((err32.dataPath.indexOf(dataPath+"/properties/" + i2) === 0) && (err32.dataPath[dataPath+"/properties/" + i2.length] === "/")))) && (err32.schemaPath.indexOf("#/definitions/properties/allOf/0/items/allOf/0/then") === 0)) && (err32.schemaPath["#/definitions/properties/allOf/0/items/allOf/0/then".length] === "/")){emErrs3.push(err32);err32.emUsed = true;}}if(emErrs3.length){const err33 = {keyword:"errorMessage",dataPath:dataPath+"/properties/" + i2,schemaPath:"#/definitions/properties/allOf/0/items/allOf/0/then/errorMessage",params:{errors: emErrs3},message:"must provide choices=[] with \"Dropdown\" type"};if(vErrors === null){vErrors = [err33];}else {vErrors.push(err33);}errors++;}const emErrs4 = [];for(const err34 of vErrors){if(!err34.emUsed){emErrs4.push(err34);}}vErrors = emErrs4;errors = emErrs4.length;}var _valid0 = _errs38 === errors;valid16 = _valid0;}if(!valid16){const err35 = {keyword:"if",dataPath:dataPath+"/properties/" + i2,schemaPath:"#/definitions/properties/allOf/0/items/allOf/0/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err35];}else {vErrors.push(err35);}errors++;}if(data14 && typeof data14 == "object" && !Array.isArray(data14)){if(data14.value !== undefined){let data16 = data14.value;if((typeof data16 !== "string") && (typeof data16 !== "boolean")){const err36 = {keyword:"type",dataPath:dataPath+"/properties/" + i2+"/value",schemaPath:"#/definitions/properties/allOf/0/items/properties/value/type",params:{type: schema18$1.allOf[0].items.properties.value.type},message:"should be string,boolean"};if(vErrors === null){vErrors = [err36];}else {vErrors.push(err36);}errors++;}}if(data14.description !== undefined){if(typeof data14.description !== "string"){const err37 = {keyword:"type",dataPath:dataPath+"/properties/" + i2+"/description",schemaPath:"#/definitions/properties/allOf/0/items/properties/description/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err37];}else {vErrors.push(err37);}errors++;}}if(data14.label !== undefined){if(typeof data14.label !== "string"){const err38 = {keyword:"type",dataPath:dataPath+"/properties/" + i2+"/label",schemaPath:"#/definitions/properties/allOf/0/items/properties/label/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err38];}else {vErrors.push(err38);}errors++;}}if(data14.type !== undefined){if(typeof data14.type !== "string"){const err39 = {keyword:"type",dataPath:dataPath+"/properties/" + i2+"/type",schemaPath:"#/definitions/properties/allOf/0/items/properties/type/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err39];}else {vErrors.push(err39);}errors++;}}if(data14.editable !== undefined){if(typeof data14.editable !== "boolean"){const err40 = {keyword:"type",dataPath:dataPath+"/properties/" + i2+"/editable",schemaPath:"#/definitions/properties/allOf/0/items/properties/editable/type",params:{type: "boolean"},message:"should be boolean"};if(vErrors === null){vErrors = [err40];}else {vErrors.push(err40);}errors++;}}if(data14.choices !== undefined){let data21 = data14.choices;if(Array.isArray(data21)){const len3 = data21.length;for(let i3=0; i3<len3; i3++){let data22 = data21[i3];if(data22 && typeof data22 == "object" && !Array.isArray(data22)){if(data22.value === undefined){const err41 = {keyword:"required",dataPath:dataPath+"/properties/" + i2+"/choices/" + i3,schemaPath:"#/definitions/properties/allOf/0/items/properties/choices/items/required",params:{missingProperty: "value"},message:"should have required property '"+"value"+"'"};if(vErrors === null){vErrors = [err41];}else {vErrors.push(err41);}errors++;}if(data22.name === undefined){const err42 = {keyword:"required",dataPath:dataPath+"/properties/" + i2+"/choices/" + i3,schemaPath:"#/definitions/properties/allOf/0/items/properties/choices/items/required",params:{missingProperty: "name"},message:"should have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err42];}else {vErrors.push(err42);}errors++;}if(data22.name !== undefined){if(typeof data22.name !== "string"){const err43 = {keyword:"type",dataPath:dataPath+"/properties/" + i2+"/choices/" + i3+"/name",schemaPath:"#/definitions/properties/allOf/0/items/properties/choices/items/properties/name/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err43];}else {vErrors.push(err43);}errors++;}}if(data22.value !== undefined){if(typeof data22.value !== "string"){const err44 = {keyword:"type",dataPath:dataPath+"/properties/" + i2+"/choices/" + i3+"/value",schemaPath:"#/definitions/properties/allOf/0/items/properties/choices/items/properties/value/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err44];}else {vErrors.push(err44);}errors++;}}}else {const err45 = {keyword:"type",dataPath:dataPath+"/properties/" + i2+"/choices/" + i3,schemaPath:"#/definitions/properties/allOf/0/items/properties/choices/items/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err45];}else {vErrors.push(err45);}errors++;}if(errors > 0){const emErrs5 = [];for(const err46 of vErrors){if(((((err46.keyword !== "errorMessage") && (!err46.emUsed)) && ((err46.dataPath === dataPath+"/properties/" + i2+"/choices/" + i3) || ((err46.dataPath.indexOf(dataPath+"/properties/" + i2+"/choices/" + i3) === 0) && (err46.dataPath[dataPath+"/properties/" + i2+"/choices/" + i3.length] === "/")))) && (err46.schemaPath.indexOf("#/definitions/properties/allOf/0/items/properties/choices/items") === 0)) && (err46.schemaPath["#/definitions/properties/allOf/0/items/properties/choices/items".length] === "/")){emErrs5.push(err46);err46.emUsed = true;}}if(emErrs5.length){const err47 = {keyword:"errorMessage",dataPath:dataPath+"/properties/" + i2+"/choices/" + i3,schemaPath:"#/definitions/properties/allOf/0/items/properties/choices/items/errorMessage",params:{errors: emErrs5},message:"{ name, value } must be specified for \"Dropdown\" choices"};if(vErrors === null){vErrors = [err47];}else {vErrors.push(err47);}errors++;}const emErrs6 = [];for(const err48 of vErrors){if(!err48.emUsed){emErrs6.push(err48);}}vErrors = emErrs6;errors = emErrs6.length;}}}else {const err49 = {keyword:"type",dataPath:dataPath+"/properties/" + i2+"/choices",schemaPath:"#/definitions/properties/allOf/0/items/properties/choices/type",params:{type: "array"},message:"should be array"};if(vErrors === null){vErrors = [err49];}else {vErrors.push(err49);}errors++;}}if(data14.constraints !== undefined){let data25 = data14.constraints;if(data25 && typeof data25 == "object" && !Array.isArray(data25)){if(data25.notEmpty !== undefined){if(typeof data25.notEmpty !== "boolean"){const err50 = {keyword:"type",dataPath:dataPath+"/properties/" + i2+"/constraints/notEmpty",schemaPath:"#/definitions/properties/allOf/0/items/properties/constraints/properties/notEmpty/type",params:{type: "boolean"},message:"should be boolean"};if(vErrors === null){vErrors = [err50];}else {vErrors.push(err50);}errors++;}}if(data25.minLength !== undefined){if(!(typeof data25.minLength == "number")){const err51 = {keyword:"type",dataPath:dataPath+"/properties/" + i2+"/constraints/minLength",schemaPath:"#/definitions/properties/allOf/0/items/properties/constraints/properties/minLength/type",params:{type: "number"},message:"should be number"};if(vErrors === null){vErrors = [err51];}else {vErrors.push(err51);}errors++;}}if(data25.maxLength !== undefined){if(!(typeof data25.maxLength == "number")){const err52 = {keyword:"type",dataPath:dataPath+"/properties/" + i2+"/constraints/maxLength",schemaPath:"#/definitions/properties/allOf/0/items/properties/constraints/properties/maxLength/type",params:{type: "number"},message:"should be number"};if(vErrors === null){vErrors = [err52];}else {vErrors.push(err52);}errors++;}}if(data25.pattern !== undefined){let data29 = data25.pattern;const _errs66 = errors;let valid24 = false;let passing0 = null;const _errs67 = errors;if(data29 && typeof data29 == "object" && !Array.isArray(data29)){if(data29.value !== undefined){if(typeof data29.value !== "string"){const err53 = {keyword:"type",dataPath:dataPath+"/properties/" + i2+"/constraints/pattern/value",schemaPath:"#/definitions/properties/allOf/0/items/properties/constraints/properties/pattern/oneOf/0/properties/value/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err53];}else {vErrors.push(err53);}errors++;}}if(data29.message !== undefined){if(typeof data29.message !== "string"){const err54 = {keyword:"type",dataPath:dataPath+"/properties/" + i2+"/constraints/pattern/message",schemaPath:"#/definitions/properties/allOf/0/items/properties/constraints/properties/pattern/oneOf/0/properties/message/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err54];}else {vErrors.push(err54);}errors++;}}}else {const err55 = {keyword:"type",dataPath:dataPath+"/properties/" + i2+"/constraints/pattern",schemaPath:"#/definitions/properties/allOf/0/items/properties/constraints/properties/pattern/oneOf/0/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err55];}else {vErrors.push(err55);}errors++;}var _valid1 = _errs67 === errors;if(_valid1){valid24 = true;passing0 = 0;}const _errs73 = errors;if(typeof data29 !== "string"){const err56 = {keyword:"type",dataPath:dataPath+"/properties/" + i2+"/constraints/pattern",schemaPath:"#/definitions/properties/allOf/0/items/properties/constraints/properties/pattern/oneOf/1/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err56];}else {vErrors.push(err56);}errors++;}var _valid1 = _errs73 === errors;if(_valid1 && valid24){valid24 = false;passing0 = [passing0, 1];}else {if(_valid1){valid24 = true;passing0 = 1;}}if(!valid24){const err57 = {keyword:"oneOf",dataPath:dataPath+"/properties/" + i2+"/constraints/pattern",schemaPath:"#/definitions/properties/allOf/0/items/properties/constraints/properties/pattern/oneOf",params:{passingSchemas: passing0},message:"should match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err57];}else {vErrors.push(err57);}errors++;}else {errors = _errs66;if(vErrors !== null){if(_errs66){vErrors.length = _errs66;}else {vErrors = null;}}}}}else {const err58 = {keyword:"type",dataPath:dataPath+"/properties/" + i2+"/constraints",schemaPath:"#/definitions/properties/allOf/0/items/properties/constraints/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err58];}else {vErrors.push(err58);}errors++;}}if(data14.group !== undefined){if(typeof data14.group !== "string"){const err59 = {keyword:"type",dataPath:dataPath+"/properties/" + i2+"/group",schemaPath:"#/definitions/properties/allOf/0/items/properties/group/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err59];}else {vErrors.push(err59);}errors++;}}}else {const err60 = {keyword:"type",dataPath:dataPath+"/properties/" + i2,schemaPath:"#/definitions/properties/allOf/0/items/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err60];}else {vErrors.push(err60);}errors++;}}}else {const err61 = {keyword:"type",dataPath:dataPath+"/properties",schemaPath:"#/definitions/properties/allOf/0/type",params:{type: "array"},message:"should be array"};if(vErrors === null){vErrors = [err61];}else {vErrors.push(err61);}errors++;}if(Array.isArray(data13)){const len4 = data13.length;for(let i4=0; i4<len4; i4++){let data33 = data13[i4];const _errs82 = errors;let valid29 = true;const _errs83 = errors;if(data33 && typeof data33 == "object" && !Array.isArray(data33)){if((data33.binding === undefined) && ("binding")){const err62 = {};if(vErrors === null){vErrors = [err62];}else {vErrors.push(err62);}errors++;}else {if(data33.binding !== undefined){let data34 = data33.binding;if(data34 && typeof data34 == "object" && !Array.isArray(data34)){if((data34.type === undefined) && ("type")){const err63 = {};if(vErrors === null){vErrors = [err63];}else {vErrors.push(err63);}errors++;}else {if(data34.type !== undefined){if(!equal(data34.type, "property")){const err64 = {};if(vErrors === null){vErrors = [err64];}else {vErrors.push(err64);}errors++;}}}}}}}var _valid2 = _errs83 === errors;errors = _errs82;if(vErrors !== null){if(_errs82){vErrors.length = _errs82;}else {vErrors = null;}}if(_valid2){const _errs86 = errors;if(data33 && typeof data33 == "object" && !Array.isArray(data33)){if(data33.type !== undefined){let data36 = data33.type;if(!(((((data36 === "String") || (data36 === "Text")) || (data36 === "Hidden")) || (data36 === "Dropdown")) || (data36 === "Boolean"))){const err65 = {keyword:"enum",dataPath:dataPath+"/properties/" + i4+"/type",schemaPath:"#/definitions/properties/allOf/1/items/allOf/0/then/properties/type/enum",params:{allowedValues: schema18$1.allOf[1].items.allOf[0].then.properties.type.enum},message:"should be equal to one of the allowed values"};if(vErrors === null){vErrors = [err65];}else {vErrors.push(err65);}errors++;}if(errors > 0){const emErrs7 = [];for(const err66 of vErrors){if(((((err66.keyword !== "errorMessage") && (!err66.emUsed)) && ((err66.dataPath === dataPath+"/properties/" + i4+"/type") || ((err66.dataPath.indexOf(dataPath+"/properties/" + i4+"/type") === 0) && (err66.dataPath[dataPath+"/properties/" + i4+"/type".length] === "/")))) && (err66.schemaPath.indexOf("#/definitions/properties/allOf/1/items/allOf/0/then/properties/type") === 0)) && (err66.schemaPath["#/definitions/properties/allOf/1/items/allOf/0/then/properties/type".length] === "/")){emErrs7.push(err66);err66.emUsed = true;}}if(emErrs7.length){const err67 = {keyword:"errorMessage",dataPath:dataPath+"/properties/" + i4+"/type",schemaPath:"#/definitions/properties/allOf/1/items/allOf/0/then/properties/type/errorMessage",params:{errors: emErrs7},message:"invalid property type " + JSON.stringify(data36) + " for binding type \"property\"; must be any of { String, Text, Hidden, Dropdown, Boolean }"};if(vErrors === null){vErrors = [err67];}else {vErrors.push(err67);}errors++;}const emErrs8 = [];for(const err68 of vErrors){if(!err68.emUsed){emErrs8.push(err68);}}vErrors = emErrs8;errors = emErrs8.length;}}}var _valid2 = _errs86 === errors;valid29 = _valid2;}if(!valid29){const err69 = {keyword:"if",dataPath:dataPath+"/properties/" + i4,schemaPath:"#/definitions/properties/allOf/1/items/allOf/0/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err69];}else {vErrors.push(err69);}errors++;}const _errs89 = errors;let valid33 = true;const _errs90 = errors;if(data33 && typeof data33 == "object" && !Array.isArray(data33)){if((data33.binding === undefined) && ("binding")){const err70 = {};if(vErrors === null){vErrors = [err70];}else {vErrors.push(err70);}errors++;}else {if(data33.binding !== undefined){let data37 = data33.binding;if(data37 && typeof data37 == "object" && !Array.isArray(data37)){if((data37.type === undefined) && ("type")){const err71 = {};if(vErrors === null){vErrors = [err71];}else {vErrors.push(err71);}errors++;}else {if(data37.type !== undefined){if(!equal(data37.type, "camunda:executionListener")){const err72 = {};if(vErrors === null){vErrors = [err72];}else {vErrors.push(err72);}errors++;}}}}}}}var _valid3 = _errs90 === errors;errors = _errs89;if(vErrors !== null){if(_errs89){vErrors.length = _errs89;}else {vErrors = null;}}if(_valid3){const _errs93 = errors;if(data33 && typeof data33 == "object" && !Array.isArray(data33)){if(data33.type !== undefined){if(!(data33.type === "Hidden")){const err73 = {keyword:"enum",dataPath:dataPath+"/properties/" + i4+"/type",schemaPath:"#/definitions/properties/allOf/1/items/allOf/1/then/properties/type/enum",params:{allowedValues: schema18$1.allOf[1].items.allOf[1].then.properties.type.enum},message:"should be equal to one of the allowed values"};if(vErrors === null){vErrors = [err73];}else {vErrors.push(err73);}errors++;}if(errors > 0){const emErrs9 = [];for(const err74 of vErrors){if(((((err74.keyword !== "errorMessage") && (!err74.emUsed)) && ((err74.dataPath === dataPath+"/properties/" + i4+"/type") || ((err74.dataPath.indexOf(dataPath+"/properties/" + i4+"/type") === 0) && (err74.dataPath[dataPath+"/properties/" + i4+"/type".length] === "/")))) && (err74.schemaPath.indexOf("#/definitions/properties/allOf/1/items/allOf/1/then/properties/type") === 0)) && (err74.schemaPath["#/definitions/properties/allOf/1/items/allOf/1/then/properties/type".length] === "/")){emErrs9.push(err74);err74.emUsed = true;}}if(emErrs9.length){const err75 = {keyword:"errorMessage",dataPath:dataPath+"/properties/" + i4+"/type",schemaPath:"#/definitions/properties/allOf/1/items/allOf/1/then/properties/type/errorMessage",params:{errors: emErrs9},message:"invalid property type " + JSON.stringify(data33 && data33.type) + " for binding type \"camunda:executionListener\"; must be \"Hidden\""};if(vErrors === null){vErrors = [err75];}else {vErrors.push(err75);}errors++;}const emErrs10 = [];for(const err76 of vErrors){if(!err76.emUsed){emErrs10.push(err76);}}vErrors = emErrs10;errors = emErrs10.length;}}}var _valid3 = _errs93 === errors;valid33 = _valid3;}if(!valid33){const err77 = {keyword:"if",dataPath:dataPath+"/properties/" + i4,schemaPath:"#/definitions/properties/allOf/1/items/allOf/1/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err77];}else {vErrors.push(err77);}errors++;}const _errs96 = errors;let valid37 = true;const _errs97 = errors;if(data33 && typeof data33 == "object" && !Array.isArray(data33)){if((data33.binding === undefined) && ("binding")){const err78 = {};if(vErrors === null){vErrors = [err78];}else {vErrors.push(err78);}errors++;}else {if(data33.binding !== undefined){let data40 = data33.binding;if(data40 && typeof data40 == "object" && !Array.isArray(data40)){if((data40.type === undefined) && ("type")){const err79 = {};if(vErrors === null){vErrors = [err79];}else {vErrors.push(err79);}errors++;}else {if(data40.type !== undefined){let data41 = data40.type;if(!((((((data41 === "camunda:property") || (data41 === "camunda:outputParameter")) || (data41 === "camunda:in")) || (data41 === "camunda:in:businessKey")) || (data41 === "camunda:out")) || (data41 === "camunda:errorEventDefinition"))){const err80 = {};if(vErrors === null){vErrors = [err80];}else {vErrors.push(err80);}errors++;}}}}}}}var _valid4 = _errs97 === errors;errors = _errs96;if(vErrors !== null){if(_errs96){vErrors.length = _errs96;}else {vErrors = null;}}if(_valid4){const _errs100 = errors;if(data33 && typeof data33 == "object" && !Array.isArray(data33)){if(data33.type !== undefined){let data42 = data33.type;if(!(((data42 === "String") || (data42 === "Hidden")) || (data42 === "Dropdown"))){const err81 = {keyword:"enum",dataPath:dataPath+"/properties/" + i4+"/type",schemaPath:"#/definitions/properties/allOf/1/items/allOf/2/then/properties/type/enum",params:{allowedValues: schema18$1.allOf[1].items.allOf[2].then.properties.type.enum},message:"should be equal to one of the allowed values"};if(vErrors === null){vErrors = [err81];}else {vErrors.push(err81);}errors++;}if(errors > 0){const emErrs11 = [];for(const err82 of vErrors){if(((((err82.keyword !== "errorMessage") && (!err82.emUsed)) && ((err82.dataPath === dataPath+"/properties/" + i4+"/type") || ((err82.dataPath.indexOf(dataPath+"/properties/" + i4+"/type") === 0) && (err82.dataPath[dataPath+"/properties/" + i4+"/type".length] === "/")))) && (err82.schemaPath.indexOf("#/definitions/properties/allOf/1/items/allOf/2/then/properties/type") === 0)) && (err82.schemaPath["#/definitions/properties/allOf/1/items/allOf/2/then/properties/type".length] === "/")){emErrs11.push(err82);err82.emUsed = true;}}if(emErrs11.length){const err83 = {keyword:"errorMessage",dataPath:dataPath+"/properties/" + i4+"/type",schemaPath:"#/definitions/properties/allOf/1/items/allOf/2/then/properties/type/errorMessage",params:{errors: emErrs11},message:"invalid property type " + JSON.stringify(data42) + " for binding type " + JSON.stringify(data33 && data33.binding && data33.binding.type) + "; must be any of { String, Hidden, Dropdown }"};if(vErrors === null){vErrors = [err83];}else {vErrors.push(err83);}errors++;}const emErrs12 = [];for(const err84 of vErrors){if(!err84.emUsed){emErrs12.push(err84);}}vErrors = emErrs12;errors = emErrs12.length;}}}var _valid4 = _errs100 === errors;valid37 = _valid4;}if(!valid37){const err85 = {keyword:"if",dataPath:dataPath+"/properties/" + i4,schemaPath:"#/definitions/properties/allOf/1/items/allOf/2/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err85];}else {vErrors.push(err85);}errors++;}const _errs103 = errors;let valid41 = true;const _errs104 = errors;if(data33 && typeof data33 == "object" && !Array.isArray(data33)){if((data33.binding === undefined) && ("binding")){const err86 = {};if(vErrors === null){vErrors = [err86];}else {vErrors.push(err86);}errors++;}else {if(data33.binding !== undefined){let data43 = data33.binding;if(data43 && typeof data43 == "object" && !Array.isArray(data43)){if((data43.type === undefined) && ("type")){const err87 = {};if(vErrors === null){vErrors = [err87];}else {vErrors.push(err87);}errors++;}else {if(data43.type !== undefined){let data44 = data43.type;if(!((data44 === "camunda:inputParameter") || (data44 === "camunda:field"))){const err88 = {};if(vErrors === null){vErrors = [err88];}else {vErrors.push(err88);}errors++;}}}}}}}var _valid5 = _errs104 === errors;errors = _errs103;if(vErrors !== null){if(_errs103){vErrors.length = _errs103;}else {vErrors = null;}}if(_valid5){const _errs107 = errors;if(data33 && typeof data33 == "object" && !Array.isArray(data33)){if(data33.type !== undefined){let data45 = data33.type;if(!((((data45 === "String") || (data45 === "Text")) || (data45 === "Hidden")) || (data45 === "Dropdown"))){const err89 = {keyword:"enum",dataPath:dataPath+"/properties/" + i4+"/type",schemaPath:"#/definitions/properties/allOf/1/items/allOf/3/then/properties/type/enum",params:{allowedValues: schema18$1.allOf[1].items.allOf[3].then.properties.type.enum},message:"should be equal to one of the allowed values"};if(vErrors === null){vErrors = [err89];}else {vErrors.push(err89);}errors++;}if(errors > 0){const emErrs13 = [];for(const err90 of vErrors){if(((((err90.keyword !== "errorMessage") && (!err90.emUsed)) && ((err90.dataPath === dataPath+"/properties/" + i4+"/type") || ((err90.dataPath.indexOf(dataPath+"/properties/" + i4+"/type") === 0) && (err90.dataPath[dataPath+"/properties/" + i4+"/type".length] === "/")))) && (err90.schemaPath.indexOf("#/definitions/properties/allOf/1/items/allOf/3/then/properties/type") === 0)) && (err90.schemaPath["#/definitions/properties/allOf/1/items/allOf/3/then/properties/type".length] === "/")){emErrs13.push(err90);err90.emUsed = true;}}if(emErrs13.length){const err91 = {keyword:"errorMessage",dataPath:dataPath+"/properties/" + i4+"/type",schemaPath:"#/definitions/properties/allOf/1/items/allOf/3/then/properties/type/errorMessage",params:{errors: emErrs13},message:"invalid property type " + JSON.stringify(data45) + " for binding type " + JSON.stringify(data33 && data33.binding && data33.binding.type) + "; must be any of { String, Text, Hidden, Dropdown }"};if(vErrors === null){vErrors = [err91];}else {vErrors.push(err91);}errors++;}const emErrs14 = [];for(const err92 of vErrors){if(!err92.emUsed){emErrs14.push(err92);}}vErrors = emErrs14;errors = emErrs14.length;}}}var _valid5 = _errs107 === errors;valid41 = _valid5;}if(!valid41){const err93 = {keyword:"if",dataPath:dataPath+"/properties/" + i4,schemaPath:"#/definitions/properties/allOf/1/items/allOf/3/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err93];}else {vErrors.push(err93);}errors++;}if(data33 && typeof data33 == "object" && !Array.isArray(data33)){if(data33.binding === undefined){const err94 = {keyword:"required",dataPath:dataPath+"/properties/" + i4,schemaPath:"#/definitions/properties/allOf/1/items/required",params:{missingProperty: "binding"},message:"should have required property '"+"binding"+"'"};if(vErrors === null){vErrors = [err94];}else {vErrors.push(err94);}errors++;}if(data33.binding !== undefined){let data46 = data33.binding;const _errs112 = errors;let valid47 = true;const _errs113 = errors;if(data46 && typeof data46 == "object" && !Array.isArray(data46)){if((data46.type === undefined) && ("type")){const err95 = {};if(vErrors === null){vErrors = [err95];}else {vErrors.push(err95);}errors++;}else {if(data46.type !== undefined){let data47 = data46.type;if(!((((data47 === "property") || (data47 === "camunda:property")) || (data47 === "camunda:inputParameter")) || (data47 === "camunda:field"))){const err96 = {};if(vErrors === null){vErrors = [err96];}else {vErrors.push(err96);}errors++;}}}}var _valid6 = _errs113 === errors;errors = _errs112;if(vErrors !== null){if(_errs112){vErrors.length = _errs112;}else {vErrors = null;}}if(_valid6){const _errs115 = errors;if(data46 && typeof data46 == "object" && !Array.isArray(data46)){if(data46.name === undefined){const err97 = {keyword:"required",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/0/then/required",params:{missingProperty: "name"},message:"should have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err97];}else {vErrors.push(err97);}errors++;}}if(errors > 0){const emErrs15 = [];for(const err98 of vErrors){if(((((err98.keyword !== "errorMessage") && (!err98.emUsed)) && ((err98.dataPath === dataPath+"/properties/" + i4+"/binding") || ((err98.dataPath.indexOf(dataPath+"/properties/" + i4+"/binding") === 0) && (err98.dataPath[dataPath+"/properties/" + i4+"/binding".length] === "/")))) && (err98.schemaPath.indexOf("#/definitions/properties/allOf/1/items/properties/binding/allOf/0/then") === 0)) && (err98.schemaPath["#/definitions/properties/allOf/1/items/properties/binding/allOf/0/then".length] === "/")){emErrs15.push(err98);err98.emUsed = true;}}if(emErrs15.length){const err99 = {keyword:"errorMessage",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/0/then/errorMessage",params:{errors: emErrs15},message:"property.binding " + JSON.stringify(data46 && data46.type) + " requires name"};if(vErrors === null){vErrors = [err99];}else {vErrors.push(err99);}errors++;}const emErrs16 = [];for(const err100 of vErrors){if(!err100.emUsed){emErrs16.push(err100);}}vErrors = emErrs16;errors = emErrs16.length;}var _valid6 = _errs115 === errors;valid47 = _valid6;}if(!valid47){const err101 = {keyword:"if",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/0/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err101];}else {vErrors.push(err101);}errors++;}const _errs117 = errors;let valid49 = true;const _errs118 = errors;if(data46 && typeof data46 == "object" && !Array.isArray(data46)){if((data46.type === undefined) && ("type")){const err102 = {};if(vErrors === null){vErrors = [err102];}else {vErrors.push(err102);}errors++;}else {if(data46.type !== undefined){if(!equal(data46.type, "camunda:outputParameter")){const err103 = {};if(vErrors === null){vErrors = [err103];}else {vErrors.push(err103);}errors++;}}}}var _valid7 = _errs118 === errors;errors = _errs117;if(vErrors !== null){if(_errs117){vErrors.length = _errs117;}else {vErrors = null;}}if(_valid7){const _errs120 = errors;if(data46 && typeof data46 == "object" && !Array.isArray(data46)){if(data46.source === undefined){const err104 = {keyword:"required",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/1/then/required",params:{missingProperty: "source"},message:"should have required property '"+"source"+"'"};if(vErrors === null){vErrors = [err104];}else {vErrors.push(err104);}errors++;}}if(errors > 0){const emErrs17 = [];for(const err105 of vErrors){if(((((err105.keyword !== "errorMessage") && (!err105.emUsed)) && ((err105.dataPath === dataPath+"/properties/" + i4+"/binding") || ((err105.dataPath.indexOf(dataPath+"/properties/" + i4+"/binding") === 0) && (err105.dataPath[dataPath+"/properties/" + i4+"/binding".length] === "/")))) && (err105.schemaPath.indexOf("#/definitions/properties/allOf/1/items/properties/binding/allOf/1/then") === 0)) && (err105.schemaPath["#/definitions/properties/allOf/1/items/properties/binding/allOf/1/then".length] === "/")){emErrs17.push(err105);err105.emUsed = true;}}if(emErrs17.length){const err106 = {keyword:"errorMessage",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/1/then/errorMessage",params:{errors: emErrs17},message:"property.binding " + JSON.stringify(data46 && data46.type) + " requires source"};if(vErrors === null){vErrors = [err106];}else {vErrors.push(err106);}errors++;}const emErrs18 = [];for(const err107 of vErrors){if(!err107.emUsed){emErrs18.push(err107);}}vErrors = emErrs18;errors = emErrs18.length;}var _valid7 = _errs120 === errors;valid49 = _valid7;}if(!valid49){const err108 = {keyword:"if",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/1/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err108];}else {vErrors.push(err108);}errors++;}const _errs122 = errors;let valid51 = true;const _errs123 = errors;if(data46 && typeof data46 == "object" && !Array.isArray(data46)){if((data46.type === undefined) && ("type")){const err109 = {};if(vErrors === null){vErrors = [err109];}else {vErrors.push(err109);}errors++;}else {if(data46.type !== undefined){if(!equal(data46.type, "camunda:in")){const err110 = {};if(vErrors === null){vErrors = [err110];}else {vErrors.push(err110);}errors++;}}}}var _valid8 = _errs123 === errors;errors = _errs122;if(vErrors !== null){if(_errs122){vErrors.length = _errs122;}else {vErrors = null;}}if(_valid8){const _errs125 = errors;const _errs126 = errors;let valid53 = false;const _errs127 = errors;if(data46 && typeof data46 == "object" && !Array.isArray(data46)){if(data46.variables === undefined){const err111 = {keyword:"required",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/2/then/anyOf/0/required",params:{missingProperty: "variables"},message:"should have required property '"+"variables"+"'"};if(vErrors === null){vErrors = [err111];}else {vErrors.push(err111);}errors++;}}var _valid9 = _errs127 === errors;valid53 = valid53 || _valid9;if(!valid53){const _errs128 = errors;if(data46 && typeof data46 == "object" && !Array.isArray(data46)){if(data46.target === undefined){const err112 = {keyword:"required",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/2/then/anyOf/1/required",params:{missingProperty: "target"},message:"should have required property '"+"target"+"'"};if(vErrors === null){vErrors = [err112];}else {vErrors.push(err112);}errors++;}}var _valid9 = _errs128 === errors;valid53 = valid53 || _valid9;}if(!valid53){const err113 = {keyword:"anyOf",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/2/then/anyOf",params:{},message:"should match some schema in anyOf"};if(vErrors === null){vErrors = [err113];}else {vErrors.push(err113);}errors++;}else {errors = _errs126;if(vErrors !== null){if(_errs126){vErrors.length = _errs126;}else {vErrors = null;}}}if(errors > 0){const emErrs19 = [];for(const err114 of vErrors){if(((((err114.keyword !== "errorMessage") && (!err114.emUsed)) && ((err114.dataPath === dataPath+"/properties/" + i4+"/binding") || ((err114.dataPath.indexOf(dataPath+"/properties/" + i4+"/binding") === 0) && (err114.dataPath[dataPath+"/properties/" + i4+"/binding".length] === "/")))) && (err114.schemaPath.indexOf("#/definitions/properties/allOf/1/items/properties/binding/allOf/2/then") === 0)) && (err114.schemaPath["#/definitions/properties/allOf/1/items/properties/binding/allOf/2/then".length] === "/")){emErrs19.push(err114);err114.emUsed = true;}}if(emErrs19.length){const err115 = {keyword:"errorMessage",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/2/then/errorMessage",params:{errors: emErrs19},message:"property.binding " + JSON.stringify(data46 && data46.type) + " requires variables, target, or both"};if(vErrors === null){vErrors = [err115];}else {vErrors.push(err115);}errors++;}const emErrs20 = [];for(const err116 of vErrors){if(!err116.emUsed){emErrs20.push(err116);}}vErrors = emErrs20;errors = emErrs20.length;}var _valid8 = _errs125 === errors;valid51 = _valid8;}if(!valid51){const err117 = {keyword:"if",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/2/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err117];}else {vErrors.push(err117);}errors++;}const _errs130 = errors;let valid54 = true;const _errs131 = errors;if(data46 && typeof data46 == "object" && !Array.isArray(data46)){if((data46.type === undefined) && ("type")){const err118 = {};if(vErrors === null){vErrors = [err118];}else {vErrors.push(err118);}errors++;}else {if(data46.type !== undefined){if(!equal(data46.type, "camunda:out")){const err119 = {};if(vErrors === null){vErrors = [err119];}else {vErrors.push(err119);}errors++;}}}}var _valid10 = _errs131 === errors;errors = _errs130;if(vErrors !== null){if(_errs130){vErrors.length = _errs130;}else {vErrors = null;}}if(_valid10){const _errs133 = errors;const _errs134 = errors;let valid56 = false;let passing1 = null;const _errs135 = errors;const _errs136 = errors;const _errs137 = errors;const _errs138 = errors;let valid58 = false;const _errs139 = errors;if(data46 && typeof data46 == "object" && !Array.isArray(data46)){if((data46.source === undefined) && ("source")){const err120 = {};if(vErrors === null){vErrors = [err120];}else {vErrors.push(err120);}errors++;}}var _valid12 = _errs139 === errors;valid58 = valid58 || _valid12;if(!valid58){const _errs140 = errors;if(data46 && typeof data46 == "object" && !Array.isArray(data46)){if((data46.sourceExpression === undefined) && ("sourceExpression")){const err121 = {};if(vErrors === null){vErrors = [err121];}else {vErrors.push(err121);}errors++;}}var _valid12 = _errs140 === errors;valid58 = valid58 || _valid12;}if(!valid58){const err122 = {};if(vErrors === null){vErrors = [err122];}else {vErrors.push(err122);}errors++;}else {errors = _errs138;if(vErrors !== null){if(_errs138){vErrors.length = _errs138;}else {vErrors = null;}}}var valid57 = _errs137 === errors;if(!valid57){errors = _errs136;if(vErrors !== null){if(_errs136){vErrors.length = _errs136;}else {vErrors = null;}}}else {const err123 = {keyword:"not",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/3/then/oneOf/0/not",params:{},message:"should NOT be valid"};if(vErrors === null){vErrors = [err123];}else {vErrors.push(err123);}errors++;}if(data46 && typeof data46 == "object" && !Array.isArray(data46)){if(data46.variables === undefined){const err124 = {keyword:"required",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/3/then/oneOf/0/required",params:{missingProperty: "variables"},message:"should have required property '"+"variables"+"'"};if(vErrors === null){vErrors = [err124];}else {vErrors.push(err124);}errors++;}}var _valid11 = _errs135 === errors;if(_valid11){valid56 = true;passing1 = 0;}const _errs141 = errors;const _errs142 = errors;const _errs143 = errors;const _errs144 = errors;let valid60 = false;const _errs145 = errors;if(data46 && typeof data46 == "object" && !Array.isArray(data46)){if((data46.variables === undefined) && ("variables")){const err125 = {};if(vErrors === null){vErrors = [err125];}else {vErrors.push(err125);}errors++;}}var _valid13 = _errs145 === errors;valid60 = valid60 || _valid13;if(!valid60){const _errs146 = errors;if(data46 && typeof data46 == "object" && !Array.isArray(data46)){if((data46.sourceExpression === undefined) && ("sourceExpression")){const err126 = {};if(vErrors === null){vErrors = [err126];}else {vErrors.push(err126);}errors++;}}var _valid13 = _errs146 === errors;valid60 = valid60 || _valid13;}if(!valid60){const err127 = {};if(vErrors === null){vErrors = [err127];}else {vErrors.push(err127);}errors++;}else {errors = _errs144;if(vErrors !== null){if(_errs144){vErrors.length = _errs144;}else {vErrors = null;}}}var valid59 = _errs143 === errors;if(!valid59){errors = _errs142;if(vErrors !== null){if(_errs142){vErrors.length = _errs142;}else {vErrors = null;}}}else {const err128 = {keyword:"not",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/3/then/oneOf/1/not",params:{},message:"should NOT be valid"};if(vErrors === null){vErrors = [err128];}else {vErrors.push(err128);}errors++;}if(data46 && typeof data46 == "object" && !Array.isArray(data46)){if(data46.source === undefined){const err129 = {keyword:"required",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/3/then/oneOf/1/required",params:{missingProperty: "source"},message:"should have required property '"+"source"+"'"};if(vErrors === null){vErrors = [err129];}else {vErrors.push(err129);}errors++;}}var _valid11 = _errs141 === errors;if(_valid11 && valid56){valid56 = false;passing1 = [passing1, 1];}else {if(_valid11){valid56 = true;passing1 = 1;}const _errs147 = errors;const _errs148 = errors;const _errs149 = errors;const _errs150 = errors;let valid62 = false;const _errs151 = errors;if(data46 && typeof data46 == "object" && !Array.isArray(data46)){if((data46.variables === undefined) && ("variables")){const err130 = {};if(vErrors === null){vErrors = [err130];}else {vErrors.push(err130);}errors++;}}var _valid14 = _errs151 === errors;valid62 = valid62 || _valid14;if(!valid62){const _errs152 = errors;if(data46 && typeof data46 == "object" && !Array.isArray(data46)){if((data46.source === undefined) && ("source")){const err131 = {};if(vErrors === null){vErrors = [err131];}else {vErrors.push(err131);}errors++;}}var _valid14 = _errs152 === errors;valid62 = valid62 || _valid14;}if(!valid62){const err132 = {};if(vErrors === null){vErrors = [err132];}else {vErrors.push(err132);}errors++;}else {errors = _errs150;if(vErrors !== null){if(_errs150){vErrors.length = _errs150;}else {vErrors = null;}}}var valid61 = _errs149 === errors;if(!valid61){errors = _errs148;if(vErrors !== null){if(_errs148){vErrors.length = _errs148;}else {vErrors = null;}}}else {const err133 = {keyword:"not",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/3/then/oneOf/2/not",params:{},message:"should NOT be valid"};if(vErrors === null){vErrors = [err133];}else {vErrors.push(err133);}errors++;}if(data46 && typeof data46 == "object" && !Array.isArray(data46)){if(data46.sourceExpression === undefined){const err134 = {keyword:"required",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/3/then/oneOf/2/required",params:{missingProperty: "sourceExpression"},message:"should have required property '"+"sourceExpression"+"'"};if(vErrors === null){vErrors = [err134];}else {vErrors.push(err134);}errors++;}}var _valid11 = _errs147 === errors;if(_valid11 && valid56){valid56 = false;passing1 = [passing1, 2];}else {if(_valid11){valid56 = true;passing1 = 2;}const _errs153 = errors;const _errs154 = errors;const _errs155 = errors;if(data46 && typeof data46 == "object" && !Array.isArray(data46)){if((data46.source === undefined) && ("source")){const err135 = {};if(vErrors === null){vErrors = [err135];}else {vErrors.push(err135);}errors++;}}var valid63 = _errs155 === errors;if(!valid63){errors = _errs154;if(vErrors !== null){if(_errs154){vErrors.length = _errs154;}else {vErrors = null;}}}else {const err136 = {keyword:"not",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/3/then/oneOf/3/not",params:{},message:"should NOT be valid"};if(vErrors === null){vErrors = [err136];}else {vErrors.push(err136);}errors++;}if(data46 && typeof data46 == "object" && !Array.isArray(data46)){if(data46.variables === undefined){const err137 = {keyword:"required",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/3/then/oneOf/3/required",params:{missingProperty: "variables"},message:"should have required property '"+"variables"+"'"};if(vErrors === null){vErrors = [err137];}else {vErrors.push(err137);}errors++;}if(data46.sourceExpression === undefined){const err138 = {keyword:"required",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/3/then/oneOf/3/required",params:{missingProperty: "sourceExpression"},message:"should have required property '"+"sourceExpression"+"'"};if(vErrors === null){vErrors = [err138];}else {vErrors.push(err138);}errors++;}}var _valid11 = _errs153 === errors;if(_valid11 && valid56){valid56 = false;passing1 = [passing1, 3];}else {if(_valid11){valid56 = true;passing1 = 3;}const _errs156 = errors;const _errs157 = errors;const _errs158 = errors;if(data46 && typeof data46 == "object" && !Array.isArray(data46)){if((data46.sourceExpression === undefined) && ("sourceExpression")){const err139 = {};if(vErrors === null){vErrors = [err139];}else {vErrors.push(err139);}errors++;}}var valid64 = _errs158 === errors;if(!valid64){errors = _errs157;if(vErrors !== null){if(_errs157){vErrors.length = _errs157;}else {vErrors = null;}}}else {const err140 = {keyword:"not",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/3/then/oneOf/4/not",params:{},message:"should NOT be valid"};if(vErrors === null){vErrors = [err140];}else {vErrors.push(err140);}errors++;}if(data46 && typeof data46 == "object" && !Array.isArray(data46)){if(data46.variables === undefined){const err141 = {keyword:"required",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/3/then/oneOf/4/required",params:{missingProperty: "variables"},message:"should have required property '"+"variables"+"'"};if(vErrors === null){vErrors = [err141];}else {vErrors.push(err141);}errors++;}if(data46.source === undefined){const err142 = {keyword:"required",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/3/then/oneOf/4/required",params:{missingProperty: "source"},message:"should have required property '"+"source"+"'"};if(vErrors === null){vErrors = [err142];}else {vErrors.push(err142);}errors++;}}var _valid11 = _errs156 === errors;if(_valid11 && valid56){valid56 = false;passing1 = [passing1, 4];}else {if(_valid11){valid56 = true;passing1 = 4;}}}}}if(!valid56){const err143 = {keyword:"oneOf",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/3/then/oneOf",params:{passingSchemas: passing1},message:"should match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err143];}else {vErrors.push(err143);}errors++;}else {errors = _errs134;if(vErrors !== null){if(_errs134){vErrors.length = _errs134;}else {vErrors = null;}}}if(errors > 0){const emErrs21 = [];for(const err144 of vErrors){if(((((err144.keyword !== "errorMessage") && (!err144.emUsed)) && ((err144.dataPath === dataPath+"/properties/" + i4+"/binding") || ((err144.dataPath.indexOf(dataPath+"/properties/" + i4+"/binding") === 0) && (err144.dataPath[dataPath+"/properties/" + i4+"/binding".length] === "/")))) && (err144.schemaPath.indexOf("#/definitions/properties/allOf/1/items/properties/binding/allOf/3/then") === 0)) && (err144.schemaPath["#/definitions/properties/allOf/1/items/properties/binding/allOf/3/then".length] === "/")){emErrs21.push(err144);err144.emUsed = true;}}if(emErrs21.length){const err145 = {keyword:"errorMessage",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/3/then/errorMessage",params:{errors: emErrs21},message:"property.binding " + JSON.stringify(data46 && data46.type) + " requires one of the following: variables, sourceExpression, source, (sourceExpression and variables), or (source and variables)"};if(vErrors === null){vErrors = [err145];}else {vErrors.push(err145);}errors++;}const emErrs22 = [];for(const err146 of vErrors){if(!err146.emUsed){emErrs22.push(err146);}}vErrors = emErrs22;errors = emErrs22.length;}var _valid10 = _errs133 === errors;valid54 = _valid10;}if(!valid54){const err147 = {keyword:"if",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/3/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err147];}else {vErrors.push(err147);}errors++;}const _errs160 = errors;let valid65 = true;const _errs161 = errors;if(data46 && typeof data46 == "object" && !Array.isArray(data46)){if((data46.type === undefined) && ("type")){const err148 = {};if(vErrors === null){vErrors = [err148];}else {vErrors.push(err148);}errors++;}else {if(data46.type !== undefined){if(!equal(data46.type, "camunda:errorEventDefinition")){const err149 = {};if(vErrors === null){vErrors = [err149];}else {vErrors.push(err149);}errors++;}}}}var _valid15 = _errs161 === errors;errors = _errs160;if(vErrors !== null){if(_errs160){vErrors.length = _errs160;}else {vErrors = null;}}if(_valid15){const _errs163 = errors;const _errs164 = errors;let valid67 = false;let passing2 = null;const _errs165 = errors;if(data46 && typeof data46 == "object" && !Array.isArray(data46)){if(data46.errorRef === undefined){const err150 = {keyword:"required",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/4/then/oneOf/0/required",params:{missingProperty: "errorRef"},message:"should have required property '"+"errorRef"+"'"};if(vErrors === null){vErrors = [err150];}else {vErrors.push(err150);}errors++;}}var _valid16 = _errs165 === errors;if(_valid16){valid67 = true;passing2 = 0;}if(!valid67){const err151 = {keyword:"oneOf",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/4/then/oneOf",params:{passingSchemas: passing2},message:"should match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err151];}else {vErrors.push(err151);}errors++;}else {errors = _errs164;if(vErrors !== null){if(_errs164){vErrors.length = _errs164;}else {vErrors = null;}}}if(errors > 0){const emErrs23 = [];for(const err152 of vErrors){if(((((err152.keyword !== "errorMessage") && (!err152.emUsed)) && ((err152.dataPath === dataPath+"/properties/" + i4+"/binding") || ((err152.dataPath.indexOf(dataPath+"/properties/" + i4+"/binding") === 0) && (err152.dataPath[dataPath+"/properties/" + i4+"/binding".length] === "/")))) && (err152.schemaPath.indexOf("#/definitions/properties/allOf/1/items/properties/binding/allOf/4/then") === 0)) && (err152.schemaPath["#/definitions/properties/allOf/1/items/properties/binding/allOf/4/then".length] === "/")){emErrs23.push(err152);err152.emUsed = true;}}if(emErrs23.length){const err153 = {keyword:"errorMessage",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/4/then/errorMessage",params:{errors: emErrs23},message:"property.binding " + JSON.stringify(data46 && data46.type) + " requires errorRef"};if(vErrors === null){vErrors = [err153];}else {vErrors.push(err153);}errors++;}const emErrs24 = [];for(const err154 of vErrors){if(!err154.emUsed){emErrs24.push(err154);}}vErrors = emErrs24;errors = emErrs24.length;}var _valid15 = _errs163 === errors;valid65 = _valid15;}if(!valid65){const err155 = {keyword:"if",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/4/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err155];}else {vErrors.push(err155);}errors++;}if(data46 && typeof data46 == "object" && !Array.isArray(data46)){if(data46.type === undefined){const err156 = {keyword:"required",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/required",params:{missingProperty: "type"},message:"should have required property '"+"type"+"'"};if(vErrors === null){vErrors = [err156];}else {vErrors.push(err156);}errors++;}if(data46.type !== undefined){let data52 = data46.type;if(typeof data52 !== "string"){const err157 = {keyword:"type",dataPath:dataPath+"/properties/" + i4+"/binding/type",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/properties/type/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err157];}else {vErrors.push(err157);}errors++;}if(!((((((((((data52 === "property") || (data52 === "camunda:property")) || (data52 === "camunda:inputParameter")) || (data52 === "camunda:outputParameter")) || (data52 === "camunda:in")) || (data52 === "camunda:out")) || (data52 === "camunda:in:businessKey")) || (data52 === "camunda:executionListener")) || (data52 === "camunda:field")) || (data52 === "camunda:errorEventDefinition"))){const err158 = {keyword:"enum",dataPath:dataPath+"/properties/" + i4+"/binding/type",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/properties/type/enum",params:{allowedValues: schema18$1.allOf[1].items.properties.binding.properties.type.enum},message:"should be equal to one of the allowed values"};if(vErrors === null){vErrors = [err158];}else {vErrors.push(err158);}errors++;}if(errors > 0){const emErrs25 = [];for(const err159 of vErrors){if(((((err159.keyword !== "errorMessage") && (!err159.emUsed)) && ((err159.dataPath === dataPath+"/properties/" + i4+"/binding/type") || ((err159.dataPath.indexOf(dataPath+"/properties/" + i4+"/binding/type") === 0) && (err159.dataPath[dataPath+"/properties/" + i4+"/binding/type".length] === "/")))) && (err159.schemaPath.indexOf("#/definitions/properties/allOf/1/items/properties/binding/properties/type") === 0)) && (err159.schemaPath["#/definitions/properties/allOf/1/items/properties/binding/properties/type".length] === "/")){emErrs25.push(err159);err159.emUsed = true;}}if(emErrs25.length){const err160 = {keyword:"errorMessage",dataPath:dataPath+"/properties/" + i4+"/binding/type",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/properties/type/errorMessage",params:{errors: emErrs25},message:"invalid property.binding type " + JSON.stringify(data52) + "; must be any of { property, camunda:property, camunda:inputParameter, camunda:outputParameter, camunda:in, camunda:out, camunda:in:businessKey, camunda:executionListener, camunda:field, camunda:errorEventDefinition }"};if(vErrors === null){vErrors = [err160];}else {vErrors.push(err160);}errors++;}const emErrs26 = [];for(const err161 of vErrors){if(!err161.emUsed){emErrs26.push(err161);}}vErrors = emErrs26;errors = emErrs26.length;}}if(data46.name !== undefined){if(typeof data46.name !== "string"){const err162 = {keyword:"type",dataPath:dataPath+"/properties/" + i4+"/binding/name",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/properties/name/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err162];}else {vErrors.push(err162);}errors++;}}if(data46.event !== undefined){if(typeof data46.event !== "string"){const err163 = {keyword:"type",dataPath:dataPath+"/properties/" + i4+"/binding/event",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/properties/event/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err163];}else {vErrors.push(err163);}errors++;}}if(data46.scriptFormat !== undefined){if(typeof data46.scriptFormat !== "string"){const err164 = {keyword:"type",dataPath:dataPath+"/properties/" + i4+"/binding/scriptFormat",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/properties/scriptFormat/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err164];}else {vErrors.push(err164);}errors++;}}if(data46.source !== undefined){if(typeof data46.source !== "string"){const err165 = {keyword:"type",dataPath:dataPath+"/properties/" + i4+"/binding/source",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/properties/source/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err165];}else {vErrors.push(err165);}errors++;}}if(data46.target !== undefined){if(typeof data46.target !== "string"){const err166 = {keyword:"type",dataPath:dataPath+"/properties/" + i4+"/binding/target",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/properties/target/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err166];}else {vErrors.push(err166);}errors++;}}if(data46.expression !== undefined){if(typeof data46.expression !== "boolean"){const err167 = {keyword:"type",dataPath:dataPath+"/properties/" + i4+"/binding/expression",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/properties/expression/type",params:{type: "boolean"},message:"should be boolean"};if(vErrors === null){vErrors = [err167];}else {vErrors.push(err167);}errors++;}}if(data46.variables !== undefined){let data59 = data46.variables;if(typeof data59 !== "string"){const err168 = {keyword:"type",dataPath:dataPath+"/properties/" + i4+"/binding/variables",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/properties/variables/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err168];}else {vErrors.push(err168);}errors++;}if(!((data59 === "all") || (data59 === "local"))){const err169 = {keyword:"enum",dataPath:dataPath+"/properties/" + i4+"/binding/variables",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/properties/variables/enum",params:{allowedValues: schema18$1.allOf[1].items.properties.binding.properties.variables.enum},message:"should be equal to one of the allowed values"};if(vErrors === null){vErrors = [err169];}else {vErrors.push(err169);}errors++;}}if(data46.sourceExpression !== undefined){if(typeof data46.sourceExpression !== "string"){const err170 = {keyword:"type",dataPath:dataPath+"/properties/" + i4+"/binding/sourceExpression",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/properties/sourceExpression/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err170];}else {vErrors.push(err170);}errors++;}}}else {const err171 = {keyword:"type",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err171];}else {vErrors.push(err171);}errors++;}}}else {const err172 = {keyword:"type",dataPath:dataPath+"/properties/" + i4,schemaPath:"#/definitions/properties/allOf/1/items/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err172];}else {vErrors.push(err172);}errors++;}if(errors > 0){const emErrors3 = {"required":{"binding":[]}};const templates3 = {required:{binding:function(){return "missing binding for property \"" + JSON.stringify(i4) + "\""}}};let emPropParams2;let emParamsErrors2;for(const err173 of vErrors){if((((((err173.keyword !== "errorMessage") && (!err173.emUsed)) && (err173.dataPath === dataPath+"/properties/" + i4)) && (err173.keyword in emErrors3)) && (err173.schemaPath.indexOf("#/definitions/properties/allOf/1/items") === 0)) && (/^\/[^\/]*$/.test(err173.schemaPath.slice(38)))){emPropParams2 = obj0$1[err173.keyword];emParamsErrors2 = emErrors3[err173.keyword][err173.params[emPropParams2]];if(emParamsErrors2){emParamsErrors2.push(err173);err173.emUsed = true;}}}for(const key3 in emErrors3){for(const keyProp2 in emErrors3[key3]){emParamsErrors2 = emErrors3[key3][keyProp2];if(emParamsErrors2.length){const tmpl2 = templates3[key3] && templates3[key3][keyProp2];const err174 = {keyword:"errorMessage",dataPath:dataPath+"/properties/" + i4,schemaPath:"#/definitions/properties/allOf/1/items/errorMessage",params:{errors: emParamsErrors2},message:tmpl2 ? tmpl2() : schema18$1.allOf[1].items.errorMessage[key3][keyProp2]};if(vErrors === null){vErrors = [err174];}else {vErrors.push(err174);}errors++;}}}const emErrs27 = [];for(const err175 of vErrors){if(!err175.emUsed){emErrs27.push(err175);}}vErrors = emErrs27;errors = emErrs27.length;}}}else {const err176 = {keyword:"type",dataPath:dataPath+"/properties",schemaPath:"#/definitions/properties/allOf/1/type",params:{type: "array"},message:"should be array"};if(vErrors === null){vErrors = [err176];}else {vErrors.push(err176);}errors++;}}if(data.scopes !== undefined){let data61 = data.scopes;if(Array.isArray(data61)){const len5 = data61.length;for(let i5=0; i5<len5; i5++){let data62 = data61[i5];const _errs189 = errors;let valid73 = true;const _errs190 = errors;if(data62 && typeof data62 == "object" && !Array.isArray(data62)){if((data62.type === undefined) && ("type")){const err177 = {};if(vErrors === null){vErrors = [err177];}else {vErrors.push(err177);}errors++;}else {if(data62.type !== undefined){if(!(data62.type === "bpmn:Error")){const err178 = {};if(vErrors === null){vErrors = [err178];}else {vErrors.push(err178);}errors++;}}}}var _valid17 = _errs190 === errors;errors = _errs189;if(vErrors !== null){if(_errs189){vErrors.length = _errs189;}else {vErrors = null;}}if(_valid17){const _errs192 = errors;if(data62 && typeof data62 == "object" && !Array.isArray(data62)){if(data62.id === undefined){const err179 = {keyword:"required",dataPath:dataPath+"/scopes/" + i5,schemaPath:"#/properties/scopes/items/allOf/0/then/required",params:{missingProperty: "id"},message:"should have required property '"+"id"+"'"};if(vErrors === null){vErrors = [err179];}else {vErrors.push(err179);}errors++;}}if(errors > 0){const emErrs28 = [];for(const err180 of vErrors){if(((((err180.keyword !== "errorMessage") && (!err180.emUsed)) && ((err180.dataPath === dataPath+"/scopes/" + i5) || ((err180.dataPath.indexOf(dataPath+"/scopes/" + i5) === 0) && (err180.dataPath[dataPath+"/scopes/" + i5.length] === "/")))) && (err180.schemaPath.indexOf("#/properties/scopes/items/allOf/0/then") === 0)) && (err180.schemaPath["#/properties/scopes/items/allOf/0/then".length] === "/")){emErrs28.push(err180);err180.emUsed = true;}}if(emErrs28.length){const err181 = {keyword:"errorMessage",dataPath:dataPath+"/scopes/" + i5,schemaPath:"#/properties/scopes/items/allOf/0/then/errorMessage",params:{errors: emErrs28},message:"invalid scope " + JSON.stringify(data62 && data62.type) + ", missing id"};if(vErrors === null){vErrors = [err181];}else {vErrors.push(err181);}errors++;}const emErrs29 = [];for(const err182 of vErrors){if(!err182.emUsed){emErrs29.push(err182);}}vErrors = emErrs29;errors = emErrs29.length;}var _valid17 = _errs192 === errors;valid73 = _valid17;}if(!valid73){const err183 = {keyword:"if",dataPath:dataPath+"/scopes/" + i5,schemaPath:"#/properties/scopes/items/allOf/0/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err183];}else {vErrors.push(err183);}errors++;}if(data62 && typeof data62 == "object" && !Array.isArray(data62)){if(data62.type === undefined){const err184 = {keyword:"required",dataPath:dataPath+"/scopes/" + i5,schemaPath:"#/properties/scopes/items/required",params:{missingProperty: "type"},message:"should have required property '"+"type"+"'"};if(vErrors === null){vErrors = [err184];}else {vErrors.push(err184);}errors++;}if(data62.properties === undefined){const err185 = {keyword:"required",dataPath:dataPath+"/scopes/" + i5,schemaPath:"#/properties/scopes/items/required",params:{missingProperty: "properties"},message:"should have required property '"+"properties"+"'"};if(vErrors === null){vErrors = [err185];}else {vErrors.push(err185);}errors++;}if(data62.type !== undefined){let data64 = data62.type;if(typeof data64 !== "string"){const err186 = {keyword:"type",dataPath:dataPath+"/scopes/" + i5+"/type",schemaPath:"#/properties/scopes/items/properties/type/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err186];}else {vErrors.push(err186);}errors++;}if(!((data64 === "camunda:Connector") || (data64 === "bpmn:Error"))){const err187 = {keyword:"enum",dataPath:dataPath+"/scopes/" + i5+"/type",schemaPath:"#/properties/scopes/items/properties/type/enum",params:{allowedValues: schema17$1.properties.scopes.items.properties.type.enum},message:"should be equal to one of the allowed values"};if(vErrors === null){vErrors = [err187];}else {vErrors.push(err187);}errors++;}if(errors > 0){const emErrs30 = [];for(const err188 of vErrors){if(((((err188.keyword !== "errorMessage") && (!err188.emUsed)) && ((err188.dataPath === dataPath+"/scopes/" + i5+"/type") || ((err188.dataPath.indexOf(dataPath+"/scopes/" + i5+"/type") === 0) && (err188.dataPath[dataPath+"/scopes/" + i5+"/type".length] === "/")))) && (err188.schemaPath.indexOf("#/properties/scopes/items/properties/type") === 0)) && (err188.schemaPath["#/properties/scopes/items/properties/type".length] === "/")){emErrs30.push(err188);err188.emUsed = true;}}if(emErrs30.length){const err189 = {keyword:"errorMessage",dataPath:dataPath+"/scopes/" + i5+"/type",schemaPath:"#/properties/scopes/items/properties/type/errorMessage",params:{errors: emErrs30},message:"invalid scope type " + JSON.stringify(data64) + "; must be any of { camunda:Connector, bpmn:Error }"};if(vErrors === null){vErrors = [err189];}else {vErrors.push(err189);}errors++;}const emErrs31 = [];for(const err190 of vErrors){if(!err190.emUsed){emErrs31.push(err190);}}vErrors = emErrs31;errors = emErrs31.length;}}if(data62.properties !== undefined){let data65 = data62.properties;if(Array.isArray(data65)){const len6 = data65.length;for(let i6=0; i6<len6; i6++){let data66 = data65[i6];const _errs202 = errors;let valid82 = true;const _errs203 = errors;if(data66 && typeof data66 == "object" && !Array.isArray(data66)){if((data66.type === undefined) && ("type")){const err191 = {};if(vErrors === null){vErrors = [err191];}else {vErrors.push(err191);}errors++;}else {if(data66.type !== undefined){if(!equal(data66.type, "Dropdown")){const err192 = {};if(vErrors === null){vErrors = [err192];}else {vErrors.push(err192);}errors++;}}}}var _valid18 = _errs203 === errors;errors = _errs202;if(vErrors !== null){if(_errs202){vErrors.length = _errs202;}else {vErrors = null;}}if(_valid18){const _errs205 = errors;if(data66 && typeof data66 == "object" && !Array.isArray(data66)){if(data66.choices === undefined){const err193 = {keyword:"required",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i6,schemaPath:"#/definitions/properties/allOf/0/items/allOf/0/then/required",params:{missingProperty: "choices"},message:"should have required property '"+"choices"+"'"};if(vErrors === null){vErrors = [err193];}else {vErrors.push(err193);}errors++;}}if(errors > 0){const emErrs32 = [];for(const err194 of vErrors){if(((((err194.keyword !== "errorMessage") && (!err194.emUsed)) && ((err194.dataPath === dataPath+"/scopes/" + i5+"/properties/" + i6) || ((err194.dataPath.indexOf(dataPath+"/scopes/" + i5+"/properties/" + i6) === 0) && (err194.dataPath[dataPath+"/scopes/" + i5+"/properties/" + i6.length] === "/")))) && (err194.schemaPath.indexOf("#/definitions/properties/allOf/0/items/allOf/0/then") === 0)) && (err194.schemaPath["#/definitions/properties/allOf/0/items/allOf/0/then".length] === "/")){emErrs32.push(err194);err194.emUsed = true;}}if(emErrs32.length){const err195 = {keyword:"errorMessage",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i6,schemaPath:"#/definitions/properties/allOf/0/items/allOf/0/then/errorMessage",params:{errors: emErrs32},message:"must provide choices=[] with \"Dropdown\" type"};if(vErrors === null){vErrors = [err195];}else {vErrors.push(err195);}errors++;}const emErrs33 = [];for(const err196 of vErrors){if(!err196.emUsed){emErrs33.push(err196);}}vErrors = emErrs33;errors = emErrs33.length;}var _valid18 = _errs205 === errors;valid82 = _valid18;}if(!valid82){const err197 = {keyword:"if",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i6,schemaPath:"#/definitions/properties/allOf/0/items/allOf/0/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err197];}else {vErrors.push(err197);}errors++;}if(data66 && typeof data66 == "object" && !Array.isArray(data66)){if(data66.value !== undefined){let data68 = data66.value;if((typeof data68 !== "string") && (typeof data68 !== "boolean")){const err198 = {keyword:"type",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i6+"/value",schemaPath:"#/definitions/properties/allOf/0/items/properties/value/type",params:{type: schema19.items.properties.value.type},message:"should be string,boolean"};if(vErrors === null){vErrors = [err198];}else {vErrors.push(err198);}errors++;}}if(data66.description !== undefined){if(typeof data66.description !== "string"){const err199 = {keyword:"type",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i6+"/description",schemaPath:"#/definitions/properties/allOf/0/items/properties/description/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err199];}else {vErrors.push(err199);}errors++;}}if(data66.label !== undefined){if(typeof data66.label !== "string"){const err200 = {keyword:"type",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i6+"/label",schemaPath:"#/definitions/properties/allOf/0/items/properties/label/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err200];}else {vErrors.push(err200);}errors++;}}if(data66.type !== undefined){if(typeof data66.type !== "string"){const err201 = {keyword:"type",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i6+"/type",schemaPath:"#/definitions/properties/allOf/0/items/properties/type/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err201];}else {vErrors.push(err201);}errors++;}}if(data66.editable !== undefined){if(typeof data66.editable !== "boolean"){const err202 = {keyword:"type",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i6+"/editable",schemaPath:"#/definitions/properties/allOf/0/items/properties/editable/type",params:{type: "boolean"},message:"should be boolean"};if(vErrors === null){vErrors = [err202];}else {vErrors.push(err202);}errors++;}}if(data66.choices !== undefined){let data73 = data66.choices;if(Array.isArray(data73)){const len7 = data73.length;for(let i7=0; i7<len7; i7++){let data74 = data73[i7];if(data74 && typeof data74 == "object" && !Array.isArray(data74)){if(data74.value === undefined){const err203 = {keyword:"required",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i6+"/choices/" + i7,schemaPath:"#/definitions/properties/allOf/0/items/properties/choices/items/required",params:{missingProperty: "value"},message:"should have required property '"+"value"+"'"};if(vErrors === null){vErrors = [err203];}else {vErrors.push(err203);}errors++;}if(data74.name === undefined){const err204 = {keyword:"required",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i6+"/choices/" + i7,schemaPath:"#/definitions/properties/allOf/0/items/properties/choices/items/required",params:{missingProperty: "name"},message:"should have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err204];}else {vErrors.push(err204);}errors++;}if(data74.name !== undefined){if(typeof data74.name !== "string"){const err205 = {keyword:"type",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i6+"/choices/" + i7+"/name",schemaPath:"#/definitions/properties/allOf/0/items/properties/choices/items/properties/name/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err205];}else {vErrors.push(err205);}errors++;}}if(data74.value !== undefined){if(typeof data74.value !== "string"){const err206 = {keyword:"type",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i6+"/choices/" + i7+"/value",schemaPath:"#/definitions/properties/allOf/0/items/properties/choices/items/properties/value/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err206];}else {vErrors.push(err206);}errors++;}}}else {const err207 = {keyword:"type",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i6+"/choices/" + i7,schemaPath:"#/definitions/properties/allOf/0/items/properties/choices/items/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err207];}else {vErrors.push(err207);}errors++;}if(errors > 0){const emErrs34 = [];for(const err208 of vErrors){if(((((err208.keyword !== "errorMessage") && (!err208.emUsed)) && ((err208.dataPath === dataPath+"/scopes/" + i5+"/properties/" + i6+"/choices/" + i7) || ((err208.dataPath.indexOf(dataPath+"/scopes/" + i5+"/properties/" + i6+"/choices/" + i7) === 0) && (err208.dataPath[dataPath+"/scopes/" + i5+"/properties/" + i6+"/choices/" + i7.length] === "/")))) && (err208.schemaPath.indexOf("#/definitions/properties/allOf/0/items/properties/choices/items") === 0)) && (err208.schemaPath["#/definitions/properties/allOf/0/items/properties/choices/items".length] === "/")){emErrs34.push(err208);err208.emUsed = true;}}if(emErrs34.length){const err209 = {keyword:"errorMessage",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i6+"/choices/" + i7,schemaPath:"#/definitions/properties/allOf/0/items/properties/choices/items/errorMessage",params:{errors: emErrs34},message:"{ name, value } must be specified for \"Dropdown\" choices"};if(vErrors === null){vErrors = [err209];}else {vErrors.push(err209);}errors++;}const emErrs35 = [];for(const err210 of vErrors){if(!err210.emUsed){emErrs35.push(err210);}}vErrors = emErrs35;errors = emErrs35.length;}}}else {const err211 = {keyword:"type",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i6+"/choices",schemaPath:"#/definitions/properties/allOf/0/items/properties/choices/type",params:{type: "array"},message:"should be array"};if(vErrors === null){vErrors = [err211];}else {vErrors.push(err211);}errors++;}}if(data66.constraints !== undefined){let data77 = data66.constraints;if(data77 && typeof data77 == "object" && !Array.isArray(data77)){if(data77.notEmpty !== undefined){if(typeof data77.notEmpty !== "boolean"){const err212 = {keyword:"type",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i6+"/constraints/notEmpty",schemaPath:"#/definitions/properties/allOf/0/items/properties/constraints/properties/notEmpty/type",params:{type: "boolean"},message:"should be boolean"};if(vErrors === null){vErrors = [err212];}else {vErrors.push(err212);}errors++;}}if(data77.minLength !== undefined){if(!(typeof data77.minLength == "number")){const err213 = {keyword:"type",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i6+"/constraints/minLength",schemaPath:"#/definitions/properties/allOf/0/items/properties/constraints/properties/minLength/type",params:{type: "number"},message:"should be number"};if(vErrors === null){vErrors = [err213];}else {vErrors.push(err213);}errors++;}}if(data77.maxLength !== undefined){if(!(typeof data77.maxLength == "number")){const err214 = {keyword:"type",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i6+"/constraints/maxLength",schemaPath:"#/definitions/properties/allOf/0/items/properties/constraints/properties/maxLength/type",params:{type: "number"},message:"should be number"};if(vErrors === null){vErrors = [err214];}else {vErrors.push(err214);}errors++;}}if(data77.pattern !== undefined){let data81 = data77.pattern;const _errs233 = errors;let valid90 = false;let passing3 = null;const _errs234 = errors;if(data81 && typeof data81 == "object" && !Array.isArray(data81)){if(data81.value !== undefined){if(typeof data81.value !== "string"){const err215 = {keyword:"type",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i6+"/constraints/pattern/value",schemaPath:"#/definitions/properties/allOf/0/items/properties/constraints/properties/pattern/oneOf/0/properties/value/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err215];}else {vErrors.push(err215);}errors++;}}if(data81.message !== undefined){if(typeof data81.message !== "string"){const err216 = {keyword:"type",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i6+"/constraints/pattern/message",schemaPath:"#/definitions/properties/allOf/0/items/properties/constraints/properties/pattern/oneOf/0/properties/message/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err216];}else {vErrors.push(err216);}errors++;}}}else {const err217 = {keyword:"type",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i6+"/constraints/pattern",schemaPath:"#/definitions/properties/allOf/0/items/properties/constraints/properties/pattern/oneOf/0/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err217];}else {vErrors.push(err217);}errors++;}var _valid19 = _errs234 === errors;if(_valid19){valid90 = true;passing3 = 0;}const _errs240 = errors;if(typeof data81 !== "string"){const err218 = {keyword:"type",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i6+"/constraints/pattern",schemaPath:"#/definitions/properties/allOf/0/items/properties/constraints/properties/pattern/oneOf/1/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err218];}else {vErrors.push(err218);}errors++;}var _valid19 = _errs240 === errors;if(_valid19 && valid90){valid90 = false;passing3 = [passing3, 1];}else {if(_valid19){valid90 = true;passing3 = 1;}}if(!valid90){const err219 = {keyword:"oneOf",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i6+"/constraints/pattern",schemaPath:"#/definitions/properties/allOf/0/items/properties/constraints/properties/pattern/oneOf",params:{passingSchemas: passing3},message:"should match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err219];}else {vErrors.push(err219);}errors++;}else {errors = _errs233;if(vErrors !== null){if(_errs233){vErrors.length = _errs233;}else {vErrors = null;}}}}}else {const err220 = {keyword:"type",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i6+"/constraints",schemaPath:"#/definitions/properties/allOf/0/items/properties/constraints/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err220];}else {vErrors.push(err220);}errors++;}}if(data66.group !== undefined){if(typeof data66.group !== "string"){const err221 = {keyword:"type",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i6+"/group",schemaPath:"#/definitions/properties/allOf/0/items/properties/group/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err221];}else {vErrors.push(err221);}errors++;}}}else {const err222 = {keyword:"type",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i6,schemaPath:"#/definitions/properties/allOf/0/items/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err222];}else {vErrors.push(err222);}errors++;}}}else {const err223 = {keyword:"type",dataPath:dataPath+"/scopes/" + i5+"/properties",schemaPath:"#/definitions/properties/allOf/0/type",params:{type: "array"},message:"should be array"};if(vErrors === null){vErrors = [err223];}else {vErrors.push(err223);}errors++;}if(Array.isArray(data65)){const len8 = data65.length;for(let i8=0; i8<len8; i8++){let data85 = data65[i8];const _errs250 = errors;let valid96 = true;const _errs251 = errors;if(data85 && typeof data85 == "object" && !Array.isArray(data85)){if((data85.binding === undefined) && ("binding")){const err224 = {};if(vErrors === null){vErrors = [err224];}else {vErrors.push(err224);}errors++;}else {if(data85.binding !== undefined){let data86 = data85.binding;if(data86 && typeof data86 == "object" && !Array.isArray(data86)){if((data86.type === undefined) && ("type")){const err225 = {};if(vErrors === null){vErrors = [err225];}else {vErrors.push(err225);}errors++;}else {if(data86.type !== undefined){if(!equal(data86.type, "property")){const err226 = {};if(vErrors === null){vErrors = [err226];}else {vErrors.push(err226);}errors++;}}}}}}}var _valid20 = _errs251 === errors;errors = _errs250;if(vErrors !== null){if(_errs250){vErrors.length = _errs250;}else {vErrors = null;}}if(_valid20){const _errs254 = errors;if(data85 && typeof data85 == "object" && !Array.isArray(data85)){if(data85.type !== undefined){let data88 = data85.type;if(!(((((data88 === "String") || (data88 === "Text")) || (data88 === "Hidden")) || (data88 === "Dropdown")) || (data88 === "Boolean"))){const err227 = {keyword:"enum",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/type",schemaPath:"#/definitions/properties/allOf/1/items/allOf/0/then/properties/type/enum",params:{allowedValues: schema20.items.allOf[0].then.properties.type.enum},message:"should be equal to one of the allowed values"};if(vErrors === null){vErrors = [err227];}else {vErrors.push(err227);}errors++;}if(errors > 0){const emErrs36 = [];for(const err228 of vErrors){if(((((err228.keyword !== "errorMessage") && (!err228.emUsed)) && ((err228.dataPath === dataPath+"/scopes/" + i5+"/properties/" + i8+"/type") || ((err228.dataPath.indexOf(dataPath+"/scopes/" + i5+"/properties/" + i8+"/type") === 0) && (err228.dataPath[dataPath+"/scopes/" + i5+"/properties/" + i8+"/type".length] === "/")))) && (err228.schemaPath.indexOf("#/definitions/properties/allOf/1/items/allOf/0/then/properties/type") === 0)) && (err228.schemaPath["#/definitions/properties/allOf/1/items/allOf/0/then/properties/type".length] === "/")){emErrs36.push(err228);err228.emUsed = true;}}if(emErrs36.length){const err229 = {keyword:"errorMessage",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/type",schemaPath:"#/definitions/properties/allOf/1/items/allOf/0/then/properties/type/errorMessage",params:{errors: emErrs36},message:"invalid property type " + JSON.stringify(data88) + " for binding type \"property\"; must be any of { String, Text, Hidden, Dropdown, Boolean }"};if(vErrors === null){vErrors = [err229];}else {vErrors.push(err229);}errors++;}const emErrs37 = [];for(const err230 of vErrors){if(!err230.emUsed){emErrs37.push(err230);}}vErrors = emErrs37;errors = emErrs37.length;}}}var _valid20 = _errs254 === errors;valid96 = _valid20;}if(!valid96){const err231 = {keyword:"if",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8,schemaPath:"#/definitions/properties/allOf/1/items/allOf/0/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err231];}else {vErrors.push(err231);}errors++;}const _errs257 = errors;let valid100 = true;const _errs258 = errors;if(data85 && typeof data85 == "object" && !Array.isArray(data85)){if((data85.binding === undefined) && ("binding")){const err232 = {};if(vErrors === null){vErrors = [err232];}else {vErrors.push(err232);}errors++;}else {if(data85.binding !== undefined){let data89 = data85.binding;if(data89 && typeof data89 == "object" && !Array.isArray(data89)){if((data89.type === undefined) && ("type")){const err233 = {};if(vErrors === null){vErrors = [err233];}else {vErrors.push(err233);}errors++;}else {if(data89.type !== undefined){if(!equal(data89.type, "camunda:executionListener")){const err234 = {};if(vErrors === null){vErrors = [err234];}else {vErrors.push(err234);}errors++;}}}}}}}var _valid21 = _errs258 === errors;errors = _errs257;if(vErrors !== null){if(_errs257){vErrors.length = _errs257;}else {vErrors = null;}}if(_valid21){const _errs261 = errors;if(data85 && typeof data85 == "object" && !Array.isArray(data85)){if(data85.type !== undefined){if(!(data85.type === "Hidden")){const err235 = {keyword:"enum",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/type",schemaPath:"#/definitions/properties/allOf/1/items/allOf/1/then/properties/type/enum",params:{allowedValues: schema20.items.allOf[1].then.properties.type.enum},message:"should be equal to one of the allowed values"};if(vErrors === null){vErrors = [err235];}else {vErrors.push(err235);}errors++;}if(errors > 0){const emErrs38 = [];for(const err236 of vErrors){if(((((err236.keyword !== "errorMessage") && (!err236.emUsed)) && ((err236.dataPath === dataPath+"/scopes/" + i5+"/properties/" + i8+"/type") || ((err236.dataPath.indexOf(dataPath+"/scopes/" + i5+"/properties/" + i8+"/type") === 0) && (err236.dataPath[dataPath+"/scopes/" + i5+"/properties/" + i8+"/type".length] === "/")))) && (err236.schemaPath.indexOf("#/definitions/properties/allOf/1/items/allOf/1/then/properties/type") === 0)) && (err236.schemaPath["#/definitions/properties/allOf/1/items/allOf/1/then/properties/type".length] === "/")){emErrs38.push(err236);err236.emUsed = true;}}if(emErrs38.length){const err237 = {keyword:"errorMessage",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/type",schemaPath:"#/definitions/properties/allOf/1/items/allOf/1/then/properties/type/errorMessage",params:{errors: emErrs38},message:"invalid property type " + JSON.stringify(data85 && data85.type) + " for binding type \"camunda:executionListener\"; must be \"Hidden\""};if(vErrors === null){vErrors = [err237];}else {vErrors.push(err237);}errors++;}const emErrs39 = [];for(const err238 of vErrors){if(!err238.emUsed){emErrs39.push(err238);}}vErrors = emErrs39;errors = emErrs39.length;}}}var _valid21 = _errs261 === errors;valid100 = _valid21;}if(!valid100){const err239 = {keyword:"if",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8,schemaPath:"#/definitions/properties/allOf/1/items/allOf/1/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err239];}else {vErrors.push(err239);}errors++;}const _errs264 = errors;let valid104 = true;const _errs265 = errors;if(data85 && typeof data85 == "object" && !Array.isArray(data85)){if((data85.binding === undefined) && ("binding")){const err240 = {};if(vErrors === null){vErrors = [err240];}else {vErrors.push(err240);}errors++;}else {if(data85.binding !== undefined){let data92 = data85.binding;if(data92 && typeof data92 == "object" && !Array.isArray(data92)){if((data92.type === undefined) && ("type")){const err241 = {};if(vErrors === null){vErrors = [err241];}else {vErrors.push(err241);}errors++;}else {if(data92.type !== undefined){let data93 = data92.type;if(!((((((data93 === "camunda:property") || (data93 === "camunda:outputParameter")) || (data93 === "camunda:in")) || (data93 === "camunda:in:businessKey")) || (data93 === "camunda:out")) || (data93 === "camunda:errorEventDefinition"))){const err242 = {};if(vErrors === null){vErrors = [err242];}else {vErrors.push(err242);}errors++;}}}}}}}var _valid22 = _errs265 === errors;errors = _errs264;if(vErrors !== null){if(_errs264){vErrors.length = _errs264;}else {vErrors = null;}}if(_valid22){const _errs268 = errors;if(data85 && typeof data85 == "object" && !Array.isArray(data85)){if(data85.type !== undefined){let data94 = data85.type;if(!(((data94 === "String") || (data94 === "Hidden")) || (data94 === "Dropdown"))){const err243 = {keyword:"enum",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/type",schemaPath:"#/definitions/properties/allOf/1/items/allOf/2/then/properties/type/enum",params:{allowedValues: schema20.items.allOf[2].then.properties.type.enum},message:"should be equal to one of the allowed values"};if(vErrors === null){vErrors = [err243];}else {vErrors.push(err243);}errors++;}if(errors > 0){const emErrs40 = [];for(const err244 of vErrors){if(((((err244.keyword !== "errorMessage") && (!err244.emUsed)) && ((err244.dataPath === dataPath+"/scopes/" + i5+"/properties/" + i8+"/type") || ((err244.dataPath.indexOf(dataPath+"/scopes/" + i5+"/properties/" + i8+"/type") === 0) && (err244.dataPath[dataPath+"/scopes/" + i5+"/properties/" + i8+"/type".length] === "/")))) && (err244.schemaPath.indexOf("#/definitions/properties/allOf/1/items/allOf/2/then/properties/type") === 0)) && (err244.schemaPath["#/definitions/properties/allOf/1/items/allOf/2/then/properties/type".length] === "/")){emErrs40.push(err244);err244.emUsed = true;}}if(emErrs40.length){const err245 = {keyword:"errorMessage",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/type",schemaPath:"#/definitions/properties/allOf/1/items/allOf/2/then/properties/type/errorMessage",params:{errors: emErrs40},message:"invalid property type " + JSON.stringify(data94) + " for binding type " + JSON.stringify(data85 && data85.binding && data85.binding.type) + "; must be any of { String, Hidden, Dropdown }"};if(vErrors === null){vErrors = [err245];}else {vErrors.push(err245);}errors++;}const emErrs41 = [];for(const err246 of vErrors){if(!err246.emUsed){emErrs41.push(err246);}}vErrors = emErrs41;errors = emErrs41.length;}}}var _valid22 = _errs268 === errors;valid104 = _valid22;}if(!valid104){const err247 = {keyword:"if",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8,schemaPath:"#/definitions/properties/allOf/1/items/allOf/2/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err247];}else {vErrors.push(err247);}errors++;}const _errs271 = errors;let valid108 = true;const _errs272 = errors;if(data85 && typeof data85 == "object" && !Array.isArray(data85)){if((data85.binding === undefined) && ("binding")){const err248 = {};if(vErrors === null){vErrors = [err248];}else {vErrors.push(err248);}errors++;}else {if(data85.binding !== undefined){let data95 = data85.binding;if(data95 && typeof data95 == "object" && !Array.isArray(data95)){if((data95.type === undefined) && ("type")){const err249 = {};if(vErrors === null){vErrors = [err249];}else {vErrors.push(err249);}errors++;}else {if(data95.type !== undefined){let data96 = data95.type;if(!((data96 === "camunda:inputParameter") || (data96 === "camunda:field"))){const err250 = {};if(vErrors === null){vErrors = [err250];}else {vErrors.push(err250);}errors++;}}}}}}}var _valid23 = _errs272 === errors;errors = _errs271;if(vErrors !== null){if(_errs271){vErrors.length = _errs271;}else {vErrors = null;}}if(_valid23){const _errs275 = errors;if(data85 && typeof data85 == "object" && !Array.isArray(data85)){if(data85.type !== undefined){let data97 = data85.type;if(!((((data97 === "String") || (data97 === "Text")) || (data97 === "Hidden")) || (data97 === "Dropdown"))){const err251 = {keyword:"enum",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/type",schemaPath:"#/definitions/properties/allOf/1/items/allOf/3/then/properties/type/enum",params:{allowedValues: schema20.items.allOf[3].then.properties.type.enum},message:"should be equal to one of the allowed values"};if(vErrors === null){vErrors = [err251];}else {vErrors.push(err251);}errors++;}if(errors > 0){const emErrs42 = [];for(const err252 of vErrors){if(((((err252.keyword !== "errorMessage") && (!err252.emUsed)) && ((err252.dataPath === dataPath+"/scopes/" + i5+"/properties/" + i8+"/type") || ((err252.dataPath.indexOf(dataPath+"/scopes/" + i5+"/properties/" + i8+"/type") === 0) && (err252.dataPath[dataPath+"/scopes/" + i5+"/properties/" + i8+"/type".length] === "/")))) && (err252.schemaPath.indexOf("#/definitions/properties/allOf/1/items/allOf/3/then/properties/type") === 0)) && (err252.schemaPath["#/definitions/properties/allOf/1/items/allOf/3/then/properties/type".length] === "/")){emErrs42.push(err252);err252.emUsed = true;}}if(emErrs42.length){const err253 = {keyword:"errorMessage",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/type",schemaPath:"#/definitions/properties/allOf/1/items/allOf/3/then/properties/type/errorMessage",params:{errors: emErrs42},message:"invalid property type " + JSON.stringify(data97) + " for binding type " + JSON.stringify(data85 && data85.binding && data85.binding.type) + "; must be any of { String, Text, Hidden, Dropdown }"};if(vErrors === null){vErrors = [err253];}else {vErrors.push(err253);}errors++;}const emErrs43 = [];for(const err254 of vErrors){if(!err254.emUsed){emErrs43.push(err254);}}vErrors = emErrs43;errors = emErrs43.length;}}}var _valid23 = _errs275 === errors;valid108 = _valid23;}if(!valid108){const err255 = {keyword:"if",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8,schemaPath:"#/definitions/properties/allOf/1/items/allOf/3/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err255];}else {vErrors.push(err255);}errors++;}if(data85 && typeof data85 == "object" && !Array.isArray(data85)){if(data85.binding === undefined){const err256 = {keyword:"required",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8,schemaPath:"#/definitions/properties/allOf/1/items/required",params:{missingProperty: "binding"},message:"should have required property '"+"binding"+"'"};if(vErrors === null){vErrors = [err256];}else {vErrors.push(err256);}errors++;}if(data85.binding !== undefined){let data98 = data85.binding;const _errs280 = errors;let valid114 = true;const _errs281 = errors;if(data98 && typeof data98 == "object" && !Array.isArray(data98)){if((data98.type === undefined) && ("type")){const err257 = {};if(vErrors === null){vErrors = [err257];}else {vErrors.push(err257);}errors++;}else {if(data98.type !== undefined){let data99 = data98.type;if(!((((data99 === "property") || (data99 === "camunda:property")) || (data99 === "camunda:inputParameter")) || (data99 === "camunda:field"))){const err258 = {};if(vErrors === null){vErrors = [err258];}else {vErrors.push(err258);}errors++;}}}}var _valid24 = _errs281 === errors;errors = _errs280;if(vErrors !== null){if(_errs280){vErrors.length = _errs280;}else {vErrors = null;}}if(_valid24){const _errs283 = errors;if(data98 && typeof data98 == "object" && !Array.isArray(data98)){if(data98.name === undefined){const err259 = {keyword:"required",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/0/then/required",params:{missingProperty: "name"},message:"should have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err259];}else {vErrors.push(err259);}errors++;}}if(errors > 0){const emErrs44 = [];for(const err260 of vErrors){if(((((err260.keyword !== "errorMessage") && (!err260.emUsed)) && ((err260.dataPath === dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding") || ((err260.dataPath.indexOf(dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding") === 0) && (err260.dataPath[dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding".length] === "/")))) && (err260.schemaPath.indexOf("#/definitions/properties/allOf/1/items/properties/binding/allOf/0/then") === 0)) && (err260.schemaPath["#/definitions/properties/allOf/1/items/properties/binding/allOf/0/then".length] === "/")){emErrs44.push(err260);err260.emUsed = true;}}if(emErrs44.length){const err261 = {keyword:"errorMessage",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/0/then/errorMessage",params:{errors: emErrs44},message:"property.binding " + JSON.stringify(data98 && data98.type) + " requires name"};if(vErrors === null){vErrors = [err261];}else {vErrors.push(err261);}errors++;}const emErrs45 = [];for(const err262 of vErrors){if(!err262.emUsed){emErrs45.push(err262);}}vErrors = emErrs45;errors = emErrs45.length;}var _valid24 = _errs283 === errors;valid114 = _valid24;}if(!valid114){const err263 = {keyword:"if",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/0/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err263];}else {vErrors.push(err263);}errors++;}const _errs285 = errors;let valid116 = true;const _errs286 = errors;if(data98 && typeof data98 == "object" && !Array.isArray(data98)){if((data98.type === undefined) && ("type")){const err264 = {};if(vErrors === null){vErrors = [err264];}else {vErrors.push(err264);}errors++;}else {if(data98.type !== undefined){if(!equal(data98.type, "camunda:outputParameter")){const err265 = {};if(vErrors === null){vErrors = [err265];}else {vErrors.push(err265);}errors++;}}}}var _valid25 = _errs286 === errors;errors = _errs285;if(vErrors !== null){if(_errs285){vErrors.length = _errs285;}else {vErrors = null;}}if(_valid25){const _errs288 = errors;if(data98 && typeof data98 == "object" && !Array.isArray(data98)){if(data98.source === undefined){const err266 = {keyword:"required",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/1/then/required",params:{missingProperty: "source"},message:"should have required property '"+"source"+"'"};if(vErrors === null){vErrors = [err266];}else {vErrors.push(err266);}errors++;}}if(errors > 0){const emErrs46 = [];for(const err267 of vErrors){if(((((err267.keyword !== "errorMessage") && (!err267.emUsed)) && ((err267.dataPath === dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding") || ((err267.dataPath.indexOf(dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding") === 0) && (err267.dataPath[dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding".length] === "/")))) && (err267.schemaPath.indexOf("#/definitions/properties/allOf/1/items/properties/binding/allOf/1/then") === 0)) && (err267.schemaPath["#/definitions/properties/allOf/1/items/properties/binding/allOf/1/then".length] === "/")){emErrs46.push(err267);err267.emUsed = true;}}if(emErrs46.length){const err268 = {keyword:"errorMessage",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/1/then/errorMessage",params:{errors: emErrs46},message:"property.binding " + JSON.stringify(data98 && data98.type) + " requires source"};if(vErrors === null){vErrors = [err268];}else {vErrors.push(err268);}errors++;}const emErrs47 = [];for(const err269 of vErrors){if(!err269.emUsed){emErrs47.push(err269);}}vErrors = emErrs47;errors = emErrs47.length;}var _valid25 = _errs288 === errors;valid116 = _valid25;}if(!valid116){const err270 = {keyword:"if",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/1/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err270];}else {vErrors.push(err270);}errors++;}const _errs290 = errors;let valid118 = true;const _errs291 = errors;if(data98 && typeof data98 == "object" && !Array.isArray(data98)){if((data98.type === undefined) && ("type")){const err271 = {};if(vErrors === null){vErrors = [err271];}else {vErrors.push(err271);}errors++;}else {if(data98.type !== undefined){if(!equal(data98.type, "camunda:in")){const err272 = {};if(vErrors === null){vErrors = [err272];}else {vErrors.push(err272);}errors++;}}}}var _valid26 = _errs291 === errors;errors = _errs290;if(vErrors !== null){if(_errs290){vErrors.length = _errs290;}else {vErrors = null;}}if(_valid26){const _errs293 = errors;const _errs294 = errors;let valid120 = false;const _errs295 = errors;if(data98 && typeof data98 == "object" && !Array.isArray(data98)){if(data98.variables === undefined){const err273 = {keyword:"required",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/2/then/anyOf/0/required",params:{missingProperty: "variables"},message:"should have required property '"+"variables"+"'"};if(vErrors === null){vErrors = [err273];}else {vErrors.push(err273);}errors++;}}var _valid27 = _errs295 === errors;valid120 = valid120 || _valid27;if(!valid120){const _errs296 = errors;if(data98 && typeof data98 == "object" && !Array.isArray(data98)){if(data98.target === undefined){const err274 = {keyword:"required",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/2/then/anyOf/1/required",params:{missingProperty: "target"},message:"should have required property '"+"target"+"'"};if(vErrors === null){vErrors = [err274];}else {vErrors.push(err274);}errors++;}}var _valid27 = _errs296 === errors;valid120 = valid120 || _valid27;}if(!valid120){const err275 = {keyword:"anyOf",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/2/then/anyOf",params:{},message:"should match some schema in anyOf"};if(vErrors === null){vErrors = [err275];}else {vErrors.push(err275);}errors++;}else {errors = _errs294;if(vErrors !== null){if(_errs294){vErrors.length = _errs294;}else {vErrors = null;}}}if(errors > 0){const emErrs48 = [];for(const err276 of vErrors){if(((((err276.keyword !== "errorMessage") && (!err276.emUsed)) && ((err276.dataPath === dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding") || ((err276.dataPath.indexOf(dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding") === 0) && (err276.dataPath[dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding".length] === "/")))) && (err276.schemaPath.indexOf("#/definitions/properties/allOf/1/items/properties/binding/allOf/2/then") === 0)) && (err276.schemaPath["#/definitions/properties/allOf/1/items/properties/binding/allOf/2/then".length] === "/")){emErrs48.push(err276);err276.emUsed = true;}}if(emErrs48.length){const err277 = {keyword:"errorMessage",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/2/then/errorMessage",params:{errors: emErrs48},message:"property.binding " + JSON.stringify(data98 && data98.type) + " requires variables, target, or both"};if(vErrors === null){vErrors = [err277];}else {vErrors.push(err277);}errors++;}const emErrs49 = [];for(const err278 of vErrors){if(!err278.emUsed){emErrs49.push(err278);}}vErrors = emErrs49;errors = emErrs49.length;}var _valid26 = _errs293 === errors;valid118 = _valid26;}if(!valid118){const err279 = {keyword:"if",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/2/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err279];}else {vErrors.push(err279);}errors++;}const _errs298 = errors;let valid121 = true;const _errs299 = errors;if(data98 && typeof data98 == "object" && !Array.isArray(data98)){if((data98.type === undefined) && ("type")){const err280 = {};if(vErrors === null){vErrors = [err280];}else {vErrors.push(err280);}errors++;}else {if(data98.type !== undefined){if(!equal(data98.type, "camunda:out")){const err281 = {};if(vErrors === null){vErrors = [err281];}else {vErrors.push(err281);}errors++;}}}}var _valid28 = _errs299 === errors;errors = _errs298;if(vErrors !== null){if(_errs298){vErrors.length = _errs298;}else {vErrors = null;}}if(_valid28){const _errs301 = errors;const _errs302 = errors;let valid123 = false;let passing4 = null;const _errs303 = errors;const _errs304 = errors;const _errs305 = errors;const _errs306 = errors;let valid125 = false;const _errs307 = errors;if(data98 && typeof data98 == "object" && !Array.isArray(data98)){if((data98.source === undefined) && ("source")){const err282 = {};if(vErrors === null){vErrors = [err282];}else {vErrors.push(err282);}errors++;}}var _valid30 = _errs307 === errors;valid125 = valid125 || _valid30;if(!valid125){const _errs308 = errors;if(data98 && typeof data98 == "object" && !Array.isArray(data98)){if((data98.sourceExpression === undefined) && ("sourceExpression")){const err283 = {};if(vErrors === null){vErrors = [err283];}else {vErrors.push(err283);}errors++;}}var _valid30 = _errs308 === errors;valid125 = valid125 || _valid30;}if(!valid125){const err284 = {};if(vErrors === null){vErrors = [err284];}else {vErrors.push(err284);}errors++;}else {errors = _errs306;if(vErrors !== null){if(_errs306){vErrors.length = _errs306;}else {vErrors = null;}}}var valid124 = _errs305 === errors;if(!valid124){errors = _errs304;if(vErrors !== null){if(_errs304){vErrors.length = _errs304;}else {vErrors = null;}}}else {const err285 = {keyword:"not",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/3/then/oneOf/0/not",params:{},message:"should NOT be valid"};if(vErrors === null){vErrors = [err285];}else {vErrors.push(err285);}errors++;}if(data98 && typeof data98 == "object" && !Array.isArray(data98)){if(data98.variables === undefined){const err286 = {keyword:"required",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/3/then/oneOf/0/required",params:{missingProperty: "variables"},message:"should have required property '"+"variables"+"'"};if(vErrors === null){vErrors = [err286];}else {vErrors.push(err286);}errors++;}}var _valid29 = _errs303 === errors;if(_valid29){valid123 = true;passing4 = 0;}const _errs309 = errors;const _errs310 = errors;const _errs311 = errors;const _errs312 = errors;let valid127 = false;const _errs313 = errors;if(data98 && typeof data98 == "object" && !Array.isArray(data98)){if((data98.variables === undefined) && ("variables")){const err287 = {};if(vErrors === null){vErrors = [err287];}else {vErrors.push(err287);}errors++;}}var _valid31 = _errs313 === errors;valid127 = valid127 || _valid31;if(!valid127){const _errs314 = errors;if(data98 && typeof data98 == "object" && !Array.isArray(data98)){if((data98.sourceExpression === undefined) && ("sourceExpression")){const err288 = {};if(vErrors === null){vErrors = [err288];}else {vErrors.push(err288);}errors++;}}var _valid31 = _errs314 === errors;valid127 = valid127 || _valid31;}if(!valid127){const err289 = {};if(vErrors === null){vErrors = [err289];}else {vErrors.push(err289);}errors++;}else {errors = _errs312;if(vErrors !== null){if(_errs312){vErrors.length = _errs312;}else {vErrors = null;}}}var valid126 = _errs311 === errors;if(!valid126){errors = _errs310;if(vErrors !== null){if(_errs310){vErrors.length = _errs310;}else {vErrors = null;}}}else {const err290 = {keyword:"not",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/3/then/oneOf/1/not",params:{},message:"should NOT be valid"};if(vErrors === null){vErrors = [err290];}else {vErrors.push(err290);}errors++;}if(data98 && typeof data98 == "object" && !Array.isArray(data98)){if(data98.source === undefined){const err291 = {keyword:"required",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/3/then/oneOf/1/required",params:{missingProperty: "source"},message:"should have required property '"+"source"+"'"};if(vErrors === null){vErrors = [err291];}else {vErrors.push(err291);}errors++;}}var _valid29 = _errs309 === errors;if(_valid29 && valid123){valid123 = false;passing4 = [passing4, 1];}else {if(_valid29){valid123 = true;passing4 = 1;}const _errs315 = errors;const _errs316 = errors;const _errs317 = errors;const _errs318 = errors;let valid129 = false;const _errs319 = errors;if(data98 && typeof data98 == "object" && !Array.isArray(data98)){if((data98.variables === undefined) && ("variables")){const err292 = {};if(vErrors === null){vErrors = [err292];}else {vErrors.push(err292);}errors++;}}var _valid32 = _errs319 === errors;valid129 = valid129 || _valid32;if(!valid129){const _errs320 = errors;if(data98 && typeof data98 == "object" && !Array.isArray(data98)){if((data98.source === undefined) && ("source")){const err293 = {};if(vErrors === null){vErrors = [err293];}else {vErrors.push(err293);}errors++;}}var _valid32 = _errs320 === errors;valid129 = valid129 || _valid32;}if(!valid129){const err294 = {};if(vErrors === null){vErrors = [err294];}else {vErrors.push(err294);}errors++;}else {errors = _errs318;if(vErrors !== null){if(_errs318){vErrors.length = _errs318;}else {vErrors = null;}}}var valid128 = _errs317 === errors;if(!valid128){errors = _errs316;if(vErrors !== null){if(_errs316){vErrors.length = _errs316;}else {vErrors = null;}}}else {const err295 = {keyword:"not",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/3/then/oneOf/2/not",params:{},message:"should NOT be valid"};if(vErrors === null){vErrors = [err295];}else {vErrors.push(err295);}errors++;}if(data98 && typeof data98 == "object" && !Array.isArray(data98)){if(data98.sourceExpression === undefined){const err296 = {keyword:"required",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/3/then/oneOf/2/required",params:{missingProperty: "sourceExpression"},message:"should have required property '"+"sourceExpression"+"'"};if(vErrors === null){vErrors = [err296];}else {vErrors.push(err296);}errors++;}}var _valid29 = _errs315 === errors;if(_valid29 && valid123){valid123 = false;passing4 = [passing4, 2];}else {if(_valid29){valid123 = true;passing4 = 2;}const _errs321 = errors;const _errs322 = errors;const _errs323 = errors;if(data98 && typeof data98 == "object" && !Array.isArray(data98)){if((data98.source === undefined) && ("source")){const err297 = {};if(vErrors === null){vErrors = [err297];}else {vErrors.push(err297);}errors++;}}var valid130 = _errs323 === errors;if(!valid130){errors = _errs322;if(vErrors !== null){if(_errs322){vErrors.length = _errs322;}else {vErrors = null;}}}else {const err298 = {keyword:"not",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/3/then/oneOf/3/not",params:{},message:"should NOT be valid"};if(vErrors === null){vErrors = [err298];}else {vErrors.push(err298);}errors++;}if(data98 && typeof data98 == "object" && !Array.isArray(data98)){if(data98.variables === undefined){const err299 = {keyword:"required",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/3/then/oneOf/3/required",params:{missingProperty: "variables"},message:"should have required property '"+"variables"+"'"};if(vErrors === null){vErrors = [err299];}else {vErrors.push(err299);}errors++;}if(data98.sourceExpression === undefined){const err300 = {keyword:"required",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/3/then/oneOf/3/required",params:{missingProperty: "sourceExpression"},message:"should have required property '"+"sourceExpression"+"'"};if(vErrors === null){vErrors = [err300];}else {vErrors.push(err300);}errors++;}}var _valid29 = _errs321 === errors;if(_valid29 && valid123){valid123 = false;passing4 = [passing4, 3];}else {if(_valid29){valid123 = true;passing4 = 3;}const _errs324 = errors;const _errs325 = errors;const _errs326 = errors;if(data98 && typeof data98 == "object" && !Array.isArray(data98)){if((data98.sourceExpression === undefined) && ("sourceExpression")){const err301 = {};if(vErrors === null){vErrors = [err301];}else {vErrors.push(err301);}errors++;}}var valid131 = _errs326 === errors;if(!valid131){errors = _errs325;if(vErrors !== null){if(_errs325){vErrors.length = _errs325;}else {vErrors = null;}}}else {const err302 = {keyword:"not",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/3/then/oneOf/4/not",params:{},message:"should NOT be valid"};if(vErrors === null){vErrors = [err302];}else {vErrors.push(err302);}errors++;}if(data98 && typeof data98 == "object" && !Array.isArray(data98)){if(data98.variables === undefined){const err303 = {keyword:"required",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/3/then/oneOf/4/required",params:{missingProperty: "variables"},message:"should have required property '"+"variables"+"'"};if(vErrors === null){vErrors = [err303];}else {vErrors.push(err303);}errors++;}if(data98.source === undefined){const err304 = {keyword:"required",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/3/then/oneOf/4/required",params:{missingProperty: "source"},message:"should have required property '"+"source"+"'"};if(vErrors === null){vErrors = [err304];}else {vErrors.push(err304);}errors++;}}var _valid29 = _errs324 === errors;if(_valid29 && valid123){valid123 = false;passing4 = [passing4, 4];}else {if(_valid29){valid123 = true;passing4 = 4;}}}}}if(!valid123){const err305 = {keyword:"oneOf",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/3/then/oneOf",params:{passingSchemas: passing4},message:"should match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err305];}else {vErrors.push(err305);}errors++;}else {errors = _errs302;if(vErrors !== null){if(_errs302){vErrors.length = _errs302;}else {vErrors = null;}}}if(errors > 0){const emErrs50 = [];for(const err306 of vErrors){if(((((err306.keyword !== "errorMessage") && (!err306.emUsed)) && ((err306.dataPath === dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding") || ((err306.dataPath.indexOf(dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding") === 0) && (err306.dataPath[dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding".length] === "/")))) && (err306.schemaPath.indexOf("#/definitions/properties/allOf/1/items/properties/binding/allOf/3/then") === 0)) && (err306.schemaPath["#/definitions/properties/allOf/1/items/properties/binding/allOf/3/then".length] === "/")){emErrs50.push(err306);err306.emUsed = true;}}if(emErrs50.length){const err307 = {keyword:"errorMessage",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/3/then/errorMessage",params:{errors: emErrs50},message:"property.binding " + JSON.stringify(data98 && data98.type) + " requires one of the following: variables, sourceExpression, source, (sourceExpression and variables), or (source and variables)"};if(vErrors === null){vErrors = [err307];}else {vErrors.push(err307);}errors++;}const emErrs51 = [];for(const err308 of vErrors){if(!err308.emUsed){emErrs51.push(err308);}}vErrors = emErrs51;errors = emErrs51.length;}var _valid28 = _errs301 === errors;valid121 = _valid28;}if(!valid121){const err309 = {keyword:"if",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/3/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err309];}else {vErrors.push(err309);}errors++;}const _errs328 = errors;let valid132 = true;const _errs329 = errors;if(data98 && typeof data98 == "object" && !Array.isArray(data98)){if((data98.type === undefined) && ("type")){const err310 = {};if(vErrors === null){vErrors = [err310];}else {vErrors.push(err310);}errors++;}else {if(data98.type !== undefined){if(!equal(data98.type, "camunda:errorEventDefinition")){const err311 = {};if(vErrors === null){vErrors = [err311];}else {vErrors.push(err311);}errors++;}}}}var _valid33 = _errs329 === errors;errors = _errs328;if(vErrors !== null){if(_errs328){vErrors.length = _errs328;}else {vErrors = null;}}if(_valid33){const _errs331 = errors;const _errs332 = errors;let valid134 = false;let passing5 = null;const _errs333 = errors;if(data98 && typeof data98 == "object" && !Array.isArray(data98)){if(data98.errorRef === undefined){const err312 = {keyword:"required",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/4/then/oneOf/0/required",params:{missingProperty: "errorRef"},message:"should have required property '"+"errorRef"+"'"};if(vErrors === null){vErrors = [err312];}else {vErrors.push(err312);}errors++;}}var _valid34 = _errs333 === errors;if(_valid34){valid134 = true;passing5 = 0;}if(!valid134){const err313 = {keyword:"oneOf",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/4/then/oneOf",params:{passingSchemas: passing5},message:"should match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err313];}else {vErrors.push(err313);}errors++;}else {errors = _errs332;if(vErrors !== null){if(_errs332){vErrors.length = _errs332;}else {vErrors = null;}}}if(errors > 0){const emErrs52 = [];for(const err314 of vErrors){if(((((err314.keyword !== "errorMessage") && (!err314.emUsed)) && ((err314.dataPath === dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding") || ((err314.dataPath.indexOf(dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding") === 0) && (err314.dataPath[dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding".length] === "/")))) && (err314.schemaPath.indexOf("#/definitions/properties/allOf/1/items/properties/binding/allOf/4/then") === 0)) && (err314.schemaPath["#/definitions/properties/allOf/1/items/properties/binding/allOf/4/then".length] === "/")){emErrs52.push(err314);err314.emUsed = true;}}if(emErrs52.length){const err315 = {keyword:"errorMessage",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/4/then/errorMessage",params:{errors: emErrs52},message:"property.binding " + JSON.stringify(data98 && data98.type) + " requires errorRef"};if(vErrors === null){vErrors = [err315];}else {vErrors.push(err315);}errors++;}const emErrs53 = [];for(const err316 of vErrors){if(!err316.emUsed){emErrs53.push(err316);}}vErrors = emErrs53;errors = emErrs53.length;}var _valid33 = _errs331 === errors;valid132 = _valid33;}if(!valid132){const err317 = {keyword:"if",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/4/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err317];}else {vErrors.push(err317);}errors++;}if(data98 && typeof data98 == "object" && !Array.isArray(data98)){if(data98.type === undefined){const err318 = {keyword:"required",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/required",params:{missingProperty: "type"},message:"should have required property '"+"type"+"'"};if(vErrors === null){vErrors = [err318];}else {vErrors.push(err318);}errors++;}if(data98.type !== undefined){let data104 = data98.type;if(typeof data104 !== "string"){const err319 = {keyword:"type",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding/type",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/properties/type/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err319];}else {vErrors.push(err319);}errors++;}if(!((((((((((data104 === "property") || (data104 === "camunda:property")) || (data104 === "camunda:inputParameter")) || (data104 === "camunda:outputParameter")) || (data104 === "camunda:in")) || (data104 === "camunda:out")) || (data104 === "camunda:in:businessKey")) || (data104 === "camunda:executionListener")) || (data104 === "camunda:field")) || (data104 === "camunda:errorEventDefinition"))){const err320 = {keyword:"enum",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding/type",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/properties/type/enum",params:{allowedValues: schema20.items.properties.binding.properties.type.enum},message:"should be equal to one of the allowed values"};if(vErrors === null){vErrors = [err320];}else {vErrors.push(err320);}errors++;}if(errors > 0){const emErrs54 = [];for(const err321 of vErrors){if(((((err321.keyword !== "errorMessage") && (!err321.emUsed)) && ((err321.dataPath === dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding/type") || ((err321.dataPath.indexOf(dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding/type") === 0) && (err321.dataPath[dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding/type".length] === "/")))) && (err321.schemaPath.indexOf("#/definitions/properties/allOf/1/items/properties/binding/properties/type") === 0)) && (err321.schemaPath["#/definitions/properties/allOf/1/items/properties/binding/properties/type".length] === "/")){emErrs54.push(err321);err321.emUsed = true;}}if(emErrs54.length){const err322 = {keyword:"errorMessage",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding/type",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/properties/type/errorMessage",params:{errors: emErrs54},message:"invalid property.binding type " + JSON.stringify(data104) + "; must be any of { property, camunda:property, camunda:inputParameter, camunda:outputParameter, camunda:in, camunda:out, camunda:in:businessKey, camunda:executionListener, camunda:field, camunda:errorEventDefinition }"};if(vErrors === null){vErrors = [err322];}else {vErrors.push(err322);}errors++;}const emErrs55 = [];for(const err323 of vErrors){if(!err323.emUsed){emErrs55.push(err323);}}vErrors = emErrs55;errors = emErrs55.length;}}if(data98.name !== undefined){if(typeof data98.name !== "string"){const err324 = {keyword:"type",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding/name",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/properties/name/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err324];}else {vErrors.push(err324);}errors++;}}if(data98.event !== undefined){if(typeof data98.event !== "string"){const err325 = {keyword:"type",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding/event",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/properties/event/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err325];}else {vErrors.push(err325);}errors++;}}if(data98.scriptFormat !== undefined){if(typeof data98.scriptFormat !== "string"){const err326 = {keyword:"type",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding/scriptFormat",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/properties/scriptFormat/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err326];}else {vErrors.push(err326);}errors++;}}if(data98.source !== undefined){if(typeof data98.source !== "string"){const err327 = {keyword:"type",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding/source",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/properties/source/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err327];}else {vErrors.push(err327);}errors++;}}if(data98.target !== undefined){if(typeof data98.target !== "string"){const err328 = {keyword:"type",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding/target",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/properties/target/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err328];}else {vErrors.push(err328);}errors++;}}if(data98.expression !== undefined){if(typeof data98.expression !== "boolean"){const err329 = {keyword:"type",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding/expression",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/properties/expression/type",params:{type: "boolean"},message:"should be boolean"};if(vErrors === null){vErrors = [err329];}else {vErrors.push(err329);}errors++;}}if(data98.variables !== undefined){let data111 = data98.variables;if(typeof data111 !== "string"){const err330 = {keyword:"type",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding/variables",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/properties/variables/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err330];}else {vErrors.push(err330);}errors++;}if(!((data111 === "all") || (data111 === "local"))){const err331 = {keyword:"enum",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding/variables",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/properties/variables/enum",params:{allowedValues: schema20.items.properties.binding.properties.variables.enum},message:"should be equal to one of the allowed values"};if(vErrors === null){vErrors = [err331];}else {vErrors.push(err331);}errors++;}}if(data98.sourceExpression !== undefined){if(typeof data98.sourceExpression !== "string"){const err332 = {keyword:"type",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding/sourceExpression",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/properties/sourceExpression/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err332];}else {vErrors.push(err332);}errors++;}}}else {const err333 = {keyword:"type",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err333];}else {vErrors.push(err333);}errors++;}}}else {const err334 = {keyword:"type",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8,schemaPath:"#/definitions/properties/allOf/1/items/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err334];}else {vErrors.push(err334);}errors++;}if(errors > 0){const emErrors4 = {"required":{"binding":[]}};const templates4 = {required:{binding:function(){return "missing binding for property \"" + JSON.stringify(i8) + "\""}}};let emPropParams3;let emParamsErrors3;for(const err335 of vErrors){if((((((err335.keyword !== "errorMessage") && (!err335.emUsed)) && (err335.dataPath === dataPath+"/scopes/" + i5+"/properties/" + i8)) && (err335.keyword in emErrors4)) && (err335.schemaPath.indexOf("#/definitions/properties/allOf/1/items") === 0)) && (/^\/[^\/]*$/.test(err335.schemaPath.slice(38)))){emPropParams3 = obj0$1[err335.keyword];emParamsErrors3 = emErrors4[err335.keyword][err335.params[emPropParams3]];if(emParamsErrors3){emParamsErrors3.push(err335);err335.emUsed = true;}}}for(const key4 in emErrors4){for(const keyProp3 in emErrors4[key4]){emParamsErrors3 = emErrors4[key4][keyProp3];if(emParamsErrors3.length){const tmpl3 = templates4[key4] && templates4[key4][keyProp3];const err336 = {keyword:"errorMessage",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8,schemaPath:"#/definitions/properties/allOf/1/items/errorMessage",params:{errors: emParamsErrors3},message:tmpl3 ? tmpl3() : schema20.items.errorMessage[key4][keyProp3]};if(vErrors === null){vErrors = [err336];}else {vErrors.push(err336);}errors++;}}}const emErrs56 = [];for(const err337 of vErrors){if(!err337.emUsed){emErrs56.push(err337);}}vErrors = emErrs56;errors = emErrs56.length;}}}else {const err338 = {keyword:"type",dataPath:dataPath+"/scopes/" + i5+"/properties",schemaPath:"#/definitions/properties/allOf/1/type",params:{type: "array"},message:"should be array"};if(vErrors === null){vErrors = [err338];}else {vErrors.push(err338);}errors++;}}}else {const err339 = {keyword:"type",dataPath:dataPath+"/scopes/" + i5,schemaPath:"#/properties/scopes/items/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err339];}else {vErrors.push(err339);}errors++;}if(errors > 0){const emErrors5 = {"required":{"type":[],"properties":[]}};const templates5 = {required:{properties:function(){return "invalid scope " + JSON.stringify(data62 && data62.type) + ", missing properties=[]"}}};let emPropParams4;let emParamsErrors4;for(const err340 of vErrors){if((((((err340.keyword !== "errorMessage") && (!err340.emUsed)) && (err340.dataPath === dataPath+"/scopes/" + i5)) && (err340.keyword in emErrors5)) && (err340.schemaPath.indexOf("#/properties/scopes/items") === 0)) && (/^\/[^\/]*$/.test(err340.schemaPath.slice(25)))){emPropParams4 = obj0$1[err340.keyword];emParamsErrors4 = emErrors5[err340.keyword][err340.params[emPropParams4]];if(emParamsErrors4){emParamsErrors4.push(err340);err340.emUsed = true;}}}for(const key5 in emErrors5){for(const keyProp4 in emErrors5[key5]){emParamsErrors4 = emErrors5[key5][keyProp4];if(emParamsErrors4.length){const tmpl4 = templates5[key5] && templates5[key5][keyProp4];const err341 = {keyword:"errorMessage",dataPath:dataPath+"/scopes/" + i5,schemaPath:"#/properties/scopes/items/errorMessage",params:{errors: emParamsErrors4},message:tmpl4 ? tmpl4() : schema17$1.properties.scopes.items.errorMessage[key5][keyProp4]};if(vErrors === null){vErrors = [err341];}else {vErrors.push(err341);}errors++;}}}const emErrs57 = [];for(const err342 of vErrors){if(!err342.emUsed){emErrs57.push(err342);}}vErrors = emErrs57;errors = emErrs57.length;}}}else {const err343 = {keyword:"type",dataPath:dataPath+"/scopes",schemaPath:"#/properties/scopes/type",params:{type: "array"},message:"should be array"};if(vErrors === null){vErrors = [err343];}else {vErrors.push(err343);}errors++;}}}else {const err344 = {keyword:"type",dataPath,schemaPath:"#/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err344];}else {vErrors.push(err344);}errors++;}validate15$1.errors = vErrors;return errors === 0;}function validate14$1(data, {dataPath="", parentData, parentDataProperty, rootData=data}={}){let vErrors = null;let errors = 0;const _errs0 = errors;let valid0 = false;let passing0 = null;const _errs1 = errors;if(!(validate15$1(data, {dataPath,parentData,parentDataProperty,rootData}))){vErrors = vErrors === null ? validate15$1.errors : vErrors.concat(validate15$1.errors);errors = vErrors.length;}var _valid0 = _errs1 === errors;if(_valid0){valid0 = true;passing0 = 0;}const _errs2 = errors;if(Array.isArray(data)){const len0 = data.length;for(let i0=0; i0<len0; i0++){if(!(validate15$1(data[i0], {dataPath:dataPath+"/" + i0,parentData:data,parentDataProperty:i0,rootData}))){vErrors = vErrors === null ? validate15$1.errors : vErrors.concat(validate15$1.errors);errors = vErrors.length;}}}else {const err0 = {keyword:"type",dataPath,schemaPath:"#/oneOf/1/type",params:{type: "array"},message:"should be array"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}var _valid0 = _errs2 === errors;if(_valid0 && valid0){valid0 = false;passing0 = [passing0, 1];}else {if(_valid0){valid0 = true;passing0 = 1;}}if(!valid0){const err1 = {keyword:"oneOf",dataPath,schemaPath:"#/oneOf",params:{passingSchemas: passing0},message:"should match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}else {errors = _errs0;if(vErrors !== null){if(_errs0){vErrors.length = _errs0;}else {vErrors = null;}}}validate14$1.errors = vErrors;return errors === 0;}
63458
+ var standaloneValidator = validate14$1;var _default$1 = validate14$1;const schema17$1 = {"type":"object","allOf":[{"required":["name","id","appliesTo","properties"],"properties":{"name":{"$id":"#/name","type":"string","description":"The name of the element template."},"id":{"$id":"#/id","type":"string","description":"The identifier of the element template."},"description":{"$id":"#/description","type":"string","description":"The description of the element template."},"version":{"$id":"#/version","type":"number","description":"Optional version of the template. If you add a version to a template it will be considered unique based on its ID and version. Two templates can have the same ID if their version is different."},"isDefault":{"$id":"#/isDefault","type":"boolean","description":"Indicates whether the element template is a default template."},"appliesTo":{"$id":"#/appliesTo","type":"array","description":"List of BPMN types the template can be applied to.","default":[],"items":{"$id":"#/appliesTo/items","type":"string","pattern":"^[\\w\\d]+:[\\w\\d]+$","errorMessage":{"pattern":"invalid item for \"appliesTo\", should contain namespaced property, example: \"bpmn:Task\""},"allOf":[{"examples":["bpmn:Task","bpmn:ServiceTask","bpmn:SequenceFlow","bpmn:Process","bpmn:StartEvent","bpmn:Gateway"]}]}},"elementType":{"$id":"#/elementType","type":"object","description":"The BPMN type the element will be transformed into.","default":{},"required":["value"],"errorMessage":{"required":{"value":"missing elementType value"}},"properties":{"value":{"$id":"#/elementType/value","type":"string","pattern":"^[\\w\\d]+:[\\w\\d]+$","errorMessage":{"pattern":"invalid item for \"elementType\", should contain namespaced property, example: \"bpmn:Task\""},"allOf":[{"examples":["bpmn:ServiceTask","bpmn:UserTask","bpmn:StartEvent","bpmn:ExclusiveGateway","bpmn:ParallelGateway"]}]}}},"metadata":{"$id":"#/metadata","type":"object","description":"Some custom properties for further configuration.","default":{}},"entriesVisible":{"$id":"#/entriesVisible","type":"boolean","description":"Select whether non-template entries are visible in the properties panel."},"groups":{"$id":"#/groups","type":"array","description":"Custom fields can be ordered together via groups.","allOf":[{"examples":[[{"id":"group-1","label":"My Group"}]]}],"items":{"$id":"#/groups/group","type":"object","default":{},"required":["id","label"],"errorMessage":{"required":{"id":"missing id for group \"${0#}\"","label":"missing label for group \"${0#}\""}},"properties":{"id":{"$id":"#/groups/group/id","type":"string","description":"The id of the custom group"},"label":{"$id":"#/groups/group/label","type":"string","description":"The label of the custom group"}}}},"documentationRef":{"$id":"#/documentaionRef","type":"string","pattern":"^(https|http)://.*","errorMessage":{"pattern":"Malformed documentation URL, must match \"^(https|http)://.*\""}}},"errorMessage":{"required":{"name":"missing template name","id":"missing template id","appliesTo":"missing appliesTo=[]","properties":"missing properties=[]"}}}],"properties":{"properties":{"$ref":"#/definitions/properties","$id":"#/properties"},"scopes":{"$id":"#/scopes","type":"array","description":"Special scoped bindings that allow you to configure nested elements.","allOf":[{"examples":[[{"type":"bpmn:Error","id":"Error_1","properties":[{"value":"error-code","binding":{"type":"property","name":"errorCode"}},{"value":"error-message","binding":{"type":"property","name":"camunda:errorMessage"}},{"value":"error-name","binding":{"type":"property","name":"name"}}]}]]}],"items":{"$id":"#/scopes/item","type":"object","default":{},"properties":{"type":{"$id":"#scopes/item/type","type":"string","description":"The type of a scope.","enum":["camunda:Connector","bpmn:Error"],"errorMessage":"invalid scope type ${0}; must be any of { camunda:Connector, bpmn:Error }"},"properties":{"$id":"#/scopes/properties","description":"List of properties of a scope.","default":[],"allOf":[{"$ref":"#/definitions/properties/allOf/0"},{"$ref":"#/definitions/properties/allOf/1"}]}},"required":["type","properties"],"errorMessage":{"required":{"type":"invalid scope, missing type","properties":"invalid scope ${0/type}, missing properties=[]"}},"allOf":[{"if":{"properties":{"type":{"enum":["bpmn:Error"]}},"required":["type"]},"then":{"required":["id"],"errorMessage":"invalid scope ${0/type}, missing id"}}]}}}};const schema18$1 = {"allOf":[{"type":"array","description":"List of properties of the element template.","allOf":[{"examples":[[{"label":"Name","type":"String","binding":{"type":"property","name":"name"}}]]}],"items":{"type":"object","default":{},"allOf":[{"if":{"properties":{"type":{"const":"Dropdown"}},"required":["type"]},"then":{"required":["choices"],"errorMessage":"must provide choices=[] with \"Dropdown\" type"}}],"properties":{"value":{"$id":"#/properties/property/value","type":["string","boolean"],"description":"The value of a control field."},"description":{"$id":"#/properties/property/description","type":"string","description":"The description of a control field."},"label":{"$id":"#/properties/property/label","type":"string","description":"The label of a control field."},"type":{"$id":"#/properties/property/type","type":"string","description":"The type of a control field."},"editable":{"$id":"#/properties/property/editable","type":"boolean","description":"Indicates whether a control field is editable or not."},"choices":{"$id":"#/properties/property/choices","type":"array","description":"The choices for dropdown fields.","default":[],"items":{"$id":"#/properties/property/choices/item","type":"object","default":{},"properties":{"name":{"$id":"#/properties/property/choices/item/name","type":"string","description":"The name of a choice."},"value":{"$id":"#/properties/property/choices/item/value","type":"string","description":"The value of a choice."}},"required":["value","name"],"errorMessage":"{ name, value } must be specified for \"Dropdown\" choices"}},"constraints":{"$id":"#/properties/property/constraints","type":"object","description":"The validation constraints of a control field.","allOf":[{"examples":[{"notEmpty":true}]}],"properties":{"notEmpty":{"$id":"#/properties/property/constraints/notEmpty","type":"boolean","description":"The control field must not be empty."},"minLength":{"$id":"#/properties/property/constraints/minLength","type":"number","description":"The minimal length of a control field value."},"maxLength":{"$id":"#/properties/property/constraints/maxLength","type":"number","description":"The maximal length for a control field value."},"pattern":{"$id":"#/properties/property/constraints/pattern","description":"A regular expression pattern for a constraint.","oneOf":[{"type":"object","default":{},"properties":{"value":{"$id":"#/properties/property/constraints/pattern/value","type":"string","description":"The regular expression of a pattern."},"message":{"$id":"#/properties/property/constraints/pattern/message","type":"string","description":"The validation message of a pattern."}}},{"type":"string"}]}}},"group":{"$id":"#/properties/property/group","type":"string","description":"The custom group of a control field."}}}},{"$schema":"http://json-schema.org/draft-07/schema","type":"array","description":"List of properties of the element template.","items":{"type":"object","default":{},"required":["binding"],"errorMessage":{"required":{"binding":"missing binding for property \"${0#}\""}},"allOf":[{"if":{"properties":{"binding":{"properties":{"type":{"const":"property"}},"required":["type"]}},"required":["binding"]},"then":{"properties":{"type":{"enum":["String","Text","Hidden","Dropdown","Boolean"],"errorMessage":"invalid property type ${0} for binding type \"property\"; must be any of { String, Text, Hidden, Dropdown, Boolean }"}}}},{"if":{"properties":{"binding":{"properties":{"type":{"const":"camunda:executionListener"}},"required":["type"]}},"required":["binding"]},"then":{"properties":{"type":{"enum":["Hidden"],"errorMessage":"invalid property type ${1/type} for binding type \"camunda:executionListener\"; must be \"Hidden\""}}}},{"if":{"properties":{"binding":{"properties":{"type":{"enum":["camunda:property","camunda:outputParameter","camunda:in","camunda:in:businessKey","camunda:out","camunda:errorEventDefinition"]}},"required":["type"]}},"required":["binding"]},"then":{"properties":{"type":{"enum":["String","Hidden","Dropdown"],"errorMessage":"invalid property type ${0} for binding type ${1/binding/type}; must be any of { String, Hidden, Dropdown }"}}}},{"if":{"properties":{"binding":{"properties":{"type":{"enum":["camunda:inputParameter","camunda:field"]}},"required":["type"]}},"required":["binding"]},"then":{"properties":{"type":{"enum":["String","Text","Hidden","Dropdown"],"errorMessage":"invalid property type ${0} for binding type ${1/binding/type}; must be any of { String, Text, Hidden, Dropdown }"}}}}],"properties":{"binding":{"$id":"#/properties/property/binding","type":"object","description":"Specifying how the property is mapped to BPMN or Camunda extension elements and attributes.","required":["type"],"allOf":[{"if":{"properties":{"type":{"enum":["property","camunda:property","camunda:inputParameter","camunda:field"]}},"required":["type"]},"then":{"required":["name"],"errorMessage":"property.binding ${0/type} requires name"}},{"if":{"properties":{"type":{"const":"camunda:outputParameter"}},"required":["type"]},"then":{"required":["source"],"errorMessage":"property.binding ${0/type} requires source"}},{"if":{"properties":{"type":{"const":"camunda:in"}},"required":["type"]},"then":{"anyOf":[{"required":["variables"]},{"required":["target"]}],"errorMessage":"property.binding ${0/type} requires variables, target, or both"}},{"if":{"properties":{"type":{"const":"camunda:out"}},"required":["type"]},"then":{"oneOf":[{"required":["variables"],"not":{"anyOf":[{"required":["source"]},{"required":["sourceExpression"]}]}},{"required":["source"],"not":{"anyOf":[{"required":["variables"]},{"required":["sourceExpression"]}]}},{"required":["sourceExpression"],"not":{"anyOf":[{"required":["variables"]},{"required":["source"]}]}},{"required":["variables","sourceExpression"],"not":{"required":["source"]}},{"required":["variables","source"],"not":{"required":["sourceExpression"]}}],"errorMessage":"property.binding ${0/type} requires one of the following: variables, sourceExpression, source, (sourceExpression and variables), or (source and variables)"}},{"if":{"properties":{"type":{"const":"camunda:errorEventDefinition"}},"required":["type"]},"then":{"oneOf":[{"required":["errorRef"]}],"errorMessage":"property.binding ${0/type} requires errorRef"}},{"examples":[{"type":"property","name":"name"},{"type":"camunda:property","name":"property"},{"type":"camunda:inputParameter","name":"input"},{"type":"camunda:outputParameter","source":"output"},{"type":"camunda:in","target":"target"},{"type":"camunda:in:businessKey"},{"type":"camunda:out","source":"output"},{"type":"camunda:executionListener","event":"start"},{"type":"camunda:field","name":"field"},{"type":"camunda:errorEventDefinition","errorRef":"error"},{"type":"camunda:errorEventDefinition","errorRef":"error"}]}],"properties":{"type":{"$id":"#/properties/property/binding/type","type":"string","enum":["property","camunda:property","camunda:inputParameter","camunda:outputParameter","camunda:in","camunda:out","camunda:in:businessKey","camunda:executionListener","camunda:field","camunda:errorEventDefinition"],"errorMessage":"invalid property.binding type ${0}; must be any of { property, camunda:property, camunda:inputParameter, camunda:outputParameter, camunda:in, camunda:out, camunda:in:businessKey, camunda:executionListener, camunda:field, camunda:errorEventDefinition }","description":"The type of a property binding."},"name":{"$id":"#/properties/property/binding/name","type":"string","description":"The name of a property binding."},"event":{"$id":"#/properties/property/binding/event","type":"string","description":"The event type of a property binding (camunda:executionListener)."},"scriptFormat":{"$id":"#/properties/property/binding/scriptFormat","type":"string","description":"The script format of a property binding (camunda:outputParameter, camunda:inputParameter)."},"source":{"$id":"#/properties/property/binding/source","type":"string","description":"The source value of a property binding (camunda:outputParameter, camunda:out)."},"target":{"$id":"#/properties/property/binding/target","type":"string","description":"The target value of a property binding (camunda:in)."},"expression":{"$id":"#/properties/property/binding/expression","type":"boolean","description":"Indicates whether the control field value is an expression (camunda:in, camunda:field)."},"variables":{"$id":"#/properties/property/binding/variables","type":"string","enum":["all","local"],"description":"The variable mapping of a property binding (camunda:in)."},"sourceExpression":{"$id":"#/properties/property/binding/sourceExpression","type":"string","description":"The string containing the expression for the source attribute (camunda:out)."}}}}}}]};const schema19 = {"type":"array","description":"List of properties of the element template.","allOf":[{"examples":[[{"label":"Name","type":"String","binding":{"type":"property","name":"name"}}]]}],"items":{"type":"object","default":{},"allOf":[{"if":{"properties":{"type":{"const":"Dropdown"}},"required":["type"]},"then":{"required":["choices"],"errorMessage":"must provide choices=[] with \"Dropdown\" type"}}],"properties":{"value":{"$id":"#/properties/property/value","type":["string","boolean"],"description":"The value of a control field."},"description":{"$id":"#/properties/property/description","type":"string","description":"The description of a control field."},"label":{"$id":"#/properties/property/label","type":"string","description":"The label of a control field."},"type":{"$id":"#/properties/property/type","type":"string","description":"The type of a control field."},"editable":{"$id":"#/properties/property/editable","type":"boolean","description":"Indicates whether a control field is editable or not."},"choices":{"$id":"#/properties/property/choices","type":"array","description":"The choices for dropdown fields.","default":[],"items":{"$id":"#/properties/property/choices/item","type":"object","default":{},"properties":{"name":{"$id":"#/properties/property/choices/item/name","type":"string","description":"The name of a choice."},"value":{"$id":"#/properties/property/choices/item/value","type":"string","description":"The value of a choice."}},"required":["value","name"],"errorMessage":"{ name, value } must be specified for \"Dropdown\" choices"}},"constraints":{"$id":"#/properties/property/constraints","type":"object","description":"The validation constraints of a control field.","allOf":[{"examples":[{"notEmpty":true}]}],"properties":{"notEmpty":{"$id":"#/properties/property/constraints/notEmpty","type":"boolean","description":"The control field must not be empty."},"minLength":{"$id":"#/properties/property/constraints/minLength","type":"number","description":"The minimal length of a control field value."},"maxLength":{"$id":"#/properties/property/constraints/maxLength","type":"number","description":"The maximal length for a control field value."},"pattern":{"$id":"#/properties/property/constraints/pattern","description":"A regular expression pattern for a constraint.","oneOf":[{"type":"object","default":{},"properties":{"value":{"$id":"#/properties/property/constraints/pattern/value","type":"string","description":"The regular expression of a pattern."},"message":{"$id":"#/properties/property/constraints/pattern/message","type":"string","description":"The validation message of a pattern."}}},{"type":"string"}]}}},"group":{"$id":"#/properties/property/group","type":"string","description":"The custom group of a control field."}}}};const schema20 = {"$schema":"http://json-schema.org/draft-07/schema","type":"array","description":"List of properties of the element template.","items":{"type":"object","default":{},"required":["binding"],"errorMessage":{"required":{"binding":"missing binding for property \"${0#}\""}},"allOf":[{"if":{"properties":{"binding":{"properties":{"type":{"const":"property"}},"required":["type"]}},"required":["binding"]},"then":{"properties":{"type":{"enum":["String","Text","Hidden","Dropdown","Boolean"],"errorMessage":"invalid property type ${0} for binding type \"property\"; must be any of { String, Text, Hidden, Dropdown, Boolean }"}}}},{"if":{"properties":{"binding":{"properties":{"type":{"const":"camunda:executionListener"}},"required":["type"]}},"required":["binding"]},"then":{"properties":{"type":{"enum":["Hidden"],"errorMessage":"invalid property type ${1/type} for binding type \"camunda:executionListener\"; must be \"Hidden\""}}}},{"if":{"properties":{"binding":{"properties":{"type":{"enum":["camunda:property","camunda:outputParameter","camunda:in","camunda:in:businessKey","camunda:out","camunda:errorEventDefinition"]}},"required":["type"]}},"required":["binding"]},"then":{"properties":{"type":{"enum":["String","Hidden","Dropdown"],"errorMessage":"invalid property type ${0} for binding type ${1/binding/type}; must be any of { String, Hidden, Dropdown }"}}}},{"if":{"properties":{"binding":{"properties":{"type":{"enum":["camunda:inputParameter","camunda:field"]}},"required":["type"]}},"required":["binding"]},"then":{"properties":{"type":{"enum":["String","Text","Hidden","Dropdown"],"errorMessage":"invalid property type ${0} for binding type ${1/binding/type}; must be any of { String, Text, Hidden, Dropdown }"}}}}],"properties":{"binding":{"$id":"#/properties/property/binding","type":"object","description":"Specifying how the property is mapped to BPMN or Camunda extension elements and attributes.","required":["type"],"allOf":[{"if":{"properties":{"type":{"enum":["property","camunda:property","camunda:inputParameter","camunda:field"]}},"required":["type"]},"then":{"required":["name"],"errorMessage":"property.binding ${0/type} requires name"}},{"if":{"properties":{"type":{"const":"camunda:outputParameter"}},"required":["type"]},"then":{"required":["source"],"errorMessage":"property.binding ${0/type} requires source"}},{"if":{"properties":{"type":{"const":"camunda:in"}},"required":["type"]},"then":{"anyOf":[{"required":["variables"]},{"required":["target"]}],"errorMessage":"property.binding ${0/type} requires variables, target, or both"}},{"if":{"properties":{"type":{"const":"camunda:out"}},"required":["type"]},"then":{"oneOf":[{"required":["variables"],"not":{"anyOf":[{"required":["source"]},{"required":["sourceExpression"]}]}},{"required":["source"],"not":{"anyOf":[{"required":["variables"]},{"required":["sourceExpression"]}]}},{"required":["sourceExpression"],"not":{"anyOf":[{"required":["variables"]},{"required":["source"]}]}},{"required":["variables","sourceExpression"],"not":{"required":["source"]}},{"required":["variables","source"],"not":{"required":["sourceExpression"]}}],"errorMessage":"property.binding ${0/type} requires one of the following: variables, sourceExpression, source, (sourceExpression and variables), or (source and variables)"}},{"if":{"properties":{"type":{"const":"camunda:errorEventDefinition"}},"required":["type"]},"then":{"oneOf":[{"required":["errorRef"]}],"errorMessage":"property.binding ${0/type} requires errorRef"}},{"examples":[{"type":"property","name":"name"},{"type":"camunda:property","name":"property"},{"type":"camunda:inputParameter","name":"input"},{"type":"camunda:outputParameter","source":"output"},{"type":"camunda:in","target":"target"},{"type":"camunda:in:businessKey"},{"type":"camunda:out","source":"output"},{"type":"camunda:executionListener","event":"start"},{"type":"camunda:field","name":"field"},{"type":"camunda:errorEventDefinition","errorRef":"error"},{"type":"camunda:errorEventDefinition","errorRef":"error"}]}],"properties":{"type":{"$id":"#/properties/property/binding/type","type":"string","enum":["property","camunda:property","camunda:inputParameter","camunda:outputParameter","camunda:in","camunda:out","camunda:in:businessKey","camunda:executionListener","camunda:field","camunda:errorEventDefinition"],"errorMessage":"invalid property.binding type ${0}; must be any of { property, camunda:property, camunda:inputParameter, camunda:outputParameter, camunda:in, camunda:out, camunda:in:businessKey, camunda:executionListener, camunda:field, camunda:errorEventDefinition }","description":"The type of a property binding."},"name":{"$id":"#/properties/property/binding/name","type":"string","description":"The name of a property binding."},"event":{"$id":"#/properties/property/binding/event","type":"string","description":"The event type of a property binding (camunda:executionListener)."},"scriptFormat":{"$id":"#/properties/property/binding/scriptFormat","type":"string","description":"The script format of a property binding (camunda:outputParameter, camunda:inputParameter)."},"source":{"$id":"#/properties/property/binding/source","type":"string","description":"The source value of a property binding (camunda:outputParameter, camunda:out)."},"target":{"$id":"#/properties/property/binding/target","type":"string","description":"The target value of a property binding (camunda:in)."},"expression":{"$id":"#/properties/property/binding/expression","type":"boolean","description":"Indicates whether the control field value is an expression (camunda:in, camunda:field)."},"variables":{"$id":"#/properties/property/binding/variables","type":"string","enum":["all","local"],"description":"The variable mapping of a property binding (camunda:in)."},"sourceExpression":{"$id":"#/properties/property/binding/sourceExpression","type":"string","description":"The string containing the expression for the source attribute (camunda:out)."}}}}}};const pattern0$1 = new RegExp("^[\\w\\d]+:[\\w\\d]+$", "u");const pattern2$1 = new RegExp("^(https|http)://.*", "u");const obj0$1 = {"required":"missingProperty","dependencies":"property","dependentRequired":"property"};function validate15$1(data, {dataPath="", parentData, parentDataProperty, rootData=data}={}){let vErrors = null;let errors = 0;if(data && typeof data == "object" && !Array.isArray(data)){if(data.name === undefined){const err0 = {keyword:"required",dataPath,schemaPath:"#/allOf/0/required",params:{missingProperty: "name"},message:"should have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data.id === undefined){const err1 = {keyword:"required",dataPath,schemaPath:"#/allOf/0/required",params:{missingProperty: "id"},message:"should have required property '"+"id"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}if(data.appliesTo === undefined){const err2 = {keyword:"required",dataPath,schemaPath:"#/allOf/0/required",params:{missingProperty: "appliesTo"},message:"should have required property '"+"appliesTo"+"'"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}if(data.properties === undefined){const err3 = {keyword:"required",dataPath,schemaPath:"#/allOf/0/required",params:{missingProperty: "properties"},message:"should have required property '"+"properties"+"'"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}if(data.name !== undefined){if(typeof data.name !== "string"){const err4 = {keyword:"type",dataPath:dataPath+"/name",schemaPath:"#/allOf/0/properties/name/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}}if(data.id !== undefined){if(typeof data.id !== "string"){const err5 = {keyword:"type",dataPath:dataPath+"/id",schemaPath:"#/allOf/0/properties/id/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}}if(data.description !== undefined){if(typeof data.description !== "string"){const err6 = {keyword:"type",dataPath:dataPath+"/description",schemaPath:"#/allOf/0/properties/description/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}}if(data.version !== undefined){if(!(typeof data.version == "number")){const err7 = {keyword:"type",dataPath:dataPath+"/version",schemaPath:"#/allOf/0/properties/version/type",params:{type: "number"},message:"should be number"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}}if(data.isDefault !== undefined){if(typeof data.isDefault !== "boolean"){const err8 = {keyword:"type",dataPath:dataPath+"/isDefault",schemaPath:"#/allOf/0/properties/isDefault/type",params:{type: "boolean"},message:"should be boolean"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}}if(data.appliesTo !== undefined){let data5 = data.appliesTo;if(Array.isArray(data5)){const len0 = data5.length;for(let i0=0; i0<len0; i0++){let data6 = data5[i0];if(typeof data6 === "string"){if(!pattern0$1.test(data6)){const err9 = {keyword:"pattern",dataPath:dataPath+"/appliesTo/" + i0,schemaPath:"#/allOf/0/properties/appliesTo/items/pattern",params:{pattern: "^[\\w\\d]+:[\\w\\d]+$"},message:"should match pattern \""+"^[\\w\\d]+:[\\w\\d]+$"+"\""};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}}else {const err10 = {keyword:"type",dataPath:dataPath+"/appliesTo/" + i0,schemaPath:"#/allOf/0/properties/appliesTo/items/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}if(errors > 0){const emErrors0 = {"pattern":[]};const templates0 = {};for(const err11 of vErrors){if((((((err11.keyword !== "errorMessage") && (!err11.emUsed)) && (err11.dataPath === dataPath+"/appliesTo/" + i0)) && (err11.keyword in emErrors0)) && (err11.schemaPath.indexOf("#/allOf/0/properties/appliesTo/items") === 0)) && (/^\/[^\/]*$/.test(err11.schemaPath.slice(36)))){emErrors0[err11.keyword].push(err11);err11.emUsed = true;}}for(const key0 in emErrors0){if(emErrors0[key0].length){const err12 = {keyword:"errorMessage",dataPath:dataPath+"/appliesTo/" + i0,schemaPath:"#/allOf/0/properties/appliesTo/items/errorMessage",params:{errors: emErrors0[key0]},message:key0 in templates0 ? templates0[key0]() : schema17$1.allOf[0].properties.appliesTo.items.errorMessage[key0]};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}}const emErrs0 = [];for(const err13 of vErrors){if(!err13.emUsed){emErrs0.push(err13);}}vErrors = emErrs0;errors = emErrs0.length;}}}else {const err14 = {keyword:"type",dataPath:dataPath+"/appliesTo",schemaPath:"#/allOf/0/properties/appliesTo/type",params:{type: "array"},message:"should be array"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}}if(data.elementType !== undefined){let data7 = data.elementType;if(data7 && typeof data7 == "object" && !Array.isArray(data7)){if(data7.value === undefined){const err15 = {keyword:"required",dataPath:dataPath+"/elementType",schemaPath:"#/allOf/0/properties/elementType/required",params:{missingProperty: "value"},message:"should have required property '"+"value"+"'"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}if(data7.value !== undefined){let data8 = data7.value;if(typeof data8 === "string"){if(!pattern0$1.test(data8)){const err16 = {keyword:"pattern",dataPath:dataPath+"/elementType/value",schemaPath:"#/allOf/0/properties/elementType/properties/value/pattern",params:{pattern: "^[\\w\\d]+:[\\w\\d]+$"},message:"should match pattern \""+"^[\\w\\d]+:[\\w\\d]+$"+"\""};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}}else {const err17 = {keyword:"type",dataPath:dataPath+"/elementType/value",schemaPath:"#/allOf/0/properties/elementType/properties/value/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}if(errors > 0){const emErrors1 = {"pattern":[]};const templates1 = {};for(const err18 of vErrors){if((((((err18.keyword !== "errorMessage") && (!err18.emUsed)) && (err18.dataPath === dataPath+"/elementType/value")) && (err18.keyword in emErrors1)) && (err18.schemaPath.indexOf("#/allOf/0/properties/elementType/properties/value") === 0)) && (/^\/[^\/]*$/.test(err18.schemaPath.slice(49)))){emErrors1[err18.keyword].push(err18);err18.emUsed = true;}}for(const key1 in emErrors1){if(emErrors1[key1].length){const err19 = {keyword:"errorMessage",dataPath:dataPath+"/elementType/value",schemaPath:"#/allOf/0/properties/elementType/properties/value/errorMessage",params:{errors: emErrors1[key1]},message:key1 in templates1 ? templates1[key1]() : schema17$1.allOf[0].properties.elementType.properties.value.errorMessage[key1]};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}}const emErrs1 = [];for(const err20 of vErrors){if(!err20.emUsed){emErrs1.push(err20);}}vErrors = emErrs1;errors = emErrs1.length;}}}else {const err21 = {keyword:"type",dataPath:dataPath+"/elementType",schemaPath:"#/allOf/0/properties/elementType/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}if(errors > 0){const emErrors2 = {"required":{"value":[]}};const templates2 = {required:{}};let emPropParams0;let emParamsErrors0;for(const err22 of vErrors){if((((((err22.keyword !== "errorMessage") && (!err22.emUsed)) && (err22.dataPath === dataPath+"/elementType")) && (err22.keyword in emErrors2)) && (err22.schemaPath.indexOf("#/allOf/0/properties/elementType") === 0)) && (/^\/[^\/]*$/.test(err22.schemaPath.slice(32)))){emPropParams0 = obj0$1[err22.keyword];emParamsErrors0 = emErrors2[err22.keyword][err22.params[emPropParams0]];if(emParamsErrors0){emParamsErrors0.push(err22);err22.emUsed = true;}}}for(const key2 in emErrors2){for(const keyProp0 in emErrors2[key2]){emParamsErrors0 = emErrors2[key2][keyProp0];if(emParamsErrors0.length){const tmpl0 = templates2[key2] && templates2[key2][keyProp0];const err23 = {keyword:"errorMessage",dataPath:dataPath+"/elementType",schemaPath:"#/allOf/0/properties/elementType/errorMessage",params:{errors: emParamsErrors0},message:tmpl0 ? tmpl0() : schema17$1.allOf[0].properties.elementType.errorMessage[key2][keyProp0]};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}}}const emErrs2 = [];for(const err24 of vErrors){if(!err24.emUsed){emErrs2.push(err24);}}vErrors = emErrs2;errors = emErrs2.length;}}if(data.metadata !== undefined){let data9 = data.metadata;if(!(data9 && typeof data9 == "object" && !Array.isArray(data9))){const err25 = {keyword:"type",dataPath:dataPath+"/metadata",schemaPath:"#/allOf/0/properties/metadata/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err25];}else {vErrors.push(err25);}errors++;}}if(data.entriesVisible !== undefined){if(typeof data.entriesVisible !== "boolean"){const err26 = {keyword:"type",dataPath:dataPath+"/entriesVisible",schemaPath:"#/allOf/0/properties/entriesVisible/type",params:{type: "boolean"},message:"should be boolean"};if(vErrors === null){vErrors = [err26];}else {vErrors.push(err26);}errors++;}}if(data.groups !== undefined){let data11 = data.groups;if(Array.isArray(data11)){const len1 = data11.length;for(let i1=0; i1<len1; i1++){let data12 = data11[i1];if(data12 && typeof data12 == "object" && !Array.isArray(data12)){if(data12.id === undefined){const err27 = {keyword:"required",dataPath:dataPath+"/groups/" + i1,schemaPath:"#/allOf/0/properties/groups/items/required",params:{missingProperty: "id"},message:"should have required property '"+"id"+"'"};if(vErrors === null){vErrors = [err27];}else {vErrors.push(err27);}errors++;}if(data12.label === undefined){const err28 = {keyword:"required",dataPath:dataPath+"/groups/" + i1,schemaPath:"#/allOf/0/properties/groups/items/required",params:{missingProperty: "label"},message:"should have required property '"+"label"+"'"};if(vErrors === null){vErrors = [err28];}else {vErrors.push(err28);}errors++;}if(data12.id !== undefined){if(typeof data12.id !== "string"){const err29 = {keyword:"type",dataPath:dataPath+"/groups/" + i1+"/id",schemaPath:"#/allOf/0/properties/groups/items/properties/id/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err29];}else {vErrors.push(err29);}errors++;}}if(data12.label !== undefined){if(typeof data12.label !== "string"){const err30 = {keyword:"type",dataPath:dataPath+"/groups/" + i1+"/label",schemaPath:"#/allOf/0/properties/groups/items/properties/label/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err30];}else {vErrors.push(err30);}errors++;}}}else {const err31 = {keyword:"type",dataPath:dataPath+"/groups/" + i1,schemaPath:"#/allOf/0/properties/groups/items/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err31];}else {vErrors.push(err31);}errors++;}if(errors > 0){const emErrors3 = {"required":{"id":[],"label":[]}};const templates3 = {required:{id:function(){return "missing id for group \"" + JSON.stringify(i1) + "\""},label:function(){return "missing label for group \"" + JSON.stringify(i1) + "\""}}};let emPropParams1;let emParamsErrors1;for(const err32 of vErrors){if((((((err32.keyword !== "errorMessage") && (!err32.emUsed)) && (err32.dataPath === dataPath+"/groups/" + i1)) && (err32.keyword in emErrors3)) && (err32.schemaPath.indexOf("#/allOf/0/properties/groups/items") === 0)) && (/^\/[^\/]*$/.test(err32.schemaPath.slice(33)))){emPropParams1 = obj0$1[err32.keyword];emParamsErrors1 = emErrors3[err32.keyword][err32.params[emPropParams1]];if(emParamsErrors1){emParamsErrors1.push(err32);err32.emUsed = true;}}}for(const key3 in emErrors3){for(const keyProp1 in emErrors3[key3]){emParamsErrors1 = emErrors3[key3][keyProp1];if(emParamsErrors1.length){const tmpl1 = templates3[key3] && templates3[key3][keyProp1];const err33 = {keyword:"errorMessage",dataPath:dataPath+"/groups/" + i1,schemaPath:"#/allOf/0/properties/groups/items/errorMessage",params:{errors: emParamsErrors1},message:tmpl1 ? tmpl1() : schema17$1.allOf[0].properties.groups.items.errorMessage[key3][keyProp1]};if(vErrors === null){vErrors = [err33];}else {vErrors.push(err33);}errors++;}}}const emErrs3 = [];for(const err34 of vErrors){if(!err34.emUsed){emErrs3.push(err34);}}vErrors = emErrs3;errors = emErrs3.length;}}}else {const err35 = {keyword:"type",dataPath:dataPath+"/groups",schemaPath:"#/allOf/0/properties/groups/type",params:{type: "array"},message:"should be array"};if(vErrors === null){vErrors = [err35];}else {vErrors.push(err35);}errors++;}}if(data.documentationRef !== undefined){let data15 = data.documentationRef;if(typeof data15 === "string"){if(!pattern2$1.test(data15)){const err36 = {keyword:"pattern",dataPath:dataPath+"/documentationRef",schemaPath:"#/allOf/0/properties/documentationRef/pattern",params:{pattern: "^(https|http)://.*"},message:"should match pattern \""+"^(https|http)://.*"+"\""};if(vErrors === null){vErrors = [err36];}else {vErrors.push(err36);}errors++;}}else {const err37 = {keyword:"type",dataPath:dataPath+"/documentationRef",schemaPath:"#/allOf/0/properties/documentationRef/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err37];}else {vErrors.push(err37);}errors++;}if(errors > 0){const emErrors4 = {"pattern":[]};const templates4 = {};for(const err38 of vErrors){if((((((err38.keyword !== "errorMessage") && (!err38.emUsed)) && (err38.dataPath === dataPath+"/documentationRef")) && (err38.keyword in emErrors4)) && (err38.schemaPath.indexOf("#/allOf/0/properties/documentationRef") === 0)) && (/^\/[^\/]*$/.test(err38.schemaPath.slice(37)))){emErrors4[err38.keyword].push(err38);err38.emUsed = true;}}for(const key4 in emErrors4){if(emErrors4[key4].length){const err39 = {keyword:"errorMessage",dataPath:dataPath+"/documentationRef",schemaPath:"#/allOf/0/properties/documentationRef/errorMessage",params:{errors: emErrors4[key4]},message:key4 in templates4 ? templates4[key4]() : schema17$1.allOf[0].properties.documentationRef.errorMessage[key4]};if(vErrors === null){vErrors = [err39];}else {vErrors.push(err39);}errors++;}}const emErrs4 = [];for(const err40 of vErrors){if(!err40.emUsed){emErrs4.push(err40);}}vErrors = emErrs4;errors = emErrs4.length;}}}if(errors > 0){const emErrors5 = {"required":{"name":[],"id":[],"appliesTo":[],"properties":[]}};const templates5 = {required:{}};let emPropParams2;let emParamsErrors2;for(const err41 of vErrors){if((((((err41.keyword !== "errorMessage") && (!err41.emUsed)) && (err41.dataPath === dataPath)) && (err41.keyword in emErrors5)) && (err41.schemaPath.indexOf("#/allOf/0") === 0)) && (/^\/[^\/]*$/.test(err41.schemaPath.slice(9)))){emPropParams2 = obj0$1[err41.keyword];emParamsErrors2 = emErrors5[err41.keyword][err41.params[emPropParams2]];if(emParamsErrors2){emParamsErrors2.push(err41);err41.emUsed = true;}}}for(const key5 in emErrors5){for(const keyProp2 in emErrors5[key5]){emParamsErrors2 = emErrors5[key5][keyProp2];if(emParamsErrors2.length){const tmpl2 = templates5[key5] && templates5[key5][keyProp2];const err42 = {keyword:"errorMessage",dataPath,schemaPath:"#/allOf/0/errorMessage",params:{errors: emParamsErrors2},message:tmpl2 ? tmpl2() : schema17$1.allOf[0].errorMessage[key5][keyProp2]};if(vErrors === null){vErrors = [err42];}else {vErrors.push(err42);}errors++;}}}const emErrs5 = [];for(const err43 of vErrors){if(!err43.emUsed){emErrs5.push(err43);}}vErrors = emErrs5;errors = emErrs5.length;}if(data && typeof data == "object" && !Array.isArray(data)){if(data.properties !== undefined){let data16 = data.properties;if(Array.isArray(data16)){const len2 = data16.length;for(let i2=0; i2<len2; i2++){let data17 = data16[i2];const _errs41 = errors;let valid18 = true;const _errs42 = errors;if(data17 && typeof data17 == "object" && !Array.isArray(data17)){if((data17.type === undefined) && ("type")){const err44 = {};if(vErrors === null){vErrors = [err44];}else {vErrors.push(err44);}errors++;}else {if(data17.type !== undefined){if(!equal(data17.type, "Dropdown")){const err45 = {};if(vErrors === null){vErrors = [err45];}else {vErrors.push(err45);}errors++;}}}}var _valid0 = _errs42 === errors;errors = _errs41;if(vErrors !== null){if(_errs41){vErrors.length = _errs41;}else {vErrors = null;}}if(_valid0){const _errs44 = errors;if(data17 && typeof data17 == "object" && !Array.isArray(data17)){if(data17.choices === undefined){const err46 = {keyword:"required",dataPath:dataPath+"/properties/" + i2,schemaPath:"#/definitions/properties/allOf/0/items/allOf/0/then/required",params:{missingProperty: "choices"},message:"should have required property '"+"choices"+"'"};if(vErrors === null){vErrors = [err46];}else {vErrors.push(err46);}errors++;}}if(errors > 0){const emErrs6 = [];for(const err47 of vErrors){if(((((err47.keyword !== "errorMessage") && (!err47.emUsed)) && ((err47.dataPath === dataPath+"/properties/" + i2) || ((err47.dataPath.indexOf(dataPath+"/properties/" + i2) === 0) && (err47.dataPath[dataPath+"/properties/" + i2.length] === "/")))) && (err47.schemaPath.indexOf("#/definitions/properties/allOf/0/items/allOf/0/then") === 0)) && (err47.schemaPath["#/definitions/properties/allOf/0/items/allOf/0/then".length] === "/")){emErrs6.push(err47);err47.emUsed = true;}}if(emErrs6.length){const err48 = {keyword:"errorMessage",dataPath:dataPath+"/properties/" + i2,schemaPath:"#/definitions/properties/allOf/0/items/allOf/0/then/errorMessage",params:{errors: emErrs6},message:"must provide choices=[] with \"Dropdown\" type"};if(vErrors === null){vErrors = [err48];}else {vErrors.push(err48);}errors++;}const emErrs7 = [];for(const err49 of vErrors){if(!err49.emUsed){emErrs7.push(err49);}}vErrors = emErrs7;errors = emErrs7.length;}var _valid0 = _errs44 === errors;valid18 = _valid0;}if(!valid18){const err50 = {keyword:"if",dataPath:dataPath+"/properties/" + i2,schemaPath:"#/definitions/properties/allOf/0/items/allOf/0/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err50];}else {vErrors.push(err50);}errors++;}if(data17 && typeof data17 == "object" && !Array.isArray(data17)){if(data17.value !== undefined){let data19 = data17.value;if((typeof data19 !== "string") && (typeof data19 !== "boolean")){const err51 = {keyword:"type",dataPath:dataPath+"/properties/" + i2+"/value",schemaPath:"#/definitions/properties/allOf/0/items/properties/value/type",params:{type: schema18$1.allOf[0].items.properties.value.type},message:"should be string,boolean"};if(vErrors === null){vErrors = [err51];}else {vErrors.push(err51);}errors++;}}if(data17.description !== undefined){if(typeof data17.description !== "string"){const err52 = {keyword:"type",dataPath:dataPath+"/properties/" + i2+"/description",schemaPath:"#/definitions/properties/allOf/0/items/properties/description/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err52];}else {vErrors.push(err52);}errors++;}}if(data17.label !== undefined){if(typeof data17.label !== "string"){const err53 = {keyword:"type",dataPath:dataPath+"/properties/" + i2+"/label",schemaPath:"#/definitions/properties/allOf/0/items/properties/label/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err53];}else {vErrors.push(err53);}errors++;}}if(data17.type !== undefined){if(typeof data17.type !== "string"){const err54 = {keyword:"type",dataPath:dataPath+"/properties/" + i2+"/type",schemaPath:"#/definitions/properties/allOf/0/items/properties/type/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err54];}else {vErrors.push(err54);}errors++;}}if(data17.editable !== undefined){if(typeof data17.editable !== "boolean"){const err55 = {keyword:"type",dataPath:dataPath+"/properties/" + i2+"/editable",schemaPath:"#/definitions/properties/allOf/0/items/properties/editable/type",params:{type: "boolean"},message:"should be boolean"};if(vErrors === null){vErrors = [err55];}else {vErrors.push(err55);}errors++;}}if(data17.choices !== undefined){let data24 = data17.choices;if(Array.isArray(data24)){const len3 = data24.length;for(let i3=0; i3<len3; i3++){let data25 = data24[i3];if(data25 && typeof data25 == "object" && !Array.isArray(data25)){if(data25.value === undefined){const err56 = {keyword:"required",dataPath:dataPath+"/properties/" + i2+"/choices/" + i3,schemaPath:"#/definitions/properties/allOf/0/items/properties/choices/items/required",params:{missingProperty: "value"},message:"should have required property '"+"value"+"'"};if(vErrors === null){vErrors = [err56];}else {vErrors.push(err56);}errors++;}if(data25.name === undefined){const err57 = {keyword:"required",dataPath:dataPath+"/properties/" + i2+"/choices/" + i3,schemaPath:"#/definitions/properties/allOf/0/items/properties/choices/items/required",params:{missingProperty: "name"},message:"should have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err57];}else {vErrors.push(err57);}errors++;}if(data25.name !== undefined){if(typeof data25.name !== "string"){const err58 = {keyword:"type",dataPath:dataPath+"/properties/" + i2+"/choices/" + i3+"/name",schemaPath:"#/definitions/properties/allOf/0/items/properties/choices/items/properties/name/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err58];}else {vErrors.push(err58);}errors++;}}if(data25.value !== undefined){if(typeof data25.value !== "string"){const err59 = {keyword:"type",dataPath:dataPath+"/properties/" + i2+"/choices/" + i3+"/value",schemaPath:"#/definitions/properties/allOf/0/items/properties/choices/items/properties/value/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err59];}else {vErrors.push(err59);}errors++;}}}else {const err60 = {keyword:"type",dataPath:dataPath+"/properties/" + i2+"/choices/" + i3,schemaPath:"#/definitions/properties/allOf/0/items/properties/choices/items/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err60];}else {vErrors.push(err60);}errors++;}if(errors > 0){const emErrs8 = [];for(const err61 of vErrors){if(((((err61.keyword !== "errorMessage") && (!err61.emUsed)) && ((err61.dataPath === dataPath+"/properties/" + i2+"/choices/" + i3) || ((err61.dataPath.indexOf(dataPath+"/properties/" + i2+"/choices/" + i3) === 0) && (err61.dataPath[dataPath+"/properties/" + i2+"/choices/" + i3.length] === "/")))) && (err61.schemaPath.indexOf("#/definitions/properties/allOf/0/items/properties/choices/items") === 0)) && (err61.schemaPath["#/definitions/properties/allOf/0/items/properties/choices/items".length] === "/")){emErrs8.push(err61);err61.emUsed = true;}}if(emErrs8.length){const err62 = {keyword:"errorMessage",dataPath:dataPath+"/properties/" + i2+"/choices/" + i3,schemaPath:"#/definitions/properties/allOf/0/items/properties/choices/items/errorMessage",params:{errors: emErrs8},message:"{ name, value } must be specified for \"Dropdown\" choices"};if(vErrors === null){vErrors = [err62];}else {vErrors.push(err62);}errors++;}const emErrs9 = [];for(const err63 of vErrors){if(!err63.emUsed){emErrs9.push(err63);}}vErrors = emErrs9;errors = emErrs9.length;}}}else {const err64 = {keyword:"type",dataPath:dataPath+"/properties/" + i2+"/choices",schemaPath:"#/definitions/properties/allOf/0/items/properties/choices/type",params:{type: "array"},message:"should be array"};if(vErrors === null){vErrors = [err64];}else {vErrors.push(err64);}errors++;}}if(data17.constraints !== undefined){let data28 = data17.constraints;if(data28 && typeof data28 == "object" && !Array.isArray(data28)){if(data28.notEmpty !== undefined){if(typeof data28.notEmpty !== "boolean"){const err65 = {keyword:"type",dataPath:dataPath+"/properties/" + i2+"/constraints/notEmpty",schemaPath:"#/definitions/properties/allOf/0/items/properties/constraints/properties/notEmpty/type",params:{type: "boolean"},message:"should be boolean"};if(vErrors === null){vErrors = [err65];}else {vErrors.push(err65);}errors++;}}if(data28.minLength !== undefined){if(!(typeof data28.minLength == "number")){const err66 = {keyword:"type",dataPath:dataPath+"/properties/" + i2+"/constraints/minLength",schemaPath:"#/definitions/properties/allOf/0/items/properties/constraints/properties/minLength/type",params:{type: "number"},message:"should be number"};if(vErrors === null){vErrors = [err66];}else {vErrors.push(err66);}errors++;}}if(data28.maxLength !== undefined){if(!(typeof data28.maxLength == "number")){const err67 = {keyword:"type",dataPath:dataPath+"/properties/" + i2+"/constraints/maxLength",schemaPath:"#/definitions/properties/allOf/0/items/properties/constraints/properties/maxLength/type",params:{type: "number"},message:"should be number"};if(vErrors === null){vErrors = [err67];}else {vErrors.push(err67);}errors++;}}if(data28.pattern !== undefined){let data32 = data28.pattern;const _errs72 = errors;let valid26 = false;let passing0 = null;const _errs73 = errors;if(data32 && typeof data32 == "object" && !Array.isArray(data32)){if(data32.value !== undefined){if(typeof data32.value !== "string"){const err68 = {keyword:"type",dataPath:dataPath+"/properties/" + i2+"/constraints/pattern/value",schemaPath:"#/definitions/properties/allOf/0/items/properties/constraints/properties/pattern/oneOf/0/properties/value/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err68];}else {vErrors.push(err68);}errors++;}}if(data32.message !== undefined){if(typeof data32.message !== "string"){const err69 = {keyword:"type",dataPath:dataPath+"/properties/" + i2+"/constraints/pattern/message",schemaPath:"#/definitions/properties/allOf/0/items/properties/constraints/properties/pattern/oneOf/0/properties/message/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err69];}else {vErrors.push(err69);}errors++;}}}else {const err70 = {keyword:"type",dataPath:dataPath+"/properties/" + i2+"/constraints/pattern",schemaPath:"#/definitions/properties/allOf/0/items/properties/constraints/properties/pattern/oneOf/0/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err70];}else {vErrors.push(err70);}errors++;}var _valid1 = _errs73 === errors;if(_valid1){valid26 = true;passing0 = 0;}const _errs79 = errors;if(typeof data32 !== "string"){const err71 = {keyword:"type",dataPath:dataPath+"/properties/" + i2+"/constraints/pattern",schemaPath:"#/definitions/properties/allOf/0/items/properties/constraints/properties/pattern/oneOf/1/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err71];}else {vErrors.push(err71);}errors++;}var _valid1 = _errs79 === errors;if(_valid1 && valid26){valid26 = false;passing0 = [passing0, 1];}else {if(_valid1){valid26 = true;passing0 = 1;}}if(!valid26){const err72 = {keyword:"oneOf",dataPath:dataPath+"/properties/" + i2+"/constraints/pattern",schemaPath:"#/definitions/properties/allOf/0/items/properties/constraints/properties/pattern/oneOf",params:{passingSchemas: passing0},message:"should match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err72];}else {vErrors.push(err72);}errors++;}else {errors = _errs72;if(vErrors !== null){if(_errs72){vErrors.length = _errs72;}else {vErrors = null;}}}}}else {const err73 = {keyword:"type",dataPath:dataPath+"/properties/" + i2+"/constraints",schemaPath:"#/definitions/properties/allOf/0/items/properties/constraints/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err73];}else {vErrors.push(err73);}errors++;}}if(data17.group !== undefined){if(typeof data17.group !== "string"){const err74 = {keyword:"type",dataPath:dataPath+"/properties/" + i2+"/group",schemaPath:"#/definitions/properties/allOf/0/items/properties/group/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err74];}else {vErrors.push(err74);}errors++;}}}else {const err75 = {keyword:"type",dataPath:dataPath+"/properties/" + i2,schemaPath:"#/definitions/properties/allOf/0/items/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err75];}else {vErrors.push(err75);}errors++;}}}else {const err76 = {keyword:"type",dataPath:dataPath+"/properties",schemaPath:"#/definitions/properties/allOf/0/type",params:{type: "array"},message:"should be array"};if(vErrors === null){vErrors = [err76];}else {vErrors.push(err76);}errors++;}if(Array.isArray(data16)){const len4 = data16.length;for(let i4=0; i4<len4; i4++){let data36 = data16[i4];const _errs88 = errors;let valid31 = true;const _errs89 = errors;if(data36 && typeof data36 == "object" && !Array.isArray(data36)){if((data36.binding === undefined) && ("binding")){const err77 = {};if(vErrors === null){vErrors = [err77];}else {vErrors.push(err77);}errors++;}else {if(data36.binding !== undefined){let data37 = data36.binding;if(data37 && typeof data37 == "object" && !Array.isArray(data37)){if((data37.type === undefined) && ("type")){const err78 = {};if(vErrors === null){vErrors = [err78];}else {vErrors.push(err78);}errors++;}else {if(data37.type !== undefined){if(!equal(data37.type, "property")){const err79 = {};if(vErrors === null){vErrors = [err79];}else {vErrors.push(err79);}errors++;}}}}}}}var _valid2 = _errs89 === errors;errors = _errs88;if(vErrors !== null){if(_errs88){vErrors.length = _errs88;}else {vErrors = null;}}if(_valid2){const _errs92 = errors;if(data36 && typeof data36 == "object" && !Array.isArray(data36)){if(data36.type !== undefined){let data39 = data36.type;if(!(((((data39 === "String") || (data39 === "Text")) || (data39 === "Hidden")) || (data39 === "Dropdown")) || (data39 === "Boolean"))){const err80 = {keyword:"enum",dataPath:dataPath+"/properties/" + i4+"/type",schemaPath:"#/definitions/properties/allOf/1/items/allOf/0/then/properties/type/enum",params:{allowedValues: schema18$1.allOf[1].items.allOf[0].then.properties.type.enum},message:"should be equal to one of the allowed values"};if(vErrors === null){vErrors = [err80];}else {vErrors.push(err80);}errors++;}if(errors > 0){const emErrs10 = [];for(const err81 of vErrors){if(((((err81.keyword !== "errorMessage") && (!err81.emUsed)) && ((err81.dataPath === dataPath+"/properties/" + i4+"/type") || ((err81.dataPath.indexOf(dataPath+"/properties/" + i4+"/type") === 0) && (err81.dataPath[dataPath+"/properties/" + i4+"/type".length] === "/")))) && (err81.schemaPath.indexOf("#/definitions/properties/allOf/1/items/allOf/0/then/properties/type") === 0)) && (err81.schemaPath["#/definitions/properties/allOf/1/items/allOf/0/then/properties/type".length] === "/")){emErrs10.push(err81);err81.emUsed = true;}}if(emErrs10.length){const err82 = {keyword:"errorMessage",dataPath:dataPath+"/properties/" + i4+"/type",schemaPath:"#/definitions/properties/allOf/1/items/allOf/0/then/properties/type/errorMessage",params:{errors: emErrs10},message:"invalid property type " + JSON.stringify(data39) + " for binding type \"property\"; must be any of { String, Text, Hidden, Dropdown, Boolean }"};if(vErrors === null){vErrors = [err82];}else {vErrors.push(err82);}errors++;}const emErrs11 = [];for(const err83 of vErrors){if(!err83.emUsed){emErrs11.push(err83);}}vErrors = emErrs11;errors = emErrs11.length;}}}var _valid2 = _errs92 === errors;valid31 = _valid2;}if(!valid31){const err84 = {keyword:"if",dataPath:dataPath+"/properties/" + i4,schemaPath:"#/definitions/properties/allOf/1/items/allOf/0/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err84];}else {vErrors.push(err84);}errors++;}const _errs95 = errors;let valid35 = true;const _errs96 = errors;if(data36 && typeof data36 == "object" && !Array.isArray(data36)){if((data36.binding === undefined) && ("binding")){const err85 = {};if(vErrors === null){vErrors = [err85];}else {vErrors.push(err85);}errors++;}else {if(data36.binding !== undefined){let data40 = data36.binding;if(data40 && typeof data40 == "object" && !Array.isArray(data40)){if((data40.type === undefined) && ("type")){const err86 = {};if(vErrors === null){vErrors = [err86];}else {vErrors.push(err86);}errors++;}else {if(data40.type !== undefined){if(!equal(data40.type, "camunda:executionListener")){const err87 = {};if(vErrors === null){vErrors = [err87];}else {vErrors.push(err87);}errors++;}}}}}}}var _valid3 = _errs96 === errors;errors = _errs95;if(vErrors !== null){if(_errs95){vErrors.length = _errs95;}else {vErrors = null;}}if(_valid3){const _errs99 = errors;if(data36 && typeof data36 == "object" && !Array.isArray(data36)){if(data36.type !== undefined){if(!(data36.type === "Hidden")){const err88 = {keyword:"enum",dataPath:dataPath+"/properties/" + i4+"/type",schemaPath:"#/definitions/properties/allOf/1/items/allOf/1/then/properties/type/enum",params:{allowedValues: schema18$1.allOf[1].items.allOf[1].then.properties.type.enum},message:"should be equal to one of the allowed values"};if(vErrors === null){vErrors = [err88];}else {vErrors.push(err88);}errors++;}if(errors > 0){const emErrs12 = [];for(const err89 of vErrors){if(((((err89.keyword !== "errorMessage") && (!err89.emUsed)) && ((err89.dataPath === dataPath+"/properties/" + i4+"/type") || ((err89.dataPath.indexOf(dataPath+"/properties/" + i4+"/type") === 0) && (err89.dataPath[dataPath+"/properties/" + i4+"/type".length] === "/")))) && (err89.schemaPath.indexOf("#/definitions/properties/allOf/1/items/allOf/1/then/properties/type") === 0)) && (err89.schemaPath["#/definitions/properties/allOf/1/items/allOf/1/then/properties/type".length] === "/")){emErrs12.push(err89);err89.emUsed = true;}}if(emErrs12.length){const err90 = {keyword:"errorMessage",dataPath:dataPath+"/properties/" + i4+"/type",schemaPath:"#/definitions/properties/allOf/1/items/allOf/1/then/properties/type/errorMessage",params:{errors: emErrs12},message:"invalid property type " + JSON.stringify(data36 && data36.type) + " for binding type \"camunda:executionListener\"; must be \"Hidden\""};if(vErrors === null){vErrors = [err90];}else {vErrors.push(err90);}errors++;}const emErrs13 = [];for(const err91 of vErrors){if(!err91.emUsed){emErrs13.push(err91);}}vErrors = emErrs13;errors = emErrs13.length;}}}var _valid3 = _errs99 === errors;valid35 = _valid3;}if(!valid35){const err92 = {keyword:"if",dataPath:dataPath+"/properties/" + i4,schemaPath:"#/definitions/properties/allOf/1/items/allOf/1/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err92];}else {vErrors.push(err92);}errors++;}const _errs102 = errors;let valid39 = true;const _errs103 = errors;if(data36 && typeof data36 == "object" && !Array.isArray(data36)){if((data36.binding === undefined) && ("binding")){const err93 = {};if(vErrors === null){vErrors = [err93];}else {vErrors.push(err93);}errors++;}else {if(data36.binding !== undefined){let data43 = data36.binding;if(data43 && typeof data43 == "object" && !Array.isArray(data43)){if((data43.type === undefined) && ("type")){const err94 = {};if(vErrors === null){vErrors = [err94];}else {vErrors.push(err94);}errors++;}else {if(data43.type !== undefined){let data44 = data43.type;if(!((((((data44 === "camunda:property") || (data44 === "camunda:outputParameter")) || (data44 === "camunda:in")) || (data44 === "camunda:in:businessKey")) || (data44 === "camunda:out")) || (data44 === "camunda:errorEventDefinition"))){const err95 = {};if(vErrors === null){vErrors = [err95];}else {vErrors.push(err95);}errors++;}}}}}}}var _valid4 = _errs103 === errors;errors = _errs102;if(vErrors !== null){if(_errs102){vErrors.length = _errs102;}else {vErrors = null;}}if(_valid4){const _errs106 = errors;if(data36 && typeof data36 == "object" && !Array.isArray(data36)){if(data36.type !== undefined){let data45 = data36.type;if(!(((data45 === "String") || (data45 === "Hidden")) || (data45 === "Dropdown"))){const err96 = {keyword:"enum",dataPath:dataPath+"/properties/" + i4+"/type",schemaPath:"#/definitions/properties/allOf/1/items/allOf/2/then/properties/type/enum",params:{allowedValues: schema18$1.allOf[1].items.allOf[2].then.properties.type.enum},message:"should be equal to one of the allowed values"};if(vErrors === null){vErrors = [err96];}else {vErrors.push(err96);}errors++;}if(errors > 0){const emErrs14 = [];for(const err97 of vErrors){if(((((err97.keyword !== "errorMessage") && (!err97.emUsed)) && ((err97.dataPath === dataPath+"/properties/" + i4+"/type") || ((err97.dataPath.indexOf(dataPath+"/properties/" + i4+"/type") === 0) && (err97.dataPath[dataPath+"/properties/" + i4+"/type".length] === "/")))) && (err97.schemaPath.indexOf("#/definitions/properties/allOf/1/items/allOf/2/then/properties/type") === 0)) && (err97.schemaPath["#/definitions/properties/allOf/1/items/allOf/2/then/properties/type".length] === "/")){emErrs14.push(err97);err97.emUsed = true;}}if(emErrs14.length){const err98 = {keyword:"errorMessage",dataPath:dataPath+"/properties/" + i4+"/type",schemaPath:"#/definitions/properties/allOf/1/items/allOf/2/then/properties/type/errorMessage",params:{errors: emErrs14},message:"invalid property type " + JSON.stringify(data45) + " for binding type " + JSON.stringify(data36 && data36.binding && data36.binding.type) + "; must be any of { String, Hidden, Dropdown }"};if(vErrors === null){vErrors = [err98];}else {vErrors.push(err98);}errors++;}const emErrs15 = [];for(const err99 of vErrors){if(!err99.emUsed){emErrs15.push(err99);}}vErrors = emErrs15;errors = emErrs15.length;}}}var _valid4 = _errs106 === errors;valid39 = _valid4;}if(!valid39){const err100 = {keyword:"if",dataPath:dataPath+"/properties/" + i4,schemaPath:"#/definitions/properties/allOf/1/items/allOf/2/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err100];}else {vErrors.push(err100);}errors++;}const _errs109 = errors;let valid43 = true;const _errs110 = errors;if(data36 && typeof data36 == "object" && !Array.isArray(data36)){if((data36.binding === undefined) && ("binding")){const err101 = {};if(vErrors === null){vErrors = [err101];}else {vErrors.push(err101);}errors++;}else {if(data36.binding !== undefined){let data46 = data36.binding;if(data46 && typeof data46 == "object" && !Array.isArray(data46)){if((data46.type === undefined) && ("type")){const err102 = {};if(vErrors === null){vErrors = [err102];}else {vErrors.push(err102);}errors++;}else {if(data46.type !== undefined){let data47 = data46.type;if(!((data47 === "camunda:inputParameter") || (data47 === "camunda:field"))){const err103 = {};if(vErrors === null){vErrors = [err103];}else {vErrors.push(err103);}errors++;}}}}}}}var _valid5 = _errs110 === errors;errors = _errs109;if(vErrors !== null){if(_errs109){vErrors.length = _errs109;}else {vErrors = null;}}if(_valid5){const _errs113 = errors;if(data36 && typeof data36 == "object" && !Array.isArray(data36)){if(data36.type !== undefined){let data48 = data36.type;if(!((((data48 === "String") || (data48 === "Text")) || (data48 === "Hidden")) || (data48 === "Dropdown"))){const err104 = {keyword:"enum",dataPath:dataPath+"/properties/" + i4+"/type",schemaPath:"#/definitions/properties/allOf/1/items/allOf/3/then/properties/type/enum",params:{allowedValues: schema18$1.allOf[1].items.allOf[3].then.properties.type.enum},message:"should be equal to one of the allowed values"};if(vErrors === null){vErrors = [err104];}else {vErrors.push(err104);}errors++;}if(errors > 0){const emErrs16 = [];for(const err105 of vErrors){if(((((err105.keyword !== "errorMessage") && (!err105.emUsed)) && ((err105.dataPath === dataPath+"/properties/" + i4+"/type") || ((err105.dataPath.indexOf(dataPath+"/properties/" + i4+"/type") === 0) && (err105.dataPath[dataPath+"/properties/" + i4+"/type".length] === "/")))) && (err105.schemaPath.indexOf("#/definitions/properties/allOf/1/items/allOf/3/then/properties/type") === 0)) && (err105.schemaPath["#/definitions/properties/allOf/1/items/allOf/3/then/properties/type".length] === "/")){emErrs16.push(err105);err105.emUsed = true;}}if(emErrs16.length){const err106 = {keyword:"errorMessage",dataPath:dataPath+"/properties/" + i4+"/type",schemaPath:"#/definitions/properties/allOf/1/items/allOf/3/then/properties/type/errorMessage",params:{errors: emErrs16},message:"invalid property type " + JSON.stringify(data48) + " for binding type " + JSON.stringify(data36 && data36.binding && data36.binding.type) + "; must be any of { String, Text, Hidden, Dropdown }"};if(vErrors === null){vErrors = [err106];}else {vErrors.push(err106);}errors++;}const emErrs17 = [];for(const err107 of vErrors){if(!err107.emUsed){emErrs17.push(err107);}}vErrors = emErrs17;errors = emErrs17.length;}}}var _valid5 = _errs113 === errors;valid43 = _valid5;}if(!valid43){const err108 = {keyword:"if",dataPath:dataPath+"/properties/" + i4,schemaPath:"#/definitions/properties/allOf/1/items/allOf/3/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err108];}else {vErrors.push(err108);}errors++;}if(data36 && typeof data36 == "object" && !Array.isArray(data36)){if(data36.binding === undefined){const err109 = {keyword:"required",dataPath:dataPath+"/properties/" + i4,schemaPath:"#/definitions/properties/allOf/1/items/required",params:{missingProperty: "binding"},message:"should have required property '"+"binding"+"'"};if(vErrors === null){vErrors = [err109];}else {vErrors.push(err109);}errors++;}if(data36.binding !== undefined){let data49 = data36.binding;const _errs118 = errors;let valid49 = true;const _errs119 = errors;if(data49 && typeof data49 == "object" && !Array.isArray(data49)){if((data49.type === undefined) && ("type")){const err110 = {};if(vErrors === null){vErrors = [err110];}else {vErrors.push(err110);}errors++;}else {if(data49.type !== undefined){let data50 = data49.type;if(!((((data50 === "property") || (data50 === "camunda:property")) || (data50 === "camunda:inputParameter")) || (data50 === "camunda:field"))){const err111 = {};if(vErrors === null){vErrors = [err111];}else {vErrors.push(err111);}errors++;}}}}var _valid6 = _errs119 === errors;errors = _errs118;if(vErrors !== null){if(_errs118){vErrors.length = _errs118;}else {vErrors = null;}}if(_valid6){const _errs121 = errors;if(data49 && typeof data49 == "object" && !Array.isArray(data49)){if(data49.name === undefined){const err112 = {keyword:"required",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/0/then/required",params:{missingProperty: "name"},message:"should have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err112];}else {vErrors.push(err112);}errors++;}}if(errors > 0){const emErrs18 = [];for(const err113 of vErrors){if(((((err113.keyword !== "errorMessage") && (!err113.emUsed)) && ((err113.dataPath === dataPath+"/properties/" + i4+"/binding") || ((err113.dataPath.indexOf(dataPath+"/properties/" + i4+"/binding") === 0) && (err113.dataPath[dataPath+"/properties/" + i4+"/binding".length] === "/")))) && (err113.schemaPath.indexOf("#/definitions/properties/allOf/1/items/properties/binding/allOf/0/then") === 0)) && (err113.schemaPath["#/definitions/properties/allOf/1/items/properties/binding/allOf/0/then".length] === "/")){emErrs18.push(err113);err113.emUsed = true;}}if(emErrs18.length){const err114 = {keyword:"errorMessage",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/0/then/errorMessage",params:{errors: emErrs18},message:"property.binding " + JSON.stringify(data49 && data49.type) + " requires name"};if(vErrors === null){vErrors = [err114];}else {vErrors.push(err114);}errors++;}const emErrs19 = [];for(const err115 of vErrors){if(!err115.emUsed){emErrs19.push(err115);}}vErrors = emErrs19;errors = emErrs19.length;}var _valid6 = _errs121 === errors;valid49 = _valid6;}if(!valid49){const err116 = {keyword:"if",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/0/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err116];}else {vErrors.push(err116);}errors++;}const _errs123 = errors;let valid51 = true;const _errs124 = errors;if(data49 && typeof data49 == "object" && !Array.isArray(data49)){if((data49.type === undefined) && ("type")){const err117 = {};if(vErrors === null){vErrors = [err117];}else {vErrors.push(err117);}errors++;}else {if(data49.type !== undefined){if(!equal(data49.type, "camunda:outputParameter")){const err118 = {};if(vErrors === null){vErrors = [err118];}else {vErrors.push(err118);}errors++;}}}}var _valid7 = _errs124 === errors;errors = _errs123;if(vErrors !== null){if(_errs123){vErrors.length = _errs123;}else {vErrors = null;}}if(_valid7){const _errs126 = errors;if(data49 && typeof data49 == "object" && !Array.isArray(data49)){if(data49.source === undefined){const err119 = {keyword:"required",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/1/then/required",params:{missingProperty: "source"},message:"should have required property '"+"source"+"'"};if(vErrors === null){vErrors = [err119];}else {vErrors.push(err119);}errors++;}}if(errors > 0){const emErrs20 = [];for(const err120 of vErrors){if(((((err120.keyword !== "errorMessage") && (!err120.emUsed)) && ((err120.dataPath === dataPath+"/properties/" + i4+"/binding") || ((err120.dataPath.indexOf(dataPath+"/properties/" + i4+"/binding") === 0) && (err120.dataPath[dataPath+"/properties/" + i4+"/binding".length] === "/")))) && (err120.schemaPath.indexOf("#/definitions/properties/allOf/1/items/properties/binding/allOf/1/then") === 0)) && (err120.schemaPath["#/definitions/properties/allOf/1/items/properties/binding/allOf/1/then".length] === "/")){emErrs20.push(err120);err120.emUsed = true;}}if(emErrs20.length){const err121 = {keyword:"errorMessage",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/1/then/errorMessage",params:{errors: emErrs20},message:"property.binding " + JSON.stringify(data49 && data49.type) + " requires source"};if(vErrors === null){vErrors = [err121];}else {vErrors.push(err121);}errors++;}const emErrs21 = [];for(const err122 of vErrors){if(!err122.emUsed){emErrs21.push(err122);}}vErrors = emErrs21;errors = emErrs21.length;}var _valid7 = _errs126 === errors;valid51 = _valid7;}if(!valid51){const err123 = {keyword:"if",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/1/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err123];}else {vErrors.push(err123);}errors++;}const _errs128 = errors;let valid53 = true;const _errs129 = errors;if(data49 && typeof data49 == "object" && !Array.isArray(data49)){if((data49.type === undefined) && ("type")){const err124 = {};if(vErrors === null){vErrors = [err124];}else {vErrors.push(err124);}errors++;}else {if(data49.type !== undefined){if(!equal(data49.type, "camunda:in")){const err125 = {};if(vErrors === null){vErrors = [err125];}else {vErrors.push(err125);}errors++;}}}}var _valid8 = _errs129 === errors;errors = _errs128;if(vErrors !== null){if(_errs128){vErrors.length = _errs128;}else {vErrors = null;}}if(_valid8){const _errs131 = errors;const _errs132 = errors;let valid55 = false;const _errs133 = errors;if(data49 && typeof data49 == "object" && !Array.isArray(data49)){if(data49.variables === undefined){const err126 = {keyword:"required",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/2/then/anyOf/0/required",params:{missingProperty: "variables"},message:"should have required property '"+"variables"+"'"};if(vErrors === null){vErrors = [err126];}else {vErrors.push(err126);}errors++;}}var _valid9 = _errs133 === errors;valid55 = valid55 || _valid9;if(!valid55){const _errs134 = errors;if(data49 && typeof data49 == "object" && !Array.isArray(data49)){if(data49.target === undefined){const err127 = {keyword:"required",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/2/then/anyOf/1/required",params:{missingProperty: "target"},message:"should have required property '"+"target"+"'"};if(vErrors === null){vErrors = [err127];}else {vErrors.push(err127);}errors++;}}var _valid9 = _errs134 === errors;valid55 = valid55 || _valid9;}if(!valid55){const err128 = {keyword:"anyOf",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/2/then/anyOf",params:{},message:"should match some schema in anyOf"};if(vErrors === null){vErrors = [err128];}else {vErrors.push(err128);}errors++;}else {errors = _errs132;if(vErrors !== null){if(_errs132){vErrors.length = _errs132;}else {vErrors = null;}}}if(errors > 0){const emErrs22 = [];for(const err129 of vErrors){if(((((err129.keyword !== "errorMessage") && (!err129.emUsed)) && ((err129.dataPath === dataPath+"/properties/" + i4+"/binding") || ((err129.dataPath.indexOf(dataPath+"/properties/" + i4+"/binding") === 0) && (err129.dataPath[dataPath+"/properties/" + i4+"/binding".length] === "/")))) && (err129.schemaPath.indexOf("#/definitions/properties/allOf/1/items/properties/binding/allOf/2/then") === 0)) && (err129.schemaPath["#/definitions/properties/allOf/1/items/properties/binding/allOf/2/then".length] === "/")){emErrs22.push(err129);err129.emUsed = true;}}if(emErrs22.length){const err130 = {keyword:"errorMessage",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/2/then/errorMessage",params:{errors: emErrs22},message:"property.binding " + JSON.stringify(data49 && data49.type) + " requires variables, target, or both"};if(vErrors === null){vErrors = [err130];}else {vErrors.push(err130);}errors++;}const emErrs23 = [];for(const err131 of vErrors){if(!err131.emUsed){emErrs23.push(err131);}}vErrors = emErrs23;errors = emErrs23.length;}var _valid8 = _errs131 === errors;valid53 = _valid8;}if(!valid53){const err132 = {keyword:"if",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/2/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err132];}else {vErrors.push(err132);}errors++;}const _errs136 = errors;let valid56 = true;const _errs137 = errors;if(data49 && typeof data49 == "object" && !Array.isArray(data49)){if((data49.type === undefined) && ("type")){const err133 = {};if(vErrors === null){vErrors = [err133];}else {vErrors.push(err133);}errors++;}else {if(data49.type !== undefined){if(!equal(data49.type, "camunda:out")){const err134 = {};if(vErrors === null){vErrors = [err134];}else {vErrors.push(err134);}errors++;}}}}var _valid10 = _errs137 === errors;errors = _errs136;if(vErrors !== null){if(_errs136){vErrors.length = _errs136;}else {vErrors = null;}}if(_valid10){const _errs139 = errors;const _errs140 = errors;let valid58 = false;let passing1 = null;const _errs141 = errors;const _errs142 = errors;const _errs143 = errors;const _errs144 = errors;let valid60 = false;const _errs145 = errors;if(data49 && typeof data49 == "object" && !Array.isArray(data49)){if((data49.source === undefined) && ("source")){const err135 = {};if(vErrors === null){vErrors = [err135];}else {vErrors.push(err135);}errors++;}}var _valid12 = _errs145 === errors;valid60 = valid60 || _valid12;if(!valid60){const _errs146 = errors;if(data49 && typeof data49 == "object" && !Array.isArray(data49)){if((data49.sourceExpression === undefined) && ("sourceExpression")){const err136 = {};if(vErrors === null){vErrors = [err136];}else {vErrors.push(err136);}errors++;}}var _valid12 = _errs146 === errors;valid60 = valid60 || _valid12;}if(!valid60){const err137 = {};if(vErrors === null){vErrors = [err137];}else {vErrors.push(err137);}errors++;}else {errors = _errs144;if(vErrors !== null){if(_errs144){vErrors.length = _errs144;}else {vErrors = null;}}}var valid59 = _errs143 === errors;if(!valid59){errors = _errs142;if(vErrors !== null){if(_errs142){vErrors.length = _errs142;}else {vErrors = null;}}}else {const err138 = {keyword:"not",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/3/then/oneOf/0/not",params:{},message:"should NOT be valid"};if(vErrors === null){vErrors = [err138];}else {vErrors.push(err138);}errors++;}if(data49 && typeof data49 == "object" && !Array.isArray(data49)){if(data49.variables === undefined){const err139 = {keyword:"required",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/3/then/oneOf/0/required",params:{missingProperty: "variables"},message:"should have required property '"+"variables"+"'"};if(vErrors === null){vErrors = [err139];}else {vErrors.push(err139);}errors++;}}var _valid11 = _errs141 === errors;if(_valid11){valid58 = true;passing1 = 0;}const _errs147 = errors;const _errs148 = errors;const _errs149 = errors;const _errs150 = errors;let valid62 = false;const _errs151 = errors;if(data49 && typeof data49 == "object" && !Array.isArray(data49)){if((data49.variables === undefined) && ("variables")){const err140 = {};if(vErrors === null){vErrors = [err140];}else {vErrors.push(err140);}errors++;}}var _valid13 = _errs151 === errors;valid62 = valid62 || _valid13;if(!valid62){const _errs152 = errors;if(data49 && typeof data49 == "object" && !Array.isArray(data49)){if((data49.sourceExpression === undefined) && ("sourceExpression")){const err141 = {};if(vErrors === null){vErrors = [err141];}else {vErrors.push(err141);}errors++;}}var _valid13 = _errs152 === errors;valid62 = valid62 || _valid13;}if(!valid62){const err142 = {};if(vErrors === null){vErrors = [err142];}else {vErrors.push(err142);}errors++;}else {errors = _errs150;if(vErrors !== null){if(_errs150){vErrors.length = _errs150;}else {vErrors = null;}}}var valid61 = _errs149 === errors;if(!valid61){errors = _errs148;if(vErrors !== null){if(_errs148){vErrors.length = _errs148;}else {vErrors = null;}}}else {const err143 = {keyword:"not",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/3/then/oneOf/1/not",params:{},message:"should NOT be valid"};if(vErrors === null){vErrors = [err143];}else {vErrors.push(err143);}errors++;}if(data49 && typeof data49 == "object" && !Array.isArray(data49)){if(data49.source === undefined){const err144 = {keyword:"required",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/3/then/oneOf/1/required",params:{missingProperty: "source"},message:"should have required property '"+"source"+"'"};if(vErrors === null){vErrors = [err144];}else {vErrors.push(err144);}errors++;}}var _valid11 = _errs147 === errors;if(_valid11 && valid58){valid58 = false;passing1 = [passing1, 1];}else {if(_valid11){valid58 = true;passing1 = 1;}const _errs153 = errors;const _errs154 = errors;const _errs155 = errors;const _errs156 = errors;let valid64 = false;const _errs157 = errors;if(data49 && typeof data49 == "object" && !Array.isArray(data49)){if((data49.variables === undefined) && ("variables")){const err145 = {};if(vErrors === null){vErrors = [err145];}else {vErrors.push(err145);}errors++;}}var _valid14 = _errs157 === errors;valid64 = valid64 || _valid14;if(!valid64){const _errs158 = errors;if(data49 && typeof data49 == "object" && !Array.isArray(data49)){if((data49.source === undefined) && ("source")){const err146 = {};if(vErrors === null){vErrors = [err146];}else {vErrors.push(err146);}errors++;}}var _valid14 = _errs158 === errors;valid64 = valid64 || _valid14;}if(!valid64){const err147 = {};if(vErrors === null){vErrors = [err147];}else {vErrors.push(err147);}errors++;}else {errors = _errs156;if(vErrors !== null){if(_errs156){vErrors.length = _errs156;}else {vErrors = null;}}}var valid63 = _errs155 === errors;if(!valid63){errors = _errs154;if(vErrors !== null){if(_errs154){vErrors.length = _errs154;}else {vErrors = null;}}}else {const err148 = {keyword:"not",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/3/then/oneOf/2/not",params:{},message:"should NOT be valid"};if(vErrors === null){vErrors = [err148];}else {vErrors.push(err148);}errors++;}if(data49 && typeof data49 == "object" && !Array.isArray(data49)){if(data49.sourceExpression === undefined){const err149 = {keyword:"required",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/3/then/oneOf/2/required",params:{missingProperty: "sourceExpression"},message:"should have required property '"+"sourceExpression"+"'"};if(vErrors === null){vErrors = [err149];}else {vErrors.push(err149);}errors++;}}var _valid11 = _errs153 === errors;if(_valid11 && valid58){valid58 = false;passing1 = [passing1, 2];}else {if(_valid11){valid58 = true;passing1 = 2;}const _errs159 = errors;const _errs160 = errors;const _errs161 = errors;if(data49 && typeof data49 == "object" && !Array.isArray(data49)){if((data49.source === undefined) && ("source")){const err150 = {};if(vErrors === null){vErrors = [err150];}else {vErrors.push(err150);}errors++;}}var valid65 = _errs161 === errors;if(!valid65){errors = _errs160;if(vErrors !== null){if(_errs160){vErrors.length = _errs160;}else {vErrors = null;}}}else {const err151 = {keyword:"not",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/3/then/oneOf/3/not",params:{},message:"should NOT be valid"};if(vErrors === null){vErrors = [err151];}else {vErrors.push(err151);}errors++;}if(data49 && typeof data49 == "object" && !Array.isArray(data49)){if(data49.variables === undefined){const err152 = {keyword:"required",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/3/then/oneOf/3/required",params:{missingProperty: "variables"},message:"should have required property '"+"variables"+"'"};if(vErrors === null){vErrors = [err152];}else {vErrors.push(err152);}errors++;}if(data49.sourceExpression === undefined){const err153 = {keyword:"required",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/3/then/oneOf/3/required",params:{missingProperty: "sourceExpression"},message:"should have required property '"+"sourceExpression"+"'"};if(vErrors === null){vErrors = [err153];}else {vErrors.push(err153);}errors++;}}var _valid11 = _errs159 === errors;if(_valid11 && valid58){valid58 = false;passing1 = [passing1, 3];}else {if(_valid11){valid58 = true;passing1 = 3;}const _errs162 = errors;const _errs163 = errors;const _errs164 = errors;if(data49 && typeof data49 == "object" && !Array.isArray(data49)){if((data49.sourceExpression === undefined) && ("sourceExpression")){const err154 = {};if(vErrors === null){vErrors = [err154];}else {vErrors.push(err154);}errors++;}}var valid66 = _errs164 === errors;if(!valid66){errors = _errs163;if(vErrors !== null){if(_errs163){vErrors.length = _errs163;}else {vErrors = null;}}}else {const err155 = {keyword:"not",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/3/then/oneOf/4/not",params:{},message:"should NOT be valid"};if(vErrors === null){vErrors = [err155];}else {vErrors.push(err155);}errors++;}if(data49 && typeof data49 == "object" && !Array.isArray(data49)){if(data49.variables === undefined){const err156 = {keyword:"required",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/3/then/oneOf/4/required",params:{missingProperty: "variables"},message:"should have required property '"+"variables"+"'"};if(vErrors === null){vErrors = [err156];}else {vErrors.push(err156);}errors++;}if(data49.source === undefined){const err157 = {keyword:"required",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/3/then/oneOf/4/required",params:{missingProperty: "source"},message:"should have required property '"+"source"+"'"};if(vErrors === null){vErrors = [err157];}else {vErrors.push(err157);}errors++;}}var _valid11 = _errs162 === errors;if(_valid11 && valid58){valid58 = false;passing1 = [passing1, 4];}else {if(_valid11){valid58 = true;passing1 = 4;}}}}}if(!valid58){const err158 = {keyword:"oneOf",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/3/then/oneOf",params:{passingSchemas: passing1},message:"should match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err158];}else {vErrors.push(err158);}errors++;}else {errors = _errs140;if(vErrors !== null){if(_errs140){vErrors.length = _errs140;}else {vErrors = null;}}}if(errors > 0){const emErrs24 = [];for(const err159 of vErrors){if(((((err159.keyword !== "errorMessage") && (!err159.emUsed)) && ((err159.dataPath === dataPath+"/properties/" + i4+"/binding") || ((err159.dataPath.indexOf(dataPath+"/properties/" + i4+"/binding") === 0) && (err159.dataPath[dataPath+"/properties/" + i4+"/binding".length] === "/")))) && (err159.schemaPath.indexOf("#/definitions/properties/allOf/1/items/properties/binding/allOf/3/then") === 0)) && (err159.schemaPath["#/definitions/properties/allOf/1/items/properties/binding/allOf/3/then".length] === "/")){emErrs24.push(err159);err159.emUsed = true;}}if(emErrs24.length){const err160 = {keyword:"errorMessage",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/3/then/errorMessage",params:{errors: emErrs24},message:"property.binding " + JSON.stringify(data49 && data49.type) + " requires one of the following: variables, sourceExpression, source, (sourceExpression and variables), or (source and variables)"};if(vErrors === null){vErrors = [err160];}else {vErrors.push(err160);}errors++;}const emErrs25 = [];for(const err161 of vErrors){if(!err161.emUsed){emErrs25.push(err161);}}vErrors = emErrs25;errors = emErrs25.length;}var _valid10 = _errs139 === errors;valid56 = _valid10;}if(!valid56){const err162 = {keyword:"if",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/3/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err162];}else {vErrors.push(err162);}errors++;}const _errs166 = errors;let valid67 = true;const _errs167 = errors;if(data49 && typeof data49 == "object" && !Array.isArray(data49)){if((data49.type === undefined) && ("type")){const err163 = {};if(vErrors === null){vErrors = [err163];}else {vErrors.push(err163);}errors++;}else {if(data49.type !== undefined){if(!equal(data49.type, "camunda:errorEventDefinition")){const err164 = {};if(vErrors === null){vErrors = [err164];}else {vErrors.push(err164);}errors++;}}}}var _valid15 = _errs167 === errors;errors = _errs166;if(vErrors !== null){if(_errs166){vErrors.length = _errs166;}else {vErrors = null;}}if(_valid15){const _errs169 = errors;const _errs170 = errors;let valid69 = false;let passing2 = null;const _errs171 = errors;if(data49 && typeof data49 == "object" && !Array.isArray(data49)){if(data49.errorRef === undefined){const err165 = {keyword:"required",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/4/then/oneOf/0/required",params:{missingProperty: "errorRef"},message:"should have required property '"+"errorRef"+"'"};if(vErrors === null){vErrors = [err165];}else {vErrors.push(err165);}errors++;}}var _valid16 = _errs171 === errors;if(_valid16){valid69 = true;passing2 = 0;}if(!valid69){const err166 = {keyword:"oneOf",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/4/then/oneOf",params:{passingSchemas: passing2},message:"should match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err166];}else {vErrors.push(err166);}errors++;}else {errors = _errs170;if(vErrors !== null){if(_errs170){vErrors.length = _errs170;}else {vErrors = null;}}}if(errors > 0){const emErrs26 = [];for(const err167 of vErrors){if(((((err167.keyword !== "errorMessage") && (!err167.emUsed)) && ((err167.dataPath === dataPath+"/properties/" + i4+"/binding") || ((err167.dataPath.indexOf(dataPath+"/properties/" + i4+"/binding") === 0) && (err167.dataPath[dataPath+"/properties/" + i4+"/binding".length] === "/")))) && (err167.schemaPath.indexOf("#/definitions/properties/allOf/1/items/properties/binding/allOf/4/then") === 0)) && (err167.schemaPath["#/definitions/properties/allOf/1/items/properties/binding/allOf/4/then".length] === "/")){emErrs26.push(err167);err167.emUsed = true;}}if(emErrs26.length){const err168 = {keyword:"errorMessage",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/4/then/errorMessage",params:{errors: emErrs26},message:"property.binding " + JSON.stringify(data49 && data49.type) + " requires errorRef"};if(vErrors === null){vErrors = [err168];}else {vErrors.push(err168);}errors++;}const emErrs27 = [];for(const err169 of vErrors){if(!err169.emUsed){emErrs27.push(err169);}}vErrors = emErrs27;errors = emErrs27.length;}var _valid15 = _errs169 === errors;valid67 = _valid15;}if(!valid67){const err170 = {keyword:"if",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/4/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err170];}else {vErrors.push(err170);}errors++;}if(data49 && typeof data49 == "object" && !Array.isArray(data49)){if(data49.type === undefined){const err171 = {keyword:"required",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/required",params:{missingProperty: "type"},message:"should have required property '"+"type"+"'"};if(vErrors === null){vErrors = [err171];}else {vErrors.push(err171);}errors++;}if(data49.type !== undefined){let data55 = data49.type;if(typeof data55 !== "string"){const err172 = {keyword:"type",dataPath:dataPath+"/properties/" + i4+"/binding/type",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/properties/type/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err172];}else {vErrors.push(err172);}errors++;}if(!((((((((((data55 === "property") || (data55 === "camunda:property")) || (data55 === "camunda:inputParameter")) || (data55 === "camunda:outputParameter")) || (data55 === "camunda:in")) || (data55 === "camunda:out")) || (data55 === "camunda:in:businessKey")) || (data55 === "camunda:executionListener")) || (data55 === "camunda:field")) || (data55 === "camunda:errorEventDefinition"))){const err173 = {keyword:"enum",dataPath:dataPath+"/properties/" + i4+"/binding/type",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/properties/type/enum",params:{allowedValues: schema18$1.allOf[1].items.properties.binding.properties.type.enum},message:"should be equal to one of the allowed values"};if(vErrors === null){vErrors = [err173];}else {vErrors.push(err173);}errors++;}if(errors > 0){const emErrs28 = [];for(const err174 of vErrors){if(((((err174.keyword !== "errorMessage") && (!err174.emUsed)) && ((err174.dataPath === dataPath+"/properties/" + i4+"/binding/type") || ((err174.dataPath.indexOf(dataPath+"/properties/" + i4+"/binding/type") === 0) && (err174.dataPath[dataPath+"/properties/" + i4+"/binding/type".length] === "/")))) && (err174.schemaPath.indexOf("#/definitions/properties/allOf/1/items/properties/binding/properties/type") === 0)) && (err174.schemaPath["#/definitions/properties/allOf/1/items/properties/binding/properties/type".length] === "/")){emErrs28.push(err174);err174.emUsed = true;}}if(emErrs28.length){const err175 = {keyword:"errorMessage",dataPath:dataPath+"/properties/" + i4+"/binding/type",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/properties/type/errorMessage",params:{errors: emErrs28},message:"invalid property.binding type " + JSON.stringify(data55) + "; must be any of { property, camunda:property, camunda:inputParameter, camunda:outputParameter, camunda:in, camunda:out, camunda:in:businessKey, camunda:executionListener, camunda:field, camunda:errorEventDefinition }"};if(vErrors === null){vErrors = [err175];}else {vErrors.push(err175);}errors++;}const emErrs29 = [];for(const err176 of vErrors){if(!err176.emUsed){emErrs29.push(err176);}}vErrors = emErrs29;errors = emErrs29.length;}}if(data49.name !== undefined){if(typeof data49.name !== "string"){const err177 = {keyword:"type",dataPath:dataPath+"/properties/" + i4+"/binding/name",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/properties/name/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err177];}else {vErrors.push(err177);}errors++;}}if(data49.event !== undefined){if(typeof data49.event !== "string"){const err178 = {keyword:"type",dataPath:dataPath+"/properties/" + i4+"/binding/event",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/properties/event/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err178];}else {vErrors.push(err178);}errors++;}}if(data49.scriptFormat !== undefined){if(typeof data49.scriptFormat !== "string"){const err179 = {keyword:"type",dataPath:dataPath+"/properties/" + i4+"/binding/scriptFormat",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/properties/scriptFormat/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err179];}else {vErrors.push(err179);}errors++;}}if(data49.source !== undefined){if(typeof data49.source !== "string"){const err180 = {keyword:"type",dataPath:dataPath+"/properties/" + i4+"/binding/source",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/properties/source/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err180];}else {vErrors.push(err180);}errors++;}}if(data49.target !== undefined){if(typeof data49.target !== "string"){const err181 = {keyword:"type",dataPath:dataPath+"/properties/" + i4+"/binding/target",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/properties/target/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err181];}else {vErrors.push(err181);}errors++;}}if(data49.expression !== undefined){if(typeof data49.expression !== "boolean"){const err182 = {keyword:"type",dataPath:dataPath+"/properties/" + i4+"/binding/expression",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/properties/expression/type",params:{type: "boolean"},message:"should be boolean"};if(vErrors === null){vErrors = [err182];}else {vErrors.push(err182);}errors++;}}if(data49.variables !== undefined){let data62 = data49.variables;if(typeof data62 !== "string"){const err183 = {keyword:"type",dataPath:dataPath+"/properties/" + i4+"/binding/variables",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/properties/variables/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err183];}else {vErrors.push(err183);}errors++;}if(!((data62 === "all") || (data62 === "local"))){const err184 = {keyword:"enum",dataPath:dataPath+"/properties/" + i4+"/binding/variables",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/properties/variables/enum",params:{allowedValues: schema18$1.allOf[1].items.properties.binding.properties.variables.enum},message:"should be equal to one of the allowed values"};if(vErrors === null){vErrors = [err184];}else {vErrors.push(err184);}errors++;}}if(data49.sourceExpression !== undefined){if(typeof data49.sourceExpression !== "string"){const err185 = {keyword:"type",dataPath:dataPath+"/properties/" + i4+"/binding/sourceExpression",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/properties/sourceExpression/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err185];}else {vErrors.push(err185);}errors++;}}}else {const err186 = {keyword:"type",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err186];}else {vErrors.push(err186);}errors++;}}}else {const err187 = {keyword:"type",dataPath:dataPath+"/properties/" + i4,schemaPath:"#/definitions/properties/allOf/1/items/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err187];}else {vErrors.push(err187);}errors++;}if(errors > 0){const emErrors6 = {"required":{"binding":[]}};const templates6 = {required:{binding:function(){return "missing binding for property \"" + JSON.stringify(i4) + "\""}}};let emPropParams3;let emParamsErrors3;for(const err188 of vErrors){if((((((err188.keyword !== "errorMessage") && (!err188.emUsed)) && (err188.dataPath === dataPath+"/properties/" + i4)) && (err188.keyword in emErrors6)) && (err188.schemaPath.indexOf("#/definitions/properties/allOf/1/items") === 0)) && (/^\/[^\/]*$/.test(err188.schemaPath.slice(38)))){emPropParams3 = obj0$1[err188.keyword];emParamsErrors3 = emErrors6[err188.keyword][err188.params[emPropParams3]];if(emParamsErrors3){emParamsErrors3.push(err188);err188.emUsed = true;}}}for(const key6 in emErrors6){for(const keyProp3 in emErrors6[key6]){emParamsErrors3 = emErrors6[key6][keyProp3];if(emParamsErrors3.length){const tmpl3 = templates6[key6] && templates6[key6][keyProp3];const err189 = {keyword:"errorMessage",dataPath:dataPath+"/properties/" + i4,schemaPath:"#/definitions/properties/allOf/1/items/errorMessage",params:{errors: emParamsErrors3},message:tmpl3 ? tmpl3() : schema18$1.allOf[1].items.errorMessage[key6][keyProp3]};if(vErrors === null){vErrors = [err189];}else {vErrors.push(err189);}errors++;}}}const emErrs30 = [];for(const err190 of vErrors){if(!err190.emUsed){emErrs30.push(err190);}}vErrors = emErrs30;errors = emErrs30.length;}}}else {const err191 = {keyword:"type",dataPath:dataPath+"/properties",schemaPath:"#/definitions/properties/allOf/1/type",params:{type: "array"},message:"should be array"};if(vErrors === null){vErrors = [err191];}else {vErrors.push(err191);}errors++;}}if(data.scopes !== undefined){let data64 = data.scopes;if(Array.isArray(data64)){const len5 = data64.length;for(let i5=0; i5<len5; i5++){let data65 = data64[i5];const _errs195 = errors;let valid75 = true;const _errs196 = errors;if(data65 && typeof data65 == "object" && !Array.isArray(data65)){if((data65.type === undefined) && ("type")){const err192 = {};if(vErrors === null){vErrors = [err192];}else {vErrors.push(err192);}errors++;}else {if(data65.type !== undefined){if(!(data65.type === "bpmn:Error")){const err193 = {};if(vErrors === null){vErrors = [err193];}else {vErrors.push(err193);}errors++;}}}}var _valid17 = _errs196 === errors;errors = _errs195;if(vErrors !== null){if(_errs195){vErrors.length = _errs195;}else {vErrors = null;}}if(_valid17){const _errs198 = errors;if(data65 && typeof data65 == "object" && !Array.isArray(data65)){if(data65.id === undefined){const err194 = {keyword:"required",dataPath:dataPath+"/scopes/" + i5,schemaPath:"#/properties/scopes/items/allOf/0/then/required",params:{missingProperty: "id"},message:"should have required property '"+"id"+"'"};if(vErrors === null){vErrors = [err194];}else {vErrors.push(err194);}errors++;}}if(errors > 0){const emErrs31 = [];for(const err195 of vErrors){if(((((err195.keyword !== "errorMessage") && (!err195.emUsed)) && ((err195.dataPath === dataPath+"/scopes/" + i5) || ((err195.dataPath.indexOf(dataPath+"/scopes/" + i5) === 0) && (err195.dataPath[dataPath+"/scopes/" + i5.length] === "/")))) && (err195.schemaPath.indexOf("#/properties/scopes/items/allOf/0/then") === 0)) && (err195.schemaPath["#/properties/scopes/items/allOf/0/then".length] === "/")){emErrs31.push(err195);err195.emUsed = true;}}if(emErrs31.length){const err196 = {keyword:"errorMessage",dataPath:dataPath+"/scopes/" + i5,schemaPath:"#/properties/scopes/items/allOf/0/then/errorMessage",params:{errors: emErrs31},message:"invalid scope " + JSON.stringify(data65 && data65.type) + ", missing id"};if(vErrors === null){vErrors = [err196];}else {vErrors.push(err196);}errors++;}const emErrs32 = [];for(const err197 of vErrors){if(!err197.emUsed){emErrs32.push(err197);}}vErrors = emErrs32;errors = emErrs32.length;}var _valid17 = _errs198 === errors;valid75 = _valid17;}if(!valid75){const err198 = {keyword:"if",dataPath:dataPath+"/scopes/" + i5,schemaPath:"#/properties/scopes/items/allOf/0/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err198];}else {vErrors.push(err198);}errors++;}if(data65 && typeof data65 == "object" && !Array.isArray(data65)){if(data65.type === undefined){const err199 = {keyword:"required",dataPath:dataPath+"/scopes/" + i5,schemaPath:"#/properties/scopes/items/required",params:{missingProperty: "type"},message:"should have required property '"+"type"+"'"};if(vErrors === null){vErrors = [err199];}else {vErrors.push(err199);}errors++;}if(data65.properties === undefined){const err200 = {keyword:"required",dataPath:dataPath+"/scopes/" + i5,schemaPath:"#/properties/scopes/items/required",params:{missingProperty: "properties"},message:"should have required property '"+"properties"+"'"};if(vErrors === null){vErrors = [err200];}else {vErrors.push(err200);}errors++;}if(data65.type !== undefined){let data67 = data65.type;if(typeof data67 !== "string"){const err201 = {keyword:"type",dataPath:dataPath+"/scopes/" + i5+"/type",schemaPath:"#/properties/scopes/items/properties/type/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err201];}else {vErrors.push(err201);}errors++;}if(!((data67 === "camunda:Connector") || (data67 === "bpmn:Error"))){const err202 = {keyword:"enum",dataPath:dataPath+"/scopes/" + i5+"/type",schemaPath:"#/properties/scopes/items/properties/type/enum",params:{allowedValues: schema17$1.properties.scopes.items.properties.type.enum},message:"should be equal to one of the allowed values"};if(vErrors === null){vErrors = [err202];}else {vErrors.push(err202);}errors++;}if(errors > 0){const emErrs33 = [];for(const err203 of vErrors){if(((((err203.keyword !== "errorMessage") && (!err203.emUsed)) && ((err203.dataPath === dataPath+"/scopes/" + i5+"/type") || ((err203.dataPath.indexOf(dataPath+"/scopes/" + i5+"/type") === 0) && (err203.dataPath[dataPath+"/scopes/" + i5+"/type".length] === "/")))) && (err203.schemaPath.indexOf("#/properties/scopes/items/properties/type") === 0)) && (err203.schemaPath["#/properties/scopes/items/properties/type".length] === "/")){emErrs33.push(err203);err203.emUsed = true;}}if(emErrs33.length){const err204 = {keyword:"errorMessage",dataPath:dataPath+"/scopes/" + i5+"/type",schemaPath:"#/properties/scopes/items/properties/type/errorMessage",params:{errors: emErrs33},message:"invalid scope type " + JSON.stringify(data67) + "; must be any of { camunda:Connector, bpmn:Error }"};if(vErrors === null){vErrors = [err204];}else {vErrors.push(err204);}errors++;}const emErrs34 = [];for(const err205 of vErrors){if(!err205.emUsed){emErrs34.push(err205);}}vErrors = emErrs34;errors = emErrs34.length;}}if(data65.properties !== undefined){let data68 = data65.properties;if(Array.isArray(data68)){const len6 = data68.length;for(let i6=0; i6<len6; i6++){let data69 = data68[i6];const _errs208 = errors;let valid84 = true;const _errs209 = errors;if(data69 && typeof data69 == "object" && !Array.isArray(data69)){if((data69.type === undefined) && ("type")){const err206 = {};if(vErrors === null){vErrors = [err206];}else {vErrors.push(err206);}errors++;}else {if(data69.type !== undefined){if(!equal(data69.type, "Dropdown")){const err207 = {};if(vErrors === null){vErrors = [err207];}else {vErrors.push(err207);}errors++;}}}}var _valid18 = _errs209 === errors;errors = _errs208;if(vErrors !== null){if(_errs208){vErrors.length = _errs208;}else {vErrors = null;}}if(_valid18){const _errs211 = errors;if(data69 && typeof data69 == "object" && !Array.isArray(data69)){if(data69.choices === undefined){const err208 = {keyword:"required",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i6,schemaPath:"#/definitions/properties/allOf/0/items/allOf/0/then/required",params:{missingProperty: "choices"},message:"should have required property '"+"choices"+"'"};if(vErrors === null){vErrors = [err208];}else {vErrors.push(err208);}errors++;}}if(errors > 0){const emErrs35 = [];for(const err209 of vErrors){if(((((err209.keyword !== "errorMessage") && (!err209.emUsed)) && ((err209.dataPath === dataPath+"/scopes/" + i5+"/properties/" + i6) || ((err209.dataPath.indexOf(dataPath+"/scopes/" + i5+"/properties/" + i6) === 0) && (err209.dataPath[dataPath+"/scopes/" + i5+"/properties/" + i6.length] === "/")))) && (err209.schemaPath.indexOf("#/definitions/properties/allOf/0/items/allOf/0/then") === 0)) && (err209.schemaPath["#/definitions/properties/allOf/0/items/allOf/0/then".length] === "/")){emErrs35.push(err209);err209.emUsed = true;}}if(emErrs35.length){const err210 = {keyword:"errorMessage",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i6,schemaPath:"#/definitions/properties/allOf/0/items/allOf/0/then/errorMessage",params:{errors: emErrs35},message:"must provide choices=[] with \"Dropdown\" type"};if(vErrors === null){vErrors = [err210];}else {vErrors.push(err210);}errors++;}const emErrs36 = [];for(const err211 of vErrors){if(!err211.emUsed){emErrs36.push(err211);}}vErrors = emErrs36;errors = emErrs36.length;}var _valid18 = _errs211 === errors;valid84 = _valid18;}if(!valid84){const err212 = {keyword:"if",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i6,schemaPath:"#/definitions/properties/allOf/0/items/allOf/0/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err212];}else {vErrors.push(err212);}errors++;}if(data69 && typeof data69 == "object" && !Array.isArray(data69)){if(data69.value !== undefined){let data71 = data69.value;if((typeof data71 !== "string") && (typeof data71 !== "boolean")){const err213 = {keyword:"type",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i6+"/value",schemaPath:"#/definitions/properties/allOf/0/items/properties/value/type",params:{type: schema19.items.properties.value.type},message:"should be string,boolean"};if(vErrors === null){vErrors = [err213];}else {vErrors.push(err213);}errors++;}}if(data69.description !== undefined){if(typeof data69.description !== "string"){const err214 = {keyword:"type",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i6+"/description",schemaPath:"#/definitions/properties/allOf/0/items/properties/description/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err214];}else {vErrors.push(err214);}errors++;}}if(data69.label !== undefined){if(typeof data69.label !== "string"){const err215 = {keyword:"type",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i6+"/label",schemaPath:"#/definitions/properties/allOf/0/items/properties/label/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err215];}else {vErrors.push(err215);}errors++;}}if(data69.type !== undefined){if(typeof data69.type !== "string"){const err216 = {keyword:"type",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i6+"/type",schemaPath:"#/definitions/properties/allOf/0/items/properties/type/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err216];}else {vErrors.push(err216);}errors++;}}if(data69.editable !== undefined){if(typeof data69.editable !== "boolean"){const err217 = {keyword:"type",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i6+"/editable",schemaPath:"#/definitions/properties/allOf/0/items/properties/editable/type",params:{type: "boolean"},message:"should be boolean"};if(vErrors === null){vErrors = [err217];}else {vErrors.push(err217);}errors++;}}if(data69.choices !== undefined){let data76 = data69.choices;if(Array.isArray(data76)){const len7 = data76.length;for(let i7=0; i7<len7; i7++){let data77 = data76[i7];if(data77 && typeof data77 == "object" && !Array.isArray(data77)){if(data77.value === undefined){const err218 = {keyword:"required",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i6+"/choices/" + i7,schemaPath:"#/definitions/properties/allOf/0/items/properties/choices/items/required",params:{missingProperty: "value"},message:"should have required property '"+"value"+"'"};if(vErrors === null){vErrors = [err218];}else {vErrors.push(err218);}errors++;}if(data77.name === undefined){const err219 = {keyword:"required",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i6+"/choices/" + i7,schemaPath:"#/definitions/properties/allOf/0/items/properties/choices/items/required",params:{missingProperty: "name"},message:"should have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err219];}else {vErrors.push(err219);}errors++;}if(data77.name !== undefined){if(typeof data77.name !== "string"){const err220 = {keyword:"type",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i6+"/choices/" + i7+"/name",schemaPath:"#/definitions/properties/allOf/0/items/properties/choices/items/properties/name/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err220];}else {vErrors.push(err220);}errors++;}}if(data77.value !== undefined){if(typeof data77.value !== "string"){const err221 = {keyword:"type",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i6+"/choices/" + i7+"/value",schemaPath:"#/definitions/properties/allOf/0/items/properties/choices/items/properties/value/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err221];}else {vErrors.push(err221);}errors++;}}}else {const err222 = {keyword:"type",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i6+"/choices/" + i7,schemaPath:"#/definitions/properties/allOf/0/items/properties/choices/items/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err222];}else {vErrors.push(err222);}errors++;}if(errors > 0){const emErrs37 = [];for(const err223 of vErrors){if(((((err223.keyword !== "errorMessage") && (!err223.emUsed)) && ((err223.dataPath === dataPath+"/scopes/" + i5+"/properties/" + i6+"/choices/" + i7) || ((err223.dataPath.indexOf(dataPath+"/scopes/" + i5+"/properties/" + i6+"/choices/" + i7) === 0) && (err223.dataPath[dataPath+"/scopes/" + i5+"/properties/" + i6+"/choices/" + i7.length] === "/")))) && (err223.schemaPath.indexOf("#/definitions/properties/allOf/0/items/properties/choices/items") === 0)) && (err223.schemaPath["#/definitions/properties/allOf/0/items/properties/choices/items".length] === "/")){emErrs37.push(err223);err223.emUsed = true;}}if(emErrs37.length){const err224 = {keyword:"errorMessage",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i6+"/choices/" + i7,schemaPath:"#/definitions/properties/allOf/0/items/properties/choices/items/errorMessage",params:{errors: emErrs37},message:"{ name, value } must be specified for \"Dropdown\" choices"};if(vErrors === null){vErrors = [err224];}else {vErrors.push(err224);}errors++;}const emErrs38 = [];for(const err225 of vErrors){if(!err225.emUsed){emErrs38.push(err225);}}vErrors = emErrs38;errors = emErrs38.length;}}}else {const err226 = {keyword:"type",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i6+"/choices",schemaPath:"#/definitions/properties/allOf/0/items/properties/choices/type",params:{type: "array"},message:"should be array"};if(vErrors === null){vErrors = [err226];}else {vErrors.push(err226);}errors++;}}if(data69.constraints !== undefined){let data80 = data69.constraints;if(data80 && typeof data80 == "object" && !Array.isArray(data80)){if(data80.notEmpty !== undefined){if(typeof data80.notEmpty !== "boolean"){const err227 = {keyword:"type",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i6+"/constraints/notEmpty",schemaPath:"#/definitions/properties/allOf/0/items/properties/constraints/properties/notEmpty/type",params:{type: "boolean"},message:"should be boolean"};if(vErrors === null){vErrors = [err227];}else {vErrors.push(err227);}errors++;}}if(data80.minLength !== undefined){if(!(typeof data80.minLength == "number")){const err228 = {keyword:"type",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i6+"/constraints/minLength",schemaPath:"#/definitions/properties/allOf/0/items/properties/constraints/properties/minLength/type",params:{type: "number"},message:"should be number"};if(vErrors === null){vErrors = [err228];}else {vErrors.push(err228);}errors++;}}if(data80.maxLength !== undefined){if(!(typeof data80.maxLength == "number")){const err229 = {keyword:"type",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i6+"/constraints/maxLength",schemaPath:"#/definitions/properties/allOf/0/items/properties/constraints/properties/maxLength/type",params:{type: "number"},message:"should be number"};if(vErrors === null){vErrors = [err229];}else {vErrors.push(err229);}errors++;}}if(data80.pattern !== undefined){let data84 = data80.pattern;const _errs239 = errors;let valid92 = false;let passing3 = null;const _errs240 = errors;if(data84 && typeof data84 == "object" && !Array.isArray(data84)){if(data84.value !== undefined){if(typeof data84.value !== "string"){const err230 = {keyword:"type",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i6+"/constraints/pattern/value",schemaPath:"#/definitions/properties/allOf/0/items/properties/constraints/properties/pattern/oneOf/0/properties/value/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err230];}else {vErrors.push(err230);}errors++;}}if(data84.message !== undefined){if(typeof data84.message !== "string"){const err231 = {keyword:"type",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i6+"/constraints/pattern/message",schemaPath:"#/definitions/properties/allOf/0/items/properties/constraints/properties/pattern/oneOf/0/properties/message/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err231];}else {vErrors.push(err231);}errors++;}}}else {const err232 = {keyword:"type",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i6+"/constraints/pattern",schemaPath:"#/definitions/properties/allOf/0/items/properties/constraints/properties/pattern/oneOf/0/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err232];}else {vErrors.push(err232);}errors++;}var _valid19 = _errs240 === errors;if(_valid19){valid92 = true;passing3 = 0;}const _errs246 = errors;if(typeof data84 !== "string"){const err233 = {keyword:"type",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i6+"/constraints/pattern",schemaPath:"#/definitions/properties/allOf/0/items/properties/constraints/properties/pattern/oneOf/1/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err233];}else {vErrors.push(err233);}errors++;}var _valid19 = _errs246 === errors;if(_valid19 && valid92){valid92 = false;passing3 = [passing3, 1];}else {if(_valid19){valid92 = true;passing3 = 1;}}if(!valid92){const err234 = {keyword:"oneOf",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i6+"/constraints/pattern",schemaPath:"#/definitions/properties/allOf/0/items/properties/constraints/properties/pattern/oneOf",params:{passingSchemas: passing3},message:"should match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err234];}else {vErrors.push(err234);}errors++;}else {errors = _errs239;if(vErrors !== null){if(_errs239){vErrors.length = _errs239;}else {vErrors = null;}}}}}else {const err235 = {keyword:"type",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i6+"/constraints",schemaPath:"#/definitions/properties/allOf/0/items/properties/constraints/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err235];}else {vErrors.push(err235);}errors++;}}if(data69.group !== undefined){if(typeof data69.group !== "string"){const err236 = {keyword:"type",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i6+"/group",schemaPath:"#/definitions/properties/allOf/0/items/properties/group/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err236];}else {vErrors.push(err236);}errors++;}}}else {const err237 = {keyword:"type",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i6,schemaPath:"#/definitions/properties/allOf/0/items/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err237];}else {vErrors.push(err237);}errors++;}}}else {const err238 = {keyword:"type",dataPath:dataPath+"/scopes/" + i5+"/properties",schemaPath:"#/definitions/properties/allOf/0/type",params:{type: "array"},message:"should be array"};if(vErrors === null){vErrors = [err238];}else {vErrors.push(err238);}errors++;}if(Array.isArray(data68)){const len8 = data68.length;for(let i8=0; i8<len8; i8++){let data88 = data68[i8];const _errs256 = errors;let valid98 = true;const _errs257 = errors;if(data88 && typeof data88 == "object" && !Array.isArray(data88)){if((data88.binding === undefined) && ("binding")){const err239 = {};if(vErrors === null){vErrors = [err239];}else {vErrors.push(err239);}errors++;}else {if(data88.binding !== undefined){let data89 = data88.binding;if(data89 && typeof data89 == "object" && !Array.isArray(data89)){if((data89.type === undefined) && ("type")){const err240 = {};if(vErrors === null){vErrors = [err240];}else {vErrors.push(err240);}errors++;}else {if(data89.type !== undefined){if(!equal(data89.type, "property")){const err241 = {};if(vErrors === null){vErrors = [err241];}else {vErrors.push(err241);}errors++;}}}}}}}var _valid20 = _errs257 === errors;errors = _errs256;if(vErrors !== null){if(_errs256){vErrors.length = _errs256;}else {vErrors = null;}}if(_valid20){const _errs260 = errors;if(data88 && typeof data88 == "object" && !Array.isArray(data88)){if(data88.type !== undefined){let data91 = data88.type;if(!(((((data91 === "String") || (data91 === "Text")) || (data91 === "Hidden")) || (data91 === "Dropdown")) || (data91 === "Boolean"))){const err242 = {keyword:"enum",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/type",schemaPath:"#/definitions/properties/allOf/1/items/allOf/0/then/properties/type/enum",params:{allowedValues: schema20.items.allOf[0].then.properties.type.enum},message:"should be equal to one of the allowed values"};if(vErrors === null){vErrors = [err242];}else {vErrors.push(err242);}errors++;}if(errors > 0){const emErrs39 = [];for(const err243 of vErrors){if(((((err243.keyword !== "errorMessage") && (!err243.emUsed)) && ((err243.dataPath === dataPath+"/scopes/" + i5+"/properties/" + i8+"/type") || ((err243.dataPath.indexOf(dataPath+"/scopes/" + i5+"/properties/" + i8+"/type") === 0) && (err243.dataPath[dataPath+"/scopes/" + i5+"/properties/" + i8+"/type".length] === "/")))) && (err243.schemaPath.indexOf("#/definitions/properties/allOf/1/items/allOf/0/then/properties/type") === 0)) && (err243.schemaPath["#/definitions/properties/allOf/1/items/allOf/0/then/properties/type".length] === "/")){emErrs39.push(err243);err243.emUsed = true;}}if(emErrs39.length){const err244 = {keyword:"errorMessage",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/type",schemaPath:"#/definitions/properties/allOf/1/items/allOf/0/then/properties/type/errorMessage",params:{errors: emErrs39},message:"invalid property type " + JSON.stringify(data91) + " for binding type \"property\"; must be any of { String, Text, Hidden, Dropdown, Boolean }"};if(vErrors === null){vErrors = [err244];}else {vErrors.push(err244);}errors++;}const emErrs40 = [];for(const err245 of vErrors){if(!err245.emUsed){emErrs40.push(err245);}}vErrors = emErrs40;errors = emErrs40.length;}}}var _valid20 = _errs260 === errors;valid98 = _valid20;}if(!valid98){const err246 = {keyword:"if",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8,schemaPath:"#/definitions/properties/allOf/1/items/allOf/0/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err246];}else {vErrors.push(err246);}errors++;}const _errs263 = errors;let valid102 = true;const _errs264 = errors;if(data88 && typeof data88 == "object" && !Array.isArray(data88)){if((data88.binding === undefined) && ("binding")){const err247 = {};if(vErrors === null){vErrors = [err247];}else {vErrors.push(err247);}errors++;}else {if(data88.binding !== undefined){let data92 = data88.binding;if(data92 && typeof data92 == "object" && !Array.isArray(data92)){if((data92.type === undefined) && ("type")){const err248 = {};if(vErrors === null){vErrors = [err248];}else {vErrors.push(err248);}errors++;}else {if(data92.type !== undefined){if(!equal(data92.type, "camunda:executionListener")){const err249 = {};if(vErrors === null){vErrors = [err249];}else {vErrors.push(err249);}errors++;}}}}}}}var _valid21 = _errs264 === errors;errors = _errs263;if(vErrors !== null){if(_errs263){vErrors.length = _errs263;}else {vErrors = null;}}if(_valid21){const _errs267 = errors;if(data88 && typeof data88 == "object" && !Array.isArray(data88)){if(data88.type !== undefined){if(!(data88.type === "Hidden")){const err250 = {keyword:"enum",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/type",schemaPath:"#/definitions/properties/allOf/1/items/allOf/1/then/properties/type/enum",params:{allowedValues: schema20.items.allOf[1].then.properties.type.enum},message:"should be equal to one of the allowed values"};if(vErrors === null){vErrors = [err250];}else {vErrors.push(err250);}errors++;}if(errors > 0){const emErrs41 = [];for(const err251 of vErrors){if(((((err251.keyword !== "errorMessage") && (!err251.emUsed)) && ((err251.dataPath === dataPath+"/scopes/" + i5+"/properties/" + i8+"/type") || ((err251.dataPath.indexOf(dataPath+"/scopes/" + i5+"/properties/" + i8+"/type") === 0) && (err251.dataPath[dataPath+"/scopes/" + i5+"/properties/" + i8+"/type".length] === "/")))) && (err251.schemaPath.indexOf("#/definitions/properties/allOf/1/items/allOf/1/then/properties/type") === 0)) && (err251.schemaPath["#/definitions/properties/allOf/1/items/allOf/1/then/properties/type".length] === "/")){emErrs41.push(err251);err251.emUsed = true;}}if(emErrs41.length){const err252 = {keyword:"errorMessage",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/type",schemaPath:"#/definitions/properties/allOf/1/items/allOf/1/then/properties/type/errorMessage",params:{errors: emErrs41},message:"invalid property type " + JSON.stringify(data88 && data88.type) + " for binding type \"camunda:executionListener\"; must be \"Hidden\""};if(vErrors === null){vErrors = [err252];}else {vErrors.push(err252);}errors++;}const emErrs42 = [];for(const err253 of vErrors){if(!err253.emUsed){emErrs42.push(err253);}}vErrors = emErrs42;errors = emErrs42.length;}}}var _valid21 = _errs267 === errors;valid102 = _valid21;}if(!valid102){const err254 = {keyword:"if",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8,schemaPath:"#/definitions/properties/allOf/1/items/allOf/1/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err254];}else {vErrors.push(err254);}errors++;}const _errs270 = errors;let valid106 = true;const _errs271 = errors;if(data88 && typeof data88 == "object" && !Array.isArray(data88)){if((data88.binding === undefined) && ("binding")){const err255 = {};if(vErrors === null){vErrors = [err255];}else {vErrors.push(err255);}errors++;}else {if(data88.binding !== undefined){let data95 = data88.binding;if(data95 && typeof data95 == "object" && !Array.isArray(data95)){if((data95.type === undefined) && ("type")){const err256 = {};if(vErrors === null){vErrors = [err256];}else {vErrors.push(err256);}errors++;}else {if(data95.type !== undefined){let data96 = data95.type;if(!((((((data96 === "camunda:property") || (data96 === "camunda:outputParameter")) || (data96 === "camunda:in")) || (data96 === "camunda:in:businessKey")) || (data96 === "camunda:out")) || (data96 === "camunda:errorEventDefinition"))){const err257 = {};if(vErrors === null){vErrors = [err257];}else {vErrors.push(err257);}errors++;}}}}}}}var _valid22 = _errs271 === errors;errors = _errs270;if(vErrors !== null){if(_errs270){vErrors.length = _errs270;}else {vErrors = null;}}if(_valid22){const _errs274 = errors;if(data88 && typeof data88 == "object" && !Array.isArray(data88)){if(data88.type !== undefined){let data97 = data88.type;if(!(((data97 === "String") || (data97 === "Hidden")) || (data97 === "Dropdown"))){const err258 = {keyword:"enum",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/type",schemaPath:"#/definitions/properties/allOf/1/items/allOf/2/then/properties/type/enum",params:{allowedValues: schema20.items.allOf[2].then.properties.type.enum},message:"should be equal to one of the allowed values"};if(vErrors === null){vErrors = [err258];}else {vErrors.push(err258);}errors++;}if(errors > 0){const emErrs43 = [];for(const err259 of vErrors){if(((((err259.keyword !== "errorMessage") && (!err259.emUsed)) && ((err259.dataPath === dataPath+"/scopes/" + i5+"/properties/" + i8+"/type") || ((err259.dataPath.indexOf(dataPath+"/scopes/" + i5+"/properties/" + i8+"/type") === 0) && (err259.dataPath[dataPath+"/scopes/" + i5+"/properties/" + i8+"/type".length] === "/")))) && (err259.schemaPath.indexOf("#/definitions/properties/allOf/1/items/allOf/2/then/properties/type") === 0)) && (err259.schemaPath["#/definitions/properties/allOf/1/items/allOf/2/then/properties/type".length] === "/")){emErrs43.push(err259);err259.emUsed = true;}}if(emErrs43.length){const err260 = {keyword:"errorMessage",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/type",schemaPath:"#/definitions/properties/allOf/1/items/allOf/2/then/properties/type/errorMessage",params:{errors: emErrs43},message:"invalid property type " + JSON.stringify(data97) + " for binding type " + JSON.stringify(data88 && data88.binding && data88.binding.type) + "; must be any of { String, Hidden, Dropdown }"};if(vErrors === null){vErrors = [err260];}else {vErrors.push(err260);}errors++;}const emErrs44 = [];for(const err261 of vErrors){if(!err261.emUsed){emErrs44.push(err261);}}vErrors = emErrs44;errors = emErrs44.length;}}}var _valid22 = _errs274 === errors;valid106 = _valid22;}if(!valid106){const err262 = {keyword:"if",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8,schemaPath:"#/definitions/properties/allOf/1/items/allOf/2/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err262];}else {vErrors.push(err262);}errors++;}const _errs277 = errors;let valid110 = true;const _errs278 = errors;if(data88 && typeof data88 == "object" && !Array.isArray(data88)){if((data88.binding === undefined) && ("binding")){const err263 = {};if(vErrors === null){vErrors = [err263];}else {vErrors.push(err263);}errors++;}else {if(data88.binding !== undefined){let data98 = data88.binding;if(data98 && typeof data98 == "object" && !Array.isArray(data98)){if((data98.type === undefined) && ("type")){const err264 = {};if(vErrors === null){vErrors = [err264];}else {vErrors.push(err264);}errors++;}else {if(data98.type !== undefined){let data99 = data98.type;if(!((data99 === "camunda:inputParameter") || (data99 === "camunda:field"))){const err265 = {};if(vErrors === null){vErrors = [err265];}else {vErrors.push(err265);}errors++;}}}}}}}var _valid23 = _errs278 === errors;errors = _errs277;if(vErrors !== null){if(_errs277){vErrors.length = _errs277;}else {vErrors = null;}}if(_valid23){const _errs281 = errors;if(data88 && typeof data88 == "object" && !Array.isArray(data88)){if(data88.type !== undefined){let data100 = data88.type;if(!((((data100 === "String") || (data100 === "Text")) || (data100 === "Hidden")) || (data100 === "Dropdown"))){const err266 = {keyword:"enum",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/type",schemaPath:"#/definitions/properties/allOf/1/items/allOf/3/then/properties/type/enum",params:{allowedValues: schema20.items.allOf[3].then.properties.type.enum},message:"should be equal to one of the allowed values"};if(vErrors === null){vErrors = [err266];}else {vErrors.push(err266);}errors++;}if(errors > 0){const emErrs45 = [];for(const err267 of vErrors){if(((((err267.keyword !== "errorMessage") && (!err267.emUsed)) && ((err267.dataPath === dataPath+"/scopes/" + i5+"/properties/" + i8+"/type") || ((err267.dataPath.indexOf(dataPath+"/scopes/" + i5+"/properties/" + i8+"/type") === 0) && (err267.dataPath[dataPath+"/scopes/" + i5+"/properties/" + i8+"/type".length] === "/")))) && (err267.schemaPath.indexOf("#/definitions/properties/allOf/1/items/allOf/3/then/properties/type") === 0)) && (err267.schemaPath["#/definitions/properties/allOf/1/items/allOf/3/then/properties/type".length] === "/")){emErrs45.push(err267);err267.emUsed = true;}}if(emErrs45.length){const err268 = {keyword:"errorMessage",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/type",schemaPath:"#/definitions/properties/allOf/1/items/allOf/3/then/properties/type/errorMessage",params:{errors: emErrs45},message:"invalid property type " + JSON.stringify(data100) + " for binding type " + JSON.stringify(data88 && data88.binding && data88.binding.type) + "; must be any of { String, Text, Hidden, Dropdown }"};if(vErrors === null){vErrors = [err268];}else {vErrors.push(err268);}errors++;}const emErrs46 = [];for(const err269 of vErrors){if(!err269.emUsed){emErrs46.push(err269);}}vErrors = emErrs46;errors = emErrs46.length;}}}var _valid23 = _errs281 === errors;valid110 = _valid23;}if(!valid110){const err270 = {keyword:"if",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8,schemaPath:"#/definitions/properties/allOf/1/items/allOf/3/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err270];}else {vErrors.push(err270);}errors++;}if(data88 && typeof data88 == "object" && !Array.isArray(data88)){if(data88.binding === undefined){const err271 = {keyword:"required",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8,schemaPath:"#/definitions/properties/allOf/1/items/required",params:{missingProperty: "binding"},message:"should have required property '"+"binding"+"'"};if(vErrors === null){vErrors = [err271];}else {vErrors.push(err271);}errors++;}if(data88.binding !== undefined){let data101 = data88.binding;const _errs286 = errors;let valid116 = true;const _errs287 = errors;if(data101 && typeof data101 == "object" && !Array.isArray(data101)){if((data101.type === undefined) && ("type")){const err272 = {};if(vErrors === null){vErrors = [err272];}else {vErrors.push(err272);}errors++;}else {if(data101.type !== undefined){let data102 = data101.type;if(!((((data102 === "property") || (data102 === "camunda:property")) || (data102 === "camunda:inputParameter")) || (data102 === "camunda:field"))){const err273 = {};if(vErrors === null){vErrors = [err273];}else {vErrors.push(err273);}errors++;}}}}var _valid24 = _errs287 === errors;errors = _errs286;if(vErrors !== null){if(_errs286){vErrors.length = _errs286;}else {vErrors = null;}}if(_valid24){const _errs289 = errors;if(data101 && typeof data101 == "object" && !Array.isArray(data101)){if(data101.name === undefined){const err274 = {keyword:"required",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/0/then/required",params:{missingProperty: "name"},message:"should have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err274];}else {vErrors.push(err274);}errors++;}}if(errors > 0){const emErrs47 = [];for(const err275 of vErrors){if(((((err275.keyword !== "errorMessage") && (!err275.emUsed)) && ((err275.dataPath === dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding") || ((err275.dataPath.indexOf(dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding") === 0) && (err275.dataPath[dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding".length] === "/")))) && (err275.schemaPath.indexOf("#/definitions/properties/allOf/1/items/properties/binding/allOf/0/then") === 0)) && (err275.schemaPath["#/definitions/properties/allOf/1/items/properties/binding/allOf/0/then".length] === "/")){emErrs47.push(err275);err275.emUsed = true;}}if(emErrs47.length){const err276 = {keyword:"errorMessage",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/0/then/errorMessage",params:{errors: emErrs47},message:"property.binding " + JSON.stringify(data101 && data101.type) + " requires name"};if(vErrors === null){vErrors = [err276];}else {vErrors.push(err276);}errors++;}const emErrs48 = [];for(const err277 of vErrors){if(!err277.emUsed){emErrs48.push(err277);}}vErrors = emErrs48;errors = emErrs48.length;}var _valid24 = _errs289 === errors;valid116 = _valid24;}if(!valid116){const err278 = {keyword:"if",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/0/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err278];}else {vErrors.push(err278);}errors++;}const _errs291 = errors;let valid118 = true;const _errs292 = errors;if(data101 && typeof data101 == "object" && !Array.isArray(data101)){if((data101.type === undefined) && ("type")){const err279 = {};if(vErrors === null){vErrors = [err279];}else {vErrors.push(err279);}errors++;}else {if(data101.type !== undefined){if(!equal(data101.type, "camunda:outputParameter")){const err280 = {};if(vErrors === null){vErrors = [err280];}else {vErrors.push(err280);}errors++;}}}}var _valid25 = _errs292 === errors;errors = _errs291;if(vErrors !== null){if(_errs291){vErrors.length = _errs291;}else {vErrors = null;}}if(_valid25){const _errs294 = errors;if(data101 && typeof data101 == "object" && !Array.isArray(data101)){if(data101.source === undefined){const err281 = {keyword:"required",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/1/then/required",params:{missingProperty: "source"},message:"should have required property '"+"source"+"'"};if(vErrors === null){vErrors = [err281];}else {vErrors.push(err281);}errors++;}}if(errors > 0){const emErrs49 = [];for(const err282 of vErrors){if(((((err282.keyword !== "errorMessage") && (!err282.emUsed)) && ((err282.dataPath === dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding") || ((err282.dataPath.indexOf(dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding") === 0) && (err282.dataPath[dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding".length] === "/")))) && (err282.schemaPath.indexOf("#/definitions/properties/allOf/1/items/properties/binding/allOf/1/then") === 0)) && (err282.schemaPath["#/definitions/properties/allOf/1/items/properties/binding/allOf/1/then".length] === "/")){emErrs49.push(err282);err282.emUsed = true;}}if(emErrs49.length){const err283 = {keyword:"errorMessage",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/1/then/errorMessage",params:{errors: emErrs49},message:"property.binding " + JSON.stringify(data101 && data101.type) + " requires source"};if(vErrors === null){vErrors = [err283];}else {vErrors.push(err283);}errors++;}const emErrs50 = [];for(const err284 of vErrors){if(!err284.emUsed){emErrs50.push(err284);}}vErrors = emErrs50;errors = emErrs50.length;}var _valid25 = _errs294 === errors;valid118 = _valid25;}if(!valid118){const err285 = {keyword:"if",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/1/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err285];}else {vErrors.push(err285);}errors++;}const _errs296 = errors;let valid120 = true;const _errs297 = errors;if(data101 && typeof data101 == "object" && !Array.isArray(data101)){if((data101.type === undefined) && ("type")){const err286 = {};if(vErrors === null){vErrors = [err286];}else {vErrors.push(err286);}errors++;}else {if(data101.type !== undefined){if(!equal(data101.type, "camunda:in")){const err287 = {};if(vErrors === null){vErrors = [err287];}else {vErrors.push(err287);}errors++;}}}}var _valid26 = _errs297 === errors;errors = _errs296;if(vErrors !== null){if(_errs296){vErrors.length = _errs296;}else {vErrors = null;}}if(_valid26){const _errs299 = errors;const _errs300 = errors;let valid122 = false;const _errs301 = errors;if(data101 && typeof data101 == "object" && !Array.isArray(data101)){if(data101.variables === undefined){const err288 = {keyword:"required",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/2/then/anyOf/0/required",params:{missingProperty: "variables"},message:"should have required property '"+"variables"+"'"};if(vErrors === null){vErrors = [err288];}else {vErrors.push(err288);}errors++;}}var _valid27 = _errs301 === errors;valid122 = valid122 || _valid27;if(!valid122){const _errs302 = errors;if(data101 && typeof data101 == "object" && !Array.isArray(data101)){if(data101.target === undefined){const err289 = {keyword:"required",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/2/then/anyOf/1/required",params:{missingProperty: "target"},message:"should have required property '"+"target"+"'"};if(vErrors === null){vErrors = [err289];}else {vErrors.push(err289);}errors++;}}var _valid27 = _errs302 === errors;valid122 = valid122 || _valid27;}if(!valid122){const err290 = {keyword:"anyOf",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/2/then/anyOf",params:{},message:"should match some schema in anyOf"};if(vErrors === null){vErrors = [err290];}else {vErrors.push(err290);}errors++;}else {errors = _errs300;if(vErrors !== null){if(_errs300){vErrors.length = _errs300;}else {vErrors = null;}}}if(errors > 0){const emErrs51 = [];for(const err291 of vErrors){if(((((err291.keyword !== "errorMessage") && (!err291.emUsed)) && ((err291.dataPath === dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding") || ((err291.dataPath.indexOf(dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding") === 0) && (err291.dataPath[dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding".length] === "/")))) && (err291.schemaPath.indexOf("#/definitions/properties/allOf/1/items/properties/binding/allOf/2/then") === 0)) && (err291.schemaPath["#/definitions/properties/allOf/1/items/properties/binding/allOf/2/then".length] === "/")){emErrs51.push(err291);err291.emUsed = true;}}if(emErrs51.length){const err292 = {keyword:"errorMessage",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/2/then/errorMessage",params:{errors: emErrs51},message:"property.binding " + JSON.stringify(data101 && data101.type) + " requires variables, target, or both"};if(vErrors === null){vErrors = [err292];}else {vErrors.push(err292);}errors++;}const emErrs52 = [];for(const err293 of vErrors){if(!err293.emUsed){emErrs52.push(err293);}}vErrors = emErrs52;errors = emErrs52.length;}var _valid26 = _errs299 === errors;valid120 = _valid26;}if(!valid120){const err294 = {keyword:"if",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/2/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err294];}else {vErrors.push(err294);}errors++;}const _errs304 = errors;let valid123 = true;const _errs305 = errors;if(data101 && typeof data101 == "object" && !Array.isArray(data101)){if((data101.type === undefined) && ("type")){const err295 = {};if(vErrors === null){vErrors = [err295];}else {vErrors.push(err295);}errors++;}else {if(data101.type !== undefined){if(!equal(data101.type, "camunda:out")){const err296 = {};if(vErrors === null){vErrors = [err296];}else {vErrors.push(err296);}errors++;}}}}var _valid28 = _errs305 === errors;errors = _errs304;if(vErrors !== null){if(_errs304){vErrors.length = _errs304;}else {vErrors = null;}}if(_valid28){const _errs307 = errors;const _errs308 = errors;let valid125 = false;let passing4 = null;const _errs309 = errors;const _errs310 = errors;const _errs311 = errors;const _errs312 = errors;let valid127 = false;const _errs313 = errors;if(data101 && typeof data101 == "object" && !Array.isArray(data101)){if((data101.source === undefined) && ("source")){const err297 = {};if(vErrors === null){vErrors = [err297];}else {vErrors.push(err297);}errors++;}}var _valid30 = _errs313 === errors;valid127 = valid127 || _valid30;if(!valid127){const _errs314 = errors;if(data101 && typeof data101 == "object" && !Array.isArray(data101)){if((data101.sourceExpression === undefined) && ("sourceExpression")){const err298 = {};if(vErrors === null){vErrors = [err298];}else {vErrors.push(err298);}errors++;}}var _valid30 = _errs314 === errors;valid127 = valid127 || _valid30;}if(!valid127){const err299 = {};if(vErrors === null){vErrors = [err299];}else {vErrors.push(err299);}errors++;}else {errors = _errs312;if(vErrors !== null){if(_errs312){vErrors.length = _errs312;}else {vErrors = null;}}}var valid126 = _errs311 === errors;if(!valid126){errors = _errs310;if(vErrors !== null){if(_errs310){vErrors.length = _errs310;}else {vErrors = null;}}}else {const err300 = {keyword:"not",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/3/then/oneOf/0/not",params:{},message:"should NOT be valid"};if(vErrors === null){vErrors = [err300];}else {vErrors.push(err300);}errors++;}if(data101 && typeof data101 == "object" && !Array.isArray(data101)){if(data101.variables === undefined){const err301 = {keyword:"required",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/3/then/oneOf/0/required",params:{missingProperty: "variables"},message:"should have required property '"+"variables"+"'"};if(vErrors === null){vErrors = [err301];}else {vErrors.push(err301);}errors++;}}var _valid29 = _errs309 === errors;if(_valid29){valid125 = true;passing4 = 0;}const _errs315 = errors;const _errs316 = errors;const _errs317 = errors;const _errs318 = errors;let valid129 = false;const _errs319 = errors;if(data101 && typeof data101 == "object" && !Array.isArray(data101)){if((data101.variables === undefined) && ("variables")){const err302 = {};if(vErrors === null){vErrors = [err302];}else {vErrors.push(err302);}errors++;}}var _valid31 = _errs319 === errors;valid129 = valid129 || _valid31;if(!valid129){const _errs320 = errors;if(data101 && typeof data101 == "object" && !Array.isArray(data101)){if((data101.sourceExpression === undefined) && ("sourceExpression")){const err303 = {};if(vErrors === null){vErrors = [err303];}else {vErrors.push(err303);}errors++;}}var _valid31 = _errs320 === errors;valid129 = valid129 || _valid31;}if(!valid129){const err304 = {};if(vErrors === null){vErrors = [err304];}else {vErrors.push(err304);}errors++;}else {errors = _errs318;if(vErrors !== null){if(_errs318){vErrors.length = _errs318;}else {vErrors = null;}}}var valid128 = _errs317 === errors;if(!valid128){errors = _errs316;if(vErrors !== null){if(_errs316){vErrors.length = _errs316;}else {vErrors = null;}}}else {const err305 = {keyword:"not",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/3/then/oneOf/1/not",params:{},message:"should NOT be valid"};if(vErrors === null){vErrors = [err305];}else {vErrors.push(err305);}errors++;}if(data101 && typeof data101 == "object" && !Array.isArray(data101)){if(data101.source === undefined){const err306 = {keyword:"required",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/3/then/oneOf/1/required",params:{missingProperty: "source"},message:"should have required property '"+"source"+"'"};if(vErrors === null){vErrors = [err306];}else {vErrors.push(err306);}errors++;}}var _valid29 = _errs315 === errors;if(_valid29 && valid125){valid125 = false;passing4 = [passing4, 1];}else {if(_valid29){valid125 = true;passing4 = 1;}const _errs321 = errors;const _errs322 = errors;const _errs323 = errors;const _errs324 = errors;let valid131 = false;const _errs325 = errors;if(data101 && typeof data101 == "object" && !Array.isArray(data101)){if((data101.variables === undefined) && ("variables")){const err307 = {};if(vErrors === null){vErrors = [err307];}else {vErrors.push(err307);}errors++;}}var _valid32 = _errs325 === errors;valid131 = valid131 || _valid32;if(!valid131){const _errs326 = errors;if(data101 && typeof data101 == "object" && !Array.isArray(data101)){if((data101.source === undefined) && ("source")){const err308 = {};if(vErrors === null){vErrors = [err308];}else {vErrors.push(err308);}errors++;}}var _valid32 = _errs326 === errors;valid131 = valid131 || _valid32;}if(!valid131){const err309 = {};if(vErrors === null){vErrors = [err309];}else {vErrors.push(err309);}errors++;}else {errors = _errs324;if(vErrors !== null){if(_errs324){vErrors.length = _errs324;}else {vErrors = null;}}}var valid130 = _errs323 === errors;if(!valid130){errors = _errs322;if(vErrors !== null){if(_errs322){vErrors.length = _errs322;}else {vErrors = null;}}}else {const err310 = {keyword:"not",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/3/then/oneOf/2/not",params:{},message:"should NOT be valid"};if(vErrors === null){vErrors = [err310];}else {vErrors.push(err310);}errors++;}if(data101 && typeof data101 == "object" && !Array.isArray(data101)){if(data101.sourceExpression === undefined){const err311 = {keyword:"required",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/3/then/oneOf/2/required",params:{missingProperty: "sourceExpression"},message:"should have required property '"+"sourceExpression"+"'"};if(vErrors === null){vErrors = [err311];}else {vErrors.push(err311);}errors++;}}var _valid29 = _errs321 === errors;if(_valid29 && valid125){valid125 = false;passing4 = [passing4, 2];}else {if(_valid29){valid125 = true;passing4 = 2;}const _errs327 = errors;const _errs328 = errors;const _errs329 = errors;if(data101 && typeof data101 == "object" && !Array.isArray(data101)){if((data101.source === undefined) && ("source")){const err312 = {};if(vErrors === null){vErrors = [err312];}else {vErrors.push(err312);}errors++;}}var valid132 = _errs329 === errors;if(!valid132){errors = _errs328;if(vErrors !== null){if(_errs328){vErrors.length = _errs328;}else {vErrors = null;}}}else {const err313 = {keyword:"not",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/3/then/oneOf/3/not",params:{},message:"should NOT be valid"};if(vErrors === null){vErrors = [err313];}else {vErrors.push(err313);}errors++;}if(data101 && typeof data101 == "object" && !Array.isArray(data101)){if(data101.variables === undefined){const err314 = {keyword:"required",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/3/then/oneOf/3/required",params:{missingProperty: "variables"},message:"should have required property '"+"variables"+"'"};if(vErrors === null){vErrors = [err314];}else {vErrors.push(err314);}errors++;}if(data101.sourceExpression === undefined){const err315 = {keyword:"required",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/3/then/oneOf/3/required",params:{missingProperty: "sourceExpression"},message:"should have required property '"+"sourceExpression"+"'"};if(vErrors === null){vErrors = [err315];}else {vErrors.push(err315);}errors++;}}var _valid29 = _errs327 === errors;if(_valid29 && valid125){valid125 = false;passing4 = [passing4, 3];}else {if(_valid29){valid125 = true;passing4 = 3;}const _errs330 = errors;const _errs331 = errors;const _errs332 = errors;if(data101 && typeof data101 == "object" && !Array.isArray(data101)){if((data101.sourceExpression === undefined) && ("sourceExpression")){const err316 = {};if(vErrors === null){vErrors = [err316];}else {vErrors.push(err316);}errors++;}}var valid133 = _errs332 === errors;if(!valid133){errors = _errs331;if(vErrors !== null){if(_errs331){vErrors.length = _errs331;}else {vErrors = null;}}}else {const err317 = {keyword:"not",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/3/then/oneOf/4/not",params:{},message:"should NOT be valid"};if(vErrors === null){vErrors = [err317];}else {vErrors.push(err317);}errors++;}if(data101 && typeof data101 == "object" && !Array.isArray(data101)){if(data101.variables === undefined){const err318 = {keyword:"required",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/3/then/oneOf/4/required",params:{missingProperty: "variables"},message:"should have required property '"+"variables"+"'"};if(vErrors === null){vErrors = [err318];}else {vErrors.push(err318);}errors++;}if(data101.source === undefined){const err319 = {keyword:"required",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/3/then/oneOf/4/required",params:{missingProperty: "source"},message:"should have required property '"+"source"+"'"};if(vErrors === null){vErrors = [err319];}else {vErrors.push(err319);}errors++;}}var _valid29 = _errs330 === errors;if(_valid29 && valid125){valid125 = false;passing4 = [passing4, 4];}else {if(_valid29){valid125 = true;passing4 = 4;}}}}}if(!valid125){const err320 = {keyword:"oneOf",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/3/then/oneOf",params:{passingSchemas: passing4},message:"should match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err320];}else {vErrors.push(err320);}errors++;}else {errors = _errs308;if(vErrors !== null){if(_errs308){vErrors.length = _errs308;}else {vErrors = null;}}}if(errors > 0){const emErrs53 = [];for(const err321 of vErrors){if(((((err321.keyword !== "errorMessage") && (!err321.emUsed)) && ((err321.dataPath === dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding") || ((err321.dataPath.indexOf(dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding") === 0) && (err321.dataPath[dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding".length] === "/")))) && (err321.schemaPath.indexOf("#/definitions/properties/allOf/1/items/properties/binding/allOf/3/then") === 0)) && (err321.schemaPath["#/definitions/properties/allOf/1/items/properties/binding/allOf/3/then".length] === "/")){emErrs53.push(err321);err321.emUsed = true;}}if(emErrs53.length){const err322 = {keyword:"errorMessage",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/3/then/errorMessage",params:{errors: emErrs53},message:"property.binding " + JSON.stringify(data101 && data101.type) + " requires one of the following: variables, sourceExpression, source, (sourceExpression and variables), or (source and variables)"};if(vErrors === null){vErrors = [err322];}else {vErrors.push(err322);}errors++;}const emErrs54 = [];for(const err323 of vErrors){if(!err323.emUsed){emErrs54.push(err323);}}vErrors = emErrs54;errors = emErrs54.length;}var _valid28 = _errs307 === errors;valid123 = _valid28;}if(!valid123){const err324 = {keyword:"if",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/3/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err324];}else {vErrors.push(err324);}errors++;}const _errs334 = errors;let valid134 = true;const _errs335 = errors;if(data101 && typeof data101 == "object" && !Array.isArray(data101)){if((data101.type === undefined) && ("type")){const err325 = {};if(vErrors === null){vErrors = [err325];}else {vErrors.push(err325);}errors++;}else {if(data101.type !== undefined){if(!equal(data101.type, "camunda:errorEventDefinition")){const err326 = {};if(vErrors === null){vErrors = [err326];}else {vErrors.push(err326);}errors++;}}}}var _valid33 = _errs335 === errors;errors = _errs334;if(vErrors !== null){if(_errs334){vErrors.length = _errs334;}else {vErrors = null;}}if(_valid33){const _errs337 = errors;const _errs338 = errors;let valid136 = false;let passing5 = null;const _errs339 = errors;if(data101 && typeof data101 == "object" && !Array.isArray(data101)){if(data101.errorRef === undefined){const err327 = {keyword:"required",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/4/then/oneOf/0/required",params:{missingProperty: "errorRef"},message:"should have required property '"+"errorRef"+"'"};if(vErrors === null){vErrors = [err327];}else {vErrors.push(err327);}errors++;}}var _valid34 = _errs339 === errors;if(_valid34){valid136 = true;passing5 = 0;}if(!valid136){const err328 = {keyword:"oneOf",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/4/then/oneOf",params:{passingSchemas: passing5},message:"should match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err328];}else {vErrors.push(err328);}errors++;}else {errors = _errs338;if(vErrors !== null){if(_errs338){vErrors.length = _errs338;}else {vErrors = null;}}}if(errors > 0){const emErrs55 = [];for(const err329 of vErrors){if(((((err329.keyword !== "errorMessage") && (!err329.emUsed)) && ((err329.dataPath === dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding") || ((err329.dataPath.indexOf(dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding") === 0) && (err329.dataPath[dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding".length] === "/")))) && (err329.schemaPath.indexOf("#/definitions/properties/allOf/1/items/properties/binding/allOf/4/then") === 0)) && (err329.schemaPath["#/definitions/properties/allOf/1/items/properties/binding/allOf/4/then".length] === "/")){emErrs55.push(err329);err329.emUsed = true;}}if(emErrs55.length){const err330 = {keyword:"errorMessage",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/4/then/errorMessage",params:{errors: emErrs55},message:"property.binding " + JSON.stringify(data101 && data101.type) + " requires errorRef"};if(vErrors === null){vErrors = [err330];}else {vErrors.push(err330);}errors++;}const emErrs56 = [];for(const err331 of vErrors){if(!err331.emUsed){emErrs56.push(err331);}}vErrors = emErrs56;errors = emErrs56.length;}var _valid33 = _errs337 === errors;valid134 = _valid33;}if(!valid134){const err332 = {keyword:"if",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/4/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err332];}else {vErrors.push(err332);}errors++;}if(data101 && typeof data101 == "object" && !Array.isArray(data101)){if(data101.type === undefined){const err333 = {keyword:"required",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/required",params:{missingProperty: "type"},message:"should have required property '"+"type"+"'"};if(vErrors === null){vErrors = [err333];}else {vErrors.push(err333);}errors++;}if(data101.type !== undefined){let data107 = data101.type;if(typeof data107 !== "string"){const err334 = {keyword:"type",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding/type",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/properties/type/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err334];}else {vErrors.push(err334);}errors++;}if(!((((((((((data107 === "property") || (data107 === "camunda:property")) || (data107 === "camunda:inputParameter")) || (data107 === "camunda:outputParameter")) || (data107 === "camunda:in")) || (data107 === "camunda:out")) || (data107 === "camunda:in:businessKey")) || (data107 === "camunda:executionListener")) || (data107 === "camunda:field")) || (data107 === "camunda:errorEventDefinition"))){const err335 = {keyword:"enum",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding/type",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/properties/type/enum",params:{allowedValues: schema20.items.properties.binding.properties.type.enum},message:"should be equal to one of the allowed values"};if(vErrors === null){vErrors = [err335];}else {vErrors.push(err335);}errors++;}if(errors > 0){const emErrs57 = [];for(const err336 of vErrors){if(((((err336.keyword !== "errorMessage") && (!err336.emUsed)) && ((err336.dataPath === dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding/type") || ((err336.dataPath.indexOf(dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding/type") === 0) && (err336.dataPath[dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding/type".length] === "/")))) && (err336.schemaPath.indexOf("#/definitions/properties/allOf/1/items/properties/binding/properties/type") === 0)) && (err336.schemaPath["#/definitions/properties/allOf/1/items/properties/binding/properties/type".length] === "/")){emErrs57.push(err336);err336.emUsed = true;}}if(emErrs57.length){const err337 = {keyword:"errorMessage",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding/type",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/properties/type/errorMessage",params:{errors: emErrs57},message:"invalid property.binding type " + JSON.stringify(data107) + "; must be any of { property, camunda:property, camunda:inputParameter, camunda:outputParameter, camunda:in, camunda:out, camunda:in:businessKey, camunda:executionListener, camunda:field, camunda:errorEventDefinition }"};if(vErrors === null){vErrors = [err337];}else {vErrors.push(err337);}errors++;}const emErrs58 = [];for(const err338 of vErrors){if(!err338.emUsed){emErrs58.push(err338);}}vErrors = emErrs58;errors = emErrs58.length;}}if(data101.name !== undefined){if(typeof data101.name !== "string"){const err339 = {keyword:"type",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding/name",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/properties/name/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err339];}else {vErrors.push(err339);}errors++;}}if(data101.event !== undefined){if(typeof data101.event !== "string"){const err340 = {keyword:"type",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding/event",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/properties/event/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err340];}else {vErrors.push(err340);}errors++;}}if(data101.scriptFormat !== undefined){if(typeof data101.scriptFormat !== "string"){const err341 = {keyword:"type",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding/scriptFormat",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/properties/scriptFormat/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err341];}else {vErrors.push(err341);}errors++;}}if(data101.source !== undefined){if(typeof data101.source !== "string"){const err342 = {keyword:"type",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding/source",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/properties/source/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err342];}else {vErrors.push(err342);}errors++;}}if(data101.target !== undefined){if(typeof data101.target !== "string"){const err343 = {keyword:"type",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding/target",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/properties/target/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err343];}else {vErrors.push(err343);}errors++;}}if(data101.expression !== undefined){if(typeof data101.expression !== "boolean"){const err344 = {keyword:"type",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding/expression",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/properties/expression/type",params:{type: "boolean"},message:"should be boolean"};if(vErrors === null){vErrors = [err344];}else {vErrors.push(err344);}errors++;}}if(data101.variables !== undefined){let data114 = data101.variables;if(typeof data114 !== "string"){const err345 = {keyword:"type",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding/variables",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/properties/variables/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err345];}else {vErrors.push(err345);}errors++;}if(!((data114 === "all") || (data114 === "local"))){const err346 = {keyword:"enum",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding/variables",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/properties/variables/enum",params:{allowedValues: schema20.items.properties.binding.properties.variables.enum},message:"should be equal to one of the allowed values"};if(vErrors === null){vErrors = [err346];}else {vErrors.push(err346);}errors++;}}if(data101.sourceExpression !== undefined){if(typeof data101.sourceExpression !== "string"){const err347 = {keyword:"type",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding/sourceExpression",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/properties/sourceExpression/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err347];}else {vErrors.push(err347);}errors++;}}}else {const err348 = {keyword:"type",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err348];}else {vErrors.push(err348);}errors++;}}}else {const err349 = {keyword:"type",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8,schemaPath:"#/definitions/properties/allOf/1/items/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err349];}else {vErrors.push(err349);}errors++;}if(errors > 0){const emErrors7 = {"required":{"binding":[]}};const templates7 = {required:{binding:function(){return "missing binding for property \"" + JSON.stringify(i8) + "\""}}};let emPropParams4;let emParamsErrors4;for(const err350 of vErrors){if((((((err350.keyword !== "errorMessage") && (!err350.emUsed)) && (err350.dataPath === dataPath+"/scopes/" + i5+"/properties/" + i8)) && (err350.keyword in emErrors7)) && (err350.schemaPath.indexOf("#/definitions/properties/allOf/1/items") === 0)) && (/^\/[^\/]*$/.test(err350.schemaPath.slice(38)))){emPropParams4 = obj0$1[err350.keyword];emParamsErrors4 = emErrors7[err350.keyword][err350.params[emPropParams4]];if(emParamsErrors4){emParamsErrors4.push(err350);err350.emUsed = true;}}}for(const key7 in emErrors7){for(const keyProp4 in emErrors7[key7]){emParamsErrors4 = emErrors7[key7][keyProp4];if(emParamsErrors4.length){const tmpl4 = templates7[key7] && templates7[key7][keyProp4];const err351 = {keyword:"errorMessage",dataPath:dataPath+"/scopes/" + i5+"/properties/" + i8,schemaPath:"#/definitions/properties/allOf/1/items/errorMessage",params:{errors: emParamsErrors4},message:tmpl4 ? tmpl4() : schema20.items.errorMessage[key7][keyProp4]};if(vErrors === null){vErrors = [err351];}else {vErrors.push(err351);}errors++;}}}const emErrs59 = [];for(const err352 of vErrors){if(!err352.emUsed){emErrs59.push(err352);}}vErrors = emErrs59;errors = emErrs59.length;}}}else {const err353 = {keyword:"type",dataPath:dataPath+"/scopes/" + i5+"/properties",schemaPath:"#/definitions/properties/allOf/1/type",params:{type: "array"},message:"should be array"};if(vErrors === null){vErrors = [err353];}else {vErrors.push(err353);}errors++;}}}else {const err354 = {keyword:"type",dataPath:dataPath+"/scopes/" + i5,schemaPath:"#/properties/scopes/items/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err354];}else {vErrors.push(err354);}errors++;}if(errors > 0){const emErrors8 = {"required":{"type":[],"properties":[]}};const templates8 = {required:{properties:function(){return "invalid scope " + JSON.stringify(data65 && data65.type) + ", missing properties=[]"}}};let emPropParams5;let emParamsErrors5;for(const err355 of vErrors){if((((((err355.keyword !== "errorMessage") && (!err355.emUsed)) && (err355.dataPath === dataPath+"/scopes/" + i5)) && (err355.keyword in emErrors8)) && (err355.schemaPath.indexOf("#/properties/scopes/items") === 0)) && (/^\/[^\/]*$/.test(err355.schemaPath.slice(25)))){emPropParams5 = obj0$1[err355.keyword];emParamsErrors5 = emErrors8[err355.keyword][err355.params[emPropParams5]];if(emParamsErrors5){emParamsErrors5.push(err355);err355.emUsed = true;}}}for(const key8 in emErrors8){for(const keyProp5 in emErrors8[key8]){emParamsErrors5 = emErrors8[key8][keyProp5];if(emParamsErrors5.length){const tmpl5 = templates8[key8] && templates8[key8][keyProp5];const err356 = {keyword:"errorMessage",dataPath:dataPath+"/scopes/" + i5,schemaPath:"#/properties/scopes/items/errorMessage",params:{errors: emParamsErrors5},message:tmpl5 ? tmpl5() : schema17$1.properties.scopes.items.errorMessage[key8][keyProp5]};if(vErrors === null){vErrors = [err356];}else {vErrors.push(err356);}errors++;}}}const emErrs60 = [];for(const err357 of vErrors){if(!err357.emUsed){emErrs60.push(err357);}}vErrors = emErrs60;errors = emErrs60.length;}}}else {const err358 = {keyword:"type",dataPath:dataPath+"/scopes",schemaPath:"#/properties/scopes/type",params:{type: "array"},message:"should be array"};if(vErrors === null){vErrors = [err358];}else {vErrors.push(err358);}errors++;}}}else {const err359 = {keyword:"type",dataPath,schemaPath:"#/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err359];}else {vErrors.push(err359);}errors++;}validate15$1.errors = vErrors;return errors === 0;}function validate14$1(data, {dataPath="", parentData, parentDataProperty, rootData=data}={}){let vErrors = null;let errors = 0;const _errs0 = errors;let valid0 = false;let passing0 = null;const _errs1 = errors;if(!(validate15$1(data, {dataPath,parentData,parentDataProperty,rootData}))){vErrors = vErrors === null ? validate15$1.errors : vErrors.concat(validate15$1.errors);errors = vErrors.length;}var _valid0 = _errs1 === errors;if(_valid0){valid0 = true;passing0 = 0;}const _errs2 = errors;if(Array.isArray(data)){const len0 = data.length;for(let i0=0; i0<len0; i0++){if(!(validate15$1(data[i0], {dataPath:dataPath+"/" + i0,parentData:data,parentDataProperty:i0,rootData}))){vErrors = vErrors === null ? validate15$1.errors : vErrors.concat(validate15$1.errors);errors = vErrors.length;}}}else {const err0 = {keyword:"type",dataPath,schemaPath:"#/oneOf/1/type",params:{type: "array"},message:"should be array"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}var _valid0 = _errs2 === errors;if(_valid0 && valid0){valid0 = false;passing0 = [passing0, 1];}else {if(_valid0){valid0 = true;passing0 = 1;}}if(!valid0){const err1 = {keyword:"oneOf",dataPath,schemaPath:"#/oneOf",params:{passingSchemas: passing0},message:"should match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}else {errors = _errs0;if(vErrors !== null){if(_errs0){vErrors.length = _errs0;}else {vErrors = null;}}}validate14$1.errors = vErrors;return errors === 0;}
63459
63459
  standaloneValidator.default = _default$1;
63460
63460
 
63461
63461
  var escapedChars = {
@@ -64031,9 +64031,9 @@
64031
64031
  }
64032
64032
 
64033
64033
  var name$6 = "@camunda/zeebe-element-templates-json-schema";
64034
- var version = "0.2.0";
64034
+ var version = "0.4.1";
64035
64035
 
64036
- var standaloneZeebeValidator = validate14;var _default = validate14;const schema17 = {"type":"object","allOf":[{"required":["name","id","appliesTo","properties"],"properties":{"name":{"$id":"#/name","type":"string","description":"The name of the element template."},"id":{"$id":"#/id","type":"string","description":"The identifier of the element template."},"description":{"$id":"#/description","type":"string","description":"The description of the element template."},"version":{"$id":"#/version","type":"number","description":"Optional version of the template. If you add a version to a template it will be considered unique based on its ID and version. Two templates can have the same ID if their version is different."},"isDefault":{"$id":"#/isDefault","type":"boolean","description":"Indicates whether the element template is a default template."},"appliesTo":{"$id":"#/appliesTo","type":"array","description":"List of BPMN types the template can be applied to.","default":[],"items":{"$id":"#/appliesTo/items","type":"string","pattern":"^(.*?:)","errorMessage":{"pattern":"invalid item for \"appliesTo\", should contain namespaced property, example: \"bpmn:Task\""},"allOf":[{"examples":["bpmn:Task","bpmn:ServiceTask","bpmn:SequenceFlow","bpmn:Process","bpmn:StartEvent","bpmn:Gateway"]}]}},"metadata":{"$id":"#/metadata","type":"object","description":"Some custom properties for further configuration.","default":{}},"entriesVisible":{"$id":"#/entriesVisible","type":"boolean","description":"Select whether non-template entries are visible in the properties panel."},"groups":{"$id":"#/groups","type":"array","description":"Custom fields can be ordered together via groups.","allOf":[{"examples":[[{"id":"group-1","label":"My Group"}]]}],"items":{"$id":"#/groups/group","type":"object","default":{},"required":["id","label"],"errorMessage":{"required":{"id":"missing id for group \"${0#}\"","label":"missing label for group \"${0#}\""}},"properties":{"id":{"$id":"#/groups/group/id","type":"string","description":"The id of the custom group"},"label":{"$id":"#/groups/group/label","type":"string","description":"The label of the custom group"}}}}},"errorMessage":{"required":{"name":"missing template name","id":"missing template id","appliesTo":"missing appliesTo=[]","properties":"missing properties=[]"}}}],"properties":{"properties":{"$ref":"#/definitions/properties","$id":"#/properties"}}};const schema18 = {"allOf":[{"type":"array","description":"List of properties of the element template.","allOf":[{"examples":[[{"label":"Name","type":"String","binding":{"type":"property","name":"name"}}]]}],"items":{"type":"object","default":{},"allOf":[{"if":{"properties":{"type":{"const":"Dropdown"}},"required":["type"]},"then":{"required":["choices"],"errorMessage":"must provide choices=[] with \"Dropdown\" type"}}],"properties":{"value":{"$id":"#/properties/property/value","type":["string","boolean"],"description":"The value of a control field."},"description":{"$id":"#/properties/property/description","type":"string","description":"The description of a control field."},"label":{"$id":"#/properties/property/label","type":"string","description":"The label of a control field."},"type":{"$id":"#/properties/property/type","type":"string","description":"The type of a control field."},"editable":{"$id":"#/properties/property/editable","type":"boolean","description":"Indicates whether a control field is editable or not."},"choices":{"$id":"#/properties/property/choices","type":"array","description":"The choices for dropdown fields.","default":[],"items":{"$id":"#/properties/property/choices/item","type":"object","default":{},"properties":{"name":{"$id":"#/properties/property/choices/item/name","type":"string","description":"The name of a choice."},"value":{"$id":"#/properties/property/choices/item/value","type":"string","description":"The value of a choice."}},"required":["value","name"],"errorMessage":"{ name, value } must be specified for \"Dropdown\" choices"}},"constraints":{"$id":"#/properties/property/constraints","type":"object","description":"The validation constraints of a control field.","allOf":[{"examples":[{"notEmpty":true}]}],"properties":{"notEmpty":{"$id":"#/properties/property/constraints/notEmpty","type":"boolean","description":"The control field must not be empty."},"minLength":{"$id":"#/properties/property/constraints/minLength","type":"number","description":"The minimal length of a control field value."},"maxLength":{"$id":"#/properties/property/constraints/maxLength","type":"number","description":"The maximal length for a control field value."},"pattern":{"$id":"#/properties/property/constraints/pattern","description":"A regular expression pattern for a constraint.","oneOf":[{"type":"object","default":{},"properties":{"value":{"$id":"#/properties/property/constraints/pattern/value","type":"string","description":"The regular expression of a pattern."},"message":{"$id":"#/properties/property/constraints/pattern/message","type":"string","description":"The validation message of a pattern."}}},{"type":"string"}]}}},"group":{"$id":"#/properties/property/group","type":"string","description":"The custom group of a control field."}}}},{"$schema":"http://json-schema.org/draft-07/schema","type":"array","description":"List of properties of the element template.","items":{"type":"object","default":{},"required":["binding"],"errorMessage":{"required":{"binding":"missing binding for property \"${0#}\""}},"allOf":[{"if":{"properties":{"binding":{"properties":{"type":{"const":"property"}},"required":["type"]}},"required":["binding"]},"then":{"properties":{"type":{"enum":["String","Text","Hidden","Dropdown","Boolean"],"errorMessage":"invalid property type ${0} for binding type \"property\"; must be any of { String, Text, Hidden, Dropdown, Boolean }"}}}},{"if":{"properties":{"binding":{"properties":{"type":{"enum":["zeebe:input","zeebe:output","zeebe:taskHeader","zeebe:taskDefinition:type"]}},"required":["type"]}},"required":["binding"]},"then":{"properties":{"type":{"enum":["String","Text","Hidden","Dropdown"],"errorMessage":"invalid property type ${0} for binding type ${1/binding/type}; must be any of { String, Text, Hidden, Dropdown }"}}}},{"if":{"properties":{"optional":{"const":true}},"required":["optional"]},"then":{"properties":{"binding":{"properties":{"type":{"enum":["zeebe:input","zeebe:output"],"errorMessage":"optional is not supported for binding type ${0}; must be any of { zeebe:input, zeebe:output }"}},"required":["type"]}}}},{"if":{"properties":{"optional":{"const":true}},"required":["optional"]},"then":{"properties":{"constraints":{"properties":{"notEmpty":{"const":false,"errorMessage":"optional is not allowed for truthy \"notEmpty\" constraint"}},"required":["notEmpty"]}}}},{"if":{"properties":{"feel":{"not":{"const":null}}},"required":["feel"]},"then":{"properties":{"type":{"enum":["String","Text"],"errorMessage":"feel is only supported for \"String\" and \"Text\" type"}},"required":["type"]}}],"properties":{"binding":{"$id":"#/properties/property/binding","type":"object","description":"Specifying how the property is mapped to BPMN or Zeebe extension elements and attributes.","required":["type"],"allOf":[{"if":{"properties":{"type":{"enum":["property","zeebe:input"]}},"required":["type"]},"then":{"required":["name"],"errorMessage":"property.binding ${0/type} requires name"}},{"if":{"properties":{"type":{"const":"zeebe:output"}},"required":["type"]},"then":{"required":["source"],"errorMessage":"property.binding ${0/type} requires source"}},{"if":{"properties":{"type":{"const":"zeebe:taskHeader"}},"required":["type"]},"then":{"required":["key"],"errorMessage":"property.binding ${0/type} requires key"}},{"examples":[{"type":"property","name":"name"},{"type":"zeebe:input","name":"input"},{"type":"zeebe:output","source":"output"},{"type":"zeebe:taskDefinition:type"},{"type":"zeebe:taskHeader","key":"key"}]}],"properties":{"type":{"$id":"#/properties/property/binding/type","type":"string","description":"The type of a property binding.","enum":["property","zeebe:taskDefinition:type","zeebe:input","zeebe:output","zeebe:taskHeader"],"errorMessage":"invalid property.binding type ${0}; must be any of { property, zeebe:taskDefinition:type, zeebe:input, zeebe:output, zeebe:taskHeader }"},"name":{"$id":"#/properties/property/binding/name","type":"string","description":"The name of a property binding."},"source":{"$id":"#/properties/property/binding/source","type":"string","description":"The source value of a property binding (zeebe:output)."},"key":{"$id":"#/properties/property/binding/key","type":"string","description":"The key value of a property binding (zeebe:taskHeader)."}}},"optional":{"$id":"#/optional","type":"boolean","description":"Indicates whether a property is optional. Optional bindings do not persist empty values in the underlying BPMN 2.0 XML."},"feel":{"$id":"#/properties/property/feel","type":"string","default":null,"description":"Indicates whether the property can be a feel expression","enum":[null,"optional","required"]}}}}]};const pattern0 = new RegExp("^(.*?:)", "u");const obj0 = {"required":"missingProperty","dependencies":"property","dependentRequired":"property"};function validate15(data, {dataPath="", parentData, parentDataProperty, rootData=data}={}){let vErrors = null;let errors = 0;if(data && typeof data == "object" && !Array.isArray(data)){if(data.name === undefined){const err0 = {keyword:"required",dataPath,schemaPath:"#/allOf/0/required",params:{missingProperty: "name"},message:"should have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data.id === undefined){const err1 = {keyword:"required",dataPath,schemaPath:"#/allOf/0/required",params:{missingProperty: "id"},message:"should have required property '"+"id"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}if(data.appliesTo === undefined){const err2 = {keyword:"required",dataPath,schemaPath:"#/allOf/0/required",params:{missingProperty: "appliesTo"},message:"should have required property '"+"appliesTo"+"'"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}if(data.properties === undefined){const err3 = {keyword:"required",dataPath,schemaPath:"#/allOf/0/required",params:{missingProperty: "properties"},message:"should have required property '"+"properties"+"'"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}if(data.name !== undefined){if(typeof data.name !== "string"){const err4 = {keyword:"type",dataPath:dataPath+"/name",schemaPath:"#/allOf/0/properties/name/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}}if(data.id !== undefined){if(typeof data.id !== "string"){const err5 = {keyword:"type",dataPath:dataPath+"/id",schemaPath:"#/allOf/0/properties/id/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}}if(data.description !== undefined){if(typeof data.description !== "string"){const err6 = {keyword:"type",dataPath:dataPath+"/description",schemaPath:"#/allOf/0/properties/description/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}}if(data.version !== undefined){if(!(typeof data.version == "number")){const err7 = {keyword:"type",dataPath:dataPath+"/version",schemaPath:"#/allOf/0/properties/version/type",params:{type: "number"},message:"should be number"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}}if(data.isDefault !== undefined){if(typeof data.isDefault !== "boolean"){const err8 = {keyword:"type",dataPath:dataPath+"/isDefault",schemaPath:"#/allOf/0/properties/isDefault/type",params:{type: "boolean"},message:"should be boolean"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}}if(data.appliesTo !== undefined){let data5 = data.appliesTo;if(Array.isArray(data5)){const len0 = data5.length;for(let i0=0; i0<len0; i0++){let data6 = data5[i0];if(typeof data6 === "string"){if(!pattern0.test(data6)){const err9 = {keyword:"pattern",dataPath:dataPath+"/appliesTo/" + i0,schemaPath:"#/allOf/0/properties/appliesTo/items/pattern",params:{pattern: "^(.*?:)"},message:"should match pattern \""+"^(.*?:)"+"\""};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}}else {const err10 = {keyword:"type",dataPath:dataPath+"/appliesTo/" + i0,schemaPath:"#/allOf/0/properties/appliesTo/items/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}if(errors > 0){const emErrors0 = {"pattern":[]};const templates0 = {};for(const err11 of vErrors){if((((((err11.keyword !== "errorMessage") && (!err11.emUsed)) && (err11.dataPath === dataPath+"/appliesTo/" + i0)) && (err11.keyword in emErrors0)) && (err11.schemaPath.indexOf("#/allOf/0/properties/appliesTo/items") === 0)) && (/^\/[^\/]*$/.test(err11.schemaPath.slice(36)))){emErrors0[err11.keyword].push(err11);err11.emUsed = true;}}for(const key0 in emErrors0){if(emErrors0[key0].length){const err12 = {keyword:"errorMessage",dataPath:dataPath+"/appliesTo/" + i0,schemaPath:"#/allOf/0/properties/appliesTo/items/errorMessage",params:{errors: emErrors0[key0]},message:key0 in templates0 ? templates0[key0]() : schema17.allOf[0].properties.appliesTo.items.errorMessage[key0]};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}}const emErrs0 = [];for(const err13 of vErrors){if(!err13.emUsed){emErrs0.push(err13);}}vErrors = emErrs0;errors = emErrs0.length;}}}else {const err14 = {keyword:"type",dataPath:dataPath+"/appliesTo",schemaPath:"#/allOf/0/properties/appliesTo/type",params:{type: "array"},message:"should be array"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}}if(data.metadata !== undefined){let data7 = data.metadata;if(!(data7 && typeof data7 == "object" && !Array.isArray(data7))){const err15 = {keyword:"type",dataPath:dataPath+"/metadata",schemaPath:"#/allOf/0/properties/metadata/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}}if(data.entriesVisible !== undefined){if(typeof data.entriesVisible !== "boolean"){const err16 = {keyword:"type",dataPath:dataPath+"/entriesVisible",schemaPath:"#/allOf/0/properties/entriesVisible/type",params:{type: "boolean"},message:"should be boolean"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}}if(data.groups !== undefined){let data9 = data.groups;if(Array.isArray(data9)){const len1 = data9.length;for(let i1=0; i1<len1; i1++){let data10 = data9[i1];if(data10 && typeof data10 == "object" && !Array.isArray(data10)){if(data10.id === undefined){const err17 = {keyword:"required",dataPath:dataPath+"/groups/" + i1,schemaPath:"#/allOf/0/properties/groups/items/required",params:{missingProperty: "id"},message:"should have required property '"+"id"+"'"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}if(data10.label === undefined){const err18 = {keyword:"required",dataPath:dataPath+"/groups/" + i1,schemaPath:"#/allOf/0/properties/groups/items/required",params:{missingProperty: "label"},message:"should have required property '"+"label"+"'"};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}if(data10.id !== undefined){if(typeof data10.id !== "string"){const err19 = {keyword:"type",dataPath:dataPath+"/groups/" + i1+"/id",schemaPath:"#/allOf/0/properties/groups/items/properties/id/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}}if(data10.label !== undefined){if(typeof data10.label !== "string"){const err20 = {keyword:"type",dataPath:dataPath+"/groups/" + i1+"/label",schemaPath:"#/allOf/0/properties/groups/items/properties/label/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}}}else {const err21 = {keyword:"type",dataPath:dataPath+"/groups/" + i1,schemaPath:"#/allOf/0/properties/groups/items/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}if(errors > 0){const emErrors1 = {"required":{"id":[],"label":[]}};const templates1 = {required:{id:function(){return "missing id for group \"" + JSON.stringify(i1) + "\""},label:function(){return "missing label for group \"" + JSON.stringify(i1) + "\""}}};let emPropParams0;let emParamsErrors0;for(const err22 of vErrors){if((((((err22.keyword !== "errorMessage") && (!err22.emUsed)) && (err22.dataPath === dataPath+"/groups/" + i1)) && (err22.keyword in emErrors1)) && (err22.schemaPath.indexOf("#/allOf/0/properties/groups/items") === 0)) && (/^\/[^\/]*$/.test(err22.schemaPath.slice(33)))){emPropParams0 = obj0[err22.keyword];emParamsErrors0 = emErrors1[err22.keyword][err22.params[emPropParams0]];if(emParamsErrors0){emParamsErrors0.push(err22);err22.emUsed = true;}}}for(const key1 in emErrors1){for(const keyProp0 in emErrors1[key1]){emParamsErrors0 = emErrors1[key1][keyProp0];if(emParamsErrors0.length){const tmpl0 = templates1[key1] && templates1[key1][keyProp0];const err23 = {keyword:"errorMessage",dataPath:dataPath+"/groups/" + i1,schemaPath:"#/allOf/0/properties/groups/items/errorMessage",params:{errors: emParamsErrors0},message:tmpl0 ? tmpl0() : schema17.allOf[0].properties.groups.items.errorMessage[key1][keyProp0]};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}}}const emErrs1 = [];for(const err24 of vErrors){if(!err24.emUsed){emErrs1.push(err24);}}vErrors = emErrs1;errors = emErrs1.length;}}}else {const err25 = {keyword:"type",dataPath:dataPath+"/groups",schemaPath:"#/allOf/0/properties/groups/type",params:{type: "array"},message:"should be array"};if(vErrors === null){vErrors = [err25];}else {vErrors.push(err25);}errors++;}}}if(errors > 0){const emErrors2 = {"required":{"name":[],"id":[],"appliesTo":[],"properties":[]}};const templates2 = {required:{}};let emPropParams1;let emParamsErrors1;for(const err26 of vErrors){if((((((err26.keyword !== "errorMessage") && (!err26.emUsed)) && (err26.dataPath === dataPath)) && (err26.keyword in emErrors2)) && (err26.schemaPath.indexOf("#/allOf/0") === 0)) && (/^\/[^\/]*$/.test(err26.schemaPath.slice(9)))){emPropParams1 = obj0[err26.keyword];emParamsErrors1 = emErrors2[err26.keyword][err26.params[emPropParams1]];if(emParamsErrors1){emParamsErrors1.push(err26);err26.emUsed = true;}}}for(const key2 in emErrors2){for(const keyProp1 in emErrors2[key2]){emParamsErrors1 = emErrors2[key2][keyProp1];if(emParamsErrors1.length){const tmpl1 = templates2[key2] && templates2[key2][keyProp1];const err27 = {keyword:"errorMessage",dataPath,schemaPath:"#/allOf/0/errorMessage",params:{errors: emParamsErrors1},message:tmpl1 ? tmpl1() : schema17.allOf[0].errorMessage[key2][keyProp1]};if(vErrors === null){vErrors = [err27];}else {vErrors.push(err27);}errors++;}}}const emErrs2 = [];for(const err28 of vErrors){if(!err28.emUsed){emErrs2.push(err28);}}vErrors = emErrs2;errors = emErrs2.length;}if(data && typeof data == "object" && !Array.isArray(data)){if(data.properties !== undefined){let data13 = data.properties;if(Array.isArray(data13)){const len2 = data13.length;for(let i2=0; i2<len2; i2++){let data14 = data13[i2];const _errs35 = errors;let valid16 = true;const _errs36 = errors;if(data14 && typeof data14 == "object" && !Array.isArray(data14)){if((data14.type === undefined) && ("type")){const err29 = {};if(vErrors === null){vErrors = [err29];}else {vErrors.push(err29);}errors++;}else {if(data14.type !== undefined){if(!equal(data14.type, "Dropdown")){const err30 = {};if(vErrors === null){vErrors = [err30];}else {vErrors.push(err30);}errors++;}}}}var _valid0 = _errs36 === errors;errors = _errs35;if(vErrors !== null){if(_errs35){vErrors.length = _errs35;}else {vErrors = null;}}if(_valid0){const _errs38 = errors;if(data14 && typeof data14 == "object" && !Array.isArray(data14)){if(data14.choices === undefined){const err31 = {keyword:"required",dataPath:dataPath+"/properties/" + i2,schemaPath:"#/definitions/properties/allOf/0/items/allOf/0/then/required",params:{missingProperty: "choices"},message:"should have required property '"+"choices"+"'"};if(vErrors === null){vErrors = [err31];}else {vErrors.push(err31);}errors++;}}if(errors > 0){const emErrs3 = [];for(const err32 of vErrors){if(((((err32.keyword !== "errorMessage") && (!err32.emUsed)) && ((err32.dataPath === dataPath+"/properties/" + i2) || ((err32.dataPath.indexOf(dataPath+"/properties/" + i2) === 0) && (err32.dataPath[dataPath+"/properties/" + i2.length] === "/")))) && (err32.schemaPath.indexOf("#/definitions/properties/allOf/0/items/allOf/0/then") === 0)) && (err32.schemaPath["#/definitions/properties/allOf/0/items/allOf/0/then".length] === "/")){emErrs3.push(err32);err32.emUsed = true;}}if(emErrs3.length){const err33 = {keyword:"errorMessage",dataPath:dataPath+"/properties/" + i2,schemaPath:"#/definitions/properties/allOf/0/items/allOf/0/then/errorMessage",params:{errors: emErrs3},message:"must provide choices=[] with \"Dropdown\" type"};if(vErrors === null){vErrors = [err33];}else {vErrors.push(err33);}errors++;}const emErrs4 = [];for(const err34 of vErrors){if(!err34.emUsed){emErrs4.push(err34);}}vErrors = emErrs4;errors = emErrs4.length;}var _valid0 = _errs38 === errors;valid16 = _valid0;}if(!valid16){const err35 = {keyword:"if",dataPath:dataPath+"/properties/" + i2,schemaPath:"#/definitions/properties/allOf/0/items/allOf/0/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err35];}else {vErrors.push(err35);}errors++;}if(data14 && typeof data14 == "object" && !Array.isArray(data14)){if(data14.value !== undefined){let data16 = data14.value;if((typeof data16 !== "string") && (typeof data16 !== "boolean")){const err36 = {keyword:"type",dataPath:dataPath+"/properties/" + i2+"/value",schemaPath:"#/definitions/properties/allOf/0/items/properties/value/type",params:{type: schema18.allOf[0].items.properties.value.type},message:"should be string,boolean"};if(vErrors === null){vErrors = [err36];}else {vErrors.push(err36);}errors++;}}if(data14.description !== undefined){if(typeof data14.description !== "string"){const err37 = {keyword:"type",dataPath:dataPath+"/properties/" + i2+"/description",schemaPath:"#/definitions/properties/allOf/0/items/properties/description/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err37];}else {vErrors.push(err37);}errors++;}}if(data14.label !== undefined){if(typeof data14.label !== "string"){const err38 = {keyword:"type",dataPath:dataPath+"/properties/" + i2+"/label",schemaPath:"#/definitions/properties/allOf/0/items/properties/label/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err38];}else {vErrors.push(err38);}errors++;}}if(data14.type !== undefined){if(typeof data14.type !== "string"){const err39 = {keyword:"type",dataPath:dataPath+"/properties/" + i2+"/type",schemaPath:"#/definitions/properties/allOf/0/items/properties/type/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err39];}else {vErrors.push(err39);}errors++;}}if(data14.editable !== undefined){if(typeof data14.editable !== "boolean"){const err40 = {keyword:"type",dataPath:dataPath+"/properties/" + i2+"/editable",schemaPath:"#/definitions/properties/allOf/0/items/properties/editable/type",params:{type: "boolean"},message:"should be boolean"};if(vErrors === null){vErrors = [err40];}else {vErrors.push(err40);}errors++;}}if(data14.choices !== undefined){let data21 = data14.choices;if(Array.isArray(data21)){const len3 = data21.length;for(let i3=0; i3<len3; i3++){let data22 = data21[i3];if(data22 && typeof data22 == "object" && !Array.isArray(data22)){if(data22.value === undefined){const err41 = {keyword:"required",dataPath:dataPath+"/properties/" + i2+"/choices/" + i3,schemaPath:"#/definitions/properties/allOf/0/items/properties/choices/items/required",params:{missingProperty: "value"},message:"should have required property '"+"value"+"'"};if(vErrors === null){vErrors = [err41];}else {vErrors.push(err41);}errors++;}if(data22.name === undefined){const err42 = {keyword:"required",dataPath:dataPath+"/properties/" + i2+"/choices/" + i3,schemaPath:"#/definitions/properties/allOf/0/items/properties/choices/items/required",params:{missingProperty: "name"},message:"should have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err42];}else {vErrors.push(err42);}errors++;}if(data22.name !== undefined){if(typeof data22.name !== "string"){const err43 = {keyword:"type",dataPath:dataPath+"/properties/" + i2+"/choices/" + i3+"/name",schemaPath:"#/definitions/properties/allOf/0/items/properties/choices/items/properties/name/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err43];}else {vErrors.push(err43);}errors++;}}if(data22.value !== undefined){if(typeof data22.value !== "string"){const err44 = {keyword:"type",dataPath:dataPath+"/properties/" + i2+"/choices/" + i3+"/value",schemaPath:"#/definitions/properties/allOf/0/items/properties/choices/items/properties/value/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err44];}else {vErrors.push(err44);}errors++;}}}else {const err45 = {keyword:"type",dataPath:dataPath+"/properties/" + i2+"/choices/" + i3,schemaPath:"#/definitions/properties/allOf/0/items/properties/choices/items/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err45];}else {vErrors.push(err45);}errors++;}if(errors > 0){const emErrs5 = [];for(const err46 of vErrors){if(((((err46.keyword !== "errorMessage") && (!err46.emUsed)) && ((err46.dataPath === dataPath+"/properties/" + i2+"/choices/" + i3) || ((err46.dataPath.indexOf(dataPath+"/properties/" + i2+"/choices/" + i3) === 0) && (err46.dataPath[dataPath+"/properties/" + i2+"/choices/" + i3.length] === "/")))) && (err46.schemaPath.indexOf("#/definitions/properties/allOf/0/items/properties/choices/items") === 0)) && (err46.schemaPath["#/definitions/properties/allOf/0/items/properties/choices/items".length] === "/")){emErrs5.push(err46);err46.emUsed = true;}}if(emErrs5.length){const err47 = {keyword:"errorMessage",dataPath:dataPath+"/properties/" + i2+"/choices/" + i3,schemaPath:"#/definitions/properties/allOf/0/items/properties/choices/items/errorMessage",params:{errors: emErrs5},message:"{ name, value } must be specified for \"Dropdown\" choices"};if(vErrors === null){vErrors = [err47];}else {vErrors.push(err47);}errors++;}const emErrs6 = [];for(const err48 of vErrors){if(!err48.emUsed){emErrs6.push(err48);}}vErrors = emErrs6;errors = emErrs6.length;}}}else {const err49 = {keyword:"type",dataPath:dataPath+"/properties/" + i2+"/choices",schemaPath:"#/definitions/properties/allOf/0/items/properties/choices/type",params:{type: "array"},message:"should be array"};if(vErrors === null){vErrors = [err49];}else {vErrors.push(err49);}errors++;}}if(data14.constraints !== undefined){let data25 = data14.constraints;if(data25 && typeof data25 == "object" && !Array.isArray(data25)){if(data25.notEmpty !== undefined){if(typeof data25.notEmpty !== "boolean"){const err50 = {keyword:"type",dataPath:dataPath+"/properties/" + i2+"/constraints/notEmpty",schemaPath:"#/definitions/properties/allOf/0/items/properties/constraints/properties/notEmpty/type",params:{type: "boolean"},message:"should be boolean"};if(vErrors === null){vErrors = [err50];}else {vErrors.push(err50);}errors++;}}if(data25.minLength !== undefined){if(!(typeof data25.minLength == "number")){const err51 = {keyword:"type",dataPath:dataPath+"/properties/" + i2+"/constraints/minLength",schemaPath:"#/definitions/properties/allOf/0/items/properties/constraints/properties/minLength/type",params:{type: "number"},message:"should be number"};if(vErrors === null){vErrors = [err51];}else {vErrors.push(err51);}errors++;}}if(data25.maxLength !== undefined){if(!(typeof data25.maxLength == "number")){const err52 = {keyword:"type",dataPath:dataPath+"/properties/" + i2+"/constraints/maxLength",schemaPath:"#/definitions/properties/allOf/0/items/properties/constraints/properties/maxLength/type",params:{type: "number"},message:"should be number"};if(vErrors === null){vErrors = [err52];}else {vErrors.push(err52);}errors++;}}if(data25.pattern !== undefined){let data29 = data25.pattern;const _errs66 = errors;let valid24 = false;let passing0 = null;const _errs67 = errors;if(data29 && typeof data29 == "object" && !Array.isArray(data29)){if(data29.value !== undefined){if(typeof data29.value !== "string"){const err53 = {keyword:"type",dataPath:dataPath+"/properties/" + i2+"/constraints/pattern/value",schemaPath:"#/definitions/properties/allOf/0/items/properties/constraints/properties/pattern/oneOf/0/properties/value/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err53];}else {vErrors.push(err53);}errors++;}}if(data29.message !== undefined){if(typeof data29.message !== "string"){const err54 = {keyword:"type",dataPath:dataPath+"/properties/" + i2+"/constraints/pattern/message",schemaPath:"#/definitions/properties/allOf/0/items/properties/constraints/properties/pattern/oneOf/0/properties/message/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err54];}else {vErrors.push(err54);}errors++;}}}else {const err55 = {keyword:"type",dataPath:dataPath+"/properties/" + i2+"/constraints/pattern",schemaPath:"#/definitions/properties/allOf/0/items/properties/constraints/properties/pattern/oneOf/0/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err55];}else {vErrors.push(err55);}errors++;}var _valid1 = _errs67 === errors;if(_valid1){valid24 = true;passing0 = 0;}const _errs73 = errors;if(typeof data29 !== "string"){const err56 = {keyword:"type",dataPath:dataPath+"/properties/" + i2+"/constraints/pattern",schemaPath:"#/definitions/properties/allOf/0/items/properties/constraints/properties/pattern/oneOf/1/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err56];}else {vErrors.push(err56);}errors++;}var _valid1 = _errs73 === errors;if(_valid1 && valid24){valid24 = false;passing0 = [passing0, 1];}else {if(_valid1){valid24 = true;passing0 = 1;}}if(!valid24){const err57 = {keyword:"oneOf",dataPath:dataPath+"/properties/" + i2+"/constraints/pattern",schemaPath:"#/definitions/properties/allOf/0/items/properties/constraints/properties/pattern/oneOf",params:{passingSchemas: passing0},message:"should match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err57];}else {vErrors.push(err57);}errors++;}else {errors = _errs66;if(vErrors !== null){if(_errs66){vErrors.length = _errs66;}else {vErrors = null;}}}}}else {const err58 = {keyword:"type",dataPath:dataPath+"/properties/" + i2+"/constraints",schemaPath:"#/definitions/properties/allOf/0/items/properties/constraints/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err58];}else {vErrors.push(err58);}errors++;}}if(data14.group !== undefined){if(typeof data14.group !== "string"){const err59 = {keyword:"type",dataPath:dataPath+"/properties/" + i2+"/group",schemaPath:"#/definitions/properties/allOf/0/items/properties/group/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err59];}else {vErrors.push(err59);}errors++;}}}else {const err60 = {keyword:"type",dataPath:dataPath+"/properties/" + i2,schemaPath:"#/definitions/properties/allOf/0/items/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err60];}else {vErrors.push(err60);}errors++;}}}else {const err61 = {keyword:"type",dataPath:dataPath+"/properties",schemaPath:"#/definitions/properties/allOf/0/type",params:{type: "array"},message:"should be array"};if(vErrors === null){vErrors = [err61];}else {vErrors.push(err61);}errors++;}if(Array.isArray(data13)){const len4 = data13.length;for(let i4=0; i4<len4; i4++){let data33 = data13[i4];const _errs82 = errors;let valid29 = true;const _errs83 = errors;if(data33 && typeof data33 == "object" && !Array.isArray(data33)){if((data33.binding === undefined) && ("binding")){const err62 = {};if(vErrors === null){vErrors = [err62];}else {vErrors.push(err62);}errors++;}else {if(data33.binding !== undefined){let data34 = data33.binding;if(data34 && typeof data34 == "object" && !Array.isArray(data34)){if((data34.type === undefined) && ("type")){const err63 = {};if(vErrors === null){vErrors = [err63];}else {vErrors.push(err63);}errors++;}else {if(data34.type !== undefined){if(!equal(data34.type, "property")){const err64 = {};if(vErrors === null){vErrors = [err64];}else {vErrors.push(err64);}errors++;}}}}}}}var _valid2 = _errs83 === errors;errors = _errs82;if(vErrors !== null){if(_errs82){vErrors.length = _errs82;}else {vErrors = null;}}if(_valid2){const _errs86 = errors;if(data33 && typeof data33 == "object" && !Array.isArray(data33)){if(data33.type !== undefined){let data36 = data33.type;if(!(((((data36 === "String") || (data36 === "Text")) || (data36 === "Hidden")) || (data36 === "Dropdown")) || (data36 === "Boolean"))){const err65 = {keyword:"enum",dataPath:dataPath+"/properties/" + i4+"/type",schemaPath:"#/definitions/properties/allOf/1/items/allOf/0/then/properties/type/enum",params:{allowedValues: schema18.allOf[1].items.allOf[0].then.properties.type.enum},message:"should be equal to one of the allowed values"};if(vErrors === null){vErrors = [err65];}else {vErrors.push(err65);}errors++;}if(errors > 0){const emErrs7 = [];for(const err66 of vErrors){if(((((err66.keyword !== "errorMessage") && (!err66.emUsed)) && ((err66.dataPath === dataPath+"/properties/" + i4+"/type") || ((err66.dataPath.indexOf(dataPath+"/properties/" + i4+"/type") === 0) && (err66.dataPath[dataPath+"/properties/" + i4+"/type".length] === "/")))) && (err66.schemaPath.indexOf("#/definitions/properties/allOf/1/items/allOf/0/then/properties/type") === 0)) && (err66.schemaPath["#/definitions/properties/allOf/1/items/allOf/0/then/properties/type".length] === "/")){emErrs7.push(err66);err66.emUsed = true;}}if(emErrs7.length){const err67 = {keyword:"errorMessage",dataPath:dataPath+"/properties/" + i4+"/type",schemaPath:"#/definitions/properties/allOf/1/items/allOf/0/then/properties/type/errorMessage",params:{errors: emErrs7},message:"invalid property type " + JSON.stringify(data36) + " for binding type \"property\"; must be any of { String, Text, Hidden, Dropdown, Boolean }"};if(vErrors === null){vErrors = [err67];}else {vErrors.push(err67);}errors++;}const emErrs8 = [];for(const err68 of vErrors){if(!err68.emUsed){emErrs8.push(err68);}}vErrors = emErrs8;errors = emErrs8.length;}}}var _valid2 = _errs86 === errors;valid29 = _valid2;}if(!valid29){const err69 = {keyword:"if",dataPath:dataPath+"/properties/" + i4,schemaPath:"#/definitions/properties/allOf/1/items/allOf/0/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err69];}else {vErrors.push(err69);}errors++;}const _errs89 = errors;let valid33 = true;const _errs90 = errors;if(data33 && typeof data33 == "object" && !Array.isArray(data33)){if((data33.binding === undefined) && ("binding")){const err70 = {};if(vErrors === null){vErrors = [err70];}else {vErrors.push(err70);}errors++;}else {if(data33.binding !== undefined){let data37 = data33.binding;if(data37 && typeof data37 == "object" && !Array.isArray(data37)){if((data37.type === undefined) && ("type")){const err71 = {};if(vErrors === null){vErrors = [err71];}else {vErrors.push(err71);}errors++;}else {if(data37.type !== undefined){let data38 = data37.type;if(!((((data38 === "zeebe:input") || (data38 === "zeebe:output")) || (data38 === "zeebe:taskHeader")) || (data38 === "zeebe:taskDefinition:type"))){const err72 = {};if(vErrors === null){vErrors = [err72];}else {vErrors.push(err72);}errors++;}}}}}}}var _valid3 = _errs90 === errors;errors = _errs89;if(vErrors !== null){if(_errs89){vErrors.length = _errs89;}else {vErrors = null;}}if(_valid3){const _errs93 = errors;if(data33 && typeof data33 == "object" && !Array.isArray(data33)){if(data33.type !== undefined){let data39 = data33.type;if(!((((data39 === "String") || (data39 === "Text")) || (data39 === "Hidden")) || (data39 === "Dropdown"))){const err73 = {keyword:"enum",dataPath:dataPath+"/properties/" + i4+"/type",schemaPath:"#/definitions/properties/allOf/1/items/allOf/1/then/properties/type/enum",params:{allowedValues: schema18.allOf[1].items.allOf[1].then.properties.type.enum},message:"should be equal to one of the allowed values"};if(vErrors === null){vErrors = [err73];}else {vErrors.push(err73);}errors++;}if(errors > 0){const emErrs9 = [];for(const err74 of vErrors){if(((((err74.keyword !== "errorMessage") && (!err74.emUsed)) && ((err74.dataPath === dataPath+"/properties/" + i4+"/type") || ((err74.dataPath.indexOf(dataPath+"/properties/" + i4+"/type") === 0) && (err74.dataPath[dataPath+"/properties/" + i4+"/type".length] === "/")))) && (err74.schemaPath.indexOf("#/definitions/properties/allOf/1/items/allOf/1/then/properties/type") === 0)) && (err74.schemaPath["#/definitions/properties/allOf/1/items/allOf/1/then/properties/type".length] === "/")){emErrs9.push(err74);err74.emUsed = true;}}if(emErrs9.length){const err75 = {keyword:"errorMessage",dataPath:dataPath+"/properties/" + i4+"/type",schemaPath:"#/definitions/properties/allOf/1/items/allOf/1/then/properties/type/errorMessage",params:{errors: emErrs9},message:"invalid property type " + JSON.stringify(data39) + " for binding type " + JSON.stringify(data33 && data33.binding && data33.binding.type) + "; must be any of { String, Text, Hidden, Dropdown }"};if(vErrors === null){vErrors = [err75];}else {vErrors.push(err75);}errors++;}const emErrs10 = [];for(const err76 of vErrors){if(!err76.emUsed){emErrs10.push(err76);}}vErrors = emErrs10;errors = emErrs10.length;}}}var _valid3 = _errs93 === errors;valid33 = _valid3;}if(!valid33){const err77 = {keyword:"if",dataPath:dataPath+"/properties/" + i4,schemaPath:"#/definitions/properties/allOf/1/items/allOf/1/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err77];}else {vErrors.push(err77);}errors++;}const _errs96 = errors;let valid37 = true;const _errs97 = errors;if(data33 && typeof data33 == "object" && !Array.isArray(data33)){if((data33.optional === undefined) && ("optional")){const err78 = {};if(vErrors === null){vErrors = [err78];}else {vErrors.push(err78);}errors++;}else {if(data33.optional !== undefined){if(!equal(data33.optional, true)){const err79 = {};if(vErrors === null){vErrors = [err79];}else {vErrors.push(err79);}errors++;}}}}var _valid4 = _errs97 === errors;errors = _errs96;if(vErrors !== null){if(_errs96){vErrors.length = _errs96;}else {vErrors = null;}}if(_valid4){const _errs99 = errors;if(data33 && typeof data33 == "object" && !Array.isArray(data33)){if(data33.binding !== undefined){let data41 = data33.binding;if(data41 && typeof data41 == "object" && !Array.isArray(data41)){if(data41.type === undefined){const err80 = {keyword:"required",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/allOf/2/then/properties/binding/required",params:{missingProperty: "type"},message:"should have required property '"+"type"+"'"};if(vErrors === null){vErrors = [err80];}else {vErrors.push(err80);}errors++;}if(data41.type !== undefined){let data42 = data41.type;if(!((data42 === "zeebe:input") || (data42 === "zeebe:output"))){const err81 = {keyword:"enum",dataPath:dataPath+"/properties/" + i4+"/binding/type",schemaPath:"#/definitions/properties/allOf/1/items/allOf/2/then/properties/binding/properties/type/enum",params:{allowedValues: schema18.allOf[1].items.allOf[2].then.properties.binding.properties.type.enum},message:"should be equal to one of the allowed values"};if(vErrors === null){vErrors = [err81];}else {vErrors.push(err81);}errors++;}if(errors > 0){const emErrs11 = [];for(const err82 of vErrors){if(((((err82.keyword !== "errorMessage") && (!err82.emUsed)) && ((err82.dataPath === dataPath+"/properties/" + i4+"/binding/type") || ((err82.dataPath.indexOf(dataPath+"/properties/" + i4+"/binding/type") === 0) && (err82.dataPath[dataPath+"/properties/" + i4+"/binding/type".length] === "/")))) && (err82.schemaPath.indexOf("#/definitions/properties/allOf/1/items/allOf/2/then/properties/binding/properties/type") === 0)) && (err82.schemaPath["#/definitions/properties/allOf/1/items/allOf/2/then/properties/binding/properties/type".length] === "/")){emErrs11.push(err82);err82.emUsed = true;}}if(emErrs11.length){const err83 = {keyword:"errorMessage",dataPath:dataPath+"/properties/" + i4+"/binding/type",schemaPath:"#/definitions/properties/allOf/1/items/allOf/2/then/properties/binding/properties/type/errorMessage",params:{errors: emErrs11},message:"optional is not supported for binding type " + JSON.stringify(data42) + "; must be any of { zeebe:input, zeebe:output }"};if(vErrors === null){vErrors = [err83];}else {vErrors.push(err83);}errors++;}const emErrs12 = [];for(const err84 of vErrors){if(!err84.emUsed){emErrs12.push(err84);}}vErrors = emErrs12;errors = emErrs12.length;}}}}}var _valid4 = _errs99 === errors;valid37 = _valid4;}if(!valid37){const err85 = {keyword:"if",dataPath:dataPath+"/properties/" + i4,schemaPath:"#/definitions/properties/allOf/1/items/allOf/2/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err85];}else {vErrors.push(err85);}errors++;}const _errs103 = errors;let valid41 = true;const _errs104 = errors;if(data33 && typeof data33 == "object" && !Array.isArray(data33)){if((data33.optional === undefined) && ("optional")){const err86 = {};if(vErrors === null){vErrors = [err86];}else {vErrors.push(err86);}errors++;}else {if(data33.optional !== undefined){if(!equal(data33.optional, true)){const err87 = {};if(vErrors === null){vErrors = [err87];}else {vErrors.push(err87);}errors++;}}}}var _valid5 = _errs104 === errors;errors = _errs103;if(vErrors !== null){if(_errs103){vErrors.length = _errs103;}else {vErrors = null;}}if(_valid5){const _errs106 = errors;if(data33 && typeof data33 == "object" && !Array.isArray(data33)){if(data33.constraints !== undefined){let data44 = data33.constraints;if(data44 && typeof data44 == "object" && !Array.isArray(data44)){if(data44.notEmpty === undefined){const err88 = {keyword:"required",dataPath:dataPath+"/properties/" + i4+"/constraints",schemaPath:"#/definitions/properties/allOf/1/items/allOf/3/then/properties/constraints/required",params:{missingProperty: "notEmpty"},message:"should have required property '"+"notEmpty"+"'"};if(vErrors === null){vErrors = [err88];}else {vErrors.push(err88);}errors++;}if(data44.notEmpty !== undefined){if(!equal(data44.notEmpty, false)){const err89 = {keyword:"const",dataPath:dataPath+"/properties/" + i4+"/constraints/notEmpty",schemaPath:"#/definitions/properties/allOf/1/items/allOf/3/then/properties/constraints/properties/notEmpty/const",params:{allowedValue: false},message:"should be equal to constant"};if(vErrors === null){vErrors = [err89];}else {vErrors.push(err89);}errors++;}if(errors > 0){const emErrs13 = [];for(const err90 of vErrors){if(((((err90.keyword !== "errorMessage") && (!err90.emUsed)) && ((err90.dataPath === dataPath+"/properties/" + i4+"/constraints/notEmpty") || ((err90.dataPath.indexOf(dataPath+"/properties/" + i4+"/constraints/notEmpty") === 0) && (err90.dataPath[dataPath+"/properties/" + i4+"/constraints/notEmpty".length] === "/")))) && (err90.schemaPath.indexOf("#/definitions/properties/allOf/1/items/allOf/3/then/properties/constraints/properties/notEmpty") === 0)) && (err90.schemaPath["#/definitions/properties/allOf/1/items/allOf/3/then/properties/constraints/properties/notEmpty".length] === "/")){emErrs13.push(err90);err90.emUsed = true;}}if(emErrs13.length){const err91 = {keyword:"errorMessage",dataPath:dataPath+"/properties/" + i4+"/constraints/notEmpty",schemaPath:"#/definitions/properties/allOf/1/items/allOf/3/then/properties/constraints/properties/notEmpty/errorMessage",params:{errors: emErrs13},message:"optional is not allowed for truthy \"notEmpty\" constraint"};if(vErrors === null){vErrors = [err91];}else {vErrors.push(err91);}errors++;}const emErrs14 = [];for(const err92 of vErrors){if(!err92.emUsed){emErrs14.push(err92);}}vErrors = emErrs14;errors = emErrs14.length;}}}}}var _valid5 = _errs106 === errors;valid41 = _valid5;}if(!valid41){const err93 = {keyword:"if",dataPath:dataPath+"/properties/" + i4,schemaPath:"#/definitions/properties/allOf/1/items/allOf/3/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err93];}else {vErrors.push(err93);}errors++;}const _errs110 = errors;let valid45 = true;const _errs111 = errors;if(data33 && typeof data33 == "object" && !Array.isArray(data33)){if((data33.feel === undefined) && ("feel")){const err94 = {};if(vErrors === null){vErrors = [err94];}else {vErrors.push(err94);}errors++;}else {if(data33.feel !== undefined){const _errs113 = errors;const _errs114 = errors;if(!equal(data33.feel, schema18.allOf[1].items.allOf[4].if.properties.feel.not.const)){const err95 = {};if(vErrors === null){vErrors = [err95];}else {vErrors.push(err95);}errors++;}var valid47 = _errs114 === errors;if(!valid47){errors = _errs113;if(vErrors !== null){if(_errs113){vErrors.length = _errs113;}else {vErrors = null;}}}else {const err96 = {};if(vErrors === null){vErrors = [err96];}else {vErrors.push(err96);}errors++;}}}}var _valid6 = _errs111 === errors;errors = _errs110;if(vErrors !== null){if(_errs110){vErrors.length = _errs110;}else {vErrors = null;}}if(_valid6){const _errs115 = errors;if(data33 && typeof data33 == "object" && !Array.isArray(data33)){if(data33.type === undefined){const err97 = {keyword:"required",dataPath:dataPath+"/properties/" + i4,schemaPath:"#/definitions/properties/allOf/1/items/allOf/4/then/required",params:{missingProperty: "type"},message:"should have required property '"+"type"+"'"};if(vErrors === null){vErrors = [err97];}else {vErrors.push(err97);}errors++;}if(data33.type !== undefined){let data47 = data33.type;if(!((data47 === "String") || (data47 === "Text"))){const err98 = {keyword:"enum",dataPath:dataPath+"/properties/" + i4+"/type",schemaPath:"#/definitions/properties/allOf/1/items/allOf/4/then/properties/type/enum",params:{allowedValues: schema18.allOf[1].items.allOf[4].then.properties.type.enum},message:"should be equal to one of the allowed values"};if(vErrors === null){vErrors = [err98];}else {vErrors.push(err98);}errors++;}if(errors > 0){const emErrs15 = [];for(const err99 of vErrors){if(((((err99.keyword !== "errorMessage") && (!err99.emUsed)) && ((err99.dataPath === dataPath+"/properties/" + i4+"/type") || ((err99.dataPath.indexOf(dataPath+"/properties/" + i4+"/type") === 0) && (err99.dataPath[dataPath+"/properties/" + i4+"/type".length] === "/")))) && (err99.schemaPath.indexOf("#/definitions/properties/allOf/1/items/allOf/4/then/properties/type") === 0)) && (err99.schemaPath["#/definitions/properties/allOf/1/items/allOf/4/then/properties/type".length] === "/")){emErrs15.push(err99);err99.emUsed = true;}}if(emErrs15.length){const err100 = {keyword:"errorMessage",dataPath:dataPath+"/properties/" + i4+"/type",schemaPath:"#/definitions/properties/allOf/1/items/allOf/4/then/properties/type/errorMessage",params:{errors: emErrs15},message:"feel is only supported for \"String\" and \"Text\" type"};if(vErrors === null){vErrors = [err100];}else {vErrors.push(err100);}errors++;}const emErrs16 = [];for(const err101 of vErrors){if(!err101.emUsed){emErrs16.push(err101);}}vErrors = emErrs16;errors = emErrs16.length;}}}var _valid6 = _errs115 === errors;valid45 = _valid6;}if(!valid45){const err102 = {keyword:"if",dataPath:dataPath+"/properties/" + i4,schemaPath:"#/definitions/properties/allOf/1/items/allOf/4/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err102];}else {vErrors.push(err102);}errors++;}if(data33 && typeof data33 == "object" && !Array.isArray(data33)){if(data33.binding === undefined){const err103 = {keyword:"required",dataPath:dataPath+"/properties/" + i4,schemaPath:"#/definitions/properties/allOf/1/items/required",params:{missingProperty: "binding"},message:"should have required property '"+"binding"+"'"};if(vErrors === null){vErrors = [err103];}else {vErrors.push(err103);}errors++;}if(data33.binding !== undefined){let data48 = data33.binding;const _errs120 = errors;let valid51 = true;const _errs121 = errors;if(data48 && typeof data48 == "object" && !Array.isArray(data48)){if((data48.type === undefined) && ("type")){const err104 = {};if(vErrors === null){vErrors = [err104];}else {vErrors.push(err104);}errors++;}else {if(data48.type !== undefined){let data49 = data48.type;if(!((data49 === "property") || (data49 === "zeebe:input"))){const err105 = {};if(vErrors === null){vErrors = [err105];}else {vErrors.push(err105);}errors++;}}}}var _valid7 = _errs121 === errors;errors = _errs120;if(vErrors !== null){if(_errs120){vErrors.length = _errs120;}else {vErrors = null;}}if(_valid7){const _errs123 = errors;if(data48 && typeof data48 == "object" && !Array.isArray(data48)){if(data48.name === undefined){const err106 = {keyword:"required",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/0/then/required",params:{missingProperty: "name"},message:"should have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err106];}else {vErrors.push(err106);}errors++;}}if(errors > 0){const emErrs17 = [];for(const err107 of vErrors){if(((((err107.keyword !== "errorMessage") && (!err107.emUsed)) && ((err107.dataPath === dataPath+"/properties/" + i4+"/binding") || ((err107.dataPath.indexOf(dataPath+"/properties/" + i4+"/binding") === 0) && (err107.dataPath[dataPath+"/properties/" + i4+"/binding".length] === "/")))) && (err107.schemaPath.indexOf("#/definitions/properties/allOf/1/items/properties/binding/allOf/0/then") === 0)) && (err107.schemaPath["#/definitions/properties/allOf/1/items/properties/binding/allOf/0/then".length] === "/")){emErrs17.push(err107);err107.emUsed = true;}}if(emErrs17.length){const err108 = {keyword:"errorMessage",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/0/then/errorMessage",params:{errors: emErrs17},message:"property.binding " + JSON.stringify(data48 && data48.type) + " requires name"};if(vErrors === null){vErrors = [err108];}else {vErrors.push(err108);}errors++;}const emErrs18 = [];for(const err109 of vErrors){if(!err109.emUsed){emErrs18.push(err109);}}vErrors = emErrs18;errors = emErrs18.length;}var _valid7 = _errs123 === errors;valid51 = _valid7;}if(!valid51){const err110 = {keyword:"if",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/0/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err110];}else {vErrors.push(err110);}errors++;}const _errs125 = errors;let valid53 = true;const _errs126 = errors;if(data48 && typeof data48 == "object" && !Array.isArray(data48)){if((data48.type === undefined) && ("type")){const err111 = {};if(vErrors === null){vErrors = [err111];}else {vErrors.push(err111);}errors++;}else {if(data48.type !== undefined){if(!equal(data48.type, "zeebe:output")){const err112 = {};if(vErrors === null){vErrors = [err112];}else {vErrors.push(err112);}errors++;}}}}var _valid8 = _errs126 === errors;errors = _errs125;if(vErrors !== null){if(_errs125){vErrors.length = _errs125;}else {vErrors = null;}}if(_valid8){const _errs128 = errors;if(data48 && typeof data48 == "object" && !Array.isArray(data48)){if(data48.source === undefined){const err113 = {keyword:"required",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/1/then/required",params:{missingProperty: "source"},message:"should have required property '"+"source"+"'"};if(vErrors === null){vErrors = [err113];}else {vErrors.push(err113);}errors++;}}if(errors > 0){const emErrs19 = [];for(const err114 of vErrors){if(((((err114.keyword !== "errorMessage") && (!err114.emUsed)) && ((err114.dataPath === dataPath+"/properties/" + i4+"/binding") || ((err114.dataPath.indexOf(dataPath+"/properties/" + i4+"/binding") === 0) && (err114.dataPath[dataPath+"/properties/" + i4+"/binding".length] === "/")))) && (err114.schemaPath.indexOf("#/definitions/properties/allOf/1/items/properties/binding/allOf/1/then") === 0)) && (err114.schemaPath["#/definitions/properties/allOf/1/items/properties/binding/allOf/1/then".length] === "/")){emErrs19.push(err114);err114.emUsed = true;}}if(emErrs19.length){const err115 = {keyword:"errorMessage",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/1/then/errorMessage",params:{errors: emErrs19},message:"property.binding " + JSON.stringify(data48 && data48.type) + " requires source"};if(vErrors === null){vErrors = [err115];}else {vErrors.push(err115);}errors++;}const emErrs20 = [];for(const err116 of vErrors){if(!err116.emUsed){emErrs20.push(err116);}}vErrors = emErrs20;errors = emErrs20.length;}var _valid8 = _errs128 === errors;valid53 = _valid8;}if(!valid53){const err117 = {keyword:"if",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/1/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err117];}else {vErrors.push(err117);}errors++;}const _errs130 = errors;let valid55 = true;const _errs131 = errors;if(data48 && typeof data48 == "object" && !Array.isArray(data48)){if((data48.type === undefined) && ("type")){const err118 = {};if(vErrors === null){vErrors = [err118];}else {vErrors.push(err118);}errors++;}else {if(data48.type !== undefined){if(!equal(data48.type, "zeebe:taskHeader")){const err119 = {};if(vErrors === null){vErrors = [err119];}else {vErrors.push(err119);}errors++;}}}}var _valid9 = _errs131 === errors;errors = _errs130;if(vErrors !== null){if(_errs130){vErrors.length = _errs130;}else {vErrors = null;}}if(_valid9){const _errs133 = errors;if(data48 && typeof data48 == "object" && !Array.isArray(data48)){if(data48.key === undefined){const err120 = {keyword:"required",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/2/then/required",params:{missingProperty: "key"},message:"should have required property '"+"key"+"'"};if(vErrors === null){vErrors = [err120];}else {vErrors.push(err120);}errors++;}}if(errors > 0){const emErrs21 = [];for(const err121 of vErrors){if(((((err121.keyword !== "errorMessage") && (!err121.emUsed)) && ((err121.dataPath === dataPath+"/properties/" + i4+"/binding") || ((err121.dataPath.indexOf(dataPath+"/properties/" + i4+"/binding") === 0) && (err121.dataPath[dataPath+"/properties/" + i4+"/binding".length] === "/")))) && (err121.schemaPath.indexOf("#/definitions/properties/allOf/1/items/properties/binding/allOf/2/then") === 0)) && (err121.schemaPath["#/definitions/properties/allOf/1/items/properties/binding/allOf/2/then".length] === "/")){emErrs21.push(err121);err121.emUsed = true;}}if(emErrs21.length){const err122 = {keyword:"errorMessage",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/2/then/errorMessage",params:{errors: emErrs21},message:"property.binding " + JSON.stringify(data48 && data48.type) + " requires key"};if(vErrors === null){vErrors = [err122];}else {vErrors.push(err122);}errors++;}const emErrs22 = [];for(const err123 of vErrors){if(!err123.emUsed){emErrs22.push(err123);}}vErrors = emErrs22;errors = emErrs22.length;}var _valid9 = _errs133 === errors;valid55 = _valid9;}if(!valid55){const err124 = {keyword:"if",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/2/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err124];}else {vErrors.push(err124);}errors++;}if(data48 && typeof data48 == "object" && !Array.isArray(data48)){if(data48.type === undefined){const err125 = {keyword:"required",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/required",params:{missingProperty: "type"},message:"should have required property '"+"type"+"'"};if(vErrors === null){vErrors = [err125];}else {vErrors.push(err125);}errors++;}if(data48.type !== undefined){let data52 = data48.type;if(typeof data52 !== "string"){const err126 = {keyword:"type",dataPath:dataPath+"/properties/" + i4+"/binding/type",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/properties/type/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err126];}else {vErrors.push(err126);}errors++;}if(!(((((data52 === "property") || (data52 === "zeebe:taskDefinition:type")) || (data52 === "zeebe:input")) || (data52 === "zeebe:output")) || (data52 === "zeebe:taskHeader"))){const err127 = {keyword:"enum",dataPath:dataPath+"/properties/" + i4+"/binding/type",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/properties/type/enum",params:{allowedValues: schema18.allOf[1].items.properties.binding.properties.type.enum},message:"should be equal to one of the allowed values"};if(vErrors === null){vErrors = [err127];}else {vErrors.push(err127);}errors++;}if(errors > 0){const emErrs23 = [];for(const err128 of vErrors){if(((((err128.keyword !== "errorMessage") && (!err128.emUsed)) && ((err128.dataPath === dataPath+"/properties/" + i4+"/binding/type") || ((err128.dataPath.indexOf(dataPath+"/properties/" + i4+"/binding/type") === 0) && (err128.dataPath[dataPath+"/properties/" + i4+"/binding/type".length] === "/")))) && (err128.schemaPath.indexOf("#/definitions/properties/allOf/1/items/properties/binding/properties/type") === 0)) && (err128.schemaPath["#/definitions/properties/allOf/1/items/properties/binding/properties/type".length] === "/")){emErrs23.push(err128);err128.emUsed = true;}}if(emErrs23.length){const err129 = {keyword:"errorMessage",dataPath:dataPath+"/properties/" + i4+"/binding/type",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/properties/type/errorMessage",params:{errors: emErrs23},message:"invalid property.binding type " + JSON.stringify(data52) + "; must be any of { property, zeebe:taskDefinition:type, zeebe:input, zeebe:output, zeebe:taskHeader }"};if(vErrors === null){vErrors = [err129];}else {vErrors.push(err129);}errors++;}const emErrs24 = [];for(const err130 of vErrors){if(!err130.emUsed){emErrs24.push(err130);}}vErrors = emErrs24;errors = emErrs24.length;}}if(data48.name !== undefined){if(typeof data48.name !== "string"){const err131 = {keyword:"type",dataPath:dataPath+"/properties/" + i4+"/binding/name",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/properties/name/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err131];}else {vErrors.push(err131);}errors++;}}if(data48.source !== undefined){if(typeof data48.source !== "string"){const err132 = {keyword:"type",dataPath:dataPath+"/properties/" + i4+"/binding/source",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/properties/source/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err132];}else {vErrors.push(err132);}errors++;}}if(data48.key !== undefined){if(typeof data48.key !== "string"){const err133 = {keyword:"type",dataPath:dataPath+"/properties/" + i4+"/binding/key",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/properties/key/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err133];}else {vErrors.push(err133);}errors++;}}}else {const err134 = {keyword:"type",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err134];}else {vErrors.push(err134);}errors++;}}if(data33.optional !== undefined){if(typeof data33.optional !== "boolean"){const err135 = {keyword:"type",dataPath:dataPath+"/properties/" + i4+"/optional",schemaPath:"#/definitions/properties/allOf/1/items/properties/optional/type",params:{type: "boolean"},message:"should be boolean"};if(vErrors === null){vErrors = [err135];}else {vErrors.push(err135);}errors++;}}if(data33.feel !== undefined){let data57 = data33.feel;if(typeof data57 !== "string"){const err136 = {keyword:"type",dataPath:dataPath+"/properties/" + i4+"/feel",schemaPath:"#/definitions/properties/allOf/1/items/properties/feel/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err136];}else {vErrors.push(err136);}errors++;}if(!(((data57 === null) || (data57 === "optional")) || (data57 === "required"))){const err137 = {keyword:"enum",dataPath:dataPath+"/properties/" + i4+"/feel",schemaPath:"#/definitions/properties/allOf/1/items/properties/feel/enum",params:{allowedValues: schema18.allOf[1].items.properties.feel.enum},message:"should be equal to one of the allowed values"};if(vErrors === null){vErrors = [err137];}else {vErrors.push(err137);}errors++;}}}else {const err138 = {keyword:"type",dataPath:dataPath+"/properties/" + i4,schemaPath:"#/definitions/properties/allOf/1/items/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err138];}else {vErrors.push(err138);}errors++;}if(errors > 0){const emErrors3 = {"required":{"binding":[]}};const templates3 = {required:{binding:function(){return "missing binding for property \"" + JSON.stringify(i4) + "\""}}};let emPropParams2;let emParamsErrors2;for(const err139 of vErrors){if((((((err139.keyword !== "errorMessage") && (!err139.emUsed)) && (err139.dataPath === dataPath+"/properties/" + i4)) && (err139.keyword in emErrors3)) && (err139.schemaPath.indexOf("#/definitions/properties/allOf/1/items") === 0)) && (/^\/[^\/]*$/.test(err139.schemaPath.slice(38)))){emPropParams2 = obj0[err139.keyword];emParamsErrors2 = emErrors3[err139.keyword][err139.params[emPropParams2]];if(emParamsErrors2){emParamsErrors2.push(err139);err139.emUsed = true;}}}for(const key3 in emErrors3){for(const keyProp2 in emErrors3[key3]){emParamsErrors2 = emErrors3[key3][keyProp2];if(emParamsErrors2.length){const tmpl2 = templates3[key3] && templates3[key3][keyProp2];const err140 = {keyword:"errorMessage",dataPath:dataPath+"/properties/" + i4,schemaPath:"#/definitions/properties/allOf/1/items/errorMessage",params:{errors: emParamsErrors2},message:tmpl2 ? tmpl2() : schema18.allOf[1].items.errorMessage[key3][keyProp2]};if(vErrors === null){vErrors = [err140];}else {vErrors.push(err140);}errors++;}}}const emErrs25 = [];for(const err141 of vErrors){if(!err141.emUsed){emErrs25.push(err141);}}vErrors = emErrs25;errors = emErrs25.length;}}}else {const err142 = {keyword:"type",dataPath:dataPath+"/properties",schemaPath:"#/definitions/properties/allOf/1/type",params:{type: "array"},message:"should be array"};if(vErrors === null){vErrors = [err142];}else {vErrors.push(err142);}errors++;}}}else {const err143 = {keyword:"type",dataPath,schemaPath:"#/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err143];}else {vErrors.push(err143);}errors++;}validate15.errors = vErrors;return errors === 0;}function validate14(data, {dataPath="", parentData, parentDataProperty, rootData=data}={}){let vErrors = null;let errors = 0;const _errs0 = errors;let valid0 = false;let passing0 = null;const _errs1 = errors;if(!(validate15(data, {dataPath,parentData,parentDataProperty,rootData}))){vErrors = vErrors === null ? validate15.errors : vErrors.concat(validate15.errors);errors = vErrors.length;}var _valid0 = _errs1 === errors;if(_valid0){valid0 = true;passing0 = 0;}const _errs2 = errors;if(Array.isArray(data)){const len0 = data.length;for(let i0=0; i0<len0; i0++){if(!(validate15(data[i0], {dataPath:dataPath+"/" + i0,parentData:data,parentDataProperty:i0,rootData}))){vErrors = vErrors === null ? validate15.errors : vErrors.concat(validate15.errors);errors = vErrors.length;}}}else {const err0 = {keyword:"type",dataPath,schemaPath:"#/oneOf/1/type",params:{type: "array"},message:"should be array"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}var _valid0 = _errs2 === errors;if(_valid0 && valid0){valid0 = false;passing0 = [passing0, 1];}else {if(_valid0){valid0 = true;passing0 = 1;}}if(!valid0){const err1 = {keyword:"oneOf",dataPath,schemaPath:"#/oneOf",params:{passingSchemas: passing0},message:"should match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}else {errors = _errs0;if(vErrors !== null){if(_errs0){vErrors.length = _errs0;}else {vErrors = null;}}}validate14.errors = vErrors;return errors === 0;}
64036
+ var standaloneZeebeValidator = validate14;var _default = validate14;const schema17 = {"type":"object","allOf":[{"required":["name","id","appliesTo","properties"],"properties":{"name":{"$id":"#/name","type":"string","description":"The name of the element template."},"id":{"$id":"#/id","type":"string","description":"The identifier of the element template."},"description":{"$id":"#/description","type":"string","description":"The description of the element template."},"version":{"$id":"#/version","type":"number","description":"Optional version of the template. If you add a version to a template it will be considered unique based on its ID and version. Two templates can have the same ID if their version is different."},"isDefault":{"$id":"#/isDefault","type":"boolean","description":"Indicates whether the element template is a default template."},"appliesTo":{"$id":"#/appliesTo","type":"array","description":"List of BPMN types the template can be applied to.","default":[],"items":{"$id":"#/appliesTo/items","type":"string","pattern":"^[\\w\\d]+:[\\w\\d]+$","errorMessage":{"pattern":"invalid item for \"appliesTo\", should contain namespaced property, example: \"bpmn:Task\""},"allOf":[{"examples":["bpmn:Task","bpmn:ServiceTask","bpmn:SequenceFlow","bpmn:Process","bpmn:StartEvent","bpmn:Gateway"]}]}},"elementType":{"$id":"#/elementType","type":"object","description":"The BPMN type the element will be transformed into.","default":{},"required":["value"],"errorMessage":{"required":{"value":"missing elementType value"}},"properties":{"value":{"$id":"#/elementType/value","type":"string","pattern":"^[\\w\\d]+:[\\w\\d]+$","errorMessage":{"pattern":"invalid item for \"elementType\", should contain namespaced property, example: \"bpmn:Task\""},"allOf":[{"examples":["bpmn:ServiceTask","bpmn:UserTask","bpmn:StartEvent","bpmn:ExclusiveGateway","bpmn:ParallelGateway"]}]}}},"metadata":{"$id":"#/metadata","type":"object","description":"Some custom properties for further configuration.","default":{}},"entriesVisible":{"$id":"#/entriesVisible","type":"boolean","description":"Select whether non-template entries are visible in the properties panel."},"groups":{"$id":"#/groups","type":"array","description":"Custom fields can be ordered together via groups.","allOf":[{"examples":[[{"id":"group-1","label":"My Group"}]]}],"items":{"$id":"#/groups/group","type":"object","default":{},"required":["id","label"],"errorMessage":{"required":{"id":"missing id for group \"${0#}\"","label":"missing label for group \"${0#}\""}},"properties":{"id":{"$id":"#/groups/group/id","type":"string","description":"The id of the custom group"},"label":{"$id":"#/groups/group/label","type":"string","description":"The label of the custom group"}}}},"documentationRef":{"$id":"#/documentaionRef","type":"string","pattern":"^(https|http)://.*","errorMessage":{"pattern":"Malformed documentation URL, must match \"^(https|http)://.*\""}}},"errorMessage":{"required":{"name":"missing template name","id":"missing template id","appliesTo":"missing appliesTo=[]","properties":"missing properties=[]"}}}],"properties":{"properties":{"$ref":"#/definitions/properties","$id":"#/properties"},"icon":{"$id":"#/icon","type":"object","description":"Custom icon to be shown on the element","default":{},"properties":{"contents":{"$id":"#/icon/contents","type":"string","description":"The URL of an icon.","pattern":"^(https?|data):.*","errorMessage":{"pattern":"Malformed icon source, must be a valid HTTP(s) or data URL"}}},"required":["contents"],"errorMessage":{"required":{"contents":"missing icon contents"}}}}};const schema18 = {"allOf":[{"type":"array","description":"List of properties of the element template.","allOf":[{"examples":[[{"label":"Name","type":"String","binding":{"type":"property","name":"name"}}]]}],"items":{"type":"object","default":{},"allOf":[{"if":{"properties":{"type":{"const":"Dropdown"}},"required":["type"]},"then":{"required":["choices"],"errorMessage":"must provide choices=[] with \"Dropdown\" type"}}],"properties":{"value":{"$id":"#/properties/property/value","type":["string","boolean"],"description":"The value of a control field."},"description":{"$id":"#/properties/property/description","type":"string","description":"The description of a control field."},"label":{"$id":"#/properties/property/label","type":"string","description":"The label of a control field."},"type":{"$id":"#/properties/property/type","type":"string","description":"The type of a control field."},"editable":{"$id":"#/properties/property/editable","type":"boolean","description":"Indicates whether a control field is editable or not."},"choices":{"$id":"#/properties/property/choices","type":"array","description":"The choices for dropdown fields.","default":[],"items":{"$id":"#/properties/property/choices/item","type":"object","default":{},"properties":{"name":{"$id":"#/properties/property/choices/item/name","type":"string","description":"The name of a choice."},"value":{"$id":"#/properties/property/choices/item/value","type":"string","description":"The value of a choice."}},"required":["value","name"],"errorMessage":"{ name, value } must be specified for \"Dropdown\" choices"}},"constraints":{"$id":"#/properties/property/constraints","type":"object","description":"The validation constraints of a control field.","allOf":[{"examples":[{"notEmpty":true}]}],"properties":{"notEmpty":{"$id":"#/properties/property/constraints/notEmpty","type":"boolean","description":"The control field must not be empty."},"minLength":{"$id":"#/properties/property/constraints/minLength","type":"number","description":"The minimal length of a control field value."},"maxLength":{"$id":"#/properties/property/constraints/maxLength","type":"number","description":"The maximal length for a control field value."},"pattern":{"$id":"#/properties/property/constraints/pattern","description":"A regular expression pattern for a constraint.","oneOf":[{"type":"object","default":{},"properties":{"value":{"$id":"#/properties/property/constraints/pattern/value","type":"string","description":"The regular expression of a pattern."},"message":{"$id":"#/properties/property/constraints/pattern/message","type":"string","description":"The validation message of a pattern."}}},{"type":"string"}]}}},"group":{"$id":"#/properties/property/group","type":"string","description":"The custom group of a control field."}}}},{"$schema":"http://json-schema.org/draft-07/schema","type":"array","description":"List of properties of the element template.","items":{"type":"object","default":{},"required":["binding"],"errorMessage":{"required":{"binding":"missing binding for property \"${0#}\""}},"allOf":[{"if":{"properties":{"binding":{"properties":{"type":{"const":"property"}},"required":["type"]}},"required":["binding"]},"then":{"properties":{"type":{"enum":["String","Text","Hidden","Dropdown","Boolean"],"errorMessage":"invalid property type ${0} for binding type \"property\"; must be any of { String, Text, Hidden, Dropdown, Boolean }"}}}},{"if":{"properties":{"binding":{"properties":{"type":{"enum":["zeebe:input","zeebe:output","zeebe:taskHeader","zeebe:taskDefinition:type"]}},"required":["type"]}},"required":["binding"]},"then":{"properties":{"type":{"enum":["String","Text","Hidden","Dropdown"],"errorMessage":"invalid property type ${0} for binding type ${1/binding/type}; must be any of { String, Text, Hidden, Dropdown }"}}}},{"if":{"properties":{"optional":{"const":true}},"required":["optional"]},"then":{"properties":{"binding":{"properties":{"type":{"enum":["zeebe:input","zeebe:output"],"errorMessage":"optional is not supported for binding type ${0}; must be any of { zeebe:input, zeebe:output }"}},"required":["type"]}}}},{"if":{"properties":{"optional":{"const":true}},"required":["optional"]},"then":{"properties":{"constraints":{"properties":{"notEmpty":{"const":false,"errorMessage":"optional is not allowed for truthy \"notEmpty\" constraint"}},"required":["notEmpty"]}}}},{"if":{"properties":{"feel":{"not":{"const":null}}},"required":["feel"]},"then":{"properties":{"type":{"enum":["String","Text"],"errorMessage":"feel is only supported for \"String\" and \"Text\" type"}},"required":["type"]}}],"properties":{"binding":{"$id":"#/properties/property/binding","type":"object","description":"Specifying how the property is mapped to BPMN or Zeebe extension elements and attributes.","required":["type"],"allOf":[{"if":{"properties":{"type":{"enum":["property","zeebe:input"]}},"required":["type"]},"then":{"required":["name"],"errorMessage":"property.binding ${0/type} requires name"}},{"if":{"properties":{"type":{"const":"zeebe:output"}},"required":["type"]},"then":{"required":["source"],"errorMessage":"property.binding ${0/type} requires source"}},{"if":{"properties":{"type":{"const":"zeebe:taskHeader"}},"required":["type"]},"then":{"required":["key"],"errorMessage":"property.binding ${0/type} requires key"}},{"examples":[{"type":"property","name":"name"},{"type":"zeebe:input","name":"input"},{"type":"zeebe:output","source":"output"},{"type":"zeebe:taskDefinition:type"},{"type":"zeebe:taskHeader","key":"key"}]}],"properties":{"type":{"$id":"#/properties/property/binding/type","type":"string","description":"The type of a property binding.","enum":["property","zeebe:taskDefinition:type","zeebe:input","zeebe:output","zeebe:taskHeader"],"errorMessage":"invalid property.binding type ${0}; must be any of { property, zeebe:taskDefinition:type, zeebe:input, zeebe:output, zeebe:taskHeader }"},"name":{"$id":"#/properties/property/binding/name","type":"string","description":"The name of a property binding."},"source":{"$id":"#/properties/property/binding/source","type":"string","description":"The source value of a property binding (zeebe:output)."},"key":{"$id":"#/properties/property/binding/key","type":"string","description":"The key value of a property binding (zeebe:taskHeader)."}}},"optional":{"$id":"#/optional","type":"boolean","description":"Indicates whether a property is optional. Optional bindings do not persist empty values in the underlying BPMN 2.0 XML."},"feel":{"$id":"#/properties/property/feel","type":"string","default":null,"description":"Indicates whether the property can be a feel expression","enum":[null,"optional","required"]}}}}]};const pattern0 = new RegExp("^[\\w\\d]+:[\\w\\d]+$", "u");const pattern2 = new RegExp("^(https|http)://.*", "u");const pattern3 = new RegExp("^(https?|data):.*", "u");const obj0 = {"required":"missingProperty","dependencies":"property","dependentRequired":"property"};function validate15(data, {dataPath="", parentData, parentDataProperty, rootData=data}={}){let vErrors = null;let errors = 0;if(data && typeof data == "object" && !Array.isArray(data)){if(data.name === undefined){const err0 = {keyword:"required",dataPath,schemaPath:"#/allOf/0/required",params:{missingProperty: "name"},message:"should have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data.id === undefined){const err1 = {keyword:"required",dataPath,schemaPath:"#/allOf/0/required",params:{missingProperty: "id"},message:"should have required property '"+"id"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}if(data.appliesTo === undefined){const err2 = {keyword:"required",dataPath,schemaPath:"#/allOf/0/required",params:{missingProperty: "appliesTo"},message:"should have required property '"+"appliesTo"+"'"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}if(data.properties === undefined){const err3 = {keyword:"required",dataPath,schemaPath:"#/allOf/0/required",params:{missingProperty: "properties"},message:"should have required property '"+"properties"+"'"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}if(data.name !== undefined){if(typeof data.name !== "string"){const err4 = {keyword:"type",dataPath:dataPath+"/name",schemaPath:"#/allOf/0/properties/name/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}}if(data.id !== undefined){if(typeof data.id !== "string"){const err5 = {keyword:"type",dataPath:dataPath+"/id",schemaPath:"#/allOf/0/properties/id/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}}if(data.description !== undefined){if(typeof data.description !== "string"){const err6 = {keyword:"type",dataPath:dataPath+"/description",schemaPath:"#/allOf/0/properties/description/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}}if(data.version !== undefined){if(!(typeof data.version == "number")){const err7 = {keyword:"type",dataPath:dataPath+"/version",schemaPath:"#/allOf/0/properties/version/type",params:{type: "number"},message:"should be number"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}}if(data.isDefault !== undefined){if(typeof data.isDefault !== "boolean"){const err8 = {keyword:"type",dataPath:dataPath+"/isDefault",schemaPath:"#/allOf/0/properties/isDefault/type",params:{type: "boolean"},message:"should be boolean"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}}if(data.appliesTo !== undefined){let data5 = data.appliesTo;if(Array.isArray(data5)){const len0 = data5.length;for(let i0=0; i0<len0; i0++){let data6 = data5[i0];if(typeof data6 === "string"){if(!pattern0.test(data6)){const err9 = {keyword:"pattern",dataPath:dataPath+"/appliesTo/" + i0,schemaPath:"#/allOf/0/properties/appliesTo/items/pattern",params:{pattern: "^[\\w\\d]+:[\\w\\d]+$"},message:"should match pattern \""+"^[\\w\\d]+:[\\w\\d]+$"+"\""};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}}else {const err10 = {keyword:"type",dataPath:dataPath+"/appliesTo/" + i0,schemaPath:"#/allOf/0/properties/appliesTo/items/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}if(errors > 0){const emErrors0 = {"pattern":[]};const templates0 = {};for(const err11 of vErrors){if((((((err11.keyword !== "errorMessage") && (!err11.emUsed)) && (err11.dataPath === dataPath+"/appliesTo/" + i0)) && (err11.keyword in emErrors0)) && (err11.schemaPath.indexOf("#/allOf/0/properties/appliesTo/items") === 0)) && (/^\/[^\/]*$/.test(err11.schemaPath.slice(36)))){emErrors0[err11.keyword].push(err11);err11.emUsed = true;}}for(const key0 in emErrors0){if(emErrors0[key0].length){const err12 = {keyword:"errorMessage",dataPath:dataPath+"/appliesTo/" + i0,schemaPath:"#/allOf/0/properties/appliesTo/items/errorMessage",params:{errors: emErrors0[key0]},message:key0 in templates0 ? templates0[key0]() : schema17.allOf[0].properties.appliesTo.items.errorMessage[key0]};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}}const emErrs0 = [];for(const err13 of vErrors){if(!err13.emUsed){emErrs0.push(err13);}}vErrors = emErrs0;errors = emErrs0.length;}}}else {const err14 = {keyword:"type",dataPath:dataPath+"/appliesTo",schemaPath:"#/allOf/0/properties/appliesTo/type",params:{type: "array"},message:"should be array"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}}if(data.elementType !== undefined){let data7 = data.elementType;if(data7 && typeof data7 == "object" && !Array.isArray(data7)){if(data7.value === undefined){const err15 = {keyword:"required",dataPath:dataPath+"/elementType",schemaPath:"#/allOf/0/properties/elementType/required",params:{missingProperty: "value"},message:"should have required property '"+"value"+"'"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}if(data7.value !== undefined){let data8 = data7.value;if(typeof data8 === "string"){if(!pattern0.test(data8)){const err16 = {keyword:"pattern",dataPath:dataPath+"/elementType/value",schemaPath:"#/allOf/0/properties/elementType/properties/value/pattern",params:{pattern: "^[\\w\\d]+:[\\w\\d]+$"},message:"should match pattern \""+"^[\\w\\d]+:[\\w\\d]+$"+"\""};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}}else {const err17 = {keyword:"type",dataPath:dataPath+"/elementType/value",schemaPath:"#/allOf/0/properties/elementType/properties/value/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}if(errors > 0){const emErrors1 = {"pattern":[]};const templates1 = {};for(const err18 of vErrors){if((((((err18.keyword !== "errorMessage") && (!err18.emUsed)) && (err18.dataPath === dataPath+"/elementType/value")) && (err18.keyword in emErrors1)) && (err18.schemaPath.indexOf("#/allOf/0/properties/elementType/properties/value") === 0)) && (/^\/[^\/]*$/.test(err18.schemaPath.slice(49)))){emErrors1[err18.keyword].push(err18);err18.emUsed = true;}}for(const key1 in emErrors1){if(emErrors1[key1].length){const err19 = {keyword:"errorMessage",dataPath:dataPath+"/elementType/value",schemaPath:"#/allOf/0/properties/elementType/properties/value/errorMessage",params:{errors: emErrors1[key1]},message:key1 in templates1 ? templates1[key1]() : schema17.allOf[0].properties.elementType.properties.value.errorMessage[key1]};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}}const emErrs1 = [];for(const err20 of vErrors){if(!err20.emUsed){emErrs1.push(err20);}}vErrors = emErrs1;errors = emErrs1.length;}}}else {const err21 = {keyword:"type",dataPath:dataPath+"/elementType",schemaPath:"#/allOf/0/properties/elementType/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}if(errors > 0){const emErrors2 = {"required":{"value":[]}};const templates2 = {required:{}};let emPropParams0;let emParamsErrors0;for(const err22 of vErrors){if((((((err22.keyword !== "errorMessage") && (!err22.emUsed)) && (err22.dataPath === dataPath+"/elementType")) && (err22.keyword in emErrors2)) && (err22.schemaPath.indexOf("#/allOf/0/properties/elementType") === 0)) && (/^\/[^\/]*$/.test(err22.schemaPath.slice(32)))){emPropParams0 = obj0[err22.keyword];emParamsErrors0 = emErrors2[err22.keyword][err22.params[emPropParams0]];if(emParamsErrors0){emParamsErrors0.push(err22);err22.emUsed = true;}}}for(const key2 in emErrors2){for(const keyProp0 in emErrors2[key2]){emParamsErrors0 = emErrors2[key2][keyProp0];if(emParamsErrors0.length){const tmpl0 = templates2[key2] && templates2[key2][keyProp0];const err23 = {keyword:"errorMessage",dataPath:dataPath+"/elementType",schemaPath:"#/allOf/0/properties/elementType/errorMessage",params:{errors: emParamsErrors0},message:tmpl0 ? tmpl0() : schema17.allOf[0].properties.elementType.errorMessage[key2][keyProp0]};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}}}const emErrs2 = [];for(const err24 of vErrors){if(!err24.emUsed){emErrs2.push(err24);}}vErrors = emErrs2;errors = emErrs2.length;}}if(data.metadata !== undefined){let data9 = data.metadata;if(!(data9 && typeof data9 == "object" && !Array.isArray(data9))){const err25 = {keyword:"type",dataPath:dataPath+"/metadata",schemaPath:"#/allOf/0/properties/metadata/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err25];}else {vErrors.push(err25);}errors++;}}if(data.entriesVisible !== undefined){if(typeof data.entriesVisible !== "boolean"){const err26 = {keyword:"type",dataPath:dataPath+"/entriesVisible",schemaPath:"#/allOf/0/properties/entriesVisible/type",params:{type: "boolean"},message:"should be boolean"};if(vErrors === null){vErrors = [err26];}else {vErrors.push(err26);}errors++;}}if(data.groups !== undefined){let data11 = data.groups;if(Array.isArray(data11)){const len1 = data11.length;for(let i1=0; i1<len1; i1++){let data12 = data11[i1];if(data12 && typeof data12 == "object" && !Array.isArray(data12)){if(data12.id === undefined){const err27 = {keyword:"required",dataPath:dataPath+"/groups/" + i1,schemaPath:"#/allOf/0/properties/groups/items/required",params:{missingProperty: "id"},message:"should have required property '"+"id"+"'"};if(vErrors === null){vErrors = [err27];}else {vErrors.push(err27);}errors++;}if(data12.label === undefined){const err28 = {keyword:"required",dataPath:dataPath+"/groups/" + i1,schemaPath:"#/allOf/0/properties/groups/items/required",params:{missingProperty: "label"},message:"should have required property '"+"label"+"'"};if(vErrors === null){vErrors = [err28];}else {vErrors.push(err28);}errors++;}if(data12.id !== undefined){if(typeof data12.id !== "string"){const err29 = {keyword:"type",dataPath:dataPath+"/groups/" + i1+"/id",schemaPath:"#/allOf/0/properties/groups/items/properties/id/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err29];}else {vErrors.push(err29);}errors++;}}if(data12.label !== undefined){if(typeof data12.label !== "string"){const err30 = {keyword:"type",dataPath:dataPath+"/groups/" + i1+"/label",schemaPath:"#/allOf/0/properties/groups/items/properties/label/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err30];}else {vErrors.push(err30);}errors++;}}}else {const err31 = {keyword:"type",dataPath:dataPath+"/groups/" + i1,schemaPath:"#/allOf/0/properties/groups/items/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err31];}else {vErrors.push(err31);}errors++;}if(errors > 0){const emErrors3 = {"required":{"id":[],"label":[]}};const templates3 = {required:{id:function(){return "missing id for group \"" + JSON.stringify(i1) + "\""},label:function(){return "missing label for group \"" + JSON.stringify(i1) + "\""}}};let emPropParams1;let emParamsErrors1;for(const err32 of vErrors){if((((((err32.keyword !== "errorMessage") && (!err32.emUsed)) && (err32.dataPath === dataPath+"/groups/" + i1)) && (err32.keyword in emErrors3)) && (err32.schemaPath.indexOf("#/allOf/0/properties/groups/items") === 0)) && (/^\/[^\/]*$/.test(err32.schemaPath.slice(33)))){emPropParams1 = obj0[err32.keyword];emParamsErrors1 = emErrors3[err32.keyword][err32.params[emPropParams1]];if(emParamsErrors1){emParamsErrors1.push(err32);err32.emUsed = true;}}}for(const key3 in emErrors3){for(const keyProp1 in emErrors3[key3]){emParamsErrors1 = emErrors3[key3][keyProp1];if(emParamsErrors1.length){const tmpl1 = templates3[key3] && templates3[key3][keyProp1];const err33 = {keyword:"errorMessage",dataPath:dataPath+"/groups/" + i1,schemaPath:"#/allOf/0/properties/groups/items/errorMessage",params:{errors: emParamsErrors1},message:tmpl1 ? tmpl1() : schema17.allOf[0].properties.groups.items.errorMessage[key3][keyProp1]};if(vErrors === null){vErrors = [err33];}else {vErrors.push(err33);}errors++;}}}const emErrs3 = [];for(const err34 of vErrors){if(!err34.emUsed){emErrs3.push(err34);}}vErrors = emErrs3;errors = emErrs3.length;}}}else {const err35 = {keyword:"type",dataPath:dataPath+"/groups",schemaPath:"#/allOf/0/properties/groups/type",params:{type: "array"},message:"should be array"};if(vErrors === null){vErrors = [err35];}else {vErrors.push(err35);}errors++;}}if(data.documentationRef !== undefined){let data15 = data.documentationRef;if(typeof data15 === "string"){if(!pattern2.test(data15)){const err36 = {keyword:"pattern",dataPath:dataPath+"/documentationRef",schemaPath:"#/allOf/0/properties/documentationRef/pattern",params:{pattern: "^(https|http)://.*"},message:"should match pattern \""+"^(https|http)://.*"+"\""};if(vErrors === null){vErrors = [err36];}else {vErrors.push(err36);}errors++;}}else {const err37 = {keyword:"type",dataPath:dataPath+"/documentationRef",schemaPath:"#/allOf/0/properties/documentationRef/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err37];}else {vErrors.push(err37);}errors++;}if(errors > 0){const emErrors4 = {"pattern":[]};const templates4 = {};for(const err38 of vErrors){if((((((err38.keyword !== "errorMessage") && (!err38.emUsed)) && (err38.dataPath === dataPath+"/documentationRef")) && (err38.keyword in emErrors4)) && (err38.schemaPath.indexOf("#/allOf/0/properties/documentationRef") === 0)) && (/^\/[^\/]*$/.test(err38.schemaPath.slice(37)))){emErrors4[err38.keyword].push(err38);err38.emUsed = true;}}for(const key4 in emErrors4){if(emErrors4[key4].length){const err39 = {keyword:"errorMessage",dataPath:dataPath+"/documentationRef",schemaPath:"#/allOf/0/properties/documentationRef/errorMessage",params:{errors: emErrors4[key4]},message:key4 in templates4 ? templates4[key4]() : schema17.allOf[0].properties.documentationRef.errorMessage[key4]};if(vErrors === null){vErrors = [err39];}else {vErrors.push(err39);}errors++;}}const emErrs4 = [];for(const err40 of vErrors){if(!err40.emUsed){emErrs4.push(err40);}}vErrors = emErrs4;errors = emErrs4.length;}}}if(errors > 0){const emErrors5 = {"required":{"name":[],"id":[],"appliesTo":[],"properties":[]}};const templates5 = {required:{}};let emPropParams2;let emParamsErrors2;for(const err41 of vErrors){if((((((err41.keyword !== "errorMessage") && (!err41.emUsed)) && (err41.dataPath === dataPath)) && (err41.keyword in emErrors5)) && (err41.schemaPath.indexOf("#/allOf/0") === 0)) && (/^\/[^\/]*$/.test(err41.schemaPath.slice(9)))){emPropParams2 = obj0[err41.keyword];emParamsErrors2 = emErrors5[err41.keyword][err41.params[emPropParams2]];if(emParamsErrors2){emParamsErrors2.push(err41);err41.emUsed = true;}}}for(const key5 in emErrors5){for(const keyProp2 in emErrors5[key5]){emParamsErrors2 = emErrors5[key5][keyProp2];if(emParamsErrors2.length){const tmpl2 = templates5[key5] && templates5[key5][keyProp2];const err42 = {keyword:"errorMessage",dataPath,schemaPath:"#/allOf/0/errorMessage",params:{errors: emParamsErrors2},message:tmpl2 ? tmpl2() : schema17.allOf[0].errorMessage[key5][keyProp2]};if(vErrors === null){vErrors = [err42];}else {vErrors.push(err42);}errors++;}}}const emErrs5 = [];for(const err43 of vErrors){if(!err43.emUsed){emErrs5.push(err43);}}vErrors = emErrs5;errors = emErrs5.length;}if(data && typeof data == "object" && !Array.isArray(data)){if(data.properties !== undefined){let data16 = data.properties;if(Array.isArray(data16)){const len2 = data16.length;for(let i2=0; i2<len2; i2++){let data17 = data16[i2];const _errs41 = errors;let valid18 = true;const _errs42 = errors;if(data17 && typeof data17 == "object" && !Array.isArray(data17)){if((data17.type === undefined) && ("type")){const err44 = {};if(vErrors === null){vErrors = [err44];}else {vErrors.push(err44);}errors++;}else {if(data17.type !== undefined){if(!equal(data17.type, "Dropdown")){const err45 = {};if(vErrors === null){vErrors = [err45];}else {vErrors.push(err45);}errors++;}}}}var _valid0 = _errs42 === errors;errors = _errs41;if(vErrors !== null){if(_errs41){vErrors.length = _errs41;}else {vErrors = null;}}if(_valid0){const _errs44 = errors;if(data17 && typeof data17 == "object" && !Array.isArray(data17)){if(data17.choices === undefined){const err46 = {keyword:"required",dataPath:dataPath+"/properties/" + i2,schemaPath:"#/definitions/properties/allOf/0/items/allOf/0/then/required",params:{missingProperty: "choices"},message:"should have required property '"+"choices"+"'"};if(vErrors === null){vErrors = [err46];}else {vErrors.push(err46);}errors++;}}if(errors > 0){const emErrs6 = [];for(const err47 of vErrors){if(((((err47.keyword !== "errorMessage") && (!err47.emUsed)) && ((err47.dataPath === dataPath+"/properties/" + i2) || ((err47.dataPath.indexOf(dataPath+"/properties/" + i2) === 0) && (err47.dataPath[dataPath+"/properties/" + i2.length] === "/")))) && (err47.schemaPath.indexOf("#/definitions/properties/allOf/0/items/allOf/0/then") === 0)) && (err47.schemaPath["#/definitions/properties/allOf/0/items/allOf/0/then".length] === "/")){emErrs6.push(err47);err47.emUsed = true;}}if(emErrs6.length){const err48 = {keyword:"errorMessage",dataPath:dataPath+"/properties/" + i2,schemaPath:"#/definitions/properties/allOf/0/items/allOf/0/then/errorMessage",params:{errors: emErrs6},message:"must provide choices=[] with \"Dropdown\" type"};if(vErrors === null){vErrors = [err48];}else {vErrors.push(err48);}errors++;}const emErrs7 = [];for(const err49 of vErrors){if(!err49.emUsed){emErrs7.push(err49);}}vErrors = emErrs7;errors = emErrs7.length;}var _valid0 = _errs44 === errors;valid18 = _valid0;}if(!valid18){const err50 = {keyword:"if",dataPath:dataPath+"/properties/" + i2,schemaPath:"#/definitions/properties/allOf/0/items/allOf/0/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err50];}else {vErrors.push(err50);}errors++;}if(data17 && typeof data17 == "object" && !Array.isArray(data17)){if(data17.value !== undefined){let data19 = data17.value;if((typeof data19 !== "string") && (typeof data19 !== "boolean")){const err51 = {keyword:"type",dataPath:dataPath+"/properties/" + i2+"/value",schemaPath:"#/definitions/properties/allOf/0/items/properties/value/type",params:{type: schema18.allOf[0].items.properties.value.type},message:"should be string,boolean"};if(vErrors === null){vErrors = [err51];}else {vErrors.push(err51);}errors++;}}if(data17.description !== undefined){if(typeof data17.description !== "string"){const err52 = {keyword:"type",dataPath:dataPath+"/properties/" + i2+"/description",schemaPath:"#/definitions/properties/allOf/0/items/properties/description/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err52];}else {vErrors.push(err52);}errors++;}}if(data17.label !== undefined){if(typeof data17.label !== "string"){const err53 = {keyword:"type",dataPath:dataPath+"/properties/" + i2+"/label",schemaPath:"#/definitions/properties/allOf/0/items/properties/label/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err53];}else {vErrors.push(err53);}errors++;}}if(data17.type !== undefined){if(typeof data17.type !== "string"){const err54 = {keyword:"type",dataPath:dataPath+"/properties/" + i2+"/type",schemaPath:"#/definitions/properties/allOf/0/items/properties/type/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err54];}else {vErrors.push(err54);}errors++;}}if(data17.editable !== undefined){if(typeof data17.editable !== "boolean"){const err55 = {keyword:"type",dataPath:dataPath+"/properties/" + i2+"/editable",schemaPath:"#/definitions/properties/allOf/0/items/properties/editable/type",params:{type: "boolean"},message:"should be boolean"};if(vErrors === null){vErrors = [err55];}else {vErrors.push(err55);}errors++;}}if(data17.choices !== undefined){let data24 = data17.choices;if(Array.isArray(data24)){const len3 = data24.length;for(let i3=0; i3<len3; i3++){let data25 = data24[i3];if(data25 && typeof data25 == "object" && !Array.isArray(data25)){if(data25.value === undefined){const err56 = {keyword:"required",dataPath:dataPath+"/properties/" + i2+"/choices/" + i3,schemaPath:"#/definitions/properties/allOf/0/items/properties/choices/items/required",params:{missingProperty: "value"},message:"should have required property '"+"value"+"'"};if(vErrors === null){vErrors = [err56];}else {vErrors.push(err56);}errors++;}if(data25.name === undefined){const err57 = {keyword:"required",dataPath:dataPath+"/properties/" + i2+"/choices/" + i3,schemaPath:"#/definitions/properties/allOf/0/items/properties/choices/items/required",params:{missingProperty: "name"},message:"should have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err57];}else {vErrors.push(err57);}errors++;}if(data25.name !== undefined){if(typeof data25.name !== "string"){const err58 = {keyword:"type",dataPath:dataPath+"/properties/" + i2+"/choices/" + i3+"/name",schemaPath:"#/definitions/properties/allOf/0/items/properties/choices/items/properties/name/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err58];}else {vErrors.push(err58);}errors++;}}if(data25.value !== undefined){if(typeof data25.value !== "string"){const err59 = {keyword:"type",dataPath:dataPath+"/properties/" + i2+"/choices/" + i3+"/value",schemaPath:"#/definitions/properties/allOf/0/items/properties/choices/items/properties/value/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err59];}else {vErrors.push(err59);}errors++;}}}else {const err60 = {keyword:"type",dataPath:dataPath+"/properties/" + i2+"/choices/" + i3,schemaPath:"#/definitions/properties/allOf/0/items/properties/choices/items/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err60];}else {vErrors.push(err60);}errors++;}if(errors > 0){const emErrs8 = [];for(const err61 of vErrors){if(((((err61.keyword !== "errorMessage") && (!err61.emUsed)) && ((err61.dataPath === dataPath+"/properties/" + i2+"/choices/" + i3) || ((err61.dataPath.indexOf(dataPath+"/properties/" + i2+"/choices/" + i3) === 0) && (err61.dataPath[dataPath+"/properties/" + i2+"/choices/" + i3.length] === "/")))) && (err61.schemaPath.indexOf("#/definitions/properties/allOf/0/items/properties/choices/items") === 0)) && (err61.schemaPath["#/definitions/properties/allOf/0/items/properties/choices/items".length] === "/")){emErrs8.push(err61);err61.emUsed = true;}}if(emErrs8.length){const err62 = {keyword:"errorMessage",dataPath:dataPath+"/properties/" + i2+"/choices/" + i3,schemaPath:"#/definitions/properties/allOf/0/items/properties/choices/items/errorMessage",params:{errors: emErrs8},message:"{ name, value } must be specified for \"Dropdown\" choices"};if(vErrors === null){vErrors = [err62];}else {vErrors.push(err62);}errors++;}const emErrs9 = [];for(const err63 of vErrors){if(!err63.emUsed){emErrs9.push(err63);}}vErrors = emErrs9;errors = emErrs9.length;}}}else {const err64 = {keyword:"type",dataPath:dataPath+"/properties/" + i2+"/choices",schemaPath:"#/definitions/properties/allOf/0/items/properties/choices/type",params:{type: "array"},message:"should be array"};if(vErrors === null){vErrors = [err64];}else {vErrors.push(err64);}errors++;}}if(data17.constraints !== undefined){let data28 = data17.constraints;if(data28 && typeof data28 == "object" && !Array.isArray(data28)){if(data28.notEmpty !== undefined){if(typeof data28.notEmpty !== "boolean"){const err65 = {keyword:"type",dataPath:dataPath+"/properties/" + i2+"/constraints/notEmpty",schemaPath:"#/definitions/properties/allOf/0/items/properties/constraints/properties/notEmpty/type",params:{type: "boolean"},message:"should be boolean"};if(vErrors === null){vErrors = [err65];}else {vErrors.push(err65);}errors++;}}if(data28.minLength !== undefined){if(!(typeof data28.minLength == "number")){const err66 = {keyword:"type",dataPath:dataPath+"/properties/" + i2+"/constraints/minLength",schemaPath:"#/definitions/properties/allOf/0/items/properties/constraints/properties/minLength/type",params:{type: "number"},message:"should be number"};if(vErrors === null){vErrors = [err66];}else {vErrors.push(err66);}errors++;}}if(data28.maxLength !== undefined){if(!(typeof data28.maxLength == "number")){const err67 = {keyword:"type",dataPath:dataPath+"/properties/" + i2+"/constraints/maxLength",schemaPath:"#/definitions/properties/allOf/0/items/properties/constraints/properties/maxLength/type",params:{type: "number"},message:"should be number"};if(vErrors === null){vErrors = [err67];}else {vErrors.push(err67);}errors++;}}if(data28.pattern !== undefined){let data32 = data28.pattern;const _errs72 = errors;let valid26 = false;let passing0 = null;const _errs73 = errors;if(data32 && typeof data32 == "object" && !Array.isArray(data32)){if(data32.value !== undefined){if(typeof data32.value !== "string"){const err68 = {keyword:"type",dataPath:dataPath+"/properties/" + i2+"/constraints/pattern/value",schemaPath:"#/definitions/properties/allOf/0/items/properties/constraints/properties/pattern/oneOf/0/properties/value/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err68];}else {vErrors.push(err68);}errors++;}}if(data32.message !== undefined){if(typeof data32.message !== "string"){const err69 = {keyword:"type",dataPath:dataPath+"/properties/" + i2+"/constraints/pattern/message",schemaPath:"#/definitions/properties/allOf/0/items/properties/constraints/properties/pattern/oneOf/0/properties/message/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err69];}else {vErrors.push(err69);}errors++;}}}else {const err70 = {keyword:"type",dataPath:dataPath+"/properties/" + i2+"/constraints/pattern",schemaPath:"#/definitions/properties/allOf/0/items/properties/constraints/properties/pattern/oneOf/0/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err70];}else {vErrors.push(err70);}errors++;}var _valid1 = _errs73 === errors;if(_valid1){valid26 = true;passing0 = 0;}const _errs79 = errors;if(typeof data32 !== "string"){const err71 = {keyword:"type",dataPath:dataPath+"/properties/" + i2+"/constraints/pattern",schemaPath:"#/definitions/properties/allOf/0/items/properties/constraints/properties/pattern/oneOf/1/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err71];}else {vErrors.push(err71);}errors++;}var _valid1 = _errs79 === errors;if(_valid1 && valid26){valid26 = false;passing0 = [passing0, 1];}else {if(_valid1){valid26 = true;passing0 = 1;}}if(!valid26){const err72 = {keyword:"oneOf",dataPath:dataPath+"/properties/" + i2+"/constraints/pattern",schemaPath:"#/definitions/properties/allOf/0/items/properties/constraints/properties/pattern/oneOf",params:{passingSchemas: passing0},message:"should match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err72];}else {vErrors.push(err72);}errors++;}else {errors = _errs72;if(vErrors !== null){if(_errs72){vErrors.length = _errs72;}else {vErrors = null;}}}}}else {const err73 = {keyword:"type",dataPath:dataPath+"/properties/" + i2+"/constraints",schemaPath:"#/definitions/properties/allOf/0/items/properties/constraints/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err73];}else {vErrors.push(err73);}errors++;}}if(data17.group !== undefined){if(typeof data17.group !== "string"){const err74 = {keyword:"type",dataPath:dataPath+"/properties/" + i2+"/group",schemaPath:"#/definitions/properties/allOf/0/items/properties/group/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err74];}else {vErrors.push(err74);}errors++;}}}else {const err75 = {keyword:"type",dataPath:dataPath+"/properties/" + i2,schemaPath:"#/definitions/properties/allOf/0/items/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err75];}else {vErrors.push(err75);}errors++;}}}else {const err76 = {keyword:"type",dataPath:dataPath+"/properties",schemaPath:"#/definitions/properties/allOf/0/type",params:{type: "array"},message:"should be array"};if(vErrors === null){vErrors = [err76];}else {vErrors.push(err76);}errors++;}if(Array.isArray(data16)){const len4 = data16.length;for(let i4=0; i4<len4; i4++){let data36 = data16[i4];const _errs88 = errors;let valid31 = true;const _errs89 = errors;if(data36 && typeof data36 == "object" && !Array.isArray(data36)){if((data36.binding === undefined) && ("binding")){const err77 = {};if(vErrors === null){vErrors = [err77];}else {vErrors.push(err77);}errors++;}else {if(data36.binding !== undefined){let data37 = data36.binding;if(data37 && typeof data37 == "object" && !Array.isArray(data37)){if((data37.type === undefined) && ("type")){const err78 = {};if(vErrors === null){vErrors = [err78];}else {vErrors.push(err78);}errors++;}else {if(data37.type !== undefined){if(!equal(data37.type, "property")){const err79 = {};if(vErrors === null){vErrors = [err79];}else {vErrors.push(err79);}errors++;}}}}}}}var _valid2 = _errs89 === errors;errors = _errs88;if(vErrors !== null){if(_errs88){vErrors.length = _errs88;}else {vErrors = null;}}if(_valid2){const _errs92 = errors;if(data36 && typeof data36 == "object" && !Array.isArray(data36)){if(data36.type !== undefined){let data39 = data36.type;if(!(((((data39 === "String") || (data39 === "Text")) || (data39 === "Hidden")) || (data39 === "Dropdown")) || (data39 === "Boolean"))){const err80 = {keyword:"enum",dataPath:dataPath+"/properties/" + i4+"/type",schemaPath:"#/definitions/properties/allOf/1/items/allOf/0/then/properties/type/enum",params:{allowedValues: schema18.allOf[1].items.allOf[0].then.properties.type.enum},message:"should be equal to one of the allowed values"};if(vErrors === null){vErrors = [err80];}else {vErrors.push(err80);}errors++;}if(errors > 0){const emErrs10 = [];for(const err81 of vErrors){if(((((err81.keyword !== "errorMessage") && (!err81.emUsed)) && ((err81.dataPath === dataPath+"/properties/" + i4+"/type") || ((err81.dataPath.indexOf(dataPath+"/properties/" + i4+"/type") === 0) && (err81.dataPath[dataPath+"/properties/" + i4+"/type".length] === "/")))) && (err81.schemaPath.indexOf("#/definitions/properties/allOf/1/items/allOf/0/then/properties/type") === 0)) && (err81.schemaPath["#/definitions/properties/allOf/1/items/allOf/0/then/properties/type".length] === "/")){emErrs10.push(err81);err81.emUsed = true;}}if(emErrs10.length){const err82 = {keyword:"errorMessage",dataPath:dataPath+"/properties/" + i4+"/type",schemaPath:"#/definitions/properties/allOf/1/items/allOf/0/then/properties/type/errorMessage",params:{errors: emErrs10},message:"invalid property type " + JSON.stringify(data39) + " for binding type \"property\"; must be any of { String, Text, Hidden, Dropdown, Boolean }"};if(vErrors === null){vErrors = [err82];}else {vErrors.push(err82);}errors++;}const emErrs11 = [];for(const err83 of vErrors){if(!err83.emUsed){emErrs11.push(err83);}}vErrors = emErrs11;errors = emErrs11.length;}}}var _valid2 = _errs92 === errors;valid31 = _valid2;}if(!valid31){const err84 = {keyword:"if",dataPath:dataPath+"/properties/" + i4,schemaPath:"#/definitions/properties/allOf/1/items/allOf/0/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err84];}else {vErrors.push(err84);}errors++;}const _errs95 = errors;let valid35 = true;const _errs96 = errors;if(data36 && typeof data36 == "object" && !Array.isArray(data36)){if((data36.binding === undefined) && ("binding")){const err85 = {};if(vErrors === null){vErrors = [err85];}else {vErrors.push(err85);}errors++;}else {if(data36.binding !== undefined){let data40 = data36.binding;if(data40 && typeof data40 == "object" && !Array.isArray(data40)){if((data40.type === undefined) && ("type")){const err86 = {};if(vErrors === null){vErrors = [err86];}else {vErrors.push(err86);}errors++;}else {if(data40.type !== undefined){let data41 = data40.type;if(!((((data41 === "zeebe:input") || (data41 === "zeebe:output")) || (data41 === "zeebe:taskHeader")) || (data41 === "zeebe:taskDefinition:type"))){const err87 = {};if(vErrors === null){vErrors = [err87];}else {vErrors.push(err87);}errors++;}}}}}}}var _valid3 = _errs96 === errors;errors = _errs95;if(vErrors !== null){if(_errs95){vErrors.length = _errs95;}else {vErrors = null;}}if(_valid3){const _errs99 = errors;if(data36 && typeof data36 == "object" && !Array.isArray(data36)){if(data36.type !== undefined){let data42 = data36.type;if(!((((data42 === "String") || (data42 === "Text")) || (data42 === "Hidden")) || (data42 === "Dropdown"))){const err88 = {keyword:"enum",dataPath:dataPath+"/properties/" + i4+"/type",schemaPath:"#/definitions/properties/allOf/1/items/allOf/1/then/properties/type/enum",params:{allowedValues: schema18.allOf[1].items.allOf[1].then.properties.type.enum},message:"should be equal to one of the allowed values"};if(vErrors === null){vErrors = [err88];}else {vErrors.push(err88);}errors++;}if(errors > 0){const emErrs12 = [];for(const err89 of vErrors){if(((((err89.keyword !== "errorMessage") && (!err89.emUsed)) && ((err89.dataPath === dataPath+"/properties/" + i4+"/type") || ((err89.dataPath.indexOf(dataPath+"/properties/" + i4+"/type") === 0) && (err89.dataPath[dataPath+"/properties/" + i4+"/type".length] === "/")))) && (err89.schemaPath.indexOf("#/definitions/properties/allOf/1/items/allOf/1/then/properties/type") === 0)) && (err89.schemaPath["#/definitions/properties/allOf/1/items/allOf/1/then/properties/type".length] === "/")){emErrs12.push(err89);err89.emUsed = true;}}if(emErrs12.length){const err90 = {keyword:"errorMessage",dataPath:dataPath+"/properties/" + i4+"/type",schemaPath:"#/definitions/properties/allOf/1/items/allOf/1/then/properties/type/errorMessage",params:{errors: emErrs12},message:"invalid property type " + JSON.stringify(data42) + " for binding type " + JSON.stringify(data36 && data36.binding && data36.binding.type) + "; must be any of { String, Text, Hidden, Dropdown }"};if(vErrors === null){vErrors = [err90];}else {vErrors.push(err90);}errors++;}const emErrs13 = [];for(const err91 of vErrors){if(!err91.emUsed){emErrs13.push(err91);}}vErrors = emErrs13;errors = emErrs13.length;}}}var _valid3 = _errs99 === errors;valid35 = _valid3;}if(!valid35){const err92 = {keyword:"if",dataPath:dataPath+"/properties/" + i4,schemaPath:"#/definitions/properties/allOf/1/items/allOf/1/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err92];}else {vErrors.push(err92);}errors++;}const _errs102 = errors;let valid39 = true;const _errs103 = errors;if(data36 && typeof data36 == "object" && !Array.isArray(data36)){if((data36.optional === undefined) && ("optional")){const err93 = {};if(vErrors === null){vErrors = [err93];}else {vErrors.push(err93);}errors++;}else {if(data36.optional !== undefined){if(!equal(data36.optional, true)){const err94 = {};if(vErrors === null){vErrors = [err94];}else {vErrors.push(err94);}errors++;}}}}var _valid4 = _errs103 === errors;errors = _errs102;if(vErrors !== null){if(_errs102){vErrors.length = _errs102;}else {vErrors = null;}}if(_valid4){const _errs105 = errors;if(data36 && typeof data36 == "object" && !Array.isArray(data36)){if(data36.binding !== undefined){let data44 = data36.binding;if(data44 && typeof data44 == "object" && !Array.isArray(data44)){if(data44.type === undefined){const err95 = {keyword:"required",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/allOf/2/then/properties/binding/required",params:{missingProperty: "type"},message:"should have required property '"+"type"+"'"};if(vErrors === null){vErrors = [err95];}else {vErrors.push(err95);}errors++;}if(data44.type !== undefined){let data45 = data44.type;if(!((data45 === "zeebe:input") || (data45 === "zeebe:output"))){const err96 = {keyword:"enum",dataPath:dataPath+"/properties/" + i4+"/binding/type",schemaPath:"#/definitions/properties/allOf/1/items/allOf/2/then/properties/binding/properties/type/enum",params:{allowedValues: schema18.allOf[1].items.allOf[2].then.properties.binding.properties.type.enum},message:"should be equal to one of the allowed values"};if(vErrors === null){vErrors = [err96];}else {vErrors.push(err96);}errors++;}if(errors > 0){const emErrs14 = [];for(const err97 of vErrors){if(((((err97.keyword !== "errorMessage") && (!err97.emUsed)) && ((err97.dataPath === dataPath+"/properties/" + i4+"/binding/type") || ((err97.dataPath.indexOf(dataPath+"/properties/" + i4+"/binding/type") === 0) && (err97.dataPath[dataPath+"/properties/" + i4+"/binding/type".length] === "/")))) && (err97.schemaPath.indexOf("#/definitions/properties/allOf/1/items/allOf/2/then/properties/binding/properties/type") === 0)) && (err97.schemaPath["#/definitions/properties/allOf/1/items/allOf/2/then/properties/binding/properties/type".length] === "/")){emErrs14.push(err97);err97.emUsed = true;}}if(emErrs14.length){const err98 = {keyword:"errorMessage",dataPath:dataPath+"/properties/" + i4+"/binding/type",schemaPath:"#/definitions/properties/allOf/1/items/allOf/2/then/properties/binding/properties/type/errorMessage",params:{errors: emErrs14},message:"optional is not supported for binding type " + JSON.stringify(data45) + "; must be any of { zeebe:input, zeebe:output }"};if(vErrors === null){vErrors = [err98];}else {vErrors.push(err98);}errors++;}const emErrs15 = [];for(const err99 of vErrors){if(!err99.emUsed){emErrs15.push(err99);}}vErrors = emErrs15;errors = emErrs15.length;}}}}}var _valid4 = _errs105 === errors;valid39 = _valid4;}if(!valid39){const err100 = {keyword:"if",dataPath:dataPath+"/properties/" + i4,schemaPath:"#/definitions/properties/allOf/1/items/allOf/2/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err100];}else {vErrors.push(err100);}errors++;}const _errs109 = errors;let valid43 = true;const _errs110 = errors;if(data36 && typeof data36 == "object" && !Array.isArray(data36)){if((data36.optional === undefined) && ("optional")){const err101 = {};if(vErrors === null){vErrors = [err101];}else {vErrors.push(err101);}errors++;}else {if(data36.optional !== undefined){if(!equal(data36.optional, true)){const err102 = {};if(vErrors === null){vErrors = [err102];}else {vErrors.push(err102);}errors++;}}}}var _valid5 = _errs110 === errors;errors = _errs109;if(vErrors !== null){if(_errs109){vErrors.length = _errs109;}else {vErrors = null;}}if(_valid5){const _errs112 = errors;if(data36 && typeof data36 == "object" && !Array.isArray(data36)){if(data36.constraints !== undefined){let data47 = data36.constraints;if(data47 && typeof data47 == "object" && !Array.isArray(data47)){if(data47.notEmpty === undefined){const err103 = {keyword:"required",dataPath:dataPath+"/properties/" + i4+"/constraints",schemaPath:"#/definitions/properties/allOf/1/items/allOf/3/then/properties/constraints/required",params:{missingProperty: "notEmpty"},message:"should have required property '"+"notEmpty"+"'"};if(vErrors === null){vErrors = [err103];}else {vErrors.push(err103);}errors++;}if(data47.notEmpty !== undefined){if(!equal(data47.notEmpty, false)){const err104 = {keyword:"const",dataPath:dataPath+"/properties/" + i4+"/constraints/notEmpty",schemaPath:"#/definitions/properties/allOf/1/items/allOf/3/then/properties/constraints/properties/notEmpty/const",params:{allowedValue: false},message:"should be equal to constant"};if(vErrors === null){vErrors = [err104];}else {vErrors.push(err104);}errors++;}if(errors > 0){const emErrs16 = [];for(const err105 of vErrors){if(((((err105.keyword !== "errorMessage") && (!err105.emUsed)) && ((err105.dataPath === dataPath+"/properties/" + i4+"/constraints/notEmpty") || ((err105.dataPath.indexOf(dataPath+"/properties/" + i4+"/constraints/notEmpty") === 0) && (err105.dataPath[dataPath+"/properties/" + i4+"/constraints/notEmpty".length] === "/")))) && (err105.schemaPath.indexOf("#/definitions/properties/allOf/1/items/allOf/3/then/properties/constraints/properties/notEmpty") === 0)) && (err105.schemaPath["#/definitions/properties/allOf/1/items/allOf/3/then/properties/constraints/properties/notEmpty".length] === "/")){emErrs16.push(err105);err105.emUsed = true;}}if(emErrs16.length){const err106 = {keyword:"errorMessage",dataPath:dataPath+"/properties/" + i4+"/constraints/notEmpty",schemaPath:"#/definitions/properties/allOf/1/items/allOf/3/then/properties/constraints/properties/notEmpty/errorMessage",params:{errors: emErrs16},message:"optional is not allowed for truthy \"notEmpty\" constraint"};if(vErrors === null){vErrors = [err106];}else {vErrors.push(err106);}errors++;}const emErrs17 = [];for(const err107 of vErrors){if(!err107.emUsed){emErrs17.push(err107);}}vErrors = emErrs17;errors = emErrs17.length;}}}}}var _valid5 = _errs112 === errors;valid43 = _valid5;}if(!valid43){const err108 = {keyword:"if",dataPath:dataPath+"/properties/" + i4,schemaPath:"#/definitions/properties/allOf/1/items/allOf/3/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err108];}else {vErrors.push(err108);}errors++;}const _errs116 = errors;let valid47 = true;const _errs117 = errors;if(data36 && typeof data36 == "object" && !Array.isArray(data36)){if((data36.feel === undefined) && ("feel")){const err109 = {};if(vErrors === null){vErrors = [err109];}else {vErrors.push(err109);}errors++;}else {if(data36.feel !== undefined){const _errs119 = errors;const _errs120 = errors;if(!equal(data36.feel, schema18.allOf[1].items.allOf[4].if.properties.feel.not.const)){const err110 = {};if(vErrors === null){vErrors = [err110];}else {vErrors.push(err110);}errors++;}var valid49 = _errs120 === errors;if(!valid49){errors = _errs119;if(vErrors !== null){if(_errs119){vErrors.length = _errs119;}else {vErrors = null;}}}else {const err111 = {};if(vErrors === null){vErrors = [err111];}else {vErrors.push(err111);}errors++;}}}}var _valid6 = _errs117 === errors;errors = _errs116;if(vErrors !== null){if(_errs116){vErrors.length = _errs116;}else {vErrors = null;}}if(_valid6){const _errs121 = errors;if(data36 && typeof data36 == "object" && !Array.isArray(data36)){if(data36.type === undefined){const err112 = {keyword:"required",dataPath:dataPath+"/properties/" + i4,schemaPath:"#/definitions/properties/allOf/1/items/allOf/4/then/required",params:{missingProperty: "type"},message:"should have required property '"+"type"+"'"};if(vErrors === null){vErrors = [err112];}else {vErrors.push(err112);}errors++;}if(data36.type !== undefined){let data50 = data36.type;if(!((data50 === "String") || (data50 === "Text"))){const err113 = {keyword:"enum",dataPath:dataPath+"/properties/" + i4+"/type",schemaPath:"#/definitions/properties/allOf/1/items/allOf/4/then/properties/type/enum",params:{allowedValues: schema18.allOf[1].items.allOf[4].then.properties.type.enum},message:"should be equal to one of the allowed values"};if(vErrors === null){vErrors = [err113];}else {vErrors.push(err113);}errors++;}if(errors > 0){const emErrs18 = [];for(const err114 of vErrors){if(((((err114.keyword !== "errorMessage") && (!err114.emUsed)) && ((err114.dataPath === dataPath+"/properties/" + i4+"/type") || ((err114.dataPath.indexOf(dataPath+"/properties/" + i4+"/type") === 0) && (err114.dataPath[dataPath+"/properties/" + i4+"/type".length] === "/")))) && (err114.schemaPath.indexOf("#/definitions/properties/allOf/1/items/allOf/4/then/properties/type") === 0)) && (err114.schemaPath["#/definitions/properties/allOf/1/items/allOf/4/then/properties/type".length] === "/")){emErrs18.push(err114);err114.emUsed = true;}}if(emErrs18.length){const err115 = {keyword:"errorMessage",dataPath:dataPath+"/properties/" + i4+"/type",schemaPath:"#/definitions/properties/allOf/1/items/allOf/4/then/properties/type/errorMessage",params:{errors: emErrs18},message:"feel is only supported for \"String\" and \"Text\" type"};if(vErrors === null){vErrors = [err115];}else {vErrors.push(err115);}errors++;}const emErrs19 = [];for(const err116 of vErrors){if(!err116.emUsed){emErrs19.push(err116);}}vErrors = emErrs19;errors = emErrs19.length;}}}var _valid6 = _errs121 === errors;valid47 = _valid6;}if(!valid47){const err117 = {keyword:"if",dataPath:dataPath+"/properties/" + i4,schemaPath:"#/definitions/properties/allOf/1/items/allOf/4/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err117];}else {vErrors.push(err117);}errors++;}if(data36 && typeof data36 == "object" && !Array.isArray(data36)){if(data36.binding === undefined){const err118 = {keyword:"required",dataPath:dataPath+"/properties/" + i4,schemaPath:"#/definitions/properties/allOf/1/items/required",params:{missingProperty: "binding"},message:"should have required property '"+"binding"+"'"};if(vErrors === null){vErrors = [err118];}else {vErrors.push(err118);}errors++;}if(data36.binding !== undefined){let data51 = data36.binding;const _errs126 = errors;let valid53 = true;const _errs127 = errors;if(data51 && typeof data51 == "object" && !Array.isArray(data51)){if((data51.type === undefined) && ("type")){const err119 = {};if(vErrors === null){vErrors = [err119];}else {vErrors.push(err119);}errors++;}else {if(data51.type !== undefined){let data52 = data51.type;if(!((data52 === "property") || (data52 === "zeebe:input"))){const err120 = {};if(vErrors === null){vErrors = [err120];}else {vErrors.push(err120);}errors++;}}}}var _valid7 = _errs127 === errors;errors = _errs126;if(vErrors !== null){if(_errs126){vErrors.length = _errs126;}else {vErrors = null;}}if(_valid7){const _errs129 = errors;if(data51 && typeof data51 == "object" && !Array.isArray(data51)){if(data51.name === undefined){const err121 = {keyword:"required",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/0/then/required",params:{missingProperty: "name"},message:"should have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err121];}else {vErrors.push(err121);}errors++;}}if(errors > 0){const emErrs20 = [];for(const err122 of vErrors){if(((((err122.keyword !== "errorMessage") && (!err122.emUsed)) && ((err122.dataPath === dataPath+"/properties/" + i4+"/binding") || ((err122.dataPath.indexOf(dataPath+"/properties/" + i4+"/binding") === 0) && (err122.dataPath[dataPath+"/properties/" + i4+"/binding".length] === "/")))) && (err122.schemaPath.indexOf("#/definitions/properties/allOf/1/items/properties/binding/allOf/0/then") === 0)) && (err122.schemaPath["#/definitions/properties/allOf/1/items/properties/binding/allOf/0/then".length] === "/")){emErrs20.push(err122);err122.emUsed = true;}}if(emErrs20.length){const err123 = {keyword:"errorMessage",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/0/then/errorMessage",params:{errors: emErrs20},message:"property.binding " + JSON.stringify(data51 && data51.type) + " requires name"};if(vErrors === null){vErrors = [err123];}else {vErrors.push(err123);}errors++;}const emErrs21 = [];for(const err124 of vErrors){if(!err124.emUsed){emErrs21.push(err124);}}vErrors = emErrs21;errors = emErrs21.length;}var _valid7 = _errs129 === errors;valid53 = _valid7;}if(!valid53){const err125 = {keyword:"if",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/0/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err125];}else {vErrors.push(err125);}errors++;}const _errs131 = errors;let valid55 = true;const _errs132 = errors;if(data51 && typeof data51 == "object" && !Array.isArray(data51)){if((data51.type === undefined) && ("type")){const err126 = {};if(vErrors === null){vErrors = [err126];}else {vErrors.push(err126);}errors++;}else {if(data51.type !== undefined){if(!equal(data51.type, "zeebe:output")){const err127 = {};if(vErrors === null){vErrors = [err127];}else {vErrors.push(err127);}errors++;}}}}var _valid8 = _errs132 === errors;errors = _errs131;if(vErrors !== null){if(_errs131){vErrors.length = _errs131;}else {vErrors = null;}}if(_valid8){const _errs134 = errors;if(data51 && typeof data51 == "object" && !Array.isArray(data51)){if(data51.source === undefined){const err128 = {keyword:"required",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/1/then/required",params:{missingProperty: "source"},message:"should have required property '"+"source"+"'"};if(vErrors === null){vErrors = [err128];}else {vErrors.push(err128);}errors++;}}if(errors > 0){const emErrs22 = [];for(const err129 of vErrors){if(((((err129.keyword !== "errorMessage") && (!err129.emUsed)) && ((err129.dataPath === dataPath+"/properties/" + i4+"/binding") || ((err129.dataPath.indexOf(dataPath+"/properties/" + i4+"/binding") === 0) && (err129.dataPath[dataPath+"/properties/" + i4+"/binding".length] === "/")))) && (err129.schemaPath.indexOf("#/definitions/properties/allOf/1/items/properties/binding/allOf/1/then") === 0)) && (err129.schemaPath["#/definitions/properties/allOf/1/items/properties/binding/allOf/1/then".length] === "/")){emErrs22.push(err129);err129.emUsed = true;}}if(emErrs22.length){const err130 = {keyword:"errorMessage",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/1/then/errorMessage",params:{errors: emErrs22},message:"property.binding " + JSON.stringify(data51 && data51.type) + " requires source"};if(vErrors === null){vErrors = [err130];}else {vErrors.push(err130);}errors++;}const emErrs23 = [];for(const err131 of vErrors){if(!err131.emUsed){emErrs23.push(err131);}}vErrors = emErrs23;errors = emErrs23.length;}var _valid8 = _errs134 === errors;valid55 = _valid8;}if(!valid55){const err132 = {keyword:"if",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/1/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err132];}else {vErrors.push(err132);}errors++;}const _errs136 = errors;let valid57 = true;const _errs137 = errors;if(data51 && typeof data51 == "object" && !Array.isArray(data51)){if((data51.type === undefined) && ("type")){const err133 = {};if(vErrors === null){vErrors = [err133];}else {vErrors.push(err133);}errors++;}else {if(data51.type !== undefined){if(!equal(data51.type, "zeebe:taskHeader")){const err134 = {};if(vErrors === null){vErrors = [err134];}else {vErrors.push(err134);}errors++;}}}}var _valid9 = _errs137 === errors;errors = _errs136;if(vErrors !== null){if(_errs136){vErrors.length = _errs136;}else {vErrors = null;}}if(_valid9){const _errs139 = errors;if(data51 && typeof data51 == "object" && !Array.isArray(data51)){if(data51.key === undefined){const err135 = {keyword:"required",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/2/then/required",params:{missingProperty: "key"},message:"should have required property '"+"key"+"'"};if(vErrors === null){vErrors = [err135];}else {vErrors.push(err135);}errors++;}}if(errors > 0){const emErrs24 = [];for(const err136 of vErrors){if(((((err136.keyword !== "errorMessage") && (!err136.emUsed)) && ((err136.dataPath === dataPath+"/properties/" + i4+"/binding") || ((err136.dataPath.indexOf(dataPath+"/properties/" + i4+"/binding") === 0) && (err136.dataPath[dataPath+"/properties/" + i4+"/binding".length] === "/")))) && (err136.schemaPath.indexOf("#/definitions/properties/allOf/1/items/properties/binding/allOf/2/then") === 0)) && (err136.schemaPath["#/definitions/properties/allOf/1/items/properties/binding/allOf/2/then".length] === "/")){emErrs24.push(err136);err136.emUsed = true;}}if(emErrs24.length){const err137 = {keyword:"errorMessage",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/2/then/errorMessage",params:{errors: emErrs24},message:"property.binding " + JSON.stringify(data51 && data51.type) + " requires key"};if(vErrors === null){vErrors = [err137];}else {vErrors.push(err137);}errors++;}const emErrs25 = [];for(const err138 of vErrors){if(!err138.emUsed){emErrs25.push(err138);}}vErrors = emErrs25;errors = emErrs25.length;}var _valid9 = _errs139 === errors;valid57 = _valid9;}if(!valid57){const err139 = {keyword:"if",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/allOf/2/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err139];}else {vErrors.push(err139);}errors++;}if(data51 && typeof data51 == "object" && !Array.isArray(data51)){if(data51.type === undefined){const err140 = {keyword:"required",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/required",params:{missingProperty: "type"},message:"should have required property '"+"type"+"'"};if(vErrors === null){vErrors = [err140];}else {vErrors.push(err140);}errors++;}if(data51.type !== undefined){let data55 = data51.type;if(typeof data55 !== "string"){const err141 = {keyword:"type",dataPath:dataPath+"/properties/" + i4+"/binding/type",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/properties/type/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err141];}else {vErrors.push(err141);}errors++;}if(!(((((data55 === "property") || (data55 === "zeebe:taskDefinition:type")) || (data55 === "zeebe:input")) || (data55 === "zeebe:output")) || (data55 === "zeebe:taskHeader"))){const err142 = {keyword:"enum",dataPath:dataPath+"/properties/" + i4+"/binding/type",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/properties/type/enum",params:{allowedValues: schema18.allOf[1].items.properties.binding.properties.type.enum},message:"should be equal to one of the allowed values"};if(vErrors === null){vErrors = [err142];}else {vErrors.push(err142);}errors++;}if(errors > 0){const emErrs26 = [];for(const err143 of vErrors){if(((((err143.keyword !== "errorMessage") && (!err143.emUsed)) && ((err143.dataPath === dataPath+"/properties/" + i4+"/binding/type") || ((err143.dataPath.indexOf(dataPath+"/properties/" + i4+"/binding/type") === 0) && (err143.dataPath[dataPath+"/properties/" + i4+"/binding/type".length] === "/")))) && (err143.schemaPath.indexOf("#/definitions/properties/allOf/1/items/properties/binding/properties/type") === 0)) && (err143.schemaPath["#/definitions/properties/allOf/1/items/properties/binding/properties/type".length] === "/")){emErrs26.push(err143);err143.emUsed = true;}}if(emErrs26.length){const err144 = {keyword:"errorMessage",dataPath:dataPath+"/properties/" + i4+"/binding/type",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/properties/type/errorMessage",params:{errors: emErrs26},message:"invalid property.binding type " + JSON.stringify(data55) + "; must be any of { property, zeebe:taskDefinition:type, zeebe:input, zeebe:output, zeebe:taskHeader }"};if(vErrors === null){vErrors = [err144];}else {vErrors.push(err144);}errors++;}const emErrs27 = [];for(const err145 of vErrors){if(!err145.emUsed){emErrs27.push(err145);}}vErrors = emErrs27;errors = emErrs27.length;}}if(data51.name !== undefined){if(typeof data51.name !== "string"){const err146 = {keyword:"type",dataPath:dataPath+"/properties/" + i4+"/binding/name",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/properties/name/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err146];}else {vErrors.push(err146);}errors++;}}if(data51.source !== undefined){if(typeof data51.source !== "string"){const err147 = {keyword:"type",dataPath:dataPath+"/properties/" + i4+"/binding/source",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/properties/source/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err147];}else {vErrors.push(err147);}errors++;}}if(data51.key !== undefined){if(typeof data51.key !== "string"){const err148 = {keyword:"type",dataPath:dataPath+"/properties/" + i4+"/binding/key",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/properties/key/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err148];}else {vErrors.push(err148);}errors++;}}}else {const err149 = {keyword:"type",dataPath:dataPath+"/properties/" + i4+"/binding",schemaPath:"#/definitions/properties/allOf/1/items/properties/binding/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err149];}else {vErrors.push(err149);}errors++;}}if(data36.optional !== undefined){if(typeof data36.optional !== "boolean"){const err150 = {keyword:"type",dataPath:dataPath+"/properties/" + i4+"/optional",schemaPath:"#/definitions/properties/allOf/1/items/properties/optional/type",params:{type: "boolean"},message:"should be boolean"};if(vErrors === null){vErrors = [err150];}else {vErrors.push(err150);}errors++;}}if(data36.feel !== undefined){let data60 = data36.feel;if(typeof data60 !== "string"){const err151 = {keyword:"type",dataPath:dataPath+"/properties/" + i4+"/feel",schemaPath:"#/definitions/properties/allOf/1/items/properties/feel/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err151];}else {vErrors.push(err151);}errors++;}if(!(((data60 === null) || (data60 === "optional")) || (data60 === "required"))){const err152 = {keyword:"enum",dataPath:dataPath+"/properties/" + i4+"/feel",schemaPath:"#/definitions/properties/allOf/1/items/properties/feel/enum",params:{allowedValues: schema18.allOf[1].items.properties.feel.enum},message:"should be equal to one of the allowed values"};if(vErrors === null){vErrors = [err152];}else {vErrors.push(err152);}errors++;}}}else {const err153 = {keyword:"type",dataPath:dataPath+"/properties/" + i4,schemaPath:"#/definitions/properties/allOf/1/items/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err153];}else {vErrors.push(err153);}errors++;}if(errors > 0){const emErrors6 = {"required":{"binding":[]}};const templates6 = {required:{binding:function(){return "missing binding for property \"" + JSON.stringify(i4) + "\""}}};let emPropParams3;let emParamsErrors3;for(const err154 of vErrors){if((((((err154.keyword !== "errorMessage") && (!err154.emUsed)) && (err154.dataPath === dataPath+"/properties/" + i4)) && (err154.keyword in emErrors6)) && (err154.schemaPath.indexOf("#/definitions/properties/allOf/1/items") === 0)) && (/^\/[^\/]*$/.test(err154.schemaPath.slice(38)))){emPropParams3 = obj0[err154.keyword];emParamsErrors3 = emErrors6[err154.keyword][err154.params[emPropParams3]];if(emParamsErrors3){emParamsErrors3.push(err154);err154.emUsed = true;}}}for(const key6 in emErrors6){for(const keyProp3 in emErrors6[key6]){emParamsErrors3 = emErrors6[key6][keyProp3];if(emParamsErrors3.length){const tmpl3 = templates6[key6] && templates6[key6][keyProp3];const err155 = {keyword:"errorMessage",dataPath:dataPath+"/properties/" + i4,schemaPath:"#/definitions/properties/allOf/1/items/errorMessage",params:{errors: emParamsErrors3},message:tmpl3 ? tmpl3() : schema18.allOf[1].items.errorMessage[key6][keyProp3]};if(vErrors === null){vErrors = [err155];}else {vErrors.push(err155);}errors++;}}}const emErrs28 = [];for(const err156 of vErrors){if(!err156.emUsed){emErrs28.push(err156);}}vErrors = emErrs28;errors = emErrs28.length;}}}else {const err157 = {keyword:"type",dataPath:dataPath+"/properties",schemaPath:"#/definitions/properties/allOf/1/type",params:{type: "array"},message:"should be array"};if(vErrors === null){vErrors = [err157];}else {vErrors.push(err157);}errors++;}}if(data.icon !== undefined){let data61 = data.icon;if(data61 && typeof data61 == "object" && !Array.isArray(data61)){if(data61.contents === undefined){const err158 = {keyword:"required",dataPath:dataPath+"/icon",schemaPath:"#/properties/icon/required",params:{missingProperty: "contents"},message:"should have required property '"+"contents"+"'"};if(vErrors === null){vErrors = [err158];}else {vErrors.push(err158);}errors++;}if(data61.contents !== undefined){let data62 = data61.contents;if(typeof data62 === "string"){if(!pattern3.test(data62)){const err159 = {keyword:"pattern",dataPath:dataPath+"/icon/contents",schemaPath:"#/properties/icon/properties/contents/pattern",params:{pattern: "^(https?|data):.*"},message:"should match pattern \""+"^(https?|data):.*"+"\""};if(vErrors === null){vErrors = [err159];}else {vErrors.push(err159);}errors++;}}else {const err160 = {keyword:"type",dataPath:dataPath+"/icon/contents",schemaPath:"#/properties/icon/properties/contents/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err160];}else {vErrors.push(err160);}errors++;}if(errors > 0){const emErrors7 = {"pattern":[]};const templates7 = {};for(const err161 of vErrors){if((((((err161.keyword !== "errorMessage") && (!err161.emUsed)) && (err161.dataPath === dataPath+"/icon/contents")) && (err161.keyword in emErrors7)) && (err161.schemaPath.indexOf("#/properties/icon/properties/contents") === 0)) && (/^\/[^\/]*$/.test(err161.schemaPath.slice(37)))){emErrors7[err161.keyword].push(err161);err161.emUsed = true;}}for(const key7 in emErrors7){if(emErrors7[key7].length){const err162 = {keyword:"errorMessage",dataPath:dataPath+"/icon/contents",schemaPath:"#/properties/icon/properties/contents/errorMessage",params:{errors: emErrors7[key7]},message:key7 in templates7 ? templates7[key7]() : schema17.properties.icon.properties.contents.errorMessage[key7]};if(vErrors === null){vErrors = [err162];}else {vErrors.push(err162);}errors++;}}const emErrs29 = [];for(const err163 of vErrors){if(!err163.emUsed){emErrs29.push(err163);}}vErrors = emErrs29;errors = emErrs29.length;}}}else {const err164 = {keyword:"type",dataPath:dataPath+"/icon",schemaPath:"#/properties/icon/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err164];}else {vErrors.push(err164);}errors++;}if(errors > 0){const emErrors8 = {"required":{"contents":[]}};const templates8 = {required:{}};let emPropParams4;let emParamsErrors4;for(const err165 of vErrors){if((((((err165.keyword !== "errorMessage") && (!err165.emUsed)) && (err165.dataPath === dataPath+"/icon")) && (err165.keyword in emErrors8)) && (err165.schemaPath.indexOf("#/properties/icon") === 0)) && (/^\/[^\/]*$/.test(err165.schemaPath.slice(17)))){emPropParams4 = obj0[err165.keyword];emParamsErrors4 = emErrors8[err165.keyword][err165.params[emPropParams4]];if(emParamsErrors4){emParamsErrors4.push(err165);err165.emUsed = true;}}}for(const key8 in emErrors8){for(const keyProp4 in emErrors8[key8]){emParamsErrors4 = emErrors8[key8][keyProp4];if(emParamsErrors4.length){const tmpl4 = templates8[key8] && templates8[key8][keyProp4];const err166 = {keyword:"errorMessage",dataPath:dataPath+"/icon",schemaPath:"#/properties/icon/errorMessage",params:{errors: emParamsErrors4},message:tmpl4 ? tmpl4() : schema17.properties.icon.errorMessage[key8][keyProp4]};if(vErrors === null){vErrors = [err166];}else {vErrors.push(err166);}errors++;}}}const emErrs30 = [];for(const err167 of vErrors){if(!err167.emUsed){emErrs30.push(err167);}}vErrors = emErrs30;errors = emErrs30.length;}}}else {const err168 = {keyword:"type",dataPath,schemaPath:"#/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err168];}else {vErrors.push(err168);}errors++;}validate15.errors = vErrors;return errors === 0;}function validate14(data, {dataPath="", parentData, parentDataProperty, rootData=data}={}){let vErrors = null;let errors = 0;const _errs0 = errors;let valid0 = false;let passing0 = null;const _errs1 = errors;if(!(validate15(data, {dataPath,parentData,parentDataProperty,rootData}))){vErrors = vErrors === null ? validate15.errors : vErrors.concat(validate15.errors);errors = vErrors.length;}var _valid0 = _errs1 === errors;if(_valid0){valid0 = true;passing0 = 0;}const _errs2 = errors;if(Array.isArray(data)){const len0 = data.length;for(let i0=0; i0<len0; i0++){if(!(validate15(data[i0], {dataPath:dataPath+"/" + i0,parentData:data,parentDataProperty:i0,rootData}))){vErrors = vErrors === null ? validate15.errors : vErrors.concat(validate15.errors);errors = vErrors.length;}}}else {const err0 = {keyword:"type",dataPath,schemaPath:"#/oneOf/1/type",params:{type: "array"},message:"should be array"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}var _valid0 = _errs2 === errors;if(_valid0 && valid0){valid0 = false;passing0 = [passing0, 1];}else {if(_valid0){valid0 = true;passing0 = 1;}}if(!valid0){const err1 = {keyword:"oneOf",dataPath,schemaPath:"#/oneOf",params:{passingSchemas: passing0},message:"should match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}else {errors = _errs0;if(vErrors !== null){if(_errs0){vErrors.length = _errs0;}else {vErrors = null;}}}validate14.errors = vErrors;return errors === 0;}
64037
64037
  standaloneZeebeValidator.default = _default;
64038
64038
 
64039
64039
  function getZeebeSchemaPackage() {
@@ -65470,8 +65470,7 @@
65470
65470
  }
65471
65471
  const PanelHeaderProvider = {
65472
65472
  getDocumentationRef: element => {
65473
- // eslint-disable-next-line react-hooks/rules-of-hooks
65474
- const elementTemplates = useService('elementTemplates', false);
65473
+ const elementTemplates = getTemplatesService();
65475
65474
 
65476
65475
  if (elementTemplates) {
65477
65476
  return getTemplateDocumentation(element, elementTemplates);
@@ -65486,11 +65485,25 @@
65486
65485
  },
65487
65486
  getElementIcon: element => {
65488
65487
  const concreteType = getConcreteType(element);
65488
+ const elementTemplates = getTemplatesService();
65489
+
65490
+ if (elementTemplates) {
65491
+ const template = getTemplate(element, elementTemplates);
65492
+
65493
+ if (template && template.icon) {
65494
+ return () => o$2("img", {
65495
+ class: "bio-properties-panel-header-template-icon",
65496
+ width: "32",
65497
+ height: "32",
65498
+ src: template.icon.contents
65499
+ });
65500
+ }
65501
+ }
65502
+
65489
65503
  return iconsByType[concreteType];
65490
65504
  },
65491
65505
  getTypeLabel: element => {
65492
- // eslint-disable-next-line react-hooks/rules-of-hooks
65493
- const elementTemplates = useService('elementTemplates', false);
65506
+ const elementTemplates = getTemplatesService();
65494
65507
 
65495
65508
  if (elementTemplates) {
65496
65509
  const template = getTemplate(element, elementTemplates);
@@ -65553,6 +65566,11 @@
65553
65566
  return is$1(di, 'bpmndi:BPMNPlane');
65554
65567
  }
65555
65568
 
65569
+ function getTemplatesService() {
65570
+ // eslint-disable-next-line react-hooks/rules-of-hooks
65571
+ return useService('elementTemplates', false);
65572
+ }
65573
+
65556
65574
  function getTemplate(element, elementTemplates) {
65557
65575
  const templateId = elementTemplates._getTemplateId(element);
65558
65576
 
@@ -66651,13 +66669,17 @@
66651
66669
  });
66652
66670
  };
66653
66671
 
66672
+ const businessObject = getBusinessObject(element),
66673
+ path = pathConcat(getPath(error, businessObject), 'errorCode');
66674
+ const show = useShowCallback(businessObject, path);
66654
66675
  return TextfieldEntry({
66655
66676
  element,
66656
66677
  id: 'errorCode',
66657
66678
  label: translate('Code'),
66658
66679
  getValue,
66659
66680
  setValue,
66660
- debounce
66681
+ debounce,
66682
+ show
66661
66683
  });
66662
66684
  } // helper /////////////////////////
66663
66685
 
@@ -67241,13 +67263,17 @@
67241
67263
  });
67242
67264
  };
67243
67265
 
67266
+ const businessObject = getBusinessObject(element),
67267
+ path = pathConcat(getPath(message, businessObject), 'name');
67268
+ const show = useShowCallback(businessObject, path);
67244
67269
  return TextfieldEntry({
67245
67270
  element,
67246
67271
  id: 'messageName',
67247
67272
  label: translate('Name'),
67248
67273
  getValue,
67249
67274
  setValue,
67250
- debounce
67275
+ debounce,
67276
+ show
67251
67277
  });
67252
67278
  } // helper /////////////////////////
67253
67279
 
@@ -70032,6 +70058,9 @@
70032
70058
  });
70033
70059
  };
70034
70060
 
70061
+ const businessObject = getBusinessObject(element),
70062
+ path = pathConcat(getPath(message, businessObject), 'name');
70063
+ const show = useShowCallback(businessObject, path);
70035
70064
  return TextfieldEntry({
70036
70065
  element,
70037
70066
  id: 'messageName',
@@ -70039,7 +70068,8 @@
70039
70068
  feel: 'optional',
70040
70069
  getValue,
70041
70070
  setValue,
70042
- debounce
70071
+ debounce,
70072
+ show
70043
70073
  });
70044
70074
  }
70045
70075
 
@@ -71873,25 +71903,32 @@
71873
71903
 
71874
71904
 
71875
71905
  getDefault(element) {
71876
- return find(this.getAll(), function (template) {
71877
- return isAny(element, template.appliesTo) && template.isDefault;
71906
+ return find(this.getAll(element), function (template) {
71907
+ return template.isDefault;
71878
71908
  }) || null;
71879
71909
  }
71880
71910
  /**
71881
- * Get all templates (with given ID).
71882
- *
71883
- * @param {string} [id]
71911
+ * Get all templates (with given ID or applicable to element).
71884
71912
  *
71913
+ * @param {String|djs.model.Base} [id]
71885
71914
  * @return {Array<ElementTemplate>}
71886
71915
  */
71887
71916
 
71888
71917
 
71889
71918
  getAll(id) {
71890
- if (!isUndefined(id) && this._templates[id]) {
71891
- return values(this._templates[id]);
71892
- }
71919
+ return this._getTemplateVerions(id, false);
71920
+ }
71921
+ /**
71922
+ * Get all templates (with given ID or applicable to element) with the latest
71923
+ * version.
71924
+ *
71925
+ * @param {String|djs.model.Base} [id]
71926
+ * @return {Array<ElementTemplate>}
71927
+ */
71893
71928
 
71894
- return flatten(values(this._templates).map(values));
71929
+
71930
+ getLatest(id) {
71931
+ return this._getTemplateVerions(id, true);
71895
71932
  }
71896
71933
  /**
71897
71934
  * Set templates.
@@ -71907,13 +71944,54 @@
71907
71944
  version = isUndefined(template.version) ? '_' : template.version;
71908
71945
 
71909
71946
  if (!this._templates[id]) {
71910
- this._templates[id] = {};
71947
+ this._templates[id] = {
71948
+ latest: template
71949
+ };
71911
71950
  }
71912
71951
 
71913
71952
  this._templates[id][version] = template;
71953
+ const latestVerions = this._templates[id].latest.version;
71954
+
71955
+ if (isUndefined(latestVerions) || template.version > latestVerions) {
71956
+ this._templates[id].latest = template;
71957
+ }
71914
71958
  });
71915
71959
  }
71916
71960
 
71961
+ _getTemplateVerions(id, latestOnly) {
71962
+ if (typeof id === 'boolean') {
71963
+ latestOnly = id;
71964
+ id = undefined;
71965
+ }
71966
+
71967
+ const templates = this._templates;
71968
+
71969
+ const getVersions = template => {
71970
+ const {
71971
+ latest,
71972
+ ...versions
71973
+ } = template;
71974
+ return latestOnly ? [latest] : values(versions);
71975
+ };
71976
+
71977
+ if (isUndefined(id)) {
71978
+ return flatten(values(templates).map(getVersions));
71979
+ }
71980
+
71981
+ if (isObject(id)) {
71982
+ const element = id;
71983
+ return filter(this._getTemplateVerions(latestOnly), function (template) {
71984
+ return isAny(element, template.appliesTo);
71985
+ }) || [];
71986
+ }
71987
+
71988
+ if (isString(id)) {
71989
+ return templates[id] && getVersions(templates[id]);
71990
+ }
71991
+
71992
+ throw new Error('argument must be of type {String|djs.model.Base|Undefined}');
71993
+ }
71994
+
71917
71995
  _getTemplateId(element) {
71918
71996
  return getTemplateId(element);
71919
71997
  }
@@ -71933,14 +72011,15 @@
71933
72011
 
71934
72012
  applyTemplate(element, newTemplate) {
71935
72013
  const oldTemplate = this.get(element);
71936
-
71937
- this._commandStack.execute('propertiesPanel.camunda.changeTemplate', {
71938
- element: element,
72014
+ const context = {
72015
+ element,
71939
72016
  newTemplate,
71940
72017
  oldTemplate
71941
- });
72018
+ };
71942
72019
 
71943
- return element;
72020
+ this._commandStack.execute('propertiesPanel.camunda.changeTemplate', context);
72021
+
72022
+ return context.element;
71944
72023
  }
71945
72024
 
71946
72025
  }
@@ -71993,29 +72072,32 @@
71993
72072
 
71994
72073
  applyTemplate(element, newTemplate) {
71995
72074
  const oldTemplate = this.get(element);
71996
-
71997
- this._commandStack.execute('propertiesPanel.zeebe.changeTemplate', {
71998
- element: element,
72075
+ const context = {
72076
+ element,
71999
72077
  newTemplate,
72000
72078
  oldTemplate
72001
- });
72079
+ };
72002
72080
 
72003
- return element;
72081
+ this._commandStack.execute('propertiesPanel.zeebe.changeTemplate', context);
72082
+
72083
+ return context.element;
72004
72084
  }
72005
72085
 
72006
72086
  }
72007
72087
  ElementTemplates.$inject = ['templateElementFactory', 'commandStack'];
72008
72088
 
72009
72089
  const SUPPORTED_SCHEMA_VERSION$1 = getSchemaVersion();
72090
+ const MORPHABLE_TYPES = ['bpmn:Activity', 'bpmn:Event', 'bpmn:Gateway'];
72010
72091
  /**
72011
72092
  * A element template validator.
72012
72093
  */
72013
72094
 
72014
72095
  class Validator$1 {
72015
- constructor() {
72096
+ constructor(moddle) {
72016
72097
  this._templatesById = {};
72017
72098
  this._validTemplates = [];
72018
72099
  this._errors = [];
72100
+ this._moddle = moddle;
72019
72101
  }
72020
72102
  /**
72021
72103
  * Adds the templates.
@@ -72090,7 +72172,14 @@
72090
72172
  } else {
72091
72173
  return this._logError(`template id <${id}> and version <${version}> already used`, template);
72092
72174
  }
72093
- } // (3) JSON schema compliance
72175
+ } // (3) elementType validation
72176
+
72177
+
72178
+ const elementTypeError = this._validateElementType(template);
72179
+
72180
+ if (elementTypeError) {
72181
+ return elementTypeError;
72182
+ } // (4) JSON schema compliance
72094
72183
 
72095
72184
 
72096
72185
  const validationResult = validate(template);
@@ -72108,6 +72197,70 @@
72108
72197
 
72109
72198
  return err;
72110
72199
  }
72200
+ /**
72201
+ * Validate elementType for given template and return error (if any).
72202
+ *
72203
+ * @param {TemplateDescriptor} template
72204
+ *
72205
+ * @return {Error} validation error, if any
72206
+ */
72207
+
72208
+
72209
+ _validateElementType(template) {
72210
+ if (template.elementType && template.appliesTo) {
72211
+ const elementType = template.elementType.value,
72212
+ appliesTo = template.appliesTo; // (3.1) template can be applied to elementType
72213
+ // prevents cases where the elementType is not part of appliesTo
72214
+
72215
+ if (!appliesTo.find(type => this._isType(elementType, type))) {
72216
+ return this._logError(`template does not apply to requested element type <${elementType}>`, template);
72217
+ } // (3.2) template only applies to same type of element
72218
+ // prevent elementTemplates to morph into incompatible types, e.g. Task -> SequenceFlow
72219
+
72220
+
72221
+ for (const sourceType of appliesTo) {
72222
+ if (!this._canMorph(sourceType, elementType)) {
72223
+ return this._logError(`can not morph <${sourceType}> into <${elementType}>`, template);
72224
+ }
72225
+ }
72226
+ }
72227
+ }
72228
+ /**
72229
+ * Check if given type is a subtype of given base type.
72230
+ *
72231
+ * @param {String} type
72232
+ * @param {String} baseType
72233
+ * @returns {Boolean}
72234
+ */
72235
+
72236
+
72237
+ _isType(type, baseType) {
72238
+ const moddleType = this._moddle.getType(type);
72239
+
72240
+ return moddleType && baseType in this._moddle.getElementDescriptor(moddleType).allTypesByName;
72241
+ }
72242
+ /**
72243
+ * Checks if a given type can be morphed into another type.
72244
+ *
72245
+ * @param {String} sourceType
72246
+ * @param {String} targetType
72247
+ * @returns {Boolean}
72248
+ */
72249
+
72250
+
72251
+ _canMorph(sourceType, targetType) {
72252
+ if (sourceType === targetType) {
72253
+ return true;
72254
+ }
72255
+
72256
+ const baseType = MORPHABLE_TYPES.find(type => this._isType(sourceType, type));
72257
+
72258
+ if (!baseType) {
72259
+ return false;
72260
+ }
72261
+
72262
+ return this._isType(targetType, baseType);
72263
+ }
72111
72264
  /**
72112
72265
  * Log an error for the given template
72113
72266
  *
@@ -72202,8 +72355,8 @@
72202
72355
  */
72203
72356
 
72204
72357
  class Validator extends Validator$1 {
72205
- constructor() {
72206
- super();
72358
+ constructor(moddle) {
72359
+ super(moddle);
72207
72360
  }
72208
72361
  /**
72209
72362
  * Validate given template and return error (if any).
@@ -72241,7 +72394,14 @@
72241
72394
  } else {
72242
72395
  return this._logError(`template id <${id}> and version <${version}> already used`, template);
72243
72396
  }
72244
- } // (4) JSON schema compliance
72397
+ } // (4) elementType validation
72398
+
72399
+
72400
+ const elementTypeError = this._validateElementType(template);
72401
+
72402
+ if (elementTypeError) {
72403
+ return elementTypeError;
72404
+ } // (5) JSON schema compliance
72245
72405
 
72246
72406
 
72247
72407
  const validationResult = validateZeebe(template);
@@ -72278,13 +72438,15 @@
72278
72438
  * @param {Array<TemplateDescriptor>|Function} loadTemplates
72279
72439
  * @param {EventBus} eventBus
72280
72440
  * @param {ElementTemplates} elementTemplates
72441
+ * @param {Moddle} moddle
72281
72442
  */
72282
72443
 
72283
72444
  class ElementTemplatesLoader$1 {
72284
- constructor(loadTemplates, eventBus, elementTemplates) {
72445
+ constructor(loadTemplates, eventBus, elementTemplates, moddle) {
72285
72446
  this._loadTemplates = loadTemplates;
72286
72447
  this._eventBus = eventBus;
72287
72448
  this._elementTemplates = elementTemplates;
72449
+ this._moddle = moddle;
72288
72450
  eventBus.on('diagram.init', () => {
72289
72451
  this.reload();
72290
72452
  });
@@ -72315,8 +72477,9 @@
72315
72477
  }
72316
72478
 
72317
72479
  setTemplates(templates) {
72318
- const elementTemplates = this._elementTemplates;
72319
- const validator = new Validator$1().addAll(templates);
72480
+ const elementTemplates = this._elementTemplates,
72481
+ moddle = this._moddle;
72482
+ const validator = new Validator$1(moddle).addAll(templates);
72320
72483
  const errors = validator.getErrors(),
72321
72484
  validTemplates = validator.getValidTemplates();
72322
72485
  elementTemplates.set(validTemplates);
@@ -72339,17 +72502,18 @@
72339
72502
  }
72340
72503
 
72341
72504
  }
72342
- ElementTemplatesLoader$1.$inject = ['config.elementTemplates', 'eventBus', 'elementTemplates'];
72505
+ ElementTemplatesLoader$1.$inject = ['config.elementTemplates', 'eventBus', 'elementTemplates', 'moddle'];
72343
72506
 
72344
72507
  class ElementTemplatesLoader extends ElementTemplatesLoader$1 {
72345
- constructor(loadTemplates, eventBus, elementTemplates) {
72346
- super(loadTemplates, eventBus, elementTemplates);
72508
+ constructor(loadTemplates, eventBus, elementTemplates, moddle) {
72509
+ super(loadTemplates, eventBus, elementTemplates, moddle);
72347
72510
  this._elementTemplates = elementTemplates;
72348
72511
  }
72349
72512
 
72350
72513
  setTemplates(templates) {
72351
- const elementTemplates = this._elementTemplates;
72352
- const validator = new Validator().addAll(templates);
72514
+ const elementTemplates = this._elementTemplates,
72515
+ moddle = this._moddle;
72516
+ const validator = new Validator(moddle).addAll(templates);
72353
72517
  const errors = validator.getErrors(),
72354
72518
  validTemplates = validator.getValidTemplates();
72355
72519
  elementTemplates.set(validTemplates);
@@ -72362,7 +72526,7 @@
72362
72526
  }
72363
72527
 
72364
72528
  }
72365
- ElementTemplatesLoader.$inject = ['config.elementTemplates', 'eventBus', 'elementTemplates'];
72529
+ ElementTemplatesLoader.$inject = ['config.elementTemplates', 'eventBus', 'elementTemplates', 'moddle'];
72366
72530
 
72367
72531
  function unlinkTemplate$1(element, injector) {
72368
72532
  const modeling = injector.get('modeling');
@@ -72377,8 +72541,10 @@
72377
72541
  const businessObject = getBusinessObject(element);
72378
72542
  const type = businessObject.$type,
72379
72543
  eventDefinitionType = getEventDefinitionType(businessObject);
72544
+ const newBusinessObject = createBlankBusinessObject(element, injector);
72380
72545
  const newElement = replace.replaceElement(element, {
72381
72546
  type: type,
72547
+ businessObject: newBusinessObject,
72382
72548
  eventDefinitionType: eventDefinitionType
72383
72549
  });
72384
72550
  selection.select(newElement);
@@ -72436,11 +72602,36 @@
72436
72602
  return string;
72437
72603
  }
72438
72604
 
72605
+ function createBlankBusinessObject(element, injector) {
72606
+ const bpmnFactory = injector.get('bpmnFactory'),
72607
+ bpmnJs = injector.get('bpmnjs');
72608
+ const bo = getBusinessObject(element),
72609
+ newBo = bpmnFactory.create(bo.$type),
72610
+ label = getLabel(element);
72611
+
72612
+ if (!label) {
72613
+ return newBo;
72614
+ }
72615
+
72616
+ if (is$1(element, 'bpmn:Group')) {
72617
+ const definitions = bpmnJs.getDefinitions();
72618
+ const categoryValue = createCategoryValue(definitions, bpmnFactory);
72619
+ newBo.categoryValueRef = categoryValue;
72620
+ }
72621
+
72622
+ setLabel({
72623
+ businessObject: newBo
72624
+ }, label);
72625
+ return newBo;
72626
+ }
72627
+
72439
72628
  function unlinkTemplate(element, injector) {
72440
- const modeling = injector.get('modeling');
72629
+ const modeling = injector.get('modeling'); // remove template attributes
72630
+
72441
72631
  modeling.updateProperties(element, {
72442
72632
  'zeebe:modelerTemplate': null,
72443
- 'zeebe:modelerTemplateVersion': null
72633
+ 'zeebe:modelerTemplateVersion': null,
72634
+ 'zeebe:modelerTemplateIcon': null
72444
72635
  });
72445
72636
  }
72446
72637
  function updateTemplate(element, newTemplate, injector) {
@@ -72478,8 +72669,18 @@
72478
72669
  }
72479
72670
 
72480
72671
  const {
72481
- appliesTo
72672
+ appliesTo,
72673
+ elementType
72482
72674
  } = elementTemplate;
72675
+
72676
+ if (elementType) {
72677
+ if (!is$1(newShape, elementType.value)) {
72678
+ unlinkTemplate(newShape, injector);
72679
+ }
72680
+
72681
+ return;
72682
+ }
72683
+
72483
72684
  const allowed = appliesTo.reduce((allowed, type) => {
72484
72685
  return allowed || is$1(newBo, type);
72485
72686
  }, false);
@@ -72614,8 +72815,9 @@
72614
72815
  */
72615
72816
 
72616
72817
  class ChangeElementTemplateHandler$1 {
72617
- constructor(bpmnFactory, commandStack, modeling) {
72818
+ constructor(bpmnFactory, bpmnReplace, commandStack, modeling) {
72618
72819
  this._bpmnFactory = bpmnFactory;
72820
+ this._bpmnReplace = bpmnReplace;
72619
72821
  this._commandStack = commandStack;
72620
72822
  this._modeling = modeling;
72621
72823
  }
@@ -72633,14 +72835,19 @@
72633
72835
 
72634
72836
 
72635
72837
  preExecute(context) {
72636
- const element = context.element,
72637
- newTemplate = context.newTemplate,
72638
- oldTemplate = context.oldTemplate; // update zeebe:modelerTemplate attribute
72838
+ const newTemplate = context.newTemplate,
72839
+ oldTemplate = context.oldTemplate;
72840
+ let element = context.element; // update zeebe:modelerTemplate attribute
72841
+
72842
+ this._updateZeebeModelerTemplate(element, newTemplate); // update zeebe:modelerTemplateIcon
72639
72843
 
72640
- this._updateZeebeModelerTemplate(element, newTemplate);
72844
+
72845
+ this._updateZeebeModelerTemplateIcon(element, newTemplate);
72641
72846
 
72642
72847
  if (newTemplate) {
72643
- // update properties
72848
+ // update task type
72849
+ element = context.element = this._updateTaskType(element, newTemplate); // update properties
72850
+
72644
72851
  this._updateProperties(element, oldTemplate, newTemplate); // update zeebe:TaskDefinition
72645
72852
 
72646
72853
 
@@ -72681,6 +72888,14 @@
72681
72888
  });
72682
72889
  }
72683
72890
 
72891
+ _updateZeebeModelerTemplateIcon(element, newTemplate) {
72892
+ const modeling = this._modeling;
72893
+ const icon = newTemplate && newTemplate.icon;
72894
+ modeling.updateProperties(element, {
72895
+ 'zeebe:modelerTemplateIcon': icon && icon.contents
72896
+ });
72897
+ }
72898
+
72684
72899
  _updateProperties(element, oldTemplate, newTemplate) {
72685
72900
  const commandStack = this._commandStack;
72686
72901
  const newProperties = newTemplate.properties.filter(newProperty => {
@@ -72802,15 +73017,25 @@
72802
73017
  const newBinding = newProperty.binding,
72803
73018
  newBindingType = newBinding.type;
72804
73019
  return newBindingType === 'zeebe:input' || newBindingType === 'zeebe:output';
72805
- }); // (1) do not override old inputs and outputs if no new inputs and outputs specified
72806
-
72807
- if (!newProperties.length) {
72808
- return;
72809
- }
73020
+ });
72810
73021
 
72811
73022
  const businessObject = this._getOrCreateExtensionElements(element);
72812
73023
 
72813
- let ioMapping = findExtension$1(businessObject, 'zeebe:IoMapping');
73024
+ let ioMapping = findExtension$1(businessObject, 'zeebe:IoMapping'); // (1) remove old mappings if no new specified
73025
+
73026
+ if (!newProperties.length) {
73027
+ if (!ioMapping) {
73028
+ return;
73029
+ }
73030
+
73031
+ commandStack.execute('element.updateModdleProperties', {
73032
+ element,
73033
+ moddleElement: businessObject,
73034
+ properties: {
73035
+ values: without(businessObject.get('values'), ioMapping)
73036
+ }
73037
+ });
73038
+ }
72814
73039
 
72815
73040
  if (!ioMapping) {
72816
73041
  ioMapping = bpmnFactory.create('zeebe:IoMapping');
@@ -72921,15 +73146,25 @@
72921
73146
  const newBinding = newProperty.binding,
72922
73147
  newBindingType = newBinding.type;
72923
73148
  return newBindingType === 'zeebe:taskHeader';
72924
- }); // (1) do not override old headers if no new specified
72925
-
72926
- if (!newProperties.length) {
72927
- return;
72928
- }
73149
+ });
72929
73150
 
72930
73151
  const businessObject = this._getOrCreateExtensionElements(element);
72931
73152
 
72932
- let taskHeaders = findExtension$1(businessObject, 'zeebe:TaskHeaders');
73153
+ let taskHeaders = findExtension$1(businessObject, 'zeebe:TaskHeaders'); // (1) remove old headers if no new specified
73154
+
73155
+ if (!newProperties.length) {
73156
+ if (!taskHeaders) {
73157
+ return;
73158
+ }
73159
+
73160
+ commandStack.execute('element.updateModdleProperties', {
73161
+ element,
73162
+ moddleElement: businessObject,
73163
+ properties: {
73164
+ values: without(businessObject.get('values'), taskHeaders)
73165
+ }
73166
+ });
73167
+ }
72933
73168
 
72934
73169
  if (!taskHeaders) {
72935
73170
  taskHeaders = bpmnFactory.create('zeebe:TaskHeaders');
@@ -72985,9 +73220,34 @@
72985
73220
  });
72986
73221
  }
72987
73222
  }
73223
+ /**
73224
+ * Replaces the element with the specified elementType
73225
+ *
73226
+ * @param {djs.model.Base} element
73227
+ * @param {Object} newTemplate
73228
+ */
73229
+
73230
+
73231
+ _updateTaskType(element, newTemplate) {
73232
+ // determine new task type
73233
+ const newType = newTemplate.elementType;
73234
+
73235
+ if (!newType) {
73236
+ return element;
73237
+ } // don't replace Task that is already the correct type
73238
+
73239
+
73240
+ if (element.$type === newType.value) {
73241
+ return element;
73242
+ }
73243
+
73244
+ return this._bpmnReplace.replaceElement(element, {
73245
+ type: newType.value
73246
+ });
73247
+ }
72988
73248
 
72989
73249
  }
72990
- ChangeElementTemplateHandler$1.$inject = ['bpmnFactory', 'commandStack', 'modeling']; // helpers //////////
73250
+ ChangeElementTemplateHandler$1.$inject = ['bpmnFactory', 'bpmnReplace', 'commandStack', 'modeling']; // helpers //////////
72991
73251
 
72992
73252
  /**
72993
73253
  * Find old business object matching specified old property.
@@ -73196,12 +73456,13 @@
73196
73456
  * return a list of errors.
73197
73457
  *
73198
73458
  * @param {Array<TemplateDescriptor>} descriptors
73459
+ * @param {Moddle} moddle
73199
73460
  *
73200
73461
  * @return {Array<Error>}
73201
73462
  */
73202
73463
 
73203
- function validate$1(descriptors) {
73204
- return new Validator().addAll(descriptors).getErrors();
73464
+ function validate$1(descriptors, moddle) {
73465
+ return new Validator(moddle).addAll(descriptors).getErrors();
73205
73466
  }
73206
73467
 
73207
73468
  class PropertyBindingProvider {
@@ -73313,9 +73574,10 @@
73313
73574
  const IO_BINDING_TYPES$1 = [ZEBBE_INPUT_TYPE, ZEEBE_OUTPUT_TYPE];
73314
73575
 
73315
73576
  class TemplateElementFactory {
73316
- constructor(bpmnFactory, elementFactory) {
73577
+ constructor(bpmnFactory, elementFactory, moddle) {
73317
73578
  this._bpmnFactory = bpmnFactory;
73318
73579
  this._elementFactory = elementFactory;
73580
+ this._moddle = moddle;
73319
73581
  this._providers = {
73320
73582
  [PROPERTY_TYPE$1]: PropertyBindingProvider,
73321
73583
  [ZEEBE_TASK_DEFINITION_TYPE_TYPE]: TaskDefinitionTypeBindingProvider,
@@ -73335,19 +73597,21 @@
73335
73597
  create(template) {
73336
73598
  const {
73337
73599
  appliesTo,
73600
+ elementType,
73338
73601
  properties
73339
73602
  } = template;
73340
73603
  const elementFactory = this._elementFactory;
73341
73604
  const bpmnFactory = this._bpmnFactory;
73605
+ const moddle = this._moddle;
73342
73606
  const providers = this._providers; // (0) make sure template is valid
73343
73607
 
73344
- const errors = validate$1([template]); // todo(pinussilvestrus): return validation errors
73608
+ const errors = validate$1([template], moddle); // todo(pinussilvestrus): return validation errors
73345
73609
 
73346
73610
  if (errors && errors.length) {
73347
73611
  throw new Error('template is invalid');
73348
73612
  }
73349
73613
 
73350
- const type = appliesTo[0]; // (1) create element from appliesTo
73614
+ const type = elementType && elementType.value || appliesTo[0]; // (1) create element from appliesTo
73351
73615
 
73352
73616
  const element = elementFactory.createShape({
73353
73617
  type
@@ -73358,7 +73622,12 @@
73358
73622
  } // (3) apply template
73359
73623
 
73360
73624
 
73361
- this._setModelerTemplate(element, template); // (4) apply properties
73625
+ this._setModelerTemplate(element, template); // (4) apply icon
73626
+
73627
+
73628
+ if (hasIcon(template)) {
73629
+ this._setModelerTemplateIcon(element, template);
73630
+ } // (5) apply properties
73362
73631
 
73363
73632
 
73364
73633
  properties.forEach(function (property) {
@@ -73403,13 +73672,29 @@
73403
73672
  businessObject.set('zeebe:modelerTemplateVersion', version);
73404
73673
  }
73405
73674
 
73675
+ _setModelerTemplateIcon(element, template) {
73676
+ const {
73677
+ icon
73678
+ } = template;
73679
+ const {
73680
+ contents
73681
+ } = icon;
73682
+ const businessObject = getBusinessObject(element);
73683
+ businessObject.set('zeebe:modelerTemplateIcon', contents);
73684
+ }
73685
+
73406
73686
  }
73407
- TemplateElementFactory.$inject = ['bpmnFactory', 'elementFactory']; // helper ////////////////
73687
+ TemplateElementFactory.$inject = ['bpmnFactory', 'elementFactory', 'moddle']; // helper ////////////////
73408
73688
 
73409
73689
  function hasExtensionBindings(template) {
73410
73690
  const {
73411
73691
  properties
73412
- } = template;
73692
+ } = template; // find icon first
73693
+
73694
+ if (hasIcon(template)) {
73695
+ return true;
73696
+ }
73697
+
73413
73698
  return find(properties, function (property) {
73414
73699
  const {
73415
73700
  binding
@@ -73418,6 +73703,13 @@
73418
73703
  });
73419
73704
  }
73420
73705
 
73706
+ function hasIcon(template) {
73707
+ const {
73708
+ icon
73709
+ } = template;
73710
+ return !!(icon && icon.contents);
73711
+ }
73712
+
73421
73713
  var templateElementFactoryModule = {
73422
73714
  __init__: ['templateElementFactory'],
73423
73715
  templateElementFactory: ['type', TemplateElementFactory]
@@ -73719,9 +74011,9 @@
73719
74011
  };
73720
74012
  }
73721
74013
 
73722
- const newerTemplate = findNewestElementTemplate(elementTemplates, template);
74014
+ const newerTemplate = elementTemplates.getLatest(templateId)[0];
73723
74015
 
73724
- if (newerTemplate) {
74016
+ if (newerTemplate !== template) {
73725
74017
  return {
73726
74018
  type: 'OUTDATED_TEMPLATE',
73727
74019
  template,
@@ -73735,26 +74027,6 @@
73735
74027
  };
73736
74028
  }
73737
74029
 
73738
- function findNewestElementTemplate(elementTemplates, currentElementTemplate) {
73739
- if (isUndefined(currentElementTemplate.version)) {
73740
- return null;
73741
- }
73742
-
73743
- return elementTemplates.getAll().filter(function (elementTemplate) {
73744
- return currentElementTemplate.id === elementTemplate.id && !isUndefined(elementTemplate.version);
73745
- }).reduce(function (newestElementTemplate, elementTemplate) {
73746
- if (currentElementTemplate.version < elementTemplate.version) {
73747
- return elementTemplate;
73748
- }
73749
-
73750
- if (newestElementTemplate && newestElementTemplate.version < elementTemplate.version) {
73751
- return elementTemplate;
73752
- }
73753
-
73754
- return newestElementTemplate;
73755
- }, null);
73756
- }
73757
-
73758
74030
  function TemplateProps({
73759
74031
  element,
73760
74032
  elementTemplates
@@ -74803,9 +75075,7 @@
74803
75075
  }
74804
75076
 
74805
75077
  _shouldShowTemplateProperties(element) {
74806
- return getTemplateId$1(element) || this._elementTemplates.getAll().some(template => {
74807
- return isAny(element, template.appliesTo);
74808
- });
75078
+ return getTemplateId$1(element) || this._elementTemplates.getAll(element).length;
74809
75079
  }
74810
75080
 
74811
75081
  }
@@ -74870,6 +75140,16 @@
74870
75140
  children: translate('How to define conditions')
74871
75141
  });
74872
75142
  },
75143
+ decisionId: element => {
75144
+ const translate = useService('translate');
75145
+ return o$2("a", {
75146
+ href: "https://docs.camunda.io/docs/reference/bpmn-processes/business-rule-tasks/business-rule-tasks/#defining-a-task",
75147
+ target: "_blank",
75148
+ rel: "noopener",
75149
+ title: translate('Business rule task documentation'),
75150
+ children: translate('How to configure a business rule task')
75151
+ });
75152
+ },
74873
75153
  formType: element => {
74874
75154
  const translate = useService('translate');
74875
75155
  return o$2("a", {
@@ -75141,35 +75421,166 @@
75141
75421
  };
75142
75422
 
75143
75423
  /**
75144
- * Get extension elements of business object. Optionally filter by type.
75424
+ * Flatten array, one level deep.
75145
75425
  *
75146
- * @param {djs.model.Base|ModdleElement} element
75147
- * @param {String} [type=undefined]
75148
- * @returns {Array<ModdleElement>}
75426
+ * @param {Array<?>} arr
75427
+ *
75428
+ * @return {Array<?>}
75149
75429
  */
75150
- function getExtensionElementsList$1(element, type = undefined) {
75151
- const businessObject = getBusinessObject(element),
75152
- extensionElements = businessObject.get('extensionElements');
75153
-
75154
- if (!extensionElements) {
75155
- return [];
75156
- }
75157
-
75158
- const values = extensionElements.get('values');
75159
75430
 
75160
- if (!values || !values.length) {
75161
- return [];
75162
- }
75163
-
75164
- if (type) {
75165
- return values.filter(value => is$1(value, type));
75166
- }
75167
-
75168
- return values;
75431
+ var nativeToString$1 = Object.prototype.toString;
75432
+ var nativeHasOwnProperty$1 = Object.prototype.hasOwnProperty;
75433
+ function isUndefined$3(obj) {
75434
+ return obj === undefined;
75435
+ }
75436
+ function isArray$3(obj) {
75437
+ return nativeToString$1.call(obj) === '[object Array]';
75438
+ }
75439
+ function isFunction$1(obj) {
75440
+ var tag = nativeToString$1.call(obj);
75441
+ return tag === '[object Function]' || tag === '[object AsyncFunction]' || tag === '[object GeneratorFunction]' || tag === '[object AsyncGeneratorFunction]' || tag === '[object Proxy]';
75169
75442
  }
75170
-
75171
75443
  /**
75172
- * Remove one or more extension elements. Remove bpmn:ExtensionElements afterwards if it's empty.
75444
+ * Ensure collection is an array.
75445
+ *
75446
+ * @param {Object} obj
75447
+ */
75448
+
75449
+ function ensureArray$1(obj) {
75450
+ if (isArray$3(obj)) {
75451
+ return;
75452
+ }
75453
+
75454
+ throw new Error('must supply array');
75455
+ }
75456
+ /**
75457
+ * Return true, if target owns a property with the given key.
75458
+ *
75459
+ * @param {Object} target
75460
+ * @param {String} key
75461
+ *
75462
+ * @return {Boolean}
75463
+ */
75464
+
75465
+ function has$1(target, key) {
75466
+ return nativeHasOwnProperty$1.call(target, key);
75467
+ }
75468
+
75469
+ /**
75470
+ * Find element in collection.
75471
+ *
75472
+ * @param {Array|Object} collection
75473
+ * @param {Function|Object} matcher
75474
+ *
75475
+ * @return {Object}
75476
+ */
75477
+
75478
+ function find$1(collection, matcher) {
75479
+ matcher = toMatcher$1(matcher);
75480
+ var match;
75481
+ forEach$1(collection, function (val, key) {
75482
+ if (matcher(val, key)) {
75483
+ match = val;
75484
+ return false;
75485
+ }
75486
+ });
75487
+ return match;
75488
+ }
75489
+ /**
75490
+ * Iterate over collection; returning something
75491
+ * (non-undefined) will stop iteration.
75492
+ *
75493
+ * @param {Array|Object} collection
75494
+ * @param {Function} iterator
75495
+ *
75496
+ * @return {Object} return result that stopped the iteration
75497
+ */
75498
+
75499
+ function forEach$1(collection, iterator) {
75500
+ var val, result;
75501
+
75502
+ if (isUndefined$3(collection)) {
75503
+ return;
75504
+ }
75505
+
75506
+ var convertKey = isArray$3(collection) ? toNum$1 : identity$1;
75507
+
75508
+ for (var key in collection) {
75509
+ if (has$1(collection, key)) {
75510
+ val = collection[key];
75511
+ result = iterator(val, convertKey(key));
75512
+
75513
+ if (result === false) {
75514
+ return val;
75515
+ }
75516
+ }
75517
+ }
75518
+ }
75519
+ /**
75520
+ * Return collection without element.
75521
+ *
75522
+ * @param {Array} arr
75523
+ * @param {Function} matcher
75524
+ *
75525
+ * @return {Array}
75526
+ */
75527
+
75528
+ function without$1(arr, matcher) {
75529
+ if (isUndefined$3(arr)) {
75530
+ return [];
75531
+ }
75532
+
75533
+ ensureArray$1(arr);
75534
+ matcher = toMatcher$1(matcher);
75535
+ return arr.filter(function (el, idx) {
75536
+ return !matcher(el, idx);
75537
+ });
75538
+ }
75539
+
75540
+ function toMatcher$1(matcher) {
75541
+ return isFunction$1(matcher) ? matcher : function (e) {
75542
+ return e === matcher;
75543
+ };
75544
+ }
75545
+
75546
+ function identity$1(arg) {
75547
+ return arg;
75548
+ }
75549
+
75550
+ function toNum$1(arg) {
75551
+ return Number(arg);
75552
+ }
75553
+
75554
+ /**
75555
+ * Get extension elements of business object. Optionally filter by type.
75556
+ *
75557
+ * @param {djs.model.Base|ModdleElement} element
75558
+ * @param {String} [type=undefined]
75559
+ * @returns {Array<ModdleElement>}
75560
+ */
75561
+ function getExtensionElementsList$1(element, type = undefined) {
75562
+ const businessObject = getBusinessObject(element),
75563
+ extensionElements = businessObject.get('extensionElements');
75564
+
75565
+ if (!extensionElements) {
75566
+ return [];
75567
+ }
75568
+
75569
+ const values = extensionElements.get('values');
75570
+
75571
+ if (!values || !values.length) {
75572
+ return [];
75573
+ }
75574
+
75575
+ if (type) {
75576
+ return values.filter(value => is$1(value, type));
75577
+ }
75578
+
75579
+ return values;
75580
+ }
75581
+
75582
+ /**
75583
+ * Remove one or more extension elements. Remove bpmn:ExtensionElements afterwards if it's empty.
75173
75584
  *
75174
75585
  * @param {ModdleElement} element
75175
75586
  * @param {ModdleElement} businessObject
@@ -75177,7 +75588,7 @@
75177
75588
  * @param {CommandStack} commandStack
75178
75589
  */
75179
75590
  function removeExtensionElements$1(element, businessObject, extensionElementsToRemove, commandStack) {
75180
- if (!isArray(extensionElementsToRemove)) {
75591
+ if (!isArray$3(extensionElementsToRemove)) {
75181
75592
  extensionElementsToRemove = [ extensionElementsToRemove ];
75182
75593
  }
75183
75594
 
@@ -75233,7 +75644,7 @@
75233
75644
  && properties.values.find(value => is$1(value, 'zeebe:CalledDecision'))
75234
75645
  && properties.values.find(value => is$1(value, 'zeebe:TaskDefinition'))
75235
75646
  ) {
75236
- properties.values = without(properties.values, calledDecision);
75647
+ properties.values = without$1(properties.values, calledDecision);
75237
75648
  }
75238
75649
  }, true);
75239
75650
 
@@ -75265,7 +75676,7 @@
75265
75676
  && properties.values.find(value => is$1(value, 'zeebe:CalledDecision'))
75266
75677
  && properties.values.find(value => is$1(value, 'zeebe:TaskDefinition') || is$1(value, 'zeebe:TaskHeaders'))
75267
75678
  ) {
75268
- properties.values = without(properties.values, (value) => value === taskDefinition || value === taskHeaders);
75679
+ properties.values = without$1(properties.values, (value) => value === taskDefinition || value === taskHeaders);
75269
75680
  }
75270
75681
  }, true);
75271
75682
 
@@ -75298,76 +75709,6 @@
75298
75709
  return getExtensionElementsList$1(businessObject, 'zeebe:TaskHeaders')[ 0 ];
75299
75710
  }
75300
75711
 
75301
- const HIGH_PRIORITY$n = 5000;
75302
-
75303
-
75304
- /**
75305
- * Zeebe BPMN specific behavior for creating boundary events.
75306
- */
75307
- class CreateZeebeBoundaryEventBehavior extends CommandInterceptor$1 {
75308
- constructor(bpmnFactory, elementFactory, eventBus) {
75309
- super(eventBus);
75310
-
75311
- /**
75312
- * Replace intermediate catch event with boundary event when attaching it to a shape.
75313
- */
75314
- this.preExecute('shape.create', HIGH_PRIORITY$n, function(context) {
75315
- const {
75316
- shape,
75317
- host
75318
- } = context;
75319
-
75320
- const businessObject = getBusinessObject(shape);
75321
-
75322
- let attrs = {
75323
- cancelActivity: true
75324
- };
75325
-
75326
- let newBusinessObject,
75327
- hostBusinessObject,
75328
- boundaryEvent,
75329
- eventDefinitions;
75330
-
75331
- if (!host || !is$1(shape, 'bpmn:IntermediateCatchEvent')) {
75332
- return;
75333
- }
75334
-
75335
- hostBusinessObject = getBusinessObject(host);
75336
-
75337
- attrs = {
75338
- ...attrs,
75339
- attachedToRef: hostBusinessObject
75340
- };
75341
-
75342
- eventDefinitions = businessObject.eventDefinitions;
75343
-
75344
- newBusinessObject = bpmnFactory.create('bpmn:BoundaryEvent', attrs);
75345
-
75346
- boundaryEvent = {
75347
- type: 'bpmn:BoundaryEvent',
75348
- businessObject: newBusinessObject,
75349
- };
75350
-
75351
- if (eventDefinitions && eventDefinitions[0]) {
75352
- boundaryEvent = {
75353
- ...boundaryEvent,
75354
- eventDefinitionType: eventDefinitions[0].$type
75355
- };
75356
- }
75357
-
75358
- context.shape = elementFactory.createShape(boundaryEvent);
75359
-
75360
- }, true);
75361
-
75362
- }
75363
- }
75364
-
75365
- CreateZeebeBoundaryEventBehavior.$inject = [
75366
- 'bpmnFactory',
75367
- 'elementFactory',
75368
- 'eventBus'
75369
- ];
75370
-
75371
75712
  /**
75372
75713
  * Creates a new element and set the parent to it
75373
75714
  *
@@ -75496,14 +75837,14 @@
75496
75837
  const businessObject = getBusinessObject(element),
75497
75838
  calledElement = getCalledElement$1(businessObject);
75498
75839
 
75499
- if (calledElement && has(calledElement, 'propagateAllChildVariables')) {
75840
+ if (calledElement && has$1(calledElement, 'propagateAllChildVariables')) {
75500
75841
  return calledElement.get('propagateAllChildVariables') || false;
75501
75842
  } else {
75502
75843
  return getPropagateAllChildVariablesDefault(element);
75503
75844
  }
75504
75845
  }
75505
75846
 
75506
- const HIGH_PRIORITY$o = 5000;
75847
+ const HIGH_PRIORITY$n = 5000;
75507
75848
 
75508
75849
 
75509
75850
  /**
@@ -75517,7 +75858,7 @@
75517
75858
  * Add zeebe:CalledElement extension element with zeebe:propagateAllChildVariables attribute = false
75518
75859
  * when creating bpmn:CallActivity.
75519
75860
  */
75520
- this.postExecuted('shape.create', HIGH_PRIORITY$o, function(context) {
75861
+ this.postExecuted('shape.create', HIGH_PRIORITY$n, function(context) {
75521
75862
  const { shape } = context;
75522
75863
 
75523
75864
  if (!is$1(shape, 'bpmn:CallActivity')) {
@@ -75559,7 +75900,7 @@
75559
75900
  calledElement
75560
75901
  ]
75561
75902
  });
75562
- } else if (!has(calledElement, 'propagateAllChildVariables')) {
75903
+ } else if (!has$1(calledElement, 'propagateAllChildVariables')) {
75563
75904
 
75564
75905
  // set zeebe:propagateAllChildVariables to false if zeebe:CalledElement exists
75565
75906
  modeling.updateModdleProperties(shape, calledElement, {
@@ -75577,35 +75918,198 @@
75577
75918
  'modeling'
75578
75919
  ];
75579
75920
 
75580
- /**
75581
- * generate a semantic id with given prefix
75582
- */
75583
- function nextId$1(prefix) {
75584
- const ids = new Ids([ 32,32,1 ]);
75585
-
75586
- return ids.nextPrefixed(prefix);
75921
+ function createCommonjsModule$2(fn, module) {
75922
+ return module = { exports: {} }, fn(module, module.exports), module.exports;
75587
75923
  }
75588
75924
 
75589
- const USER_TASK_FORM_PREFIX$1 = 'UserTaskForm_';
75925
+ var hat_1$1 = createCommonjsModule$2(function (module) {
75926
+ var hat = module.exports = function (bits, base) {
75927
+ if (!base) base = 16;
75928
+ if (bits === undefined) bits = 128;
75929
+ if (bits <= 0) return '0';
75930
+
75931
+ var digits = Math.log(Math.pow(2, bits)) / Math.log(base);
75932
+ for (var i = 2; digits === Infinity; i *= 2) {
75933
+ digits = Math.log(Math.pow(2, bits / i)) / Math.log(base) * i;
75934
+ }
75935
+
75936
+ var rem = digits - Math.floor(digits);
75937
+
75938
+ var res = '';
75939
+
75940
+ for (var i = 0; i < Math.floor(digits); i++) {
75941
+ var x = Math.floor(Math.random() * base).toString(base);
75942
+ res = x + res;
75943
+ }
75944
+
75945
+ if (rem) {
75946
+ var b = Math.pow(base, rem);
75947
+ var x = Math.floor(Math.random() * b).toString(base);
75948
+ res = x + res;
75949
+ }
75950
+
75951
+ var parsed = parseInt(res, base);
75952
+ if (parsed !== Infinity && parsed >= Math.pow(2, bits)) {
75953
+ return hat(bits, base)
75954
+ }
75955
+ else return res;
75956
+ };
75590
75957
 
75958
+ hat.rack = function (bits, base, expandBy) {
75959
+ var fn = function (data) {
75960
+ var iters = 0;
75961
+ do {
75962
+ if (iters ++ > 10) {
75963
+ if (expandBy) bits += expandBy;
75964
+ else throw new Error('too many ID collisions, use more bits')
75965
+ }
75966
+
75967
+ var id = hat(bits, base);
75968
+ } while (Object.hasOwnProperty.call(hats, id));
75969
+
75970
+ hats[id] = data;
75971
+ return id;
75972
+ };
75973
+ var hats = fn.hats = {};
75974
+
75975
+ fn.get = function (id) {
75976
+ return fn.hats[id];
75977
+ };
75978
+
75979
+ fn.set = function (id, value) {
75980
+ fn.hats[id] = value;
75981
+ return fn;
75982
+ };
75983
+
75984
+ fn.bits = bits || 128;
75985
+ fn.base = base || 16;
75986
+ return fn;
75987
+ };
75988
+ });
75591
75989
 
75592
- function createFormDefinition(properties, extensionElements, bpmnFactory) {
75593
- return createElement$1(
75594
- 'zeebe:FormDefinition',
75595
- properties,
75596
- extensionElements,
75597
- bpmnFactory
75598
- );
75599
- }
75990
+ /**
75991
+ * Create a new id generator / cache instance.
75992
+ *
75993
+ * You may optionally provide a seed that is used internally.
75994
+ *
75995
+ * @param {Seed} seed
75996
+ */
75600
75997
 
75601
- function createFormId() {
75602
- return nextId$1(USER_TASK_FORM_PREFIX$1);
75603
- }
75998
+ function Ids$1(seed) {
75999
+ if (!(this instanceof Ids$1)) {
76000
+ return new Ids$1(seed);
76001
+ }
75604
76002
 
75605
- function createFormKey(formId) {
75606
- return `camunda-forms:bpmn:${ formId }`;
76003
+ seed = seed || [128, 36, 1];
76004
+ this._seed = seed.length ? hat_1$1.rack(seed[0], seed[1], seed[2]) : seed;
75607
76005
  }
75608
-
76006
+ /**
76007
+ * Generate a next id.
76008
+ *
76009
+ * @param {Object} [element] element to bind the id to
76010
+ *
76011
+ * @return {String} id
76012
+ */
76013
+
76014
+ Ids$1.prototype.next = function (element) {
76015
+ return this._seed(element || true);
76016
+ };
76017
+ /**
76018
+ * Generate a next id with a given prefix.
76019
+ *
76020
+ * @param {Object} [element] element to bind the id to
76021
+ *
76022
+ * @return {String} id
76023
+ */
76024
+
76025
+
76026
+ Ids$1.prototype.nextPrefixed = function (prefix, element) {
76027
+ var id;
76028
+
76029
+ do {
76030
+ id = prefix + this.next(true);
76031
+ } while (this.assigned(id)); // claim {prefix}{random}
76032
+
76033
+
76034
+ this.claim(id, element); // return
76035
+
76036
+ return id;
76037
+ };
76038
+ /**
76039
+ * Manually claim an existing id.
76040
+ *
76041
+ * @param {String} id
76042
+ * @param {String} [element] element the id is claimed by
76043
+ */
76044
+
76045
+
76046
+ Ids$1.prototype.claim = function (id, element) {
76047
+ this._seed.set(id, element || true);
76048
+ };
76049
+ /**
76050
+ * Returns true if the given id has already been assigned.
76051
+ *
76052
+ * @param {String} id
76053
+ * @return {Boolean}
76054
+ */
76055
+
76056
+
76057
+ Ids$1.prototype.assigned = function (id) {
76058
+ return this._seed.get(id) || false;
76059
+ };
76060
+ /**
76061
+ * Unclaim an id.
76062
+ *
76063
+ * @param {String} id the id to unclaim
76064
+ */
76065
+
76066
+
76067
+ Ids$1.prototype.unclaim = function (id) {
76068
+ delete this._seed.hats[id];
76069
+ };
76070
+ /**
76071
+ * Clear all claimed ids.
76072
+ */
76073
+
76074
+
76075
+ Ids$1.prototype.clear = function () {
76076
+ var hats = this._seed.hats,
76077
+ id;
76078
+
76079
+ for (id in hats) {
76080
+ this.unclaim(id);
76081
+ }
76082
+ };
76083
+
76084
+ const ids$2 = new Ids$1([ 32, 32, 1 ]);
76085
+
76086
+ /**
76087
+ * Get ID with prefix.
76088
+ */
76089
+ function getPrefixedId(prefix) {
76090
+ return ids$2.nextPrefixed(prefix);
76091
+ }
76092
+
76093
+ const USER_TASK_FORM_PREFIX$1 = 'UserTaskForm_';
76094
+
76095
+
76096
+ function createFormDefinition(properties, extensionElements, bpmnFactory) {
76097
+ return createElement$1(
76098
+ 'zeebe:FormDefinition',
76099
+ properties,
76100
+ extensionElements,
76101
+ bpmnFactory
76102
+ );
76103
+ }
76104
+
76105
+ function createFormId() {
76106
+ return getPrefixedId(USER_TASK_FORM_PREFIX$1);
76107
+ }
76108
+
76109
+ function createFormKey(formId) {
76110
+ return `camunda-forms:bpmn:${ formId }`;
76111
+ }
76112
+
75609
76113
  function createUserTaskForm(properties, extensionElements, bpmnFactory) {
75610
76114
  return createElement$1(
75611
76115
  'zeebe:UserTaskForm',
@@ -75618,7 +76122,7 @@
75618
76122
  function findUserTaskForm(formKey, rootElement) {
75619
76123
  const userTaskForms = getExtensionElementsList$1(rootElement, 'zeebe:UserTaskForm');
75620
76124
 
75621
- return find(userTaskForms, (userTaskForm) => {
76125
+ return find$1(userTaskForms, (userTaskForm) => {
75622
76126
  const id = userTaskForm.get('zeebe:id');
75623
76127
 
75624
76128
  return createFormKey(id) === formKey;
@@ -75777,7 +76281,7 @@
75777
76281
  return parent;
75778
76282
  }
75779
76283
 
75780
- const HIGH_PRIORITY$p = 5000;
76284
+ const HIGH_PRIORITY$o = 5000;
75781
76285
 
75782
76286
 
75783
76287
  /**
@@ -75788,7 +76292,7 @@
75788
76292
  constructor(commandStack, eventBus) {
75789
76293
  super(eventBus);
75790
76294
 
75791
- this.postExecuted('element.updateModdleProperties' , HIGH_PRIORITY$p, function(context) {
76295
+ this.postExecuted('element.updateModdleProperties' , HIGH_PRIORITY$o, function(context) {
75792
76296
  const {
75793
76297
  element,
75794
76298
  moddleElement
@@ -75802,8 +76306,8 @@
75802
76306
 
75803
76307
  if (
75804
76308
  is$1(element, 'bpmn:UserTask')
75805
- && isUndefined(assignmentDefinition.get('zeebe:assignee'))
75806
- && isUndefined(assignmentDefinition.get('zeebe:candidateGroups'))
76309
+ && isUndefined$3(assignmentDefinition.get('zeebe:assignee'))
76310
+ && isUndefined$3(assignmentDefinition.get('zeebe:candidateGroups'))
75807
76311
  ) {
75808
76312
  const businessObject = getBusinessObject(element);
75809
76313
 
@@ -75819,7 +76323,7 @@
75819
76323
  'eventBus'
75820
76324
  ];
75821
76325
 
75822
- const HIGH_PRIORITY$q = 5000;
76326
+ const HIGH_PRIORITY$p = 5000;
75823
76327
 
75824
76328
 
75825
76329
  /**
@@ -75837,7 +76341,7 @@
75837
76341
  * Remove zeebe:Output elements if zeebe:propagateAllChildVariables is set to true.
75838
76342
  * Remove zeebe:IoMapping extension element if empty.
75839
76343
  */
75840
- this.postExecute('element.updateModdleProperties' , HIGH_PRIORITY$q, function(context) {
76344
+ this.postExecute('element.updateModdleProperties' , HIGH_PRIORITY$p, function(context) {
75841
76345
  const {
75842
76346
  element,
75843
76347
  moddleElement,
@@ -75877,7 +76381,7 @@
75877
76381
  * Set zeebe:propagateAllChildVariables of zeebe:CalledElement to false if
75878
76382
  * zeebe:Output or zeebe:IoMapping with zeebe:Output is added.
75879
76383
  */
75880
- this.preExecute('element.updateModdleProperties' , HIGH_PRIORITY$q, function(context) {
76384
+ this.preExecute('element.updateModdleProperties' , HIGH_PRIORITY$p, function(context) {
75881
76385
  const {
75882
76386
  element,
75883
76387
  moddleElement,
@@ -75934,29 +76438,21 @@
75934
76438
  'modeling'
75935
76439
  ];
75936
76440
 
75937
- var zeebeModelingBehaviors = {
76441
+ var behaviorsModule = {
75938
76442
  __init__: [
75939
76443
  'cleanUpBusinessRuleTaskBehavior',
75940
- 'createZeebeBoundaryEventBehavior',
75941
76444
  'createZeebeCallActivityBehavior',
75942
76445
  'formDefinitionBehavior',
75943
76446
  'removeAssignmentDefinitionBehavior',
75944
76447
  'updatePropagateAllChildVariablesBehavior'
75945
76448
  ],
75946
76449
  cleanUpBusinessRuleTaskBehavior: [ 'type', CleanUpBusinessRuleTaskBehavior ],
75947
- createZeebeBoundaryEventBehavior: [ 'type', CreateZeebeBoundaryEventBehavior ],
75948
76450
  createZeebeCallActivityBehavior: [ 'type', CreateZeebeCallActivityBehavior ],
75949
76451
  formDefinitionBehavior: [ 'type', FormDefinitionBehavior ],
75950
76452
  removeAssignmentDefinitionBehavior: [ 'type', CleanUpBusinessRuleTaskBehavior$1 ],
75951
76453
  updatePropagateAllChildVariablesBehavior: [ 'type', UpdatePropagateAllChildVariablesBehavior ]
75952
76454
  };
75953
76455
 
75954
- var modelingModule = {
75955
- __depends__: [
75956
- zeebeModelingBehaviors
75957
- ]
75958
- };
75959
-
75960
76456
  const PALETTE_OPTIONS = [
75961
76457
  'hand-tool',
75962
76458
  'lasso-tool',
@@ -76064,10 +76560,6 @@
76064
76560
  zeebeContextPadProvider: [ 'type', ContextPadProvider$1 ],
76065
76561
  };
76066
76562
 
76067
- var drilldownModule = {
76068
- drilldownOverlayBehavior: [ 'value', null ],
76069
- };
76070
-
76071
76563
  const REPLACE_OPTIONS = [
76072
76564
  'replace-with-service-task',
76073
76565
  'replace-with-script-task',
@@ -76168,133 +76660,665 @@
76168
76660
  }
76169
76661
  }
76170
76662
 
76171
- ReplaceMenuProvider$1.$inject = [
76172
- 'popupMenu'
76173
- ];
76663
+ ReplaceMenuProvider$1.$inject = [
76664
+ 'popupMenu'
76665
+ ];
76666
+
76667
+ var popupMenuModule = {
76668
+ __init__: [ 'zeebeReplaceMenuProvider' ],
76669
+ zeebeReplaceMenuProvider: [ 'type', ReplaceMenuProvider$1 ]
76670
+ };
76671
+
76672
+ const HIGH_PRIORITY$q = 5000;
76673
+
76674
+ /**
76675
+ * Zeebe rule provider that allows to create boundary events with catch events
76676
+ *
76677
+ * See {@link CustomRules} for the default implementation
76678
+ * of BPMN 2.0 modeling rules provided by bpmn-js.
76679
+ *
76680
+ * @param {EventBus} eventBus
76681
+ */
76682
+ class CustomRules extends BpmnRules {
76683
+
76684
+ constructor(eventBus) {
76685
+ super(eventBus);
76686
+ }
76687
+
76688
+ init() {
76689
+ super.init();
76690
+ this.addRule('shape.attach', HIGH_PRIORITY$q,(context) => {
76691
+ return this.canAttach(
76692
+ context.shape,
76693
+ context.target,
76694
+ null,
76695
+ context.position);
76696
+ });
76697
+ }
76698
+
76699
+ canAttach(elements, target, source, position) {
76700
+ function isBoundaryEvent(element) {
76701
+ return !isLabel(element) && is$1(element, 'bpmn:BoundaryEvent');
76702
+ }
76703
+
76704
+ /**
76705
+ * In Zeebe we treat IntermediateCatchEvents as boundary events too,
76706
+ * this must be reflected in the rules.
76707
+ */
76708
+ function isBoundaryCandidate(element) {
76709
+ return isBoundaryEvent(element) || (
76710
+ (
76711
+ is$1(element, 'bpmn:IntermediateCatchEvent') ||
76712
+ is$1(element, 'bpmn:IntermediateThrowEvent')
76713
+ ) && !element.parent
76714
+ );
76715
+ }
76716
+
76717
+ function isForCompensation(e) {
76718
+ return getBusinessObject(e).isForCompensation;
76719
+ }
76720
+
76721
+ function isReceiveTaskAfterEventBasedGateway(element) {
76722
+ return (
76723
+ is$1(element, 'bpmn:ReceiveTask') &&
76724
+ find(element.incoming, function(incoming) {
76725
+ return is$1(incoming.source, 'bpmn:EventBasedGateway');
76726
+ })
76727
+ );
76728
+ }
76729
+
76730
+ if (!Array.isArray(elements)) {
76731
+ elements = [ elements ];
76732
+ }
76733
+
76734
+ // disallow appending as boundary event
76735
+ if (source) {
76736
+ return false;
76737
+ }
76738
+
76739
+ // only (re-)attach one element at a time
76740
+ if (elements.length !== 1) {
76741
+ return false;
76742
+ }
76743
+
76744
+ const element = elements[0];
76745
+
76746
+ // do not attach labels
76747
+ if (isLabel(element)) {
76748
+ return false;
76749
+ }
76750
+
76751
+ // only handle boundary events
76752
+ if (!isBoundaryCandidate(element)) {
76753
+ return false;
76754
+ }
76755
+
76756
+ // allow default move operation
76757
+ if (!target) {
76758
+ return true;
76759
+ }
76760
+
76761
+ // disallow drop on event sub processes
76762
+ if (isEventSubProcess(target)) {
76763
+ return false;
76764
+ }
76765
+
76766
+ // only allow drop on non compensation activities
76767
+ if (!is$1(target, 'bpmn:Activity') || isForCompensation(target)) {
76768
+ return false;
76769
+ }
76770
+
76771
+ // only attach to subprocess border
76772
+ if (position && !getBoundaryAttachment(position, target)) {
76773
+ return false;
76774
+ }
76775
+
76776
+ // do not attach on receive tasks after event based gateways
76777
+ if (isReceiveTaskAfterEventBasedGateway(target)) {
76778
+ return false;
76779
+ }
76780
+
76781
+ return 'attach';
76782
+ }
76783
+ }
76784
+
76785
+ CustomRules.$inject = [ 'eventBus' ];
76786
+
76787
+ var rulesModule = {
76788
+ __init__: [ 'bpmnRules' ],
76789
+ bpmnRules: [ 'type', CustomRules ]
76790
+ };
76791
+
76792
+ var isFunction$2 = require$$0.isFunction,
76793
+ isObject$1 = require$$0.isObject,
76794
+ some$1 = require$$0.some;
76795
+
76796
+ var WILDCARD = '*';
76797
+
76798
+ const zeebeServiceTaskProperties = [ 'zeebe:TaskDefinition', 'zeebe:Subscription', 'zeebe:TaskHeaders','zeebe:LoopCharacteristics','zeebe:Input' ];
76799
+
76800
+ function ZeebeModdleExtension(eventBus) {
76801
+
76802
+ var self = this;
76803
+
76804
+ eventBus.on('moddleCopy.canCopyProperty', function(context) {
76805
+ var property = context.property,
76806
+ parent = context.parent;
76807
+
76808
+ return self.canCopyProperty(property, parent);
76809
+ });
76810
+ }
76811
+
76812
+ ZeebeModdleExtension.$inject = [ 'eventBus' ];
76813
+
76814
+ ZeebeModdleExtension.prototype.canCopyProperty = function(property, parent) {
76815
+
76816
+ // (1) check if property is allowed in parent
76817
+ if (isObject$1(property) && !isAllowedInParent(property, parent)) {
76818
+ return false;
76819
+ }
76820
+
76821
+ // (2) check for specific scenarios
76822
+ if (!this.canHostServiceTaskLikeProperties(property, parent)) {
76823
+ return false;
76824
+ }
76825
+ };
76826
+
76827
+ ZeebeModdleExtension.prototype.canHostServiceTaskLikeProperties = function(property, parent) {
76828
+
76829
+ if (isAllowedInZeebeServiceTask(property)) {
76830
+
76831
+ var serviceTaskLike = getParent$2(parent, 'bpmn:IntermediateThrowEvent') || getParent$2(parent, 'bpmn:EndEvent');
76832
+
76833
+ if (serviceTaskLike) {
76834
+ return isMessageEvent(serviceTaskLike);
76835
+ }
76836
+ }
76837
+
76838
+ return true;
76839
+ };
76840
+
76841
+ var extension = ZeebeModdleExtension;
76842
+
76843
+ // helpers //////////
76844
+
76845
+ function is$3(element, type) {
76846
+ return element && isFunction$2(element.$instanceOf) && element.$instanceOf(type);
76847
+ }
76848
+
76849
+ function getParent$2(element, type) {
76850
+ if (!type) {
76851
+ return element.$parent;
76852
+ }
76853
+
76854
+ if (is$3(element, type)) {
76855
+ return element;
76856
+ }
76857
+
76858
+ if (!element.$parent) {
76859
+ return;
76860
+ }
76861
+
76862
+ return getParent$2(element.$parent, type);
76863
+ }
76864
+
76865
+ function isAllowedInParent(property, parent) {
76866
+
76867
+ // (1) find property descriptor
76868
+ var descriptor = property.$type && property.$model.getTypeDescriptor(property.$type);
76869
+
76870
+ var allowedIn = descriptor && descriptor.meta && descriptor.meta.allowedIn;
76871
+
76872
+ if (!allowedIn || isWildcard(allowedIn)) {
76873
+ return true;
76874
+ }
76875
+
76876
+ // (2) check if property has parent of allowed type
76877
+ return some$1(allowedIn, function(type) {
76878
+ return getParent$2(parent, type);
76879
+ });
76880
+ }
76881
+
76882
+ function isWildcard(allowedIn) {
76883
+ return allowedIn.indexOf(WILDCARD) !== -1;
76884
+ }
76885
+
76886
+ function isMessageEvent(event) {
76887
+ const eventDefinitions = event.get('eventDefinitions');
76888
+
76889
+ return eventDefinitions.some(function(def) {
76890
+ return is$3(def, 'bpmn:MessageEventDefinition');
76891
+ });
76892
+ }
76893
+
76894
+ // check if property is allowed in ZeebeServiceTask but not for none events
76895
+ function isAllowedInZeebeServiceTask(property) {
76896
+ return zeebeServiceTaskProperties.some(function(propertyType) {
76897
+ return is$3(property, propertyType);
76898
+ });
76899
+ }
76900
+
76901
+ var lib = {
76902
+ __init__: [ 'zeebeModdleExtension' ],
76903
+ zeebeModdleExtension: [ 'type', extension ]
76904
+ };
76905
+
76906
+ var DEFAULT_RENDER_PRIORITY$2 = 1000;
76907
+
76908
+ /**
76909
+ * The base implementation of shape and connection renderers.
76910
+ *
76911
+ * @param {EventBus} eventBus
76912
+ * @param {number} [renderPriority=1000]
76913
+ */
76914
+ function BaseRenderer$1(eventBus, renderPriority) {
76915
+ var self = this;
76916
+
76917
+ renderPriority = renderPriority || DEFAULT_RENDER_PRIORITY$2;
76918
+
76919
+ eventBus.on([ 'render.shape', 'render.connection' ], renderPriority, function(evt, context) {
76920
+ var type = evt.type,
76921
+ element = context.element,
76922
+ visuals = context.gfx,
76923
+ attrs = context.attrs;
76924
+
76925
+ if (self.canRender(element)) {
76926
+ if (type === 'render.shape') {
76927
+ return self.drawShape(visuals, element, attrs);
76928
+ } else {
76929
+ return self.drawConnection(visuals, element, attrs);
76930
+ }
76931
+ }
76932
+ });
76933
+
76934
+ eventBus.on([ 'render.getShapePath', 'render.getConnectionPath' ], renderPriority, function(evt, element) {
76935
+ if (self.canRender(element)) {
76936
+ if (evt.type === 'render.getShapePath') {
76937
+ return self.getShapePath(element);
76938
+ } else {
76939
+ return self.getConnectionPath(element);
76940
+ }
76941
+ }
76942
+ });
76943
+ }
76944
+
76945
+ /**
76946
+ * Should check whether *this* renderer can render
76947
+ * the element/connection.
76948
+ *
76949
+ * @param {element} element
76950
+ *
76951
+ * @returns {boolean}
76952
+ */
76953
+ BaseRenderer$1.prototype.canRender = function() {};
76954
+
76955
+ /**
76956
+ * Provides the shape's snap svg element to be drawn on the `canvas`.
76957
+ *
76958
+ * @param {djs.Graphics} visuals
76959
+ * @param {Shape} shape
76960
+ *
76961
+ * @returns {Snap.svg} [returns a Snap.svg paper element ]
76962
+ */
76963
+ BaseRenderer$1.prototype.drawShape = function() {};
76964
+
76965
+ /**
76966
+ * Provides the shape's snap svg element to be drawn on the `canvas`.
76967
+ *
76968
+ * @param {djs.Graphics} visuals
76969
+ * @param {Connection} connection
76970
+ *
76971
+ * @returns {Snap.svg} [returns a Snap.svg paper element ]
76972
+ */
76973
+ BaseRenderer$1.prototype.drawConnection = function() {};
76974
+
76975
+ /**
76976
+ * Gets the SVG path of a shape that represents it's visual bounds.
76977
+ *
76978
+ * @param {Shape} shape
76979
+ *
76980
+ * @return {string} svg path
76981
+ */
76982
+ BaseRenderer$1.prototype.getShapePath = function() {};
76983
+
76984
+ /**
76985
+ * Gets the SVG path of a connection that represents it's visual bounds.
76986
+ *
76987
+ * @param {Connection} connection
76988
+ *
76989
+ * @return {string} svg path
76990
+ */
76991
+ BaseRenderer$1.prototype.getConnectionPath = function() {};
76992
+
76993
+ function ensureImported$1(element, target) {
76994
+
76995
+ if (element.ownerDocument !== target.ownerDocument) {
76996
+ try {
76997
+ // may fail on webkit
76998
+ return target.ownerDocument.importNode(element, true);
76999
+ } catch (e) {
77000
+ // ignore
77001
+ }
77002
+ }
77003
+
77004
+ return element;
77005
+ }
77006
+
77007
+ /**
77008
+ * appendTo utility
77009
+ */
77010
+
77011
+ /**
77012
+ * Append a node to a target element and return the appended node.
77013
+ *
77014
+ * @param {SVGElement} element
77015
+ * @param {SVGElement} target
77016
+ *
77017
+ * @return {SVGElement} the appended node
77018
+ */
77019
+ function appendTo$1(element, target) {
77020
+ return target.appendChild(ensureImported$1(element, target));
77021
+ }
77022
+
77023
+ /**
77024
+ * append utility
77025
+ */
77026
+
77027
+ /**
77028
+ * Append a node to an element
77029
+ *
77030
+ * @param {SVGElement} element
77031
+ * @param {SVGElement} node
77032
+ *
77033
+ * @return {SVGElement} the element
77034
+ */
77035
+ function append$1(target, node) {
77036
+ appendTo$1(node, target);
77037
+ return target;
77038
+ }
77039
+
77040
+ /**
77041
+ * attribute accessor utility
77042
+ */
77043
+
77044
+ var LENGTH_ATTR$1 = 2;
77045
+
77046
+ var CSS_PROPERTIES$1 = {
77047
+ 'alignment-baseline': 1,
77048
+ 'baseline-shift': 1,
77049
+ 'clip': 1,
77050
+ 'clip-path': 1,
77051
+ 'clip-rule': 1,
77052
+ 'color': 1,
77053
+ 'color-interpolation': 1,
77054
+ 'color-interpolation-filters': 1,
77055
+ 'color-profile': 1,
77056
+ 'color-rendering': 1,
77057
+ 'cursor': 1,
77058
+ 'direction': 1,
77059
+ 'display': 1,
77060
+ 'dominant-baseline': 1,
77061
+ 'enable-background': 1,
77062
+ 'fill': 1,
77063
+ 'fill-opacity': 1,
77064
+ 'fill-rule': 1,
77065
+ 'filter': 1,
77066
+ 'flood-color': 1,
77067
+ 'flood-opacity': 1,
77068
+ 'font': 1,
77069
+ 'font-family': 1,
77070
+ 'font-size': LENGTH_ATTR$1,
77071
+ 'font-size-adjust': 1,
77072
+ 'font-stretch': 1,
77073
+ 'font-style': 1,
77074
+ 'font-variant': 1,
77075
+ 'font-weight': 1,
77076
+ 'glyph-orientation-horizontal': 1,
77077
+ 'glyph-orientation-vertical': 1,
77078
+ 'image-rendering': 1,
77079
+ 'kerning': 1,
77080
+ 'letter-spacing': 1,
77081
+ 'lighting-color': 1,
77082
+ 'marker': 1,
77083
+ 'marker-end': 1,
77084
+ 'marker-mid': 1,
77085
+ 'marker-start': 1,
77086
+ 'mask': 1,
77087
+ 'opacity': 1,
77088
+ 'overflow': 1,
77089
+ 'pointer-events': 1,
77090
+ 'shape-rendering': 1,
77091
+ 'stop-color': 1,
77092
+ 'stop-opacity': 1,
77093
+ 'stroke': 1,
77094
+ 'stroke-dasharray': 1,
77095
+ 'stroke-dashoffset': 1,
77096
+ 'stroke-linecap': 1,
77097
+ 'stroke-linejoin': 1,
77098
+ 'stroke-miterlimit': 1,
77099
+ 'stroke-opacity': 1,
77100
+ 'stroke-width': LENGTH_ATTR$1,
77101
+ 'text-anchor': 1,
77102
+ 'text-decoration': 1,
77103
+ 'text-rendering': 1,
77104
+ 'unicode-bidi': 1,
77105
+ 'visibility': 1,
77106
+ 'word-spacing': 1,
77107
+ 'writing-mode': 1
77108
+ };
77109
+
77110
+
77111
+ function getAttribute$1(node, name) {
77112
+ if (CSS_PROPERTIES$1[name]) {
77113
+ return node.style[name];
77114
+ } else {
77115
+ return node.getAttributeNS(null, name);
77116
+ }
77117
+ }
77118
+
77119
+ function setAttribute$1(node, name, value) {
77120
+ var hyphenated = name.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();
77121
+
77122
+ var type = CSS_PROPERTIES$1[hyphenated];
77123
+
77124
+ if (type) {
77125
+ // append pixel unit, unless present
77126
+ if (type === LENGTH_ATTR$1 && typeof value === 'number') {
77127
+ value = String(value) + 'px';
77128
+ }
77129
+
77130
+ node.style[hyphenated] = value;
77131
+ } else {
77132
+ node.setAttributeNS(null, name, value);
77133
+ }
77134
+ }
77135
+
77136
+ function setAttributes$1(node, attrs) {
77137
+
77138
+ var names = Object.keys(attrs), i, name;
77139
+
77140
+ for (i = 0, name; (name = names[i]); i++) {
77141
+ setAttribute$1(node, name, attrs[name]);
77142
+ }
77143
+ }
77144
+
77145
+ /**
77146
+ * Gets or sets raw attributes on a node.
77147
+ *
77148
+ * @param {SVGElement} node
77149
+ * @param {Object} [attrs]
77150
+ * @param {String} [name]
77151
+ * @param {String} [value]
77152
+ *
77153
+ * @return {String}
77154
+ */
77155
+ function attr$2(node, name, value) {
77156
+ if (typeof name === 'string') {
77157
+ if (value !== undefined) {
77158
+ setAttribute$1(node, name, value);
77159
+ } else {
77160
+ return getAttribute$1(node, name);
77161
+ }
77162
+ } else {
77163
+ setAttributes$1(node, name);
77164
+ }
77165
+
77166
+ return node;
77167
+ }
77168
+
77169
+ var ns$1 = {
77170
+ svg: 'http://www.w3.org/2000/svg'
77171
+ };
77172
+
77173
+ /**
77174
+ * DOM parsing utility
77175
+ */
77176
+
77177
+ var SVG_START$1 = '<svg xmlns="' + ns$1.svg + '"';
77178
+
77179
+ function parse$3(svg) {
77180
+
77181
+ var unwrap = false;
77182
+
77183
+ // ensure we import a valid svg document
77184
+ if (svg.substring(0, 4) === '<svg') {
77185
+ if (svg.indexOf(ns$1.svg) === -1) {
77186
+ svg = SVG_START$1 + svg.substring(4);
77187
+ }
77188
+ } else {
77189
+ // namespace svg
77190
+ svg = SVG_START$1 + '>' + svg + '</svg>';
77191
+ unwrap = true;
77192
+ }
77193
+
77194
+ var parsed = parseDocument$1(svg);
77195
+
77196
+ if (!unwrap) {
77197
+ return parsed;
77198
+ }
77199
+
77200
+ var fragment = document.createDocumentFragment();
77201
+
77202
+ var parent = parsed.firstChild;
77203
+
77204
+ while (parent.firstChild) {
77205
+ fragment.appendChild(parent.firstChild);
77206
+ }
77207
+
77208
+ return fragment;
77209
+ }
77210
+
77211
+ function parseDocument$1(svg) {
77212
+
77213
+ var parser;
77214
+
77215
+ // parse
77216
+ parser = new DOMParser();
77217
+ parser.async = false;
77218
+
77219
+ return parser.parseFromString(svg, 'text/xml');
77220
+ }
76174
77221
 
76175
- var popupMenuModule = {
76176
- __init__: [ 'zeebeReplaceMenuProvider' ],
76177
- zeebeReplaceMenuProvider: [ 'type', ReplaceMenuProvider$1 ]
76178
- };
77222
+ /**
77223
+ * Create utility for SVG elements
77224
+ */
76179
77225
 
76180
- const HIGH_PRIORITY$r = 5000;
76181
77226
 
76182
77227
  /**
76183
- * Zeebe rule provider that allows to create boundary events with catch events
77228
+ * Create a specific type from name or SVG markup.
76184
77229
  *
76185
- * See {@link CustomRules} for the default implementation
76186
- * of BPMN 2.0 modeling rules provided by bpmn-js.
77230
+ * @param {String} name the name or markup of the element
77231
+ * @param {Object} [attrs] attributes to set on the element
76187
77232
  *
76188
- * @param {EventBus} eventBus
77233
+ * @returns {SVGElement}
76189
77234
  */
76190
- class CustomRules extends BpmnRules {
77235
+ function create$2(name, attrs) {
77236
+ var element;
76191
77237
 
76192
- constructor(eventBus) {
76193
- super(eventBus);
77238
+ if (name.charAt(0) === '<') {
77239
+ element = parse$3(name).firstChild;
77240
+ element = document.importNode(element, true);
77241
+ } else {
77242
+ element = document.createElementNS(ns$1.svg, name);
76194
77243
  }
76195
77244
 
76196
- init() {
76197
- super.init();
76198
- this.addRule('shape.attach', HIGH_PRIORITY$r,(context) => {
76199
- return this.canAttach(
76200
- context.shape,
76201
- context.target,
76202
- null,
76203
- context.position);
76204
- });
77245
+ if (attrs) {
77246
+ attr$2(element, attrs);
76205
77247
  }
76206
77248
 
76207
- canAttach(elements, target, source, position) {
76208
- function isBoundaryEvent(element) {
76209
- return !isLabel(element) && is$1(element, 'bpmn:BoundaryEvent');
76210
- }
77249
+ return element;
77250
+ }
76211
77251
 
76212
- /**
76213
- * In Zeebe we treat IntermediateCatchEvents as boundary events too,
76214
- * this must be reflected in the rules.
76215
- */
76216
- function isBoundaryCandidate(element) {
76217
- return isBoundaryEvent(element) || (
76218
- (
76219
- is$1(element, 'bpmn:IntermediateCatchEvent') ||
76220
- is$1(element, 'bpmn:IntermediateThrowEvent')
76221
- ) && !element.parent
76222
- );
76223
- }
77252
+ /**
77253
+ * Geometry helpers
77254
+ */
76224
77255
 
76225
- function isForCompensation(e) {
76226
- return getBusinessObject(e).isForCompensation;
76227
- }
77256
+ // fake node used to instantiate svg geometry elements
77257
+ create$2('svg');
76228
77258
 
76229
- function isReceiveTaskAfterEventBasedGateway(element) {
76230
- return (
76231
- is$1(element, 'bpmn:ReceiveTask') &&
76232
- find(element.incoming, function(incoming) {
76233
- return is$1(incoming.source, 'bpmn:EventBasedGateway');
76234
- })
76235
- );
76236
- }
77259
+ function getModelerTemplateIcon(element) {
77260
+ var modelerTemplateIcon = getBusinessObject(element).get('zeebe:modelerTemplateIcon');
77261
+ return modelerTemplateIcon;
77262
+ }
76237
77263
 
76238
- if (!Array.isArray(elements)) {
76239
- elements = [ elements ];
76240
- }
77264
+ var HIGH_PRIORITY$r = 1250;
76241
77265
 
76242
- // disallow appending as boundary event
76243
- if (source) {
76244
- return false;
76245
- }
76246
77266
 
76247
- // only (re-)attach one element at a time
76248
- if (elements.length !== 1) {
76249
- return false;
76250
- }
77267
+ function IconsRenderer(
77268
+ bpmnRenderer,
77269
+ eventBus
77270
+ ) {
77271
+ this._bpmnRenderer = bpmnRenderer;
76251
77272
 
76252
- const element = elements[0];
77273
+ BaseRenderer$1.call(this, eventBus, HIGH_PRIORITY$r);
77274
+ }
76253
77275
 
76254
- // do not attach labels
76255
- if (isLabel(element)) {
76256
- return false;
76257
- }
77276
+ inherits_browser(IconsRenderer, BaseRenderer$1);
76258
77277
 
76259
- // only handle boundary events
76260
- if (!isBoundaryCandidate(element)) {
76261
- return false;
76262
- }
77278
+ IconsRenderer.prototype.canRender = function(element) {
76263
77279
 
76264
- // allow default move operation
76265
- if (!target) {
76266
- return true;
76267
- }
77280
+ if (isLabel(element)) {
77281
+ return false;
77282
+ }
76268
77283
 
76269
- // disallow drop on event sub processes
76270
- if (isEventSubProcess(target)) {
76271
- return false;
76272
- }
77284
+ return (
77285
+ is$1(element, 'bpmn:Task') &&
77286
+ !!getModelerTemplateIcon(element)
77287
+ );
77288
+ };
76273
77289
 
76274
- // only allow drop on non compensation activities
76275
- if (!is$1(target, 'bpmn:Activity') || isForCompensation(target)) {
76276
- return false;
76277
- }
77290
+ IconsRenderer.prototype.drawShape = function(parentGfx, element) {
76278
77291
 
76279
- // only attach to subprocess border
76280
- if (position && !getBoundaryAttachment(position, target)) {
76281
- return false;
76282
- }
77292
+ var renderer = this._bpmnRenderer.handlers['bpmn:Task'];
76283
77293
 
76284
- // do not attach on receive tasks after event based gateways
76285
- if (isReceiveTaskAfterEventBasedGateway(target)) {
76286
- return false;
76287
- }
77294
+ var gfx = renderer(parentGfx, element);
76288
77295
 
76289
- return 'attach';
76290
- }
76291
- }
77296
+ var modelerTemplateIcon = getModelerTemplateIcon(element);
76292
77297
 
76293
- CustomRules.$inject = [ 'eventBus' ];
77298
+ var icon = create$2('image');
77299
+ attr$2(icon, {
77300
+ href: modelerTemplateIcon,
77301
+ x: 4,
77302
+ y: 4
77303
+ });
76294
77304
 
76295
- var rulesModule = {
76296
- __init__: [ 'bpmnRules' ],
76297
- bpmnRules: [ 'type', CustomRules ]
77305
+ append$1(parentGfx, icon);
77306
+
77307
+ return gfx;
77308
+ };
77309
+
77310
+ IconsRenderer.$inject = [
77311
+ 'bpmnRenderer',
77312
+ 'eventBus'
77313
+ ];
77314
+
77315
+ var iconRendererModule = {
77316
+ __init__: [ 'elementTemplatesIconsRenderer' ],
77317
+ elementTemplatesIconsRenderer: [ 'type', IconsRenderer ]
77318
+ };
77319
+
77320
+ var drilldownModule = {
77321
+ drilldownOverlayBehavior: [ 'value', null ],
76298
77322
  };
76299
77323
 
76300
77324
  var name$7 = "zeebe";
@@ -76643,6 +77667,11 @@
76643
77667
  name: "modelerTemplateVersion",
76644
77668
  isAttr: true,
76645
77669
  type: "Integer"
77670
+ },
77671
+ {
77672
+ name: "modelerTemplateIcon",
77673
+ isAttr: true,
77674
+ type: "String"
76646
77675
  }
76647
77676
  ]
76648
77677
  }
@@ -76656,118 +77685,13 @@
76656
77685
  types: types$6
76657
77686
  };
76658
77687
 
76659
- var isFunction$1 = require$$0.isFunction,
76660
- isObject$1 = require$$0.isObject,
76661
- some$1 = require$$0.some;
76662
-
76663
- var WILDCARD = '*';
76664
-
76665
- const zeebeServiceTaskProperties = [ 'zeebe:TaskDefinition', 'zeebe:Subscription', 'zeebe:TaskHeaders','zeebe:LoopCharacteristics','zeebe:Input' ];
76666
-
76667
- function ZeebeModdleExtension(eventBus) {
76668
-
76669
- var self = this;
76670
-
76671
- eventBus.on('moddleCopy.canCopyProperty', function(context) {
76672
- var property = context.property,
76673
- parent = context.parent;
76674
-
76675
- return self.canCopyProperty(property, parent);
76676
- });
76677
- }
76678
-
76679
- ZeebeModdleExtension.$inject = [ 'eventBus' ];
76680
-
76681
- ZeebeModdleExtension.prototype.canCopyProperty = function(property, parent) {
76682
-
76683
- // (1) check if property is allowed in parent
76684
- if (isObject$1(property) && !isAllowedInParent(property, parent)) {
76685
- return false;
76686
- }
76687
-
76688
- // (2) check for specific scenarios
76689
- if (!this.canHostServiceTaskLikeProperties(property, parent)) {
76690
- return false;
76691
- }
76692
- };
76693
-
76694
- ZeebeModdleExtension.prototype.canHostServiceTaskLikeProperties = function(property, parent) {
76695
-
76696
- if (isAllowedInZeebeServiceTask(property)) {
76697
-
76698
- var serviceTaskLike = getParent$2(parent, 'bpmn:IntermediateThrowEvent') || getParent$2(parent, 'bpmn:EndEvent');
76699
-
76700
- if (serviceTaskLike) {
76701
- return isMessageEvent(serviceTaskLike);
76702
- }
76703
- }
76704
-
76705
- return true;
76706
- };
76707
-
76708
- var extension = ZeebeModdleExtension;
76709
-
76710
- // helpers //////////
76711
-
76712
- function is$3(element, type) {
76713
- return element && isFunction$1(element.$instanceOf) && element.$instanceOf(type);
76714
- }
76715
-
76716
- function getParent$2(element, type) {
76717
- if (!type) {
76718
- return element.$parent;
76719
- }
76720
-
76721
- if (is$3(element, type)) {
76722
- return element;
76723
- }
76724
-
76725
- if (!element.$parent) {
76726
- return;
76727
- }
76728
-
76729
- return getParent$2(element.$parent, type);
76730
- }
76731
-
76732
- function isAllowedInParent(property, parent) {
76733
-
76734
- // (1) find property descriptor
76735
- var descriptor = property.$type && property.$model.getTypeDescriptor(property.$type);
76736
-
76737
- var allowedIn = descriptor && descriptor.meta && descriptor.meta.allowedIn;
76738
-
76739
- if (!allowedIn || isWildcard(allowedIn)) {
76740
- return true;
76741
- }
76742
-
76743
- // (2) check if property has parent of allowed type
76744
- return some$1(allowedIn, function(type) {
76745
- return getParent$2(parent, type);
76746
- });
76747
- }
76748
-
76749
- function isWildcard(allowedIn) {
76750
- return allowedIn.indexOf(WILDCARD) !== -1;
76751
- }
76752
-
76753
- function isMessageEvent(event) {
76754
- const eventDefinitions = event.get('eventDefinitions');
76755
-
76756
- return eventDefinitions.some(function(def) {
76757
- return is$3(def, 'bpmn:MessageEventDefinition');
76758
- });
76759
- }
76760
-
76761
- // check if property is allowed in ZeebeServiceTask but not for none events
76762
- function isAllowedInZeebeServiceTask(property) {
76763
- return zeebeServiceTaskProperties.some(function(propertyType) {
76764
- return is$3(property, propertyType);
76765
- });
76766
- }
77688
+ const commonModules = [
77689
+ drilldownModule,
77690
+ iconRendererModule
77691
+ ];
76767
77692
 
76768
- var lib = {
76769
- __init__: [ 'zeebeModdleExtension' ],
76770
- zeebeModdleExtension: [ 'type', extension ]
77693
+ const commonModdleExtensions = {
77694
+ zeebe: zeebeModdle
76771
77695
  };
76772
77696
 
76773
77697
  /**
@@ -76779,7 +77703,7 @@
76779
77703
  options = {
76780
77704
  ...options,
76781
77705
  moddleExtensions: {
76782
- zeebe: zeebeModdle,
77706
+ ...commonModdleExtensions,
76783
77707
  ...options.moddleExtensions
76784
77708
  },
76785
77709
  propertiesPanel: {
@@ -76794,10 +77718,10 @@
76794
77718
  inherits_browser(Modeler$2, Modeler$1);
76795
77719
 
76796
77720
  Modeler$2.prototype._camundaCloudModules = [
76797
- modelingModule,
77721
+ ...commonModules,
77722
+ behaviorsModule,
76798
77723
  contextPadModule,
76799
77724
  DisabledCollapsedSubprocessPopupProviderModule,
76800
- drilldownModule,
76801
77725
  paletteModule,
76802
77726
  popupMenuModule,
76803
77727
  rulesModule,