camunda-bpmn-js 3.10.1 → 3.11.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.
@@ -2350,7 +2350,7 @@
2350
2350
  }
2351
2351
 
2352
2352
  /**
2353
- * @typedef {import('./index').InjectAnnotated } InjectAnnotated
2353
+ * @typedef {import('./index.js').InjectAnnotated } InjectAnnotated
2354
2354
  */
2355
2355
 
2356
2356
  /**
@@ -2420,9 +2420,9 @@
2420
2420
  }
2421
2421
 
2422
2422
  /**
2423
- * @typedef { import('./index').ModuleDeclaration } ModuleDeclaration
2424
- * @typedef { import('./index').ModuleDefinition } ModuleDefinition
2425
- * @typedef { import('./index').InjectorContext } InjectorContext
2423
+ * @typedef { import('./index.js').ModuleDeclaration } ModuleDeclaration
2424
+ * @typedef { import('./index.js').ModuleDefinition } ModuleDefinition
2425
+ * @typedef { import('./index.js').InjectorContext } InjectorContext
2426
2426
  */
2427
2427
 
2428
2428
  /**
@@ -2525,11 +2525,20 @@
2525
2525
  };
2526
2526
  }
2527
2527
 
2528
- function instantiate(Type) {
2528
+ /**
2529
+ * Instantiate the given type, injecting dependencies.
2530
+ *
2531
+ * @template T
2532
+ *
2533
+ * @param { Function | [...string[], Function ]} type
2534
+ *
2535
+ * @return T
2536
+ */
2537
+ function instantiate(type) {
2529
2538
  const {
2530
2539
  fn,
2531
2540
  dependencies
2532
- } = fnDef(Type);
2541
+ } = fnDef(type);
2533
2542
 
2534
2543
  // instantiate var args constructor
2535
2544
  const Constructor = Function.prototype.bind.apply(fn, [ null ].concat(dependencies));
@@ -2537,6 +2546,17 @@
2537
2546
  return new Constructor();
2538
2547
  }
2539
2548
 
2549
+ /**
2550
+ * Invoke the given function, injecting dependencies. Return the result.
2551
+ *
2552
+ * @template T
2553
+ *
2554
+ * @param { Function | [...string[], Function ]} func
2555
+ * @param { Object } [context]
2556
+ * @param { Object } [locals]
2557
+ *
2558
+ * @return {T} invocation result
2559
+ */
2540
2560
  function invoke(func, context, locals) {
2541
2561
  const {
2542
2562
  fn,
@@ -3817,37 +3837,6 @@
3817
3837
  };
3818
3838
  }
3819
3839
 
3820
- var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
3821
-
3822
- function getDefaultExportFromCjs (x) {
3823
- return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
3824
- }
3825
-
3826
- function getAugmentedNamespace(n) {
3827
- if (n.__esModule) return n;
3828
- var f = n.default;
3829
- if (typeof f == "function") {
3830
- var a = function a () {
3831
- if (this instanceof a) {
3832
- return Reflect.construct(f, arguments, this.constructor);
3833
- }
3834
- return f.apply(this, arguments);
3835
- };
3836
- a.prototype = f.prototype;
3837
- } else a = {};
3838
- Object.defineProperty(a, '__esModule', {value: true});
3839
- Object.keys(n).forEach(function (k) {
3840
- var d = Object.getOwnPropertyDescriptor(n, k);
3841
- Object.defineProperty(a, k, d.get ? d : {
3842
- enumerable: true,
3843
- get: function () {
3844
- return n[k];
3845
- }
3846
- });
3847
- });
3848
- return a;
3849
- }
3850
-
3851
3840
  /**
3852
3841
  * This file contains source code adapted from Snap.svg (licensed Apache-2.0).
3853
3842
  *
@@ -3912,7 +3901,7 @@
3912
3901
 
3913
3902
  count.length >= 1e3 && delete cache[count.shift()];
3914
3903
  count.push(args);
3915
- cache[args] = f.apply(0, arg);
3904
+ cache[args] = f(...arguments);
3916
3905
 
3917
3906
  return cache[args];
3918
3907
  }
@@ -3949,13 +3938,13 @@
3949
3938
  });
3950
3939
 
3951
3940
  if (name == 'm' && params.length > 2) {
3952
- data.push([b].concat(params.splice(0, 2)));
3941
+ data.push([ b, ...params.splice(0, 2) ]);
3953
3942
  name = 'l';
3954
3943
  b = b == 'm' ? 'l' : 'L';
3955
3944
  }
3956
3945
 
3957
3946
  while (params.length >= paramCounts[name]) {
3958
- data.push([b].concat(params.splice(0, paramCounts[name])));
3947
+ data.push([ b, ...params.splice(0, paramCounts[name]) ]);
3959
3948
  if (!paramCounts[name]) {
3960
3949
  break;
3961
3950
  }
@@ -4038,7 +4027,7 @@
4038
4027
 
4039
4028
  function bezierBBox(points) {
4040
4029
 
4041
- var bbox = curveBBox.apply(null, points);
4030
+ var bbox = curveBBox(...points);
4042
4031
 
4043
4032
  return rectBBox(
4044
4033
  bbox.x0,
@@ -4088,8 +4077,8 @@
4088
4077
 
4089
4078
  var z2 = z / 2,
4090
4079
  n = 12,
4091
- Tvalues = [-.1252,.1252,-.3678,.3678,-.5873,.5873,-.7699,.7699,-.9041,.9041,-.9816,.9816],
4092
- Cvalues = [0.2491,0.2491,0.2335,0.2335,0.2032,0.2032,0.1601,0.1601,0.1069,0.1069,0.0472,0.0472],
4080
+ Tvalues = [ -.1252,.1252,-.3678,.3678,-.5873,.5873,-.7699,.7699,-.9041,.9041,-.9816,.9816 ],
4081
+ Cvalues = [ 0.2491,0.2491,0.2335,0.2335,0.2032,0.2032,0.1601,0.1601,0.1069,0.1069,0.0472,0.0472 ],
4093
4082
  sum = 0;
4094
4083
 
4095
4084
  for (var i = 0; i < n; i++) {
@@ -4159,8 +4148,8 @@
4159
4148
 
4160
4149
  // As an optimization, lines will have only 1 segment
4161
4150
 
4162
- var l1 = bezlen.apply(0, bez1),
4163
- l2 = bezlen.apply(0, bez2),
4151
+ var l1 = bezlen(...bez1),
4152
+ l2 = bezlen(...bez2),
4164
4153
  n1 = isLine(bez1) ? 1 : ~~(l1 / 5) || 1,
4165
4154
  n2 = isLine(bez2) ? 1 : ~~(l2 / 5) || 1,
4166
4155
  dots1 = [],
@@ -4169,12 +4158,12 @@
4169
4158
  res = justCount ? 0 : [];
4170
4159
 
4171
4160
  for (var i = 0; i < n1 + 1; i++) {
4172
- var p = findDotsAtSegment.apply(0, bez1.concat(i / n1));
4161
+ var p = findDotsAtSegment(...bez1, i / n1);
4173
4162
  dots1.push({ x: p.x, y: p.y, t: i / n1 });
4174
4163
  }
4175
4164
 
4176
4165
  for (i = 0; i < n2 + 1; i++) {
4177
- p = findDotsAtSegment.apply(0, bez2.concat(i / n2));
4166
+ p = findDotsAtSegment(...bez2, i / n2);
4178
4167
  dots2.push({ x: p.x, y: p.y, t: i / n2 });
4179
4168
  }
4180
4169
 
@@ -4269,11 +4258,11 @@
4269
4258
  } else {
4270
4259
 
4271
4260
  if (pi[0] == 'C') {
4272
- bez1 = [x1, y1].concat(pi.slice(1));
4261
+ bez1 = [ x1, y1, ...pi.slice(1) ];
4273
4262
  x1 = bez1[6];
4274
4263
  y1 = bez1[7];
4275
4264
  } else {
4276
- bez1 = [x1, y1, x1, y1, x1m, y1m, x1m, y1m];
4265
+ bez1 = [ x1, y1, x1, y1, x1m, y1m, x1m, y1m ];
4277
4266
  x1 = x1m;
4278
4267
  y1 = y1m;
4279
4268
  }
@@ -4287,11 +4276,11 @@
4287
4276
  } else {
4288
4277
 
4289
4278
  if (pj[0] == 'C') {
4290
- bez2 = [x2, y2].concat(pj.slice(1));
4279
+ bez2 = [ x2, y2, ...pj.slice(1) ];
4291
4280
  x2 = bez2[6];
4292
4281
  y2 = bez2[7];
4293
4282
  } else {
4294
- bez2 = [x2, y2, x2, y2, x2m, y2m, x2m, y2m];
4283
+ bez2 = [ x2, y2, x2, y2, x2m, y2m, x2m, y2m ];
4295
4284
  x2 = x2m;
4296
4285
  y2 = y2m;
4297
4286
  }
@@ -4332,7 +4321,7 @@
4332
4321
  }
4333
4322
 
4334
4323
  if (!pathArray || !pathArray.length) {
4335
- return [['M', 0, 0]];
4324
+ return [ [ 'M', 0, 0 ] ];
4336
4325
  }
4337
4326
 
4338
4327
  var res = [],
@@ -4349,7 +4338,7 @@
4349
4338
  mx = x;
4350
4339
  my = y;
4351
4340
  start++;
4352
- res[0] = ['M', x, y];
4341
+ res[0] = [ 'M', x, y ];
4353
4342
  }
4354
4343
 
4355
4344
  for (var r, pa, i = start, ii = pathArray.length; i < ii; i++) {
@@ -4518,7 +4507,7 @@
4518
4507
  f2 = f1 + _120 * (sweep_flag && f2 > f1 ? 1 : -1);
4519
4508
  x2 = cx + rx * math.cos(f2);
4520
4509
  y2 = cy + ry * math.sin(f2);
4521
- res = arcToCurve(x2, y2, rx, ry, angle, 0, sweep_flag, x2old, y2old, [f2, f2old, cx, cy]);
4510
+ res = arcToCurve(x2, y2, rx, ry, angle, 0, sweep_flag, x2old, y2old, [ f2, f2old, cx, cy ]);
4522
4511
  }
4523
4512
 
4524
4513
  df = f2 - f1;
@@ -4530,18 +4519,18 @@
4530
4519
  t = math.tan(df / 4),
4531
4520
  hx = 4 / 3 * rx * t,
4532
4521
  hy = 4 / 3 * ry * t,
4533
- m1 = [x1, y1],
4534
- m2 = [x1 + hx * s1, y1 - hy * c1],
4535
- m3 = [x2 + hx * s2, y2 - hy * c2],
4536
- m4 = [x2, y2];
4522
+ m1 = [ x1, y1 ],
4523
+ m2 = [ x1 + hx * s1, y1 - hy * c1 ],
4524
+ m3 = [ x2 + hx * s2, y2 - hy * c2 ],
4525
+ m4 = [ x2, y2 ];
4537
4526
 
4538
4527
  m2[0] = 2 * m1[0] - m2[0];
4539
4528
  m2[1] = 2 * m1[1] - m2[1];
4540
4529
 
4541
4530
  if (recursive) {
4542
- return [m2, m3, m4].concat(res);
4531
+ return [ m2, m3, m4 ].concat(res);
4543
4532
  } else {
4544
- res = [m2, m3, m4].concat(res).join().split(',');
4533
+ res = [ m2, m3, m4 ].concat(res).join().split(',');
4545
4534
  var newres = [];
4546
4535
 
4547
4536
  for (var i = 0, ii = res.length; i < ii; i++) {
@@ -4558,7 +4547,7 @@
4558
4547
  // Modifications: https://github.com/timo22345
4559
4548
  function curveBBox(x0, y0, x1, y1, x2, y2, x3, y3) {
4560
4549
  var tvalues = [],
4561
- bounds = [[], []],
4550
+ bounds = [ [], [] ],
4562
4551
  a, b, c, t, t1, t2, b2ac, sqrtb2ac;
4563
4552
 
4564
4553
  for (var i = 0; i < 2; ++i) {
@@ -4626,10 +4615,10 @@
4626
4615
  bounds[0].length = bounds[1].length = jlen + 2;
4627
4616
 
4628
4617
  return {
4629
- x0: mmin.apply(0, bounds[0]),
4630
- y0: mmin.apply(0, bounds[1]),
4631
- x1: mmax.apply(0, bounds[0]),
4632
- y1: mmax.apply(0, bounds[1])
4618
+ x0: mmin(...bounds[0]),
4619
+ y0: mmin(...bounds[1]),
4620
+ x1: mmax(...bounds[0]),
4621
+ y1: mmax(...bounds[1])
4633
4622
  };
4634
4623
  }
4635
4624
 
@@ -4648,7 +4637,7 @@
4648
4637
  var nx, ny;
4649
4638
 
4650
4639
  if (!path) {
4651
- return ['C', d.x, d.y, d.x, d.y, d.x, d.y];
4640
+ return [ 'C', d.x, d.y, d.x, d.y, d.x, d.y ];
4652
4641
  }
4653
4642
 
4654
4643
  !(path[0] in { T: 1, Q: 1 }) && (d.qx = d.qy = null);
@@ -4659,7 +4648,7 @@
4659
4648
  d.Y = path[2];
4660
4649
  break;
4661
4650
  case 'A':
4662
- path = ['C'].concat(arcToCurve.apply(0, [d.x, d.y].concat(path.slice(1))));
4651
+ path = [ 'C', ...arcToCurve(d.x, d.y, ...path.slice(1)) ];
4663
4652
  break;
4664
4653
  case 'S':
4665
4654
  if (pathCommand == 'C' || pathCommand == 'S') {
@@ -4678,7 +4667,7 @@
4678
4667
  nx = d.x;
4679
4668
  ny = d.y;
4680
4669
  }
4681
- path = ['C', nx, ny].concat(path.slice(1));
4670
+ path = [ 'C', nx, ny, ...path.slice(1) ];
4682
4671
  break;
4683
4672
  case 'T':
4684
4673
  if (pathCommand == 'Q' || pathCommand == 'T') {
@@ -4697,24 +4686,24 @@
4697
4686
  d.qx = d.x;
4698
4687
  d.qy = d.y;
4699
4688
  }
4700
- path = ['C'].concat(qubicToCurve(d.x, d.y, d.qx, d.qy, path[1], path[2]));
4689
+ path = [ 'C', ...qubicToCurve(d.x, d.y, d.qx, d.qy, path[1], path[2]) ];
4701
4690
  break;
4702
4691
  case 'Q':
4703
4692
  d.qx = path[1];
4704
4693
  d.qy = path[2];
4705
- path = ['C'].concat(qubicToCurve(d.x, d.y, path[1], path[2], path[3], path[4]));
4694
+ path = [ 'C', ...qubicToCurve(d.x, d.y, path[1], path[2], path[3], path[4]) ];
4706
4695
  break;
4707
4696
  case 'L':
4708
- path = ['C'].concat(lineToCurve(d.x, d.y, path[1], path[2]));
4697
+ path = [ 'C', ...lineToCurve(d.x, d.y, path[1], path[2]) ];
4709
4698
  break;
4710
4699
  case 'H':
4711
- path = ['C'].concat(lineToCurve(d.x, d.y, path[1], d.y));
4700
+ path = [ 'C', ...lineToCurve(d.x, d.y, path[1], d.y) ];
4712
4701
  break;
4713
4702
  case 'V':
4714
- path = ['C'].concat(lineToCurve(d.x, d.y, d.x, path[1]));
4703
+ path = [ 'C', ...lineToCurve(d.x, d.y, d.x, path[1]) ];
4715
4704
  break;
4716
4705
  case 'Z':
4717
- path = ['C'].concat(lineToCurve(d.x, d.y, d.X, d.Y));
4706
+ path = [ 'C', ...lineToCurve(d.x, d.y, d.X, d.Y) ];
4718
4707
  break;
4719
4708
  }
4720
4709
 
@@ -4729,7 +4718,7 @@
4729
4718
 
4730
4719
  while (pi.length) {
4731
4720
  pathCommands[i] = 'A'; // if created multiple C:s, their original seg is saved
4732
- pp.splice(i++, 0, ['C'].concat(pi.splice(0, 6)));
4721
+ pp.splice(i++, 0, [ 'C', ...pi.splice(0, 6) ]);
4733
4722
  }
4734
4723
 
4735
4724
  pp.splice(i, 1);
@@ -4772,10 +4761,6 @@
4772
4761
  return curvedPath;
4773
4762
  }
4774
4763
 
4775
- var intersect = findPathIntersections;
4776
-
4777
- var intersectPaths = /*@__PURE__*/getDefaultExportFromCjs(intersect);
4778
-
4779
4764
  /**
4780
4765
  * Checks whether a value is an instance of Connection.
4781
4766
  *
@@ -5053,7 +5038,7 @@
5053
5038
 
5054
5039
 
5055
5040
  function getIntersections(a, b) {
5056
- return intersectPaths(a, b);
5041
+ return findPathIntersections(a, b);
5057
5042
  }
5058
5043
 
5059
5044
 
@@ -6840,6 +6825,37 @@
6840
6825
  }
6841
6826
  };
6842
6827
 
6828
+ var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
6829
+
6830
+ function getDefaultExportFromCjs (x) {
6831
+ return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
6832
+ }
6833
+
6834
+ function getAugmentedNamespace(n) {
6835
+ if (n.__esModule) return n;
6836
+ var f = n.default;
6837
+ if (typeof f == "function") {
6838
+ var a = function a () {
6839
+ if (this instanceof a) {
6840
+ return Reflect.construct(f, arguments, this.constructor);
6841
+ }
6842
+ return f.apply(this, arguments);
6843
+ };
6844
+ a.prototype = f.prototype;
6845
+ } else a = {};
6846
+ Object.defineProperty(a, '__esModule', {value: true});
6847
+ Object.keys(n).forEach(function (k) {
6848
+ var d = Object.getOwnPropertyDescriptor(n, k);
6849
+ Object.defineProperty(a, k, d.get ? d : {
6850
+ enumerable: true,
6851
+ get: function () {
6852
+ return n[k];
6853
+ }
6854
+ });
6855
+ });
6856
+ return a;
6857
+ }
6858
+
6843
6859
  var objectRefs = {exports: {}};
6844
6860
 
6845
6861
  var collection = {};
@@ -17966,6 +17982,26 @@
17966
17982
  return true;
17967
17983
  }
17968
17984
 
17985
+ /**
17986
+ * @param {Element} element
17987
+ *
17988
+ * @return {boolean}
17989
+ */
17990
+ function isHorizontal$4(element) {
17991
+
17992
+ if (!is$6(element, 'bpmn:Participant') && !is$6(element, 'bpmn:Lane')) {
17993
+ return undefined;
17994
+ }
17995
+
17996
+ var isHorizontal = getDi$1(element).isHorizontal;
17997
+
17998
+ if (isHorizontal === undefined) {
17999
+ return true;
18000
+ }
18001
+
18002
+ return isHorizontal;
18003
+ }
18004
+
17969
18005
  /**
17970
18006
  * @param {Element} element
17971
18007
  *
@@ -19504,10 +19540,12 @@
19504
19540
  }
19505
19541
 
19506
19542
  function renderLaneLabel(parentGfx, text, element, attrs = {}) {
19543
+ var isHorizontalLane = isHorizontal$4(element);
19544
+
19507
19545
  var textBox = renderLabel(parentGfx, text, {
19508
19546
  box: {
19509
19547
  height: 30,
19510
- width: getHeight(element, attrs),
19548
+ width: isHorizontalLane ? getHeight(element, attrs) : getWidth(element, attrs),
19511
19549
  },
19512
19550
  align: 'center-middle',
19513
19551
  style: {
@@ -19515,9 +19553,10 @@
19515
19553
  }
19516
19554
  });
19517
19555
 
19518
- var top = -1 * getHeight(element, attrs);
19519
-
19520
- transform(textBox, 0, -top, 270);
19556
+ if (isHorizontalLane) {
19557
+ var top = -1 * getHeight(element, attrs);
19558
+ transform(textBox, 0, -top, 270);
19559
+ }
19521
19560
  }
19522
19561
 
19523
19562
  function renderActivity(parentGfx, element, attrs = {}) {
@@ -20235,12 +20274,13 @@
20235
20274
  var participant = renderLane(parentGfx, element, attrs);
20236
20275
 
20237
20276
  var expandedParticipant = isExpanded$1(element);
20277
+ var horizontalParticipant = isHorizontal$4(element);
20238
20278
 
20239
20279
  var semantic = getBusinessObject$2(element),
20240
20280
  name = semantic.get('name');
20241
20281
 
20242
20282
  if (expandedParticipant) {
20243
- drawLine(parentGfx, [
20283
+ var waypoints = horizontalParticipant ? [
20244
20284
  {
20245
20285
  x: 30,
20246
20286
  y: 0
@@ -20249,20 +20289,43 @@
20249
20289
  x: 30,
20250
20290
  y: getHeight(element, attrs)
20251
20291
  }
20252
- ], {
20292
+ ] : [
20293
+ {
20294
+ x: 0,
20295
+ y: 30
20296
+ },
20297
+ {
20298
+ x: getWidth(element, attrs),
20299
+ y: 30
20300
+ }
20301
+ ];
20302
+
20303
+ drawLine(parentGfx, waypoints, {
20253
20304
  stroke: getStrokeColor$1(element, defaultStrokeColor, attrs.stroke),
20254
20305
  strokeWidth: PARTICIPANT_STROKE_WIDTH
20255
20306
  });
20256
20307
 
20257
20308
  renderLaneLabel(parentGfx, name, element, attrs);
20258
20309
  } else {
20259
- renderLabel(parentGfx, name, {
20260
- box: getBounds$1(element, attrs),
20310
+ var bounds = getBounds$1(element, attrs);
20311
+
20312
+ if (!horizontalParticipant) {
20313
+ bounds.height = getWidth(element, attrs);
20314
+ bounds.width = getHeight(element, attrs);
20315
+ }
20316
+
20317
+ var textBox = renderLabel(parentGfx, name, {
20318
+ box: bounds,
20261
20319
  align: 'center-middle',
20262
20320
  style: {
20263
20321
  fill: getLabelColor(element, defaultLabelColor, defaultStrokeColor, attrs.stroke)
20264
20322
  }
20265
20323
  });
20324
+
20325
+ if (!horizontalParticipant) {
20326
+ var top = -1 * getHeight(element, attrs);
20327
+ transform(textBox, 0, -top, 270);
20328
+ }
20266
20329
  }
20267
20330
 
20268
20331
  if (semantic.get('participantMultiplicity')) {
@@ -30579,6 +30642,10 @@
30579
30642
  return (entry.rank || 0) >= 0;
30580
30643
  }
30581
30644
 
30645
+ if (entry.searchable === false) {
30646
+ return false;
30647
+ }
30648
+
30582
30649
  const search = [
30583
30650
  entry.description || '',
30584
30651
  entry.label || '',
@@ -32860,7 +32927,7 @@
32860
32927
  * @typedef {import('../../core/EventBus').default} EventBus
32861
32928
  */
32862
32929
 
32863
- var HIGH_PRIORITY$q = 1500;
32930
+ var HIGH_PRIORITY$r = 1500;
32864
32931
 
32865
32932
 
32866
32933
  /**
@@ -32928,7 +32995,7 @@
32928
32995
  */
32929
32996
  eventBus.on('drag.start', function(event) {
32930
32997
 
32931
- eventBus.once('drag.move', HIGH_PRIORITY$q, function(event) {
32998
+ eventBus.once('drag.move', HIGH_PRIORITY$r, function(event) {
32932
32999
 
32933
33000
  ensureHover(event);
32934
33001
 
@@ -32959,7 +33026,7 @@
32959
33026
  hover = event.element;
32960
33027
  });
32961
33028
 
32962
- eventBus.on('element.hover', HIGH_PRIORITY$q, function(event) {
33029
+ eventBus.on('element.hover', HIGH_PRIORITY$r, function(event) {
32963
33030
 
32964
33031
  // (3) am I on an element still?
32965
33032
  if (hover) {
@@ -33876,7 +33943,7 @@
33876
33943
  */
33877
33944
  function getPathIntersection(waypoints, reference) {
33878
33945
 
33879
- var intersections = intersectPaths(circlePath(reference, INTERSECTION_THRESHOLD$1), linePath(waypoints));
33946
+ var intersections = findPathIntersections(circlePath(reference, INTERSECTION_THRESHOLD$1), linePath(waypoints));
33880
33947
 
33881
33948
  var a = intersections[0],
33882
33949
  b = intersections[intersections.length - 1],
@@ -34911,7 +34978,7 @@
34911
34978
  MARKER_CONNECT_UPDATING$1 = 'djs-updating',
34912
34979
  MARKER_DRAGGER = 'djs-dragging';
34913
34980
 
34914
- var HIGH_PRIORITY$p = 1100;
34981
+ var HIGH_PRIORITY$q = 1100;
34915
34982
 
34916
34983
  /**
34917
34984
  * Preview connection while moving bendpoints.
@@ -34979,7 +35046,7 @@
34979
35046
  eventBus.on([
34980
35047
  'bendpoint.move.out',
34981
35048
  'bendpoint.move.cleanup'
34982
- ], HIGH_PRIORITY$p, function(event) {
35049
+ ], HIGH_PRIORITY$q, function(event) {
34983
35050
  var context = event.context,
34984
35051
  hover = context.hover,
34985
35052
  target = context.target;
@@ -35065,7 +35132,7 @@
35065
35132
  eventBus.on([
35066
35133
  'bendpoint.move.end',
35067
35134
  'bendpoint.move.cancel'
35068
- ], HIGH_PRIORITY$p, function(event) {
35135
+ ], HIGH_PRIORITY$q, function(event) {
35069
35136
  var context = event.context,
35070
35137
  connection = context.connection,
35071
35138
  draggerGfx = context.draggerGfx,
@@ -36081,7 +36148,7 @@
36081
36148
  * @typedef {import('../../core/EventBus').default} EventBus
36082
36149
  */
36083
36150
 
36084
- var HIGH_PRIORITY$o = 1100,
36151
+ var HIGH_PRIORITY$p = 1100,
36085
36152
  LOW_PRIORITY$m = 900;
36086
36153
 
36087
36154
  var MARKER_OK$3 = 'connect-ok',
@@ -36142,7 +36209,7 @@
36142
36209
  eventBus.on([
36143
36210
  'connect.out',
36144
36211
  'connect.cleanup'
36145
- ], HIGH_PRIORITY$o, function(event) {
36212
+ ], HIGH_PRIORITY$p, function(event) {
36146
36213
  var hover = event.hover;
36147
36214
 
36148
36215
  if (hover) {
@@ -37468,7 +37535,7 @@
37468
37535
 
37469
37536
  var PARTICIPANT_BORDER_WIDTH = 30;
37470
37537
 
37471
- var HIGH_PRIORITY$n = 2000;
37538
+ var HIGH_PRIORITY$o = 2000;
37472
37539
 
37473
37540
 
37474
37541
  /**
@@ -37485,7 +37552,7 @@
37485
37552
  eventBus.on([
37486
37553
  'create.start',
37487
37554
  'shape.move.start'
37488
- ], HIGH_PRIORITY$n, function(event) {
37555
+ ], HIGH_PRIORITY$o, function(event) {
37489
37556
  var context = event.context,
37490
37557
  shape = context.shape,
37491
37558
  rootElement = canvas.getRootElement();
@@ -37520,7 +37587,7 @@
37520
37587
  });
37521
37588
 
37522
37589
  // force hovering process when creating first participant
37523
- eventBus.on('create.start', HIGH_PRIORITY$n, function(event) {
37590
+ eventBus.on('create.start', HIGH_PRIORITY$o, function(event) {
37524
37591
  var context = event.context,
37525
37592
  shape = context.shape,
37526
37593
  rootElement = canvas.getRootElement(),
@@ -37532,7 +37599,7 @@
37532
37599
  }
37533
37600
 
37534
37601
  if (is$6(shape, 'bpmn:Participant') && is$6(rootElement, 'bpmn:Process')) {
37535
- eventBus.on('element.hover', HIGH_PRIORITY$n, ensureHoveringProcess);
37602
+ eventBus.on('element.hover', HIGH_PRIORITY$o, ensureHoveringProcess);
37536
37603
 
37537
37604
  eventBus.once('create.cleanup', function() {
37538
37605
  eventBus.off('element.hover', ensureHoveringProcess);
@@ -37553,7 +37620,7 @@
37553
37620
 
37554
37621
  // when creating mutliple elements through `elements.create` parent must be set to collaboration
37555
37622
  // and passed to `shape.create` as hint
37556
- this.preExecute('elements.create', HIGH_PRIORITY$n, function(context) {
37623
+ this.preExecute('elements.create', HIGH_PRIORITY$o, function(context) {
37557
37624
  var elements = context.elements,
37558
37625
  parent = context.parent,
37559
37626
  participant = findParticipant(elements),
@@ -38975,7 +39042,7 @@
38975
39042
  * @typedef {import('diagram-js/lib/core/Canvas').default} Canvas
38976
39043
  */
38977
39044
 
38978
- var HIGH_PRIORITY$m = 1500;
39045
+ var HIGH_PRIORITY$n = 1500;
38979
39046
  var HIGHEST_PRIORITY = 2000;
38980
39047
 
38981
39048
 
@@ -38997,7 +39064,7 @@
38997
39064
  'shape.move.move',
38998
39065
  'shape.move.out',
38999
39066
  'shape.move.end'
39000
- ], HIGH_PRIORITY$m, function(event) {
39067
+ ], HIGH_PRIORITY$n, function(event) {
39001
39068
  var context = event.context,
39002
39069
  shape = context.shape || event.shape,
39003
39070
  hover = event.hover;
@@ -39028,7 +39095,7 @@
39028
39095
  'global-connect.out',
39029
39096
  'global-connect.end',
39030
39097
  'global-connect.cleanup'
39031
- ], HIGH_PRIORITY$m, function(event) {
39098
+ ], HIGH_PRIORITY$n, function(event) {
39032
39099
  var hover = event.hover;
39033
39100
 
39034
39101
  // ensure connections start/end on bpmn:Participant,
@@ -39042,7 +39109,7 @@
39042
39109
 
39043
39110
  eventBus.on([
39044
39111
  'bendpoint.move.hover'
39045
- ], HIGH_PRIORITY$m, function(event) {
39112
+ ], HIGH_PRIORITY$n, function(event) {
39046
39113
  var context = event.context,
39047
39114
  hover = event.hover,
39048
39115
  type = context.type;
@@ -39058,7 +39125,7 @@
39058
39125
 
39059
39126
  eventBus.on([
39060
39127
  'connect.start'
39061
- ], HIGH_PRIORITY$m, function(event) {
39128
+ ], HIGH_PRIORITY$n, function(event) {
39062
39129
  var context = event.context,
39063
39130
  start = context.start;
39064
39131
 
@@ -39641,10 +39708,15 @@
39641
39708
  bo = getBusinessObject$2(shape),
39642
39709
  di = getDi$1(shape);
39643
39710
 
39644
- if (isAny$1(bo, elementTypesToUpdate) && !di.get('isHorizontal')) {
39711
+ if (isAny$1(bo, elementTypesToUpdate)) {
39712
+ var isHorizontal = di.get('isHorizontal');
39713
+
39714
+ if (isHorizontal === undefined) {
39715
+ isHorizontal = true;
39716
+ }
39645
39717
 
39646
39718
  // set attribute directly to avoid modeling#updateProperty side effects
39647
- di.set('isHorizontal', true);
39719
+ di.set('isHorizontal', isHorizontal);
39648
39720
  }
39649
39721
  });
39650
39722
 
@@ -41508,7 +41580,7 @@
41508
41580
  'selection'
41509
41581
  ];
41510
41582
 
41511
- var HIGH_PRIORITY$l = 1500;
41583
+ var HIGH_PRIORITY$m = 1500;
41512
41584
 
41513
41585
  /**
41514
41586
  * @typedef {import('diagram-js/lib/core/EventBus').default} EventBus
@@ -41551,7 +41623,7 @@
41551
41623
  * @param {EventBus} eventBus
41552
41624
  */
41553
41625
  function ResizeBehavior$1(eventBus) {
41554
- eventBus.on('resize.start', HIGH_PRIORITY$l, function(event) {
41626
+ eventBus.on('resize.start', HIGH_PRIORITY$m, function(event) {
41555
41627
  var context = event.context,
41556
41628
  shape = context.shape,
41557
41629
  direction = context.direction,
@@ -42094,7 +42166,7 @@
42094
42166
  */
42095
42167
 
42096
42168
  var LOW_PRIORITY$h = 400;
42097
- var HIGH_PRIORITY$k = 600;
42169
+ var HIGH_PRIORITY$l = 600;
42098
42170
 
42099
42171
  var DEFAULT_POSITION = {
42100
42172
  x: 180,
@@ -42381,7 +42453,7 @@
42381
42453
  }, true);
42382
42454
 
42383
42455
  // move elements between planes
42384
- this.postExecuted('shape.toggleCollapse', HIGH_PRIORITY$k, function(context) {
42456
+ this.postExecuted('shape.toggleCollapse', HIGH_PRIORITY$l, function(context) {
42385
42457
  var shape = context.shape;
42386
42458
 
42387
42459
  if (!is$6(shape, 'bpmn:SubProcess')) {
@@ -43029,7 +43101,7 @@
43029
43101
  */
43030
43102
 
43031
43103
  var LOW_PRIORITY$f = 500,
43032
- HIGH_PRIORITY$j = 5000;
43104
+ HIGH_PRIORITY$k = 5000;
43033
43105
 
43034
43106
 
43035
43107
  /**
@@ -43103,7 +43175,7 @@
43103
43175
 
43104
43176
  // listen to a lot of stuff to group lane updates
43105
43177
 
43106
- this.preExecute(laneRefUpdateEvents, HIGH_PRIORITY$j, function(event) {
43178
+ this.preExecute(laneRefUpdateEvents, HIGH_PRIORITY$k, function(event) {
43107
43179
  initContext();
43108
43180
  });
43109
43181
 
@@ -44431,7 +44503,7 @@
44431
44503
  * @typedef {import('diagram-js/lib/core/Canvas').default} Canvas
44432
44504
  */
44433
44505
 
44434
- var HIGH_PRIORITY$i = 2000;
44506
+ var HIGH_PRIORITY$j = 2000;
44435
44507
 
44436
44508
  /**
44437
44509
  * @param {EventBus} eventBus
@@ -44439,7 +44511,7 @@
44439
44511
  */
44440
44512
  function BpmnDiOrdering(eventBus, canvas) {
44441
44513
 
44442
- eventBus.on('saveXML.start', HIGH_PRIORITY$i, orderDi);
44514
+ eventBus.on('saveXML.start', HIGH_PRIORITY$j, orderDi);
44443
44515
 
44444
44516
  function orderDi() {
44445
44517
  var rootElements = canvas.getRootElements();
@@ -44806,7 +44878,7 @@
44806
44878
 
44807
44879
  var PREFIX = 'create';
44808
44880
 
44809
- var HIGH_PRIORITY$h = 2000;
44881
+ var HIGH_PRIORITY$i = 2000;
44810
44882
 
44811
44883
 
44812
44884
  /**
@@ -45034,7 +45106,7 @@
45034
45106
  eventBus.on('create.init', function() {
45035
45107
  eventBus.on('elements.changed', cancel);
45036
45108
 
45037
- eventBus.once([ 'create.cancel', 'create.end' ], HIGH_PRIORITY$h, function() {
45109
+ eventBus.once([ 'create.cancel', 'create.end' ], HIGH_PRIORITY$i, function() {
45038
45110
  eventBus.off('elements.changed', cancel);
45039
45111
  });
45040
45112
  });
@@ -47174,7 +47246,7 @@
47174
47246
  e: 'right'
47175
47247
  };
47176
47248
 
47177
- var HIGH_PRIORITY$g = 1500;
47249
+ var HIGH_PRIORITY$h = 1500;
47178
47250
 
47179
47251
  var DIRECTION_TO_OPPOSITE = {
47180
47252
  n: 's',
@@ -47223,7 +47295,7 @@
47223
47295
  });
47224
47296
  });
47225
47297
 
47226
- eventBus.on('spaceTool.move', HIGH_PRIORITY$g , function(event) {
47298
+ eventBus.on('spaceTool.move', HIGH_PRIORITY$h , function(event) {
47227
47299
  var context = event.context,
47228
47300
  initialized = context.initialized;
47229
47301
 
@@ -48712,7 +48784,7 @@
48712
48784
  }
48713
48785
 
48714
48786
  var LOW_PRIORITY$a = 250,
48715
- HIGH_PRIORITY$f = 1400;
48787
+ HIGH_PRIORITY$g = 1400;
48716
48788
 
48717
48789
  /**
48718
48790
  * @typedef {import('../../model/Types').Element} Element
@@ -48739,7 +48811,7 @@
48739
48811
 
48740
48812
  // remove labels from the collection that are being
48741
48813
  // moved with other elements anyway
48742
- eventBus.on('shape.move.start', HIGH_PRIORITY$f, function(e) {
48814
+ eventBus.on('shape.move.start', HIGH_PRIORITY$g, function(e) {
48743
48815
 
48744
48816
  var context = e.context,
48745
48817
  shapes = context.shapes,
@@ -48778,7 +48850,7 @@
48778
48850
  });
48779
48851
 
48780
48852
  // add all labels to move closure
48781
- this.preExecuted('elements.move', HIGH_PRIORITY$f, function(e) {
48853
+ this.preExecuted('elements.move', HIGH_PRIORITY$g, function(e) {
48782
48854
  var context = e.context,
48783
48855
  closure = context.closure,
48784
48856
  enclosedElements = closure.enclosedElements;
@@ -48894,7 +48966,7 @@
48894
48966
  */
48895
48967
 
48896
48968
  var LOW_PRIORITY$9 = 251,
48897
- HIGH_PRIORITY$e = 1401;
48969
+ HIGH_PRIORITY$f = 1401;
48898
48970
 
48899
48971
  var MARKER_ATTACH$1 = 'attach-ok';
48900
48972
 
@@ -48923,7 +48995,7 @@
48923
48995
 
48924
48996
  // remove all the attached elements from the shapes to be validated
48925
48997
  // add all the attached shapes to the overall list of moved shapes
48926
- eventBus.on('shape.move.start', HIGH_PRIORITY$e, function(e) {
48998
+ eventBus.on('shape.move.start', HIGH_PRIORITY$f, function(e) {
48927
48999
 
48928
49000
  var context = e.context,
48929
49001
  shapes = context.shapes,
@@ -48976,7 +49048,7 @@
48976
49048
  });
48977
49049
 
48978
49050
  // add all attachers to move closure
48979
- this.preExecuted('elements.move', HIGH_PRIORITY$e, function(e) {
49051
+ this.preExecuted('elements.move', HIGH_PRIORITY$f, function(e) {
48980
49052
  var context = e.context,
48981
49053
  closure = context.closure,
48982
49054
  shapes = context.shapes,
@@ -57035,7 +57107,7 @@
57035
57107
  */
57036
57108
  var START_EVENT$1 = [
57037
57109
  {
57038
- label: 'Start Event',
57110
+ label: 'Start event',
57039
57111
  actionName: 'replace-with-none-start',
57040
57112
  className: 'bpmn-icon-start-event-none',
57041
57113
  target: {
@@ -57043,7 +57115,7 @@
57043
57115
  }
57044
57116
  },
57045
57117
  {
57046
- label: 'Intermediate Throw Event',
57118
+ label: 'Intermediate throw event',
57047
57119
  actionName: 'replace-with-none-intermediate-throwing',
57048
57120
  className: 'bpmn-icon-intermediate-event-none',
57049
57121
  target: {
@@ -57051,7 +57123,7 @@
57051
57123
  }
57052
57124
  },
57053
57125
  {
57054
- label: 'End Event',
57126
+ label: 'End event',
57055
57127
  actionName: 'replace-with-none-end',
57056
57128
  className: 'bpmn-icon-end-event-none',
57057
57129
  target: {
@@ -57059,7 +57131,7 @@
57059
57131
  }
57060
57132
  },
57061
57133
  {
57062
- label: 'Message Start Event',
57134
+ label: 'Message start event',
57063
57135
  actionName: 'replace-with-message-start',
57064
57136
  className: 'bpmn-icon-start-event-message',
57065
57137
  target: {
@@ -57068,7 +57140,7 @@
57068
57140
  }
57069
57141
  },
57070
57142
  {
57071
- label: 'Timer Start Event',
57143
+ label: 'Timer start event',
57072
57144
  actionName: 'replace-with-timer-start',
57073
57145
  className: 'bpmn-icon-start-event-timer',
57074
57146
  target: {
@@ -57077,7 +57149,7 @@
57077
57149
  }
57078
57150
  },
57079
57151
  {
57080
- label: 'Conditional Start Event',
57152
+ label: 'Conditional start event',
57081
57153
  actionName: 'replace-with-conditional-start',
57082
57154
  className: 'bpmn-icon-start-event-condition',
57083
57155
  target: {
@@ -57086,7 +57158,7 @@
57086
57158
  }
57087
57159
  },
57088
57160
  {
57089
- label: 'Signal Start Event',
57161
+ label: 'Signal start event',
57090
57162
  actionName: 'replace-with-signal-start',
57091
57163
  className: 'bpmn-icon-start-event-signal',
57092
57164
  target: {
@@ -57101,7 +57173,7 @@
57101
57173
  */
57102
57174
  var START_EVENT_SUB_PROCESS$1 = [
57103
57175
  {
57104
- label: 'Start Event',
57176
+ label: 'Start event',
57105
57177
  actionName: 'replace-with-none-start',
57106
57178
  className: 'bpmn-icon-start-event-none',
57107
57179
  target: {
@@ -57109,7 +57181,7 @@
57109
57181
  }
57110
57182
  },
57111
57183
  {
57112
- label: 'Intermediate Throw Event',
57184
+ label: 'Intermediate throw event',
57113
57185
  actionName: 'replace-with-none-intermediate-throwing',
57114
57186
  className: 'bpmn-icon-intermediate-event-none',
57115
57187
  target: {
@@ -57117,7 +57189,7 @@
57117
57189
  }
57118
57190
  },
57119
57191
  {
57120
- label: 'End Event',
57192
+ label: 'End event',
57121
57193
  actionName: 'replace-with-none-end',
57122
57194
  className: 'bpmn-icon-end-event-none',
57123
57195
  target: {
@@ -57131,7 +57203,7 @@
57131
57203
  */
57132
57204
  var INTERMEDIATE_EVENT$1 = [
57133
57205
  {
57134
- label: 'Start Event',
57206
+ label: 'Start event',
57135
57207
  actionName: 'replace-with-none-start',
57136
57208
  className: 'bpmn-icon-start-event-none',
57137
57209
  target: {
@@ -57139,7 +57211,7 @@
57139
57211
  }
57140
57212
  },
57141
57213
  {
57142
- label: 'Intermediate Throw Event',
57214
+ label: 'Intermediate throw event',
57143
57215
  actionName: 'replace-with-none-intermediate-throw',
57144
57216
  className: 'bpmn-icon-intermediate-event-none',
57145
57217
  target: {
@@ -57147,7 +57219,7 @@
57147
57219
  }
57148
57220
  },
57149
57221
  {
57150
- label: 'End Event',
57222
+ label: 'End event',
57151
57223
  actionName: 'replace-with-none-end',
57152
57224
  className: 'bpmn-icon-end-event-none',
57153
57225
  target: {
@@ -57155,7 +57227,7 @@
57155
57227
  }
57156
57228
  },
57157
57229
  {
57158
- label: 'Message Intermediate Catch Event',
57230
+ label: 'Message intermediate catch event',
57159
57231
  actionName: 'replace-with-message-intermediate-catch',
57160
57232
  className: 'bpmn-icon-intermediate-event-catch-message',
57161
57233
  target: {
@@ -57164,7 +57236,7 @@
57164
57236
  }
57165
57237
  },
57166
57238
  {
57167
- label: 'Message Intermediate Throw Event',
57239
+ label: 'Message intermediate throw event',
57168
57240
  actionName: 'replace-with-message-intermediate-throw',
57169
57241
  className: 'bpmn-icon-intermediate-event-throw-message',
57170
57242
  target: {
@@ -57173,7 +57245,7 @@
57173
57245
  }
57174
57246
  },
57175
57247
  {
57176
- label: 'Timer Intermediate Catch Event',
57248
+ label: 'Timer intermediate catch event',
57177
57249
  actionName: 'replace-with-timer-intermediate-catch',
57178
57250
  className: 'bpmn-icon-intermediate-event-catch-timer',
57179
57251
  target: {
@@ -57182,7 +57254,7 @@
57182
57254
  }
57183
57255
  },
57184
57256
  {
57185
- label: 'Escalation Intermediate Throw Event',
57257
+ label: 'Escalation intermediate throw event',
57186
57258
  actionName: 'replace-with-escalation-intermediate-throw',
57187
57259
  className: 'bpmn-icon-intermediate-event-throw-escalation',
57188
57260
  target: {
@@ -57191,7 +57263,7 @@
57191
57263
  }
57192
57264
  },
57193
57265
  {
57194
- label: 'Conditional Intermediate Catch Event',
57266
+ label: 'Conditional intermediate catch event',
57195
57267
  actionName: 'replace-with-conditional-intermediate-catch',
57196
57268
  className: 'bpmn-icon-intermediate-event-catch-condition',
57197
57269
  target: {
@@ -57200,7 +57272,7 @@
57200
57272
  }
57201
57273
  },
57202
57274
  {
57203
- label: 'Link Intermediate Catch Event',
57275
+ label: 'Link intermediate catch event',
57204
57276
  actionName: 'replace-with-link-intermediate-catch',
57205
57277
  className: 'bpmn-icon-intermediate-event-catch-link',
57206
57278
  target: {
@@ -57212,7 +57284,7 @@
57212
57284
  }
57213
57285
  },
57214
57286
  {
57215
- label: 'Link Intermediate Throw Event',
57287
+ label: 'Link intermediate throw event',
57216
57288
  actionName: 'replace-with-link-intermediate-throw',
57217
57289
  className: 'bpmn-icon-intermediate-event-throw-link',
57218
57290
  target: {
@@ -57224,7 +57296,7 @@
57224
57296
  }
57225
57297
  },
57226
57298
  {
57227
- label: 'Compensation Intermediate Throw Event',
57299
+ label: 'Compensation intermediate throw event',
57228
57300
  actionName: 'replace-with-compensation-intermediate-throw',
57229
57301
  className: 'bpmn-icon-intermediate-event-throw-compensation',
57230
57302
  target: {
@@ -57233,7 +57305,7 @@
57233
57305
  }
57234
57306
  },
57235
57307
  {
57236
- label: 'Signal Intermediate Catch Event',
57308
+ label: 'Signal intermediate catch event',
57237
57309
  actionName: 'replace-with-signal-intermediate-catch',
57238
57310
  className: 'bpmn-icon-intermediate-event-catch-signal',
57239
57311
  target: {
@@ -57242,7 +57314,7 @@
57242
57314
  }
57243
57315
  },
57244
57316
  {
57245
- label: 'Signal Intermediate Throw Event',
57317
+ label: 'Signal intermediate throw event',
57246
57318
  actionName: 'replace-with-signal-intermediate-throw',
57247
57319
  className: 'bpmn-icon-intermediate-event-throw-signal',
57248
57320
  target: {
@@ -57257,7 +57329,7 @@
57257
57329
  */
57258
57330
  var END_EVENT$1 = [
57259
57331
  {
57260
- label: 'Start Event',
57332
+ label: 'Start event',
57261
57333
  actionName: 'replace-with-none-start',
57262
57334
  className: 'bpmn-icon-start-event-none',
57263
57335
  target: {
@@ -57265,7 +57337,7 @@
57265
57337
  }
57266
57338
  },
57267
57339
  {
57268
- label: 'Intermediate Throw Event',
57340
+ label: 'Intermediate throw event',
57269
57341
  actionName: 'replace-with-none-intermediate-throw',
57270
57342
  className: 'bpmn-icon-intermediate-event-none',
57271
57343
  target: {
@@ -57273,7 +57345,7 @@
57273
57345
  }
57274
57346
  },
57275
57347
  {
57276
- label: 'End Event',
57348
+ label: 'End event',
57277
57349
  actionName: 'replace-with-none-end',
57278
57350
  className: 'bpmn-icon-end-event-none',
57279
57351
  target: {
@@ -57281,7 +57353,7 @@
57281
57353
  }
57282
57354
  },
57283
57355
  {
57284
- label: 'Message End Event',
57356
+ label: 'Message end event',
57285
57357
  actionName: 'replace-with-message-end',
57286
57358
  className: 'bpmn-icon-end-event-message',
57287
57359
  target: {
@@ -57290,7 +57362,7 @@
57290
57362
  }
57291
57363
  },
57292
57364
  {
57293
- label: 'Escalation End Event',
57365
+ label: 'Escalation end event',
57294
57366
  actionName: 'replace-with-escalation-end',
57295
57367
  className: 'bpmn-icon-end-event-escalation',
57296
57368
  target: {
@@ -57299,7 +57371,7 @@
57299
57371
  }
57300
57372
  },
57301
57373
  {
57302
- label: 'Error End Event',
57374
+ label: 'Error end event',
57303
57375
  actionName: 'replace-with-error-end',
57304
57376
  className: 'bpmn-icon-end-event-error',
57305
57377
  target: {
@@ -57308,7 +57380,7 @@
57308
57380
  }
57309
57381
  },
57310
57382
  {
57311
- label: 'Cancel End Event',
57383
+ label: 'Cancel end event',
57312
57384
  actionName: 'replace-with-cancel-end',
57313
57385
  className: 'bpmn-icon-end-event-cancel',
57314
57386
  target: {
@@ -57317,7 +57389,7 @@
57317
57389
  }
57318
57390
  },
57319
57391
  {
57320
- label: 'Compensation End Event',
57392
+ label: 'Compensation end event',
57321
57393
  actionName: 'replace-with-compensation-end',
57322
57394
  className: 'bpmn-icon-end-event-compensation',
57323
57395
  target: {
@@ -57326,7 +57398,7 @@
57326
57398
  }
57327
57399
  },
57328
57400
  {
57329
- label: 'Signal End Event',
57401
+ label: 'Signal end event',
57330
57402
  actionName: 'replace-with-signal-end',
57331
57403
  className: 'bpmn-icon-end-event-signal',
57332
57404
  target: {
@@ -57335,7 +57407,7 @@
57335
57407
  }
57336
57408
  },
57337
57409
  {
57338
- label: 'Terminate End Event',
57410
+ label: 'Terminate end event',
57339
57411
  actionName: 'replace-with-terminate-end',
57340
57412
  className: 'bpmn-icon-end-event-terminate',
57341
57413
  target: {
@@ -57350,7 +57422,7 @@
57350
57422
  */
57351
57423
  var GATEWAY$2 = [
57352
57424
  {
57353
- label: 'Exclusive Gateway',
57425
+ label: 'Exclusive gateway',
57354
57426
  actionName: 'replace-with-exclusive-gateway',
57355
57427
  className: 'bpmn-icon-gateway-xor',
57356
57428
  target: {
@@ -57358,7 +57430,7 @@
57358
57430
  }
57359
57431
  },
57360
57432
  {
57361
- label: 'Parallel Gateway',
57433
+ label: 'Parallel gateway',
57362
57434
  actionName: 'replace-with-parallel-gateway',
57363
57435
  className: 'bpmn-icon-gateway-parallel',
57364
57436
  target: {
@@ -57366,7 +57438,7 @@
57366
57438
  }
57367
57439
  },
57368
57440
  {
57369
- label: 'Inclusive Gateway',
57441
+ label: 'Inclusive gateway',
57370
57442
  actionName: 'replace-with-inclusive-gateway',
57371
57443
  className: 'bpmn-icon-gateway-or',
57372
57444
  target: {
@@ -57374,7 +57446,7 @@
57374
57446
  }
57375
57447
  },
57376
57448
  {
57377
- label: 'Complex Gateway',
57449
+ label: 'Complex gateway',
57378
57450
  actionName: 'replace-with-complex-gateway',
57379
57451
  className: 'bpmn-icon-gateway-complex',
57380
57452
  target: {
@@ -57382,7 +57454,7 @@
57382
57454
  }
57383
57455
  },
57384
57456
  {
57385
- label: 'Event based Gateway',
57457
+ label: 'Event-based gateway',
57386
57458
  actionName: 'replace-with-event-based-gateway',
57387
57459
  className: 'bpmn-icon-gateway-eventbased',
57388
57460
  target: {
@@ -57431,7 +57503,7 @@
57431
57503
  }
57432
57504
  },
57433
57505
  {
57434
- label: 'Event Sub Process',
57506
+ label: 'Event sub-process',
57435
57507
  actionName: 'replace-with-event-subprocess',
57436
57508
  className: 'bpmn-icon-event-subprocess-expanded',
57437
57509
  target: {
@@ -57441,7 +57513,7 @@
57441
57513
  }
57442
57514
  },
57443
57515
  {
57444
- label: 'Sub Process (collapsed)',
57516
+ label: 'Sub-process (collapsed)',
57445
57517
  actionName: 'replace-with-collapsed-subprocess',
57446
57518
  className: 'bpmn-icon-subprocess-collapsed',
57447
57519
  target: {
@@ -57465,7 +57537,7 @@
57465
57537
  }
57466
57538
  },
57467
57539
  {
57468
- label: 'Sub Process',
57540
+ label: 'Sub-process',
57469
57541
  actionName: 'replace-with-subprocess',
57470
57542
  className: 'bpmn-icon-subprocess-expanded',
57471
57543
  target: {
@@ -57474,7 +57546,7 @@
57474
57546
  }
57475
57547
  },
57476
57548
  {
57477
- label: 'Event Sub Process',
57549
+ label: 'Event sub-process',
57478
57550
  actionName: 'replace-with-event-subprocess',
57479
57551
  className: 'bpmn-icon-event-subprocess-expanded',
57480
57552
  target: {
@@ -57503,7 +57575,7 @@
57503
57575
  }
57504
57576
  },
57505
57577
  {
57506
- label: 'User Task',
57578
+ label: 'User task',
57507
57579
  actionName: 'replace-with-user-task',
57508
57580
  className: 'bpmn-icon-user',
57509
57581
  target: {
@@ -57511,7 +57583,7 @@
57511
57583
  }
57512
57584
  },
57513
57585
  {
57514
- label: 'Service Task',
57586
+ label: 'Service task',
57515
57587
  actionName: 'replace-with-service-task',
57516
57588
  className: 'bpmn-icon-service',
57517
57589
  target: {
@@ -57519,7 +57591,7 @@
57519
57591
  }
57520
57592
  },
57521
57593
  {
57522
- label: 'Send Task',
57594
+ label: 'Send task',
57523
57595
  actionName: 'replace-with-send-task',
57524
57596
  className: 'bpmn-icon-send',
57525
57597
  target: {
@@ -57527,7 +57599,7 @@
57527
57599
  }
57528
57600
  },
57529
57601
  {
57530
- label: 'Receive Task',
57602
+ label: 'Receive task',
57531
57603
  actionName: 'replace-with-receive-task',
57532
57604
  className: 'bpmn-icon-receive',
57533
57605
  target: {
@@ -57535,7 +57607,7 @@
57535
57607
  }
57536
57608
  },
57537
57609
  {
57538
- label: 'Manual Task',
57610
+ label: 'Manual task',
57539
57611
  actionName: 'replace-with-manual-task',
57540
57612
  className: 'bpmn-icon-manual',
57541
57613
  target: {
@@ -57543,7 +57615,7 @@
57543
57615
  }
57544
57616
  },
57545
57617
  {
57546
- label: 'Business Rule Task',
57618
+ label: 'Business rule task',
57547
57619
  actionName: 'replace-with-rule-task',
57548
57620
  className: 'bpmn-icon-business-rule',
57549
57621
  target: {
@@ -57551,7 +57623,7 @@
57551
57623
  }
57552
57624
  },
57553
57625
  {
57554
- label: 'Script Task',
57626
+ label: 'Script task',
57555
57627
  actionName: 'replace-with-script-task',
57556
57628
  className: 'bpmn-icon-script',
57557
57629
  target: {
@@ -57559,7 +57631,7 @@
57559
57631
  }
57560
57632
  },
57561
57633
  {
57562
- label: 'Call Activity',
57634
+ label: 'Call activity',
57563
57635
  actionName: 'replace-with-call-activity',
57564
57636
  className: 'bpmn-icon-call-activity',
57565
57637
  target: {
@@ -57567,7 +57639,7 @@
57567
57639
  }
57568
57640
  },
57569
57641
  {
57570
- label: 'Sub Process (collapsed)',
57642
+ label: 'Sub-process (collapsed)',
57571
57643
  actionName: 'replace-with-collapsed-subprocess',
57572
57644
  className: 'bpmn-icon-subprocess-collapsed',
57573
57645
  target: {
@@ -57576,7 +57648,7 @@
57576
57648
  }
57577
57649
  },
57578
57650
  {
57579
- label: 'Sub Process (expanded)',
57651
+ label: 'Sub-process (expanded)',
57580
57652
  actionName: 'replace-with-expanded-subprocess',
57581
57653
  className: 'bpmn-icon-subprocess-expanded',
57582
57654
  target: {
@@ -57591,7 +57663,7 @@
57591
57663
  */
57592
57664
  var DATA_OBJECT_REFERENCE$1 = [
57593
57665
  {
57594
- label: 'Data Store Reference',
57666
+ label: 'Data store reference',
57595
57667
  actionName: 'replace-with-data-store-reference',
57596
57668
  className: 'bpmn-icon-data-store',
57597
57669
  target: {
@@ -57605,7 +57677,7 @@
57605
57677
  */
57606
57678
  var DATA_STORE_REFERENCE$1 = [
57607
57679
  {
57608
- label: 'Data Object Reference',
57680
+ label: 'Data object reference',
57609
57681
  actionName: 'replace-with-data-object-reference',
57610
57682
  className: 'bpmn-icon-data-object',
57611
57683
  target: {
@@ -57619,7 +57691,7 @@
57619
57691
  */
57620
57692
  var BOUNDARY_EVENT$1 = [
57621
57693
  {
57622
- label: 'Message Boundary Event',
57694
+ label: 'Message boundary event',
57623
57695
  actionName: 'replace-with-message-boundary',
57624
57696
  className: 'bpmn-icon-intermediate-event-catch-message',
57625
57697
  target: {
@@ -57629,7 +57701,7 @@
57629
57701
  }
57630
57702
  },
57631
57703
  {
57632
- label: 'Timer Boundary Event',
57704
+ label: 'Timer boundary event',
57633
57705
  actionName: 'replace-with-timer-boundary',
57634
57706
  className: 'bpmn-icon-intermediate-event-catch-timer',
57635
57707
  target: {
@@ -57639,7 +57711,7 @@
57639
57711
  }
57640
57712
  },
57641
57713
  {
57642
- label: 'Escalation Boundary Event',
57714
+ label: 'Escalation boundary event',
57643
57715
  actionName: 'replace-with-escalation-boundary',
57644
57716
  className: 'bpmn-icon-intermediate-event-catch-escalation',
57645
57717
  target: {
@@ -57649,7 +57721,7 @@
57649
57721
  }
57650
57722
  },
57651
57723
  {
57652
- label: 'Conditional Boundary Event',
57724
+ label: 'Conditional boundary event',
57653
57725
  actionName: 'replace-with-conditional-boundary',
57654
57726
  className: 'bpmn-icon-intermediate-event-catch-condition',
57655
57727
  target: {
@@ -57659,7 +57731,7 @@
57659
57731
  }
57660
57732
  },
57661
57733
  {
57662
- label: 'Error Boundary Event',
57734
+ label: 'Error boundary event',
57663
57735
  actionName: 'replace-with-error-boundary',
57664
57736
  className: 'bpmn-icon-intermediate-event-catch-error',
57665
57737
  target: {
@@ -57669,7 +57741,7 @@
57669
57741
  }
57670
57742
  },
57671
57743
  {
57672
- label: 'Cancel Boundary Event',
57744
+ label: 'Cancel boundary event',
57673
57745
  actionName: 'replace-with-cancel-boundary',
57674
57746
  className: 'bpmn-icon-intermediate-event-catch-cancel',
57675
57747
  target: {
@@ -57679,7 +57751,7 @@
57679
57751
  }
57680
57752
  },
57681
57753
  {
57682
- label: 'Signal Boundary Event',
57754
+ label: 'Signal boundary event',
57683
57755
  actionName: 'replace-with-signal-boundary',
57684
57756
  className: 'bpmn-icon-intermediate-event-catch-signal',
57685
57757
  target: {
@@ -57689,7 +57761,7 @@
57689
57761
  }
57690
57762
  },
57691
57763
  {
57692
- label: 'Compensation Boundary Event',
57764
+ label: 'Compensation boundary event',
57693
57765
  actionName: 'replace-with-compensation-boundary',
57694
57766
  className: 'bpmn-icon-intermediate-event-catch-compensation',
57695
57767
  target: {
@@ -57699,7 +57771,7 @@
57699
57771
  }
57700
57772
  },
57701
57773
  {
57702
- label: 'Message Boundary Event (non-interrupting)',
57774
+ label: 'Message boundary event (non-interrupting)',
57703
57775
  actionName: 'replace-with-non-interrupting-message-boundary',
57704
57776
  className: 'bpmn-icon-intermediate-event-catch-non-interrupting-message',
57705
57777
  target: {
@@ -57709,7 +57781,7 @@
57709
57781
  }
57710
57782
  },
57711
57783
  {
57712
- label: 'Timer Boundary Event (non-interrupting)',
57784
+ label: 'Timer boundary event (non-interrupting)',
57713
57785
  actionName: 'replace-with-non-interrupting-timer-boundary',
57714
57786
  className: 'bpmn-icon-intermediate-event-catch-non-interrupting-timer',
57715
57787
  target: {
@@ -57719,7 +57791,7 @@
57719
57791
  }
57720
57792
  },
57721
57793
  {
57722
- label: 'Escalation Boundary Event (non-interrupting)',
57794
+ label: 'Escalation boundary event (non-interrupting)',
57723
57795
  actionName: 'replace-with-non-interrupting-escalation-boundary',
57724
57796
  className: 'bpmn-icon-intermediate-event-catch-non-interrupting-escalation',
57725
57797
  target: {
@@ -57729,7 +57801,7 @@
57729
57801
  }
57730
57802
  },
57731
57803
  {
57732
- label: 'Conditional Boundary Event (non-interrupting)',
57804
+ label: 'Conditional boundary event (non-interrupting)',
57733
57805
  actionName: 'replace-with-non-interrupting-conditional-boundary',
57734
57806
  className: 'bpmn-icon-intermediate-event-catch-non-interrupting-condition',
57735
57807
  target: {
@@ -57739,7 +57811,7 @@
57739
57811
  }
57740
57812
  },
57741
57813
  {
57742
- label: 'Signal Boundary Event (non-interrupting)',
57814
+ label: 'Signal boundary event (non-interrupting)',
57743
57815
  actionName: 'replace-with-non-interrupting-signal-boundary',
57744
57816
  className: 'bpmn-icon-intermediate-event-catch-non-interrupting-signal',
57745
57817
  target: {
@@ -57755,7 +57827,7 @@
57755
57827
  */
57756
57828
  var EVENT_SUB_PROCESS_START_EVENT$1 = [
57757
57829
  {
57758
- label: 'Message Start Event',
57830
+ label: 'Message start event',
57759
57831
  actionName: 'replace-with-message-start',
57760
57832
  className: 'bpmn-icon-start-event-message',
57761
57833
  target: {
@@ -57765,7 +57837,7 @@
57765
57837
  }
57766
57838
  },
57767
57839
  {
57768
- label: 'Timer Start Event',
57840
+ label: 'Timer start event',
57769
57841
  actionName: 'replace-with-timer-start',
57770
57842
  className: 'bpmn-icon-start-event-timer',
57771
57843
  target: {
@@ -57775,7 +57847,7 @@
57775
57847
  }
57776
57848
  },
57777
57849
  {
57778
- label: 'Conditional Start Event',
57850
+ label: 'Conditional start event',
57779
57851
  actionName: 'replace-with-conditional-start',
57780
57852
  className: 'bpmn-icon-start-event-condition',
57781
57853
  target: {
@@ -57785,7 +57857,7 @@
57785
57857
  }
57786
57858
  },
57787
57859
  {
57788
- label: 'Signal Start Event',
57860
+ label: 'Signal start event',
57789
57861
  actionName: 'replace-with-signal-start',
57790
57862
  className: 'bpmn-icon-start-event-signal',
57791
57863
  target: {
@@ -57795,7 +57867,7 @@
57795
57867
  }
57796
57868
  },
57797
57869
  {
57798
- label: 'Error Start Event',
57870
+ label: 'Error start event',
57799
57871
  actionName: 'replace-with-error-start',
57800
57872
  className: 'bpmn-icon-start-event-error',
57801
57873
  target: {
@@ -57805,7 +57877,7 @@
57805
57877
  }
57806
57878
  },
57807
57879
  {
57808
- label: 'Escalation Start Event',
57880
+ label: 'Escalation start event',
57809
57881
  actionName: 'replace-with-escalation-start',
57810
57882
  className: 'bpmn-icon-start-event-escalation',
57811
57883
  target: {
@@ -57815,7 +57887,7 @@
57815
57887
  }
57816
57888
  },
57817
57889
  {
57818
- label: 'Compensation Start Event',
57890
+ label: 'Compensation start event',
57819
57891
  actionName: 'replace-with-compensation-start',
57820
57892
  className: 'bpmn-icon-start-event-compensation',
57821
57893
  target: {
@@ -57825,7 +57897,7 @@
57825
57897
  }
57826
57898
  },
57827
57899
  {
57828
- label: 'Message Start Event (non-interrupting)',
57900
+ label: 'Message start event (non-interrupting)',
57829
57901
  actionName: 'replace-with-non-interrupting-message-start',
57830
57902
  className: 'bpmn-icon-start-event-non-interrupting-message',
57831
57903
  target: {
@@ -57835,7 +57907,7 @@
57835
57907
  }
57836
57908
  },
57837
57909
  {
57838
- label: 'Timer Start Event (non-interrupting)',
57910
+ label: 'Timer start event (non-interrupting)',
57839
57911
  actionName: 'replace-with-non-interrupting-timer-start',
57840
57912
  className: 'bpmn-icon-start-event-non-interrupting-timer',
57841
57913
  target: {
@@ -57845,7 +57917,7 @@
57845
57917
  }
57846
57918
  },
57847
57919
  {
57848
- label: 'Conditional Start Event (non-interrupting)',
57920
+ label: 'Conditional start event (non-interrupting)',
57849
57921
  actionName: 'replace-with-non-interrupting-conditional-start',
57850
57922
  className: 'bpmn-icon-start-event-non-interrupting-condition',
57851
57923
  target: {
@@ -57855,7 +57927,7 @@
57855
57927
  }
57856
57928
  },
57857
57929
  {
57858
- label: 'Signal Start Event (non-interrupting)',
57930
+ label: 'Signal start event (non-interrupting)',
57859
57931
  actionName: 'replace-with-non-interrupting-signal-start',
57860
57932
  className: 'bpmn-icon-start-event-non-interrupting-signal',
57861
57933
  target: {
@@ -57865,7 +57937,7 @@
57865
57937
  }
57866
57938
  },
57867
57939
  {
57868
- label: 'Escalation Start Event (non-interrupting)',
57940
+ label: 'Escalation start event (non-interrupting)',
57869
57941
  actionName: 'replace-with-non-interrupting-escalation-start',
57870
57942
  className: 'bpmn-icon-start-event-non-interrupting-escalation',
57871
57943
  target: {
@@ -57881,17 +57953,17 @@
57881
57953
  */
57882
57954
  var SEQUENCE_FLOW$1 = [
57883
57955
  {
57884
- label: 'Sequence Flow',
57956
+ label: 'Sequence flow',
57885
57957
  actionName: 'replace-with-sequence-flow',
57886
57958
  className: 'bpmn-icon-connection'
57887
57959
  },
57888
57960
  {
57889
- label: 'Default Flow',
57961
+ label: 'Default flow',
57890
57962
  actionName: 'replace-with-default-flow',
57891
57963
  className: 'bpmn-icon-default-flow'
57892
57964
  },
57893
57965
  {
57894
- label: 'Conditional Flow',
57966
+ label: 'Conditional flow',
57895
57967
  actionName: 'replace-with-conditional-flow',
57896
57968
  className: 'bpmn-icon-conditional-flow'
57897
57969
  }
@@ -57902,7 +57974,7 @@
57902
57974
  */
57903
57975
  var PARTICIPANT$2 = [
57904
57976
  {
57905
- label: 'Expanded Pool',
57977
+ label: 'Expanded pool/participant',
57906
57978
  actionName: 'replace-with-expanded-pool',
57907
57979
  className: 'bpmn-icon-participant',
57908
57980
  target: {
@@ -57912,7 +57984,7 @@
57912
57984
  },
57913
57985
  {
57914
57986
  label: function(element) {
57915
- var label = 'Empty Pool';
57987
+ var label = 'Empty pool/participant';
57916
57988
 
57917
57989
  if (element.children && element.children.length) {
57918
57990
  label += ' (removes content)';
@@ -58193,7 +58265,7 @@
58193
58265
  // collapsed sub process cannot be replaced with itself
58194
58266
  if (is$6(businessObject, 'bpmn:SubProcess') && !isExpanded$1(target)) {
58195
58267
  filteredReplaceOptions = filter(filteredReplaceOptions, function(replaceOption) {
58196
- return replaceOption.label !== 'Sub Process (collapsed)';
58268
+ return replaceOption.label !== 'Sub-process (collapsed)';
58197
58269
  });
58198
58270
  }
58199
58271
 
@@ -58436,7 +58508,7 @@
58436
58508
  return {
58437
58509
  'toggle-parallel-mi' : {
58438
58510
  className: 'bpmn-icon-parallel-mi-marker',
58439
- title: translate('Parallel Multi Instance'),
58511
+ title: translate('Parallel multi-instance'),
58440
58512
  active: isParallel,
58441
58513
  action: toggleLoopEntry,
58442
58514
  options: {
@@ -58446,7 +58518,7 @@
58446
58518
  },
58447
58519
  'toggle-sequential-mi': {
58448
58520
  className: 'bpmn-icon-sequential-mi-marker',
58449
- title: translate('Sequential Multi Instance'),
58521
+ title: translate('Sequential multi-instance'),
58450
58522
  active: isSequential,
58451
58523
  action: toggleLoopEntry,
58452
58524
  options: {
@@ -58534,7 +58606,7 @@
58534
58606
  return {
58535
58607
  'toggle-participant-multiplicity': {
58536
58608
  className: 'bpmn-icon-parallel-mi-marker',
58537
- title: translate('Participant Multiplicity'),
58609
+ title: translate('Participant multiplicity'),
58538
58610
  active: !!participantMultiplicity,
58539
58611
  action: toggleParticipantMultiplicity,
58540
58612
  }
@@ -58593,7 +58665,7 @@
58593
58665
  return {
58594
58666
  'toggle-non-interrupting': {
58595
58667
  imageHtml: icon,
58596
- title: translate('Toggle Non-Interrupting'),
58668
+ title: translate('Toggle non-interrupting'),
58597
58669
  active: isNonInterrupting,
58598
58670
  action: function() {
58599
58671
  self._modeling.updateProperties(element, {
@@ -58819,18 +58891,13 @@
58819
58891
  *
58820
58892
  * @param {string} type
58821
58893
  * @param {string} className
58822
- * @param {string} [title]
58894
+ * @param {string} title
58823
58895
  * @param {Object} [options]
58824
58896
  *
58825
58897
  * @return {ContextPadEntry}
58826
58898
  */
58827
58899
  function appendAction(type, className, title, options) {
58828
58900
 
58829
- if (typeof title !== 'string') {
58830
- options = title;
58831
- title = translate('Append {type}', { type: type.replace(/^bpmn:/, '') });
58832
- }
58833
-
58834
58901
  function appendStart(event, element) {
58835
58902
 
58836
58903
  var shape = elementFactory.createShape(assign$2({ type: type }, options));
@@ -58896,7 +58963,7 @@
58896
58963
  'lane-insert-above': {
58897
58964
  group: 'lane-insert-above',
58898
58965
  className: 'bpmn-icon-lane-insert-above',
58899
- title: translate('Add Lane above'),
58966
+ title: translate('Add lane above'),
58900
58967
  action: {
58901
58968
  click: function(event, element) {
58902
58969
  modeling.addLane(element, 'top');
@@ -58912,7 +58979,7 @@
58912
58979
  'lane-divide-two': {
58913
58980
  group: 'lane-divide',
58914
58981
  className: 'bpmn-icon-lane-divide-two',
58915
- title: translate('Divide into two Lanes'),
58982
+ title: translate('Divide into two lanes'),
58916
58983
  action: {
58917
58984
  click: splitLaneHandler(2)
58918
58985
  }
@@ -58925,7 +58992,7 @@
58925
58992
  'lane-divide-three': {
58926
58993
  group: 'lane-divide',
58927
58994
  className: 'bpmn-icon-lane-divide-three',
58928
- title: translate('Divide into three Lanes'),
58995
+ title: translate('Divide into three lanes'),
58929
58996
  action: {
58930
58997
  click: splitLaneHandler(3)
58931
58998
  }
@@ -58938,7 +59005,7 @@
58938
59005
  'lane-insert-below': {
58939
59006
  group: 'lane-insert-below',
58940
59007
  className: 'bpmn-icon-lane-insert-below',
58941
- title: translate('Add Lane below'),
59008
+ title: translate('Add lane below'),
58942
59009
  action: {
58943
59010
  click: function(event, element) {
58944
59011
  modeling.addLane(element, 'bottom');
@@ -58957,30 +59024,30 @@
58957
59024
  'append.receive-task': appendAction(
58958
59025
  'bpmn:ReceiveTask',
58959
59026
  'bpmn-icon-receive-task',
58960
- translate('Append ReceiveTask')
59027
+ translate('Append receive task')
58961
59028
  ),
58962
59029
  'append.message-intermediate-event': appendAction(
58963
59030
  'bpmn:IntermediateCatchEvent',
58964
59031
  'bpmn-icon-intermediate-event-catch-message',
58965
- translate('Append MessageIntermediateCatchEvent'),
59032
+ translate('Append message intermediate catch event'),
58966
59033
  { eventDefinitionType: 'bpmn:MessageEventDefinition' }
58967
59034
  ),
58968
59035
  'append.timer-intermediate-event': appendAction(
58969
59036
  'bpmn:IntermediateCatchEvent',
58970
59037
  'bpmn-icon-intermediate-event-catch-timer',
58971
- translate('Append TimerIntermediateCatchEvent'),
59038
+ translate('Append timer intermediate catch event'),
58972
59039
  { eventDefinitionType: 'bpmn:TimerEventDefinition' }
58973
59040
  ),
58974
59041
  'append.condition-intermediate-event': appendAction(
58975
59042
  'bpmn:IntermediateCatchEvent',
58976
59043
  'bpmn-icon-intermediate-event-catch-condition',
58977
- translate('Append ConditionIntermediateCatchEvent'),
59044
+ translate('Append conditional intermediate catch event'),
58978
59045
  { eventDefinitionType: 'bpmn:ConditionalEventDefinition' }
58979
59046
  ),
58980
59047
  'append.signal-intermediate-event': appendAction(
58981
59048
  'bpmn:IntermediateCatchEvent',
58982
59049
  'bpmn-icon-intermediate-event-catch-signal',
58983
- translate('Append SignalIntermediateCatchEvent'),
59050
+ translate('Append signal intermediate catch event'),
58984
59051
  { eventDefinitionType: 'bpmn:SignalEventDefinition' }
58985
59052
  )
58986
59053
  });
@@ -59010,22 +59077,22 @@
59010
59077
  'append.end-event': appendAction(
59011
59078
  'bpmn:EndEvent',
59012
59079
  'bpmn-icon-end-event-none',
59013
- translate('Append EndEvent')
59080
+ translate('Append end event')
59014
59081
  ),
59015
59082
  'append.gateway': appendAction(
59016
59083
  'bpmn:ExclusiveGateway',
59017
59084
  'bpmn-icon-gateway-none',
59018
- translate('Append Gateway')
59085
+ translate('Append gateway')
59019
59086
  ),
59020
59087
  'append.append-task': appendAction(
59021
59088
  'bpmn:Task',
59022
59089
  'bpmn-icon-task',
59023
- translate('Append Task')
59090
+ translate('Append task')
59024
59091
  ),
59025
59092
  'append.intermediate-event': appendAction(
59026
59093
  'bpmn:IntermediateThrowEvent',
59027
59094
  'bpmn-icon-intermediate-event-none',
59028
- translate('Append Intermediate/Boundary Event')
59095
+ translate('Append intermediate/boundary event')
59029
59096
  )
59030
59097
  });
59031
59098
  }
@@ -59062,7 +59129,7 @@
59062
59129
  'append.text-annotation': appendAction(
59063
59130
  'bpmn:TextAnnotation',
59064
59131
  'bpmn-icon-text-annotation',
59065
- translate('Append TextAnnotation')
59132
+ translate('Append text annotation')
59066
59133
  )
59067
59134
  });
59068
59135
  }
@@ -59079,7 +59146,7 @@
59079
59146
  'append.text-annotation': appendAction(
59080
59147
  'bpmn:TextAnnotation',
59081
59148
  'bpmn-icon-text-annotation',
59082
- translate('Append TextAnnotation')
59149
+ translate('Append text annotation')
59083
59150
  ),
59084
59151
 
59085
59152
  'connect': {
@@ -59089,8 +59156,8 @@
59089
59156
  'Connect using ' +
59090
59157
  (businessObject.isForCompensation
59091
59158
  ? ''
59092
- : 'Sequence/MessageFlow or ') +
59093
- 'Association'
59159
+ : 'sequence/message flow or ') +
59160
+ 'association'
59094
59161
  ),
59095
59162
  action: {
59096
59163
  click: startConnect,
@@ -59105,7 +59172,7 @@
59105
59172
  'connect': {
59106
59173
  group: 'connect',
59107
59174
  className: 'bpmn-icon-connection-multi',
59108
- title: translate('Connect using Association'),
59175
+ title: translate('Connect using association'),
59109
59176
  action: {
59110
59177
  click: startConnect,
59111
59178
  dragstart: startConnect,
@@ -59119,7 +59186,7 @@
59119
59186
  'connect': {
59120
59187
  group: 'connect',
59121
59188
  className: 'bpmn-icon-connection-multi',
59122
- title: translate('Connect using DataInputAssociation'),
59189
+ title: translate('Connect using data input association'),
59123
59190
  action: {
59124
59191
  click: startConnect,
59125
59192
  dragstart: startConnect
@@ -59133,7 +59200,7 @@
59133
59200
  'append.text-annotation': appendAction(
59134
59201
  'bpmn:TextAnnotation',
59135
59202
  'bpmn-icon-text-annotation',
59136
- translate('Append TextAnnotation')
59203
+ translate('Append text annotation')
59137
59204
  )
59138
59205
  });
59139
59206
  }
@@ -60624,7 +60691,7 @@
60624
60691
  * @typedef {import('../../grid-snapping/GridSnapping').default} GridSnapping
60625
60692
  */
60626
60693
 
60627
- var HIGH_PRIORITY$d = 2000;
60694
+ var HIGH_PRIORITY$e = 2000;
60628
60695
 
60629
60696
  /**
60630
60697
  * Integrates space tool with grid snapping.
@@ -60636,7 +60703,7 @@
60636
60703
  eventBus.on([
60637
60704
  'spaceTool.move',
60638
60705
  'spaceTool.end'
60639
- ], HIGH_PRIORITY$d, function(event) {
60706
+ ], HIGH_PRIORITY$e, function(event) {
60640
60707
  var context = event.context;
60641
60708
 
60642
60709
  if (!context.initialized) {
@@ -60695,14 +60762,14 @@
60695
60762
  * @typedef {import('diagram-js/lib/util/Types').Axis} Axis
60696
60763
  */
60697
60764
 
60698
- var HIGH_PRIORITY$c = 2000;
60765
+ var HIGH_PRIORITY$d = 2000;
60699
60766
 
60700
60767
  /**
60701
60768
  * @param {EventBus} eventBus
60702
60769
  * @param {GridSnapping} gridSnapping
60703
60770
  */
60704
60771
  function GridSnappingAutoPlaceBehavior(eventBus, gridSnapping) {
60705
- eventBus.on('autoPlace', HIGH_PRIORITY$c, function(context) {
60772
+ eventBus.on('autoPlace', HIGH_PRIORITY$d, function(context) {
60706
60773
  var source = context.source,
60707
60774
  sourceMid = getMid(source),
60708
60775
  shape = context.shape;
@@ -60811,7 +60878,7 @@
60811
60878
  * @typedef {import('diagram-js/lib/util/Types').Point} Point
60812
60879
  */
60813
60880
 
60814
- var HIGH_PRIORITY$b = 3000;
60881
+ var HIGH_PRIORITY$c = 3000;
60815
60882
 
60816
60883
 
60817
60884
  /**
@@ -60831,7 +60898,7 @@
60831
60898
  this.postExecuted([
60832
60899
  'connection.create',
60833
60900
  'connection.layout'
60834
- ], HIGH_PRIORITY$b, function(event) {
60901
+ ], HIGH_PRIORITY$c, function(event) {
60835
60902
  var context = event.context,
60836
60903
  connection = context.connection,
60837
60904
  hints = context.hints || {},
@@ -62060,7 +62127,7 @@
62060
62127
  * } } DirectEditingContext
62061
62128
  */
62062
62129
 
62063
- var HIGH_PRIORITY$a = 2000;
62130
+ var HIGH_PRIORITY$b = 2000;
62064
62131
 
62065
62132
  /**
62066
62133
  * @param {EventBus} eventBus
@@ -62105,7 +62172,7 @@
62105
62172
  eventBus.on([
62106
62173
  'shape.remove',
62107
62174
  'connection.remove'
62108
- ], HIGH_PRIORITY$a, function(event) {
62175
+ ], HIGH_PRIORITY$b, function(event) {
62109
62176
 
62110
62177
  if (directEditing.isActive(event.element)) {
62111
62178
  directEditing.cancel();
@@ -62293,13 +62360,47 @@
62293
62360
 
62294
62361
  // adjust for expanded pools AND lanes
62295
62362
  if (is$6(element, 'bpmn:Lane') || isExpandedPool(element)) {
62363
+ var isHorizontalLane = isHorizontal$4(element);
62296
62364
 
62297
- assign$2(bounds, {
62365
+ var laneBounds = isHorizontalLane ? {
62298
62366
  width: bbox.height,
62299
62367
  height: 30 * zoom,
62300
62368
  x: bbox.x - bbox.height / 2 + (15 * zoom),
62301
62369
  y: mid.y - (30 * zoom) / 2
62370
+ } : {
62371
+ width: bbox.width,
62372
+ height: 30 * zoom
62373
+ };
62374
+
62375
+ assign$2(bounds, laneBounds);
62376
+
62377
+ assign$2(style, {
62378
+ fontSize: defaultFontSize + 'px',
62379
+ lineHeight: defaultLineHeight,
62380
+ paddingTop: (7 * zoom) + 'px',
62381
+ paddingBottom: (7 * zoom) + 'px',
62382
+ paddingLeft: (5 * zoom) + 'px',
62383
+ paddingRight: (5 * zoom) + 'px',
62384
+ transform: isHorizontalLane ? 'rotate(-90deg)' : null
62302
62385
  });
62386
+ }
62387
+
62388
+
62389
+ // internal labels for collapsed participants
62390
+ if (isCollapsedPool(element)) {
62391
+ var isHorizontalPool = isHorizontal$4(element);
62392
+
62393
+ var poolBounds = isHorizontalPool ? {
62394
+ width: bbox.width,
62395
+ height: bbox.height
62396
+ } : {
62397
+ width: bbox.height,
62398
+ height: bbox.width,
62399
+ x: mid.x - bbox.height / 2,
62400
+ y: mid.y - bbox.width / 2
62401
+ };
62402
+
62403
+ assign$2(bounds, poolBounds);
62303
62404
 
62304
62405
  assign$2(style, {
62305
62406
  fontSize: defaultFontSize + 'px',
@@ -62308,15 +62409,14 @@
62308
62409
  paddingBottom: (7 * zoom) + 'px',
62309
62410
  paddingLeft: (5 * zoom) + 'px',
62310
62411
  paddingRight: (5 * zoom) + 'px',
62311
- transform: 'rotate(-90deg)'
62412
+ transform: isHorizontalPool ? null : 'rotate(-90deg)'
62312
62413
  });
62313
62414
  }
62314
62415
 
62315
62416
 
62316
- // internal labels for tasks and collapsed call activities,
62317
- // sub processes and participants
62417
+ // internal labels for tasks and collapsed call activities
62418
+ // and sub processes
62318
62419
  if (isAny$1(element, [ 'bpmn:Task', 'bpmn:CallActivity' ]) ||
62319
- isCollapsedPool(element) ||
62320
62420
  isCollapsedSubProcess(element)) {
62321
62421
 
62322
62422
  assign$2(bounds, {
@@ -63077,7 +63177,7 @@
63077
63177
 
63078
63178
  var LOW_PRIORITY$5 = 500,
63079
63179
  MEDIUM_PRIORITY = 1250,
63080
- HIGH_PRIORITY$9 = 1500;
63180
+ HIGH_PRIORITY$a = 1500;
63081
63181
 
63082
63182
  var round$2 = Math.round;
63083
63183
 
@@ -63127,7 +63227,7 @@
63127
63227
  // * validatedShapes: a list of shapes that are being checked
63128
63228
  // against the rules before and during move
63129
63229
  //
63130
- eventBus.on('shape.move.start', HIGH_PRIORITY$9, function(event) {
63230
+ eventBus.on('shape.move.start', HIGH_PRIORITY$a, function(event) {
63131
63231
 
63132
63232
  var context = event.context,
63133
63233
  shape = event.shape,
@@ -64556,7 +64656,7 @@
64556
64656
  * @typedef {import('../tool-manager/ToolManager').default} ToolManager
64557
64657
  */
64558
64658
 
64559
- var HIGH_PRIORITY$8 = 1500;
64659
+ var HIGH_PRIORITY$9 = 1500;
64560
64660
  var HAND_CURSOR = 'grab';
64561
64661
 
64562
64662
  /**
@@ -64582,7 +64682,7 @@
64582
64682
  dragging: 'hand.move'
64583
64683
  });
64584
64684
 
64585
- eventBus.on('element.mousedown', HIGH_PRIORITY$8, function(event) {
64685
+ eventBus.on('element.mousedown', HIGH_PRIORITY$9, function(event) {
64586
64686
 
64587
64687
  if (!hasPrimaryModifier(event)) {
64588
64688
  return;
@@ -64593,7 +64693,7 @@
64593
64693
  return false;
64594
64694
  });
64595
64695
 
64596
- keyboard && keyboard.addListener(HIGH_PRIORITY$8, function(e) {
64696
+ keyboard && keyboard.addListener(HIGH_PRIORITY$9, function(e) {
64597
64697
  if (!isSpace$1(e.keyEvent) || self.isActive()) {
64598
64698
  return;
64599
64699
  }
@@ -64603,7 +64703,7 @@
64603
64703
  self.activateMove(mouseEvent, !!mouseEvent);
64604
64704
  }, 'keyboard.keydown');
64605
64705
 
64606
- keyboard && keyboard.addListener(HIGH_PRIORITY$8, function(e) {
64706
+ keyboard && keyboard.addListener(HIGH_PRIORITY$9, function(e) {
64607
64707
  if (!isSpace$1(e.keyEvent) || !self.isActive()) {
64608
64708
  return;
64609
64709
  }
@@ -64969,12 +65069,10 @@
64969
65069
  create.start(event, shape);
64970
65070
  }
64971
65071
 
64972
- var shortType = type.replace(/^bpmn:/, '');
64973
-
64974
65072
  return {
64975
65073
  group: group,
64976
65074
  className: className,
64977
- title: title || translate('Create {type}', { type: shortType }),
65075
+ title: title,
64978
65076
  action: {
64979
65077
  dragstart: createListener,
64980
65078
  click: createListener
@@ -65012,7 +65110,7 @@
65012
65110
  'hand-tool': {
65013
65111
  group: 'tools',
65014
65112
  className: 'bpmn-icon-hand-tool',
65015
- title: translate('Activate the hand tool'),
65113
+ title: translate('Activate hand tool'),
65016
65114
  action: {
65017
65115
  click: function(event) {
65018
65116
  handTool.activateHand(event);
@@ -65022,7 +65120,7 @@
65022
65120
  'lasso-tool': {
65023
65121
  group: 'tools',
65024
65122
  className: 'bpmn-icon-lasso-tool',
65025
- title: translate('Activate the lasso tool'),
65123
+ title: translate('Activate lasso tool'),
65026
65124
  action: {
65027
65125
  click: function(event) {
65028
65126
  lassoTool.activateSelection(event);
@@ -65032,7 +65130,7 @@
65032
65130
  'space-tool': {
65033
65131
  group: 'tools',
65034
65132
  className: 'bpmn-icon-space-tool',
65035
- title: translate('Activate the create/remove space tool'),
65133
+ title: translate('Activate create/remove space tool'),
65036
65134
  action: {
65037
65135
  click: function(event) {
65038
65136
  spaceTool.activateSelection(event);
@@ -65042,7 +65140,7 @@
65042
65140
  'global-connect-tool': {
65043
65141
  group: 'tools',
65044
65142
  className: 'bpmn-icon-connection-multi',
65045
- title: translate('Activate the global connect tool'),
65143
+ title: translate('Activate global connect tool'),
65046
65144
  action: {
65047
65145
  click: function(event) {
65048
65146
  globalConnect.start(event);
@@ -65055,36 +65153,36 @@
65055
65153
  },
65056
65154
  'create.start-event': createAction(
65057
65155
  'bpmn:StartEvent', 'event', 'bpmn-icon-start-event-none',
65058
- translate('Create StartEvent')
65156
+ translate('Create start event')
65059
65157
  ),
65060
65158
  'create.intermediate-event': createAction(
65061
65159
  'bpmn:IntermediateThrowEvent', 'event', 'bpmn-icon-intermediate-event-none',
65062
- translate('Create Intermediate/Boundary Event')
65160
+ translate('Create intermediate/boundary event')
65063
65161
  ),
65064
65162
  'create.end-event': createAction(
65065
65163
  'bpmn:EndEvent', 'event', 'bpmn-icon-end-event-none',
65066
- translate('Create EndEvent')
65164
+ translate('Create end event')
65067
65165
  ),
65068
65166
  'create.exclusive-gateway': createAction(
65069
65167
  'bpmn:ExclusiveGateway', 'gateway', 'bpmn-icon-gateway-none',
65070
- translate('Create Gateway')
65168
+ translate('Create gateway')
65071
65169
  ),
65072
65170
  'create.task': createAction(
65073
65171
  'bpmn:Task', 'activity', 'bpmn-icon-task',
65074
- translate('Create Task')
65172
+ translate('Create task')
65075
65173
  ),
65076
65174
  'create.data-object': createAction(
65077
65175
  'bpmn:DataObjectReference', 'data-object', 'bpmn-icon-data-object',
65078
- translate('Create DataObjectReference')
65176
+ translate('Create data object reference')
65079
65177
  ),
65080
65178
  'create.data-store': createAction(
65081
65179
  'bpmn:DataStoreReference', 'data-store', 'bpmn-icon-data-store',
65082
- translate('Create DataStoreReference')
65180
+ translate('Create data store reference')
65083
65181
  ),
65084
65182
  'create.subprocess-expanded': {
65085
65183
  group: 'activity',
65086
65184
  className: 'bpmn-icon-subprocess-expanded',
65087
- title: translate('Create expanded SubProcess'),
65185
+ title: translate('Create expanded sub-process'),
65088
65186
  action: {
65089
65187
  dragstart: createSubprocess,
65090
65188
  click: createSubprocess
@@ -65093,7 +65191,7 @@
65093
65191
  'create.participant-expanded': {
65094
65192
  group: 'collaboration',
65095
65193
  className: 'bpmn-icon-participant',
65096
- title: translate('Create Pool/Participant'),
65194
+ title: translate('Create pool/participant'),
65097
65195
  action: {
65098
65196
  dragstart: createParticipant,
65099
65197
  click: createParticipant
@@ -65101,7 +65199,7 @@
65101
65199
  },
65102
65200
  'create.group': createAction(
65103
65201
  'bpmn:Group', 'artifact', 'bpmn-icon-group',
65104
- translate('Create Group')
65202
+ translate('Create group')
65105
65203
  ),
65106
65204
  });
65107
65205
 
@@ -65899,7 +65997,7 @@
65899
65997
  * @typedef {import('../../model/Types').Shape} Shape
65900
65998
  */
65901
65999
 
65902
- var HIGH_PRIORITY$7 = 1500;
66000
+ var HIGH_PRIORITY$8 = 1500;
65903
66001
 
65904
66002
 
65905
66003
  /**
@@ -65912,7 +66010,7 @@
65912
66010
  injector.invoke(CreateMoveSnapping, this);
65913
66011
 
65914
66012
  // creating first participant
65915
- eventBus.on([ 'create.move', 'create.end' ], HIGH_PRIORITY$7, setSnappedIfConstrained);
66013
+ eventBus.on([ 'create.move', 'create.end' ], HIGH_PRIORITY$8, setSnappedIfConstrained);
65916
66014
 
65917
66015
  // snap boundary events
65918
66016
  eventBus.on([
@@ -65920,7 +66018,7 @@
65920
66018
  'create.end',
65921
66019
  'shape.move.move',
65922
66020
  'shape.move.end'
65923
- ], HIGH_PRIORITY$7, function(event) {
66021
+ ], HIGH_PRIORITY$8, function(event) {
65924
66022
  var context = event.context,
65925
66023
  canExecute = context.canExecute,
65926
66024
  target = context.target;
@@ -121259,7 +121357,7 @@
121259
121357
  });
121260
121358
  }
121261
121359
 
121262
- const HIGH_PRIORITY$6 = 5000;
121360
+ const HIGH_PRIORITY$7 = 5000;
121263
121361
 
121264
121362
 
121265
121363
  /**
@@ -121275,7 +121373,7 @@
121275
121373
  /**
121276
121374
  * Remove zeebe:CalledDecision if zeebe:TaskDefinition is about to be added.
121277
121375
  */
121278
- this.preExecute('element.updateModdleProperties' , HIGH_PRIORITY$6, function(context) {
121376
+ this.preExecute('element.updateModdleProperties' , HIGH_PRIORITY$7, function(context) {
121279
121377
  const {
121280
121378
  element,
121281
121379
  moddleElement,
@@ -121306,7 +121404,7 @@
121306
121404
  /**
121307
121405
  * Remove zeebe:TaskDefinition and zeebe:TaskHeaders if zeebe:CalledDecision is about to be added.
121308
121406
  */
121309
- this.preExecute('element.updateModdleProperties', HIGH_PRIORITY$6, function(context) {
121407
+ this.preExecute('element.updateModdleProperties', HIGH_PRIORITY$7, function(context) {
121310
121408
  const {
121311
121409
  element,
121312
121410
  moddleElement,
@@ -121900,7 +121998,7 @@
121900
121998
  }
121901
121999
  }
121902
122000
 
121903
- const HIGH_PRIORITY$5 = 5000;
122001
+ const HIGH_PRIORITY$6 = 5000;
121904
122002
 
121905
122003
 
121906
122004
  /**
@@ -121914,7 +122012,7 @@
121914
122012
  * Add zeebe:CalledElement extension element with zeebe:propagateAllChildVariables attribute = false
121915
122013
  * when creating bpmn:CallActivity.
121916
122014
  */
121917
- this.postExecuted('shape.create', HIGH_PRIORITY$5, function(context) {
122015
+ this.postExecuted('shape.create', HIGH_PRIORITY$6, function(context) {
121918
122016
  const { shape } = context;
121919
122017
 
121920
122018
  if (!is$6(shape, 'bpmn:CallActivity')) {
@@ -122277,7 +122375,7 @@
122277
122375
  && !properties.values.find(value => is$6(value, type));
122278
122376
  }
122279
122377
 
122280
- const HIGH_PRIORITY$4 = 5000;
122378
+ const HIGH_PRIORITY$5 = 5000;
122281
122379
 
122282
122380
 
122283
122381
  /**
@@ -122288,7 +122386,7 @@
122288
122386
  constructor(commandStack, eventBus) {
122289
122387
  super(eventBus);
122290
122388
 
122291
- this.postExecuted('element.updateModdleProperties' , HIGH_PRIORITY$4, function(context) {
122389
+ this.postExecuted('element.updateModdleProperties' , HIGH_PRIORITY$5, function(context) {
122292
122390
  const {
122293
122391
  element,
122294
122392
  moddleElement
@@ -122320,7 +122418,7 @@
122320
122418
  'eventBus'
122321
122419
  ];
122322
122420
 
122323
- const HIGH_PRIORITY$3 = 5000;
122421
+ const HIGH_PRIORITY$4 = 5000;
122324
122422
 
122325
122423
 
122326
122424
  /**
@@ -122331,7 +122429,7 @@
122331
122429
  constructor(commandStack, eventBus) {
122332
122430
  super(eventBus);
122333
122431
 
122334
- this.postExecuted('element.updateModdleProperties' , HIGH_PRIORITY$3, function(context) {
122432
+ this.postExecuted('element.updateModdleProperties' , HIGH_PRIORITY$4, function(context) {
122335
122433
  const {
122336
122434
  element,
122337
122435
  moddleElement
@@ -122362,7 +122460,7 @@
122362
122460
  'eventBus'
122363
122461
  ];
122364
122462
 
122365
- const HIGH_PRIORITY$2 = 5000;
122463
+ const HIGH_PRIORITY$3 = 5000;
122366
122464
 
122367
122465
 
122368
122466
  /**
@@ -122380,7 +122478,7 @@
122380
122478
  * Remove zeebe:Output elements if zeebe:propagateAllChildVariables is set to true.
122381
122479
  * Remove zeebe:IoMapping extension element if empty.
122382
122480
  */
122383
- this.postExecute('element.updateModdleProperties' , HIGH_PRIORITY$2, function(context) {
122481
+ this.postExecute('element.updateModdleProperties' , HIGH_PRIORITY$3, function(context) {
122384
122482
  const {
122385
122483
  element,
122386
122484
  moddleElement,
@@ -122420,7 +122518,7 @@
122420
122518
  * Set zeebe:propagateAllChildVariables of zeebe:CalledElement to false if
122421
122519
  * zeebe:Output or zeebe:IoMapping with zeebe:Output is added.
122422
122520
  */
122423
- this.preExecute('element.updateModdleProperties' , HIGH_PRIORITY$2, function(context) {
122521
+ this.preExecute('element.updateModdleProperties' , HIGH_PRIORITY$3, function(context) {
122424
122522
  const {
122425
122523
  element,
122426
122524
  moddleElement,
@@ -123215,11 +123313,11 @@
123215
123313
  }
123216
123314
 
123217
123315
  var name$1 = "@camunda/zeebe-element-templates-json-schema";
123218
- var version = "0.16.1";
123316
+ var version = "0.17.0";
123219
123317
 
123220
123318
  var standaloneZeebeValidator = {exports: {}};
123221
123319
 
123222
- standaloneZeebeValidator.exports = validate14;standaloneZeebeValidator.exports.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":"integer","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."},"deprecated":{"$id":"#/deprecated","type":["boolean","object"],"description":"Indicates whether the element template is deprecated.","properties":{"message":{"$id":"#/deprecated/message","type":"string","description":"Optional message to describe migration path."},"documentationRef":{"$id":"#/deprecated/documentationRef","type":"string","pattern":"^(https|http)://.*","description":"Optional link to migration documentation."}}},"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]+$","allOf":[{"examples":["bpmn:Task","bpmn:ServiceTask","bpmn:SequenceFlow","bpmn:Process","bpmn:StartEvent","bpmn:Gateway"]}],"errorMessage":{"pattern":"invalid item for \"appliesTo\", should contain namespaced property, example: \"bpmn:Task\""}}},"elementType":{"$id":"#/elementType","type":"object","description":"The BPMN type the element will be transformed into.","default":{},"required":["value"],"properties":{"value":{"$id":"#/elementType/value","type":"string","pattern":"^[\\w\\d]+:[\\w\\d]+$","allOf":[{"examples":["bpmn:ServiceTask","bpmn:UserTask","bpmn:StartEvent","bpmn:ExclusiveGateway","bpmn:ParallelGateway"]}],"errorMessage":{"pattern":"invalid item for \"elementType\", should contain namespaced property, example: \"bpmn:Task\""}}},"errorMessage":{"required":{"value":"missing elementType value"}}},"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"],"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":{"id":"missing id for group \"${0#}\"","label":"missing label for group \"${0#}\""}}}},"documentationRef":{"$id":"#/documentationRef","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=[]"}}},{"allOf":[{"if":{"properties":{"properties":{"contains":{"properties":{"binding":{"properties":{"type":{"const":"bpmn:Message#property"}},"required":["type"]}},"required":["binding"]}}},"required":["properties"]},"then":{"required":["elementType"],"properties":{"elementType":{"required":["value"],"properties":{"value":{"enum":["bpmn:ReceiveTask","bpmn:SendTask","bpmn:StartEvent","bpmn:IntermediateCatchEvent","bpmn:IntermediateThrowEvent","bpmn:BoundaryEvent","bpmn:EndEvent"]}},"allOf":[{"if":{"properties":{"value":{"enum":["bpmn:StartEvent","bpmn:IntermediateCatchEvent","bpmn:IntermediateThrowEvent","bpmn:BoundaryEvent","bpmn:EndEvent"]}}},"then":{"eventDefinition":{"const":"bpmn:MessageEventDefinition"},"required":["eventDefinition"]}}]}}}},{"if":{"properties":{"properties":{"contains":{"properties":{"binding":{"properties":{"type":{"const":"bpmn:Message#zeebe:subscription#property"}},"required":["type"]}},"required":["binding"]}}},"required":["properties"]},"then":{"required":["elementType"],"properties":{"elementType":{"required":["value"],"properties":{"value":{"enum":["bpmn:ReceiveTask","bpmn:StartEvent","bpmn:IntermediateCatchEvent","bpmn:IntermediateThrowEvent","bpmn:BoundaryEvent","bpmn:EndEvent"]}},"allOf":[{"if":{"properties":{"value":{"enum":["bpmn:StartEvent","bpmn:IntermediateCatchEvent","bpmn:IntermediateThrowEvent","bpmn:BoundaryEvent","bpmn:EndEvent"]}}},"then":{"eventDefinition":{"const":"bpmn:MessageEventDefinition"},"required":["eventDefinition"]}}]}}}}]}],"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"}}},"elementType":{"allOf":[{"allOf":[{"properties":{"eventDefinition":{"$id":"#/elementType/eventDefinition","enum":["bpmn:MessageEventDefinition"]}}},{"if":{"required":["eventDefinition"]},"then":{"properties":{"value":{"enum":["bpmn:StartEvent","bpmn:IntermediateCatchEvent","bpmn:IntermediateThrowEvent","bpmn:BoundaryEvent","bpmn:EndEvent"]}},"required":["value"]}}]}]},"groups":{"items":{"properties":{"tooltip":{"$id":"#/groups/group/tooltip","type":"string"},"openByDefault":{"$id":"#/groups/group/openByDefault","type":"boolean","description":"Specifies whether the Group should be opened when first viewed. Defaults to true.","default":true}}}}}};const pattern0 = new RegExp("^(https|http)://.*", "u");const pattern1 = new RegExp("^[\\w\\d]+:[\\w\\d]+$", "u");const pattern4 = new RegExp("^(https?|data):.*", "u");const obj0 = {"required":"missingProperty","dependencies":"property","dependentRequired":"property"};const func0 = equal.exports;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":{"id":{"type":"string","description":"Unique identifier of the property."},"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."},"condition":{"$ref":"#/definitions/properties/allOf/0/items/properties/condition"}},"required":["value","name"],"errorMessage":{"required":"{ 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."},"condition":{"$id":"#/condition","type":"object","description":"Condition(s) to activate the binding.","allOf":[{"examples":[{"type":"simple","property":"httpMethod","equals":"GET"},{"type":"simple","property":"httpMethod","oneOf":["POST","PUT","DELETE"]},{"allMatch":[{"type":"simple","property":"authType","equals":"Basic"},{"type":"simple","property":"httpMethod","oneOf":["POST","PUT","DELETE"]}]}]}],"definitions":{"condition":{"type":"object","required":["property"],"properties":{"type":{"$id":"#/condition/type","const":"simple","description":"The type of the condition.","default":"simple"},"property":{"$id":"#/condition/property","type":"string","description":"The id of the property to check."}},"oneOf":[{"properties":{"equals":{"type":["string","number","boolean"]}},"required":["equals"]},{"properties":{"oneOf":{"type":"array","items":{"type":["string","number"]}}},"required":["oneOf"]},{"properties":{"isActive":{"type":"boolean","description":"For `true`, activates the property when given property is active"}},"required":["isActive"]}],"errorMessage":{"required":{"property":"missing property name for condition"}}}},"oneOf":[{"$ref":"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition"},{"properties":{"allMatch":{"$id":"#/allMatch","type":"array","items":{"$ref":"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition"},"minItems":1}},"required":["allMatch"]}]}}}},{"$schema":"http://json-schema.org/draft-07/schema","type":"array","description":"List of properties of the element template.","items":{"type":"object","default":{},"required":["binding"],"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:property","zeebe:taskHeader","zeebe:taskDefinition:type","bpmn:Message#property","bpmn:Message#zeebe:subscription#property","zeebe:taskDefinition"]}},"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","zeebe:property","zeebe:taskHeader"],"errorMessage":"optional is not supported for binding type ${0}; must be any of { zeebe:input, zeebe:output, zeebe:property, zeebe:taskHeader }"}},"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"]}},{"if":{"properties":{"language":{"not":{"const":null}}},"required":["language"]},"then":{"properties":{"type":{"enum":["Text"],"errorMessage":"language is only supported for \"Text\" type"}}}},{"if":{"required":["value"]},"then":{"not":{"required":["generatedValue"]}}},{"if":{"properties":{"type":{"enum":["Boolean","Dropdown"]}},"required":["type"]},"then":{"not":{"required":["generatedValue"]}}}],"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:property","zeebe:input","bpmn:Message#property","bpmn:Message#zeebe:subscription#property"]}},"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"}},{"if":{"properties":{"type":{"const":"zeebe:taskDefinition"}},"required":["type"]},"then":{"properties":{"property":{"enum":["type","retries"]}},"required":["property"]}},{"if":{"properties":{"type":{"const":"zeebe:taskDefinition:type"}},"required":["type"]},"then":{"deprecated":true}},{"examples":[{"type":"property","name":"name"},{"type":"zeebe:input","name":"input"},{"type":"zeebe:output","source":"output"},{"type":"zeebe:property","name":"property"},{"type":"zeebe:taskHeader","key":"key"},{"type":"zeebe:taskDefinition","property":"retries"},{"type":"zeebe:taskDefinition","property":"type"}]}],"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:property","zeebe:taskHeader","bpmn:Message#property","bpmn:Message#zeebe:subscription#property","zeebe:taskDefinition"],"errorMessage":"invalid property.binding type ${0}; must be any of { property, zeebe:taskDefinition:type, zeebe:input, zeebe:output, zeebe:property, zeebe:taskHeader, bpmn:Message#property, bpmn:Message#zeebe:subscription#property }"},"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)."},"property":{"$id":"#/properties/property/binding/property","type":"string","description":"The name of the property defined in the binding."}}},"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"]},"language":{"$id":"#/properties/property/language","type":"string","description":"Indicates that the field is a custom language editor"},"generatedValue":{"$id":"#/properties/property/generatedValue","type":"object","required":["type"],"properties":{"type":{"const":"uuid"}},"description":"Sets property to a generated value according to given scheme."},"tooltip":{"$id":"#/properties/property/tooltip","type":"string","description":"Hints for the control field."}},"errorMessage":{"required":{"binding":"missing binding for property \"${0#}\""}}}}]};const schema20 = {"type":"object","required":["property"],"properties":{"type":{"$id":"#/condition/type","const":"simple","description":"The type of the condition.","default":"simple"},"property":{"$id":"#/condition/property","type":"string","description":"The id of the property to check."}},"oneOf":[{"properties":{"equals":{"type":["string","number","boolean"]}},"required":["equals"]},{"properties":{"oneOf":{"type":"array","items":{"type":["string","number"]}}},"required":["oneOf"]},{"properties":{"isActive":{"type":"boolean","description":"For `true`, activates the property when given property is active"}},"required":["isActive"]}],"errorMessage":{"required":{"property":"missing property name for condition"}}};function validate17(data, {dataPath="", parentData, parentDataProperty, rootData=data}={}){let vErrors = null;let errors = 0;if(!(data && typeof data == "object" && !Array.isArray(data))){const err0 = {keyword:"type",dataPath,schemaPath:"#/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}const _errs1 = errors;let valid0 = false;let passing0 = null;const _errs2 = errors;const _errs5 = errors;let valid2 = false;let passing1 = null;const _errs6 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.equals === undefined){const err1 = {keyword:"required",dataPath,schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/oneOf/0/required",params:{missingProperty: "equals"},message:"should have required property '"+"equals"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}if(data.equals !== undefined){let data0 = data.equals;if(((typeof data0 !== "string") && (!(typeof data0 == "number"))) && (typeof data0 !== "boolean")){const err2 = {keyword:"type",dataPath:dataPath+"/equals",schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/oneOf/0/properties/equals/type",params:{type: schema20.oneOf[0].properties.equals.type},message:"should be string,number,boolean"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}}}var _valid1 = _errs6 === errors;if(_valid1){valid2 = true;passing1 = 0;}const _errs9 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.oneOf === undefined){const err3 = {keyword:"required",dataPath,schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/oneOf/1/required",params:{missingProperty: "oneOf"},message:"should have required property '"+"oneOf"+"'"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}if(data.oneOf !== undefined){let data1 = data.oneOf;if(Array.isArray(data1)){const len0 = data1.length;for(let i0=0; i0<len0; i0++){let data2 = data1[i0];if((typeof data2 !== "string") && (!(typeof data2 == "number"))){const err4 = {keyword:"type",dataPath:dataPath+"/oneOf/" + i0,schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/oneOf/1/properties/oneOf/items/type",params:{type: schema20.oneOf[1].properties.oneOf.items.type},message:"should be string,number"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}}}else {const err5 = {keyword:"type",dataPath:dataPath+"/oneOf",schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/oneOf/1/properties/oneOf/type",params:{type: "array"},message:"should be array"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}}}var _valid1 = _errs9 === errors;if(_valid1 && valid2){valid2 = false;passing1 = [passing1, 1];}else {if(_valid1){valid2 = true;passing1 = 1;}const _errs14 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.isActive === undefined){const err6 = {keyword:"required",dataPath,schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/oneOf/2/required",params:{missingProperty: "isActive"},message:"should have required property '"+"isActive"+"'"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}if(data.isActive !== undefined){if(typeof data.isActive !== "boolean"){const err7 = {keyword:"type",dataPath:dataPath+"/isActive",schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/oneOf/2/properties/isActive/type",params:{type: "boolean"},message:"should be boolean"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}}}var _valid1 = _errs14 === errors;if(_valid1 && valid2){valid2 = false;passing1 = [passing1, 2];}else {if(_valid1){valid2 = true;passing1 = 2;}}}if(!valid2){const err8 = {keyword:"oneOf",dataPath,schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/oneOf",params:{passingSchemas: passing1},message:"should match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}else {errors = _errs5;if(vErrors !== null){if(_errs5){vErrors.length = _errs5;}else {vErrors = null;}}}if(data && typeof data == "object" && !Array.isArray(data)){if(data.property === undefined){const err9 = {keyword:"required",dataPath,schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/required",params:{missingProperty: "property"},message:"should have required property '"+"property"+"'"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}if(data.type !== undefined){if(!func0(data.type, "simple")){const err10 = {keyword:"const",dataPath:dataPath+"/type",schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/properties/type/const",params:{allowedValue: "simple"},message:"should be equal to constant"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}}if(data.property !== undefined){if(typeof data.property !== "string"){const err11 = {keyword:"type",dataPath:dataPath+"/property",schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/properties/property/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}}}else {const err12 = {keyword:"type",dataPath,schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}if(errors > 0){const emErrors0 = {"required":{"property":[]}};const templates0 = {required:{}};let emPropParams0;let emParamsErrors0;for(const err13 of vErrors){if((((((err13.keyword !== "errorMessage") && (!err13.emUsed)) && (err13.dataPath === dataPath)) && (err13.keyword in emErrors0)) && (err13.schemaPath.indexOf("#/definitions/properties/allOf/0/items/properties/condition/definitions/condition") === 0)) && (/^\/[^\/]*$/.test(err13.schemaPath.slice(81)))){emPropParams0 = obj0[err13.keyword];emParamsErrors0 = emErrors0[err13.keyword][err13.params[emPropParams0]];if(emParamsErrors0){emParamsErrors0.push(err13);err13.emUsed = true;}}}for(const key0 in emErrors0){for(const keyProp0 in emErrors0[key0]){emParamsErrors0 = emErrors0[key0][keyProp0];if(emParamsErrors0.length){const tmpl0 = templates0[key0] && templates0[key0][keyProp0];const err14 = {keyword:"errorMessage",dataPath,schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/errorMessage",params:{errors: emParamsErrors0},message:tmpl0 ? tmpl0() : schema20.errorMessage[key0][keyProp0]};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}}}const emErrs0 = [];for(const err15 of vErrors){if(!err15.emUsed){emErrs0.push(err15);}}vErrors = emErrs0;errors = emErrs0.length;}var _valid0 = _errs2 === errors;if(_valid0){valid0 = true;passing0 = 0;}const _errs20 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.allMatch === undefined){const err16 = {keyword:"required",dataPath,schemaPath:"#/oneOf/1/required",params:{missingProperty: "allMatch"},message:"should have required property '"+"allMatch"+"'"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}if(data.allMatch !== undefined){let data6 = data.allMatch;if(Array.isArray(data6)){if(data6.length < 1){const err17 = {keyword:"minItems",dataPath:dataPath+"/allMatch",schemaPath:"#/oneOf/1/properties/allMatch/minItems",params:{limit: 1},message:"should NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}const len1 = data6.length;for(let i1=0; i1<len1; i1++){let data7 = data6[i1];const _errs26 = errors;let valid13 = false;let passing2 = null;const _errs27 = errors;if(data7 && typeof data7 == "object" && !Array.isArray(data7)){if(data7.equals === undefined){const err18 = {keyword:"required",dataPath:dataPath+"/allMatch/" + i1,schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/oneOf/0/required",params:{missingProperty: "equals"},message:"should have required property '"+"equals"+"'"};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}if(data7.equals !== undefined){let data8 = data7.equals;if(((typeof data8 !== "string") && (!(typeof data8 == "number"))) && (typeof data8 !== "boolean")){const err19 = {keyword:"type",dataPath:dataPath+"/allMatch/" + i1+"/equals",schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/oneOf/0/properties/equals/type",params:{type: schema20.oneOf[0].properties.equals.type},message:"should be string,number,boolean"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}}}var _valid2 = _errs27 === errors;if(_valid2){valid13 = true;passing2 = 0;}const _errs30 = errors;if(data7 && typeof data7 == "object" && !Array.isArray(data7)){if(data7.oneOf === undefined){const err20 = {keyword:"required",dataPath:dataPath+"/allMatch/" + i1,schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/oneOf/1/required",params:{missingProperty: "oneOf"},message:"should have required property '"+"oneOf"+"'"};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}if(data7.oneOf !== undefined){let data9 = data7.oneOf;if(Array.isArray(data9)){const len2 = data9.length;for(let i2=0; i2<len2; i2++){let data10 = data9[i2];if((typeof data10 !== "string") && (!(typeof data10 == "number"))){const err21 = {keyword:"type",dataPath:dataPath+"/allMatch/" + i1+"/oneOf/" + i2,schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/oneOf/1/properties/oneOf/items/type",params:{type: schema20.oneOf[1].properties.oneOf.items.type},message:"should be string,number"};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}}}else {const err22 = {keyword:"type",dataPath:dataPath+"/allMatch/" + i1+"/oneOf",schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/oneOf/1/properties/oneOf/type",params:{type: "array"},message:"should be array"};if(vErrors === null){vErrors = [err22];}else {vErrors.push(err22);}errors++;}}}var _valid2 = _errs30 === errors;if(_valid2 && valid13){valid13 = false;passing2 = [passing2, 1];}else {if(_valid2){valid13 = true;passing2 = 1;}const _errs35 = errors;if(data7 && typeof data7 == "object" && !Array.isArray(data7)){if(data7.isActive === undefined){const err23 = {keyword:"required",dataPath:dataPath+"/allMatch/" + i1,schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/oneOf/2/required",params:{missingProperty: "isActive"},message:"should have required property '"+"isActive"+"'"};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}if(data7.isActive !== undefined){if(typeof data7.isActive !== "boolean"){const err24 = {keyword:"type",dataPath:dataPath+"/allMatch/" + i1+"/isActive",schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/oneOf/2/properties/isActive/type",params:{type: "boolean"},message:"should be boolean"};if(vErrors === null){vErrors = [err24];}else {vErrors.push(err24);}errors++;}}}var _valid2 = _errs35 === errors;if(_valid2 && valid13){valid13 = false;passing2 = [passing2, 2];}else {if(_valid2){valid13 = true;passing2 = 2;}}}if(!valid13){const err25 = {keyword:"oneOf",dataPath:dataPath+"/allMatch/" + i1,schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/oneOf",params:{passingSchemas: passing2},message:"should match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err25];}else {vErrors.push(err25);}errors++;}else {errors = _errs26;if(vErrors !== null){if(_errs26){vErrors.length = _errs26;}else {vErrors = null;}}}if(data7 && typeof data7 == "object" && !Array.isArray(data7)){if(data7.property === undefined){const err26 = {keyword:"required",dataPath:dataPath+"/allMatch/" + i1,schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/required",params:{missingProperty: "property"},message:"should have required property '"+"property"+"'"};if(vErrors === null){vErrors = [err26];}else {vErrors.push(err26);}errors++;}if(data7.type !== undefined){if(!func0(data7.type, "simple")){const err27 = {keyword:"const",dataPath:dataPath+"/allMatch/" + i1+"/type",schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/properties/type/const",params:{allowedValue: "simple"},message:"should be equal to constant"};if(vErrors === null){vErrors = [err27];}else {vErrors.push(err27);}errors++;}}if(data7.property !== undefined){if(typeof data7.property !== "string"){const err28 = {keyword:"type",dataPath:dataPath+"/allMatch/" + i1+"/property",schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/properties/property/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err28];}else {vErrors.push(err28);}errors++;}}}else {const err29 = {keyword:"type",dataPath:dataPath+"/allMatch/" + i1,schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err29];}else {vErrors.push(err29);}errors++;}if(errors > 0){const emErrors1 = {"required":{"property":[]}};const templates1 = {required:{}};let emPropParams1;let emParamsErrors1;for(const err30 of vErrors){if((((((err30.keyword !== "errorMessage") && (!err30.emUsed)) && (err30.dataPath === dataPath+"/allMatch/" + i1)) && (err30.keyword in emErrors1)) && (err30.schemaPath.indexOf("#/definitions/properties/allOf/0/items/properties/condition/definitions/condition") === 0)) && (/^\/[^\/]*$/.test(err30.schemaPath.slice(81)))){emPropParams1 = obj0[err30.keyword];emParamsErrors1 = emErrors1[err30.keyword][err30.params[emPropParams1]];if(emParamsErrors1){emParamsErrors1.push(err30);err30.emUsed = true;}}}for(const key1 in emErrors1){for(const keyProp1 in emErrors1[key1]){emParamsErrors1 = emErrors1[key1][keyProp1];if(emParamsErrors1.length){const tmpl1 = templates1[key1] && templates1[key1][keyProp1];const err31 = {keyword:"errorMessage",dataPath:dataPath+"/allMatch/" + i1,schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/errorMessage",params:{errors: emParamsErrors1},message:tmpl1 ? tmpl1() : schema20.errorMessage[key1][keyProp1]};if(vErrors === null){vErrors = [err31];}else {vErrors.push(err31);}errors++;}}}const emErrs1 = [];for(const err32 of vErrors){if(!err32.emUsed){emErrs1.push(err32);}}vErrors = emErrs1;errors = emErrs1.length;}}}else {const err33 = {keyword:"type",dataPath:dataPath+"/allMatch",schemaPath:"#/oneOf/1/properties/allMatch/type",params:{type: "array"},message:"should be array"};if(vErrors === null){vErrors = [err33];}else {vErrors.push(err33);}errors++;}}}var _valid0 = _errs20 === errors;if(_valid0 && valid0){valid0 = false;passing0 = [passing0, 1];}else {if(_valid0){valid0 = true;passing0 = 1;}}if(!valid0){const err34 = {keyword:"oneOf",dataPath,schemaPath:"#/oneOf",params:{passingSchemas: passing0},message:"should match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err34];}else {vErrors.push(err34);}errors++;}else {errors = _errs1;if(vErrors !== null){if(_errs1){vErrors.length = _errs1;}else {vErrors = null;}}}validate17.errors = vErrors;return errors === 0;}function validate16(data, {dataPath="", parentData, parentDataProperty, rootData=data}={}){let vErrors = null;let errors = 0;if(Array.isArray(data)){const len0 = data.length;for(let i0=0; i0<len0; i0++){let data0 = data[i0];const _errs5 = errors;let valid5 = true;const _errs6 = errors;if(data0 && typeof data0 == "object" && !Array.isArray(data0)){if((data0.type === undefined) && ("type")){const err0 = {};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}else {if(data0.type !== undefined){if(!func0(data0.type, "Dropdown")){const err1 = {};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}}}}var _valid0 = _errs6 === errors;errors = _errs5;if(vErrors !== null){if(_errs5){vErrors.length = _errs5;}else {vErrors = null;}}if(_valid0){const _errs8 = errors;if(data0 && typeof data0 == "object" && !Array.isArray(data0)){if(data0.choices === undefined){const err2 = {keyword:"required",dataPath:dataPath+"/" + i0,schemaPath:"#/allOf/0/items/allOf/0/then/required",params:{missingProperty: "choices"},message:"should have required property '"+"choices"+"'"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}}if(errors > 0){const emErrs0 = [];for(const err3 of vErrors){if(((((err3.keyword !== "errorMessage") && (!err3.emUsed)) && ((err3.dataPath === dataPath+"/" + i0) || ((err3.dataPath.indexOf(dataPath+"/" + i0) === 0) && (err3.dataPath[dataPath+"/" + i0.length] === "/")))) && (err3.schemaPath.indexOf("#/allOf/0/items/allOf/0/then") === 0)) && (err3.schemaPath["#/allOf/0/items/allOf/0/then".length] === "/")){emErrs0.push(err3);err3.emUsed = true;}}if(emErrs0.length){const err4 = {keyword:"errorMessage",dataPath:dataPath+"/" + i0,schemaPath:"#/allOf/0/items/allOf/0/then/errorMessage",params:{errors: emErrs0},message:"must provide choices=[] with \"Dropdown\" type"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}const emErrs1 = [];for(const err5 of vErrors){if(!err5.emUsed){emErrs1.push(err5);}}vErrors = emErrs1;errors = emErrs1.length;}var _valid0 = _errs8 === errors;valid5 = _valid0;}if(!valid5){const err6 = {keyword:"if",dataPath:dataPath+"/" + i0,schemaPath:"#/allOf/0/items/allOf/0/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}if(data0 && typeof data0 == "object" && !Array.isArray(data0)){if(data0.id !== undefined){if(typeof data0.id !== "string"){const err7 = {keyword:"type",dataPath:dataPath+"/" + i0+"/id",schemaPath:"#/allOf/0/items/properties/id/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}}if(data0.value !== undefined){let data3 = data0.value;if((typeof data3 !== "string") && (typeof data3 !== "boolean")){const err8 = {keyword:"type",dataPath:dataPath+"/" + i0+"/value",schemaPath:"#/allOf/0/items/properties/value/type",params:{type: schema18.allOf[0].items.properties.value.type},message:"should be string,boolean"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}}if(data0.description !== undefined){if(typeof data0.description !== "string"){const err9 = {keyword:"type",dataPath:dataPath+"/" + i0+"/description",schemaPath:"#/allOf/0/items/properties/description/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}}if(data0.label !== undefined){if(typeof data0.label !== "string"){const err10 = {keyword:"type",dataPath:dataPath+"/" + i0+"/label",schemaPath:"#/allOf/0/items/properties/label/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}}if(data0.type !== undefined){if(typeof data0.type !== "string"){const err11 = {keyword:"type",dataPath:dataPath+"/" + i0+"/type",schemaPath:"#/allOf/0/items/properties/type/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}}if(data0.editable !== undefined){if(typeof data0.editable !== "boolean"){const err12 = {keyword:"type",dataPath:dataPath+"/" + i0+"/editable",schemaPath:"#/allOf/0/items/properties/editable/type",params:{type: "boolean"},message:"should be boolean"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}}if(data0.choices !== undefined){let data8 = data0.choices;if(Array.isArray(data8)){const len1 = data8.length;for(let i1=0; i1<len1; i1++){let data9 = data8[i1];if(data9 && typeof data9 == "object" && !Array.isArray(data9)){if(data9.value === undefined){const err13 = {keyword:"required",dataPath:dataPath+"/" + i0+"/choices/" + i1,schemaPath:"#/allOf/0/items/properties/choices/items/required",params:{missingProperty: "value"},message:"should have required property '"+"value"+"'"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}if(data9.name === undefined){const err14 = {keyword:"required",dataPath:dataPath+"/" + i0+"/choices/" + i1,schemaPath:"#/allOf/0/items/properties/choices/items/required",params:{missingProperty: "name"},message:"should have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}if(data9.name !== undefined){if(typeof data9.name !== "string"){const err15 = {keyword:"type",dataPath:dataPath+"/" + i0+"/choices/" + i1+"/name",schemaPath:"#/allOf/0/items/properties/choices/items/properties/name/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}}if(data9.value !== undefined){if(typeof data9.value !== "string"){const err16 = {keyword:"type",dataPath:dataPath+"/" + i0+"/choices/" + i1+"/value",schemaPath:"#/allOf/0/items/properties/choices/items/properties/value/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}}if(data9.condition !== undefined){if(!(validate17(data9.condition, {dataPath:dataPath+"/" + i0+"/choices/" + i1+"/condition",parentData:data9,parentDataProperty:"condition",rootData}))){vErrors = vErrors === null ? validate17.errors : vErrors.concat(validate17.errors);errors = vErrors.length;}}}else {const err17 = {keyword:"type",dataPath:dataPath+"/" + i0+"/choices/" + i1,schemaPath:"#/allOf/0/items/properties/choices/items/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}if(errors > 0){const emErrors0 = {"required":[]};const templates0 = {};for(const err18 of vErrors){if((((((err18.keyword !== "errorMessage") && (!err18.emUsed)) && (err18.dataPath === dataPath+"/" + i0+"/choices/" + i1)) && (err18.keyword in emErrors0)) && (err18.schemaPath.indexOf("#/allOf/0/items/properties/choices/items") === 0)) && (/^\/[^\/]*$/.test(err18.schemaPath.slice(40)))){emErrors0[err18.keyword].push(err18);err18.emUsed = true;}}for(const key0 in emErrors0){if(emErrors0[key0].length){const err19 = {keyword:"errorMessage",dataPath:dataPath+"/" + i0+"/choices/" + i1,schemaPath:"#/allOf/0/items/properties/choices/items/errorMessage",params:{errors: emErrors0[key0]},message:key0 in templates0 ? templates0[key0]() : schema18.allOf[0].items.properties.choices.items.errorMessage[key0]};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}}const emErrs2 = [];for(const err20 of vErrors){if(!err20.emUsed){emErrs2.push(err20);}}vErrors = emErrs2;errors = emErrs2.length;}}}else {const err21 = {keyword:"type",dataPath:dataPath+"/" + i0+"/choices",schemaPath:"#/allOf/0/items/properties/choices/type",params:{type: "array"},message:"should be array"};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}}if(data0.constraints !== undefined){let data13 = data0.constraints;if(data13 && typeof data13 == "object" && !Array.isArray(data13)){if(data13.notEmpty !== undefined){if(typeof data13.notEmpty !== "boolean"){const err22 = {keyword:"type",dataPath:dataPath+"/" + i0+"/constraints/notEmpty",schemaPath:"#/allOf/0/items/properties/constraints/properties/notEmpty/type",params:{type: "boolean"},message:"should be boolean"};if(vErrors === null){vErrors = [err22];}else {vErrors.push(err22);}errors++;}}if(data13.minLength !== undefined){if(!(typeof data13.minLength == "number")){const err23 = {keyword:"type",dataPath:dataPath+"/" + i0+"/constraints/minLength",schemaPath:"#/allOf/0/items/properties/constraints/properties/minLength/type",params:{type: "number"},message:"should be number"};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}}if(data13.maxLength !== undefined){if(!(typeof data13.maxLength == "number")){const err24 = {keyword:"type",dataPath:dataPath+"/" + i0+"/constraints/maxLength",schemaPath:"#/allOf/0/items/properties/constraints/properties/maxLength/type",params:{type: "number"},message:"should be number"};if(vErrors === null){vErrors = [err24];}else {vErrors.push(err24);}errors++;}}if(data13.pattern !== undefined){let data17 = data13.pattern;const _errs39 = errors;let valid13 = false;let passing0 = null;const _errs40 = errors;if(data17 && typeof data17 == "object" && !Array.isArray(data17)){if(data17.value !== undefined){if(typeof data17.value !== "string"){const err25 = {keyword:"type",dataPath:dataPath+"/" + i0+"/constraints/pattern/value",schemaPath:"#/allOf/0/items/properties/constraints/properties/pattern/oneOf/0/properties/value/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err25];}else {vErrors.push(err25);}errors++;}}if(data17.message !== undefined){if(typeof data17.message !== "string"){const err26 = {keyword:"type",dataPath:dataPath+"/" + i0+"/constraints/pattern/message",schemaPath:"#/allOf/0/items/properties/constraints/properties/pattern/oneOf/0/properties/message/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err26];}else {vErrors.push(err26);}errors++;}}}else {const err27 = {keyword:"type",dataPath:dataPath+"/" + i0+"/constraints/pattern",schemaPath:"#/allOf/0/items/properties/constraints/properties/pattern/oneOf/0/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err27];}else {vErrors.push(err27);}errors++;}var _valid1 = _errs40 === errors;if(_valid1){valid13 = true;passing0 = 0;}const _errs46 = errors;if(typeof data17 !== "string"){const err28 = {keyword:"type",dataPath:dataPath+"/" + i0+"/constraints/pattern",schemaPath:"#/allOf/0/items/properties/constraints/properties/pattern/oneOf/1/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err28];}else {vErrors.push(err28);}errors++;}var _valid1 = _errs46 === errors;if(_valid1 && valid13){valid13 = false;passing0 = [passing0, 1];}else {if(_valid1){valid13 = true;passing0 = 1;}}if(!valid13){const err29 = {keyword:"oneOf",dataPath:dataPath+"/" + i0+"/constraints/pattern",schemaPath:"#/allOf/0/items/properties/constraints/properties/pattern/oneOf",params:{passingSchemas: passing0},message:"should match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err29];}else {vErrors.push(err29);}errors++;}else {errors = _errs39;if(vErrors !== null){if(_errs39){vErrors.length = _errs39;}else {vErrors = null;}}}}}else {const err30 = {keyword:"type",dataPath:dataPath+"/" + i0+"/constraints",schemaPath:"#/allOf/0/items/properties/constraints/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err30];}else {vErrors.push(err30);}errors++;}}if(data0.group !== undefined){if(typeof data0.group !== "string"){const err31 = {keyword:"type",dataPath:dataPath+"/" + i0+"/group",schemaPath:"#/allOf/0/items/properties/group/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err31];}else {vErrors.push(err31);}errors++;}}if(data0.condition !== undefined){let data21 = data0.condition;if(!(data21 && typeof data21 == "object" && !Array.isArray(data21))){const err32 = {keyword:"type",dataPath:dataPath+"/" + i0+"/condition",schemaPath:"#/allOf/0/items/properties/condition/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err32];}else {vErrors.push(err32);}errors++;}const _errs52 = errors;let valid15 = false;let passing1 = null;const _errs53 = errors;const _errs56 = errors;let valid17 = false;let passing2 = null;const _errs57 = errors;if(data21 && typeof data21 == "object" && !Array.isArray(data21)){if(data21.equals === undefined){const err33 = {keyword:"required",dataPath:dataPath+"/" + i0+"/condition",schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/oneOf/0/required",params:{missingProperty: "equals"},message:"should have required property '"+"equals"+"'"};if(vErrors === null){vErrors = [err33];}else {vErrors.push(err33);}errors++;}if(data21.equals !== undefined){let data22 = data21.equals;if(((typeof data22 !== "string") && (!(typeof data22 == "number"))) && (typeof data22 !== "boolean")){const err34 = {keyword:"type",dataPath:dataPath+"/" + i0+"/condition/equals",schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/oneOf/0/properties/equals/type",params:{type: schema20.oneOf[0].properties.equals.type},message:"should be string,number,boolean"};if(vErrors === null){vErrors = [err34];}else {vErrors.push(err34);}errors++;}}}var _valid3 = _errs57 === errors;if(_valid3){valid17 = true;passing2 = 0;}const _errs60 = errors;if(data21 && typeof data21 == "object" && !Array.isArray(data21)){if(data21.oneOf === undefined){const err35 = {keyword:"required",dataPath:dataPath+"/" + i0+"/condition",schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/oneOf/1/required",params:{missingProperty: "oneOf"},message:"should have required property '"+"oneOf"+"'"};if(vErrors === null){vErrors = [err35];}else {vErrors.push(err35);}errors++;}if(data21.oneOf !== undefined){let data23 = data21.oneOf;if(Array.isArray(data23)){const len2 = data23.length;for(let i2=0; i2<len2; i2++){let data24 = data23[i2];if((typeof data24 !== "string") && (!(typeof data24 == "number"))){const err36 = {keyword:"type",dataPath:dataPath+"/" + i0+"/condition/oneOf/" + i2,schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/oneOf/1/properties/oneOf/items/type",params:{type: schema20.oneOf[1].properties.oneOf.items.type},message:"should be string,number"};if(vErrors === null){vErrors = [err36];}else {vErrors.push(err36);}errors++;}}}else {const err37 = {keyword:"type",dataPath:dataPath+"/" + i0+"/condition/oneOf",schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/oneOf/1/properties/oneOf/type",params:{type: "array"},message:"should be array"};if(vErrors === null){vErrors = [err37];}else {vErrors.push(err37);}errors++;}}}var _valid3 = _errs60 === errors;if(_valid3 && valid17){valid17 = false;passing2 = [passing2, 1];}else {if(_valid3){valid17 = true;passing2 = 1;}const _errs65 = errors;if(data21 && typeof data21 == "object" && !Array.isArray(data21)){if(data21.isActive === undefined){const err38 = {keyword:"required",dataPath:dataPath+"/" + i0+"/condition",schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/oneOf/2/required",params:{missingProperty: "isActive"},message:"should have required property '"+"isActive"+"'"};if(vErrors === null){vErrors = [err38];}else {vErrors.push(err38);}errors++;}if(data21.isActive !== undefined){if(typeof data21.isActive !== "boolean"){const err39 = {keyword:"type",dataPath:dataPath+"/" + i0+"/condition/isActive",schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/oneOf/2/properties/isActive/type",params:{type: "boolean"},message:"should be boolean"};if(vErrors === null){vErrors = [err39];}else {vErrors.push(err39);}errors++;}}}var _valid3 = _errs65 === errors;if(_valid3 && valid17){valid17 = false;passing2 = [passing2, 2];}else {if(_valid3){valid17 = true;passing2 = 2;}}}if(!valid17){const err40 = {keyword:"oneOf",dataPath:dataPath+"/" + i0+"/condition",schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/oneOf",params:{passingSchemas: passing2},message:"should match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err40];}else {vErrors.push(err40);}errors++;}else {errors = _errs56;if(vErrors !== null){if(_errs56){vErrors.length = _errs56;}else {vErrors = null;}}}if(data21 && typeof data21 == "object" && !Array.isArray(data21)){if(data21.property === undefined){const err41 = {keyword:"required",dataPath:dataPath+"/" + i0+"/condition",schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/required",params:{missingProperty: "property"},message:"should have required property '"+"property"+"'"};if(vErrors === null){vErrors = [err41];}else {vErrors.push(err41);}errors++;}if(data21.type !== undefined){if(!func0(data21.type, "simple")){const err42 = {keyword:"const",dataPath:dataPath+"/" + i0+"/condition/type",schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/properties/type/const",params:{allowedValue: "simple"},message:"should be equal to constant"};if(vErrors === null){vErrors = [err42];}else {vErrors.push(err42);}errors++;}}if(data21.property !== undefined){if(typeof data21.property !== "string"){const err43 = {keyword:"type",dataPath:dataPath+"/" + i0+"/condition/property",schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/properties/property/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err43];}else {vErrors.push(err43);}errors++;}}}else {const err44 = {keyword:"type",dataPath:dataPath+"/" + i0+"/condition",schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err44];}else {vErrors.push(err44);}errors++;}if(errors > 0){const emErrors1 = {"required":{"property":[]}};const templates1 = {required:{}};let emPropParams0;let emParamsErrors0;for(const err45 of vErrors){if((((((err45.keyword !== "errorMessage") && (!err45.emUsed)) && (err45.dataPath === dataPath+"/" + i0+"/condition")) && (err45.keyword in emErrors1)) && (err45.schemaPath.indexOf("#/definitions/properties/allOf/0/items/properties/condition/definitions/condition") === 0)) && (/^\/[^\/]*$/.test(err45.schemaPath.slice(81)))){emPropParams0 = obj0[err45.keyword];emParamsErrors0 = emErrors1[err45.keyword][err45.params[emPropParams0]];if(emParamsErrors0){emParamsErrors0.push(err45);err45.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 err46 = {keyword:"errorMessage",dataPath:dataPath+"/" + i0+"/condition",schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/errorMessage",params:{errors: emParamsErrors0},message:tmpl0 ? tmpl0() : schema20.errorMessage[key1][keyProp0]};if(vErrors === null){vErrors = [err46];}else {vErrors.push(err46);}errors++;}}}const emErrs3 = [];for(const err47 of vErrors){if(!err47.emUsed){emErrs3.push(err47);}}vErrors = emErrs3;errors = emErrs3.length;}var _valid2 = _errs53 === errors;if(_valid2){valid15 = true;passing1 = 0;}const _errs71 = errors;if(data21 && typeof data21 == "object" && !Array.isArray(data21)){if(data21.allMatch === undefined){const err48 = {keyword:"required",dataPath:dataPath+"/" + i0+"/condition",schemaPath:"#/allOf/0/items/properties/condition/oneOf/1/required",params:{missingProperty: "allMatch"},message:"should have required property '"+"allMatch"+"'"};if(vErrors === null){vErrors = [err48];}else {vErrors.push(err48);}errors++;}if(data21.allMatch !== undefined){let data28 = data21.allMatch;if(Array.isArray(data28)){if(data28.length < 1){const err49 = {keyword:"minItems",dataPath:dataPath+"/" + i0+"/condition/allMatch",schemaPath:"#/allOf/0/items/properties/condition/oneOf/1/properties/allMatch/minItems",params:{limit: 1},message:"should NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err49];}else {vErrors.push(err49);}errors++;}const len3 = data28.length;for(let i3=0; i3<len3; i3++){let data29 = data28[i3];const _errs77 = errors;let valid28 = false;let passing3 = null;const _errs78 = errors;if(data29 && typeof data29 == "object" && !Array.isArray(data29)){if(data29.equals === undefined){const err50 = {keyword:"required",dataPath:dataPath+"/" + i0+"/condition/allMatch/" + i3,schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/oneOf/0/required",params:{missingProperty: "equals"},message:"should have required property '"+"equals"+"'"};if(vErrors === null){vErrors = [err50];}else {vErrors.push(err50);}errors++;}if(data29.equals !== undefined){let data30 = data29.equals;if(((typeof data30 !== "string") && (!(typeof data30 == "number"))) && (typeof data30 !== "boolean")){const err51 = {keyword:"type",dataPath:dataPath+"/" + i0+"/condition/allMatch/" + i3+"/equals",schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/oneOf/0/properties/equals/type",params:{type: schema20.oneOf[0].properties.equals.type},message:"should be string,number,boolean"};if(vErrors === null){vErrors = [err51];}else {vErrors.push(err51);}errors++;}}}var _valid4 = _errs78 === errors;if(_valid4){valid28 = true;passing3 = 0;}const _errs81 = errors;if(data29 && typeof data29 == "object" && !Array.isArray(data29)){if(data29.oneOf === undefined){const err52 = {keyword:"required",dataPath:dataPath+"/" + i0+"/condition/allMatch/" + i3,schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/oneOf/1/required",params:{missingProperty: "oneOf"},message:"should have required property '"+"oneOf"+"'"};if(vErrors === null){vErrors = [err52];}else {vErrors.push(err52);}errors++;}if(data29.oneOf !== undefined){let data31 = data29.oneOf;if(Array.isArray(data31)){const len4 = data31.length;for(let i4=0; i4<len4; i4++){let data32 = data31[i4];if((typeof data32 !== "string") && (!(typeof data32 == "number"))){const err53 = {keyword:"type",dataPath:dataPath+"/" + i0+"/condition/allMatch/" + i3+"/oneOf/" + i4,schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/oneOf/1/properties/oneOf/items/type",params:{type: schema20.oneOf[1].properties.oneOf.items.type},message:"should be string,number"};if(vErrors === null){vErrors = [err53];}else {vErrors.push(err53);}errors++;}}}else {const err54 = {keyword:"type",dataPath:dataPath+"/" + i0+"/condition/allMatch/" + i3+"/oneOf",schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/oneOf/1/properties/oneOf/type",params:{type: "array"},message:"should be array"};if(vErrors === null){vErrors = [err54];}else {vErrors.push(err54);}errors++;}}}var _valid4 = _errs81 === errors;if(_valid4 && valid28){valid28 = false;passing3 = [passing3, 1];}else {if(_valid4){valid28 = true;passing3 = 1;}const _errs86 = errors;if(data29 && typeof data29 == "object" && !Array.isArray(data29)){if(data29.isActive === undefined){const err55 = {keyword:"required",dataPath:dataPath+"/" + i0+"/condition/allMatch/" + i3,schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/oneOf/2/required",params:{missingProperty: "isActive"},message:"should have required property '"+"isActive"+"'"};if(vErrors === null){vErrors = [err55];}else {vErrors.push(err55);}errors++;}if(data29.isActive !== undefined){if(typeof data29.isActive !== "boolean"){const err56 = {keyword:"type",dataPath:dataPath+"/" + i0+"/condition/allMatch/" + i3+"/isActive",schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/oneOf/2/properties/isActive/type",params:{type: "boolean"},message:"should be boolean"};if(vErrors === null){vErrors = [err56];}else {vErrors.push(err56);}errors++;}}}var _valid4 = _errs86 === errors;if(_valid4 && valid28){valid28 = false;passing3 = [passing3, 2];}else {if(_valid4){valid28 = true;passing3 = 2;}}}if(!valid28){const err57 = {keyword:"oneOf",dataPath:dataPath+"/" + i0+"/condition/allMatch/" + i3,schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/oneOf",params:{passingSchemas: passing3},message:"should match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err57];}else {vErrors.push(err57);}errors++;}else {errors = _errs77;if(vErrors !== null){if(_errs77){vErrors.length = _errs77;}else {vErrors = null;}}}if(data29 && typeof data29 == "object" && !Array.isArray(data29)){if(data29.property === undefined){const err58 = {keyword:"required",dataPath:dataPath+"/" + i0+"/condition/allMatch/" + i3,schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/required",params:{missingProperty: "property"},message:"should have required property '"+"property"+"'"};if(vErrors === null){vErrors = [err58];}else {vErrors.push(err58);}errors++;}if(data29.type !== undefined){if(!func0(data29.type, "simple")){const err59 = {keyword:"const",dataPath:dataPath+"/" + i0+"/condition/allMatch/" + i3+"/type",schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/properties/type/const",params:{allowedValue: "simple"},message:"should be equal to constant"};if(vErrors === null){vErrors = [err59];}else {vErrors.push(err59);}errors++;}}if(data29.property !== undefined){if(typeof data29.property !== "string"){const err60 = {keyword:"type",dataPath:dataPath+"/" + i0+"/condition/allMatch/" + i3+"/property",schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/properties/property/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err60];}else {vErrors.push(err60);}errors++;}}}else {const err61 = {keyword:"type",dataPath:dataPath+"/" + i0+"/condition/allMatch/" + i3,schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err61];}else {vErrors.push(err61);}errors++;}if(errors > 0){const emErrors2 = {"required":{"property":[]}};const templates2 = {required:{}};let emPropParams1;let emParamsErrors1;for(const err62 of vErrors){if((((((err62.keyword !== "errorMessage") && (!err62.emUsed)) && (err62.dataPath === dataPath+"/" + i0+"/condition/allMatch/" + i3)) && (err62.keyword in emErrors2)) && (err62.schemaPath.indexOf("#/definitions/properties/allOf/0/items/properties/condition/definitions/condition") === 0)) && (/^\/[^\/]*$/.test(err62.schemaPath.slice(81)))){emPropParams1 = obj0[err62.keyword];emParamsErrors1 = emErrors2[err62.keyword][err62.params[emPropParams1]];if(emParamsErrors1){emParamsErrors1.push(err62);err62.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 err63 = {keyword:"errorMessage",dataPath:dataPath+"/" + i0+"/condition/allMatch/" + i3,schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/errorMessage",params:{errors: emParamsErrors1},message:tmpl1 ? tmpl1() : schema20.errorMessage[key2][keyProp1]};if(vErrors === null){vErrors = [err63];}else {vErrors.push(err63);}errors++;}}}const emErrs4 = [];for(const err64 of vErrors){if(!err64.emUsed){emErrs4.push(err64);}}vErrors = emErrs4;errors = emErrs4.length;}}}else {const err65 = {keyword:"type",dataPath:dataPath+"/" + i0+"/condition/allMatch",schemaPath:"#/allOf/0/items/properties/condition/oneOf/1/properties/allMatch/type",params:{type: "array"},message:"should be array"};if(vErrors === null){vErrors = [err65];}else {vErrors.push(err65);}errors++;}}}var _valid2 = _errs71 === errors;if(_valid2 && valid15){valid15 = false;passing1 = [passing1, 1];}else {if(_valid2){valid15 = true;passing1 = 1;}}if(!valid15){const err66 = {keyword:"oneOf",dataPath:dataPath+"/" + i0+"/condition",schemaPath:"#/allOf/0/items/properties/condition/oneOf",params:{passingSchemas: passing1},message:"should match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err66];}else {vErrors.push(err66);}errors++;}else {errors = _errs52;if(vErrors !== null){if(_errs52){vErrors.length = _errs52;}else {vErrors = null;}}}}}else {const err67 = {keyword:"type",dataPath:dataPath+"/" + i0,schemaPath:"#/allOf/0/items/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err67];}else {vErrors.push(err67);}errors++;}}}else {const err68 = {keyword:"type",dataPath,schemaPath:"#/allOf/0/type",params:{type: "array"},message:"should be array"};if(vErrors === null){vErrors = [err68];}else {vErrors.push(err68);}errors++;}if(Array.isArray(data)){const len5 = data.length;for(let i5=0; i5<len5; i5++){let data36 = data[i5];const _errs97 = errors;let valid39 = true;const _errs98 = errors;if(data36 && typeof data36 == "object" && !Array.isArray(data36)){if((data36.binding === undefined) && ("binding")){const err69 = {};if(vErrors === null){vErrors = [err69];}else {vErrors.push(err69);}errors++;}else {if(data36.binding !== undefined){let data37 = data36.binding;if(data37 && typeof data37 == "object" && !Array.isArray(data37)){if((data37.type === undefined) && ("type")){const err70 = {};if(vErrors === null){vErrors = [err70];}else {vErrors.push(err70);}errors++;}else {if(data37.type !== undefined){if(!func0(data37.type, "property")){const err71 = {};if(vErrors === null){vErrors = [err71];}else {vErrors.push(err71);}errors++;}}}}}}}var _valid5 = _errs98 === errors;errors = _errs97;if(vErrors !== null){if(_errs97){vErrors.length = _errs97;}else {vErrors = null;}}if(_valid5){const _errs101 = 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 err72 = {keyword:"enum",dataPath:dataPath+"/" + i5+"/type",schemaPath:"#/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 = [err72];}else {vErrors.push(err72);}errors++;}if(errors > 0){const emErrs5 = [];for(const err73 of vErrors){if(((((err73.keyword !== "errorMessage") && (!err73.emUsed)) && ((err73.dataPath === dataPath+"/" + i5+"/type") || ((err73.dataPath.indexOf(dataPath+"/" + i5+"/type") === 0) && (err73.dataPath[dataPath+"/" + i5+"/type".length] === "/")))) && (err73.schemaPath.indexOf("#/allOf/1/items/allOf/0/then/properties/type") === 0)) && (err73.schemaPath["#/allOf/1/items/allOf/0/then/properties/type".length] === "/")){emErrs5.push(err73);err73.emUsed = true;}}if(emErrs5.length){const err74 = {keyword:"errorMessage",dataPath:dataPath+"/" + i5+"/type",schemaPath:"#/allOf/1/items/allOf/0/then/properties/type/errorMessage",params:{errors: emErrs5},message:"invalid property type " + JSON.stringify(data39) + " for binding type \"property\"; must be any of { String, Text, Hidden, Dropdown, Boolean }"};if(vErrors === null){vErrors = [err74];}else {vErrors.push(err74);}errors++;}const emErrs6 = [];for(const err75 of vErrors){if(!err75.emUsed){emErrs6.push(err75);}}vErrors = emErrs6;errors = emErrs6.length;}}}var _valid5 = _errs101 === errors;valid39 = _valid5;}if(!valid39){const err76 = {keyword:"if",dataPath:dataPath+"/" + i5,schemaPath:"#/allOf/1/items/allOf/0/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err76];}else {vErrors.push(err76);}errors++;}const _errs104 = errors;let valid43 = true;const _errs105 = 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 data40 = data36.binding;if(data40 && typeof data40 == "object" && !Array.isArray(data40)){if((data40.type === undefined) && ("type")){const err78 = {};if(vErrors === null){vErrors = [err78];}else {vErrors.push(err78);}errors++;}else {if(data40.type !== undefined){let data41 = data40.type;if(!((((((((data41 === "zeebe:input") || (data41 === "zeebe:output")) || (data41 === "zeebe:property")) || (data41 === "zeebe:taskHeader")) || (data41 === "zeebe:taskDefinition:type")) || (data41 === "bpmn:Message#property")) || (data41 === "bpmn:Message#zeebe:subscription#property")) || (data41 === "zeebe:taskDefinition"))){const err79 = {};if(vErrors === null){vErrors = [err79];}else {vErrors.push(err79);}errors++;}}}}}}}var _valid6 = _errs105 === errors;errors = _errs104;if(vErrors !== null){if(_errs104){vErrors.length = _errs104;}else {vErrors = null;}}if(_valid6){const _errs108 = 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 err80 = {keyword:"enum",dataPath:dataPath+"/" + i5+"/type",schemaPath:"#/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 = [err80];}else {vErrors.push(err80);}errors++;}if(errors > 0){const emErrs7 = [];for(const err81 of vErrors){if(((((err81.keyword !== "errorMessage") && (!err81.emUsed)) && ((err81.dataPath === dataPath+"/" + i5+"/type") || ((err81.dataPath.indexOf(dataPath+"/" + i5+"/type") === 0) && (err81.dataPath[dataPath+"/" + i5+"/type".length] === "/")))) && (err81.schemaPath.indexOf("#/allOf/1/items/allOf/1/then/properties/type") === 0)) && (err81.schemaPath["#/allOf/1/items/allOf/1/then/properties/type".length] === "/")){emErrs7.push(err81);err81.emUsed = true;}}if(emErrs7.length){const err82 = {keyword:"errorMessage",dataPath:dataPath+"/" + i5+"/type",schemaPath:"#/allOf/1/items/allOf/1/then/properties/type/errorMessage",params:{errors: emErrs7},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 = [err82];}else {vErrors.push(err82);}errors++;}const emErrs8 = [];for(const err83 of vErrors){if(!err83.emUsed){emErrs8.push(err83);}}vErrors = emErrs8;errors = emErrs8.length;}}}var _valid6 = _errs108 === errors;valid43 = _valid6;}if(!valid43){const err84 = {keyword:"if",dataPath:dataPath+"/" + i5,schemaPath:"#/allOf/1/items/allOf/1/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err84];}else {vErrors.push(err84);}errors++;}const _errs111 = errors;let valid47 = true;const _errs112 = errors;if(data36 && typeof data36 == "object" && !Array.isArray(data36)){if((data36.optional === undefined) && ("optional")){const err85 = {};if(vErrors === null){vErrors = [err85];}else {vErrors.push(err85);}errors++;}else {if(data36.optional !== undefined){if(!func0(data36.optional, true)){const err86 = {};if(vErrors === null){vErrors = [err86];}else {vErrors.push(err86);}errors++;}}}}var _valid7 = _errs112 === errors;errors = _errs111;if(vErrors !== null){if(_errs111){vErrors.length = _errs111;}else {vErrors = null;}}if(_valid7){const _errs114 = 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 err87 = {keyword:"required",dataPath:dataPath+"/" + i5+"/binding",schemaPath:"#/allOf/1/items/allOf/2/then/properties/binding/required",params:{missingProperty: "type"},message:"should have required property '"+"type"+"'"};if(vErrors === null){vErrors = [err87];}else {vErrors.push(err87);}errors++;}if(data44.type !== undefined){let data45 = data44.type;if(!((((data45 === "zeebe:input") || (data45 === "zeebe:output")) || (data45 === "zeebe:property")) || (data45 === "zeebe:taskHeader"))){const err88 = {keyword:"enum",dataPath:dataPath+"/" + i5+"/binding/type",schemaPath:"#/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 = [err88];}else {vErrors.push(err88);}errors++;}if(errors > 0){const emErrs9 = [];for(const err89 of vErrors){if(((((err89.keyword !== "errorMessage") && (!err89.emUsed)) && ((err89.dataPath === dataPath+"/" + i5+"/binding/type") || ((err89.dataPath.indexOf(dataPath+"/" + i5+"/binding/type") === 0) && (err89.dataPath[dataPath+"/" + i5+"/binding/type".length] === "/")))) && (err89.schemaPath.indexOf("#/allOf/1/items/allOf/2/then/properties/binding/properties/type") === 0)) && (err89.schemaPath["#/allOf/1/items/allOf/2/then/properties/binding/properties/type".length] === "/")){emErrs9.push(err89);err89.emUsed = true;}}if(emErrs9.length){const err90 = {keyword:"errorMessage",dataPath:dataPath+"/" + i5+"/binding/type",schemaPath:"#/allOf/1/items/allOf/2/then/properties/binding/properties/type/errorMessage",params:{errors: emErrs9},message:"optional is not supported for binding type " + JSON.stringify(data45) + "; must be any of { zeebe:input, zeebe:output, zeebe:property, zeebe:taskHeader }"};if(vErrors === null){vErrors = [err90];}else {vErrors.push(err90);}errors++;}const emErrs10 = [];for(const err91 of vErrors){if(!err91.emUsed){emErrs10.push(err91);}}vErrors = emErrs10;errors = emErrs10.length;}}}}}var _valid7 = _errs114 === errors;valid47 = _valid7;}if(!valid47){const err92 = {keyword:"if",dataPath:dataPath+"/" + i5,schemaPath:"#/allOf/1/items/allOf/2/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err92];}else {vErrors.push(err92);}errors++;}const _errs118 = errors;let valid51 = true;const _errs119 = 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(!func0(data36.optional, true)){const err94 = {};if(vErrors === null){vErrors = [err94];}else {vErrors.push(err94);}errors++;}}}}var _valid8 = _errs119 === errors;errors = _errs118;if(vErrors !== null){if(_errs118){vErrors.length = _errs118;}else {vErrors = null;}}if(_valid8){const _errs121 = 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 err95 = {keyword:"required",dataPath:dataPath+"/" + i5+"/constraints",schemaPath:"#/allOf/1/items/allOf/3/then/properties/constraints/required",params:{missingProperty: "notEmpty"},message:"should have required property '"+"notEmpty"+"'"};if(vErrors === null){vErrors = [err95];}else {vErrors.push(err95);}errors++;}if(data47.notEmpty !== undefined){if(!func0(data47.notEmpty, false)){const err96 = {keyword:"const",dataPath:dataPath+"/" + i5+"/constraints/notEmpty",schemaPath:"#/allOf/1/items/allOf/3/then/properties/constraints/properties/notEmpty/const",params:{allowedValue: false},message:"should be equal to constant"};if(vErrors === null){vErrors = [err96];}else {vErrors.push(err96);}errors++;}if(errors > 0){const emErrs11 = [];for(const err97 of vErrors){if(((((err97.keyword !== "errorMessage") && (!err97.emUsed)) && ((err97.dataPath === dataPath+"/" + i5+"/constraints/notEmpty") || ((err97.dataPath.indexOf(dataPath+"/" + i5+"/constraints/notEmpty") === 0) && (err97.dataPath[dataPath+"/" + i5+"/constraints/notEmpty".length] === "/")))) && (err97.schemaPath.indexOf("#/allOf/1/items/allOf/3/then/properties/constraints/properties/notEmpty") === 0)) && (err97.schemaPath["#/allOf/1/items/allOf/3/then/properties/constraints/properties/notEmpty".length] === "/")){emErrs11.push(err97);err97.emUsed = true;}}if(emErrs11.length){const err98 = {keyword:"errorMessage",dataPath:dataPath+"/" + i5+"/constraints/notEmpty",schemaPath:"#/allOf/1/items/allOf/3/then/properties/constraints/properties/notEmpty/errorMessage",params:{errors: emErrs11},message:"optional is not allowed for truthy \"notEmpty\" constraint"};if(vErrors === null){vErrors = [err98];}else {vErrors.push(err98);}errors++;}const emErrs12 = [];for(const err99 of vErrors){if(!err99.emUsed){emErrs12.push(err99);}}vErrors = emErrs12;errors = emErrs12.length;}}}}}var _valid8 = _errs121 === errors;valid51 = _valid8;}if(!valid51){const err100 = {keyword:"if",dataPath:dataPath+"/" + i5,schemaPath:"#/allOf/1/items/allOf/3/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err100];}else {vErrors.push(err100);}errors++;}const _errs125 = errors;let valid55 = true;const _errs126 = errors;if(data36 && typeof data36 == "object" && !Array.isArray(data36)){if((data36.feel === undefined) && ("feel")){const err101 = {};if(vErrors === null){vErrors = [err101];}else {vErrors.push(err101);}errors++;}else {if(data36.feel !== undefined){const _errs128 = errors;const _errs129 = errors;if(!func0(data36.feel, schema18.allOf[1].items.allOf[4].if.properties.feel.not.const)){const err102 = {};if(vErrors === null){vErrors = [err102];}else {vErrors.push(err102);}errors++;}var valid57 = _errs129 === errors;if(!valid57){errors = _errs128;if(vErrors !== null){if(_errs128){vErrors.length = _errs128;}else {vErrors = null;}}}else {const err103 = {};if(vErrors === null){vErrors = [err103];}else {vErrors.push(err103);}errors++;}}}}var _valid9 = _errs126 === errors;errors = _errs125;if(vErrors !== null){if(_errs125){vErrors.length = _errs125;}else {vErrors = null;}}if(_valid9){const _errs130 = errors;if(data36 && typeof data36 == "object" && !Array.isArray(data36)){if(data36.type === undefined){const err104 = {keyword:"required",dataPath:dataPath+"/" + i5,schemaPath:"#/allOf/1/items/allOf/4/then/required",params:{missingProperty: "type"},message:"should have required property '"+"type"+"'"};if(vErrors === null){vErrors = [err104];}else {vErrors.push(err104);}errors++;}if(data36.type !== undefined){let data50 = data36.type;if(!((data50 === "String") || (data50 === "Text"))){const err105 = {keyword:"enum",dataPath:dataPath+"/" + i5+"/type",schemaPath:"#/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 = [err105];}else {vErrors.push(err105);}errors++;}if(errors > 0){const emErrs13 = [];for(const err106 of vErrors){if(((((err106.keyword !== "errorMessage") && (!err106.emUsed)) && ((err106.dataPath === dataPath+"/" + i5+"/type") || ((err106.dataPath.indexOf(dataPath+"/" + i5+"/type") === 0) && (err106.dataPath[dataPath+"/" + i5+"/type".length] === "/")))) && (err106.schemaPath.indexOf("#/allOf/1/items/allOf/4/then/properties/type") === 0)) && (err106.schemaPath["#/allOf/1/items/allOf/4/then/properties/type".length] === "/")){emErrs13.push(err106);err106.emUsed = true;}}if(emErrs13.length){const err107 = {keyword:"errorMessage",dataPath:dataPath+"/" + i5+"/type",schemaPath:"#/allOf/1/items/allOf/4/then/properties/type/errorMessage",params:{errors: emErrs13},message:"feel is only supported for \"String\" and \"Text\" type"};if(vErrors === null){vErrors = [err107];}else {vErrors.push(err107);}errors++;}const emErrs14 = [];for(const err108 of vErrors){if(!err108.emUsed){emErrs14.push(err108);}}vErrors = emErrs14;errors = emErrs14.length;}}}var _valid9 = _errs130 === errors;valid55 = _valid9;}if(!valid55){const err109 = {keyword:"if",dataPath:dataPath+"/" + i5,schemaPath:"#/allOf/1/items/allOf/4/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err109];}else {vErrors.push(err109);}errors++;}const _errs133 = errors;let valid59 = true;const _errs134 = errors;if(data36 && typeof data36 == "object" && !Array.isArray(data36)){if((data36.language === undefined) && ("language")){const err110 = {};if(vErrors === null){vErrors = [err110];}else {vErrors.push(err110);}errors++;}else {if(data36.language !== undefined){const _errs136 = errors;const _errs137 = errors;if(!func0(data36.language, schema18.allOf[1].items.allOf[5].if.properties.language.not.const)){const err111 = {};if(vErrors === null){vErrors = [err111];}else {vErrors.push(err111);}errors++;}var valid61 = _errs137 === errors;if(!valid61){errors = _errs136;if(vErrors !== null){if(_errs136){vErrors.length = _errs136;}else {vErrors = null;}}}else {const err112 = {};if(vErrors === null){vErrors = [err112];}else {vErrors.push(err112);}errors++;}}}}var _valid10 = _errs134 === errors;errors = _errs133;if(vErrors !== null){if(_errs133){vErrors.length = _errs133;}else {vErrors = null;}}if(_valid10){const _errs138 = errors;if(data36 && typeof data36 == "object" && !Array.isArray(data36)){if(data36.type !== undefined){if(!(data36.type === "Text")){const err113 = {keyword:"enum",dataPath:dataPath+"/" + i5+"/type",schemaPath:"#/allOf/1/items/allOf/5/then/properties/type/enum",params:{allowedValues: schema18.allOf[1].items.allOf[5].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 emErrs15 = [];for(const err114 of vErrors){if(((((err114.keyword !== "errorMessage") && (!err114.emUsed)) && ((err114.dataPath === dataPath+"/" + i5+"/type") || ((err114.dataPath.indexOf(dataPath+"/" + i5+"/type") === 0) && (err114.dataPath[dataPath+"/" + i5+"/type".length] === "/")))) && (err114.schemaPath.indexOf("#/allOf/1/items/allOf/5/then/properties/type") === 0)) && (err114.schemaPath["#/allOf/1/items/allOf/5/then/properties/type".length] === "/")){emErrs15.push(err114);err114.emUsed = true;}}if(emErrs15.length){const err115 = {keyword:"errorMessage",dataPath:dataPath+"/" + i5+"/type",schemaPath:"#/allOf/1/items/allOf/5/then/properties/type/errorMessage",params:{errors: emErrs15},message:"language is only supported for \"Text\" type"};if(vErrors === null){vErrors = [err115];}else {vErrors.push(err115);}errors++;}const emErrs16 = [];for(const err116 of vErrors){if(!err116.emUsed){emErrs16.push(err116);}}vErrors = emErrs16;errors = emErrs16.length;}}}var _valid10 = _errs138 === errors;valid59 = _valid10;}if(!valid59){const err117 = {keyword:"if",dataPath:dataPath+"/" + i5,schemaPath:"#/allOf/1/items/allOf/5/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err117];}else {vErrors.push(err117);}errors++;}const _errs141 = errors;let valid63 = true;const _errs142 = errors;if(data36 && typeof data36 == "object" && !Array.isArray(data36)){if((data36.value === undefined) && ("value")){const err118 = {};if(vErrors === null){vErrors = [err118];}else {vErrors.push(err118);}errors++;}}var _valid11 = _errs142 === errors;errors = _errs141;if(vErrors !== null){if(_errs141){vErrors.length = _errs141;}else {vErrors = null;}}if(_valid11){const _errs143 = errors;const _errs144 = errors;const _errs145 = errors;if(data36 && typeof data36 == "object" && !Array.isArray(data36)){if((data36.generatedValue === undefined) && ("generatedValue")){const err119 = {};if(vErrors === null){vErrors = [err119];}else {vErrors.push(err119);}errors++;}}var valid64 = _errs145 === errors;if(!valid64){errors = _errs144;if(vErrors !== null){if(_errs144){vErrors.length = _errs144;}else {vErrors = null;}}}else {const err120 = {keyword:"not",dataPath:dataPath+"/" + i5,schemaPath:"#/allOf/1/items/allOf/6/then/not",params:{},message:"should NOT be valid"};if(vErrors === null){vErrors = [err120];}else {vErrors.push(err120);}errors++;}var _valid11 = _errs143 === errors;valid63 = _valid11;}if(!valid63){const err121 = {keyword:"if",dataPath:dataPath+"/" + i5,schemaPath:"#/allOf/1/items/allOf/6/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err121];}else {vErrors.push(err121);}errors++;}const _errs147 = errors;let valid65 = true;const _errs148 = errors;if(data36 && typeof data36 == "object" && !Array.isArray(data36)){if((data36.type === undefined) && ("type")){const err122 = {};if(vErrors === null){vErrors = [err122];}else {vErrors.push(err122);}errors++;}else {if(data36.type !== undefined){let data53 = data36.type;if(!((data53 === "Boolean") || (data53 === "Dropdown"))){const err123 = {};if(vErrors === null){vErrors = [err123];}else {vErrors.push(err123);}errors++;}}}}var _valid12 = _errs148 === errors;errors = _errs147;if(vErrors !== null){if(_errs147){vErrors.length = _errs147;}else {vErrors = null;}}if(_valid12){const _errs150 = errors;const _errs151 = errors;const _errs152 = errors;if(data36 && typeof data36 == "object" && !Array.isArray(data36)){if((data36.generatedValue === undefined) && ("generatedValue")){const err124 = {};if(vErrors === null){vErrors = [err124];}else {vErrors.push(err124);}errors++;}}var valid67 = _errs152 === errors;if(!valid67){errors = _errs151;if(vErrors !== null){if(_errs151){vErrors.length = _errs151;}else {vErrors = null;}}}else {const err125 = {keyword:"not",dataPath:dataPath+"/" + i5,schemaPath:"#/allOf/1/items/allOf/7/then/not",params:{},message:"should NOT be valid"};if(vErrors === null){vErrors = [err125];}else {vErrors.push(err125);}errors++;}var _valid12 = _errs150 === errors;valid65 = _valid12;}if(!valid65){const err126 = {keyword:"if",dataPath:dataPath+"/" + i5,schemaPath:"#/allOf/1/items/allOf/7/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err126];}else {vErrors.push(err126);}errors++;}if(data36 && typeof data36 == "object" && !Array.isArray(data36)){if(data36.binding === undefined){const err127 = {keyword:"required",dataPath:dataPath+"/" + i5,schemaPath:"#/allOf/1/items/required",params:{missingProperty: "binding"},message:"should have required property '"+"binding"+"'"};if(vErrors === null){vErrors = [err127];}else {vErrors.push(err127);}errors++;}if(data36.binding !== undefined){let data54 = data36.binding;const _errs156 = errors;let valid70 = true;const _errs157 = errors;if(data54 && typeof data54 == "object" && !Array.isArray(data54)){if((data54.type === undefined) && ("type")){const err128 = {};if(vErrors === null){vErrors = [err128];}else {vErrors.push(err128);}errors++;}else {if(data54.type !== undefined){let data55 = data54.type;if(!(((((data55 === "property") || (data55 === "zeebe:property")) || (data55 === "zeebe:input")) || (data55 === "bpmn:Message#property")) || (data55 === "bpmn:Message#zeebe:subscription#property"))){const err129 = {};if(vErrors === null){vErrors = [err129];}else {vErrors.push(err129);}errors++;}}}}var _valid13 = _errs157 === errors;errors = _errs156;if(vErrors !== null){if(_errs156){vErrors.length = _errs156;}else {vErrors = null;}}if(_valid13){const _errs159 = errors;if(data54 && typeof data54 == "object" && !Array.isArray(data54)){if(data54.name === undefined){const err130 = {keyword:"required",dataPath:dataPath+"/" + i5+"/binding",schemaPath:"#/allOf/1/items/properties/binding/allOf/0/then/required",params:{missingProperty: "name"},message:"should have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err130];}else {vErrors.push(err130);}errors++;}}if(errors > 0){const emErrs17 = [];for(const err131 of vErrors){if(((((err131.keyword !== "errorMessage") && (!err131.emUsed)) && ((err131.dataPath === dataPath+"/" + i5+"/binding") || ((err131.dataPath.indexOf(dataPath+"/" + i5+"/binding") === 0) && (err131.dataPath[dataPath+"/" + i5+"/binding".length] === "/")))) && (err131.schemaPath.indexOf("#/allOf/1/items/properties/binding/allOf/0/then") === 0)) && (err131.schemaPath["#/allOf/1/items/properties/binding/allOf/0/then".length] === "/")){emErrs17.push(err131);err131.emUsed = true;}}if(emErrs17.length){const err132 = {keyword:"errorMessage",dataPath:dataPath+"/" + i5+"/binding",schemaPath:"#/allOf/1/items/properties/binding/allOf/0/then/errorMessage",params:{errors: emErrs17},message:"property.binding " + JSON.stringify(data54 && data54.type) + " requires name"};if(vErrors === null){vErrors = [err132];}else {vErrors.push(err132);}errors++;}const emErrs18 = [];for(const err133 of vErrors){if(!err133.emUsed){emErrs18.push(err133);}}vErrors = emErrs18;errors = emErrs18.length;}var _valid13 = _errs159 === errors;valid70 = _valid13;}if(!valid70){const err134 = {keyword:"if",dataPath:dataPath+"/" + i5+"/binding",schemaPath:"#/allOf/1/items/properties/binding/allOf/0/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err134];}else {vErrors.push(err134);}errors++;}const _errs161 = errors;let valid72 = true;const _errs162 = errors;if(data54 && typeof data54 == "object" && !Array.isArray(data54)){if((data54.type === undefined) && ("type")){const err135 = {};if(vErrors === null){vErrors = [err135];}else {vErrors.push(err135);}errors++;}else {if(data54.type !== undefined){if(!func0(data54.type, "zeebe:output")){const err136 = {};if(vErrors === null){vErrors = [err136];}else {vErrors.push(err136);}errors++;}}}}var _valid14 = _errs162 === errors;errors = _errs161;if(vErrors !== null){if(_errs161){vErrors.length = _errs161;}else {vErrors = null;}}if(_valid14){const _errs164 = errors;if(data54 && typeof data54 == "object" && !Array.isArray(data54)){if(data54.source === undefined){const err137 = {keyword:"required",dataPath:dataPath+"/" + i5+"/binding",schemaPath:"#/allOf/1/items/properties/binding/allOf/1/then/required",params:{missingProperty: "source"},message:"should have required property '"+"source"+"'"};if(vErrors === null){vErrors = [err137];}else {vErrors.push(err137);}errors++;}}if(errors > 0){const emErrs19 = [];for(const err138 of vErrors){if(((((err138.keyword !== "errorMessage") && (!err138.emUsed)) && ((err138.dataPath === dataPath+"/" + i5+"/binding") || ((err138.dataPath.indexOf(dataPath+"/" + i5+"/binding") === 0) && (err138.dataPath[dataPath+"/" + i5+"/binding".length] === "/")))) && (err138.schemaPath.indexOf("#/allOf/1/items/properties/binding/allOf/1/then") === 0)) && (err138.schemaPath["#/allOf/1/items/properties/binding/allOf/1/then".length] === "/")){emErrs19.push(err138);err138.emUsed = true;}}if(emErrs19.length){const err139 = {keyword:"errorMessage",dataPath:dataPath+"/" + i5+"/binding",schemaPath:"#/allOf/1/items/properties/binding/allOf/1/then/errorMessage",params:{errors: emErrs19},message:"property.binding " + JSON.stringify(data54 && data54.type) + " requires source"};if(vErrors === null){vErrors = [err139];}else {vErrors.push(err139);}errors++;}const emErrs20 = [];for(const err140 of vErrors){if(!err140.emUsed){emErrs20.push(err140);}}vErrors = emErrs20;errors = emErrs20.length;}var _valid14 = _errs164 === errors;valid72 = _valid14;}if(!valid72){const err141 = {keyword:"if",dataPath:dataPath+"/" + i5+"/binding",schemaPath:"#/allOf/1/items/properties/binding/allOf/1/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err141];}else {vErrors.push(err141);}errors++;}const _errs166 = errors;let valid74 = true;const _errs167 = errors;if(data54 && typeof data54 == "object" && !Array.isArray(data54)){if((data54.type === undefined) && ("type")){const err142 = {};if(vErrors === null){vErrors = [err142];}else {vErrors.push(err142);}errors++;}else {if(data54.type !== undefined){if(!func0(data54.type, "zeebe:taskHeader")){const err143 = {};if(vErrors === null){vErrors = [err143];}else {vErrors.push(err143);}errors++;}}}}var _valid15 = _errs167 === errors;errors = _errs166;if(vErrors !== null){if(_errs166){vErrors.length = _errs166;}else {vErrors = null;}}if(_valid15){const _errs169 = errors;if(data54 && typeof data54 == "object" && !Array.isArray(data54)){if(data54.key === undefined){const err144 = {keyword:"required",dataPath:dataPath+"/" + i5+"/binding",schemaPath:"#/allOf/1/items/properties/binding/allOf/2/then/required",params:{missingProperty: "key"},message:"should have required property '"+"key"+"'"};if(vErrors === null){vErrors = [err144];}else {vErrors.push(err144);}errors++;}}if(errors > 0){const emErrs21 = [];for(const err145 of vErrors){if(((((err145.keyword !== "errorMessage") && (!err145.emUsed)) && ((err145.dataPath === dataPath+"/" + i5+"/binding") || ((err145.dataPath.indexOf(dataPath+"/" + i5+"/binding") === 0) && (err145.dataPath[dataPath+"/" + i5+"/binding".length] === "/")))) && (err145.schemaPath.indexOf("#/allOf/1/items/properties/binding/allOf/2/then") === 0)) && (err145.schemaPath["#/allOf/1/items/properties/binding/allOf/2/then".length] === "/")){emErrs21.push(err145);err145.emUsed = true;}}if(emErrs21.length){const err146 = {keyword:"errorMessage",dataPath:dataPath+"/" + i5+"/binding",schemaPath:"#/allOf/1/items/properties/binding/allOf/2/then/errorMessage",params:{errors: emErrs21},message:"property.binding " + JSON.stringify(data54 && data54.type) + " requires key"};if(vErrors === null){vErrors = [err146];}else {vErrors.push(err146);}errors++;}const emErrs22 = [];for(const err147 of vErrors){if(!err147.emUsed){emErrs22.push(err147);}}vErrors = emErrs22;errors = emErrs22.length;}var _valid15 = _errs169 === errors;valid74 = _valid15;}if(!valid74){const err148 = {keyword:"if",dataPath:dataPath+"/" + i5+"/binding",schemaPath:"#/allOf/1/items/properties/binding/allOf/2/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err148];}else {vErrors.push(err148);}errors++;}const _errs171 = errors;let valid76 = true;const _errs172 = errors;if(data54 && typeof data54 == "object" && !Array.isArray(data54)){if((data54.type === undefined) && ("type")){const err149 = {};if(vErrors === null){vErrors = [err149];}else {vErrors.push(err149);}errors++;}else {if(data54.type !== undefined){if(!func0(data54.type, "zeebe:taskDefinition")){const err150 = {};if(vErrors === null){vErrors = [err150];}else {vErrors.push(err150);}errors++;}}}}var _valid16 = _errs172 === errors;errors = _errs171;if(vErrors !== null){if(_errs171){vErrors.length = _errs171;}else {vErrors = null;}}if(_valid16){const _errs174 = errors;if(data54 && typeof data54 == "object" && !Array.isArray(data54)){if(data54.property === undefined){const err151 = {keyword:"required",dataPath:dataPath+"/" + i5+"/binding",schemaPath:"#/allOf/1/items/properties/binding/allOf/3/then/required",params:{missingProperty: "property"},message:"should have required property '"+"property"+"'"};if(vErrors === null){vErrors = [err151];}else {vErrors.push(err151);}errors++;}if(data54.property !== undefined){let data59 = data54.property;if(!((data59 === "type") || (data59 === "retries"))){const err152 = {keyword:"enum",dataPath:dataPath+"/" + i5+"/binding/property",schemaPath:"#/allOf/1/items/properties/binding/allOf/3/then/properties/property/enum",params:{allowedValues: schema18.allOf[1].items.properties.binding.allOf[3].then.properties.property.enum},message:"should be equal to one of the allowed values"};if(vErrors === null){vErrors = [err152];}else {vErrors.push(err152);}errors++;}}}var _valid16 = _errs174 === errors;valid76 = _valid16;}if(!valid76){const err153 = {keyword:"if",dataPath:dataPath+"/" + i5+"/binding",schemaPath:"#/allOf/1/items/properties/binding/allOf/3/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err153];}else {vErrors.push(err153);}errors++;}if(data54 && typeof data54 == "object" && !Array.isArray(data54)){if(data54.type === undefined){const err154 = {keyword:"required",dataPath:dataPath+"/" + i5+"/binding",schemaPath:"#/allOf/1/items/properties/binding/required",params:{missingProperty: "type"},message:"should have required property '"+"type"+"'"};if(vErrors === null){vErrors = [err154];}else {vErrors.push(err154);}errors++;}if(data54.type !== undefined){let data60 = data54.type;if(typeof data60 !== "string"){const err155 = {keyword:"type",dataPath:dataPath+"/" + i5+"/binding/type",schemaPath:"#/allOf/1/items/properties/binding/properties/type/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err155];}else {vErrors.push(err155);}errors++;}if(!(((((((((data60 === "property") || (data60 === "zeebe:taskDefinition:type")) || (data60 === "zeebe:input")) || (data60 === "zeebe:output")) || (data60 === "zeebe:property")) || (data60 === "zeebe:taskHeader")) || (data60 === "bpmn:Message#property")) || (data60 === "bpmn:Message#zeebe:subscription#property")) || (data60 === "zeebe:taskDefinition"))){const err156 = {keyword:"enum",dataPath:dataPath+"/" + i5+"/binding/type",schemaPath:"#/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 = [err156];}else {vErrors.push(err156);}errors++;}if(errors > 0){const emErrs23 = [];for(const err157 of vErrors){if(((((err157.keyword !== "errorMessage") && (!err157.emUsed)) && ((err157.dataPath === dataPath+"/" + i5+"/binding/type") || ((err157.dataPath.indexOf(dataPath+"/" + i5+"/binding/type") === 0) && (err157.dataPath[dataPath+"/" + i5+"/binding/type".length] === "/")))) && (err157.schemaPath.indexOf("#/allOf/1/items/properties/binding/properties/type") === 0)) && (err157.schemaPath["#/allOf/1/items/properties/binding/properties/type".length] === "/")){emErrs23.push(err157);err157.emUsed = true;}}if(emErrs23.length){const err158 = {keyword:"errorMessage",dataPath:dataPath+"/" + i5+"/binding/type",schemaPath:"#/allOf/1/items/properties/binding/properties/type/errorMessage",params:{errors: emErrs23},message:"invalid property.binding type " + JSON.stringify(data60) + "; must be any of { property, zeebe:taskDefinition:type, zeebe:input, zeebe:output, zeebe:property, zeebe:taskHeader, bpmn:Message#property, bpmn:Message#zeebe:subscription#property }"};if(vErrors === null){vErrors = [err158];}else {vErrors.push(err158);}errors++;}const emErrs24 = [];for(const err159 of vErrors){if(!err159.emUsed){emErrs24.push(err159);}}vErrors = emErrs24;errors = emErrs24.length;}}if(data54.name !== undefined){if(typeof data54.name !== "string"){const err160 = {keyword:"type",dataPath:dataPath+"/" + i5+"/binding/name",schemaPath:"#/allOf/1/items/properties/binding/properties/name/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err160];}else {vErrors.push(err160);}errors++;}}if(data54.source !== undefined){if(typeof data54.source !== "string"){const err161 = {keyword:"type",dataPath:dataPath+"/" + i5+"/binding/source",schemaPath:"#/allOf/1/items/properties/binding/properties/source/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err161];}else {vErrors.push(err161);}errors++;}}if(data54.key !== undefined){if(typeof data54.key !== "string"){const err162 = {keyword:"type",dataPath:dataPath+"/" + i5+"/binding/key",schemaPath:"#/allOf/1/items/properties/binding/properties/key/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err162];}else {vErrors.push(err162);}errors++;}}if(data54.property !== undefined){if(typeof data54.property !== "string"){const err163 = {keyword:"type",dataPath:dataPath+"/" + i5+"/binding/property",schemaPath:"#/allOf/1/items/properties/binding/properties/property/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err163];}else {vErrors.push(err163);}errors++;}}}else {const err164 = {keyword:"type",dataPath:dataPath+"/" + i5+"/binding",schemaPath:"#/allOf/1/items/properties/binding/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err164];}else {vErrors.push(err164);}errors++;}}if(data36.optional !== undefined){if(typeof data36.optional !== "boolean"){const err165 = {keyword:"type",dataPath:dataPath+"/" + i5+"/optional",schemaPath:"#/allOf/1/items/properties/optional/type",params:{type: "boolean"},message:"should be boolean"};if(vErrors === null){vErrors = [err165];}else {vErrors.push(err165);}errors++;}}if(data36.feel !== undefined){let data66 = data36.feel;if(typeof data66 !== "string"){const err166 = {keyword:"type",dataPath:dataPath+"/" + i5+"/feel",schemaPath:"#/allOf/1/items/properties/feel/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err166];}else {vErrors.push(err166);}errors++;}if(!(((data66 === null) || (data66 === "optional")) || (data66 === "required"))){const err167 = {keyword:"enum",dataPath:dataPath+"/" + i5+"/feel",schemaPath:"#/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 = [err167];}else {vErrors.push(err167);}errors++;}}if(data36.language !== undefined){if(typeof data36.language !== "string"){const err168 = {keyword:"type",dataPath:dataPath+"/" + i5+"/language",schemaPath:"#/allOf/1/items/properties/language/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err168];}else {vErrors.push(err168);}errors++;}}if(data36.generatedValue !== undefined){let data68 = data36.generatedValue;if(data68 && typeof data68 == "object" && !Array.isArray(data68)){if(data68.type === undefined){const err169 = {keyword:"required",dataPath:dataPath+"/" + i5+"/generatedValue",schemaPath:"#/allOf/1/items/properties/generatedValue/required",params:{missingProperty: "type"},message:"should have required property '"+"type"+"'"};if(vErrors === null){vErrors = [err169];}else {vErrors.push(err169);}errors++;}if(data68.type !== undefined){if(!func0(data68.type, "uuid")){const err170 = {keyword:"const",dataPath:dataPath+"/" + i5+"/generatedValue/type",schemaPath:"#/allOf/1/items/properties/generatedValue/properties/type/const",params:{allowedValue: "uuid"},message:"should be equal to constant"};if(vErrors === null){vErrors = [err170];}else {vErrors.push(err170);}errors++;}}}else {const err171 = {keyword:"type",dataPath:dataPath+"/" + i5+"/generatedValue",schemaPath:"#/allOf/1/items/properties/generatedValue/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err171];}else {vErrors.push(err171);}errors++;}}if(data36.tooltip !== undefined){if(typeof data36.tooltip !== "string"){const err172 = {keyword:"type",dataPath:dataPath+"/" + i5+"/tooltip",schemaPath:"#/allOf/1/items/properties/tooltip/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err172];}else {vErrors.push(err172);}errors++;}}}else {const err173 = {keyword:"type",dataPath:dataPath+"/" + i5,schemaPath:"#/allOf/1/items/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err173];}else {vErrors.push(err173);}errors++;}if(errors > 0){const emErrors3 = {"required":{"binding":[]}};const templates3 = {required:{binding:function(){return "missing binding for property \"" + JSON.stringify(i5) + "\""}}};let emPropParams2;let emParamsErrors2;for(const err174 of vErrors){if((((((err174.keyword !== "errorMessage") && (!err174.emUsed)) && (err174.dataPath === dataPath+"/" + i5)) && (err174.keyword in emErrors3)) && (err174.schemaPath.indexOf("#/allOf/1/items") === 0)) && (/^\/[^\/]*$/.test(err174.schemaPath.slice(15)))){emPropParams2 = obj0[err174.keyword];emParamsErrors2 = emErrors3[err174.keyword][err174.params[emPropParams2]];if(emParamsErrors2){emParamsErrors2.push(err174);err174.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 err175 = {keyword:"errorMessage",dataPath:dataPath+"/" + i5,schemaPath:"#/allOf/1/items/errorMessage",params:{errors: emParamsErrors2},message:tmpl2 ? tmpl2() : schema18.allOf[1].items.errorMessage[key3][keyProp2]};if(vErrors === null){vErrors = [err175];}else {vErrors.push(err175);}errors++;}}}const emErrs25 = [];for(const err176 of vErrors){if(!err176.emUsed){emErrs25.push(err176);}}vErrors = emErrs25;errors = emErrs25.length;}}}else {const err177 = {keyword:"type",dataPath,schemaPath:"#/allOf/1/type",params:{type: "array"},message:"should be array"};if(vErrors === null){vErrors = [err177];}else {vErrors.push(err177);}errors++;}validate16.errors = vErrors;return errors === 0;}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){let data3 = data.version;if(!((typeof data3 == "number") && (!(data3 % 1) && !isNaN(data3)))){const err7 = {keyword:"type",dataPath:dataPath+"/version",schemaPath:"#/allOf/0/properties/version/type",params:{type: "integer"},message:"should be integer"};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.deprecated !== undefined){let data5 = data.deprecated;if((typeof data5 !== "boolean") && (!(data5 && typeof data5 == "object" && !Array.isArray(data5)))){const err9 = {keyword:"type",dataPath:dataPath+"/deprecated",schemaPath:"#/allOf/0/properties/deprecated/type",params:{type: schema17.allOf[0].properties.deprecated.type},message:"should be boolean,object"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}if(data5 && typeof data5 == "object" && !Array.isArray(data5)){if(data5.message !== undefined){if(typeof data5.message !== "string"){const err10 = {keyword:"type",dataPath:dataPath+"/deprecated/message",schemaPath:"#/allOf/0/properties/deprecated/properties/message/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}}if(data5.documentationRef !== undefined){let data7 = data5.documentationRef;if(typeof data7 === "string"){if(!pattern0.test(data7)){const err11 = {keyword:"pattern",dataPath:dataPath+"/deprecated/documentationRef",schemaPath:"#/allOf/0/properties/deprecated/properties/documentationRef/pattern",params:{pattern: "^(https|http)://.*"},message:"should match pattern \""+"^(https|http)://.*"+"\""};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}}else {const err12 = {keyword:"type",dataPath:dataPath+"/deprecated/documentationRef",schemaPath:"#/allOf/0/properties/deprecated/properties/documentationRef/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}}}}if(data.appliesTo !== undefined){let data8 = data.appliesTo;if(Array.isArray(data8)){const len0 = data8.length;for(let i0=0; i0<len0; i0++){let data9 = data8[i0];if(typeof data9 === "string"){if(!pattern1.test(data9)){const err13 = {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 = [err13];}else {vErrors.push(err13);}errors++;}}else {const err14 = {keyword:"type",dataPath:dataPath+"/appliesTo/" + i0,schemaPath:"#/allOf/0/properties/appliesTo/items/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}if(errors > 0){const emErrors0 = {"pattern":[]};const templates0 = {};for(const err15 of vErrors){if((((((err15.keyword !== "errorMessage") && (!err15.emUsed)) && (err15.dataPath === dataPath+"/appliesTo/" + i0)) && (err15.keyword in emErrors0)) && (err15.schemaPath.indexOf("#/allOf/0/properties/appliesTo/items") === 0)) && (/^\/[^\/]*$/.test(err15.schemaPath.slice(36)))){emErrors0[err15.keyword].push(err15);err15.emUsed = true;}}for(const key0 in emErrors0){if(emErrors0[key0].length){const err16 = {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 = [err16];}else {vErrors.push(err16);}errors++;}}const emErrs0 = [];for(const err17 of vErrors){if(!err17.emUsed){emErrs0.push(err17);}}vErrors = emErrs0;errors = emErrs0.length;}}}else {const err18 = {keyword:"type",dataPath:dataPath+"/appliesTo",schemaPath:"#/allOf/0/properties/appliesTo/type",params:{type: "array"},message:"should be array"};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}}if(data.elementType !== undefined){let data10 = data.elementType;if(data10 && typeof data10 == "object" && !Array.isArray(data10)){if(data10.value === undefined){const err19 = {keyword:"required",dataPath:dataPath+"/elementType",schemaPath:"#/allOf/0/properties/elementType/required",params:{missingProperty: "value"},message:"should have required property '"+"value"+"'"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}if(data10.value !== undefined){let data11 = data10.value;if(typeof data11 === "string"){if(!pattern1.test(data11)){const err20 = {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 = [err20];}else {vErrors.push(err20);}errors++;}}else {const err21 = {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 = [err21];}else {vErrors.push(err21);}errors++;}if(errors > 0){const emErrors1 = {"pattern":[]};const templates1 = {};for(const err22 of vErrors){if((((((err22.keyword !== "errorMessage") && (!err22.emUsed)) && (err22.dataPath === dataPath+"/elementType/value")) && (err22.keyword in emErrors1)) && (err22.schemaPath.indexOf("#/allOf/0/properties/elementType/properties/value") === 0)) && (/^\/[^\/]*$/.test(err22.schemaPath.slice(49)))){emErrors1[err22.keyword].push(err22);err22.emUsed = true;}}for(const key1 in emErrors1){if(emErrors1[key1].length){const err23 = {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 = [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+"/elementType",schemaPath:"#/allOf/0/properties/elementType/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err25];}else {vErrors.push(err25);}errors++;}if(errors > 0){const emErrors2 = {"required":{"value":[]}};const templates2 = {required:{}};let emPropParams0;let emParamsErrors0;for(const err26 of vErrors){if((((((err26.keyword !== "errorMessage") && (!err26.emUsed)) && (err26.dataPath === dataPath+"/elementType")) && (err26.keyword in emErrors2)) && (err26.schemaPath.indexOf("#/allOf/0/properties/elementType") === 0)) && (/^\/[^\/]*$/.test(err26.schemaPath.slice(32)))){emPropParams0 = obj0[err26.keyword];emParamsErrors0 = emErrors2[err26.keyword][err26.params[emPropParams0]];if(emParamsErrors0){emParamsErrors0.push(err26);err26.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 err27 = {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 = [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.metadata !== undefined){let data12 = data.metadata;if(!(data12 && typeof data12 == "object" && !Array.isArray(data12))){const err29 = {keyword:"type",dataPath:dataPath+"/metadata",schemaPath:"#/allOf/0/properties/metadata/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err29];}else {vErrors.push(err29);}errors++;}}if(data.entriesVisible !== undefined){if(typeof data.entriesVisible !== "boolean"){const err30 = {keyword:"type",dataPath:dataPath+"/entriesVisible",schemaPath:"#/allOf/0/properties/entriesVisible/type",params:{type: "boolean"},message:"should be boolean"};if(vErrors === null){vErrors = [err30];}else {vErrors.push(err30);}errors++;}}if(data.groups !== undefined){let data14 = data.groups;if(Array.isArray(data14)){const len1 = data14.length;for(let i1=0; i1<len1; i1++){let data15 = data14[i1];if(data15 && typeof data15 == "object" && !Array.isArray(data15)){if(data15.id === undefined){const err31 = {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 = [err31];}else {vErrors.push(err31);}errors++;}if(data15.label === undefined){const err32 = {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 = [err32];}else {vErrors.push(err32);}errors++;}if(data15.id !== undefined){if(typeof data15.id !== "string"){const err33 = {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 = [err33];}else {vErrors.push(err33);}errors++;}}if(data15.label !== undefined){if(typeof data15.label !== "string"){const err34 = {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 = [err34];}else {vErrors.push(err34);}errors++;}}}else {const err35 = {keyword:"type",dataPath:dataPath+"/groups/" + i1,schemaPath:"#/allOf/0/properties/groups/items/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err35];}else {vErrors.push(err35);}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 err36 of vErrors){if((((((err36.keyword !== "errorMessage") && (!err36.emUsed)) && (err36.dataPath === dataPath+"/groups/" + i1)) && (err36.keyword in emErrors3)) && (err36.schemaPath.indexOf("#/allOf/0/properties/groups/items") === 0)) && (/^\/[^\/]*$/.test(err36.schemaPath.slice(33)))){emPropParams1 = obj0[err36.keyword];emParamsErrors1 = emErrors3[err36.keyword][err36.params[emPropParams1]];if(emParamsErrors1){emParamsErrors1.push(err36);err36.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 err37 = {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 = [err37];}else {vErrors.push(err37);}errors++;}}}const emErrs3 = [];for(const err38 of vErrors){if(!err38.emUsed){emErrs3.push(err38);}}vErrors = emErrs3;errors = emErrs3.length;}}}else {const err39 = {keyword:"type",dataPath:dataPath+"/groups",schemaPath:"#/allOf/0/properties/groups/type",params:{type: "array"},message:"should be array"};if(vErrors === null){vErrors = [err39];}else {vErrors.push(err39);}errors++;}}if(data.documentationRef !== undefined){let data18 = data.documentationRef;if(typeof data18 === "string"){if(!pattern0.test(data18)){const err40 = {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 = [err40];}else {vErrors.push(err40);}errors++;}}else {const err41 = {keyword:"type",dataPath:dataPath+"/documentationRef",schemaPath:"#/allOf/0/properties/documentationRef/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err41];}else {vErrors.push(err41);}errors++;}if(errors > 0){const emErrors4 = {"pattern":[]};const templates4 = {};for(const err42 of vErrors){if((((((err42.keyword !== "errorMessage") && (!err42.emUsed)) && (err42.dataPath === dataPath+"/documentationRef")) && (err42.keyword in emErrors4)) && (err42.schemaPath.indexOf("#/allOf/0/properties/documentationRef") === 0)) && (/^\/[^\/]*$/.test(err42.schemaPath.slice(37)))){emErrors4[err42.keyword].push(err42);err42.emUsed = true;}}for(const key4 in emErrors4){if(emErrors4[key4].length){const err43 = {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 = [err43];}else {vErrors.push(err43);}errors++;}}const emErrs4 = [];for(const err44 of vErrors){if(!err44.emUsed){emErrs4.push(err44);}}vErrors = emErrs4;errors = emErrs4.length;}}}if(errors > 0){const emErrors5 = {"required":{"name":[],"id":[],"appliesTo":[],"properties":[]}};const templates5 = {required:{}};let emPropParams2;let emParamsErrors2;for(const err45 of vErrors){if((((((err45.keyword !== "errorMessage") && (!err45.emUsed)) && (err45.dataPath === dataPath)) && (err45.keyword in emErrors5)) && (err45.schemaPath.indexOf("#/allOf/0") === 0)) && (/^\/[^\/]*$/.test(err45.schemaPath.slice(9)))){emPropParams2 = obj0[err45.keyword];emParamsErrors2 = emErrors5[err45.keyword][err45.params[emPropParams2]];if(emParamsErrors2){emParamsErrors2.push(err45);err45.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 err46 = {keyword:"errorMessage",dataPath,schemaPath:"#/allOf/0/errorMessage",params:{errors: emParamsErrors2},message:tmpl2 ? tmpl2() : schema17.allOf[0].errorMessage[key5][keyProp2]};if(vErrors === null){vErrors = [err46];}else {vErrors.push(err46);}errors++;}}}const emErrs5 = [];for(const err47 of vErrors){if(!err47.emUsed){emErrs5.push(err47);}}vErrors = emErrs5;errors = emErrs5.length;}const _errs42 = errors;let valid13 = true;const _errs43 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if((data.properties === undefined) && ("properties")){const err48 = {};if(vErrors === null){vErrors = [err48];}else {vErrors.push(err48);}errors++;}else {if(data.properties !== undefined){let data19 = data.properties;if(Array.isArray(data19)){const _errs45 = errors;const len2 = data19.length;for(let i2=0; i2<len2; i2++){let data20 = data19[i2];const _errs46 = errors;if(data20 && typeof data20 == "object" && !Array.isArray(data20)){if((data20.binding === undefined) && ("binding")){const err49 = {};if(vErrors === null){vErrors = [err49];}else {vErrors.push(err49);}errors++;}else {if(data20.binding !== undefined){let data21 = data20.binding;if(data21 && typeof data21 == "object" && !Array.isArray(data21)){if((data21.type === undefined) && ("type")){const err50 = {};if(vErrors === null){vErrors = [err50];}else {vErrors.push(err50);}errors++;}else {if(data21.type !== undefined){if(!func0(data21.type, "bpmn:Message#property")){const err51 = {};if(vErrors === null){vErrors = [err51];}else {vErrors.push(err51);}errors++;}}}}}}}var valid15 = _errs46 === errors;if(valid15){break;}}if(!valid15){const err52 = {};if(vErrors === null){vErrors = [err52];}else {vErrors.push(err52);}errors++;}else {errors = _errs45;if(vErrors !== null){if(_errs45){vErrors.length = _errs45;}else {vErrors = null;}}}}}}}var _valid0 = _errs43 === errors;errors = _errs42;if(vErrors !== null){if(_errs42){vErrors.length = _errs42;}else {vErrors = null;}}if(_valid0){const _errs49 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.elementType === undefined){const err53 = {keyword:"required",dataPath,schemaPath:"#/allOf/1/allOf/0/then/required",params:{missingProperty: "elementType"},message:"should have required property '"+"elementType"+"'"};if(vErrors === null){vErrors = [err53];}else {vErrors.push(err53);}errors++;}if(data.elementType !== undefined){let data23 = data.elementType;const _errs52 = errors;let valid20 = true;const _errs53 = errors;if(data23 && typeof data23 == "object" && !Array.isArray(data23)){if(data23.value !== undefined){let data24 = data23.value;if(!(((((data24 === "bpmn:StartEvent") || (data24 === "bpmn:IntermediateCatchEvent")) || (data24 === "bpmn:IntermediateThrowEvent")) || (data24 === "bpmn:BoundaryEvent")) || (data24 === "bpmn:EndEvent"))){const err54 = {};if(vErrors === null){vErrors = [err54];}else {vErrors.push(err54);}errors++;}}}var _valid1 = _errs53 === errors;errors = _errs52;if(vErrors !== null){if(_errs52){vErrors.length = _errs52;}else {vErrors = null;}}if(_valid1){const _errs55 = errors;if(data23 && typeof data23 == "object" && !Array.isArray(data23)){if(data23.eventDefinition === undefined){const err55 = {keyword:"required",dataPath:dataPath+"/elementType",schemaPath:"#/allOf/1/allOf/0/then/properties/elementType/allOf/0/then/required",params:{missingProperty: "eventDefinition"},message:"should have required property '"+"eventDefinition"+"'"};if(vErrors === null){vErrors = [err55];}else {vErrors.push(err55);}errors++;}}var _valid1 = _errs55 === errors;valid20 = _valid1;}if(!valid20){const err56 = {keyword:"if",dataPath:dataPath+"/elementType",schemaPath:"#/allOf/1/allOf/0/then/properties/elementType/allOf/0/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err56];}else {vErrors.push(err56);}errors++;}if(data23 && typeof data23 == "object" && !Array.isArray(data23)){if(data23.value === undefined){const err57 = {keyword:"required",dataPath:dataPath+"/elementType",schemaPath:"#/allOf/1/allOf/0/then/properties/elementType/required",params:{missingProperty: "value"},message:"should have required property '"+"value"+"'"};if(vErrors === null){vErrors = [err57];}else {vErrors.push(err57);}errors++;}if(data23.value !== undefined){let data25 = data23.value;if(!(((((((data25 === "bpmn:ReceiveTask") || (data25 === "bpmn:SendTask")) || (data25 === "bpmn:StartEvent")) || (data25 === "bpmn:IntermediateCatchEvent")) || (data25 === "bpmn:IntermediateThrowEvent")) || (data25 === "bpmn:BoundaryEvent")) || (data25 === "bpmn:EndEvent"))){const err58 = {keyword:"enum",dataPath:dataPath+"/elementType/value",schemaPath:"#/allOf/1/allOf/0/then/properties/elementType/properties/value/enum",params:{allowedValues: schema17.allOf[1].allOf[0].then.properties.elementType.properties.value.enum},message:"should be equal to one of the allowed values"};if(vErrors === null){vErrors = [err58];}else {vErrors.push(err58);}errors++;}}}}}var _valid0 = _errs49 === errors;valid13 = _valid0;}if(!valid13){const err59 = {keyword:"if",dataPath,schemaPath:"#/allOf/1/allOf/0/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err59];}else {vErrors.push(err59);}errors++;}const _errs58 = errors;let valid23 = true;const _errs59 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if((data.properties === undefined) && ("properties")){const err60 = {};if(vErrors === null){vErrors = [err60];}else {vErrors.push(err60);}errors++;}else {if(data.properties !== undefined){let data26 = data.properties;if(Array.isArray(data26)){const _errs61 = errors;const len3 = data26.length;for(let i3=0; i3<len3; i3++){let data27 = data26[i3];const _errs62 = errors;if(data27 && typeof data27 == "object" && !Array.isArray(data27)){if((data27.binding === undefined) && ("binding")){const err61 = {};if(vErrors === null){vErrors = [err61];}else {vErrors.push(err61);}errors++;}else {if(data27.binding !== undefined){let data28 = data27.binding;if(data28 && typeof data28 == "object" && !Array.isArray(data28)){if((data28.type === undefined) && ("type")){const err62 = {};if(vErrors === null){vErrors = [err62];}else {vErrors.push(err62);}errors++;}else {if(data28.type !== undefined){if(!func0(data28.type, "bpmn:Message#zeebe:subscription#property")){const err63 = {};if(vErrors === null){vErrors = [err63];}else {vErrors.push(err63);}errors++;}}}}}}}var valid25 = _errs62 === errors;if(valid25){break;}}if(!valid25){const err64 = {};if(vErrors === null){vErrors = [err64];}else {vErrors.push(err64);}errors++;}else {errors = _errs61;if(vErrors !== null){if(_errs61){vErrors.length = _errs61;}else {vErrors = null;}}}}}}}var _valid2 = _errs59 === errors;errors = _errs58;if(vErrors !== null){if(_errs58){vErrors.length = _errs58;}else {vErrors = null;}}if(_valid2){const _errs65 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.elementType === undefined){const err65 = {keyword:"required",dataPath,schemaPath:"#/allOf/1/allOf/1/then/required",params:{missingProperty: "elementType"},message:"should have required property '"+"elementType"+"'"};if(vErrors === null){vErrors = [err65];}else {vErrors.push(err65);}errors++;}if(data.elementType !== undefined){let data30 = data.elementType;const _errs68 = errors;let valid30 = true;const _errs69 = errors;if(data30 && typeof data30 == "object" && !Array.isArray(data30)){if(data30.value !== undefined){let data31 = data30.value;if(!(((((data31 === "bpmn:StartEvent") || (data31 === "bpmn:IntermediateCatchEvent")) || (data31 === "bpmn:IntermediateThrowEvent")) || (data31 === "bpmn:BoundaryEvent")) || (data31 === "bpmn:EndEvent"))){const err66 = {};if(vErrors === null){vErrors = [err66];}else {vErrors.push(err66);}errors++;}}}var _valid3 = _errs69 === errors;errors = _errs68;if(vErrors !== null){if(_errs68){vErrors.length = _errs68;}else {vErrors = null;}}if(_valid3){const _errs71 = errors;if(data30 && typeof data30 == "object" && !Array.isArray(data30)){if(data30.eventDefinition === undefined){const err67 = {keyword:"required",dataPath:dataPath+"/elementType",schemaPath:"#/allOf/1/allOf/1/then/properties/elementType/allOf/0/then/required",params:{missingProperty: "eventDefinition"},message:"should have required property '"+"eventDefinition"+"'"};if(vErrors === null){vErrors = [err67];}else {vErrors.push(err67);}errors++;}}var _valid3 = _errs71 === errors;valid30 = _valid3;}if(!valid30){const err68 = {keyword:"if",dataPath:dataPath+"/elementType",schemaPath:"#/allOf/1/allOf/1/then/properties/elementType/allOf/0/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err68];}else {vErrors.push(err68);}errors++;}if(data30 && typeof data30 == "object" && !Array.isArray(data30)){if(data30.value === undefined){const err69 = {keyword:"required",dataPath:dataPath+"/elementType",schemaPath:"#/allOf/1/allOf/1/then/properties/elementType/required",params:{missingProperty: "value"},message:"should have required property '"+"value"+"'"};if(vErrors === null){vErrors = [err69];}else {vErrors.push(err69);}errors++;}if(data30.value !== undefined){let data32 = data30.value;if(!((((((data32 === "bpmn:ReceiveTask") || (data32 === "bpmn:StartEvent")) || (data32 === "bpmn:IntermediateCatchEvent")) || (data32 === "bpmn:IntermediateThrowEvent")) || (data32 === "bpmn:BoundaryEvent")) || (data32 === "bpmn:EndEvent"))){const err70 = {keyword:"enum",dataPath:dataPath+"/elementType/value",schemaPath:"#/allOf/1/allOf/1/then/properties/elementType/properties/value/enum",params:{allowedValues: schema17.allOf[1].allOf[1].then.properties.elementType.properties.value.enum},message:"should be equal to one of the allowed values"};if(vErrors === null){vErrors = [err70];}else {vErrors.push(err70);}errors++;}}}}}var _valid2 = _errs65 === errors;valid23 = _valid2;}if(!valid23){const err71 = {keyword:"if",dataPath,schemaPath:"#/allOf/1/allOf/1/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err71];}else {vErrors.push(err71);}errors++;}if(data && typeof data == "object" && !Array.isArray(data)){if(data.properties !== undefined){if(!(validate16(data.properties, {dataPath:dataPath+"/properties",parentData:data,parentDataProperty:"properties",rootData}))){vErrors = vErrors === null ? validate16.errors : vErrors.concat(validate16.errors);errors = vErrors.length;}}if(data.icon !== undefined){let data34 = data.icon;if(data34 && typeof data34 == "object" && !Array.isArray(data34)){if(data34.contents === undefined){const err72 = {keyword:"required",dataPath:dataPath+"/icon",schemaPath:"#/properties/icon/required",params:{missingProperty: "contents"},message:"should have required property '"+"contents"+"'"};if(vErrors === null){vErrors = [err72];}else {vErrors.push(err72);}errors++;}if(data34.contents !== undefined){let data35 = data34.contents;if(typeof data35 === "string"){if(!pattern4.test(data35)){const err73 = {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 = [err73];}else {vErrors.push(err73);}errors++;}}else {const err74 = {keyword:"type",dataPath:dataPath+"/icon/contents",schemaPath:"#/properties/icon/properties/contents/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err74];}else {vErrors.push(err74);}errors++;}if(errors > 0){const emErrors6 = {"pattern":[]};const templates6 = {};for(const err75 of vErrors){if((((((err75.keyword !== "errorMessage") && (!err75.emUsed)) && (err75.dataPath === dataPath+"/icon/contents")) && (err75.keyword in emErrors6)) && (err75.schemaPath.indexOf("#/properties/icon/properties/contents") === 0)) && (/^\/[^\/]*$/.test(err75.schemaPath.slice(37)))){emErrors6[err75.keyword].push(err75);err75.emUsed = true;}}for(const key6 in emErrors6){if(emErrors6[key6].length){const err76 = {keyword:"errorMessage",dataPath:dataPath+"/icon/contents",schemaPath:"#/properties/icon/properties/contents/errorMessage",params:{errors: emErrors6[key6]},message:key6 in templates6 ? templates6[key6]() : schema17.properties.icon.properties.contents.errorMessage[key6]};if(vErrors === null){vErrors = [err76];}else {vErrors.push(err76);}errors++;}}const emErrs6 = [];for(const err77 of vErrors){if(!err77.emUsed){emErrs6.push(err77);}}vErrors = emErrs6;errors = emErrs6.length;}}}else {const err78 = {keyword:"type",dataPath:dataPath+"/icon",schemaPath:"#/properties/icon/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err78];}else {vErrors.push(err78);}errors++;}if(errors > 0){const emErrors7 = {"required":{"contents":[]}};const templates7 = {required:{}};let emPropParams3;let emParamsErrors3;for(const err79 of vErrors){if((((((err79.keyword !== "errorMessage") && (!err79.emUsed)) && (err79.dataPath === dataPath+"/icon")) && (err79.keyword in emErrors7)) && (err79.schemaPath.indexOf("#/properties/icon") === 0)) && (/^\/[^\/]*$/.test(err79.schemaPath.slice(17)))){emPropParams3 = obj0[err79.keyword];emParamsErrors3 = emErrors7[err79.keyword][err79.params[emPropParams3]];if(emParamsErrors3){emParamsErrors3.push(err79);err79.emUsed = true;}}}for(const key7 in emErrors7){for(const keyProp3 in emErrors7[key7]){emParamsErrors3 = emErrors7[key7][keyProp3];if(emParamsErrors3.length){const tmpl3 = templates7[key7] && templates7[key7][keyProp3];const err80 = {keyword:"errorMessage",dataPath:dataPath+"/icon",schemaPath:"#/properties/icon/errorMessage",params:{errors: emParamsErrors3},message:tmpl3 ? tmpl3() : schema17.properties.icon.errorMessage[key7][keyProp3]};if(vErrors === null){vErrors = [err80];}else {vErrors.push(err80);}errors++;}}}const emErrs7 = [];for(const err81 of vErrors){if(!err81.emUsed){emErrs7.push(err81);}}vErrors = emErrs7;errors = emErrs7.length;}}if(data.elementType !== undefined){let data36 = data.elementType;if(data36 && typeof data36 == "object" && !Array.isArray(data36)){if(data36.eventDefinition !== undefined){if(!(data36.eventDefinition === "bpmn:MessageEventDefinition")){const err82 = {keyword:"enum",dataPath:dataPath+"/elementType/eventDefinition",schemaPath:"#/properties/elementType/allOf/0/allOf/0/properties/eventDefinition/enum",params:{allowedValues: schema17.properties.elementType.allOf[0].allOf[0].properties.eventDefinition.enum},message:"should be equal to one of the allowed values"};if(vErrors === null){vErrors = [err82];}else {vErrors.push(err82);}errors++;}}}const _errs83 = errors;let valid38 = true;const _errs84 = errors;if(data36 && typeof data36 == "object" && !Array.isArray(data36)){if((data36.eventDefinition === undefined) && ("eventDefinition")){const err83 = {};if(vErrors === null){vErrors = [err83];}else {vErrors.push(err83);}errors++;}}var _valid4 = _errs84 === errors;errors = _errs83;if(vErrors !== null){if(_errs83){vErrors.length = _errs83;}else {vErrors = null;}}if(_valid4){const _errs85 = errors;if(data36 && typeof data36 == "object" && !Array.isArray(data36)){if(data36.value === undefined){const err84 = {keyword:"required",dataPath:dataPath+"/elementType",schemaPath:"#/properties/elementType/allOf/0/allOf/1/then/required",params:{missingProperty: "value"},message:"should have required property '"+"value"+"'"};if(vErrors === null){vErrors = [err84];}else {vErrors.push(err84);}errors++;}if(data36.value !== undefined){let data38 = data36.value;if(!(((((data38 === "bpmn:StartEvent") || (data38 === "bpmn:IntermediateCatchEvent")) || (data38 === "bpmn:IntermediateThrowEvent")) || (data38 === "bpmn:BoundaryEvent")) || (data38 === "bpmn:EndEvent"))){const err85 = {keyword:"enum",dataPath:dataPath+"/elementType/value",schemaPath:"#/properties/elementType/allOf/0/allOf/1/then/properties/value/enum",params:{allowedValues: schema17.properties.elementType.allOf[0].allOf[1].then.properties.value.enum},message:"should be equal to one of the allowed values"};if(vErrors === null){vErrors = [err85];}else {vErrors.push(err85);}errors++;}}}var _valid4 = _errs85 === errors;valid38 = _valid4;}if(!valid38){const err86 = {keyword:"if",dataPath:dataPath+"/elementType",schemaPath:"#/properties/elementType/allOf/0/allOf/1/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err86];}else {vErrors.push(err86);}errors++;}}if(data.groups !== undefined){let data39 = data.groups;if(Array.isArray(data39)){const len4 = data39.length;for(let i4=0; i4<len4; i4++){let data40 = data39[i4];if(data40 && typeof data40 == "object" && !Array.isArray(data40)){if(data40.tooltip !== undefined){if(typeof data40.tooltip !== "string"){const err87 = {keyword:"type",dataPath:dataPath+"/groups/" + i4+"/tooltip",schemaPath:"#/properties/groups/items/properties/tooltip/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err87];}else {vErrors.push(err87);}errors++;}}if(data40.openByDefault !== undefined){if(typeof data40.openByDefault !== "boolean"){const err88 = {keyword:"type",dataPath:dataPath+"/groups/" + i4+"/openByDefault",schemaPath:"#/properties/groups/items/properties/openByDefault/type",params:{type: "boolean"},message:"should be boolean"};if(vErrors === null){vErrors = [err88];}else {vErrors.push(err88);}errors++;}}}}}}}else {const err89 = {keyword:"type",dataPath,schemaPath:"#/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err89];}else {vErrors.push(err89);}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;}
123320
+ standaloneZeebeValidator.exports = validate14;standaloneZeebeValidator.exports.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":"integer","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."},"deprecated":{"$id":"#/deprecated","type":["boolean","object"],"description":"Indicates whether the element template is deprecated.","properties":{"message":{"$id":"#/deprecated/message","type":"string","description":"Optional message to describe migration path."},"documentationRef":{"$id":"#/deprecated/documentationRef","type":"string","pattern":"^(https|http)://.*","description":"Optional link to migration documentation."}}},"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]+$","allOf":[{"examples":["bpmn:Task","bpmn:ServiceTask","bpmn:SequenceFlow","bpmn:Process","bpmn:StartEvent","bpmn:Gateway"]}],"errorMessage":{"pattern":"invalid item for \"appliesTo\", should contain namespaced property, example: \"bpmn:Task\""}}},"elementType":{"$id":"#/elementType","type":"object","description":"The BPMN type the element will be transformed into.","default":{},"required":["value"],"properties":{"value":{"$id":"#/elementType/value","type":"string","pattern":"^[\\w\\d]+:[\\w\\d]+$","allOf":[{"examples":["bpmn:ServiceTask","bpmn:UserTask","bpmn:StartEvent","bpmn:ExclusiveGateway","bpmn:ParallelGateway"]}],"errorMessage":{"pattern":"invalid item for \"elementType\", should contain namespaced property, example: \"bpmn:Task\""}}},"errorMessage":{"required":{"value":"missing elementType value"}}},"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"],"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":{"id":"missing id for group \"${0#}\"","label":"missing label for group \"${0#}\""}}}},"documentationRef":{"$id":"#/documentationRef","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=[]"}}},{"allOf":[{"if":{"properties":{"properties":{"contains":{"properties":{"binding":{"properties":{"type":{"const":"bpmn:Message#property"}},"required":["type"]}},"required":["binding"]}}},"required":["properties"]},"then":{"required":["elementType"],"properties":{"elementType":{"required":["value"],"properties":{"value":{"enum":["bpmn:ReceiveTask","bpmn:SendTask","bpmn:StartEvent","bpmn:IntermediateCatchEvent","bpmn:IntermediateThrowEvent","bpmn:BoundaryEvent","bpmn:EndEvent"]}},"allOf":[{"if":{"properties":{"value":{"enum":["bpmn:StartEvent","bpmn:IntermediateCatchEvent","bpmn:IntermediateThrowEvent","bpmn:BoundaryEvent","bpmn:EndEvent"]}}},"then":{"eventDefinition":{"const":"bpmn:MessageEventDefinition"},"required":["eventDefinition"]}}]}}}},{"if":{"properties":{"properties":{"contains":{"properties":{"binding":{"properties":{"type":{"const":"bpmn:Message#zeebe:subscription#property"}},"required":["type"]}},"required":["binding"]}}},"required":["properties"]},"then":{"required":["elementType"],"properties":{"elementType":{"required":["value"],"properties":{"value":{"enum":["bpmn:ReceiveTask","bpmn:StartEvent","bpmn:IntermediateCatchEvent","bpmn:IntermediateThrowEvent","bpmn:BoundaryEvent","bpmn:EndEvent"]}},"allOf":[{"if":{"properties":{"value":{"enum":["bpmn:StartEvent","bpmn:IntermediateCatchEvent","bpmn:IntermediateThrowEvent","bpmn:BoundaryEvent","bpmn:EndEvent"]}}},"then":{"eventDefinition":{"const":"bpmn:MessageEventDefinition"},"required":["eventDefinition"]}}]}}}},{"if":{"properties":{"properties":{"contains":{"properties":{"binding":{"properties":{"type":{"const":"zeebe:calledElement"}},"required":["type"]}},"required":["binding"]}}},"required":["properties"]},"then":{"anyOf":[{"required":["elementType"],"properties":{"elementType":{"required":["value"],"properties":{"value":{"const":"bpmn:CallActivity"}}}}},{"required":["appliesTo"],"properties":{"appliesTo":{"const":["bpmn:CallActivity"]}}}]}}]}],"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"}}},"elementType":{"allOf":[{"allOf":[{"properties":{"eventDefinition":{"$id":"#/elementType/eventDefinition","enum":["bpmn:MessageEventDefinition"]}}},{"if":{"required":["eventDefinition"]},"then":{"properties":{"value":{"enum":["bpmn:StartEvent","bpmn:IntermediateCatchEvent","bpmn:IntermediateThrowEvent","bpmn:BoundaryEvent","bpmn:EndEvent"]}},"required":["value"]}}]}]},"groups":{"items":{"properties":{"tooltip":{"$id":"#/groups/group/tooltip","type":"string"},"openByDefault":{"$id":"#/groups/group/openByDefault","type":"boolean","description":"Specifies whether the Group should be opened when first viewed. Defaults to true.","default":true}}}}}};const pattern0 = new RegExp("^(https|http)://.*", "u");const pattern1 = new RegExp("^[\\w\\d]+:[\\w\\d]+$", "u");const pattern4 = new RegExp("^(https?|data):.*", "u");const obj0 = {"required":"missingProperty","dependencies":"property","dependentRequired":"property"};const func0 = equal.exports;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":{"id":{"type":"string","description":"Unique identifier of the property."},"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."},"condition":{"$ref":"#/definitions/properties/allOf/0/items/properties/condition"}},"required":["value","name"],"errorMessage":{"required":"{ 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."},"condition":{"$id":"#/condition","type":"object","description":"Condition(s) to activate the binding.","allOf":[{"examples":[{"type":"simple","property":"httpMethod","equals":"GET"},{"type":"simple","property":"httpMethod","oneOf":["POST","PUT","DELETE"]},{"allMatch":[{"type":"simple","property":"authType","equals":"Basic"},{"type":"simple","property":"httpMethod","oneOf":["POST","PUT","DELETE"]}]}]}],"definitions":{"condition":{"type":"object","required":["property"],"properties":{"type":{"$id":"#/condition/type","const":"simple","description":"The type of the condition.","default":"simple"},"property":{"$id":"#/condition/property","type":"string","description":"The id of the property to check."}},"oneOf":[{"properties":{"equals":{"type":["string","number","boolean"]}},"required":["equals"]},{"properties":{"oneOf":{"type":"array","items":{"type":["string","number"]}}},"required":["oneOf"]},{"properties":{"isActive":{"type":"boolean","description":"For `true`, activates the property when given property is active"}},"required":["isActive"]}],"errorMessage":{"required":{"property":"missing property name for condition"}}}},"oneOf":[{"$ref":"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition"},{"properties":{"allMatch":{"$id":"#/allMatch","type":"array","items":{"$ref":"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition"},"minItems":1}},"required":["allMatch"]}]}}}},{"$schema":"http://json-schema.org/draft-07/schema","type":"array","description":"List of properties of the element template.","items":{"type":"object","default":{},"required":["binding"],"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:property","zeebe:taskHeader","zeebe:taskDefinition:type","bpmn:Message#property","bpmn:Message#zeebe:subscription#property","zeebe:taskDefinition","zeebe:calledElement"]}},"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","zeebe:property","zeebe:taskHeader"],"errorMessage":"optional is not supported for binding type ${0}; must be any of { zeebe:input, zeebe:output, zeebe:property, zeebe:taskHeader }"}},"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"]}},{"if":{"properties":{"language":{"not":{"const":null}}},"required":["language"]},"then":{"properties":{"type":{"enum":["Text"],"errorMessage":"language is only supported for \"Text\" type"}}}},{"if":{"required":["value"]},"then":{"not":{"required":["generatedValue"]}}},{"if":{"properties":{"type":{"enum":["Boolean","Dropdown"]}},"required":["type"]},"then":{"not":{"required":["generatedValue"]}}}],"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:property","zeebe:input","bpmn:Message#property","bpmn:Message#zeebe:subscription#property"]}},"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"}},{"if":{"properties":{"type":{"const":"zeebe:taskDefinition"}},"required":["type"]},"then":{"properties":{"property":{"enum":["type","retries"]}},"required":["property"]}},{"if":{"properties":{"type":{"const":"zeebe:taskDefinition:type"}},"required":["type"]},"then":{"deprecated":true}},{"if":{"properties":{"type":{"const":"zeebe:calledElement"}},"required":["type"]},"then":{"properties":{"property":{"const":"processId"}},"required":["property"]}},{"examples":[{"type":"property","name":"name"},{"type":"zeebe:input","name":"input"},{"type":"zeebe:output","source":"output"},{"type":"zeebe:property","name":"property"},{"type":"zeebe:taskHeader","key":"key"},{"type":"zeebe:taskDefinition","property":"retries"},{"type":"zeebe:taskDefinition","property":"type"}]}],"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:property","zeebe:taskHeader","bpmn:Message#property","bpmn:Message#zeebe:subscription#property","zeebe:taskDefinition","zeebe:calledElement"],"errorMessage":"invalid property.binding type ${0}; must be any of { property, zeebe:taskDefinition:type, zeebe:input, zeebe:output, zeebe:property, zeebe:taskHeader, bpmn:Message#property, bpmn:Message#zeebe:subscription#property }"},"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)."},"property":{"$id":"#/properties/property/binding/property","type":"string","description":"The name of the property defined in the binding."}}},"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"]},"language":{"$id":"#/properties/property/language","type":"string","description":"Indicates that the field is a custom language editor"},"generatedValue":{"$id":"#/properties/property/generatedValue","type":"object","required":["type"],"properties":{"type":{"const":"uuid"}},"description":"Sets property to a generated value according to given scheme."},"tooltip":{"$id":"#/properties/property/tooltip","type":"string","description":"Hints for the control field."}},"errorMessage":{"required":{"binding":"missing binding for property \"${0#}\""}}}}]};const schema20 = {"type":"object","required":["property"],"properties":{"type":{"$id":"#/condition/type","const":"simple","description":"The type of the condition.","default":"simple"},"property":{"$id":"#/condition/property","type":"string","description":"The id of the property to check."}},"oneOf":[{"properties":{"equals":{"type":["string","number","boolean"]}},"required":["equals"]},{"properties":{"oneOf":{"type":"array","items":{"type":["string","number"]}}},"required":["oneOf"]},{"properties":{"isActive":{"type":"boolean","description":"For `true`, activates the property when given property is active"}},"required":["isActive"]}],"errorMessage":{"required":{"property":"missing property name for condition"}}};function validate17(data, {dataPath="", parentData, parentDataProperty, rootData=data}={}){let vErrors = null;let errors = 0;if(!(data && typeof data == "object" && !Array.isArray(data))){const err0 = {keyword:"type",dataPath,schemaPath:"#/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}const _errs1 = errors;let valid0 = false;let passing0 = null;const _errs2 = errors;const _errs5 = errors;let valid2 = false;let passing1 = null;const _errs6 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.equals === undefined){const err1 = {keyword:"required",dataPath,schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/oneOf/0/required",params:{missingProperty: "equals"},message:"should have required property '"+"equals"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}if(data.equals !== undefined){let data0 = data.equals;if(((typeof data0 !== "string") && (!(typeof data0 == "number"))) && (typeof data0 !== "boolean")){const err2 = {keyword:"type",dataPath:dataPath+"/equals",schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/oneOf/0/properties/equals/type",params:{type: schema20.oneOf[0].properties.equals.type},message:"should be string,number,boolean"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}}}var _valid1 = _errs6 === errors;if(_valid1){valid2 = true;passing1 = 0;}const _errs9 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.oneOf === undefined){const err3 = {keyword:"required",dataPath,schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/oneOf/1/required",params:{missingProperty: "oneOf"},message:"should have required property '"+"oneOf"+"'"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}if(data.oneOf !== undefined){let data1 = data.oneOf;if(Array.isArray(data1)){const len0 = data1.length;for(let i0=0; i0<len0; i0++){let data2 = data1[i0];if((typeof data2 !== "string") && (!(typeof data2 == "number"))){const err4 = {keyword:"type",dataPath:dataPath+"/oneOf/" + i0,schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/oneOf/1/properties/oneOf/items/type",params:{type: schema20.oneOf[1].properties.oneOf.items.type},message:"should be string,number"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}}}else {const err5 = {keyword:"type",dataPath:dataPath+"/oneOf",schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/oneOf/1/properties/oneOf/type",params:{type: "array"},message:"should be array"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}}}var _valid1 = _errs9 === errors;if(_valid1 && valid2){valid2 = false;passing1 = [passing1, 1];}else {if(_valid1){valid2 = true;passing1 = 1;}const _errs14 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.isActive === undefined){const err6 = {keyword:"required",dataPath,schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/oneOf/2/required",params:{missingProperty: "isActive"},message:"should have required property '"+"isActive"+"'"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}if(data.isActive !== undefined){if(typeof data.isActive !== "boolean"){const err7 = {keyword:"type",dataPath:dataPath+"/isActive",schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/oneOf/2/properties/isActive/type",params:{type: "boolean"},message:"should be boolean"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}}}var _valid1 = _errs14 === errors;if(_valid1 && valid2){valid2 = false;passing1 = [passing1, 2];}else {if(_valid1){valid2 = true;passing1 = 2;}}}if(!valid2){const err8 = {keyword:"oneOf",dataPath,schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/oneOf",params:{passingSchemas: passing1},message:"should match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}else {errors = _errs5;if(vErrors !== null){if(_errs5){vErrors.length = _errs5;}else {vErrors = null;}}}if(data && typeof data == "object" && !Array.isArray(data)){if(data.property === undefined){const err9 = {keyword:"required",dataPath,schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/required",params:{missingProperty: "property"},message:"should have required property '"+"property"+"'"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}if(data.type !== undefined){if(!func0(data.type, "simple")){const err10 = {keyword:"const",dataPath:dataPath+"/type",schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/properties/type/const",params:{allowedValue: "simple"},message:"should be equal to constant"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}}if(data.property !== undefined){if(typeof data.property !== "string"){const err11 = {keyword:"type",dataPath:dataPath+"/property",schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/properties/property/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}}}else {const err12 = {keyword:"type",dataPath,schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}if(errors > 0){const emErrors0 = {"required":{"property":[]}};const templates0 = {required:{}};let emPropParams0;let emParamsErrors0;for(const err13 of vErrors){if((((((err13.keyword !== "errorMessage") && (!err13.emUsed)) && (err13.dataPath === dataPath)) && (err13.keyword in emErrors0)) && (err13.schemaPath.indexOf("#/definitions/properties/allOf/0/items/properties/condition/definitions/condition") === 0)) && (/^\/[^\/]*$/.test(err13.schemaPath.slice(81)))){emPropParams0 = obj0[err13.keyword];emParamsErrors0 = emErrors0[err13.keyword][err13.params[emPropParams0]];if(emParamsErrors0){emParamsErrors0.push(err13);err13.emUsed = true;}}}for(const key0 in emErrors0){for(const keyProp0 in emErrors0[key0]){emParamsErrors0 = emErrors0[key0][keyProp0];if(emParamsErrors0.length){const tmpl0 = templates0[key0] && templates0[key0][keyProp0];const err14 = {keyword:"errorMessage",dataPath,schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/errorMessage",params:{errors: emParamsErrors0},message:tmpl0 ? tmpl0() : schema20.errorMessage[key0][keyProp0]};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}}}const emErrs0 = [];for(const err15 of vErrors){if(!err15.emUsed){emErrs0.push(err15);}}vErrors = emErrs0;errors = emErrs0.length;}var _valid0 = _errs2 === errors;if(_valid0){valid0 = true;passing0 = 0;}const _errs20 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.allMatch === undefined){const err16 = {keyword:"required",dataPath,schemaPath:"#/oneOf/1/required",params:{missingProperty: "allMatch"},message:"should have required property '"+"allMatch"+"'"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}if(data.allMatch !== undefined){let data6 = data.allMatch;if(Array.isArray(data6)){if(data6.length < 1){const err17 = {keyword:"minItems",dataPath:dataPath+"/allMatch",schemaPath:"#/oneOf/1/properties/allMatch/minItems",params:{limit: 1},message:"should NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}const len1 = data6.length;for(let i1=0; i1<len1; i1++){let data7 = data6[i1];const _errs26 = errors;let valid13 = false;let passing2 = null;const _errs27 = errors;if(data7 && typeof data7 == "object" && !Array.isArray(data7)){if(data7.equals === undefined){const err18 = {keyword:"required",dataPath:dataPath+"/allMatch/" + i1,schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/oneOf/0/required",params:{missingProperty: "equals"},message:"should have required property '"+"equals"+"'"};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}if(data7.equals !== undefined){let data8 = data7.equals;if(((typeof data8 !== "string") && (!(typeof data8 == "number"))) && (typeof data8 !== "boolean")){const err19 = {keyword:"type",dataPath:dataPath+"/allMatch/" + i1+"/equals",schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/oneOf/0/properties/equals/type",params:{type: schema20.oneOf[0].properties.equals.type},message:"should be string,number,boolean"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}}}var _valid2 = _errs27 === errors;if(_valid2){valid13 = true;passing2 = 0;}const _errs30 = errors;if(data7 && typeof data7 == "object" && !Array.isArray(data7)){if(data7.oneOf === undefined){const err20 = {keyword:"required",dataPath:dataPath+"/allMatch/" + i1,schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/oneOf/1/required",params:{missingProperty: "oneOf"},message:"should have required property '"+"oneOf"+"'"};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}if(data7.oneOf !== undefined){let data9 = data7.oneOf;if(Array.isArray(data9)){const len2 = data9.length;for(let i2=0; i2<len2; i2++){let data10 = data9[i2];if((typeof data10 !== "string") && (!(typeof data10 == "number"))){const err21 = {keyword:"type",dataPath:dataPath+"/allMatch/" + i1+"/oneOf/" + i2,schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/oneOf/1/properties/oneOf/items/type",params:{type: schema20.oneOf[1].properties.oneOf.items.type},message:"should be string,number"};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}}}else {const err22 = {keyword:"type",dataPath:dataPath+"/allMatch/" + i1+"/oneOf",schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/oneOf/1/properties/oneOf/type",params:{type: "array"},message:"should be array"};if(vErrors === null){vErrors = [err22];}else {vErrors.push(err22);}errors++;}}}var _valid2 = _errs30 === errors;if(_valid2 && valid13){valid13 = false;passing2 = [passing2, 1];}else {if(_valid2){valid13 = true;passing2 = 1;}const _errs35 = errors;if(data7 && typeof data7 == "object" && !Array.isArray(data7)){if(data7.isActive === undefined){const err23 = {keyword:"required",dataPath:dataPath+"/allMatch/" + i1,schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/oneOf/2/required",params:{missingProperty: "isActive"},message:"should have required property '"+"isActive"+"'"};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}if(data7.isActive !== undefined){if(typeof data7.isActive !== "boolean"){const err24 = {keyword:"type",dataPath:dataPath+"/allMatch/" + i1+"/isActive",schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/oneOf/2/properties/isActive/type",params:{type: "boolean"},message:"should be boolean"};if(vErrors === null){vErrors = [err24];}else {vErrors.push(err24);}errors++;}}}var _valid2 = _errs35 === errors;if(_valid2 && valid13){valid13 = false;passing2 = [passing2, 2];}else {if(_valid2){valid13 = true;passing2 = 2;}}}if(!valid13){const err25 = {keyword:"oneOf",dataPath:dataPath+"/allMatch/" + i1,schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/oneOf",params:{passingSchemas: passing2},message:"should match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err25];}else {vErrors.push(err25);}errors++;}else {errors = _errs26;if(vErrors !== null){if(_errs26){vErrors.length = _errs26;}else {vErrors = null;}}}if(data7 && typeof data7 == "object" && !Array.isArray(data7)){if(data7.property === undefined){const err26 = {keyword:"required",dataPath:dataPath+"/allMatch/" + i1,schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/required",params:{missingProperty: "property"},message:"should have required property '"+"property"+"'"};if(vErrors === null){vErrors = [err26];}else {vErrors.push(err26);}errors++;}if(data7.type !== undefined){if(!func0(data7.type, "simple")){const err27 = {keyword:"const",dataPath:dataPath+"/allMatch/" + i1+"/type",schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/properties/type/const",params:{allowedValue: "simple"},message:"should be equal to constant"};if(vErrors === null){vErrors = [err27];}else {vErrors.push(err27);}errors++;}}if(data7.property !== undefined){if(typeof data7.property !== "string"){const err28 = {keyword:"type",dataPath:dataPath+"/allMatch/" + i1+"/property",schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/properties/property/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err28];}else {vErrors.push(err28);}errors++;}}}else {const err29 = {keyword:"type",dataPath:dataPath+"/allMatch/" + i1,schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err29];}else {vErrors.push(err29);}errors++;}if(errors > 0){const emErrors1 = {"required":{"property":[]}};const templates1 = {required:{}};let emPropParams1;let emParamsErrors1;for(const err30 of vErrors){if((((((err30.keyword !== "errorMessage") && (!err30.emUsed)) && (err30.dataPath === dataPath+"/allMatch/" + i1)) && (err30.keyword in emErrors1)) && (err30.schemaPath.indexOf("#/definitions/properties/allOf/0/items/properties/condition/definitions/condition") === 0)) && (/^\/[^\/]*$/.test(err30.schemaPath.slice(81)))){emPropParams1 = obj0[err30.keyword];emParamsErrors1 = emErrors1[err30.keyword][err30.params[emPropParams1]];if(emParamsErrors1){emParamsErrors1.push(err30);err30.emUsed = true;}}}for(const key1 in emErrors1){for(const keyProp1 in emErrors1[key1]){emParamsErrors1 = emErrors1[key1][keyProp1];if(emParamsErrors1.length){const tmpl1 = templates1[key1] && templates1[key1][keyProp1];const err31 = {keyword:"errorMessage",dataPath:dataPath+"/allMatch/" + i1,schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/errorMessage",params:{errors: emParamsErrors1},message:tmpl1 ? tmpl1() : schema20.errorMessage[key1][keyProp1]};if(vErrors === null){vErrors = [err31];}else {vErrors.push(err31);}errors++;}}}const emErrs1 = [];for(const err32 of vErrors){if(!err32.emUsed){emErrs1.push(err32);}}vErrors = emErrs1;errors = emErrs1.length;}}}else {const err33 = {keyword:"type",dataPath:dataPath+"/allMatch",schemaPath:"#/oneOf/1/properties/allMatch/type",params:{type: "array"},message:"should be array"};if(vErrors === null){vErrors = [err33];}else {vErrors.push(err33);}errors++;}}}var _valid0 = _errs20 === errors;if(_valid0 && valid0){valid0 = false;passing0 = [passing0, 1];}else {if(_valid0){valid0 = true;passing0 = 1;}}if(!valid0){const err34 = {keyword:"oneOf",dataPath,schemaPath:"#/oneOf",params:{passingSchemas: passing0},message:"should match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err34];}else {vErrors.push(err34);}errors++;}else {errors = _errs1;if(vErrors !== null){if(_errs1){vErrors.length = _errs1;}else {vErrors = null;}}}validate17.errors = vErrors;return errors === 0;}function validate16(data, {dataPath="", parentData, parentDataProperty, rootData=data}={}){let vErrors = null;let errors = 0;if(Array.isArray(data)){const len0 = data.length;for(let i0=0; i0<len0; i0++){let data0 = data[i0];const _errs5 = errors;let valid5 = true;const _errs6 = errors;if(data0 && typeof data0 == "object" && !Array.isArray(data0)){if((data0.type === undefined) && ("type")){const err0 = {};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}else {if(data0.type !== undefined){if(!func0(data0.type, "Dropdown")){const err1 = {};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}}}}var _valid0 = _errs6 === errors;errors = _errs5;if(vErrors !== null){if(_errs5){vErrors.length = _errs5;}else {vErrors = null;}}if(_valid0){const _errs8 = errors;if(data0 && typeof data0 == "object" && !Array.isArray(data0)){if(data0.choices === undefined){const err2 = {keyword:"required",dataPath:dataPath+"/" + i0,schemaPath:"#/allOf/0/items/allOf/0/then/required",params:{missingProperty: "choices"},message:"should have required property '"+"choices"+"'"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}}if(errors > 0){const emErrs0 = [];for(const err3 of vErrors){if(((((err3.keyword !== "errorMessage") && (!err3.emUsed)) && ((err3.dataPath === dataPath+"/" + i0) || ((err3.dataPath.indexOf(dataPath+"/" + i0) === 0) && (err3.dataPath[dataPath+"/" + i0.length] === "/")))) && (err3.schemaPath.indexOf("#/allOf/0/items/allOf/0/then") === 0)) && (err3.schemaPath["#/allOf/0/items/allOf/0/then".length] === "/")){emErrs0.push(err3);err3.emUsed = true;}}if(emErrs0.length){const err4 = {keyword:"errorMessage",dataPath:dataPath+"/" + i0,schemaPath:"#/allOf/0/items/allOf/0/then/errorMessage",params:{errors: emErrs0},message:"must provide choices=[] with \"Dropdown\" type"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}const emErrs1 = [];for(const err5 of vErrors){if(!err5.emUsed){emErrs1.push(err5);}}vErrors = emErrs1;errors = emErrs1.length;}var _valid0 = _errs8 === errors;valid5 = _valid0;}if(!valid5){const err6 = {keyword:"if",dataPath:dataPath+"/" + i0,schemaPath:"#/allOf/0/items/allOf/0/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}if(data0 && typeof data0 == "object" && !Array.isArray(data0)){if(data0.id !== undefined){if(typeof data0.id !== "string"){const err7 = {keyword:"type",dataPath:dataPath+"/" + i0+"/id",schemaPath:"#/allOf/0/items/properties/id/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}}if(data0.value !== undefined){let data3 = data0.value;if((typeof data3 !== "string") && (typeof data3 !== "boolean")){const err8 = {keyword:"type",dataPath:dataPath+"/" + i0+"/value",schemaPath:"#/allOf/0/items/properties/value/type",params:{type: schema18.allOf[0].items.properties.value.type},message:"should be string,boolean"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}}if(data0.description !== undefined){if(typeof data0.description !== "string"){const err9 = {keyword:"type",dataPath:dataPath+"/" + i0+"/description",schemaPath:"#/allOf/0/items/properties/description/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}}if(data0.label !== undefined){if(typeof data0.label !== "string"){const err10 = {keyword:"type",dataPath:dataPath+"/" + i0+"/label",schemaPath:"#/allOf/0/items/properties/label/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}}if(data0.type !== undefined){if(typeof data0.type !== "string"){const err11 = {keyword:"type",dataPath:dataPath+"/" + i0+"/type",schemaPath:"#/allOf/0/items/properties/type/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}}if(data0.editable !== undefined){if(typeof data0.editable !== "boolean"){const err12 = {keyword:"type",dataPath:dataPath+"/" + i0+"/editable",schemaPath:"#/allOf/0/items/properties/editable/type",params:{type: "boolean"},message:"should be boolean"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}}if(data0.choices !== undefined){let data8 = data0.choices;if(Array.isArray(data8)){const len1 = data8.length;for(let i1=0; i1<len1; i1++){let data9 = data8[i1];if(data9 && typeof data9 == "object" && !Array.isArray(data9)){if(data9.value === undefined){const err13 = {keyword:"required",dataPath:dataPath+"/" + i0+"/choices/" + i1,schemaPath:"#/allOf/0/items/properties/choices/items/required",params:{missingProperty: "value"},message:"should have required property '"+"value"+"'"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}if(data9.name === undefined){const err14 = {keyword:"required",dataPath:dataPath+"/" + i0+"/choices/" + i1,schemaPath:"#/allOf/0/items/properties/choices/items/required",params:{missingProperty: "name"},message:"should have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}if(data9.name !== undefined){if(typeof data9.name !== "string"){const err15 = {keyword:"type",dataPath:dataPath+"/" + i0+"/choices/" + i1+"/name",schemaPath:"#/allOf/0/items/properties/choices/items/properties/name/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}}if(data9.value !== undefined){if(typeof data9.value !== "string"){const err16 = {keyword:"type",dataPath:dataPath+"/" + i0+"/choices/" + i1+"/value",schemaPath:"#/allOf/0/items/properties/choices/items/properties/value/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}}if(data9.condition !== undefined){if(!(validate17(data9.condition, {dataPath:dataPath+"/" + i0+"/choices/" + i1+"/condition",parentData:data9,parentDataProperty:"condition",rootData}))){vErrors = vErrors === null ? validate17.errors : vErrors.concat(validate17.errors);errors = vErrors.length;}}}else {const err17 = {keyword:"type",dataPath:dataPath+"/" + i0+"/choices/" + i1,schemaPath:"#/allOf/0/items/properties/choices/items/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}if(errors > 0){const emErrors0 = {"required":[]};const templates0 = {};for(const err18 of vErrors){if((((((err18.keyword !== "errorMessage") && (!err18.emUsed)) && (err18.dataPath === dataPath+"/" + i0+"/choices/" + i1)) && (err18.keyword in emErrors0)) && (err18.schemaPath.indexOf("#/allOf/0/items/properties/choices/items") === 0)) && (/^\/[^\/]*$/.test(err18.schemaPath.slice(40)))){emErrors0[err18.keyword].push(err18);err18.emUsed = true;}}for(const key0 in emErrors0){if(emErrors0[key0].length){const err19 = {keyword:"errorMessage",dataPath:dataPath+"/" + i0+"/choices/" + i1,schemaPath:"#/allOf/0/items/properties/choices/items/errorMessage",params:{errors: emErrors0[key0]},message:key0 in templates0 ? templates0[key0]() : schema18.allOf[0].items.properties.choices.items.errorMessage[key0]};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}}const emErrs2 = [];for(const err20 of vErrors){if(!err20.emUsed){emErrs2.push(err20);}}vErrors = emErrs2;errors = emErrs2.length;}}}else {const err21 = {keyword:"type",dataPath:dataPath+"/" + i0+"/choices",schemaPath:"#/allOf/0/items/properties/choices/type",params:{type: "array"},message:"should be array"};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}}if(data0.constraints !== undefined){let data13 = data0.constraints;if(data13 && typeof data13 == "object" && !Array.isArray(data13)){if(data13.notEmpty !== undefined){if(typeof data13.notEmpty !== "boolean"){const err22 = {keyword:"type",dataPath:dataPath+"/" + i0+"/constraints/notEmpty",schemaPath:"#/allOf/0/items/properties/constraints/properties/notEmpty/type",params:{type: "boolean"},message:"should be boolean"};if(vErrors === null){vErrors = [err22];}else {vErrors.push(err22);}errors++;}}if(data13.minLength !== undefined){if(!(typeof data13.minLength == "number")){const err23 = {keyword:"type",dataPath:dataPath+"/" + i0+"/constraints/minLength",schemaPath:"#/allOf/0/items/properties/constraints/properties/minLength/type",params:{type: "number"},message:"should be number"};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}}if(data13.maxLength !== undefined){if(!(typeof data13.maxLength == "number")){const err24 = {keyword:"type",dataPath:dataPath+"/" + i0+"/constraints/maxLength",schemaPath:"#/allOf/0/items/properties/constraints/properties/maxLength/type",params:{type: "number"},message:"should be number"};if(vErrors === null){vErrors = [err24];}else {vErrors.push(err24);}errors++;}}if(data13.pattern !== undefined){let data17 = data13.pattern;const _errs39 = errors;let valid13 = false;let passing0 = null;const _errs40 = errors;if(data17 && typeof data17 == "object" && !Array.isArray(data17)){if(data17.value !== undefined){if(typeof data17.value !== "string"){const err25 = {keyword:"type",dataPath:dataPath+"/" + i0+"/constraints/pattern/value",schemaPath:"#/allOf/0/items/properties/constraints/properties/pattern/oneOf/0/properties/value/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err25];}else {vErrors.push(err25);}errors++;}}if(data17.message !== undefined){if(typeof data17.message !== "string"){const err26 = {keyword:"type",dataPath:dataPath+"/" + i0+"/constraints/pattern/message",schemaPath:"#/allOf/0/items/properties/constraints/properties/pattern/oneOf/0/properties/message/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err26];}else {vErrors.push(err26);}errors++;}}}else {const err27 = {keyword:"type",dataPath:dataPath+"/" + i0+"/constraints/pattern",schemaPath:"#/allOf/0/items/properties/constraints/properties/pattern/oneOf/0/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err27];}else {vErrors.push(err27);}errors++;}var _valid1 = _errs40 === errors;if(_valid1){valid13 = true;passing0 = 0;}const _errs46 = errors;if(typeof data17 !== "string"){const err28 = {keyword:"type",dataPath:dataPath+"/" + i0+"/constraints/pattern",schemaPath:"#/allOf/0/items/properties/constraints/properties/pattern/oneOf/1/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err28];}else {vErrors.push(err28);}errors++;}var _valid1 = _errs46 === errors;if(_valid1 && valid13){valid13 = false;passing0 = [passing0, 1];}else {if(_valid1){valid13 = true;passing0 = 1;}}if(!valid13){const err29 = {keyword:"oneOf",dataPath:dataPath+"/" + i0+"/constraints/pattern",schemaPath:"#/allOf/0/items/properties/constraints/properties/pattern/oneOf",params:{passingSchemas: passing0},message:"should match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err29];}else {vErrors.push(err29);}errors++;}else {errors = _errs39;if(vErrors !== null){if(_errs39){vErrors.length = _errs39;}else {vErrors = null;}}}}}else {const err30 = {keyword:"type",dataPath:dataPath+"/" + i0+"/constraints",schemaPath:"#/allOf/0/items/properties/constraints/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err30];}else {vErrors.push(err30);}errors++;}}if(data0.group !== undefined){if(typeof data0.group !== "string"){const err31 = {keyword:"type",dataPath:dataPath+"/" + i0+"/group",schemaPath:"#/allOf/0/items/properties/group/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err31];}else {vErrors.push(err31);}errors++;}}if(data0.condition !== undefined){let data21 = data0.condition;if(!(data21 && typeof data21 == "object" && !Array.isArray(data21))){const err32 = {keyword:"type",dataPath:dataPath+"/" + i0+"/condition",schemaPath:"#/allOf/0/items/properties/condition/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err32];}else {vErrors.push(err32);}errors++;}const _errs52 = errors;let valid15 = false;let passing1 = null;const _errs53 = errors;const _errs56 = errors;let valid17 = false;let passing2 = null;const _errs57 = errors;if(data21 && typeof data21 == "object" && !Array.isArray(data21)){if(data21.equals === undefined){const err33 = {keyword:"required",dataPath:dataPath+"/" + i0+"/condition",schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/oneOf/0/required",params:{missingProperty: "equals"},message:"should have required property '"+"equals"+"'"};if(vErrors === null){vErrors = [err33];}else {vErrors.push(err33);}errors++;}if(data21.equals !== undefined){let data22 = data21.equals;if(((typeof data22 !== "string") && (!(typeof data22 == "number"))) && (typeof data22 !== "boolean")){const err34 = {keyword:"type",dataPath:dataPath+"/" + i0+"/condition/equals",schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/oneOf/0/properties/equals/type",params:{type: schema20.oneOf[0].properties.equals.type},message:"should be string,number,boolean"};if(vErrors === null){vErrors = [err34];}else {vErrors.push(err34);}errors++;}}}var _valid3 = _errs57 === errors;if(_valid3){valid17 = true;passing2 = 0;}const _errs60 = errors;if(data21 && typeof data21 == "object" && !Array.isArray(data21)){if(data21.oneOf === undefined){const err35 = {keyword:"required",dataPath:dataPath+"/" + i0+"/condition",schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/oneOf/1/required",params:{missingProperty: "oneOf"},message:"should have required property '"+"oneOf"+"'"};if(vErrors === null){vErrors = [err35];}else {vErrors.push(err35);}errors++;}if(data21.oneOf !== undefined){let data23 = data21.oneOf;if(Array.isArray(data23)){const len2 = data23.length;for(let i2=0; i2<len2; i2++){let data24 = data23[i2];if((typeof data24 !== "string") && (!(typeof data24 == "number"))){const err36 = {keyword:"type",dataPath:dataPath+"/" + i0+"/condition/oneOf/" + i2,schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/oneOf/1/properties/oneOf/items/type",params:{type: schema20.oneOf[1].properties.oneOf.items.type},message:"should be string,number"};if(vErrors === null){vErrors = [err36];}else {vErrors.push(err36);}errors++;}}}else {const err37 = {keyword:"type",dataPath:dataPath+"/" + i0+"/condition/oneOf",schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/oneOf/1/properties/oneOf/type",params:{type: "array"},message:"should be array"};if(vErrors === null){vErrors = [err37];}else {vErrors.push(err37);}errors++;}}}var _valid3 = _errs60 === errors;if(_valid3 && valid17){valid17 = false;passing2 = [passing2, 1];}else {if(_valid3){valid17 = true;passing2 = 1;}const _errs65 = errors;if(data21 && typeof data21 == "object" && !Array.isArray(data21)){if(data21.isActive === undefined){const err38 = {keyword:"required",dataPath:dataPath+"/" + i0+"/condition",schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/oneOf/2/required",params:{missingProperty: "isActive"},message:"should have required property '"+"isActive"+"'"};if(vErrors === null){vErrors = [err38];}else {vErrors.push(err38);}errors++;}if(data21.isActive !== undefined){if(typeof data21.isActive !== "boolean"){const err39 = {keyword:"type",dataPath:dataPath+"/" + i0+"/condition/isActive",schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/oneOf/2/properties/isActive/type",params:{type: "boolean"},message:"should be boolean"};if(vErrors === null){vErrors = [err39];}else {vErrors.push(err39);}errors++;}}}var _valid3 = _errs65 === errors;if(_valid3 && valid17){valid17 = false;passing2 = [passing2, 2];}else {if(_valid3){valid17 = true;passing2 = 2;}}}if(!valid17){const err40 = {keyword:"oneOf",dataPath:dataPath+"/" + i0+"/condition",schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/oneOf",params:{passingSchemas: passing2},message:"should match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err40];}else {vErrors.push(err40);}errors++;}else {errors = _errs56;if(vErrors !== null){if(_errs56){vErrors.length = _errs56;}else {vErrors = null;}}}if(data21 && typeof data21 == "object" && !Array.isArray(data21)){if(data21.property === undefined){const err41 = {keyword:"required",dataPath:dataPath+"/" + i0+"/condition",schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/required",params:{missingProperty: "property"},message:"should have required property '"+"property"+"'"};if(vErrors === null){vErrors = [err41];}else {vErrors.push(err41);}errors++;}if(data21.type !== undefined){if(!func0(data21.type, "simple")){const err42 = {keyword:"const",dataPath:dataPath+"/" + i0+"/condition/type",schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/properties/type/const",params:{allowedValue: "simple"},message:"should be equal to constant"};if(vErrors === null){vErrors = [err42];}else {vErrors.push(err42);}errors++;}}if(data21.property !== undefined){if(typeof data21.property !== "string"){const err43 = {keyword:"type",dataPath:dataPath+"/" + i0+"/condition/property",schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/properties/property/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err43];}else {vErrors.push(err43);}errors++;}}}else {const err44 = {keyword:"type",dataPath:dataPath+"/" + i0+"/condition",schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err44];}else {vErrors.push(err44);}errors++;}if(errors > 0){const emErrors1 = {"required":{"property":[]}};const templates1 = {required:{}};let emPropParams0;let emParamsErrors0;for(const err45 of vErrors){if((((((err45.keyword !== "errorMessage") && (!err45.emUsed)) && (err45.dataPath === dataPath+"/" + i0+"/condition")) && (err45.keyword in emErrors1)) && (err45.schemaPath.indexOf("#/definitions/properties/allOf/0/items/properties/condition/definitions/condition") === 0)) && (/^\/[^\/]*$/.test(err45.schemaPath.slice(81)))){emPropParams0 = obj0[err45.keyword];emParamsErrors0 = emErrors1[err45.keyword][err45.params[emPropParams0]];if(emParamsErrors0){emParamsErrors0.push(err45);err45.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 err46 = {keyword:"errorMessage",dataPath:dataPath+"/" + i0+"/condition",schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/errorMessage",params:{errors: emParamsErrors0},message:tmpl0 ? tmpl0() : schema20.errorMessage[key1][keyProp0]};if(vErrors === null){vErrors = [err46];}else {vErrors.push(err46);}errors++;}}}const emErrs3 = [];for(const err47 of vErrors){if(!err47.emUsed){emErrs3.push(err47);}}vErrors = emErrs3;errors = emErrs3.length;}var _valid2 = _errs53 === errors;if(_valid2){valid15 = true;passing1 = 0;}const _errs71 = errors;if(data21 && typeof data21 == "object" && !Array.isArray(data21)){if(data21.allMatch === undefined){const err48 = {keyword:"required",dataPath:dataPath+"/" + i0+"/condition",schemaPath:"#/allOf/0/items/properties/condition/oneOf/1/required",params:{missingProperty: "allMatch"},message:"should have required property '"+"allMatch"+"'"};if(vErrors === null){vErrors = [err48];}else {vErrors.push(err48);}errors++;}if(data21.allMatch !== undefined){let data28 = data21.allMatch;if(Array.isArray(data28)){if(data28.length < 1){const err49 = {keyword:"minItems",dataPath:dataPath+"/" + i0+"/condition/allMatch",schemaPath:"#/allOf/0/items/properties/condition/oneOf/1/properties/allMatch/minItems",params:{limit: 1},message:"should NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err49];}else {vErrors.push(err49);}errors++;}const len3 = data28.length;for(let i3=0; i3<len3; i3++){let data29 = data28[i3];const _errs77 = errors;let valid28 = false;let passing3 = null;const _errs78 = errors;if(data29 && typeof data29 == "object" && !Array.isArray(data29)){if(data29.equals === undefined){const err50 = {keyword:"required",dataPath:dataPath+"/" + i0+"/condition/allMatch/" + i3,schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/oneOf/0/required",params:{missingProperty: "equals"},message:"should have required property '"+"equals"+"'"};if(vErrors === null){vErrors = [err50];}else {vErrors.push(err50);}errors++;}if(data29.equals !== undefined){let data30 = data29.equals;if(((typeof data30 !== "string") && (!(typeof data30 == "number"))) && (typeof data30 !== "boolean")){const err51 = {keyword:"type",dataPath:dataPath+"/" + i0+"/condition/allMatch/" + i3+"/equals",schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/oneOf/0/properties/equals/type",params:{type: schema20.oneOf[0].properties.equals.type},message:"should be string,number,boolean"};if(vErrors === null){vErrors = [err51];}else {vErrors.push(err51);}errors++;}}}var _valid4 = _errs78 === errors;if(_valid4){valid28 = true;passing3 = 0;}const _errs81 = errors;if(data29 && typeof data29 == "object" && !Array.isArray(data29)){if(data29.oneOf === undefined){const err52 = {keyword:"required",dataPath:dataPath+"/" + i0+"/condition/allMatch/" + i3,schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/oneOf/1/required",params:{missingProperty: "oneOf"},message:"should have required property '"+"oneOf"+"'"};if(vErrors === null){vErrors = [err52];}else {vErrors.push(err52);}errors++;}if(data29.oneOf !== undefined){let data31 = data29.oneOf;if(Array.isArray(data31)){const len4 = data31.length;for(let i4=0; i4<len4; i4++){let data32 = data31[i4];if((typeof data32 !== "string") && (!(typeof data32 == "number"))){const err53 = {keyword:"type",dataPath:dataPath+"/" + i0+"/condition/allMatch/" + i3+"/oneOf/" + i4,schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/oneOf/1/properties/oneOf/items/type",params:{type: schema20.oneOf[1].properties.oneOf.items.type},message:"should be string,number"};if(vErrors === null){vErrors = [err53];}else {vErrors.push(err53);}errors++;}}}else {const err54 = {keyword:"type",dataPath:dataPath+"/" + i0+"/condition/allMatch/" + i3+"/oneOf",schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/oneOf/1/properties/oneOf/type",params:{type: "array"},message:"should be array"};if(vErrors === null){vErrors = [err54];}else {vErrors.push(err54);}errors++;}}}var _valid4 = _errs81 === errors;if(_valid4 && valid28){valid28 = false;passing3 = [passing3, 1];}else {if(_valid4){valid28 = true;passing3 = 1;}const _errs86 = errors;if(data29 && typeof data29 == "object" && !Array.isArray(data29)){if(data29.isActive === undefined){const err55 = {keyword:"required",dataPath:dataPath+"/" + i0+"/condition/allMatch/" + i3,schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/oneOf/2/required",params:{missingProperty: "isActive"},message:"should have required property '"+"isActive"+"'"};if(vErrors === null){vErrors = [err55];}else {vErrors.push(err55);}errors++;}if(data29.isActive !== undefined){if(typeof data29.isActive !== "boolean"){const err56 = {keyword:"type",dataPath:dataPath+"/" + i0+"/condition/allMatch/" + i3+"/isActive",schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/oneOf/2/properties/isActive/type",params:{type: "boolean"},message:"should be boolean"};if(vErrors === null){vErrors = [err56];}else {vErrors.push(err56);}errors++;}}}var _valid4 = _errs86 === errors;if(_valid4 && valid28){valid28 = false;passing3 = [passing3, 2];}else {if(_valid4){valid28 = true;passing3 = 2;}}}if(!valid28){const err57 = {keyword:"oneOf",dataPath:dataPath+"/" + i0+"/condition/allMatch/" + i3,schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/oneOf",params:{passingSchemas: passing3},message:"should match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err57];}else {vErrors.push(err57);}errors++;}else {errors = _errs77;if(vErrors !== null){if(_errs77){vErrors.length = _errs77;}else {vErrors = null;}}}if(data29 && typeof data29 == "object" && !Array.isArray(data29)){if(data29.property === undefined){const err58 = {keyword:"required",dataPath:dataPath+"/" + i0+"/condition/allMatch/" + i3,schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/required",params:{missingProperty: "property"},message:"should have required property '"+"property"+"'"};if(vErrors === null){vErrors = [err58];}else {vErrors.push(err58);}errors++;}if(data29.type !== undefined){if(!func0(data29.type, "simple")){const err59 = {keyword:"const",dataPath:dataPath+"/" + i0+"/condition/allMatch/" + i3+"/type",schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/properties/type/const",params:{allowedValue: "simple"},message:"should be equal to constant"};if(vErrors === null){vErrors = [err59];}else {vErrors.push(err59);}errors++;}}if(data29.property !== undefined){if(typeof data29.property !== "string"){const err60 = {keyword:"type",dataPath:dataPath+"/" + i0+"/condition/allMatch/" + i3+"/property",schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/properties/property/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err60];}else {vErrors.push(err60);}errors++;}}}else {const err61 = {keyword:"type",dataPath:dataPath+"/" + i0+"/condition/allMatch/" + i3,schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err61];}else {vErrors.push(err61);}errors++;}if(errors > 0){const emErrors2 = {"required":{"property":[]}};const templates2 = {required:{}};let emPropParams1;let emParamsErrors1;for(const err62 of vErrors){if((((((err62.keyword !== "errorMessage") && (!err62.emUsed)) && (err62.dataPath === dataPath+"/" + i0+"/condition/allMatch/" + i3)) && (err62.keyword in emErrors2)) && (err62.schemaPath.indexOf("#/definitions/properties/allOf/0/items/properties/condition/definitions/condition") === 0)) && (/^\/[^\/]*$/.test(err62.schemaPath.slice(81)))){emPropParams1 = obj0[err62.keyword];emParamsErrors1 = emErrors2[err62.keyword][err62.params[emPropParams1]];if(emParamsErrors1){emParamsErrors1.push(err62);err62.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 err63 = {keyword:"errorMessage",dataPath:dataPath+"/" + i0+"/condition/allMatch/" + i3,schemaPath:"#/definitions/properties/allOf/0/items/properties/condition/definitions/condition/errorMessage",params:{errors: emParamsErrors1},message:tmpl1 ? tmpl1() : schema20.errorMessage[key2][keyProp1]};if(vErrors === null){vErrors = [err63];}else {vErrors.push(err63);}errors++;}}}const emErrs4 = [];for(const err64 of vErrors){if(!err64.emUsed){emErrs4.push(err64);}}vErrors = emErrs4;errors = emErrs4.length;}}}else {const err65 = {keyword:"type",dataPath:dataPath+"/" + i0+"/condition/allMatch",schemaPath:"#/allOf/0/items/properties/condition/oneOf/1/properties/allMatch/type",params:{type: "array"},message:"should be array"};if(vErrors === null){vErrors = [err65];}else {vErrors.push(err65);}errors++;}}}var _valid2 = _errs71 === errors;if(_valid2 && valid15){valid15 = false;passing1 = [passing1, 1];}else {if(_valid2){valid15 = true;passing1 = 1;}}if(!valid15){const err66 = {keyword:"oneOf",dataPath:dataPath+"/" + i0+"/condition",schemaPath:"#/allOf/0/items/properties/condition/oneOf",params:{passingSchemas: passing1},message:"should match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err66];}else {vErrors.push(err66);}errors++;}else {errors = _errs52;if(vErrors !== null){if(_errs52){vErrors.length = _errs52;}else {vErrors = null;}}}}}else {const err67 = {keyword:"type",dataPath:dataPath+"/" + i0,schemaPath:"#/allOf/0/items/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err67];}else {vErrors.push(err67);}errors++;}}}else {const err68 = {keyword:"type",dataPath,schemaPath:"#/allOf/0/type",params:{type: "array"},message:"should be array"};if(vErrors === null){vErrors = [err68];}else {vErrors.push(err68);}errors++;}if(Array.isArray(data)){const len5 = data.length;for(let i5=0; i5<len5; i5++){let data36 = data[i5];const _errs97 = errors;let valid39 = true;const _errs98 = errors;if(data36 && typeof data36 == "object" && !Array.isArray(data36)){if((data36.binding === undefined) && ("binding")){const err69 = {};if(vErrors === null){vErrors = [err69];}else {vErrors.push(err69);}errors++;}else {if(data36.binding !== undefined){let data37 = data36.binding;if(data37 && typeof data37 == "object" && !Array.isArray(data37)){if((data37.type === undefined) && ("type")){const err70 = {};if(vErrors === null){vErrors = [err70];}else {vErrors.push(err70);}errors++;}else {if(data37.type !== undefined){if(!func0(data37.type, "property")){const err71 = {};if(vErrors === null){vErrors = [err71];}else {vErrors.push(err71);}errors++;}}}}}}}var _valid5 = _errs98 === errors;errors = _errs97;if(vErrors !== null){if(_errs97){vErrors.length = _errs97;}else {vErrors = null;}}if(_valid5){const _errs101 = 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 err72 = {keyword:"enum",dataPath:dataPath+"/" + i5+"/type",schemaPath:"#/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 = [err72];}else {vErrors.push(err72);}errors++;}if(errors > 0){const emErrs5 = [];for(const err73 of vErrors){if(((((err73.keyword !== "errorMessage") && (!err73.emUsed)) && ((err73.dataPath === dataPath+"/" + i5+"/type") || ((err73.dataPath.indexOf(dataPath+"/" + i5+"/type") === 0) && (err73.dataPath[dataPath+"/" + i5+"/type".length] === "/")))) && (err73.schemaPath.indexOf("#/allOf/1/items/allOf/0/then/properties/type") === 0)) && (err73.schemaPath["#/allOf/1/items/allOf/0/then/properties/type".length] === "/")){emErrs5.push(err73);err73.emUsed = true;}}if(emErrs5.length){const err74 = {keyword:"errorMessage",dataPath:dataPath+"/" + i5+"/type",schemaPath:"#/allOf/1/items/allOf/0/then/properties/type/errorMessage",params:{errors: emErrs5},message:"invalid property type " + JSON.stringify(data39) + " for binding type \"property\"; must be any of { String, Text, Hidden, Dropdown, Boolean }"};if(vErrors === null){vErrors = [err74];}else {vErrors.push(err74);}errors++;}const emErrs6 = [];for(const err75 of vErrors){if(!err75.emUsed){emErrs6.push(err75);}}vErrors = emErrs6;errors = emErrs6.length;}}}var _valid5 = _errs101 === errors;valid39 = _valid5;}if(!valid39){const err76 = {keyword:"if",dataPath:dataPath+"/" + i5,schemaPath:"#/allOf/1/items/allOf/0/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err76];}else {vErrors.push(err76);}errors++;}const _errs104 = errors;let valid43 = true;const _errs105 = 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 data40 = data36.binding;if(data40 && typeof data40 == "object" && !Array.isArray(data40)){if((data40.type === undefined) && ("type")){const err78 = {};if(vErrors === null){vErrors = [err78];}else {vErrors.push(err78);}errors++;}else {if(data40.type !== undefined){let data41 = data40.type;if(!(((((((((data41 === "zeebe:input") || (data41 === "zeebe:output")) || (data41 === "zeebe:property")) || (data41 === "zeebe:taskHeader")) || (data41 === "zeebe:taskDefinition:type")) || (data41 === "bpmn:Message#property")) || (data41 === "bpmn:Message#zeebe:subscription#property")) || (data41 === "zeebe:taskDefinition")) || (data41 === "zeebe:calledElement"))){const err79 = {};if(vErrors === null){vErrors = [err79];}else {vErrors.push(err79);}errors++;}}}}}}}var _valid6 = _errs105 === errors;errors = _errs104;if(vErrors !== null){if(_errs104){vErrors.length = _errs104;}else {vErrors = null;}}if(_valid6){const _errs108 = 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 err80 = {keyword:"enum",dataPath:dataPath+"/" + i5+"/type",schemaPath:"#/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 = [err80];}else {vErrors.push(err80);}errors++;}if(errors > 0){const emErrs7 = [];for(const err81 of vErrors){if(((((err81.keyword !== "errorMessage") && (!err81.emUsed)) && ((err81.dataPath === dataPath+"/" + i5+"/type") || ((err81.dataPath.indexOf(dataPath+"/" + i5+"/type") === 0) && (err81.dataPath[dataPath+"/" + i5+"/type".length] === "/")))) && (err81.schemaPath.indexOf("#/allOf/1/items/allOf/1/then/properties/type") === 0)) && (err81.schemaPath["#/allOf/1/items/allOf/1/then/properties/type".length] === "/")){emErrs7.push(err81);err81.emUsed = true;}}if(emErrs7.length){const err82 = {keyword:"errorMessage",dataPath:dataPath+"/" + i5+"/type",schemaPath:"#/allOf/1/items/allOf/1/then/properties/type/errorMessage",params:{errors: emErrs7},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 = [err82];}else {vErrors.push(err82);}errors++;}const emErrs8 = [];for(const err83 of vErrors){if(!err83.emUsed){emErrs8.push(err83);}}vErrors = emErrs8;errors = emErrs8.length;}}}var _valid6 = _errs108 === errors;valid43 = _valid6;}if(!valid43){const err84 = {keyword:"if",dataPath:dataPath+"/" + i5,schemaPath:"#/allOf/1/items/allOf/1/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err84];}else {vErrors.push(err84);}errors++;}const _errs111 = errors;let valid47 = true;const _errs112 = errors;if(data36 && typeof data36 == "object" && !Array.isArray(data36)){if((data36.optional === undefined) && ("optional")){const err85 = {};if(vErrors === null){vErrors = [err85];}else {vErrors.push(err85);}errors++;}else {if(data36.optional !== undefined){if(!func0(data36.optional, true)){const err86 = {};if(vErrors === null){vErrors = [err86];}else {vErrors.push(err86);}errors++;}}}}var _valid7 = _errs112 === errors;errors = _errs111;if(vErrors !== null){if(_errs111){vErrors.length = _errs111;}else {vErrors = null;}}if(_valid7){const _errs114 = 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 err87 = {keyword:"required",dataPath:dataPath+"/" + i5+"/binding",schemaPath:"#/allOf/1/items/allOf/2/then/properties/binding/required",params:{missingProperty: "type"},message:"should have required property '"+"type"+"'"};if(vErrors === null){vErrors = [err87];}else {vErrors.push(err87);}errors++;}if(data44.type !== undefined){let data45 = data44.type;if(!((((data45 === "zeebe:input") || (data45 === "zeebe:output")) || (data45 === "zeebe:property")) || (data45 === "zeebe:taskHeader"))){const err88 = {keyword:"enum",dataPath:dataPath+"/" + i5+"/binding/type",schemaPath:"#/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 = [err88];}else {vErrors.push(err88);}errors++;}if(errors > 0){const emErrs9 = [];for(const err89 of vErrors){if(((((err89.keyword !== "errorMessage") && (!err89.emUsed)) && ((err89.dataPath === dataPath+"/" + i5+"/binding/type") || ((err89.dataPath.indexOf(dataPath+"/" + i5+"/binding/type") === 0) && (err89.dataPath[dataPath+"/" + i5+"/binding/type".length] === "/")))) && (err89.schemaPath.indexOf("#/allOf/1/items/allOf/2/then/properties/binding/properties/type") === 0)) && (err89.schemaPath["#/allOf/1/items/allOf/2/then/properties/binding/properties/type".length] === "/")){emErrs9.push(err89);err89.emUsed = true;}}if(emErrs9.length){const err90 = {keyword:"errorMessage",dataPath:dataPath+"/" + i5+"/binding/type",schemaPath:"#/allOf/1/items/allOf/2/then/properties/binding/properties/type/errorMessage",params:{errors: emErrs9},message:"optional is not supported for binding type " + JSON.stringify(data45) + "; must be any of { zeebe:input, zeebe:output, zeebe:property, zeebe:taskHeader }"};if(vErrors === null){vErrors = [err90];}else {vErrors.push(err90);}errors++;}const emErrs10 = [];for(const err91 of vErrors){if(!err91.emUsed){emErrs10.push(err91);}}vErrors = emErrs10;errors = emErrs10.length;}}}}}var _valid7 = _errs114 === errors;valid47 = _valid7;}if(!valid47){const err92 = {keyword:"if",dataPath:dataPath+"/" + i5,schemaPath:"#/allOf/1/items/allOf/2/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err92];}else {vErrors.push(err92);}errors++;}const _errs118 = errors;let valid51 = true;const _errs119 = 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(!func0(data36.optional, true)){const err94 = {};if(vErrors === null){vErrors = [err94];}else {vErrors.push(err94);}errors++;}}}}var _valid8 = _errs119 === errors;errors = _errs118;if(vErrors !== null){if(_errs118){vErrors.length = _errs118;}else {vErrors = null;}}if(_valid8){const _errs121 = 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 err95 = {keyword:"required",dataPath:dataPath+"/" + i5+"/constraints",schemaPath:"#/allOf/1/items/allOf/3/then/properties/constraints/required",params:{missingProperty: "notEmpty"},message:"should have required property '"+"notEmpty"+"'"};if(vErrors === null){vErrors = [err95];}else {vErrors.push(err95);}errors++;}if(data47.notEmpty !== undefined){if(!func0(data47.notEmpty, false)){const err96 = {keyword:"const",dataPath:dataPath+"/" + i5+"/constraints/notEmpty",schemaPath:"#/allOf/1/items/allOf/3/then/properties/constraints/properties/notEmpty/const",params:{allowedValue: false},message:"should be equal to constant"};if(vErrors === null){vErrors = [err96];}else {vErrors.push(err96);}errors++;}if(errors > 0){const emErrs11 = [];for(const err97 of vErrors){if(((((err97.keyword !== "errorMessage") && (!err97.emUsed)) && ((err97.dataPath === dataPath+"/" + i5+"/constraints/notEmpty") || ((err97.dataPath.indexOf(dataPath+"/" + i5+"/constraints/notEmpty") === 0) && (err97.dataPath[dataPath+"/" + i5+"/constraints/notEmpty".length] === "/")))) && (err97.schemaPath.indexOf("#/allOf/1/items/allOf/3/then/properties/constraints/properties/notEmpty") === 0)) && (err97.schemaPath["#/allOf/1/items/allOf/3/then/properties/constraints/properties/notEmpty".length] === "/")){emErrs11.push(err97);err97.emUsed = true;}}if(emErrs11.length){const err98 = {keyword:"errorMessage",dataPath:dataPath+"/" + i5+"/constraints/notEmpty",schemaPath:"#/allOf/1/items/allOf/3/then/properties/constraints/properties/notEmpty/errorMessage",params:{errors: emErrs11},message:"optional is not allowed for truthy \"notEmpty\" constraint"};if(vErrors === null){vErrors = [err98];}else {vErrors.push(err98);}errors++;}const emErrs12 = [];for(const err99 of vErrors){if(!err99.emUsed){emErrs12.push(err99);}}vErrors = emErrs12;errors = emErrs12.length;}}}}}var _valid8 = _errs121 === errors;valid51 = _valid8;}if(!valid51){const err100 = {keyword:"if",dataPath:dataPath+"/" + i5,schemaPath:"#/allOf/1/items/allOf/3/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err100];}else {vErrors.push(err100);}errors++;}const _errs125 = errors;let valid55 = true;const _errs126 = errors;if(data36 && typeof data36 == "object" && !Array.isArray(data36)){if((data36.feel === undefined) && ("feel")){const err101 = {};if(vErrors === null){vErrors = [err101];}else {vErrors.push(err101);}errors++;}else {if(data36.feel !== undefined){const _errs128 = errors;const _errs129 = errors;if(!func0(data36.feel, schema18.allOf[1].items.allOf[4].if.properties.feel.not.const)){const err102 = {};if(vErrors === null){vErrors = [err102];}else {vErrors.push(err102);}errors++;}var valid57 = _errs129 === errors;if(!valid57){errors = _errs128;if(vErrors !== null){if(_errs128){vErrors.length = _errs128;}else {vErrors = null;}}}else {const err103 = {};if(vErrors === null){vErrors = [err103];}else {vErrors.push(err103);}errors++;}}}}var _valid9 = _errs126 === errors;errors = _errs125;if(vErrors !== null){if(_errs125){vErrors.length = _errs125;}else {vErrors = null;}}if(_valid9){const _errs130 = errors;if(data36 && typeof data36 == "object" && !Array.isArray(data36)){if(data36.type === undefined){const err104 = {keyword:"required",dataPath:dataPath+"/" + i5,schemaPath:"#/allOf/1/items/allOf/4/then/required",params:{missingProperty: "type"},message:"should have required property '"+"type"+"'"};if(vErrors === null){vErrors = [err104];}else {vErrors.push(err104);}errors++;}if(data36.type !== undefined){let data50 = data36.type;if(!((data50 === "String") || (data50 === "Text"))){const err105 = {keyword:"enum",dataPath:dataPath+"/" + i5+"/type",schemaPath:"#/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 = [err105];}else {vErrors.push(err105);}errors++;}if(errors > 0){const emErrs13 = [];for(const err106 of vErrors){if(((((err106.keyword !== "errorMessage") && (!err106.emUsed)) && ((err106.dataPath === dataPath+"/" + i5+"/type") || ((err106.dataPath.indexOf(dataPath+"/" + i5+"/type") === 0) && (err106.dataPath[dataPath+"/" + i5+"/type".length] === "/")))) && (err106.schemaPath.indexOf("#/allOf/1/items/allOf/4/then/properties/type") === 0)) && (err106.schemaPath["#/allOf/1/items/allOf/4/then/properties/type".length] === "/")){emErrs13.push(err106);err106.emUsed = true;}}if(emErrs13.length){const err107 = {keyword:"errorMessage",dataPath:dataPath+"/" + i5+"/type",schemaPath:"#/allOf/1/items/allOf/4/then/properties/type/errorMessage",params:{errors: emErrs13},message:"feel is only supported for \"String\" and \"Text\" type"};if(vErrors === null){vErrors = [err107];}else {vErrors.push(err107);}errors++;}const emErrs14 = [];for(const err108 of vErrors){if(!err108.emUsed){emErrs14.push(err108);}}vErrors = emErrs14;errors = emErrs14.length;}}}var _valid9 = _errs130 === errors;valid55 = _valid9;}if(!valid55){const err109 = {keyword:"if",dataPath:dataPath+"/" + i5,schemaPath:"#/allOf/1/items/allOf/4/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err109];}else {vErrors.push(err109);}errors++;}const _errs133 = errors;let valid59 = true;const _errs134 = errors;if(data36 && typeof data36 == "object" && !Array.isArray(data36)){if((data36.language === undefined) && ("language")){const err110 = {};if(vErrors === null){vErrors = [err110];}else {vErrors.push(err110);}errors++;}else {if(data36.language !== undefined){const _errs136 = errors;const _errs137 = errors;if(!func0(data36.language, schema18.allOf[1].items.allOf[5].if.properties.language.not.const)){const err111 = {};if(vErrors === null){vErrors = [err111];}else {vErrors.push(err111);}errors++;}var valid61 = _errs137 === errors;if(!valid61){errors = _errs136;if(vErrors !== null){if(_errs136){vErrors.length = _errs136;}else {vErrors = null;}}}else {const err112 = {};if(vErrors === null){vErrors = [err112];}else {vErrors.push(err112);}errors++;}}}}var _valid10 = _errs134 === errors;errors = _errs133;if(vErrors !== null){if(_errs133){vErrors.length = _errs133;}else {vErrors = null;}}if(_valid10){const _errs138 = errors;if(data36 && typeof data36 == "object" && !Array.isArray(data36)){if(data36.type !== undefined){if(!(data36.type === "Text")){const err113 = {keyword:"enum",dataPath:dataPath+"/" + i5+"/type",schemaPath:"#/allOf/1/items/allOf/5/then/properties/type/enum",params:{allowedValues: schema18.allOf[1].items.allOf[5].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 emErrs15 = [];for(const err114 of vErrors){if(((((err114.keyword !== "errorMessage") && (!err114.emUsed)) && ((err114.dataPath === dataPath+"/" + i5+"/type") || ((err114.dataPath.indexOf(dataPath+"/" + i5+"/type") === 0) && (err114.dataPath[dataPath+"/" + i5+"/type".length] === "/")))) && (err114.schemaPath.indexOf("#/allOf/1/items/allOf/5/then/properties/type") === 0)) && (err114.schemaPath["#/allOf/1/items/allOf/5/then/properties/type".length] === "/")){emErrs15.push(err114);err114.emUsed = true;}}if(emErrs15.length){const err115 = {keyword:"errorMessage",dataPath:dataPath+"/" + i5+"/type",schemaPath:"#/allOf/1/items/allOf/5/then/properties/type/errorMessage",params:{errors: emErrs15},message:"language is only supported for \"Text\" type"};if(vErrors === null){vErrors = [err115];}else {vErrors.push(err115);}errors++;}const emErrs16 = [];for(const err116 of vErrors){if(!err116.emUsed){emErrs16.push(err116);}}vErrors = emErrs16;errors = emErrs16.length;}}}var _valid10 = _errs138 === errors;valid59 = _valid10;}if(!valid59){const err117 = {keyword:"if",dataPath:dataPath+"/" + i5,schemaPath:"#/allOf/1/items/allOf/5/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err117];}else {vErrors.push(err117);}errors++;}const _errs141 = errors;let valid63 = true;const _errs142 = errors;if(data36 && typeof data36 == "object" && !Array.isArray(data36)){if((data36.value === undefined) && ("value")){const err118 = {};if(vErrors === null){vErrors = [err118];}else {vErrors.push(err118);}errors++;}}var _valid11 = _errs142 === errors;errors = _errs141;if(vErrors !== null){if(_errs141){vErrors.length = _errs141;}else {vErrors = null;}}if(_valid11){const _errs143 = errors;const _errs144 = errors;const _errs145 = errors;if(data36 && typeof data36 == "object" && !Array.isArray(data36)){if((data36.generatedValue === undefined) && ("generatedValue")){const err119 = {};if(vErrors === null){vErrors = [err119];}else {vErrors.push(err119);}errors++;}}var valid64 = _errs145 === errors;if(!valid64){errors = _errs144;if(vErrors !== null){if(_errs144){vErrors.length = _errs144;}else {vErrors = null;}}}else {const err120 = {keyword:"not",dataPath:dataPath+"/" + i5,schemaPath:"#/allOf/1/items/allOf/6/then/not",params:{},message:"should NOT be valid"};if(vErrors === null){vErrors = [err120];}else {vErrors.push(err120);}errors++;}var _valid11 = _errs143 === errors;valid63 = _valid11;}if(!valid63){const err121 = {keyword:"if",dataPath:dataPath+"/" + i5,schemaPath:"#/allOf/1/items/allOf/6/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err121];}else {vErrors.push(err121);}errors++;}const _errs147 = errors;let valid65 = true;const _errs148 = errors;if(data36 && typeof data36 == "object" && !Array.isArray(data36)){if((data36.type === undefined) && ("type")){const err122 = {};if(vErrors === null){vErrors = [err122];}else {vErrors.push(err122);}errors++;}else {if(data36.type !== undefined){let data53 = data36.type;if(!((data53 === "Boolean") || (data53 === "Dropdown"))){const err123 = {};if(vErrors === null){vErrors = [err123];}else {vErrors.push(err123);}errors++;}}}}var _valid12 = _errs148 === errors;errors = _errs147;if(vErrors !== null){if(_errs147){vErrors.length = _errs147;}else {vErrors = null;}}if(_valid12){const _errs150 = errors;const _errs151 = errors;const _errs152 = errors;if(data36 && typeof data36 == "object" && !Array.isArray(data36)){if((data36.generatedValue === undefined) && ("generatedValue")){const err124 = {};if(vErrors === null){vErrors = [err124];}else {vErrors.push(err124);}errors++;}}var valid67 = _errs152 === errors;if(!valid67){errors = _errs151;if(vErrors !== null){if(_errs151){vErrors.length = _errs151;}else {vErrors = null;}}}else {const err125 = {keyword:"not",dataPath:dataPath+"/" + i5,schemaPath:"#/allOf/1/items/allOf/7/then/not",params:{},message:"should NOT be valid"};if(vErrors === null){vErrors = [err125];}else {vErrors.push(err125);}errors++;}var _valid12 = _errs150 === errors;valid65 = _valid12;}if(!valid65){const err126 = {keyword:"if",dataPath:dataPath+"/" + i5,schemaPath:"#/allOf/1/items/allOf/7/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err126];}else {vErrors.push(err126);}errors++;}if(data36 && typeof data36 == "object" && !Array.isArray(data36)){if(data36.binding === undefined){const err127 = {keyword:"required",dataPath:dataPath+"/" + i5,schemaPath:"#/allOf/1/items/required",params:{missingProperty: "binding"},message:"should have required property '"+"binding"+"'"};if(vErrors === null){vErrors = [err127];}else {vErrors.push(err127);}errors++;}if(data36.binding !== undefined){let data54 = data36.binding;const _errs156 = errors;let valid70 = true;const _errs157 = errors;if(data54 && typeof data54 == "object" && !Array.isArray(data54)){if((data54.type === undefined) && ("type")){const err128 = {};if(vErrors === null){vErrors = [err128];}else {vErrors.push(err128);}errors++;}else {if(data54.type !== undefined){let data55 = data54.type;if(!(((((data55 === "property") || (data55 === "zeebe:property")) || (data55 === "zeebe:input")) || (data55 === "bpmn:Message#property")) || (data55 === "bpmn:Message#zeebe:subscription#property"))){const err129 = {};if(vErrors === null){vErrors = [err129];}else {vErrors.push(err129);}errors++;}}}}var _valid13 = _errs157 === errors;errors = _errs156;if(vErrors !== null){if(_errs156){vErrors.length = _errs156;}else {vErrors = null;}}if(_valid13){const _errs159 = errors;if(data54 && typeof data54 == "object" && !Array.isArray(data54)){if(data54.name === undefined){const err130 = {keyword:"required",dataPath:dataPath+"/" + i5+"/binding",schemaPath:"#/allOf/1/items/properties/binding/allOf/0/then/required",params:{missingProperty: "name"},message:"should have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err130];}else {vErrors.push(err130);}errors++;}}if(errors > 0){const emErrs17 = [];for(const err131 of vErrors){if(((((err131.keyword !== "errorMessage") && (!err131.emUsed)) && ((err131.dataPath === dataPath+"/" + i5+"/binding") || ((err131.dataPath.indexOf(dataPath+"/" + i5+"/binding") === 0) && (err131.dataPath[dataPath+"/" + i5+"/binding".length] === "/")))) && (err131.schemaPath.indexOf("#/allOf/1/items/properties/binding/allOf/0/then") === 0)) && (err131.schemaPath["#/allOf/1/items/properties/binding/allOf/0/then".length] === "/")){emErrs17.push(err131);err131.emUsed = true;}}if(emErrs17.length){const err132 = {keyword:"errorMessage",dataPath:dataPath+"/" + i5+"/binding",schemaPath:"#/allOf/1/items/properties/binding/allOf/0/then/errorMessage",params:{errors: emErrs17},message:"property.binding " + JSON.stringify(data54 && data54.type) + " requires name"};if(vErrors === null){vErrors = [err132];}else {vErrors.push(err132);}errors++;}const emErrs18 = [];for(const err133 of vErrors){if(!err133.emUsed){emErrs18.push(err133);}}vErrors = emErrs18;errors = emErrs18.length;}var _valid13 = _errs159 === errors;valid70 = _valid13;}if(!valid70){const err134 = {keyword:"if",dataPath:dataPath+"/" + i5+"/binding",schemaPath:"#/allOf/1/items/properties/binding/allOf/0/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err134];}else {vErrors.push(err134);}errors++;}const _errs161 = errors;let valid72 = true;const _errs162 = errors;if(data54 && typeof data54 == "object" && !Array.isArray(data54)){if((data54.type === undefined) && ("type")){const err135 = {};if(vErrors === null){vErrors = [err135];}else {vErrors.push(err135);}errors++;}else {if(data54.type !== undefined){if(!func0(data54.type, "zeebe:output")){const err136 = {};if(vErrors === null){vErrors = [err136];}else {vErrors.push(err136);}errors++;}}}}var _valid14 = _errs162 === errors;errors = _errs161;if(vErrors !== null){if(_errs161){vErrors.length = _errs161;}else {vErrors = null;}}if(_valid14){const _errs164 = errors;if(data54 && typeof data54 == "object" && !Array.isArray(data54)){if(data54.source === undefined){const err137 = {keyword:"required",dataPath:dataPath+"/" + i5+"/binding",schemaPath:"#/allOf/1/items/properties/binding/allOf/1/then/required",params:{missingProperty: "source"},message:"should have required property '"+"source"+"'"};if(vErrors === null){vErrors = [err137];}else {vErrors.push(err137);}errors++;}}if(errors > 0){const emErrs19 = [];for(const err138 of vErrors){if(((((err138.keyword !== "errorMessage") && (!err138.emUsed)) && ((err138.dataPath === dataPath+"/" + i5+"/binding") || ((err138.dataPath.indexOf(dataPath+"/" + i5+"/binding") === 0) && (err138.dataPath[dataPath+"/" + i5+"/binding".length] === "/")))) && (err138.schemaPath.indexOf("#/allOf/1/items/properties/binding/allOf/1/then") === 0)) && (err138.schemaPath["#/allOf/1/items/properties/binding/allOf/1/then".length] === "/")){emErrs19.push(err138);err138.emUsed = true;}}if(emErrs19.length){const err139 = {keyword:"errorMessage",dataPath:dataPath+"/" + i5+"/binding",schemaPath:"#/allOf/1/items/properties/binding/allOf/1/then/errorMessage",params:{errors: emErrs19},message:"property.binding " + JSON.stringify(data54 && data54.type) + " requires source"};if(vErrors === null){vErrors = [err139];}else {vErrors.push(err139);}errors++;}const emErrs20 = [];for(const err140 of vErrors){if(!err140.emUsed){emErrs20.push(err140);}}vErrors = emErrs20;errors = emErrs20.length;}var _valid14 = _errs164 === errors;valid72 = _valid14;}if(!valid72){const err141 = {keyword:"if",dataPath:dataPath+"/" + i5+"/binding",schemaPath:"#/allOf/1/items/properties/binding/allOf/1/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err141];}else {vErrors.push(err141);}errors++;}const _errs166 = errors;let valid74 = true;const _errs167 = errors;if(data54 && typeof data54 == "object" && !Array.isArray(data54)){if((data54.type === undefined) && ("type")){const err142 = {};if(vErrors === null){vErrors = [err142];}else {vErrors.push(err142);}errors++;}else {if(data54.type !== undefined){if(!func0(data54.type, "zeebe:taskHeader")){const err143 = {};if(vErrors === null){vErrors = [err143];}else {vErrors.push(err143);}errors++;}}}}var _valid15 = _errs167 === errors;errors = _errs166;if(vErrors !== null){if(_errs166){vErrors.length = _errs166;}else {vErrors = null;}}if(_valid15){const _errs169 = errors;if(data54 && typeof data54 == "object" && !Array.isArray(data54)){if(data54.key === undefined){const err144 = {keyword:"required",dataPath:dataPath+"/" + i5+"/binding",schemaPath:"#/allOf/1/items/properties/binding/allOf/2/then/required",params:{missingProperty: "key"},message:"should have required property '"+"key"+"'"};if(vErrors === null){vErrors = [err144];}else {vErrors.push(err144);}errors++;}}if(errors > 0){const emErrs21 = [];for(const err145 of vErrors){if(((((err145.keyword !== "errorMessage") && (!err145.emUsed)) && ((err145.dataPath === dataPath+"/" + i5+"/binding") || ((err145.dataPath.indexOf(dataPath+"/" + i5+"/binding") === 0) && (err145.dataPath[dataPath+"/" + i5+"/binding".length] === "/")))) && (err145.schemaPath.indexOf("#/allOf/1/items/properties/binding/allOf/2/then") === 0)) && (err145.schemaPath["#/allOf/1/items/properties/binding/allOf/2/then".length] === "/")){emErrs21.push(err145);err145.emUsed = true;}}if(emErrs21.length){const err146 = {keyword:"errorMessage",dataPath:dataPath+"/" + i5+"/binding",schemaPath:"#/allOf/1/items/properties/binding/allOf/2/then/errorMessage",params:{errors: emErrs21},message:"property.binding " + JSON.stringify(data54 && data54.type) + " requires key"};if(vErrors === null){vErrors = [err146];}else {vErrors.push(err146);}errors++;}const emErrs22 = [];for(const err147 of vErrors){if(!err147.emUsed){emErrs22.push(err147);}}vErrors = emErrs22;errors = emErrs22.length;}var _valid15 = _errs169 === errors;valid74 = _valid15;}if(!valid74){const err148 = {keyword:"if",dataPath:dataPath+"/" + i5+"/binding",schemaPath:"#/allOf/1/items/properties/binding/allOf/2/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err148];}else {vErrors.push(err148);}errors++;}const _errs171 = errors;let valid76 = true;const _errs172 = errors;if(data54 && typeof data54 == "object" && !Array.isArray(data54)){if((data54.type === undefined) && ("type")){const err149 = {};if(vErrors === null){vErrors = [err149];}else {vErrors.push(err149);}errors++;}else {if(data54.type !== undefined){if(!func0(data54.type, "zeebe:taskDefinition")){const err150 = {};if(vErrors === null){vErrors = [err150];}else {vErrors.push(err150);}errors++;}}}}var _valid16 = _errs172 === errors;errors = _errs171;if(vErrors !== null){if(_errs171){vErrors.length = _errs171;}else {vErrors = null;}}if(_valid16){const _errs174 = errors;if(data54 && typeof data54 == "object" && !Array.isArray(data54)){if(data54.property === undefined){const err151 = {keyword:"required",dataPath:dataPath+"/" + i5+"/binding",schemaPath:"#/allOf/1/items/properties/binding/allOf/3/then/required",params:{missingProperty: "property"},message:"should have required property '"+"property"+"'"};if(vErrors === null){vErrors = [err151];}else {vErrors.push(err151);}errors++;}if(data54.property !== undefined){let data59 = data54.property;if(!((data59 === "type") || (data59 === "retries"))){const err152 = {keyword:"enum",dataPath:dataPath+"/" + i5+"/binding/property",schemaPath:"#/allOf/1/items/properties/binding/allOf/3/then/properties/property/enum",params:{allowedValues: schema18.allOf[1].items.properties.binding.allOf[3].then.properties.property.enum},message:"should be equal to one of the allowed values"};if(vErrors === null){vErrors = [err152];}else {vErrors.push(err152);}errors++;}}}var _valid16 = _errs174 === errors;valid76 = _valid16;}if(!valid76){const err153 = {keyword:"if",dataPath:dataPath+"/" + i5+"/binding",schemaPath:"#/allOf/1/items/properties/binding/allOf/3/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err153];}else {vErrors.push(err153);}errors++;}const _errs179 = errors;let valid79 = true;const _errs180 = errors;if(data54 && typeof data54 == "object" && !Array.isArray(data54)){if((data54.type === undefined) && ("type")){const err154 = {};if(vErrors === null){vErrors = [err154];}else {vErrors.push(err154);}errors++;}else {if(data54.type !== undefined){if(!func0(data54.type, "zeebe:calledElement")){const err155 = {};if(vErrors === null){vErrors = [err155];}else {vErrors.push(err155);}errors++;}}}}var _valid17 = _errs180 === errors;errors = _errs179;if(vErrors !== null){if(_errs179){vErrors.length = _errs179;}else {vErrors = null;}}if(_valid17){const _errs182 = errors;if(data54 && typeof data54 == "object" && !Array.isArray(data54)){if(data54.property === undefined){const err156 = {keyword:"required",dataPath:dataPath+"/" + i5+"/binding",schemaPath:"#/allOf/1/items/properties/binding/allOf/5/then/required",params:{missingProperty: "property"},message:"should have required property '"+"property"+"'"};if(vErrors === null){vErrors = [err156];}else {vErrors.push(err156);}errors++;}if(data54.property !== undefined){if(!func0(data54.property, "processId")){const err157 = {keyword:"const",dataPath:dataPath+"/" + i5+"/binding/property",schemaPath:"#/allOf/1/items/properties/binding/allOf/5/then/properties/property/const",params:{allowedValue: "processId"},message:"should be equal to constant"};if(vErrors === null){vErrors = [err157];}else {vErrors.push(err157);}errors++;}}}var _valid17 = _errs182 === errors;valid79 = _valid17;}if(!valid79){const err158 = {keyword:"if",dataPath:dataPath+"/" + i5+"/binding",schemaPath:"#/allOf/1/items/properties/binding/allOf/5/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err158];}else {vErrors.push(err158);}errors++;}if(data54 && typeof data54 == "object" && !Array.isArray(data54)){if(data54.type === undefined){const err159 = {keyword:"required",dataPath:dataPath+"/" + i5+"/binding",schemaPath:"#/allOf/1/items/properties/binding/required",params:{missingProperty: "type"},message:"should have required property '"+"type"+"'"};if(vErrors === null){vErrors = [err159];}else {vErrors.push(err159);}errors++;}if(data54.type !== undefined){let data62 = data54.type;if(typeof data62 !== "string"){const err160 = {keyword:"type",dataPath:dataPath+"/" + i5+"/binding/type",schemaPath:"#/allOf/1/items/properties/binding/properties/type/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err160];}else {vErrors.push(err160);}errors++;}if(!((((((((((data62 === "property") || (data62 === "zeebe:taskDefinition:type")) || (data62 === "zeebe:input")) || (data62 === "zeebe:output")) || (data62 === "zeebe:property")) || (data62 === "zeebe:taskHeader")) || (data62 === "bpmn:Message#property")) || (data62 === "bpmn:Message#zeebe:subscription#property")) || (data62 === "zeebe:taskDefinition")) || (data62 === "zeebe:calledElement"))){const err161 = {keyword:"enum",dataPath:dataPath+"/" + i5+"/binding/type",schemaPath:"#/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 = [err161];}else {vErrors.push(err161);}errors++;}if(errors > 0){const emErrs23 = [];for(const err162 of vErrors){if(((((err162.keyword !== "errorMessage") && (!err162.emUsed)) && ((err162.dataPath === dataPath+"/" + i5+"/binding/type") || ((err162.dataPath.indexOf(dataPath+"/" + i5+"/binding/type") === 0) && (err162.dataPath[dataPath+"/" + i5+"/binding/type".length] === "/")))) && (err162.schemaPath.indexOf("#/allOf/1/items/properties/binding/properties/type") === 0)) && (err162.schemaPath["#/allOf/1/items/properties/binding/properties/type".length] === "/")){emErrs23.push(err162);err162.emUsed = true;}}if(emErrs23.length){const err163 = {keyword:"errorMessage",dataPath:dataPath+"/" + i5+"/binding/type",schemaPath:"#/allOf/1/items/properties/binding/properties/type/errorMessage",params:{errors: emErrs23},message:"invalid property.binding type " + JSON.stringify(data62) + "; must be any of { property, zeebe:taskDefinition:type, zeebe:input, zeebe:output, zeebe:property, zeebe:taskHeader, bpmn:Message#property, bpmn:Message#zeebe:subscription#property }"};if(vErrors === null){vErrors = [err163];}else {vErrors.push(err163);}errors++;}const emErrs24 = [];for(const err164 of vErrors){if(!err164.emUsed){emErrs24.push(err164);}}vErrors = emErrs24;errors = emErrs24.length;}}if(data54.name !== undefined){if(typeof data54.name !== "string"){const err165 = {keyword:"type",dataPath:dataPath+"/" + i5+"/binding/name",schemaPath:"#/allOf/1/items/properties/binding/properties/name/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err165];}else {vErrors.push(err165);}errors++;}}if(data54.source !== undefined){if(typeof data54.source !== "string"){const err166 = {keyword:"type",dataPath:dataPath+"/" + i5+"/binding/source",schemaPath:"#/allOf/1/items/properties/binding/properties/source/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err166];}else {vErrors.push(err166);}errors++;}}if(data54.key !== undefined){if(typeof data54.key !== "string"){const err167 = {keyword:"type",dataPath:dataPath+"/" + i5+"/binding/key",schemaPath:"#/allOf/1/items/properties/binding/properties/key/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err167];}else {vErrors.push(err167);}errors++;}}if(data54.property !== undefined){if(typeof data54.property !== "string"){const err168 = {keyword:"type",dataPath:dataPath+"/" + i5+"/binding/property",schemaPath:"#/allOf/1/items/properties/binding/properties/property/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err168];}else {vErrors.push(err168);}errors++;}}}else {const err169 = {keyword:"type",dataPath:dataPath+"/" + i5+"/binding",schemaPath:"#/allOf/1/items/properties/binding/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err169];}else {vErrors.push(err169);}errors++;}}if(data36.optional !== undefined){if(typeof data36.optional !== "boolean"){const err170 = {keyword:"type",dataPath:dataPath+"/" + i5+"/optional",schemaPath:"#/allOf/1/items/properties/optional/type",params:{type: "boolean"},message:"should be boolean"};if(vErrors === null){vErrors = [err170];}else {vErrors.push(err170);}errors++;}}if(data36.feel !== undefined){let data68 = data36.feel;if(typeof data68 !== "string"){const err171 = {keyword:"type",dataPath:dataPath+"/" + i5+"/feel",schemaPath:"#/allOf/1/items/properties/feel/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err171];}else {vErrors.push(err171);}errors++;}if(!(((data68 === null) || (data68 === "optional")) || (data68 === "required"))){const err172 = {keyword:"enum",dataPath:dataPath+"/" + i5+"/feel",schemaPath:"#/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 = [err172];}else {vErrors.push(err172);}errors++;}}if(data36.language !== undefined){if(typeof data36.language !== "string"){const err173 = {keyword:"type",dataPath:dataPath+"/" + i5+"/language",schemaPath:"#/allOf/1/items/properties/language/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err173];}else {vErrors.push(err173);}errors++;}}if(data36.generatedValue !== undefined){let data70 = data36.generatedValue;if(data70 && typeof data70 == "object" && !Array.isArray(data70)){if(data70.type === undefined){const err174 = {keyword:"required",dataPath:dataPath+"/" + i5+"/generatedValue",schemaPath:"#/allOf/1/items/properties/generatedValue/required",params:{missingProperty: "type"},message:"should have required property '"+"type"+"'"};if(vErrors === null){vErrors = [err174];}else {vErrors.push(err174);}errors++;}if(data70.type !== undefined){if(!func0(data70.type, "uuid")){const err175 = {keyword:"const",dataPath:dataPath+"/" + i5+"/generatedValue/type",schemaPath:"#/allOf/1/items/properties/generatedValue/properties/type/const",params:{allowedValue: "uuid"},message:"should be equal to constant"};if(vErrors === null){vErrors = [err175];}else {vErrors.push(err175);}errors++;}}}else {const err176 = {keyword:"type",dataPath:dataPath+"/" + i5+"/generatedValue",schemaPath:"#/allOf/1/items/properties/generatedValue/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err176];}else {vErrors.push(err176);}errors++;}}if(data36.tooltip !== undefined){if(typeof data36.tooltip !== "string"){const err177 = {keyword:"type",dataPath:dataPath+"/" + i5+"/tooltip",schemaPath:"#/allOf/1/items/properties/tooltip/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err177];}else {vErrors.push(err177);}errors++;}}}else {const err178 = {keyword:"type",dataPath:dataPath+"/" + i5,schemaPath:"#/allOf/1/items/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err178];}else {vErrors.push(err178);}errors++;}if(errors > 0){const emErrors3 = {"required":{"binding":[]}};const templates3 = {required:{binding:function(){return "missing binding for property \"" + JSON.stringify(i5) + "\""}}};let emPropParams2;let emParamsErrors2;for(const err179 of vErrors){if((((((err179.keyword !== "errorMessage") && (!err179.emUsed)) && (err179.dataPath === dataPath+"/" + i5)) && (err179.keyword in emErrors3)) && (err179.schemaPath.indexOf("#/allOf/1/items") === 0)) && (/^\/[^\/]*$/.test(err179.schemaPath.slice(15)))){emPropParams2 = obj0[err179.keyword];emParamsErrors2 = emErrors3[err179.keyword][err179.params[emPropParams2]];if(emParamsErrors2){emParamsErrors2.push(err179);err179.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 err180 = {keyword:"errorMessage",dataPath:dataPath+"/" + i5,schemaPath:"#/allOf/1/items/errorMessage",params:{errors: emParamsErrors2},message:tmpl2 ? tmpl2() : schema18.allOf[1].items.errorMessage[key3][keyProp2]};if(vErrors === null){vErrors = [err180];}else {vErrors.push(err180);}errors++;}}}const emErrs25 = [];for(const err181 of vErrors){if(!err181.emUsed){emErrs25.push(err181);}}vErrors = emErrs25;errors = emErrs25.length;}}}else {const err182 = {keyword:"type",dataPath,schemaPath:"#/allOf/1/type",params:{type: "array"},message:"should be array"};if(vErrors === null){vErrors = [err182];}else {vErrors.push(err182);}errors++;}validate16.errors = vErrors;return errors === 0;}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){let data3 = data.version;if(!((typeof data3 == "number") && (!(data3 % 1) && !isNaN(data3)))){const err7 = {keyword:"type",dataPath:dataPath+"/version",schemaPath:"#/allOf/0/properties/version/type",params:{type: "integer"},message:"should be integer"};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.deprecated !== undefined){let data5 = data.deprecated;if((typeof data5 !== "boolean") && (!(data5 && typeof data5 == "object" && !Array.isArray(data5)))){const err9 = {keyword:"type",dataPath:dataPath+"/deprecated",schemaPath:"#/allOf/0/properties/deprecated/type",params:{type: schema17.allOf[0].properties.deprecated.type},message:"should be boolean,object"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}if(data5 && typeof data5 == "object" && !Array.isArray(data5)){if(data5.message !== undefined){if(typeof data5.message !== "string"){const err10 = {keyword:"type",dataPath:dataPath+"/deprecated/message",schemaPath:"#/allOf/0/properties/deprecated/properties/message/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}}if(data5.documentationRef !== undefined){let data7 = data5.documentationRef;if(typeof data7 === "string"){if(!pattern0.test(data7)){const err11 = {keyword:"pattern",dataPath:dataPath+"/deprecated/documentationRef",schemaPath:"#/allOf/0/properties/deprecated/properties/documentationRef/pattern",params:{pattern: "^(https|http)://.*"},message:"should match pattern \""+"^(https|http)://.*"+"\""};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}}else {const err12 = {keyword:"type",dataPath:dataPath+"/deprecated/documentationRef",schemaPath:"#/allOf/0/properties/deprecated/properties/documentationRef/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}}}}if(data.appliesTo !== undefined){let data8 = data.appliesTo;if(Array.isArray(data8)){const len0 = data8.length;for(let i0=0; i0<len0; i0++){let data9 = data8[i0];if(typeof data9 === "string"){if(!pattern1.test(data9)){const err13 = {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 = [err13];}else {vErrors.push(err13);}errors++;}}else {const err14 = {keyword:"type",dataPath:dataPath+"/appliesTo/" + i0,schemaPath:"#/allOf/0/properties/appliesTo/items/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}if(errors > 0){const emErrors0 = {"pattern":[]};const templates0 = {};for(const err15 of vErrors){if((((((err15.keyword !== "errorMessage") && (!err15.emUsed)) && (err15.dataPath === dataPath+"/appliesTo/" + i0)) && (err15.keyword in emErrors0)) && (err15.schemaPath.indexOf("#/allOf/0/properties/appliesTo/items") === 0)) && (/^\/[^\/]*$/.test(err15.schemaPath.slice(36)))){emErrors0[err15.keyword].push(err15);err15.emUsed = true;}}for(const key0 in emErrors0){if(emErrors0[key0].length){const err16 = {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 = [err16];}else {vErrors.push(err16);}errors++;}}const emErrs0 = [];for(const err17 of vErrors){if(!err17.emUsed){emErrs0.push(err17);}}vErrors = emErrs0;errors = emErrs0.length;}}}else {const err18 = {keyword:"type",dataPath:dataPath+"/appliesTo",schemaPath:"#/allOf/0/properties/appliesTo/type",params:{type: "array"},message:"should be array"};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}}if(data.elementType !== undefined){let data10 = data.elementType;if(data10 && typeof data10 == "object" && !Array.isArray(data10)){if(data10.value === undefined){const err19 = {keyword:"required",dataPath:dataPath+"/elementType",schemaPath:"#/allOf/0/properties/elementType/required",params:{missingProperty: "value"},message:"should have required property '"+"value"+"'"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}if(data10.value !== undefined){let data11 = data10.value;if(typeof data11 === "string"){if(!pattern1.test(data11)){const err20 = {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 = [err20];}else {vErrors.push(err20);}errors++;}}else {const err21 = {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 = [err21];}else {vErrors.push(err21);}errors++;}if(errors > 0){const emErrors1 = {"pattern":[]};const templates1 = {};for(const err22 of vErrors){if((((((err22.keyword !== "errorMessage") && (!err22.emUsed)) && (err22.dataPath === dataPath+"/elementType/value")) && (err22.keyword in emErrors1)) && (err22.schemaPath.indexOf("#/allOf/0/properties/elementType/properties/value") === 0)) && (/^\/[^\/]*$/.test(err22.schemaPath.slice(49)))){emErrors1[err22.keyword].push(err22);err22.emUsed = true;}}for(const key1 in emErrors1){if(emErrors1[key1].length){const err23 = {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 = [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+"/elementType",schemaPath:"#/allOf/0/properties/elementType/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err25];}else {vErrors.push(err25);}errors++;}if(errors > 0){const emErrors2 = {"required":{"value":[]}};const templates2 = {required:{}};let emPropParams0;let emParamsErrors0;for(const err26 of vErrors){if((((((err26.keyword !== "errorMessage") && (!err26.emUsed)) && (err26.dataPath === dataPath+"/elementType")) && (err26.keyword in emErrors2)) && (err26.schemaPath.indexOf("#/allOf/0/properties/elementType") === 0)) && (/^\/[^\/]*$/.test(err26.schemaPath.slice(32)))){emPropParams0 = obj0[err26.keyword];emParamsErrors0 = emErrors2[err26.keyword][err26.params[emPropParams0]];if(emParamsErrors0){emParamsErrors0.push(err26);err26.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 err27 = {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 = [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.metadata !== undefined){let data12 = data.metadata;if(!(data12 && typeof data12 == "object" && !Array.isArray(data12))){const err29 = {keyword:"type",dataPath:dataPath+"/metadata",schemaPath:"#/allOf/0/properties/metadata/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err29];}else {vErrors.push(err29);}errors++;}}if(data.entriesVisible !== undefined){if(typeof data.entriesVisible !== "boolean"){const err30 = {keyword:"type",dataPath:dataPath+"/entriesVisible",schemaPath:"#/allOf/0/properties/entriesVisible/type",params:{type: "boolean"},message:"should be boolean"};if(vErrors === null){vErrors = [err30];}else {vErrors.push(err30);}errors++;}}if(data.groups !== undefined){let data14 = data.groups;if(Array.isArray(data14)){const len1 = data14.length;for(let i1=0; i1<len1; i1++){let data15 = data14[i1];if(data15 && typeof data15 == "object" && !Array.isArray(data15)){if(data15.id === undefined){const err31 = {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 = [err31];}else {vErrors.push(err31);}errors++;}if(data15.label === undefined){const err32 = {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 = [err32];}else {vErrors.push(err32);}errors++;}if(data15.id !== undefined){if(typeof data15.id !== "string"){const err33 = {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 = [err33];}else {vErrors.push(err33);}errors++;}}if(data15.label !== undefined){if(typeof data15.label !== "string"){const err34 = {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 = [err34];}else {vErrors.push(err34);}errors++;}}}else {const err35 = {keyword:"type",dataPath:dataPath+"/groups/" + i1,schemaPath:"#/allOf/0/properties/groups/items/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err35];}else {vErrors.push(err35);}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 err36 of vErrors){if((((((err36.keyword !== "errorMessage") && (!err36.emUsed)) && (err36.dataPath === dataPath+"/groups/" + i1)) && (err36.keyword in emErrors3)) && (err36.schemaPath.indexOf("#/allOf/0/properties/groups/items") === 0)) && (/^\/[^\/]*$/.test(err36.schemaPath.slice(33)))){emPropParams1 = obj0[err36.keyword];emParamsErrors1 = emErrors3[err36.keyword][err36.params[emPropParams1]];if(emParamsErrors1){emParamsErrors1.push(err36);err36.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 err37 = {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 = [err37];}else {vErrors.push(err37);}errors++;}}}const emErrs3 = [];for(const err38 of vErrors){if(!err38.emUsed){emErrs3.push(err38);}}vErrors = emErrs3;errors = emErrs3.length;}}}else {const err39 = {keyword:"type",dataPath:dataPath+"/groups",schemaPath:"#/allOf/0/properties/groups/type",params:{type: "array"},message:"should be array"};if(vErrors === null){vErrors = [err39];}else {vErrors.push(err39);}errors++;}}if(data.documentationRef !== undefined){let data18 = data.documentationRef;if(typeof data18 === "string"){if(!pattern0.test(data18)){const err40 = {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 = [err40];}else {vErrors.push(err40);}errors++;}}else {const err41 = {keyword:"type",dataPath:dataPath+"/documentationRef",schemaPath:"#/allOf/0/properties/documentationRef/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err41];}else {vErrors.push(err41);}errors++;}if(errors > 0){const emErrors4 = {"pattern":[]};const templates4 = {};for(const err42 of vErrors){if((((((err42.keyword !== "errorMessage") && (!err42.emUsed)) && (err42.dataPath === dataPath+"/documentationRef")) && (err42.keyword in emErrors4)) && (err42.schemaPath.indexOf("#/allOf/0/properties/documentationRef") === 0)) && (/^\/[^\/]*$/.test(err42.schemaPath.slice(37)))){emErrors4[err42.keyword].push(err42);err42.emUsed = true;}}for(const key4 in emErrors4){if(emErrors4[key4].length){const err43 = {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 = [err43];}else {vErrors.push(err43);}errors++;}}const emErrs4 = [];for(const err44 of vErrors){if(!err44.emUsed){emErrs4.push(err44);}}vErrors = emErrs4;errors = emErrs4.length;}}}if(errors > 0){const emErrors5 = {"required":{"name":[],"id":[],"appliesTo":[],"properties":[]}};const templates5 = {required:{}};let emPropParams2;let emParamsErrors2;for(const err45 of vErrors){if((((((err45.keyword !== "errorMessage") && (!err45.emUsed)) && (err45.dataPath === dataPath)) && (err45.keyword in emErrors5)) && (err45.schemaPath.indexOf("#/allOf/0") === 0)) && (/^\/[^\/]*$/.test(err45.schemaPath.slice(9)))){emPropParams2 = obj0[err45.keyword];emParamsErrors2 = emErrors5[err45.keyword][err45.params[emPropParams2]];if(emParamsErrors2){emParamsErrors2.push(err45);err45.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 err46 = {keyword:"errorMessage",dataPath,schemaPath:"#/allOf/0/errorMessage",params:{errors: emParamsErrors2},message:tmpl2 ? tmpl2() : schema17.allOf[0].errorMessage[key5][keyProp2]};if(vErrors === null){vErrors = [err46];}else {vErrors.push(err46);}errors++;}}}const emErrs5 = [];for(const err47 of vErrors){if(!err47.emUsed){emErrs5.push(err47);}}vErrors = emErrs5;errors = emErrs5.length;}const _errs42 = errors;let valid13 = true;const _errs43 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if((data.properties === undefined) && ("properties")){const err48 = {};if(vErrors === null){vErrors = [err48];}else {vErrors.push(err48);}errors++;}else {if(data.properties !== undefined){let data19 = data.properties;if(Array.isArray(data19)){const _errs45 = errors;const len2 = data19.length;for(let i2=0; i2<len2; i2++){let data20 = data19[i2];const _errs46 = errors;if(data20 && typeof data20 == "object" && !Array.isArray(data20)){if((data20.binding === undefined) && ("binding")){const err49 = {};if(vErrors === null){vErrors = [err49];}else {vErrors.push(err49);}errors++;}else {if(data20.binding !== undefined){let data21 = data20.binding;if(data21 && typeof data21 == "object" && !Array.isArray(data21)){if((data21.type === undefined) && ("type")){const err50 = {};if(vErrors === null){vErrors = [err50];}else {vErrors.push(err50);}errors++;}else {if(data21.type !== undefined){if(!func0(data21.type, "bpmn:Message#property")){const err51 = {};if(vErrors === null){vErrors = [err51];}else {vErrors.push(err51);}errors++;}}}}}}}var valid15 = _errs46 === errors;if(valid15){break;}}if(!valid15){const err52 = {};if(vErrors === null){vErrors = [err52];}else {vErrors.push(err52);}errors++;}else {errors = _errs45;if(vErrors !== null){if(_errs45){vErrors.length = _errs45;}else {vErrors = null;}}}}}}}var _valid0 = _errs43 === errors;errors = _errs42;if(vErrors !== null){if(_errs42){vErrors.length = _errs42;}else {vErrors = null;}}if(_valid0){const _errs49 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.elementType === undefined){const err53 = {keyword:"required",dataPath,schemaPath:"#/allOf/1/allOf/0/then/required",params:{missingProperty: "elementType"},message:"should have required property '"+"elementType"+"'"};if(vErrors === null){vErrors = [err53];}else {vErrors.push(err53);}errors++;}if(data.elementType !== undefined){let data23 = data.elementType;const _errs52 = errors;let valid20 = true;const _errs53 = errors;if(data23 && typeof data23 == "object" && !Array.isArray(data23)){if(data23.value !== undefined){let data24 = data23.value;if(!(((((data24 === "bpmn:StartEvent") || (data24 === "bpmn:IntermediateCatchEvent")) || (data24 === "bpmn:IntermediateThrowEvent")) || (data24 === "bpmn:BoundaryEvent")) || (data24 === "bpmn:EndEvent"))){const err54 = {};if(vErrors === null){vErrors = [err54];}else {vErrors.push(err54);}errors++;}}}var _valid1 = _errs53 === errors;errors = _errs52;if(vErrors !== null){if(_errs52){vErrors.length = _errs52;}else {vErrors = null;}}if(_valid1){const _errs55 = errors;if(data23 && typeof data23 == "object" && !Array.isArray(data23)){if(data23.eventDefinition === undefined){const err55 = {keyword:"required",dataPath:dataPath+"/elementType",schemaPath:"#/allOf/1/allOf/0/then/properties/elementType/allOf/0/then/required",params:{missingProperty: "eventDefinition"},message:"should have required property '"+"eventDefinition"+"'"};if(vErrors === null){vErrors = [err55];}else {vErrors.push(err55);}errors++;}}var _valid1 = _errs55 === errors;valid20 = _valid1;}if(!valid20){const err56 = {keyword:"if",dataPath:dataPath+"/elementType",schemaPath:"#/allOf/1/allOf/0/then/properties/elementType/allOf/0/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err56];}else {vErrors.push(err56);}errors++;}if(data23 && typeof data23 == "object" && !Array.isArray(data23)){if(data23.value === undefined){const err57 = {keyword:"required",dataPath:dataPath+"/elementType",schemaPath:"#/allOf/1/allOf/0/then/properties/elementType/required",params:{missingProperty: "value"},message:"should have required property '"+"value"+"'"};if(vErrors === null){vErrors = [err57];}else {vErrors.push(err57);}errors++;}if(data23.value !== undefined){let data25 = data23.value;if(!(((((((data25 === "bpmn:ReceiveTask") || (data25 === "bpmn:SendTask")) || (data25 === "bpmn:StartEvent")) || (data25 === "bpmn:IntermediateCatchEvent")) || (data25 === "bpmn:IntermediateThrowEvent")) || (data25 === "bpmn:BoundaryEvent")) || (data25 === "bpmn:EndEvent"))){const err58 = {keyword:"enum",dataPath:dataPath+"/elementType/value",schemaPath:"#/allOf/1/allOf/0/then/properties/elementType/properties/value/enum",params:{allowedValues: schema17.allOf[1].allOf[0].then.properties.elementType.properties.value.enum},message:"should be equal to one of the allowed values"};if(vErrors === null){vErrors = [err58];}else {vErrors.push(err58);}errors++;}}}}}var _valid0 = _errs49 === errors;valid13 = _valid0;}if(!valid13){const err59 = {keyword:"if",dataPath,schemaPath:"#/allOf/1/allOf/0/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err59];}else {vErrors.push(err59);}errors++;}const _errs58 = errors;let valid23 = true;const _errs59 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if((data.properties === undefined) && ("properties")){const err60 = {};if(vErrors === null){vErrors = [err60];}else {vErrors.push(err60);}errors++;}else {if(data.properties !== undefined){let data26 = data.properties;if(Array.isArray(data26)){const _errs61 = errors;const len3 = data26.length;for(let i3=0; i3<len3; i3++){let data27 = data26[i3];const _errs62 = errors;if(data27 && typeof data27 == "object" && !Array.isArray(data27)){if((data27.binding === undefined) && ("binding")){const err61 = {};if(vErrors === null){vErrors = [err61];}else {vErrors.push(err61);}errors++;}else {if(data27.binding !== undefined){let data28 = data27.binding;if(data28 && typeof data28 == "object" && !Array.isArray(data28)){if((data28.type === undefined) && ("type")){const err62 = {};if(vErrors === null){vErrors = [err62];}else {vErrors.push(err62);}errors++;}else {if(data28.type !== undefined){if(!func0(data28.type, "bpmn:Message#zeebe:subscription#property")){const err63 = {};if(vErrors === null){vErrors = [err63];}else {vErrors.push(err63);}errors++;}}}}}}}var valid25 = _errs62 === errors;if(valid25){break;}}if(!valid25){const err64 = {};if(vErrors === null){vErrors = [err64];}else {vErrors.push(err64);}errors++;}else {errors = _errs61;if(vErrors !== null){if(_errs61){vErrors.length = _errs61;}else {vErrors = null;}}}}}}}var _valid2 = _errs59 === errors;errors = _errs58;if(vErrors !== null){if(_errs58){vErrors.length = _errs58;}else {vErrors = null;}}if(_valid2){const _errs65 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.elementType === undefined){const err65 = {keyword:"required",dataPath,schemaPath:"#/allOf/1/allOf/1/then/required",params:{missingProperty: "elementType"},message:"should have required property '"+"elementType"+"'"};if(vErrors === null){vErrors = [err65];}else {vErrors.push(err65);}errors++;}if(data.elementType !== undefined){let data30 = data.elementType;const _errs68 = errors;let valid30 = true;const _errs69 = errors;if(data30 && typeof data30 == "object" && !Array.isArray(data30)){if(data30.value !== undefined){let data31 = data30.value;if(!(((((data31 === "bpmn:StartEvent") || (data31 === "bpmn:IntermediateCatchEvent")) || (data31 === "bpmn:IntermediateThrowEvent")) || (data31 === "bpmn:BoundaryEvent")) || (data31 === "bpmn:EndEvent"))){const err66 = {};if(vErrors === null){vErrors = [err66];}else {vErrors.push(err66);}errors++;}}}var _valid3 = _errs69 === errors;errors = _errs68;if(vErrors !== null){if(_errs68){vErrors.length = _errs68;}else {vErrors = null;}}if(_valid3){const _errs71 = errors;if(data30 && typeof data30 == "object" && !Array.isArray(data30)){if(data30.eventDefinition === undefined){const err67 = {keyword:"required",dataPath:dataPath+"/elementType",schemaPath:"#/allOf/1/allOf/1/then/properties/elementType/allOf/0/then/required",params:{missingProperty: "eventDefinition"},message:"should have required property '"+"eventDefinition"+"'"};if(vErrors === null){vErrors = [err67];}else {vErrors.push(err67);}errors++;}}var _valid3 = _errs71 === errors;valid30 = _valid3;}if(!valid30){const err68 = {keyword:"if",dataPath:dataPath+"/elementType",schemaPath:"#/allOf/1/allOf/1/then/properties/elementType/allOf/0/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err68];}else {vErrors.push(err68);}errors++;}if(data30 && typeof data30 == "object" && !Array.isArray(data30)){if(data30.value === undefined){const err69 = {keyword:"required",dataPath:dataPath+"/elementType",schemaPath:"#/allOf/1/allOf/1/then/properties/elementType/required",params:{missingProperty: "value"},message:"should have required property '"+"value"+"'"};if(vErrors === null){vErrors = [err69];}else {vErrors.push(err69);}errors++;}if(data30.value !== undefined){let data32 = data30.value;if(!((((((data32 === "bpmn:ReceiveTask") || (data32 === "bpmn:StartEvent")) || (data32 === "bpmn:IntermediateCatchEvent")) || (data32 === "bpmn:IntermediateThrowEvent")) || (data32 === "bpmn:BoundaryEvent")) || (data32 === "bpmn:EndEvent"))){const err70 = {keyword:"enum",dataPath:dataPath+"/elementType/value",schemaPath:"#/allOf/1/allOf/1/then/properties/elementType/properties/value/enum",params:{allowedValues: schema17.allOf[1].allOf[1].then.properties.elementType.properties.value.enum},message:"should be equal to one of the allowed values"};if(vErrors === null){vErrors = [err70];}else {vErrors.push(err70);}errors++;}}}}}var _valid2 = _errs65 === errors;valid23 = _valid2;}if(!valid23){const err71 = {keyword:"if",dataPath,schemaPath:"#/allOf/1/allOf/1/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err71];}else {vErrors.push(err71);}errors++;}const _errs74 = errors;let valid33 = true;const _errs75 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if((data.properties === undefined) && ("properties")){const err72 = {};if(vErrors === null){vErrors = [err72];}else {vErrors.push(err72);}errors++;}else {if(data.properties !== undefined){let data33 = data.properties;if(Array.isArray(data33)){const _errs77 = errors;const len4 = data33.length;for(let i4=0; i4<len4; i4++){let data34 = data33[i4];const _errs78 = errors;if(data34 && typeof data34 == "object" && !Array.isArray(data34)){if((data34.binding === undefined) && ("binding")){const err73 = {};if(vErrors === null){vErrors = [err73];}else {vErrors.push(err73);}errors++;}else {if(data34.binding !== undefined){let data35 = data34.binding;if(data35 && typeof data35 == "object" && !Array.isArray(data35)){if((data35.type === undefined) && ("type")){const err74 = {};if(vErrors === null){vErrors = [err74];}else {vErrors.push(err74);}errors++;}else {if(data35.type !== undefined){if(!func0(data35.type, "zeebe:calledElement")){const err75 = {};if(vErrors === null){vErrors = [err75];}else {vErrors.push(err75);}errors++;}}}}}}}var valid35 = _errs78 === errors;if(valid35){break;}}if(!valid35){const err76 = {};if(vErrors === null){vErrors = [err76];}else {vErrors.push(err76);}errors++;}else {errors = _errs77;if(vErrors !== null){if(_errs77){vErrors.length = _errs77;}else {vErrors = null;}}}}}}}var _valid4 = _errs75 === errors;errors = _errs74;if(vErrors !== null){if(_errs74){vErrors.length = _errs74;}else {vErrors = null;}}if(_valid4){const _errs81 = errors;const _errs82 = errors;let valid38 = false;const _errs83 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.elementType === undefined){const err77 = {keyword:"required",dataPath,schemaPath:"#/allOf/1/allOf/2/then/anyOf/0/required",params:{missingProperty: "elementType"},message:"should have required property '"+"elementType"+"'"};if(vErrors === null){vErrors = [err77];}else {vErrors.push(err77);}errors++;}if(data.elementType !== undefined){let data37 = data.elementType;if(data37 && typeof data37 == "object" && !Array.isArray(data37)){if(data37.value === undefined){const err78 = {keyword:"required",dataPath:dataPath+"/elementType",schemaPath:"#/allOf/1/allOf/2/then/anyOf/0/properties/elementType/required",params:{missingProperty: "value"},message:"should have required property '"+"value"+"'"};if(vErrors === null){vErrors = [err78];}else {vErrors.push(err78);}errors++;}if(data37.value !== undefined){if(!func0(data37.value, "bpmn:CallActivity")){const err79 = {keyword:"const",dataPath:dataPath+"/elementType/value",schemaPath:"#/allOf/1/allOf/2/then/anyOf/0/properties/elementType/properties/value/const",params:{allowedValue: "bpmn:CallActivity"},message:"should be equal to constant"};if(vErrors === null){vErrors = [err79];}else {vErrors.push(err79);}errors++;}}}}}var _valid5 = _errs83 === errors;valid38 = valid38 || _valid5;if(!valid38){const _errs86 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.appliesTo === undefined){const err80 = {keyword:"required",dataPath,schemaPath:"#/allOf/1/allOf/2/then/anyOf/1/required",params:{missingProperty: "appliesTo"},message:"should have required property '"+"appliesTo"+"'"};if(vErrors === null){vErrors = [err80];}else {vErrors.push(err80);}errors++;}if(data.appliesTo !== undefined){if(!func0(data.appliesTo, schema17.allOf[1].allOf[2].then.anyOf[1].properties.appliesTo.const)){const err81 = {keyword:"const",dataPath:dataPath+"/appliesTo",schemaPath:"#/allOf/1/allOf/2/then/anyOf/1/properties/appliesTo/const",params:{allowedValue: schema17.allOf[1].allOf[2].then.anyOf[1].properties.appliesTo.const},message:"should be equal to constant"};if(vErrors === null){vErrors = [err81];}else {vErrors.push(err81);}errors++;}}}var _valid5 = _errs86 === errors;valid38 = valid38 || _valid5;}if(!valid38){const err82 = {keyword:"anyOf",dataPath,schemaPath:"#/allOf/1/allOf/2/then/anyOf",params:{},message:"should match some schema in anyOf"};if(vErrors === null){vErrors = [err82];}else {vErrors.push(err82);}errors++;}else {errors = _errs82;if(vErrors !== null){if(_errs82){vErrors.length = _errs82;}else {vErrors = null;}}}var _valid4 = _errs81 === errors;valid33 = _valid4;}if(!valid33){const err83 = {keyword:"if",dataPath,schemaPath:"#/allOf/1/allOf/2/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err83];}else {vErrors.push(err83);}errors++;}if(data && typeof data == "object" && !Array.isArray(data)){if(data.properties !== undefined){if(!(validate16(data.properties, {dataPath:dataPath+"/properties",parentData:data,parentDataProperty:"properties",rootData}))){vErrors = vErrors === null ? validate16.errors : vErrors.concat(validate16.errors);errors = vErrors.length;}}if(data.icon !== undefined){let data41 = data.icon;if(data41 && typeof data41 == "object" && !Array.isArray(data41)){if(data41.contents === undefined){const err84 = {keyword:"required",dataPath:dataPath+"/icon",schemaPath:"#/properties/icon/required",params:{missingProperty: "contents"},message:"should have required property '"+"contents"+"'"};if(vErrors === null){vErrors = [err84];}else {vErrors.push(err84);}errors++;}if(data41.contents !== undefined){let data42 = data41.contents;if(typeof data42 === "string"){if(!pattern4.test(data42)){const err85 = {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 = [err85];}else {vErrors.push(err85);}errors++;}}else {const err86 = {keyword:"type",dataPath:dataPath+"/icon/contents",schemaPath:"#/properties/icon/properties/contents/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err86];}else {vErrors.push(err86);}errors++;}if(errors > 0){const emErrors6 = {"pattern":[]};const templates6 = {};for(const err87 of vErrors){if((((((err87.keyword !== "errorMessage") && (!err87.emUsed)) && (err87.dataPath === dataPath+"/icon/contents")) && (err87.keyword in emErrors6)) && (err87.schemaPath.indexOf("#/properties/icon/properties/contents") === 0)) && (/^\/[^\/]*$/.test(err87.schemaPath.slice(37)))){emErrors6[err87.keyword].push(err87);err87.emUsed = true;}}for(const key6 in emErrors6){if(emErrors6[key6].length){const err88 = {keyword:"errorMessage",dataPath:dataPath+"/icon/contents",schemaPath:"#/properties/icon/properties/contents/errorMessage",params:{errors: emErrors6[key6]},message:key6 in templates6 ? templates6[key6]() : schema17.properties.icon.properties.contents.errorMessage[key6]};if(vErrors === null){vErrors = [err88];}else {vErrors.push(err88);}errors++;}}const emErrs6 = [];for(const err89 of vErrors){if(!err89.emUsed){emErrs6.push(err89);}}vErrors = emErrs6;errors = emErrs6.length;}}}else {const err90 = {keyword:"type",dataPath:dataPath+"/icon",schemaPath:"#/properties/icon/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err90];}else {vErrors.push(err90);}errors++;}if(errors > 0){const emErrors7 = {"required":{"contents":[]}};const templates7 = {required:{}};let emPropParams3;let emParamsErrors3;for(const err91 of vErrors){if((((((err91.keyword !== "errorMessage") && (!err91.emUsed)) && (err91.dataPath === dataPath+"/icon")) && (err91.keyword in emErrors7)) && (err91.schemaPath.indexOf("#/properties/icon") === 0)) && (/^\/[^\/]*$/.test(err91.schemaPath.slice(17)))){emPropParams3 = obj0[err91.keyword];emParamsErrors3 = emErrors7[err91.keyword][err91.params[emPropParams3]];if(emParamsErrors3){emParamsErrors3.push(err91);err91.emUsed = true;}}}for(const key7 in emErrors7){for(const keyProp3 in emErrors7[key7]){emParamsErrors3 = emErrors7[key7][keyProp3];if(emParamsErrors3.length){const tmpl3 = templates7[key7] && templates7[key7][keyProp3];const err92 = {keyword:"errorMessage",dataPath:dataPath+"/icon",schemaPath:"#/properties/icon/errorMessage",params:{errors: emParamsErrors3},message:tmpl3 ? tmpl3() : schema17.properties.icon.errorMessage[key7][keyProp3]};if(vErrors === null){vErrors = [err92];}else {vErrors.push(err92);}errors++;}}}const emErrs7 = [];for(const err93 of vErrors){if(!err93.emUsed){emErrs7.push(err93);}}vErrors = emErrs7;errors = emErrs7.length;}}if(data.elementType !== undefined){let data43 = data.elementType;if(data43 && typeof data43 == "object" && !Array.isArray(data43)){if(data43.eventDefinition !== undefined){if(!(data43.eventDefinition === "bpmn:MessageEventDefinition")){const err94 = {keyword:"enum",dataPath:dataPath+"/elementType/eventDefinition",schemaPath:"#/properties/elementType/allOf/0/allOf/0/properties/eventDefinition/enum",params:{allowedValues: schema17.properties.elementType.allOf[0].allOf[0].properties.eventDefinition.enum},message:"should be equal to one of the allowed values"};if(vErrors === null){vErrors = [err94];}else {vErrors.push(err94);}errors++;}}}const _errs98 = errors;let valid47 = true;const _errs99 = errors;if(data43 && typeof data43 == "object" && !Array.isArray(data43)){if((data43.eventDefinition === undefined) && ("eventDefinition")){const err95 = {};if(vErrors === null){vErrors = [err95];}else {vErrors.push(err95);}errors++;}}var _valid6 = _errs99 === errors;errors = _errs98;if(vErrors !== null){if(_errs98){vErrors.length = _errs98;}else {vErrors = null;}}if(_valid6){const _errs100 = errors;if(data43 && typeof data43 == "object" && !Array.isArray(data43)){if(data43.value === undefined){const err96 = {keyword:"required",dataPath:dataPath+"/elementType",schemaPath:"#/properties/elementType/allOf/0/allOf/1/then/required",params:{missingProperty: "value"},message:"should have required property '"+"value"+"'"};if(vErrors === null){vErrors = [err96];}else {vErrors.push(err96);}errors++;}if(data43.value !== undefined){let data45 = data43.value;if(!(((((data45 === "bpmn:StartEvent") || (data45 === "bpmn:IntermediateCatchEvent")) || (data45 === "bpmn:IntermediateThrowEvent")) || (data45 === "bpmn:BoundaryEvent")) || (data45 === "bpmn:EndEvent"))){const err97 = {keyword:"enum",dataPath:dataPath+"/elementType/value",schemaPath:"#/properties/elementType/allOf/0/allOf/1/then/properties/value/enum",params:{allowedValues: schema17.properties.elementType.allOf[0].allOf[1].then.properties.value.enum},message:"should be equal to one of the allowed values"};if(vErrors === null){vErrors = [err97];}else {vErrors.push(err97);}errors++;}}}var _valid6 = _errs100 === errors;valid47 = _valid6;}if(!valid47){const err98 = {keyword:"if",dataPath:dataPath+"/elementType",schemaPath:"#/properties/elementType/allOf/0/allOf/1/if",params:{failingKeyword: "then"},message:"should match \"then\" schema"};if(vErrors === null){vErrors = [err98];}else {vErrors.push(err98);}errors++;}}if(data.groups !== undefined){let data46 = data.groups;if(Array.isArray(data46)){const len5 = data46.length;for(let i5=0; i5<len5; i5++){let data47 = data46[i5];if(data47 && typeof data47 == "object" && !Array.isArray(data47)){if(data47.tooltip !== undefined){if(typeof data47.tooltip !== "string"){const err99 = {keyword:"type",dataPath:dataPath+"/groups/" + i5+"/tooltip",schemaPath:"#/properties/groups/items/properties/tooltip/type",params:{type: "string"},message:"should be string"};if(vErrors === null){vErrors = [err99];}else {vErrors.push(err99);}errors++;}}if(data47.openByDefault !== undefined){if(typeof data47.openByDefault !== "boolean"){const err100 = {keyword:"type",dataPath:dataPath+"/groups/" + i5+"/openByDefault",schemaPath:"#/properties/groups/items/properties/openByDefault/type",params:{type: "boolean"},message:"should be boolean"};if(vErrors === null){vErrors = [err100];}else {vErrors.push(err100);}errors++;}}}}}}}else {const err101 = {keyword:"type",dataPath,schemaPath:"#/type",params:{type: "object"},message:"should be object"};if(vErrors === null){vErrors = [err101];}else {vErrors.push(err101);}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;}
123223
123321
 
123224
123322
  function getZeebeSchemaPackage() {
123225
123323
  return name$1;
@@ -123274,7 +123372,8 @@
123274
123372
  const ZEEBE_TASK_HEADER_TYPE = 'zeebe:taskHeader';
123275
123373
  const MESSAGE_PROPERTY_TYPE = 'bpmn:Message#property';
123276
123374
  const MESSAGE_ZEEBE_SUBSCRIPTION_PROPERTY_TYPE = 'bpmn:Message#zeebe:subscription#property';
123277
- const EXTENSION_BINDING_TYPES$1 = [MESSAGE_ZEEBE_SUBSCRIPTION_PROPERTY_TYPE, ZEBBE_INPUT_TYPE, ZEEBE_OUTPUT_TYPE, ZEEBE_PROPERTY_TYPE, ZEEBE_TASK_DEFINITION_TYPE_TYPE, ZEEBE_TASK_DEFINITION, ZEEBE_TASK_HEADER_TYPE];
123375
+ const ZEEBE_CALLED_ELEMENT = 'zeebe:calledElement';
123376
+ const EXTENSION_BINDING_TYPES$1 = [MESSAGE_ZEEBE_SUBSCRIPTION_PROPERTY_TYPE, ZEBBE_INPUT_TYPE, ZEEBE_OUTPUT_TYPE, ZEEBE_PROPERTY_TYPE, ZEEBE_TASK_DEFINITION_TYPE_TYPE, ZEEBE_TASK_DEFINITION, ZEEBE_TASK_HEADER_TYPE, ZEEBE_CALLED_ELEMENT];
123278
123377
  const TASK_DEFINITION_TYPES = [ZEEBE_TASK_DEFINITION_TYPE_TYPE, ZEEBE_TASK_DEFINITION];
123279
123378
  const IO_BINDING_TYPES$1 = [ZEBBE_INPUT_TYPE, ZEEBE_OUTPUT_TYPE];
123280
123379
  const MESSAGE_BINDING_TYPES = [MESSAGE_PROPERTY_TYPE, MESSAGE_ZEEBE_SUBSCRIPTION_PROPERTY_TYPE];
@@ -123383,11 +123482,11 @@
123383
123482
  }
123384
123483
  businessObject = eventDefinitions[0];
123385
123484
  }
123485
+ if (!businessObject) {
123486
+ return;
123487
+ }
123386
123488
  return businessObject.get('messageRef');
123387
123489
  }
123388
- function findZeebeSubscription(message) {
123389
- return findExtension$1(message, 'zeebe:Subscription');
123390
- }
123391
123490
  function getDefaultValue(property) {
123392
123491
  if (property.value !== undefined) {
123393
123492
  return property.value;
@@ -123538,6 +123637,18 @@
123538
123637
  });
123539
123638
  }
123540
123639
 
123640
+ /**
123641
+ * Create a called element representing the given value.
123642
+ *
123643
+ * @param {object} attrs
123644
+ * @param {BpmnFactory} bpmnFactory
123645
+ *
123646
+ * @return {ModdleElement}
123647
+ */
123648
+ function createCalledElement(attrs = {}, bpmnFactory) {
123649
+ return bpmnFactory.create('zeebe:CalledElement', attrs);
123650
+ }
123651
+
123541
123652
  /**
123542
123653
  * Retrieves whether an element should be updated for a given property.
123543
123654
  *
@@ -123687,6 +123798,12 @@
123687
123798
  return defaultValue;
123688
123799
  }
123689
123800
 
123801
+ // zeebe:calledElement
123802
+ if (type === ZEEBE_CALLED_ELEMENT) {
123803
+ const calledElement = findExtension$1(businessObject, 'zeebe:CalledElement');
123804
+ return calledElement ? calledElement.get(bindingProperty) : defaultValue;
123805
+ }
123806
+
123690
123807
  // should never throw as templates are validated beforehand
123691
123808
  throw unknownBindingError$1(element, property);
123692
123809
  }
@@ -124000,250 +124117,45 @@
124000
124117
  });
124001
124118
  }
124002
124119
  }
124003
- if (commands.length) {
124004
- const commandsToExecute = commands.filter(command => command !== NO_OP);
124005
- commandsToExecute.length && commandStack.execute('properties-panel.multi-command-executor', commandsToExecute);
124006
- return;
124007
- }
124008
-
124009
- // should never throw as templates are validated beforehand
124010
- throw unknownBindingError$1(element, property);
124011
- }
124012
- function unsetProperty(commandStack, element, property) {
124013
- let businessObject = getBusinessObject$2(element);
124014
- const {
124015
- binding
124016
- } = property;
124017
- const {
124018
- type
124019
- } = binding;
124020
- let extensionElements;
124021
- const commands = [];
124022
- const context = {
124023
- element,
124024
- property
124025
- };
124026
- if (MESSAGE_BINDING_TYPES.includes(type)) {
124027
- businessObject = findMessage(businessObject);
124028
- if (!businessObject) {
124029
- return;
124030
- }
124031
- }
124032
-
124033
- // property
124034
- if (PROPERTY_BINDING_TYPES.includes(type)) {
124035
- const {
124036
- name
124037
- } = binding;
124038
- commands.push({
124039
- cmd: 'element.updateModdleProperties',
124040
- context: {
124041
- ...context,
124042
- moddleElement: businessObject,
124043
- properties: {
124044
- [name]: undefined
124045
- }
124046
- }
124047
- });
124048
- }
124049
- if (EXTENSION_BINDING_TYPES$1.includes(type)) {
124050
- extensionElements = businessObject.get('extensionElements');
124051
- if (!extensionElements) return;
124052
- }
124053
124120
 
124054
- // zeebe:taskDefinition
124055
- if (TASK_DEFINITION_TYPES.includes(type)) {
124056
- const oldTaskDefinition = findExtension$1(extensionElements, 'zeebe:TaskDefinition');
124057
- const propertyName = getTaskDefinitionPropertyName(binding);
124058
- if (oldTaskDefinition) {
124059
- if (isOnlyProperty(oldTaskDefinition, propertyName)) {
124060
- // remove task definition
124061
- commands.push({
124062
- cmd: 'element.updateModdleProperties',
124063
- context: {
124064
- ...context,
124065
- moddleElement: extensionElements,
124066
- properties: {
124067
- values: without(extensionElements.get('values'), oldTaskDefinition)
124068
- }
124069
- }
124070
- });
124071
- } else {
124072
- // remove property
124073
- commands.push({
124074
- cmd: 'element.updateModdleProperties',
124075
- context: {
124076
- ...context,
124077
- moddleElement: oldTaskDefinition,
124078
- properties: {
124079
- [propertyName]: undefined
124080
- }
124081
- }
124082
- });
124083
- }
124084
- }
124085
- }
124086
-
124087
- // zeebe:IoMapping
124088
- if (IO_BINDING_TYPES$1.includes(type)) {
124089
- let ioMapping = findExtension$1(extensionElements, 'zeebe:IoMapping');
124090
- if (!ioMapping) return;
124091
-
124092
- // zeebe:Input
124093
- if (type === ZEBBE_INPUT_TYPE) {
124094
- const oldZeebeInputParameter = findInputParameter$1(ioMapping, binding);
124095
- const values = ioMapping.get('inputParameters').filter(value => value !== oldZeebeInputParameter);
124096
- if (ioMapping.get('outputParameters').length == 0 && values.length == 0) {
124097
- commands.push({
124098
- cmd: 'element.updateModdleProperties',
124099
- context: {
124100
- ...context,
124101
- moddleElement: extensionElements,
124102
- properties: {
124103
- values: without(extensionElements.get('values'), ioMapping)
124104
- }
124105
- }
124106
- });
124107
- } else {
124108
- commands.push({
124109
- cmd: 'element.updateModdleProperties',
124110
- context: {
124111
- ...context,
124112
- moddleElement: ioMapping,
124113
- properties: {
124114
- inputParameters: [...values]
124115
- }
124116
- }
124117
- });
124118
- }
124119
- }
124120
-
124121
- // zeebe:Output
124122
- if (type === ZEEBE_OUTPUT_TYPE) {
124123
- const oldZeebeOutputParameter = findOutputParameter$1(ioMapping, binding);
124124
- const values = ioMapping.get('outputParameters').filter(value => value !== oldZeebeOutputParameter);
124125
- if (ioMapping.get('inputParameters').length == 0 && values.length == 0) {
124126
- commands.push({
124127
- cmd: 'element.updateModdleProperties',
124128
- context: {
124129
- ...context,
124130
- moddleElement: extensionElements,
124131
- properties: {
124132
- values: without(extensionElements.get('values'), ioMapping)
124133
- }
124134
- }
124135
- });
124136
- }
124137
- commands.push({
124138
- cmd: 'element.updateModdleProperties',
124139
- context: {
124140
- ...context,
124141
- moddleElement: ioMapping,
124142
- properties: {
124143
- 'outputParameters': [...values]
124144
- }
124145
- }
124146
- });
124147
- }
124148
- }
124149
-
124150
- // zeebe:taskHeaders
124151
- if (type === ZEEBE_TASK_HEADER_TYPE) {
124152
- let taskHeaders = findExtension$1(extensionElements, 'zeebe:TaskHeaders');
124153
- if (!taskHeaders) return;
124154
- const oldTaskHeader = findTaskHeader(taskHeaders, binding);
124155
- const values = taskHeaders.get('values').filter(value => value !== oldTaskHeader);
124156
- if (values.length === 0) {
124121
+ // zeebe:calledElement
124122
+ if (type === ZEEBE_CALLED_ELEMENT) {
124123
+ let calledElement = findExtension$1(element, 'zeebe:CalledElement');
124124
+ const propertyName = binding.property;
124125
+ const properties = {
124126
+ [propertyName]: value || ''
124127
+ };
124128
+ if (calledElement) {
124157
124129
  commands.push({
124158
124130
  cmd: 'element.updateModdleProperties',
124159
124131
  context: {
124160
- ...context,
124161
- moddleElement: extensionElements,
124162
- properties: {
124163
- values: without(extensionElements.get('values'), taskHeaders)
124164
- }
124132
+ element,
124133
+ properties,
124134
+ moddleElement: calledElement
124165
124135
  }
124166
124136
  });
124167
124137
  } else {
124168
- commands.push({
124169
- cmd: 'element.updateModdleProperties',
124170
- context: {
124171
- ...context,
124172
- moddleElement: taskHeaders,
124173
- properties: {
124174
- values: [...values]
124175
- }
124176
- }
124177
- });
124178
- }
124179
- }
124180
-
124181
- // zeebe:Property
124182
- if (type === ZEEBE_PROPERTY_TYPE) {
124183
- let zeebeProperties = findExtension$1(extensionElements, 'zeebe:Properties');
124184
- if (!zeebeProperties) return;
124185
- const oldZeebeProperty = findZeebeProperty(zeebeProperties, binding);
124186
- const properties = zeebeProperties.get('properties').filter(property => property !== oldZeebeProperty);
124187
- if (!properties.length) {
124138
+ calledElement = createElement$1('zeebe:CalledElement', properties, extensionElements, bpmnFactory);
124188
124139
  commands.push({
124189
124140
  cmd: 'element.updateModdleProperties',
124190
124141
  context: {
124191
124142
  ...context,
124192
124143
  moddleElement: extensionElements,
124193
124144
  properties: {
124194
- values: without(extensionElements.get('values'), zeebeProperties)
124195
- }
124196
- }
124197
- });
124198
- } else {
124199
- commands.push({
124200
- cmd: 'element.updateModdleProperties',
124201
- context: {
124202
- ...context,
124203
- moddleElement: zeebeProperties,
124204
- properties: {
124205
- properties: [...properties]
124145
+ values: [...extensionElements.get('values'), calledElement]
124206
124146
  }
124207
124147
  }
124208
124148
  });
124209
124149
  }
124210
124150
  }
124211
-
124212
- // bpmn:Message#property
124213
- if (type === MESSAGE_PROPERTY_TYPE) {
124214
- commands.push({
124215
- cmd: 'element.updateModdleProperties',
124216
- context: {
124217
- ...context,
124218
- moddleElement: businessObject,
124219
- properties: {
124220
- [binding.name]: undefined
124221
- }
124222
- }
124223
- });
124224
- }
124225
-
124226
- // bpmn:Message#zeebe:subscription#property
124227
- if (type === MESSAGE_ZEEBE_SUBSCRIPTION_PROPERTY_TYPE) {
124228
- const subscription = findZeebeSubscription(businessObject);
124229
- if (!subscription) {
124230
- return;
124231
- }
124232
- commands.push({
124233
- cmd: 'element.updateModdleProperties',
124234
- context: {
124235
- ...context,
124236
- moddleElement: subscription,
124237
- properties: {
124238
- [binding.name]: undefined
124239
- }
124240
- }
124241
- });
124242
- }
124243
124151
  if (commands.length) {
124244
- commandStack.execute('properties-panel.multi-command-executor', commands);
124152
+ const commandsToExecute = commands.filter(command => command !== NO_OP);
124153
+ commandsToExecute.length && commandStack.execute('properties-panel.multi-command-executor', commandsToExecute);
124245
124154
  return;
124246
124155
  }
124156
+
124157
+ // should never throw as templates are validated beforehand
124158
+ throw unknownBindingError$1(element, property);
124247
124159
  }
124248
124160
  function validateProperty(value, property, translate$1 = translate) {
124249
124161
  const {
@@ -124309,14 +124221,6 @@
124309
124221
  function matchesPattern$1(string, pattern) {
124310
124222
  return new RegExp(pattern).test(string);
124311
124223
  }
124312
- function isOnlyProperty(moddleElement, propertyName) {
124313
- const descriptor = moddleElement.$descriptor;
124314
- return descriptor.properties.every(({
124315
- name
124316
- }) => {
124317
- return propertyName === name || moddleElement.get(name) === undefined;
124318
- });
124319
- }
124320
124224
 
124321
124225
  /**
124322
124226
  * Based on conditions, remove properties from the template.
@@ -124395,49 +124299,7 @@
124395
124299
  return true;
124396
124300
  }
124397
124301
 
124398
- function removeRootElement(rootElement, injector) {
124399
- const modeling = injector.get('modeling'),
124400
- canvas = injector.get('canvas'),
124401
- bpmnjs = injector.get('bpmnjs');
124402
- const element = canvas.getRootElement(),
124403
- definitions = bpmnjs.getDefinitions(),
124404
- rootElements = definitions.get('rootElements');
124405
- const newRootElements = rootElements.filter(e => e !== rootElement);
124406
-
124407
- // short-circuit to prevent unnecessary updates
124408
- if (newRootElements.length === rootElements.length) {
124409
- return;
124410
- }
124411
- modeling.updateModdleProperties(element, definitions, {
124412
- rootElements: newRootElements
124413
- });
124414
- }
124415
-
124416
- /**
124417
- * Remove message from element and the diagram.
124418
- *
124419
- * @param {import('bpmn-js/lib/model/Types').Element} element
124420
- * @param {import('didi').Injector} injector
124421
- */
124422
- function removeMessage(element, injector) {
124423
- const modeling = injector.get('modeling');
124424
- const bo = getReferringElement(element);
124425
- const message = findMessage(bo);
124426
- if (!message) {
124427
- return;
124428
- }
124429
- modeling.updateModdleProperties(element, bo, {
124430
- messageRef: undefined
124431
- });
124432
- removeRootElement(message, injector);
124433
- }
124434
- function getReferringElement(element) {
124435
- const bo = getBusinessObject$2(element);
124436
- if (is$6(bo, 'bpmn:Event')) {
124437
- return bo.get('eventDefinitions')[0];
124438
- }
124439
- return bo;
124440
- }
124302
+ const HIGH_PRIORITY$2 = 2500;
124441
124303
 
124442
124304
  /**
124443
124305
  * Checks the conditions of an element template and sets/resets the
@@ -124453,6 +124315,20 @@
124453
124315
  this._injector = injector;
124454
124316
  this.preExecute(['element.updateProperties', 'element.updateModdleProperties'], this._saveConditionalState, true, this);
124455
124317
  this.postExecute(['element.updateProperties', 'element.updateModdleProperties', 'propertiesPanel.zeebe.changeTemplate', 'element.move'], this._applyConditions, true, this);
124318
+
124319
+ // Apply Conditions before changing properties. This persists the template so we can check if conditions apply
124320
+ // after upgrading the template.
124321
+ this.preExecute(['propertiesPanel.zeebe.changeTemplate'], HIGH_PRIORITY$2, this._handleTemplateUpgrade, true, this);
124322
+ }
124323
+ _handleTemplateUpgrade(context) {
124324
+ const {
124325
+ element,
124326
+ newTemplate
124327
+ } = context;
124328
+ if (!element || !newTemplate) {
124329
+ return;
124330
+ }
124331
+ context.newTemplate = applyConditions(context.element, context.newTemplate);
124456
124332
  }
124457
124333
  _saveConditionalState(context) {
124458
124334
  const {
@@ -124467,29 +124343,52 @@
124467
124343
  _applyConditions(context) {
124468
124344
  const {
124469
124345
  element,
124470
- oldTemplate
124346
+ hints = {}
124471
124347
  } = context;
124348
+ if (hints.skipConditionUpdate) {
124349
+ return;
124350
+ }
124472
124351
  const template = this._elementTemplates.get(element);
124352
+
124353
+ // New Template is persisted before applying default values,
124354
+ // new conditions might apply after the defaults are present.
124355
+ const oldTemplate = context.oldTemplate || context.newTemplate;
124473
124356
  if (!template || !oldTemplate || template.id !== oldTemplate.id) {
124474
124357
  return;
124475
124358
  }
124476
124359
  const newTemplate = applyConditions(element, template);
124477
- const propertiesToAdd = getMissingProperties(oldTemplate, newTemplate);
124478
- const propertiesToRemove = getPropertiesToRemove(newTemplate, oldTemplate);
124479
- this._updateReferencedElement(element, oldTemplate, newTemplate);
124480
- propertiesToAdd.forEach(property => setPropertyValue(this._bpmnFactory, this._commandStack, element, property, property.value));
124481
- propertiesToRemove.forEach(property => unsetProperty(this._commandStack, element, property));
124482
- }
124483
- _updateReferencedElement(element, oldTemplate, newTemplate) {
124484
- if (hasMessageProperties(oldTemplate) && !hasMessageProperties(newTemplate)) {
124485
- removeMessage(element, this._injector);
124360
+ if (!hasDifferentPropertyBindings(newTemplate, oldTemplate)) {
124361
+ return;
124486
124362
  }
124363
+ const changeContext = {
124364
+ element,
124365
+ newTemplate,
124366
+ oldTemplate,
124367
+ hints: {
124368
+ skipConditionUpdate: true
124369
+ }
124370
+ };
124371
+ this._commandStack.execute('propertiesPanel.zeebe.changeTemplate', changeContext);
124487
124372
  }
124488
124373
  }
124489
124374
  ElementTemplatesConditionChecker.$inject = ['eventBus', 'elementTemplates', 'commandStack', 'bpmnFactory', 'injector'];
124490
124375
 
124491
124376
  // helpers
124492
124377
 
124378
+ function hasDifferentPropertyBindings(sourceTemplate, targetTemplate) {
124379
+ return hasNewProperties(sourceTemplate, targetTemplate) || hasRemovedProperties(sourceTemplate, targetTemplate);
124380
+ }
124381
+ function hasNewProperties(sourceTemplate, targetTemplate) {
124382
+ let properties = targetTemplate.properties;
124383
+ return properties.some(targetProp => !sourceTemplate.properties.find(sourceProp => compareProps(sourceProp, targetProp)));
124384
+ }
124385
+ function hasRemovedProperties(oldTemplate, newTemplate) {
124386
+ const oldProperties = getMissingProperties(newTemplate, oldTemplate);
124387
+
124388
+ // ensure XML properties are mantained for properties with
124389
+ // different conditions but same bindings
124390
+ return oldProperties.some(property => !findPropertyWithBinding(newTemplate, property));
124391
+ }
124493
124392
  function getMissingProperties(sourceTemplate, targetTemplate) {
124494
124393
  let properties = targetTemplate.properties;
124495
124394
  return properties.filter(targetProp => !sourceTemplate.properties.find(sourceProp => compareProps(sourceProp, targetProp)));
@@ -124500,13 +124399,6 @@
124500
124399
  function findPropertyWithBinding(template, prop1) {
124501
124400
  return template.properties.some(prop2 => areBindingsEqual(prop1.binding, prop2.binding));
124502
124401
  }
124503
- function getPropertiesToRemove(newTemplate, oldTemplate) {
124504
- const oldProperties = getMissingProperties(newTemplate, oldTemplate);
124505
-
124506
- // ensure XML properties are mantained for properties with
124507
- // different conditions but same bindings
124508
- return oldProperties.filter(property => !findPropertyWithBinding(newTemplate, property));
124509
- }
124510
124402
  function normalizeReplacer$1(key, value) {
124511
124403
  if (isObject$1(value)) {
124512
124404
  const keys = Object.keys(value).sort();
@@ -124539,9 +124431,6 @@
124539
124431
  function equals(a, b) {
124540
124432
  return JSON.stringify(a, normalizeReplacer$1) === JSON.stringify(b, normalizeReplacer$1);
124541
124433
  }
124542
- function hasMessageProperties(template) {
124543
- return template.properties.some(p => MESSAGE_BINDING_TYPES.includes(p.binding.type));
124544
- }
124545
124434
 
124546
124435
  /**
124547
124436
  * The BPMN 2.0 extension attribute name under
@@ -125321,16 +125210,87 @@
125321
125210
  return !is$6(eventDefinitions[0], eventDefinition);
125322
125211
  }
125323
125212
 
125213
+ function removeRootElement(rootElement, injector) {
125214
+ const modeling = injector.get('modeling'),
125215
+ canvas = injector.get('canvas'),
125216
+ bpmnjs = injector.get('bpmnjs');
125217
+ const element = canvas.getRootElement(),
125218
+ definitions = bpmnjs.getDefinitions(),
125219
+ rootElements = definitions.get('rootElements');
125220
+ const newRootElements = rootElements.filter(e => e !== rootElement);
125221
+
125222
+ // short-circuit to prevent unnecessary updates
125223
+ if (newRootElements.length === rootElements.length) {
125224
+ return;
125225
+ }
125226
+ modeling.updateModdleProperties(element, definitions, {
125227
+ rootElements: newRootElements
125228
+ });
125229
+ }
125230
+
125231
+ /**
125232
+ * Remove message from element and the diagram.
125233
+ *
125234
+ * @param {import('bpmn-js/lib/model/Types').Element} element
125235
+ * @param {import('didi').Injector} injector
125236
+ */
125237
+ function removeMessage(element, injector) {
125238
+ const modeling = injector.get('modeling');
125239
+ const bo = getReferringElement(element);
125240
+
125241
+ // Event does not have an event definition
125242
+ if (!bo) {
125243
+ return;
125244
+ }
125245
+ const message = findMessage(bo);
125246
+ if (!message) {
125247
+ return;
125248
+ }
125249
+ modeling.updateModdleProperties(element, bo, {
125250
+ messageRef: undefined
125251
+ });
125252
+ removeRootElement(message, injector);
125253
+ }
125254
+ function getReferringElement(element) {
125255
+ const bo = getBusinessObject$2(element);
125256
+ if (is$6(bo, 'bpmn:Event')) {
125257
+ return bo.get('eventDefinitions')[0];
125258
+ }
125259
+ return bo;
125260
+ }
125261
+
125324
125262
  /**
125325
125263
  * Applies an element template to an element. Sets `zeebe:modelerTemplate` and
125326
125264
  * `zeebe:modelerTemplateVersion`.
125327
125265
  */
125328
125266
  let ChangeElementTemplateHandler$1 = class ChangeElementTemplateHandler {
125329
- constructor(bpmnFactory, bpmnReplace, commandStack, modeling) {
125267
+ constructor(bpmnFactory, bpmnReplace, commandStack, injector) {
125330
125268
  this._bpmnFactory = bpmnFactory;
125331
125269
  this._bpmnReplace = bpmnReplace;
125332
- this._commandStack = commandStack;
125333
- this._modeling = modeling;
125270
+
125271
+ // Wrap commandStack and modeling to add hints to all commands
125272
+ this._commandStackWrapper = {
125273
+ execute: (event, context, ...rest) => {
125274
+ commandStack.execute(event, {
125275
+ hints: {
125276
+ skipConditionUpdate: true
125277
+ },
125278
+ ...context
125279
+ }, ...rest);
125280
+ }
125281
+ };
125282
+ this._modelingWrapper = {
125283
+ updateModdleProperties: (element, moddleElement, properties) => this._commandStackWrapper.execute('element.updateModdleProperties', {
125284
+ element,
125285
+ moddleElement,
125286
+ properties
125287
+ }),
125288
+ updateProperties: (element, properties) => this._commandStackWrapper.execute('element.updateProperties', {
125289
+ element,
125290
+ properties
125291
+ })
125292
+ };
125293
+ this._injector = injector;
125334
125294
  }
125335
125295
 
125336
125296
  /**
@@ -125355,11 +125315,8 @@
125355
125315
  // update zeebe:modelerTemplateIcon
125356
125316
  this._updateZeebeModelerTemplateIcon(element, newTemplate);
125357
125317
  if (newTemplate) {
125358
- // do not apply properties that don't meet conditions
125359
- newTemplate = applyConditions(element, newTemplate);
125360
-
125361
125318
  // update element type
125362
- element = context.element = this._updateElementType(element, newTemplate);
125319
+ element = context.element = this._updateElementType(element, oldTemplate, newTemplate);
125363
125320
 
125364
125321
  // update properties
125365
125322
  this._updateProperties(element, oldTemplate, newTemplate);
@@ -125375,18 +125332,13 @@
125375
125332
 
125376
125333
  // update zeebe:Property properties
125377
125334
  this._updateZeebePropertyProperties(element, oldTemplate, newTemplate);
125378
-
125379
- // update bpmn:Message properties
125380
- this._updateMessageProperties(element, oldTemplate, newTemplate);
125381
-
125382
- // update bpmn:Message zeebe:subscription properties
125383
- this._updateMessageZeebeSubscriptionProperties(element, oldTemplate, newTemplate);
125384
- this._updateZeebeModelerTemplateOnReferencedElement(element, oldTemplate, newTemplate);
125335
+ this._updateMessage(element, oldTemplate, newTemplate);
125336
+ this._updateCalledElement(element, oldTemplate, newTemplate);
125385
125337
  }
125386
125338
  }
125387
125339
  _getOrCreateExtensionElements(element, businessObject = getBusinessObject$2(element)) {
125388
125340
  const bpmnFactory = this._bpmnFactory,
125389
- modeling = this._modeling;
125341
+ modeling = this._modelingWrapper;
125390
125342
  let extensionElements = businessObject.get('extensionElements');
125391
125343
  if (!extensionElements) {
125392
125344
  extensionElements = bpmnFactory.create('bpmn:ExtensionElements', {
@@ -125400,30 +125352,48 @@
125400
125352
  return extensionElements;
125401
125353
  }
125402
125354
  _updateZeebeModelerTemplate(element, newTemplate) {
125403
- const modeling = this._modeling;
125355
+ const modeling = this._modelingWrapper;
125404
125356
  modeling.updateProperties(element, {
125405
125357
  'zeebe:modelerTemplate': newTemplate && newTemplate.id,
125406
125358
  'zeebe:modelerTemplateVersion': newTemplate && newTemplate.version
125407
125359
  });
125408
125360
  }
125409
125361
  _updateZeebeModelerTemplateIcon(element, newTemplate) {
125410
- const modeling = this._modeling;
125362
+ const modeling = this._modelingWrapper;
125411
125363
  const icon = newTemplate && newTemplate.icon;
125412
125364
  modeling.updateProperties(element, {
125413
125365
  'zeebe:modelerTemplateIcon': icon && icon.contents
125414
125366
  });
125415
125367
  }
125416
125368
  _updateProperties(element, oldTemplate, newTemplate) {
125417
- const commandStack = this._commandStack;
125369
+ const commandStack = this._commandStackWrapper;
125370
+ const businessObject = getBusinessObject$2(element);
125418
125371
  const newProperties = newTemplate.properties.filter(newProperty => {
125419
125372
  const newBinding = newProperty.binding,
125420
125373
  newBindingType = newBinding.type;
125421
125374
  return newBindingType === 'property';
125422
125375
  });
125376
+
125377
+ // Remove old Properties if no new Properties specified
125378
+ const propertiesToRemove = oldTemplate && oldTemplate.properties.filter(oldProperty => {
125379
+ const oldBinding = oldProperty.binding,
125380
+ oldBindingType = oldBinding.type;
125381
+ return oldBindingType === 'property' && !newProperties.find(newProperty => newProperty.binding.name === oldProperty.binding.name);
125382
+ }) || [];
125383
+ if (propertiesToRemove.length) {
125384
+ const payload = propertiesToRemove.reduce((properties, property) => {
125385
+ properties[property.binding.name] = undefined;
125386
+ return properties;
125387
+ }, {});
125388
+ commandStack.execute('element.updateModdleProperties', {
125389
+ element,
125390
+ moddleElement: businessObject,
125391
+ properties: payload
125392
+ });
125393
+ }
125423
125394
  if (!newProperties.length) {
125424
125395
  return;
125425
125396
  }
125426
- const businessObject = getBusinessObject$2(element);
125427
125397
  newProperties.forEach(newProperty => {
125428
125398
  const oldProperty = findOldProperty$1(oldTemplate, newProperty),
125429
125399
  newBinding = newProperty.binding,
@@ -125453,34 +125423,42 @@
125453
125423
  */
125454
125424
  _updateZeebeTaskDefinition(element, oldTemplate, newTemplate) {
125455
125425
  const bpmnFactory = this._bpmnFactory,
125456
- commandStack = this._commandStack;
125426
+ commandStack = this._commandStackWrapper;
125457
125427
  const newProperties = newTemplate.properties.filter(newProperty => {
125458
125428
  const newBinding = newProperty.binding,
125459
125429
  newBindingType = newBinding.type;
125460
125430
  return TASK_DEFINITION_TYPES.includes(newBindingType);
125461
125431
  });
125432
+ const businessObject = this._getOrCreateExtensionElements(element);
125433
+ let taskDefinition = findExtension$1(businessObject, 'zeebe:TaskDefinition');
125434
+
125435
+ // (1) remove old task definition if no new properties specified
125462
125436
 
125463
- // (1) do not override old task definition if no new properties specified
125464
125437
  if (!newProperties.length) {
125438
+ commandStack.execute('element.updateModdleProperties', {
125439
+ element,
125440
+ moddleElement: businessObject,
125441
+ properties: {
125442
+ values: without(businessObject.get('values'), taskDefinition)
125443
+ }
125444
+ });
125465
125445
  return;
125466
125446
  }
125467
- const businessObject = this._getOrCreateExtensionElements(element);
125468
125447
  newProperties.forEach(newProperty => {
125469
125448
  const oldProperty = findOldProperty$1(oldTemplate, newProperty),
125470
- oldTaskDefinition = findBusinessObject(businessObject, newProperty),
125471
125449
  newPropertyValue = getDefaultValue(newProperty),
125472
125450
  newBinding = newProperty.binding,
125473
125451
  propertyName = getTaskDefinitionPropertyName(newBinding);
125474
125452
 
125475
125453
  // (2) update old task definition
125476
- if (oldTaskDefinition) {
125477
- if (!shouldKeepValue(oldTaskDefinition, oldProperty, newProperty)) {
125454
+ if (taskDefinition) {
125455
+ if (!shouldKeepValue(taskDefinition, oldProperty, newProperty)) {
125478
125456
  const properties = {
125479
125457
  [propertyName]: newPropertyValue
125480
125458
  };
125481
125459
  commandStack.execute('element.updateModdleProperties', {
125482
125460
  element,
125483
- moddleElement: oldTaskDefinition,
125461
+ moddleElement: taskDefinition,
125484
125462
  properties
125485
125463
  });
125486
125464
  }
@@ -125491,17 +125469,34 @@
125491
125469
  const properties = {
125492
125470
  [propertyName]: newPropertyValue
125493
125471
  };
125494
- const newTaskDefinition = createTaskDefinition(properties, bpmnFactory);
125495
- newTaskDefinition.$parent = businessObject;
125472
+ taskDefinition = createTaskDefinition(properties, bpmnFactory);
125473
+ taskDefinition.$parent = businessObject;
125496
125474
  commandStack.execute('element.updateModdleProperties', {
125497
125475
  element,
125498
125476
  moddleElement: businessObject,
125499
125477
  properties: {
125500
- values: [...businessObject.get('values'), newTaskDefinition]
125478
+ values: [...businessObject.get('values'), taskDefinition]
125501
125479
  }
125502
125480
  });
125503
125481
  }
125504
125482
  });
125483
+
125484
+ // (4) remove properties no longer templated
125485
+ const oldProperties = oldTemplate && oldTemplate.properties.filter(oldProperty => {
125486
+ const oldBinding = oldProperty.binding,
125487
+ oldBindingType = oldBinding.type;
125488
+ return TASK_DEFINITION_TYPES.includes(oldBindingType) && !newProperties.find(newProperty => newProperty.binding.property === oldProperty.binding.property);
125489
+ }) || [];
125490
+ oldProperties.forEach(oldProperty => {
125491
+ const properties = {
125492
+ [oldProperty.binding.property]: undefined
125493
+ };
125494
+ commandStack.execute('element.updateModdleProperties', {
125495
+ element,
125496
+ moddleElement: taskDefinition,
125497
+ properties
125498
+ });
125499
+ });
125505
125500
  }
125506
125501
 
125507
125502
  /**
@@ -125514,7 +125509,7 @@
125514
125509
  */
125515
125510
  _updateZeebeInputOutputParameterProperties(element, oldTemplate, newTemplate) {
125516
125511
  const bpmnFactory = this._bpmnFactory,
125517
- commandStack = this._commandStack;
125512
+ commandStack = this._commandStackWrapper;
125518
125513
  const newProperties = newTemplate.properties.filter(newProperty => {
125519
125514
  const newBinding = newProperty.binding,
125520
125515
  newBindingType = newBinding.type;
@@ -125641,7 +125636,7 @@
125641
125636
  */
125642
125637
  _updateZeebeTaskHeaderProperties(element, oldTemplate, newTemplate) {
125643
125638
  const bpmnFactory = this._bpmnFactory,
125644
- commandStack = this._commandStack;
125639
+ commandStack = this._commandStackWrapper;
125645
125640
  const newProperties = newTemplate.properties.filter(newProperty => {
125646
125641
  const newBinding = newProperty.binding,
125647
125642
  newBindingType = newBinding.type;
@@ -125731,7 +125726,7 @@
125731
125726
  */
125732
125727
  _updateZeebePropertyProperties(element, oldTemplate, newTemplate) {
125733
125728
  const bpmnFactory = this._bpmnFactory,
125734
- commandStack = this._commandStack;
125729
+ commandStack = this._commandStackWrapper;
125735
125730
  const newProperties = newTemplate.properties.filter(newProperty => {
125736
125731
  const newBinding = newProperty.binding,
125737
125732
  newBindingType = newBinding.type;
@@ -125812,6 +125807,17 @@
125812
125807
  });
125813
125808
  }
125814
125809
  }
125810
+ _updateMessage(element, oldTemplate, newTemplate) {
125811
+ // update bpmn:Message properties
125812
+ this._updateMessageProperties(element, oldTemplate, newTemplate);
125813
+
125814
+ // update bpmn:Message zeebe:subscription properties
125815
+ this._updateMessageZeebeSubscriptionProperties(element, oldTemplate, newTemplate);
125816
+ this._updateZeebeModelerTemplateOnReferencedElement(element, oldTemplate, newTemplate);
125817
+ if (!hasMessageProperties(newTemplate)) {
125818
+ removeMessage(element, this._injector);
125819
+ }
125820
+ }
125815
125821
 
125816
125822
  /**
125817
125823
  * Update bpmn:Message properties.
@@ -125826,10 +125832,21 @@
125826
125832
  newBindingType = newBinding.type;
125827
125833
  return newBindingType === MESSAGE_PROPERTY_TYPE;
125828
125834
  });
125835
+ const removedProperties = oldTemplate && oldTemplate.properties.filter(oldProperty => {
125836
+ const oldBinding = oldProperty.binding,
125837
+ oldBindingType = oldBinding.type;
125838
+ return oldBindingType === MESSAGE_PROPERTY_TYPE && !newProperties.find(newProperty => newProperty.binding.name === oldProperty.binding.name);
125839
+ }) || [];
125840
+ let message = this._getMessage(element);
125841
+ message && removedProperties.forEach(removedProperty => {
125842
+ this._modelingWrapper.updateModdleProperties(element, message, {
125843
+ [removedProperty.binding.name]: undefined
125844
+ });
125845
+ });
125829
125846
  if (!newProperties.length) {
125830
125847
  return;
125831
125848
  }
125832
- const message = this._getOrCreateMessage(element, newTemplate);
125849
+ message = this._getOrCreateMessage(element, newTemplate);
125833
125850
  newProperties.forEach(newProperty => {
125834
125851
  const oldProperty = findOldProperty$1(oldTemplate, newProperty),
125835
125852
  newBinding = newProperty.binding,
@@ -125841,7 +125858,7 @@
125841
125858
  return;
125842
125859
  }
125843
125860
  properties[newBindingName] = newPropertyValue;
125844
- this._modeling.updateModdleProperties(element, changedElement, properties);
125861
+ this._modelingWrapper.updateModdleProperties(element, changedElement, properties);
125845
125862
  });
125846
125863
  }
125847
125864
 
@@ -125858,24 +125875,50 @@
125858
125875
  newBindingType = newBinding.type;
125859
125876
  return newBindingType === MESSAGE_ZEEBE_SUBSCRIPTION_PROPERTY_TYPE;
125860
125877
  });
125861
- if (!newProperties.length) {
125878
+ const removedProperties = oldTemplate && oldTemplate.properties.filter(oldProperty => {
125879
+ const oldBinding = oldProperty.binding,
125880
+ oldBindingType = oldBinding.type;
125881
+ return oldBindingType === MESSAGE_ZEEBE_SUBSCRIPTION_PROPERTY_TYPE && !newProperties.find(newProperty => newProperty.binding.name === oldProperty.binding.name);
125882
+ }) || [];
125883
+ if (!newProperties.length && !removedProperties.length) {
125862
125884
  return;
125863
125885
  }
125864
125886
  const message = this._getOrCreateMessage(element, newTemplate);
125865
- const zeebeSubscription = this._getOrCreateExtension(element, message, 'zeebe:Subscription');
125866
- newProperties.forEach(newProperty => {
125887
+ const messageExtensionElements = this._getOrCreateExtensionElements(element, message);
125888
+ const zeebeSubscription = this._getSubscription(element, message);
125889
+ const propertiesToSet = newProperties.reduce((properties, newProperty) => {
125867
125890
  const oldProperty = findOldProperty$1(oldTemplate, newProperty),
125868
125891
  newBinding = newProperty.binding,
125869
125892
  newBindingName = newBinding.name,
125870
125893
  newPropertyValue = getDefaultValue(newProperty),
125871
125894
  changedElement = zeebeSubscription;
125872
- let properties = {};
125873
125895
  if (shouldKeepValue(changedElement, oldProperty, newProperty)) {
125874
- return;
125896
+ return properties;
125875
125897
  }
125876
125898
  properties[newBindingName] = newPropertyValue;
125877
- this._modeling.updateModdleProperties(element, changedElement, properties);
125878
- });
125899
+ return properties;
125900
+ }, {});
125901
+
125902
+ // Update zeebe Subscription
125903
+ if (zeebeSubscription) {
125904
+ this._modelingWrapper.updateModdleProperties(element, zeebeSubscription, propertiesToSet);
125905
+ } else {
125906
+ // create new Subscription
125907
+ const newSubscription = createElement$1('zeebe:Subscription', propertiesToSet, message, this._bpmnFactory);
125908
+ this._modelingWrapper.updateModdleProperties(element, messageExtensionElements, {
125909
+ values: [...messageExtensionElements.get('values'), newSubscription]
125910
+ });
125911
+ }
125912
+
125913
+ // Remove old properties
125914
+ if (!oldTemplate || !zeebeSubscription) {
125915
+ return;
125916
+ }
125917
+ const propertiesToRemove = removedProperties.reduce((properties, removedProperty) => {
125918
+ properties[removedProperty.binding.name] = undefined;
125919
+ return properties;
125920
+ }, {});
125921
+ this._modelingWrapper.updateModdleProperties(element, zeebeSubscription, propertiesToRemove);
125879
125922
  }
125880
125923
  _updateZeebeModelerTemplateOnReferencedElement(element, oldTemplate, newTemplate) {
125881
125924
  const businessObject = getBusinessObject$2(element);
@@ -125886,38 +125929,124 @@
125886
125929
  if (getTemplateId$1(message) === newTemplate.id) {
125887
125930
  return;
125888
125931
  }
125889
- this._modeling.updateModdleProperties(element, message, {
125932
+ this._modelingWrapper.updateModdleProperties(element, message, {
125890
125933
  'zeebe:modelerTemplate': newTemplate.id
125891
125934
  });
125892
125935
  }
125893
- _getOrCreateExtension(element, bo, type) {
125936
+ _getSubscription(element, bo) {
125894
125937
  const extensionElements = this._getOrCreateExtensionElements(element, bo);
125895
- const extension = findExtension$1(extensionElements, type);
125938
+ const extension = findExtension$1(extensionElements, 'zeebe:Subscription');
125896
125939
  if (extension) {
125897
125940
  return extension;
125898
125941
  }
125899
- const newExtension = createElement$1(type, {}, bo, this._bpmnFactory);
125900
- this._modeling.updateModdleProperties(element, extensionElements, {
125901
- values: [...extensionElements.get('values'), newExtension]
125902
- });
125903
- return newExtension;
125904
125942
  }
125905
125943
  _getOrCreateMessage(element, template) {
125944
+ return this._getMessage(element) || this._createMessage(element, template);
125945
+ }
125946
+ _createMessage(element, template) {
125906
125947
  let bo = getBusinessObject$2(element);
125907
125948
  if (is$6(bo, 'bpmn:Event')) {
125908
125949
  bo = bo.get('eventDefinitions')[0];
125909
125950
  }
125910
- let message = bo.get('messageRef');
125911
- if (!message) {
125912
- message = this._bpmnFactory.create('bpmn:Message', {
125913
- 'zeebe:modelerTemplate': template.id
125914
- });
125915
- message.$parent = getRoot(bo);
125916
- this._modeling.updateModdleProperties(element, bo, {
125917
- messageRef: message
125951
+ const message = this._bpmnFactory.create('bpmn:Message', {
125952
+ 'zeebe:modelerTemplate': template.id
125953
+ });
125954
+ message.$parent = getRoot(bo);
125955
+ this._modelingWrapper.updateModdleProperties(element, bo, {
125956
+ messageRef: message
125957
+ });
125958
+ return message;
125959
+ }
125960
+ _getMessage(element) {
125961
+ let bo = getBusinessObject$2(element);
125962
+ if (is$6(bo, 'bpmn:Event')) {
125963
+ bo = bo.get('eventDefinitions')[0];
125964
+ }
125965
+ return bo && bo.get('messageRef');
125966
+ }
125967
+
125968
+ /**
125969
+ * Update `zeebe:CalledElement` properties of specified business object. This
125970
+ * can only exist in `bpmn:ExtensionElements`.
125971
+ *
125972
+ * @param {djs.model.Base} element
125973
+ * @param {Object} oldTemplate
125974
+ * @param {Object} newTemplate
125975
+ */
125976
+ _updateCalledElement(element, oldTemplate, newTemplate) {
125977
+ const bpmnFactory = this._bpmnFactory,
125978
+ commandStack = this._commandStackWrapper;
125979
+ const newProperties = newTemplate.properties.filter(newProperty => {
125980
+ const newBinding = newProperty.binding,
125981
+ newBindingType = newBinding.type;
125982
+ return newBindingType === ZEEBE_CALLED_ELEMENT;
125983
+ });
125984
+ const businessObject = this._getOrCreateExtensionElements(element);
125985
+ let calledElement = findExtension$1(businessObject, 'zeebe:CalledElement');
125986
+
125987
+ // (1) remove old called element if no new properties specified
125988
+ if (!newProperties.length) {
125989
+ commandStack.execute('element.updateModdleProperties', {
125990
+ element,
125991
+ moddleElement: businessObject,
125992
+ properties: {
125993
+ values: without(businessObject.get('values'), calledElement)
125994
+ }
125918
125995
  });
125996
+ return;
125919
125997
  }
125920
- return message;
125998
+ newProperties.forEach(newProperty => {
125999
+ const oldProperty = findOldProperty$1(oldTemplate, newProperty),
126000
+ newPropertyValue = getDefaultValue(newProperty),
126001
+ propertyName = newProperty.binding.property;
126002
+
126003
+ // (2) update old called element
126004
+ if (calledElement) {
126005
+ if (!shouldKeepValue(calledElement, oldProperty, newProperty)) {
126006
+ const properties = {
126007
+ [propertyName]: newPropertyValue
126008
+ };
126009
+ commandStack.execute('element.updateModdleProperties', {
126010
+ element,
126011
+ moddleElement: calledElement,
126012
+ properties
126013
+ });
126014
+ }
126015
+ }
126016
+
126017
+ // (3) add new called element
126018
+ else {
126019
+ const properties = {
126020
+ [propertyName]: newPropertyValue
126021
+ };
126022
+ calledElement = createCalledElement(properties, bpmnFactory);
126023
+ calledElement.$parent = businessObject;
126024
+ commandStack.execute('element.updateModdleProperties', {
126025
+ element,
126026
+ moddleElement: businessObject,
126027
+ properties: {
126028
+ values: [...businessObject.get('values'), calledElement]
126029
+ }
126030
+ });
126031
+ }
126032
+ });
126033
+
126034
+ // (4) remove properties no longer templated
126035
+ const oldProperties = oldTemplate && oldTemplate.properties.filter(oldProperty => {
126036
+ const oldBinding = oldProperty.binding,
126037
+ oldBindingType = oldBinding.type;
126038
+ return oldBindingType === ZEEBE_CALLED_ELEMENT && !newProperties.find(newProperty => newProperty.binding.property === oldProperty.binding.property);
126039
+ }) || [];
126040
+ oldProperties.forEach(oldProperty => {
126041
+ const properties = {
126042
+ [oldProperty.binding.property]: undefined
126043
+ };
126044
+ commandStack.execute('element.updateModdleProperties', {
126045
+ element,
126046
+ moddleElement: calledElement,
126047
+ properties
126048
+ });
126049
+ });
125921
126050
  }
125922
126051
 
125923
126052
  /**
@@ -125927,12 +126056,18 @@
125927
126056
  * @param {djs.model.Base} element
125928
126057
  * @param {Object} newTemplate
125929
126058
  */
125930
- _updateElementType(element, newTemplate) {
126059
+ _updateElementType(element, oldTemplate, newTemplate) {
125931
126060
  // determine new task type
125932
126061
  const newType = newTemplate.elementType;
125933
126062
  if (!newType) {
125934
126063
  return element;
125935
126064
  }
126065
+ const oldType = oldTemplate && oldTemplate.elementType;
126066
+
126067
+ // Do not replace if the element type did not change
126068
+ if (oldType && oldType.value === newType.value && oldType.eventDefinition === newType.eventDefinition) {
126069
+ return element;
126070
+ }
125936
126071
  const replacement = {
125937
126072
  type: newType.value
125938
126073
  };
@@ -125943,7 +126078,7 @@
125943
126078
  return replacedElement;
125944
126079
  }
125945
126080
  };
125946
- ChangeElementTemplateHandler$1.$inject = ['bpmnFactory', 'bpmnReplace', 'commandStack', 'modeling'];
126081
+ ChangeElementTemplateHandler$1.$inject = ['bpmnFactory', 'bpmnReplace', 'commandStack', 'injector'];
125947
126082
 
125948
126083
  // helpers //////////
125949
126084
 
@@ -126142,6 +126277,9 @@
126142
126277
  }
126143
126278
  function getPropertyValue(element, property) {
126144
126279
  const businessObject = getBusinessObject$2(element);
126280
+ if (!businessObject) {
126281
+ return;
126282
+ }
126145
126283
  const binding = property.binding,
126146
126284
  bindingName = binding.name,
126147
126285
  bindingType = binding.type;
@@ -126178,6 +126316,9 @@
126178
126316
  array.splice(index, 1);
126179
126317
  return array;
126180
126318
  }
126319
+ function hasMessageProperties(template) {
126320
+ return template.properties.some(p => MESSAGE_BINDING_TYPES.includes(p.binding.type));
126321
+ }
126181
126322
 
126182
126323
  class RemoveElementTemplateHandler {
126183
126324
  constructor(modeling, elementFactory, elementRegistry, canvas, bpmnFactory, replace, commandStack) {
@@ -126494,6 +126635,31 @@
126494
126635
  }
126495
126636
  }
126496
126637
 
126638
+ class CalledElementBindingProvider {
126639
+ static create(element, options) {
126640
+ const {
126641
+ property,
126642
+ bpmnFactory
126643
+ } = options;
126644
+ const {
126645
+ binding
126646
+ } = property;
126647
+ const {
126648
+ property: propertyName
126649
+ } = binding;
126650
+ const value = getDefaultValue(property);
126651
+ const calledElement = ensureExtension(element, 'zeebe:CalledElement', bpmnFactory);
126652
+
126653
+ // TODO(@barmac): remove if we decide to support propagation in templates
126654
+ ensureNoPropagation(calledElement);
126655
+ calledElement.set(propertyName, value);
126656
+ }
126657
+ }
126658
+ function ensureNoPropagation(calledElement) {
126659
+ calledElement.set('propagateAllChildVariables', false);
126660
+ calledElement.set('propagateAllParentVariables', false);
126661
+ }
126662
+
126497
126663
  class TemplateElementFactory {
126498
126664
  constructor(bpmnFactory, elementFactory) {
126499
126665
  this._bpmnFactory = bpmnFactory;
@@ -126507,7 +126673,8 @@
126507
126673
  [ZEEBE_OUTPUT_TYPE]: OutputBindingProvider,
126508
126674
  [ZEEBE_TASK_HEADER_TYPE]: TaskHeaderBindingProvider,
126509
126675
  [MESSAGE_PROPERTY_TYPE]: MessagePropertyBindingProvider,
126510
- [MESSAGE_ZEEBE_SUBSCRIPTION_PROPERTY_TYPE]: MessageZeebeSubscriptionBindingProvider
126676
+ [MESSAGE_ZEEBE_SUBSCRIPTION_PROPERTY_TYPE]: MessageZeebeSubscriptionBindingProvider,
126677
+ [ZEEBE_CALLED_ELEMENT]: CalledElementBindingProvider
126511
126678
  };
126512
126679
  }
126513
126680
 
@@ -128432,9 +128599,49 @@
128432
128599
  }
128433
128600
  GeneratedValueBehavior.$inject = ['eventBus', 'elementTemplates', 'modeling', 'commandStack', 'bpmnFactory'];
128434
128601
 
128602
+ /**
128603
+ * Enforces no variable propagation for templated call activities.
128604
+ */
128605
+ class CalledElementBehavior extends CommandInterceptor$1 {
128606
+ /**
128607
+ * @param {*} eventBus
128608
+ * @param {*} modeling
128609
+ * @param {import('./ElementTemplates').default} elementTemplates
128610
+ */
128611
+ constructor(eventBus, modeling, elementTemplates) {
128612
+ super(eventBus);
128613
+ this._modeling = modeling;
128614
+ this._elementTemplates = elementTemplates;
128615
+ this.postExecuted(['element.updateProperties', 'element.updateModdleProperties'], this._ensureNoPropagation, true, this);
128616
+ }
128617
+ _ensureNoPropagation(context) {
128618
+ const {
128619
+ element
128620
+ } = context;
128621
+ if (!this._elementTemplates.get(element)) {
128622
+ return;
128623
+ }
128624
+ if (!is$6(element, 'bpmn:CallActivity')) {
128625
+ return;
128626
+ }
128627
+ const calledElement = findExtension$1(element, 'zeebe:CalledElement');
128628
+ if (!calledElement) {
128629
+ return;
128630
+ }
128631
+ for (const property of ['propagateAllChildVariables', 'propagateAllParentVariables']) {
128632
+ if (calledElement.get(property) !== false) {
128633
+ this._modeling.updateModdleProperties(element, calledElement, {
128634
+ [property]: false
128635
+ });
128636
+ }
128637
+ }
128638
+ }
128639
+ }
128640
+ CalledElementBehavior.$inject = ['eventBus', 'modeling', 'elementTemplates'];
128641
+
128435
128642
  var index$1$1 = {
128436
128643
  __depends__: [commandsModule$1, templateElementFactoryModule, translateModule],
128437
- __init__: ['elementTemplatesLoader', 'replaceBehavior', 'elementTemplatesPropertiesProvider', 'elementTemplatesConditionChecker', 'generatedValueBehavior', 'referencedElementBehavior', 'updateTemplatePropertiesOrder'],
128644
+ __init__: ['elementTemplatesLoader', 'replaceBehavior', 'elementTemplatesPropertiesProvider', 'elementTemplatesConditionChecker', 'generatedValueBehavior', 'referencedElementBehavior', 'updateTemplatePropertiesOrder', 'calledElementBehavior'],
128438
128645
  elementTemplates: ['type', ElementTemplates],
128439
128646
  elementTemplatesLoader: ['type', ElementTemplatesLoader],
128440
128647
  replaceBehavior: ['type', ReplaceBehavior$1],
@@ -128442,7 +128649,8 @@
128442
128649
  elementTemplatesConditionChecker: ['type', ElementTemplatesConditionChecker],
128443
128650
  generatedValueBehavior: ['type', GeneratedValueBehavior],
128444
128651
  referencedElementBehavior: ['type', ReferencedElementBehavior],
128445
- updateTemplatePropertiesOrder: ['type', UpdateTemplatePropertiesOrder]
128652
+ updateTemplatePropertiesOrder: ['type', UpdateTemplatePropertiesOrder],
128653
+ calledElementBehavior: ['type', CalledElementBehavior]
128446
128654
  };
128447
128655
 
128448
128656
  /**