@wavemaker/app-ng-runtime 11.15.5-rc.267 → 11.15.5-rc.647813

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/build-task/bundles/index.umd.js +1 -1
  2. package/build-task/esm2022/data/form/form-field/form-field.build.mjs +2 -2
  3. package/build-task/fesm2022/index.mjs +1 -1
  4. package/build-task/fesm2022/index.mjs.map +1 -1
  5. package/components/base/bundles/index.umd.js +4 -4
  6. package/components/base/esm2022/utils/widget-utils.mjs +5 -5
  7. package/components/base/fesm2022/index.mjs +5 -5
  8. package/components/base/fesm2022/index.mjs.map +1 -1
  9. package/components/containers/accordion/accordion-pane/accordion-pane.component.d.ts +0 -2
  10. package/components/containers/accordion/bundles/index.umd.js +0 -5
  11. package/components/containers/accordion/esm2022/accordion-pane/accordion-pane.component.mjs +1 -6
  12. package/components/containers/accordion/fesm2022/index.mjs +1 -6
  13. package/components/containers/accordion/fesm2022/index.mjs.map +1 -1
  14. package/components/containers/tabs/bundles/index.umd.js +1 -1
  15. package/components/containers/tabs/esm2022/tabs.animator.mjs +2 -2
  16. package/components/containers/tabs/fesm2022/index.mjs +1 -1
  17. package/components/containers/tabs/fesm2022/index.mjs.map +1 -1
  18. package/components/data/form/bundles/index.umd.js +11 -15
  19. package/components/data/form/esm2022/form-field/form-field.directive.mjs +12 -16
  20. package/components/data/form/fesm2022/index.mjs +11 -15
  21. package/components/data/form/fesm2022/index.mjs.map +1 -1
  22. package/components/data/form/form-field/form-field.directive.d.ts +1 -1
  23. package/components/data/pagination/bundles/index.umd.js +2 -2
  24. package/components/data/pagination/esm2022/pagination.component.mjs +3 -3
  25. package/components/data/pagination/fesm2022/index.mjs +2 -2
  26. package/components/data/pagination/fesm2022/index.mjs.map +1 -1
  27. package/components/data/table/bundles/index.umd.js +2 -13
  28. package/components/data/table/esm2022/table.component.mjs +3 -14
  29. package/components/data/table/fesm2022/index.mjs +2 -13
  30. package/components/data/table/fesm2022/index.mjs.map +1 -1
  31. package/components/dialogs/login-dialog/bundles/index.umd.js +1 -1
  32. package/components/dialogs/login-dialog/esm2022/login-dialog.directive.mjs +2 -2
  33. package/components/dialogs/login-dialog/fesm2022/index.mjs +1 -1
  34. package/components/dialogs/login-dialog/fesm2022/index.mjs.map +1 -1
  35. package/components/input/calendar/fesm2022/index.mjs +1 -1
  36. package/components/input/chips/fesm2022/index.mjs +1 -1
  37. package/components/input/dataset-aware-form/fesm2022/index.mjs +1 -1
  38. package/components/input/epoch/base-date-time/bundles/index.umd.js +1 -2
  39. package/components/input/epoch/base-date-time/esm2022/base-date-time.component.mjs +2 -3
  40. package/components/input/epoch/base-date-time/fesm2022/index.mjs +1 -2
  41. package/components/input/epoch/base-date-time/fesm2022/index.mjs.map +1 -1
  42. package/components/navigation/menu/fesm2022/index.mjs +1 -1
  43. package/core/bundles/index.umd.js +4 -0
  44. package/core/esm2022/utils/utils.mjs +5 -1
  45. package/core/fesm2022/index.mjs +4 -0
  46. package/core/fesm2022/index.mjs.map +1 -1
  47. package/npm-shrinkwrap.json +2 -2
  48. package/package-lock.json +2 -2
  49. package/package.json +1 -1
  50. package/runtime/base/bundles/index.umd.js +1 -1
  51. package/runtime/base/esm2022/services/app.manager.service.mjs +2 -2
  52. package/runtime/base/fesm2022/index.mjs +1 -1
  53. package/runtime/base/fesm2022/index.mjs.map +1 -1
  54. package/runtime/dynamic/fesm2022/index.mjs +2 -2
  55. package/scripts/datatable/datatable.js +1 -14
  56. package/transpiler/bundles/index.umd.js +2 -2
  57. package/transpiler/esm2022/build.mjs +3 -3
  58. package/transpiler/fesm2022/index.mjs +2 -2
  59. package/transpiler/fesm2022/index.mjs.map +1 -1
  60. package/variables/bundles/index.umd.js +17 -98
  61. package/variables/esm2022/constants/variables.constants.mjs +6 -6
  62. package/variables/esm2022/factory/variable-manager.factory.mjs +5 -5
  63. package/variables/esm2022/service/variables.service.mjs +4 -16
  64. package/variables/esm2022/util/variable/service-variable.utils.mjs +7 -25
  65. package/variables/esm2022/util/variable/variables.utils.mjs +2 -52
  66. package/variables/fesm2022/index.mjs +18 -99
  67. package/variables/fesm2022/index.mjs.map +1 -1
  68. package/variables/service/variables.service.d.ts +1 -2
  69. package/variables/util/variable/variables.utils.d.ts +0 -7
@@ -1148,7 +1148,7 @@
1148
1148
  else {
1149
1149
  setDefaultPlaceholder(attrs, widgetType, 2);
1150
1150
  }
1151
- return `<${tagName$Z} data-role="${dataRole}" [formGroup]="${pCounter}.ngform" wmFormField wmCaptionPosition #${counter}="wmFormField" widgettype="${widgetType}" [hidden]="!${counter}.show" ${transpiler.getFormMarkupAttr(attrs)}>
1151
+ return `<${tagName$Z} data-role="${dataRole}" [formGroup]="${pCounter}.ngform" wmFormField wmCaptionPosition #${counter}="wmFormField" widgettype="${widgetType}" ${transpiler.getFormMarkupAttr(attrs)}>
1152
1152
  <div class="live-field form-group app-composite-widget clearfix caption-{{${pCounter}.captionposition}}" widget="${widgetType}">
1153
1153
  <label [hidden]="!${counter}.displayname" class="app-label control-label formfield-label {{${pCounter}._captionClass}}"
1154
1154
  [ngStyle]="{width: ${pCounter}.captionsize}" [ngClass]="{'text-danger': ${counter}._control?.invalid && ${counter}._control?.touched && ${pCounter}.isUpdateMode,
@@ -134,7 +134,7 @@ const registerFormField = (isFormField) => {
134
134
  else {
135
135
  setDefaultPlaceholder(attrs, widgetType, 2);
136
136
  }
137
- return `<${tagName} data-role="${dataRole}" [formGroup]="${pCounter}.ngform" wmFormField wmCaptionPosition #${counter}="wmFormField" widgettype="${widgetType}" [hidden]="!${counter}.show" ${getFormMarkupAttr(attrs)}>
137
+ return `<${tagName} data-role="${dataRole}" [formGroup]="${pCounter}.ngform" wmFormField wmCaptionPosition #${counter}="wmFormField" widgettype="${widgetType}" ${getFormMarkupAttr(attrs)}>
138
138
  <div class="live-field form-group app-composite-widget clearfix caption-{{${pCounter}.captionposition}}" widget="${widgetType}">
139
139
  <label [hidden]="!${counter}.displayname" class="app-label control-label formfield-label {{${pCounter}._captionClass}}"
140
140
  [ngStyle]="{width: ${pCounter}.captionsize}" [ngClass]="{'text-danger': ${counter}._control?.invalid && ${counter}._control?.touched && ${pCounter}.isUpdateMode,
@@ -170,4 +170,4 @@ const registerFormField = (isFormField) => {
170
170
  register('wm-form-field', registerFormField.bind(this, true));
171
171
  register('wm-filter-field', registerFormField.bind(this, false));
172
172
  export default () => { };
173
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5idWlsZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvdHJhbnNwaWxlL3NyYy9kYXRhL2Zvcm0vZm9ybS1maWVsZC9mb3JtLWZpZWxkLmJ1aWxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxpQkFBaUIsRUFBaUIsUUFBUSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUUsT0FBTyxFQUNILGNBQWMsRUFDZCxZQUFZLEVBQ1oscUJBQXFCLEVBQ3JCLHFCQUFxQixFQUNyQixXQUFXLEVBQ2QsTUFBTSxVQUFVLENBQUM7QUFFbEIsT0FBTyxFQUFDLFNBQVMsRUFBRSxlQUFlLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUVoRSxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUM7QUFDdEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUM7QUFFNUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLEtBQUssRUFBRSxFQUFFO0lBQ2hDLE1BQU0sVUFBVSxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7SUFDN0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztRQUM1QixLQUFLLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQztRQUMzQixLQUFLLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBQ0QsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsRUFBRTtRQUMxQixJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUN6QixJQUFJ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QUFRLENBQUMsVUFBaUIsQ0FBQyxFQUFFLENBQUM7Z0JBQzFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDL0IsQ0FBQztZQUVELE9BQU8sQ0FBQyxjQUFjLEVBQUUsU0FBUyxFQUFFLEdBQUcsV0FBVyxDQUFDLENBQUM7UUFDdkQsQ0FBQztLQUNKLENBQUM7QUFDTixDQUFDLENBQUM7QUFFRixRQUFRLENBQUMsZUFBZSxFQUFFLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUM5RCxRQUFRLENBQUMsaUJBQWlCLEVBQUUsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBRWpFLGVBQWUsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtnZXRGb3JtTWFya3VwQXR0ciwgSUJ1aWxkVGFza0RlZiwgcmVnaXN0ZXJ9IGZyb20gJ0B3bS90cmFuc3BpbGVyJztcbmltcG9ydCB7XG4gICAgRm9ybVdpZGdldFR5cGUsXG4gICAgZ2VuZXJhdGVHVUlkLFxuICAgIGdldEZvcm1XaWRnZXRUZW1wbGF0ZSxcbiAgICBnZXRSZXF1aXJlZEZvcm1XaWRnZXQsXG4gICAgSURHZW5lcmF0b3Jcbn0gZnJvbSAnQHdtL2NvcmUnO1xuXG5pbXBvcnQge0FMTEZJRUxEUywgaXNEYXRhU2V0V2lkZ2V0fSBmcm9tICcuLi8uLi8uLi91dGlscy91dGlscyc7XG5cbmNvbnN0IHRhZ05hbWUgPSAnZGl2JztcbmNvbnN0IGlkR2VuID0gbmV3IElER2VuZXJhdG9yKCdmb3JtZmllbGRfJyk7XG5cbmNvbnN0IGdldEV2ZW50c1RlbXBsYXRlID0gKGF0dHJzKSA9PiB7XG4gICAgY29uc3QgZXZlbnRBdHRycyA9IG5ldyBNYXAoKTtcbiAgICBpZiAoIWF0dHJzLmhhcygnZm9jdXMuZXZlbnQnKSkge1xuICAgICAgICBhdHRycy5zZXQoJ2ZvY3VzLmV2ZW50JywgJycpO1xuICAgIH1cbiAgICBpZiAoIWF0dHJzLmhhcygnYmx1ci5ldmVudCcpKSB7XG4gICAgICAgIGF0dHJzLnNldCgnYmx1ci5ldmVudCcsICcnKTtcbiAgICB9XG4gICAgYXR0cnMuZm9yRWFjaCgodmFsdWUsIGtleSkgPT4ge1xuICAgICAgIGlmIChrZXkuZW5kc1dpdGgoJy5ldmVudCcpKSB7XG4gICAgICAgICAgIGlmIChrZXkgPT09ICdmb2N1cy5ldmVudCcpIHtcbiAgICAgICAgICAgICAgIHZhbHVlID0gYF9vbkZvY3VzRmllbGQoJGV2ZW50KTske3ZhbHVlfWA7XG4gICAgICAgICAgIH0gZWxzZSBpZiAoa2V5ID09PSAnYmx1ci5ldmVudCcpIHtcbiAgICAgICAgICAgICAgIHZhbHVlID0gYF9vbkJsdXJGaWVsZCgkZXZlbnQpOyR7dmFsdWV9YDtcbiAgICAgICAgICAgfVxuICAgICAgICAgICBldmVudEF0dHJzLnNldChrZXksIHZhbHVlKTtcbiAgICAgICAgICAgYXR0cnMuZGVsZXRlKGtleSk7XG4gICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBnZXRGb3JtTWFya3VwQXR0cihldmVudEF0dHJzKTtcbn07XG5cbmNvbnN0IERFRkFVTFRfUExBQ0VIT0xERVJTID0gbmV3IE1hcChbXG4gICAgW0Zvcm1XaWRnZXRUeXBlLlNFTEVDVCwgWydTZWxlY3QgTWluIHZhbHVlJywgJ1NlbGVjdCBNYXggdmFsdWUnLCAnU2VsZWN0IHZhbHVlJ11dLFxuICAgIFtGb3JtV2lkZ2V0VHlwZS5EQVRFVElNRSwgWydTZWxlY3QgTWluIGRhdGUgdGltZScsICdTZWxlY3QgTWF4IGRhdGUgdGltZScsICdTZWxlY3QgZGF0ZSB0aW1lJ11dLFxuICAgIFtGb3JtV2lkZ2V0VHlwZS5USU1FLCBbJ1NlbGVjdCBNaW4gdGltZScsICdTZWxlY3QgTWF4IHRpbWUnLCAnU2VsZWN0IHRpbWUnXV0sXG4gICAgW0Zvcm1XaWRnZXRUeXBlLkRBVEUsIFsnU2VsZWN0IE1pbiBkYXRlJywgJ1NlbGVjdCBNYXggZGF0ZScsICdTZWxlY3QgZGF0ZSddXSxcbiAgICBbRm9ybVdpZGdldFR5cGUuVEVYVEFSRUEsIFsnJywgJycsICdFbnRlciB2YWx1ZSddXSxcbiAgICBbRm9ybVdpZGdldFR5cGUuUklDSFRFWFQsIFsnJywgJycsICdFbnRlciB2YWx1ZSddXSxcbiAgICBbRm9ybVdpZGdldFR5cGUuQ09MT1JQSUNLRVIsIFsnU2VsZWN0IENvbG9yJywgJ1NlbGVjdCBDb2xvcicsICdTZWxlY3QgQ29sb3InXV0sXG4gICAgW0Zvcm1XaWRnZXRUeXBlLkNISVBTLCBbJycsICcnLCAnVHlwZSBoZXJlLi4uJ11dLFxuICAgIFtGb3JtV2lkZ2V0VHlwZS5QQVNTV09SRCwgWydFbnRlciBNaW4gdmFsdWUnLCAnRW50ZXIgTWF4IHZhbHVlJywgJ0VudGVyIHZhbHVlJ11dLFxuICAgIFtGb3JtV2lkZ2V0VHlwZS5OVU1CRVIsIFsnRW50ZXIgTWluIHZhbHVlJywgJ0VudGVyIE1heCB2YWx1ZScsICdFbnRlciB2YWx1ZSddXSxcbiAgICBbRm9ybVdpZGdldFR5cGUuVEVYVCwgWydFbnRlciBNaW4gdmFsdWUnLCAnRW50ZXIgTWF4IHZhbHVlJywgJ0VudGVyIHZhbHVlJ11dLFxuICAgIFtGb3JtV2lkZ2V0VHlwZS5DVVJSRU5DWSwgWydFbnRlciBNaW4gdmFsdWUnLCAnRW50ZXIgTWF4IHZhbHVlJywgJ0VudGVyIHZhbHVlJ11dLFxuICAgIFtGb3JtV2lkZ2V0VHlwZS5BVVRPQ09NUExFVEUsIFsnJywgJycsICdTZWFyY2gnXV0sXG5dKTtcblxuY29uc3Qgc2V0RGVmYXVsdFBsYWNlaG9sZGVyID0gKGF0dHJzLCB3aWRnZXRUeXBlLCBpbmRleCkgPT4ge1xuICAgIGNvbnN0IHByb3AgPSBpbmRleCA9PT0gMSA/ICdtYXhwbGFjZWhvbGRlcicgOiAncGxhY2Vob2xkZXInO1xuICAgIGxldCBwbGFjZWhvbGRlciA9IGF0dHJzLmdldChwcm9wKTtcbiAgICBpZiAocGxhY2Vob2xkZXIgfHwgcGxhY2Vob2xkZXIgPT09ICcnKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgcGxhY2Vob2xkZXIgPSBERUZBVUxUX1BMQUNFSE9MREVSUy5nZXQod2lkZ2V0VHlwZSkgJiYgREVGQVVMVF9QTEFDRUhPTERFUlMuZ2V0KHdpZGdldFR5cGUpW2luZGV4XTtcbiAgICBpZiAocGxhY2Vob2xkZXIpIHtcbiAgICAgICAgYXR0cnMuc2V0KHByb3AsIHBsYWNlaG9sZGVyKTtcbiAgICB9XG59O1xuXG5jb25zdCBnZXRXaWRnZXRUZW1wbGF0ZSA9IChhdHRycywgb3B0aW9ucykgPT4ge1xuICAgIGxldCBjdXN0b21BdHRycyA9IGBgO1xuICAgIGlmKG9wdGlvbnMud2lkZ2V0VHlwZSA9PT0gXCJjdXN0b20td2lkZ2V0XCIpIHtcbiAgICAgICAgZm9yIChsZXQgW2tleSwgdmFsdWVdIG9mIGF0dHJzKSB7XG4gICAgICAgICAgICBpZihrZXkuc3RhcnRzV2l0aCgncHJvcC0nKSlcbiAgICAgICAgICAgICAgICBjdXN0b21BdHRycyArPSBrZXkgKyAnPVwiJyArIHZhbHVlICsgJ1wiICc7XG4gICAgICAgIH1cbiAgICB9XG4gICAgY29uc3QgbmFtZSA9IGF0dHJzLmdldCgnbmFtZScpO1xuICAgIGNvbnN0IGN1c3RvbVdpZGdldE5hbWUgPSBhdHRycy5nZXQoJ3dpZGdldG5hbWUnKTtcbiAgICBjb25zdCBmaWVsZE5hbWUgPSAoYXR0cnMuZ2V0KCdrZXknKSB8fCBuYW1lIHx8ICcnKS50cmltKCk7XG4gICAgY29uc3QgZm9ybUNvbnRyb2wgPSBvcHRpb25zLmlzTWF4V2lkZ2V0ID8gYGZvcm1Db250cm9sTmFtZT1cIiR7ZmllbGROYW1lfV9tYXhcImAgOiAob3B0aW9ucy5pc0luTGlzdCA/IGBbZm9ybUNvbnRyb2xOYW1lXT1cIiR7b3B0aW9ucy5jb3VudGVyfS5fZmllbGROYW1lXCJgIDogYGZvcm1Db250cm9sTmFtZT1cIiR7ZmllbGROYW1lfVwiYCk7XG4gICAgY29uc3QgdG1wbFJlZiA9IG9wdGlvbnMuaXNNYXhXaWRnZXQgPyBgI2Zvcm1XaWRnZXRNYXhgIDogYCNmb3JtV2lkZ2V0YDtcbiAgICBjb25zdCB3aWRnZXROYW1lID0gbmFtZSA/IChvcHRpb25zLmlzTWF4V2lkZ2V0ID8gYG5hbWU9XCIke25hbWV9X2Zvcm1XaWRnZXRNYXhcImAgOiBgbmFtZT1cIiR7bmFtZX1fZm9ybVdpZGdldFwiYCkgOiAnJztcbiAgICBjb25zdCBjb25kaXRpb25hbENsYXNzID0gYFtuZ0NsYXNzXT1cIiR7YXR0cnMuZ2V0KCduZ2NsYXNzJyl9XCJgO1xuICAgIGNvbnN0IGRlZmF1bHRUbXBsID0gYFtjbGFzcy5oaWRkZW5dPVwiISR7b3B0aW9ucy5wQ291bnRlcn0uaXNVcGRhdGVNb2RlICYmICR7b3B0aW9ucy5jb3VudGVyfS52aWV3bW9kZXdpZGdldCAhPT0gJ2RlZmF1bHQnXCIgJHtmb3JtQ29udHJvbH0gJHtvcHRpb25zLmV2ZW50c1RtcGx9ICR7Y29uZGl0aW9uYWxDbGFzc30gJHt0bXBsUmVmfSAke3dpZGdldE5hbWV9ICR7Y3VzdG9tV2lkZ2V0TmFtZSA/IGB3aWRnZXRuYW1lPSR7Y3VzdG9tV2lkZ2V0TmFtZX0gJHtjdXN0b21BdHRyc31gOicnfWAgO1xuICAgIHJldHVybiBnZXRGb3JtV2lkZ2V0VGVtcGxhdGUob3B0aW9ucy53aWRnZXRUeXBlLCBkZWZhdWx0VG1wbCwgYXR0cnMsIHtjb3VudGVyOiBvcHRpb25zLmNvdW50ZXIsIHBDb3VudGVyOiBvcHRpb25zLnBDb3VudGVyfSk7XG59O1xuXG5cbmNvbnN0IGdldFRlbXBsYXRlID0gKGF0dHJzLCB3aWRnZXRUeXBlLCBldmVudHNUbXBsLCBjb3VudGVyLCBwQ291bnRlciwgaXNJbkxpc3QpID0+IHtcbiAgICBjb25zdCBpc1JhbmdlID0gYXR0cnMuZ2V0KCdpcy1yYW5nZScpID09PSAndHJ1ZSc7XG4gICAgaWYgKCFpc1JhbmdlKSB7XG4gICAgICAgIHJldHVybiBnZXRXaWRnZXRUZW1wbGF0ZShhdHRycywge3dpZGdldFR5cGUsIGV2ZW50c1RtcGwsIGNvdW50ZXIsIHBDb3VudGVyLCBpc0luTGlzdH0pO1xuICAgIH1cbiAgICBjb25zdCBsYXlvdXRDbGFzcyA9ICdjb2wtc20tNic7XG4gICAgcmV0dXJuIGA8ZGl2IGNsYXNzPVwiJHtsYXlvdXRDbGFzc31cIj4ke2dldFdpZGdldFRlbXBsYXRlKGF0dHJzLCB7d2lkZ2V0VHlwZSwgZXZlbnRzVG1wbCwgY291bnRlciwgcENvdW50ZXJ9KX08L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiJHtsYXlvdXRDbGFzc31cIj4ke2dldFdpZGdldFRlbXBsYXRlKGF0dHJzLCB7d2lkZ2V0VHlwZSwgZXZlbnRzVG1wbCwgY291bnRlciwgcENvdW50ZXIsIGlzTWF4V2lkZ2V0OiB0cnVlfSl9PC9kaXY+YDtcbn07XG5cbmNvbnN0IGdldENhcHRpb25CeVdpZGdldCA9IChhdHRycywgd2lkZ2V0VHlwZSwgY291bnRlcikgPT4ge1xuICAgIGlmIChhdHRycy5nZXQoJ2lzLXJlbGF0ZWQnKSA9PT0gJ3RydWUnKSB7XG4gICAgICAgIHJldHVybiBgJHtjb3VudGVyfS5nZXREaXNwbGF5RXhwcigpYDtcbiAgICB9XG4gICAgaWYgKHdpZGdldFR5cGUgPT09IEZvcm1XaWRnZXRUeXBlLlBBU1NXT1JEKSB7XG4gICAgICAgIHJldHVybiAnXFwnKioqKioqKipcXCcnO1xuICAgIH1cbiAgICBsZXQgY2FwdGlvbiA9IGAke2NvdW50ZXJ9LnZhbHVlYDtcbiAgICBpZiAod2lkZ2V0VHlwZSA9PT0gRm9ybVdpZGdldFR5cGUuREFURVRJTUUgfHwgd2lkZ2V0VHlwZSA9PT0gRm9ybVdpZGdldFR5cGUuVElNRVNUQU1QKSB7XG4gICAgICAgIGNhcHRpb24gKz0gYCB8IHRvRGF0ZToke2NvdW50ZXJ9LmZvcm1XaWRnZXQuZGF0ZXBhdHRlcm4gfHwgJ3l5eXktTU0tZGQgaGg6bW06c3MgYSdgO1xuICAgICAgICByZXR1cm4gY2FwdGlvbjtcbiAgICB9XG4gICAgaWYgKHdpZGdldFR5cGUgPT09IEZvcm1XaWRnZXRUeXBlLlRJTUUpIHtcbiAgICAgICAgY2FwdGlvbiArPSBgIHwgdG9EYXRlOiR7Y291bnRlcn0uZm9ybVdpZGdldC50aW1lcGF0dGVybiB8fCAnaGg6bW0gYSdgO1xuICAgICAgICByZXR1cm4gY2FwdGlvbjtcbiAgICB9XG4gICAgaWYgKHdpZGdldFR5cGUgPT09IEZvcm1XaWRnZXRUeXBlLkRBVEUpIHtcbiAgICAgICAgY2FwdGlvbiArPSBgIHwgdG9EYXRlOiR7Y291bnRlcn0uZm9ybVdpZGdldC5kYXRlcGF0dGVybiB8fCAgJ3l5eXktTU1NLWRkJ2A7XG4gICAgICAgIHJldHVybiBjYXB0aW9uO1xuICAgIH1cbiAgICBpZiAod2lkZ2V0VHlwZSA9PT0gRm9ybVdpZGdldFR5cGUuUkFUSU5HIHx8IHdpZGdldFR5cGUgPT09IEZvcm1XaWRnZXRUeXBlLlVQTE9BRCkge1xuICAgICAgICByZXR1cm4gJyc7XG4gICAgfVxuICAgIGlmIChpc0RhdGFTZXRXaWRnZXQod2lkZ2V0VHlwZSkgJiYgYXR0cnMuZ2V0KCdkYXRhZmllbGQnKSA9PT0gQUxMRklFTERTKSB7XG4gICAgICAgIHJldHVybiBgJHtjb3VudGVyfS5nZXREaXNwbGF5RXhwcigpYDtcbiAgICB9XG4gICAgcmV0dXJuIGAke2NvdW50ZXJ9LmdldENhcHRpb24oKWA7XG59O1xuXG5jb25zdCByZWdpc3RlckZvcm1GaWVsZCA9IChpc0Zvcm1GaWVsZCk6IElCdWlsZFRhc2tEZWYgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICAgIHJlcXVpcmVzOiBbJ3dtLWZvcm0nLCAnd20tbGl2ZWZvcm0nLCAnd20tbGl2ZWZpbHRlcicsICd3bS1saXN0J10sXG4gICAgICAgIHByZTogKGF0dHJzLCBzaGFyZWQsIHBhcmVudEZvcm0sIHBhcmVudExpdmVGb3JtLCBwYXJlbnRGaWx0ZXIsIHBhcmVudExpc3QpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNvdW50ZXIgPSBpZEdlbi5uZXh0VWlkKCk7XG4gICAgICAgICAgICBjb25zdCBwYXJlbnQgPSBwYXJlbnRGb3JtIHx8IHBhcmVudExpdmVGb3JtIHx8IHBhcmVudEZpbHRlcjtcbiAgICAgICAgICAgIGNvbnN0IHBDb3VudGVyID0gKHBhcmVudCAmJiBwYXJlbnQuZ2V0KCdmb3JtX3JlZmVyZW5jZScpKSB8fCAnZm9ybSc7XG4gICAgICAgICAgICBjb25zdCB3aWRnZXRUeXBlID0gYXR0cnMuZ2V0KCd3aWRnZXQnKSB8fCBGb3JtV2lkZ2V0VHlwZS5URVhUO1xuICAgICAgICAgICAgY29uc3QgZGF0YVJvbGUgPSBpc0Zvcm1GaWVsZCA/ICdmb3JtLWZpZWxkJyA6ICdmaWx0ZXItZmllbGQnO1xuICAgICAgICAgICAgY29uc3QgZm9ybUZpZWxkRXJyb3JNc2dJZCA9ICd3bWZvcm0tZmllbGQtZXJyb3ItJyArIGdlbmVyYXRlR1VJZCgpO1xuICAgICAgICAgICAgY29uc3QgdmFsaWRhdGlvbk1zZyA9IGBAaWYgKCR7Y291bnRlcn0uX2NvbnRyb2w/LmludmFsaWQgJiYgJHtjb3VudGVyfS5fY29udHJvbD8udG91Y2hlZCAmJiAke3BDb3VudGVyfS5pc1VwZGF0ZU1vZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJoZWxwLWJsb2NrIHRleHQtZGFuZ2VyXCIgYXJpYS1oaWRkZW49XCJmYWxzZVwiIHJvbGU9XCJhbGVydFwiIGFyaWEtbGl2ZT1cImFzc2VydGl2ZVwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJHtjb3VudGVyfS52YWxpZGF0aW9ubWVzc2FnZVwiIGlkPVwiJHtmb3JtRmllbGRFcnJvck1zZ0lkfVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIFt0ZXh0Q29udGVudF09XCIke2NvdW50ZXJ9LnZhbGlkYXRpb25tZXNzYWdlXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+fWA7XG4gICAgICAgICAgICBjb25zdCBldmVudHNUbXBsID0gd2lkZ2V0VHlwZSA9PT0gRm9ybVdpZGdldFR5cGUuVVBMT0FEID8gJycgOiBnZXRFdmVudHNUZW1wbGF0ZShhdHRycyk7XG4gICAgICAgICAgICBjb25zdCBjb250cm9sTGF5b3V0ID0gJ2NvbC1zbS0xMic7XG4gICAgICAgICAgICBjb25zdCBpc0luTGlzdCA9IHBDb3VudGVyID09PSAocGFyZW50TGlzdCAmJiBwYXJlbnRMaXN0LmdldCgncGFyZW50X2Zvcm1fcmVmZXJlbmNlJykpO1xuICAgICAgICAgICAgYXR0cnMuc2V0KCdfX3ZhbGlkYXRpb25JZCcsIGZvcm1GaWVsZEVycm9yTXNnSWQpO1xuICAgICAgICAgICAgYXR0cnMuc2V0KCdfX3dpZGdldFR5cGUnLCB3aWRnZXRUeXBlKTtcbiAgICAgICAgICAgIGF0dHJzLmRlbGV0ZSgnd2lkZ2V0Jyk7XG4gICAgICAgICAgICBzaGFyZWQuc2V0KCdjb3VudGVyJywgY291bnRlcik7XG5cbiAgICAgICAgICAgIGlmIChhdHRycy5nZXQoJ2lzLXJhbmdlJykgPT09ICd0cnVlJykge1xuICAgICAgICAgICAgICAgIHNldERlZmF1bHRQbGFjZWhvbGRlcihhdHRycywgd2lkZ2V0VHlwZSwgMCk7XG4gICAgICAgICAgICAgICAgc2V0RGVmYXVsdFBsYWNlaG9sZGVyKGF0dHJzLCB3aWRnZXRUeXBlLCAxKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgc2V0RGVmYXVsdFBsYWNlaG9sZGVyKGF0dHJzLCB3aWRnZXRUeXBlLCAyKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGA8JHt0YWdOYW1lfSBkYXRhLXJvbGU9XCIke2RhdGFSb2xlfVwiIFtmb3JtR3JvdXBdPVwiJHtwQ291bnRlcn0ubmdmb3JtXCIgd21Gb3JtRmllbGQgd21DYXB0aW9uUG9zaXRpb24gIyR7Y291bnRlcn09XCJ3bUZvcm1GaWVsZFwiIHdpZGdldHR5cGU9XCIke3dpZGdldFR5cGV9XCIgW2hpZGRlbl09XCIhJHtjb3VudGVyfS5zaG93XCIgJHtnZXRGb3JtTWFya3VwQXR0cihhdHRycyl9PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxpdmUtZmllbGQgZm9ybS1ncm91cCBhcHAtY29tcG9zaXRlLXdpZGdldCBjbGVhcmZpeCBjYXB0aW9uLXt7JHtwQ291bnRlcn0uY2FwdGlvbnBvc2l0aW9ufX1cIiB3aWRnZXQ9XCIke3dpZGdldFR5cGV9XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIFtoaWRkZW5dPVwiISR7Y291bnRlcn0uZGlzcGxheW5hbWVcIiBjbGFzcz1cImFwcC1sYWJlbCBjb250cm9sLWxhYmVsIGZvcm1maWVsZC1sYWJlbCB7eyR7cENvdW50ZXJ9Ll9jYXB0aW9uQ2xhc3N9fVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nU3R5bGVdPVwie3dpZHRoOiAke3BDb3VudGVyfS5jYXB0aW9uc2l6ZX1cIiBbbmdDbGFzc109XCJ7J3RleHQtZGFuZ2VyJzogJHtjb3VudGVyfS5fY29udHJvbD8uaW52YWxpZCAmJiAke2NvdW50ZXJ9Ll9jb250cm9sPy50b3VjaGVkICYmICR7cENvdW50ZXJ9LmlzVXBkYXRlTW9kZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICR7cENvdW50ZXJ9LmlzVXBkYXRlTW9kZSAmJiAke2NvdW50ZXJ9LnJlcXVpcmVkfVwiIFt0ZXh0Q29udGVudF09XCIke2NvdW50ZXJ9LmRpc3BsYXluYW1lXCI+IDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBbbmdDbGFzc109XCIke2NvdW50ZXJ9LmRpc3BsYXluYW1lID8gJHtwQ291bnRlcn0uX3dpZGdldENsYXNzIDogJyR7Y29udHJvbExheW91dH0nXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZvcm0tY29udHJvbC1zdGF0aWMgYXBwLWxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtoaWRkZW5dPVwiJHtwQ291bnRlcn0uaXNVcGRhdGVNb2RlIHx8ICR7Y291bnRlcn0udmlld21vZGV3aWRnZXQgPT09ICdkZWZhdWx0JyB8fCAke2NvdW50ZXJ9LndpZGdldHR5cGUgPT09ICd1cGxvYWQnXCIgW2lubmVySFRNTF09XCIke2dldENhcHRpb25CeVdpZGdldChhdHRycywgd2lkZ2V0VHlwZSwgY291bnRlcil9XCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke2dldFRlbXBsYXRlKGF0dHJzLCB3aWRnZXRUeXBlLCBldmVudHNUbXBsLCBjb3VudGVyLCBwQ291bnRlciwgaXNJbkxpc3QpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYoJHtjb3VudGVyfS5zaG93UGVuZGluZ1NwaW5uZXIpeyA8c3BhbiBhcmlhLWhpZGRlbj1cInRydWVcIiBjbGFzcz1cImZvcm0tZmllbGQtc3Bpbm5lciBmYSBmYS1jaXJjbGUtby1ub3RjaCBmYS1zcGluIGZvcm0tY29udHJvbC1mZWVkYmFja1wiPjwvc3Bhbj59XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZighKCR7Y291bnRlcn0uX2NvbnRyb2w/LmludmFsaWQgJiYgJHtjb3VudGVyfS5fY29udHJvbD8udG91Y2hlZCkgJiYgJHtwQ291bnRlcn0uaXNVcGRhdGVNb2RlKXsgPHAgY2xhc3M9XCJoZWxwLWJsb2NrXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgcm9sZT1cImFsZXJ0XCIgYXJpYS1saXZlPVwicG9saXRlXCIgW3RleHRDb250ZW50XT1cIiR7Y291bnRlcn0uaGludFwiPjwvcD4gfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke3ZhbGlkYXRpb25Nc2d9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5gO1xuICAgICAgICB9LFxuICAgICAgICBwb3N0OiAoKSA9PiBgPC8ke3RhZ05hbWV9PmAsXG4gICAgICAgIHByb3ZpZGU6IChhdHRycywgc2hhcmVkKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBwcm92aWRlciA9IG5ldyBNYXAoKTtcbiAgICAgICAgICAgIHByb3ZpZGVyLnNldCgnZm9ybV9yZWZlcmVuY2UnLCBzaGFyZWQuZ2V0KCdjb3VudGVyJykpO1xuICAgICAgICAgICAgcmV0dXJuIHByb3ZpZGVyO1xuICAgICAgICB9LFxuICAgICAgICBpbXBvcnRzOiAoYXR0cnM6IE1hcDxTdHJpbmcsIFN0cmluZz4pOiBzdHJpbmdbXSA9PiB7XG4gICAgICAgICAgICBjb25zdCB3aWRnZXRUeXBlID0gYXR0cnMuZ2V0KCdfX3dpZGdldFR5cGUnKSB8fCBhdHRycy5nZXQoJ3R5cGUnKTtcbiAgICAgICAgICAgIGNvbnN0IHJlcXVpcmVkV2lkZ2V0ID0gZ2V0UmVxdWlyZWRGb3JtV2lkZ2V0KHdpZGdldFR5cGUpO1xuICAgICAgICAgICAgYXR0cnMuZGVsZXRlKCdfX3dpZGdldFR5cGUnKTtcblxuICAgICAgICAgICAgbGV0IHBpcGVJbXBvcnRzID0gW107XG4gICAgICAgICAgICBpZiAod2lkZ2V0VHlwZSAmJiBbRm9ybVdpZGdldFR5cGUuREFURSwgRm9ybVdpZGdldFR5cGUuREFURVRJTUUsIEZvcm1XaWRnZXRUeXBlLlRJTUUsIEZvcm1XaWRnZXRUeXBlLlRJTUVTVEFNUF0uaW5jbHVkZXMod2lkZ2V0VHlwZSBhcyBhbnkpKSB7XG4gICAgICAgICAgICAgICAgcGlwZUltcG9ydHMucHVzaCgndG9EYXRlJyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBbcmVxdWlyZWRXaWRnZXQsICd3bS1mb3JtJywgLi4ucGlwZUltcG9ydHNdO1xuICAgICAgICB9XG4gICAgfTtcbn07XG5cbnJlZ2lzdGVyKCd3bS1mb3JtLWZpZWxkJywgcmVnaXN0ZXJGb3JtRmllbGQuYmluZCh0aGlzLCB0cnVlKSk7XG5yZWdpc3Rlcignd20tZmlsdGVyLWZpZWxkJywgcmVnaXN0ZXJGb3JtRmllbGQuYmluZCh0aGlzLCBmYWxzZSkpO1xuXG5leHBvcnQgZGVmYXVsdCAoKSA9PiB7fTtcbiJdfQ==
173
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5idWlsZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvdHJhbnNwaWxlL3NyYy9kYXRhL2Zvcm0vZm9ybS1maWVsZC9mb3JtLWZpZWxkLmJ1aWxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxpQkFBaUIsRUFBaUIsUUFBUSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUUsT0FBTyxFQUNILGNBQWMsRUFDZCxZQUFZLEVBQ1oscUJBQXFCLEVBQ3JCLHFCQUFxQixFQUNyQixXQUFXLEVBQ2QsTUFBTSxVQUFVLENBQUM7QUFFbEIsT0FBTyxFQUFDLFNBQVMsRUFBRSxlQUFlLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUVoRSxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUM7QUFDdEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUM7QUFFNUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLEtBQUssRUFBRSxFQUFFO0lBQ2hDLE1BQU0sVUFBVSxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7SUFDN0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztRQUM1QixLQUFLLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQztRQUMzQixLQUFLLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBQ0QsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsRUFBRTtRQUMxQixJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUN6QixJQUFJ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aUIsQ0FBQyxFQUFFLENBQUM7Z0JBQzFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDL0IsQ0FBQztZQUVELE9BQU8sQ0FBQyxjQUFjLEVBQUUsU0FBUyxFQUFFLEdBQUcsV0FBVyxDQUFDLENBQUM7UUFDdkQsQ0FBQztLQUNKLENBQUM7QUFDTixDQUFDLENBQUM7QUFFRixRQUFRLENBQUMsZUFBZSxFQUFFLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUM5RCxRQUFRLENBQUMsaUJBQWlCLEVBQUUsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBRWpFLGVBQWUsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtnZXRGb3JtTWFya3VwQXR0ciwgSUJ1aWxkVGFza0RlZiwgcmVnaXN0ZXJ9IGZyb20gJ0B3bS90cmFuc3BpbGVyJztcbmltcG9ydCB7XG4gICAgRm9ybVdpZGdldFR5cGUsXG4gICAgZ2VuZXJhdGVHVUlkLFxuICAgIGdldEZvcm1XaWRnZXRUZW1wbGF0ZSxcbiAgICBnZXRSZXF1aXJlZEZvcm1XaWRnZXQsXG4gICAgSURHZW5lcmF0b3Jcbn0gZnJvbSAnQHdtL2NvcmUnO1xuXG5pbXBvcnQge0FMTEZJRUxEUywgaXNEYXRhU2V0V2lkZ2V0fSBmcm9tICcuLi8uLi8uLi91dGlscy91dGlscyc7XG5cbmNvbnN0IHRhZ05hbWUgPSAnZGl2JztcbmNvbnN0IGlkR2VuID0gbmV3IElER2VuZXJhdG9yKCdmb3JtZmllbGRfJyk7XG5cbmNvbnN0IGdldEV2ZW50c1RlbXBsYXRlID0gKGF0dHJzKSA9PiB7XG4gICAgY29uc3QgZXZlbnRBdHRycyA9IG5ldyBNYXAoKTtcbiAgICBpZiAoIWF0dHJzLmhhcygnZm9jdXMuZXZlbnQnKSkge1xuICAgICAgICBhdHRycy5zZXQoJ2ZvY3VzLmV2ZW50JywgJycpO1xuICAgIH1cbiAgICBpZiAoIWF0dHJzLmhhcygnYmx1ci5ldmVudCcpKSB7XG4gICAgICAgIGF0dHJzLnNldCgnYmx1ci5ldmVudCcsICcnKTtcbiAgICB9XG4gICAgYXR0cnMuZm9yRWFjaCgodmFsdWUsIGtleSkgPT4ge1xuICAgICAgIGlmIChrZXkuZW5kc1dpdGgoJy5ldmVudCcpKSB7XG4gICAgICAgICAgIGlmIChrZXkgPT09ICdmb2N1cy5ldmVudCcpIHtcbiAgICAgICAgICAgICAgIHZhbHVlID0gYF9vbkZvY3VzRmllbGQoJGV2ZW50KTske3ZhbHVlfWA7XG4gICAgICAgICAgIH0gZWxzZSBpZiAoa2V5ID09PSAnYmx1ci5ldmVudCcpIHtcbiAgICAgICAgICAgICAgIHZhbHVlID0gYF9vbkJsdXJGaWVsZCgkZXZlbnQpOyR7dmFsdWV9YDtcbiAgICAgICAgICAgfVxuICAgICAgICAgICBldmVudEF0dHJzLnNldChrZXksIHZhbHVlKTtcbiAgICAgICAgICAgYXR0cnMuZGVsZXRlKGtleSk7XG4gICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBnZXRGb3JtTWFya3VwQXR0cihldmVudEF0dHJzKTtcbn07XG5cbmNvbnN0IERFRkFVTFRfUExBQ0VIT0xERVJTID0gbmV3IE1hcChbXG4gICAgW0Zvcm1XaWRnZXRUeXBlLlNFTEVDVCwgWydTZWxlY3QgTWluIHZhbHVlJywgJ1NlbGVjdCBNYXggdmFsdWUnLCAnU2VsZWN0IHZhbHVlJ11dLFxuICAgIFtGb3JtV2lkZ2V0VHlwZS5EQVRFVElNRSwgWydTZWxlY3QgTWluIGRhdGUgdGltZScsICdTZWxlY3QgTWF4IGRhdGUgdGltZScsICdTZWxlY3QgZGF0ZSB0aW1lJ11dLFxuICAgIFtGb3JtV2lkZ2V0VHlwZS5USU1FLCBbJ1NlbGVjdCBNaW4gdGltZScsICdTZWxlY3QgTWF4IHRpbWUnLCAnU2VsZWN0IHRpbWUnXV0sXG4gICAgW0Zvcm1XaWRnZXRUeXBlLkRBVEUsIFsnU2VsZWN0IE1pbiBkYXRlJywgJ1NlbGVjdCBNYXggZGF0ZScsICdTZWxlY3QgZGF0ZSddXSxcbiAgICBbRm9ybVdpZGdldFR5cGUuVEVYVEFSRUEsIFsnJywgJycsICdFbnRlciB2YWx1ZSddXSxcbiAgICBbRm9ybVdpZGdldFR5cGUuUklDSFRFWFQsIFsnJywgJycsICdFbnRlciB2YWx1ZSddXSxcbiAgICBbRm9ybVdpZGdldFR5cGUuQ09MT1JQSUNLRVIsIFsnU2VsZWN0IENvbG9yJywgJ1NlbGVjdCBDb2xvcicsICdTZWxlY3QgQ29sb3InXV0sXG4gICAgW0Zvcm1XaWRnZXRUeXBlLkNISVBTLCBbJycsICcnLCAnVHlwZSBoZXJlLi4uJ11dLFxuICAgIFtGb3JtV2lkZ2V0VHlwZS5QQVNTV09SRCwgWydFbnRlciBNaW4gdmFsdWUnLCAnRW50ZXIgTWF4IHZhbHVlJywgJ0VudGVyIHZhbHVlJ11dLFxuICAgIFtGb3JtV2lkZ2V0VHlwZS5OVU1CRVIsIFsnRW50ZXIgTWluIHZhbHVlJywgJ0VudGVyIE1heCB2YWx1ZScsICdFbnRlciB2YWx1ZSddXSxcbiAgICBbRm9ybVdpZGdldFR5cGUuVEVYVCwgWydFbnRlciBNaW4gdmFsdWUnLCAnRW50ZXIgTWF4IHZhbHVlJywgJ0VudGVyIHZhbHVlJ11dLFxuICAgIFtGb3JtV2lkZ2V0VHlwZS5DVVJSRU5DWSwgWydFbnRlciBNaW4gdmFsdWUnLCAnRW50ZXIgTWF4IHZhbHVlJywgJ0VudGVyIHZhbHVlJ11dLFxuICAgIFtGb3JtV2lkZ2V0VHlwZS5BVVRPQ09NUExFVEUsIFsnJywgJycsICdTZWFyY2gnXV0sXG5dKTtcblxuY29uc3Qgc2V0RGVmYXVsdFBsYWNlaG9sZGVyID0gKGF0dHJzLCB3aWRnZXRUeXBlLCBpbmRleCkgPT4ge1xuICAgIGNvbnN0IHByb3AgPSBpbmRleCA9PT0gMSA/ICdtYXhwbGFjZWhvbGRlcicgOiAncGxhY2Vob2xkZXInO1xuICAgIGxldCBwbGFjZWhvbGRlciA9IGF0dHJzLmdldChwcm9wKTtcbiAgICBpZiAocGxhY2Vob2xkZXIgfHwgcGxhY2Vob2xkZXIgPT09ICcnKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgcGxhY2Vob2xkZXIgPSBERUZBVUxUX1BMQUNFSE9MREVSUy5nZXQod2lkZ2V0VHlwZSkgJiYgREVGQVVMVF9QTEFDRUhPTERFUlMuZ2V0KHdpZGdldFR5cGUpW2luZGV4XTtcbiAgICBpZiAocGxhY2Vob2xkZXIpIHtcbiAgICAgICAgYXR0cnMuc2V0KHByb3AsIHBsYWNlaG9sZGVyKTtcbiAgICB9XG59O1xuXG5jb25zdCBnZXRXaWRnZXRUZW1wbGF0ZSA9IChhdHRycywgb3B0aW9ucykgPT4ge1xuICAgIGxldCBjdXN0b21BdHRycyA9IGBgO1xuICAgIGlmKG9wdGlvbnMud2lkZ2V0VHlwZSA9PT0gXCJjdXN0b20td2lkZ2V0XCIpIHtcbiAgICAgICAgZm9yIChsZXQgW2tleSwgdmFsdWVdIG9mIGF0dHJzKSB7XG4gICAgICAgICAgICBpZihrZXkuc3RhcnRzV2l0aCgncHJvcC0nKSlcbiAgICAgICAgICAgICAgICBjdXN0b21BdHRycyArPSBrZXkgKyAnPVwiJyArIHZhbHVlICsgJ1wiICc7XG4gICAgICAgIH1cbiAgICB9XG4gICAgY29uc3QgbmFtZSA9IGF0dHJzLmdldCgnbmFtZScpO1xuICAgIGNvbnN0IGN1c3RvbVdpZGdldE5hbWUgPSBhdHRycy5nZXQoJ3dpZGdldG5hbWUnKTtcbiAgICBjb25zdCBmaWVsZE5hbWUgPSAoYXR0cnMuZ2V0KCdrZXknKSB8fCBuYW1lIHx8ICcnKS50cmltKCk7XG4gICAgY29uc3QgZm9ybUNvbnRyb2wgPSBvcHRpb25zLmlzTWF4V2lkZ2V0ID8gYGZvcm1Db250cm9sTmFtZT1cIiR7ZmllbGROYW1lfV9tYXhcImAgOiAob3B0aW9ucy5pc0luTGlzdCA/IGBbZm9ybUNvbnRyb2xOYW1lXT1cIiR7b3B0aW9ucy5jb3VudGVyfS5fZmllbGROYW1lXCJgIDogYGZvcm1Db250cm9sTmFtZT1cIiR7ZmllbGROYW1lfVwiYCk7XG4gICAgY29uc3QgdG1wbFJlZiA9IG9wdGlvbnMuaXNNYXhXaWRnZXQgPyBgI2Zvcm1XaWRnZXRNYXhgIDogYCNmb3JtV2lkZ2V0YDtcbiAgICBjb25zdCB3aWRnZXROYW1lID0gbmFtZSA/IChvcHRpb25zLmlzTWF4V2lkZ2V0ID8gYG5hbWU9XCIke25hbWV9X2Zvcm1XaWRnZXRNYXhcImAgOiBgbmFtZT1cIiR7bmFtZX1fZm9ybVdpZGdldFwiYCkgOiAnJztcbiAgICBjb25zdCBjb25kaXRpb25hbENsYXNzID0gYFtuZ0NsYXNzXT1cIiR7YXR0cnMuZ2V0KCduZ2NsYXNzJyl9XCJgO1xuICAgIGNvbnN0IGRlZmF1bHRUbXBsID0gYFtjbGFzcy5oaWRkZW5dPVwiISR7b3B0aW9ucy5wQ291bnRlcn0uaXNVcGRhdGVNb2RlICYmICR7b3B0aW9ucy5jb3VudGVyfS52aWV3bW9kZXdpZGdldCAhPT0gJ2RlZmF1bHQnXCIgJHtmb3JtQ29udHJvbH0gJHtvcHRpb25zLmV2ZW50c1RtcGx9ICR7Y29uZGl0aW9uYWxDbGFzc30gJHt0bXBsUmVmfSAke3dpZGdldE5hbWV9ICR7Y3VzdG9tV2lkZ2V0TmFtZSA/IGB3aWRnZXRuYW1lPSR7Y3VzdG9tV2lkZ2V0TmFtZX0gJHtjdXN0b21BdHRyc31gOicnfWAgO1xuICAgIHJldHVybiBnZXRGb3JtV2lkZ2V0VGVtcGxhdGUob3B0aW9ucy53aWRnZXRUeXBlLCBkZWZhdWx0VG1wbCwgYXR0cnMsIHtjb3VudGVyOiBvcHRpb25zLmNvdW50ZXIsIHBDb3VudGVyOiBvcHRpb25zLnBDb3VudGVyfSk7XG59O1xuXG5cbmNvbnN0IGdldFRlbXBsYXRlID0gKGF0dHJzLCB3aWRnZXRUeXBlLCBldmVudHNUbXBsLCBjb3VudGVyLCBwQ291bnRlciwgaXNJbkxpc3QpID0+IHtcbiAgICBjb25zdCBpc1JhbmdlID0gYXR0cnMuZ2V0KCdpcy1yYW5nZScpID09PSAndHJ1ZSc7XG4gICAgaWYgKCFpc1JhbmdlKSB7XG4gICAgICAgIHJldHVybiBnZXRXaWRnZXRUZW1wbGF0ZShhdHRycywge3dpZGdldFR5cGUsIGV2ZW50c1RtcGwsIGNvdW50ZXIsIHBDb3VudGVyLCBpc0luTGlzdH0pO1xuICAgIH1cbiAgICBjb25zdCBsYXlvdXRDbGFzcyA9ICdjb2wtc20tNic7XG4gICAgcmV0dXJuIGA8ZGl2IGNsYXNzPVwiJHtsYXlvdXRDbGFzc31cIj4ke2dldFdpZGdldFRlbXBsYXRlKGF0dHJzLCB7d2lkZ2V0VHlwZSwgZXZlbnRzVG1wbCwgY291bnRlciwgcENvdW50ZXJ9KX08L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiJHtsYXlvdXRDbGFzc31cIj4ke2dldFdpZGdldFRlbXBsYXRlKGF0dHJzLCB7d2lkZ2V0VHlwZSwgZXZlbnRzVG1wbCwgY291bnRlciwgcENvdW50ZXIsIGlzTWF4V2lkZ2V0OiB0cnVlfSl9PC9kaXY+YDtcbn07XG5cbmNvbnN0IGdldENhcHRpb25CeVdpZGdldCA9IChhdHRycywgd2lkZ2V0VHlwZSwgY291bnRlcikgPT4ge1xuICAgIGlmIChhdHRycy5nZXQoJ2lzLXJlbGF0ZWQnKSA9PT0gJ3RydWUnKSB7XG4gICAgICAgIHJldHVybiBgJHtjb3VudGVyfS5nZXREaXNwbGF5RXhwcigpYDtcbiAgICB9XG4gICAgaWYgKHdpZGdldFR5cGUgPT09IEZvcm1XaWRnZXRUeXBlLlBBU1NXT1JEKSB7XG4gICAgICAgIHJldHVybiAnXFwnKioqKioqKipcXCcnO1xuICAgIH1cbiAgICBsZXQgY2FwdGlvbiA9IGAke2NvdW50ZXJ9LnZhbHVlYDtcbiAgICBpZiAod2lkZ2V0VHlwZSA9PT0gRm9ybVdpZGdldFR5cGUuREFURVRJTUUgfHwgd2lkZ2V0VHlwZSA9PT0gRm9ybVdpZGdldFR5cGUuVElNRVNUQU1QKSB7XG4gICAgICAgIGNhcHRpb24gKz0gYCB8IHRvRGF0ZToke2NvdW50ZXJ9LmZvcm1XaWRnZXQuZGF0ZXBhdHRlcm4gfHwgJ3l5eXktTU0tZGQgaGg6bW06c3MgYSdgO1xuICAgICAgICByZXR1cm4gY2FwdGlvbjtcbiAgICB9XG4gICAgaWYgKHdpZGdldFR5cGUgPT09IEZvcm1XaWRnZXRUeXBlLlRJTUUpIHtcbiAgICAgICAgY2FwdGlvbiArPSBgIHwgdG9EYXRlOiR7Y291bnRlcn0uZm9ybVdpZGdldC50aW1lcGF0dGVybiB8fCAnaGg6bW0gYSdgO1xuICAgICAgICByZXR1cm4gY2FwdGlvbjtcbiAgICB9XG4gICAgaWYgKHdpZGdldFR5cGUgPT09IEZvcm1XaWRnZXRUeXBlLkRBVEUpIHtcbiAgICAgICAgY2FwdGlvbiArPSBgIHwgdG9EYXRlOiR7Y291bnRlcn0uZm9ybVdpZGdldC5kYXRlcGF0dGVybiB8fCAgJ3l5eXktTU1NLWRkJ2A7XG4gICAgICAgIHJldHVybiBjYXB0aW9uO1xuICAgIH1cbiAgICBpZiAod2lkZ2V0VHlwZSA9PT0gRm9ybVdpZGdldFR5cGUuUkFUSU5HIHx8IHdpZGdldFR5cGUgPT09IEZvcm1XaWRnZXRUeXBlLlVQTE9BRCkge1xuICAgICAgICByZXR1cm4gJyc7XG4gICAgfVxuICAgIGlmIChpc0RhdGFTZXRXaWRnZXQod2lkZ2V0VHlwZSkgJiYgYXR0cnMuZ2V0KCdkYXRhZmllbGQnKSA9PT0gQUxMRklFTERTKSB7XG4gICAgICAgIHJldHVybiBgJHtjb3VudGVyfS5nZXREaXNwbGF5RXhwcigpYDtcbiAgICB9XG4gICAgcmV0dXJuIGAke2NvdW50ZXJ9LmdldENhcHRpb24oKWA7XG59O1xuXG5jb25zdCByZWdpc3RlckZvcm1GaWVsZCA9IChpc0Zvcm1GaWVsZCk6IElCdWlsZFRhc2tEZWYgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICAgIHJlcXVpcmVzOiBbJ3dtLWZvcm0nLCAnd20tbGl2ZWZvcm0nLCAnd20tbGl2ZWZpbHRlcicsICd3bS1saXN0J10sXG4gICAgICAgIHByZTogKGF0dHJzLCBzaGFyZWQsIHBhcmVudEZvcm0sIHBhcmVudExpdmVGb3JtLCBwYXJlbnRGaWx0ZXIsIHBhcmVudExpc3QpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNvdW50ZXIgPSBpZEdlbi5uZXh0VWlkKCk7XG4gICAgICAgICAgICBjb25zdCBwYXJlbnQgPSBwYXJlbnRGb3JtIHx8IHBhcmVudExpdmVGb3JtIHx8IHBhcmVudEZpbHRlcjtcbiAgICAgICAgICAgIGNvbnN0IHBDb3VudGVyID0gKHBhcmVudCAmJiBwYXJlbnQuZ2V0KCdmb3JtX3JlZmVyZW5jZScpKSB8fCAnZm9ybSc7XG4gICAgICAgICAgICBjb25zdCB3aWRnZXRUeXBlID0gYXR0cnMuZ2V0KCd3aWRnZXQnKSB8fCBGb3JtV2lkZ2V0VHlwZS5URVhUO1xuICAgICAgICAgICAgY29uc3QgZGF0YVJvbGUgPSBpc0Zvcm1GaWVsZCA/ICdmb3JtLWZpZWxkJyA6ICdmaWx0ZXItZmllbGQnO1xuICAgICAgICAgICAgY29uc3QgZm9ybUZpZWxkRXJyb3JNc2dJZCA9ICd3bWZvcm0tZmllbGQtZXJyb3ItJyArIGdlbmVyYXRlR1VJZCgpO1xuICAgICAgICAgICAgY29uc3QgdmFsaWRhdGlvbk1zZyA9IGBAaWYgKCR7Y291bnRlcn0uX2NvbnRyb2w/LmludmFsaWQgJiYgJHtjb3VudGVyfS5fY29udHJvbD8udG91Y2hlZCAmJiAke3BDb3VudGVyfS5pc1VwZGF0ZU1vZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJoZWxwLWJsb2NrIHRleHQtZGFuZ2VyXCIgYXJpYS1oaWRkZW49XCJmYWxzZVwiIHJvbGU9XCJhbGVydFwiIGFyaWEtbGl2ZT1cImFzc2VydGl2ZVwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJHtjb3VudGVyfS52YWxpZGF0aW9ubWVzc2FnZVwiIGlkPVwiJHtmb3JtRmllbGRFcnJvck1zZ0lkfVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIFt0ZXh0Q29udGVudF09XCIke2NvdW50ZXJ9LnZhbGlkYXRpb25tZXNzYWdlXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+fWA7XG4gICAgICAgICAgICBjb25zdCBldmVudHNUbXBsID0gd2lkZ2V0VHlwZSA9PT0gRm9ybVdpZGdldFR5cGUuVVBMT0FEID8gJycgOiBnZXRFdmVudHNUZW1wbGF0ZShhdHRycyk7XG4gICAgICAgICAgICBjb25zdCBjb250cm9sTGF5b3V0ID0gJ2NvbC1zbS0xMic7XG4gICAgICAgICAgICBjb25zdCBpc0luTGlzdCA9IHBDb3VudGVyID09PSAocGFyZW50TGlzdCAmJiBwYXJlbnRMaXN0LmdldCgncGFyZW50X2Zvcm1fcmVmZXJlbmNlJykpO1xuICAgICAgICAgICAgYXR0cnMuc2V0KCdfX3ZhbGlkYXRpb25JZCcsIGZvcm1GaWVsZEVycm9yTXNnSWQpO1xuICAgICAgICAgICAgYXR0cnMuc2V0KCdfX3dpZGdldFR5cGUnLCB3aWRnZXRUeXBlKTtcbiAgICAgICAgICAgIGF0dHJzLmRlbGV0ZSgnd2lkZ2V0Jyk7XG4gICAgICAgICAgICBzaGFyZWQuc2V0KCdjb3VudGVyJywgY291bnRlcik7XG5cbiAgICAgICAgICAgIGlmIChhdHRycy5nZXQoJ2lzLXJhbmdlJykgPT09ICd0cnVlJykge1xuICAgICAgICAgICAgICAgIHNldERlZmF1bHRQbGFjZWhvbGRlcihhdHRycywgd2lkZ2V0VHlwZSwgMCk7XG4gICAgICAgICAgICAgICAgc2V0RGVmYXVsdFBsYWNlaG9sZGVyKGF0dHJzLCB3aWRnZXRUeXBlLCAxKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgc2V0RGVmYXVsdFBsYWNlaG9sZGVyKGF0dHJzLCB3aWRnZXRUeXBlLCAyKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGA8JHt0YWdOYW1lfSBkYXRhLXJvbGU9XCIke2RhdGFSb2xlfVwiIFtmb3JtR3JvdXBdPVwiJHtwQ291bnRlcn0ubmdmb3JtXCIgd21Gb3JtRmllbGQgd21DYXB0aW9uUG9zaXRpb24gIyR7Y291bnRlcn09XCJ3bUZvcm1GaWVsZFwiIHdpZGdldHR5cGU9XCIke3dpZGdldFR5cGV9XCIgJHtnZXRGb3JtTWFya3VwQXR0cihhdHRycyl9PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxpdmUtZmllbGQgZm9ybS1ncm91cCBhcHAtY29tcG9zaXRlLXdpZGdldCBjbGVhcmZpeCBjYXB0aW9uLXt7JHtwQ291bnRlcn0uY2FwdGlvbnBvc2l0aW9ufX1cIiB3aWRnZXQ9XCIke3dpZGdldFR5cGV9XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIFtoaWRkZW5dPVwiISR7Y291bnRlcn0uZGlzcGxheW5hbWVcIiBjbGFzcz1cImFwcC1sYWJlbCBjb250cm9sLWxhYmVsIGZvcm1maWVsZC1sYWJlbCB7eyR7cENvdW50ZXJ9Ll9jYXB0aW9uQ2xhc3N9fVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nU3R5bGVdPVwie3dpZHRoOiAke3BDb3VudGVyfS5jYXB0aW9uc2l6ZX1cIiBbbmdDbGFzc109XCJ7J3RleHQtZGFuZ2VyJzogJHtjb3VudGVyfS5fY29udHJvbD8uaW52YWxpZCAmJiAke2NvdW50ZXJ9Ll9jb250cm9sPy50b3VjaGVkICYmICR7cENvdW50ZXJ9LmlzVXBkYXRlTW9kZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICR7cENvdW50ZXJ9LmlzVXBkYXRlTW9kZSAmJiAke2NvdW50ZXJ9LnJlcXVpcmVkfVwiIFt0ZXh0Q29udGVudF09XCIke2NvdW50ZXJ9LmRpc3BsYXluYW1lXCI+IDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBbbmdDbGFzc109XCIke2NvdW50ZXJ9LmRpc3BsYXluYW1lID8gJHtwQ291bnRlcn0uX3dpZGdldENsYXNzIDogJyR7Y29udHJvbExheW91dH0nXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZvcm0tY29udHJvbC1zdGF0aWMgYXBwLWxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtoaWRkZW5dPVwiJHtwQ291bnRlcn0uaXNVcGRhdGVNb2RlIHx8ICR7Y291bnRlcn0udmlld21vZGV3aWRnZXQgPT09ICdkZWZhdWx0JyB8fCAke2NvdW50ZXJ9LndpZGdldHR5cGUgPT09ICd1cGxvYWQnXCIgW2lubmVySFRNTF09XCIke2dldENhcHRpb25CeVdpZGdldChhdHRycywgd2lkZ2V0VHlwZSwgY291bnRlcil9XCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke2dldFRlbXBsYXRlKGF0dHJzLCB3aWRnZXRUeXBlLCBldmVudHNUbXBsLCBjb3VudGVyLCBwQ291bnRlciwgaXNJbkxpc3QpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYoJHtjb3VudGVyfS5zaG93UGVuZGluZ1NwaW5uZXIpeyA8c3BhbiBhcmlhLWhpZGRlbj1cInRydWVcIiBjbGFzcz1cImZvcm0tZmllbGQtc3Bpbm5lciBmYSBmYS1jaXJjbGUtby1ub3RjaCBmYS1zcGluIGZvcm0tY29udHJvbC1mZWVkYmFja1wiPjwvc3Bhbj59XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZighKCR7Y291bnRlcn0uX2NvbnRyb2w/LmludmFsaWQgJiYgJHtjb3VudGVyfS5fY29udHJvbD8udG91Y2hlZCkgJiYgJHtwQ291bnRlcn0uaXNVcGRhdGVNb2RlKXsgPHAgY2xhc3M9XCJoZWxwLWJsb2NrXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgcm9sZT1cImFsZXJ0XCIgYXJpYS1saXZlPVwicG9saXRlXCIgW3RleHRDb250ZW50XT1cIiR7Y291bnRlcn0uaGludFwiPjwvcD4gfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke3ZhbGlkYXRpb25Nc2d9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5gO1xuICAgICAgICB9LFxuICAgICAgICBwb3N0OiAoKSA9PiBgPC8ke3RhZ05hbWV9PmAsXG4gICAgICAgIHByb3ZpZGU6IChhdHRycywgc2hhcmVkKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBwcm92aWRlciA9IG5ldyBNYXAoKTtcbiAgICAgICAgICAgIHByb3ZpZGVyLnNldCgnZm9ybV9yZWZlcmVuY2UnLCBzaGFyZWQuZ2V0KCdjb3VudGVyJykpO1xuICAgICAgICAgICAgcmV0dXJuIHByb3ZpZGVyO1xuICAgICAgICB9LFxuICAgICAgICBpbXBvcnRzOiAoYXR0cnM6IE1hcDxTdHJpbmcsIFN0cmluZz4pOiBzdHJpbmdbXSA9PiB7XG4gICAgICAgICAgICBjb25zdCB3aWRnZXRUeXBlID0gYXR0cnMuZ2V0KCdfX3dpZGdldFR5cGUnKSB8fCBhdHRycy5nZXQoJ3R5cGUnKTtcbiAgICAgICAgICAgIGNvbnN0IHJlcXVpcmVkV2lkZ2V0ID0gZ2V0UmVxdWlyZWRGb3JtV2lkZ2V0KHdpZGdldFR5cGUpO1xuICAgICAgICAgICAgYXR0cnMuZGVsZXRlKCdfX3dpZGdldFR5cGUnKTtcblxuICAgICAgICAgICAgbGV0IHBpcGVJbXBvcnRzID0gW107XG4gICAgICAgICAgICBpZiAod2lkZ2V0VHlwZSAmJiBbRm9ybVdpZGdldFR5cGUuREFURSwgRm9ybVdpZGdldFR5cGUuREFURVRJTUUsIEZvcm1XaWRnZXRUeXBlLlRJTUUsIEZvcm1XaWRnZXRUeXBlLlRJTUVTVEFNUF0uaW5jbHVkZXMod2lkZ2V0VHlwZSBhcyBhbnkpKSB7XG4gICAgICAgICAgICAgICAgcGlwZUltcG9ydHMucHVzaCgndG9EYXRlJyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBbcmVxdWlyZWRXaWRnZXQsICd3bS1mb3JtJywgLi4ucGlwZUltcG9ydHNdO1xuICAgICAgICB9XG4gICAgfTtcbn07XG5cbnJlZ2lzdGVyKCd3bS1mb3JtLWZpZWxkJywgcmVnaXN0ZXJGb3JtRmllbGQuYmluZCh0aGlzLCB0cnVlKSk7XG5yZWdpc3Rlcignd20tZmlsdGVyLWZpZWxkJywgcmVnaXN0ZXJGb3JtRmllbGQuYmluZCh0aGlzLCBmYWxzZSkpO1xuXG5leHBvcnQgZGVmYXVsdCAoKSA9PiB7fTtcbiJdfQ==
@@ -1149,7 +1149,7 @@ const registerFormField = (isFormField) => {
1149
1149
  else {
1150
1150
  setDefaultPlaceholder(attrs, widgetType, 2);
1151
1151
  }
1152
- return `<${tagName$Z} data-role="${dataRole}" [formGroup]="${pCounter}.ngform" wmFormField wmCaptionPosition #${counter}="wmFormField" widgettype="${widgetType}" [hidden]="!${counter}.show" ${getFormMarkupAttr(attrs)}>
1152
+ return `<${tagName$Z} data-role="${dataRole}" [formGroup]="${pCounter}.ngform" wmFormField wmCaptionPosition #${counter}="wmFormField" widgettype="${widgetType}" ${getFormMarkupAttr(attrs)}>
1153
1153
  <div class="live-field form-group app-composite-widget clearfix caption-{{${pCounter}.captionposition}}" widget="${widgetType}">
1154
1154
  <label [hidden]="!${counter}.displayname" class="app-label control-label formfield-label {{${pCounter}._captionClass}}"
1155
1155
  [ngStyle]="{width: ${pCounter}.captionsize}" [ngClass]="{'text-danger': ${counter}._control?.invalid && ${counter}._control?.touched && ${pCounter}.isUpdateMode,