@provoly/dashboard 0.20.2 → 0.20.4

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 (203) hide show
  1. package/admin/components/admin-classes/admin-classes-view/admin-attributes-form/admin-attributes-form.component.d.ts +5 -2
  2. package/admin/components/admin-fields/admin-fields-select/admin-fields-select.component.d.ts +1 -1
  3. package/admin/i18n/en.translations.d.ts +1 -0
  4. package/admin/i18n/fr.translations.d.ts +1 -0
  5. package/components/metadata-editor/style/_o-metadata-editor.scss +0 -5
  6. package/dataset/style/_o-pry-dataset-card.scss +5 -37
  7. package/esm2022/admin/components/admin-abac-rules/admin-abac-rules-form/admin-abac-rules-form.component.mjs +3 -3
  8. package/esm2022/admin/components/admin-abac-rules/components/attribute-condition/attribute-condition.component.mjs +3 -3
  9. package/esm2022/admin/components/admin-abac-rules/components/metadata-condition/metadata-condition.component.mjs +3 -3
  10. package/esm2022/admin/components/admin-classes/admin-classes-customize/admin-classes-customize.component.mjs +5 -5
  11. package/esm2022/admin/components/admin-classes/admin-classes-customize/symbol/admin-classes-customize-symbol.component.mjs +3 -3
  12. package/esm2022/admin/components/admin-classes/admin-classes-customize/tooltip/admin-classes-customize-tooltip.component.mjs +5 -5
  13. package/esm2022/admin/components/admin-classes/admin-classes-form/admin-classes-form.component.mjs +3 -3
  14. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-form/admin-attributes-form.component.mjs +42 -12
  15. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-new/admin-attributes-new.component.mjs +1 -1
  16. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-select/admin-attributes-select.component.mjs +3 -3
  17. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-classes-view.component.mjs +3 -3
  18. package/esm2022/admin/components/admin-dataset/shared/admin-form-dataset/admin-form-dataset.component.mjs +3 -3
  19. package/esm2022/admin/components/admin-environment/admin-environment-form/admin-environment-form.component.mjs +3 -3
  20. package/esm2022/admin/components/admin-fields/admin-fields-form/admin-fields-form.component.mjs +3 -3
  21. package/esm2022/admin/components/admin-fields/admin-fields-select/admin-fields-select.component.mjs +2 -2
  22. package/esm2022/admin/components/admin-links/admin-links-new/admin-links-new.component.mjs +3 -3
  23. package/esm2022/admin/components/admin-metadata/shared/form-metadata/form-metadata.component.mjs +3 -3
  24. package/esm2022/admin/components/admin-metadata-rules/shared/admin-form-metadata-rules/admin-form-metadata-rules.component.mjs +3 -3
  25. package/esm2022/admin/i18n/en.translations.mjs +3 -2
  26. package/esm2022/admin/i18n/fr.translations.mjs +3 -2
  27. package/esm2022/components/metadata-editor/metadata-editor.component.mjs +3 -3
  28. package/esm2022/components/metadata-editor/style/css.component.mjs +2 -2
  29. package/esm2022/components/scheme-picker/scheme-picker.component.mjs +3 -3
  30. package/esm2022/dataset/components/dataset-card/dataset-card.component.mjs +5 -5
  31. package/esm2022/dataset/components/dataset-detail/dataset-detail.component.mjs +1 -2
  32. package/esm2022/dataset/i18n/fr.translations.mjs +2 -2
  33. package/esm2022/dataset/style/css.component.mjs +2 -2
  34. package/esm2022/filters/autocomplete/autocomplete.component.mjs +13 -6
  35. package/esm2022/filters/autocomplete/autocomplete.module.mjs +5 -5
  36. package/esm2022/filters/autocomplete/style/css.component.mjs +2 -2
  37. package/esm2022/filters/list/list-filter.component.mjs +1 -1
  38. package/esm2022/import/components/import.component.mjs +3 -3
  39. package/esm2022/lib/core/components/ellipsis.directive.mjs +31 -0
  40. package/esm2022/lib/core/components/select/select.component.mjs +163 -38
  41. package/esm2022/lib/core/components/select/select.module.mjs +4 -5
  42. package/esm2022/lib/core/components/share/share.component.mjs +3 -3
  43. package/esm2022/lib/core/components/translate-id/translate-id.pipe.mjs +7 -8
  44. package/esm2022/lib/core/core.module.mjs +8 -4
  45. package/esm2022/lib/core/i18n/en.translations.mjs +7 -5
  46. package/esm2022/lib/core/i18n/fr.translations.mjs +8 -5
  47. package/esm2022/lib/core/model/admin-api.model.mjs +1 -1
  48. package/esm2022/lib/core/model/display-options.interface.mjs +18 -4
  49. package/esm2022/lib/core/model/filter.interface.mjs +1 -1
  50. package/esm2022/lib/core/model/manifest.interface.mjs +1 -1
  51. package/esm2022/lib/core/public-api.mjs +2 -1
  52. package/esm2022/lib/core/store/class/class.interface.mjs +1 -1
  53. package/esm2022/lib/core/store/class/class.selectors.mjs +6 -2
  54. package/esm2022/lib/core/store/search/search.service.mjs +1 -1
  55. package/esm2022/lib/core/toolbox/toolbox-manifest.service.mjs +1 -4
  56. package/esm2022/lib/dashboard/components/context-menu/object-edition/object-edition.component.mjs +28 -28
  57. package/esm2022/lib/dashboard/components/widgets/header/widget-header.component.mjs +6 -15
  58. package/esm2022/lib/dashboard/components/widgets/settings/settings.component.mjs +3 -3
  59. package/esm2022/lib/dashboard/filter/components/filter-group/filter-group.component.mjs +3 -3
  60. package/esm2022/lib/dashboard/filter/style/css.component.mjs +2 -2
  61. package/esm2022/lib/dashboard/item-utils.mjs +7 -7
  62. package/esm2022/lib/dashboard/store/dashboard.effects.mjs +1 -4
  63. package/esm2022/pipeline/store/pipeline.actions.mjs +1 -1
  64. package/esm2022/pipeline-components/filter/component/filter.component.mjs +4 -4
  65. package/esm2022/pipeline-components/input-datasource/component/input-datasource.component.mjs +3 -3
  66. package/esm2022/pipeline-components/output-dataset/component/output-dataset.component.mjs +3 -3
  67. package/esm2022/presentation/components/add-edit-presentation/add-edit-presentation.component.mjs +3 -3
  68. package/esm2022/presentation/components/presentation.component.mjs +3 -3
  69. package/esm2022/presentation/i18n/fr.translations.mjs +9 -9
  70. package/esm2022/presentation/style/css.component.mjs +2 -2
  71. package/esm2022/restitution/components/restitution/restitution.component.mjs +23 -22
  72. package/esm2022/restitution/components/restitution-catalog/restitution-catalog.component.mjs +13 -6
  73. package/esm2022/restitution/i18n/en.translations.mjs +2 -2
  74. package/esm2022/restitution/i18n/fr.translations.mjs +4 -4
  75. package/esm2022/restitution/style/css.component.mjs +2 -2
  76. package/esm2022/search/search-mono-class/components/search-condition/search-condition.component.mjs +3 -3
  77. package/esm2022/search/search-mono-class/components/search-mono-class/search-mono-class.component.mjs +3 -3
  78. package/esm2022/search/search-mono-class/components/search-order/search-order.component.mjs +3 -3
  79. package/esm2022/search/search-multi-class/components/multi-class-condition/multi-class-condition.component.mjs +3 -3
  80. package/esm2022/supervision/components/supervision-integration-errors/supervision-integration-errors.component.mjs +3 -3
  81. package/esm2022/toolbox/components/automate-refresh/automate-refresh.component.mjs +3 -3
  82. package/esm2022/toolbox/components/clear-view/clear-view.component.mjs +3 -3
  83. package/esm2022/toolbox/components/drag-widgets/drag-widgets.component.mjs +3 -3
  84. package/esm2022/toolbox/components/filter-settings/filter-settings.component.mjs +6 -6
  85. package/esm2022/toolbox/components/launch-tab/launch-tab.component.mjs +3 -3
  86. package/esm2022/toolbox/components/named-query/named-query.component.mjs +3 -3
  87. package/esm2022/toolbox/components/refresh-datasets/refresh-datasets.component.mjs +3 -3
  88. package/esm2022/toolbox/components/save-view/save-view.component.mjs +3 -3
  89. package/esm2022/toolbox/components/select-grid-layout/select-grid-layout.component.mjs +3 -3
  90. package/esm2022/toolbox/components/toolbox.component.mjs +4 -3
  91. package/esm2022/tooltips/attribute/attribute-tooltip.component.mjs +8 -2
  92. package/esm2022/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.mjs +8 -7
  93. package/esm2022/widgets/widget-chart/component/widget-chart.component.mjs +12 -13
  94. package/esm2022/widgets/widget-graph/component/widget-graph.component.mjs +3 -3
  95. package/esm2022/widgets/widget-map/component/widget-map.component.mjs +13 -7
  96. package/esm2022/widgets/widget-map/i18n/en.translations.mjs +3 -2
  97. package/esm2022/widgets/widget-map/i18n/fr.translations.mjs +3 -2
  98. package/esm2022/widgets/widget-map/pipe/widget-map-geometry-fields-for.pipe.mjs +3 -3
  99. package/esm2022/widgets/widget-map/style/css.component.mjs +2 -2
  100. package/esm2022/widgets/widget-map/utils/cql-utils.class.mjs +2 -2
  101. package/esm2022/widgets/widget-map/utils/widget-map.utils.mjs +6 -6
  102. package/esm2022/widgets/widget-table/component/widget-table.component.mjs +8 -8
  103. package/esm2022/widgets/widget-table/get-value/get-value.pipe.mjs +2 -2
  104. package/esm2022/widgets/widget-tile/component/widget-tile.component.mjs +3 -3
  105. package/fesm2022/provoly-dashboard-admin.mjs +80 -48
  106. package/fesm2022/provoly-dashboard-admin.mjs.map +1 -1
  107. package/fesm2022/provoly-dashboard-components-metadata-editor.mjs +4 -4
  108. package/fesm2022/provoly-dashboard-components-metadata-editor.mjs.map +1 -1
  109. package/fesm2022/provoly-dashboard-components-scheme-picker.mjs +2 -2
  110. package/fesm2022/provoly-dashboard-components-scheme-picker.mjs.map +1 -1
  111. package/fesm2022/provoly-dashboard-dataset.mjs +5 -6
  112. package/fesm2022/provoly-dashboard-dataset.mjs.map +1 -1
  113. package/fesm2022/provoly-dashboard-filters-autocomplete.mjs +18 -11
  114. package/fesm2022/provoly-dashboard-filters-autocomplete.mjs.map +1 -1
  115. package/fesm2022/provoly-dashboard-filters-list.mjs +1 -1
  116. package/fesm2022/provoly-dashboard-filters-list.mjs.map +1 -1
  117. package/fesm2022/provoly-dashboard-import.mjs +2 -2
  118. package/fesm2022/provoly-dashboard-import.mjs.map +1 -1
  119. package/fesm2022/provoly-dashboard-pipeline-components-filter.mjs +3 -3
  120. package/fesm2022/provoly-dashboard-pipeline-components-filter.mjs.map +1 -1
  121. package/fesm2022/provoly-dashboard-pipeline-components-input-datasource.mjs +2 -2
  122. package/fesm2022/provoly-dashboard-pipeline-components-input-datasource.mjs.map +1 -1
  123. package/fesm2022/provoly-dashboard-pipeline-components-output-dataset.mjs +2 -2
  124. package/fesm2022/provoly-dashboard-pipeline-components-output-dataset.mjs.map +1 -1
  125. package/fesm2022/provoly-dashboard-pipeline.mjs.map +1 -1
  126. package/fesm2022/provoly-dashboard-presentation.mjs +14 -14
  127. package/fesm2022/provoly-dashboard-presentation.mjs.map +1 -1
  128. package/fesm2022/provoly-dashboard-restitution.mjs +39 -31
  129. package/fesm2022/provoly-dashboard-restitution.mjs.map +1 -1
  130. package/fesm2022/provoly-dashboard-search.mjs +8 -8
  131. package/fesm2022/provoly-dashboard-search.mjs.map +1 -1
  132. package/fesm2022/provoly-dashboard-supervision.mjs +2 -2
  133. package/fesm2022/provoly-dashboard-supervision.mjs.map +1 -1
  134. package/fesm2022/provoly-dashboard-toolbox.mjs +24 -23
  135. package/fesm2022/provoly-dashboard-toolbox.mjs.map +1 -1
  136. package/fesm2022/provoly-dashboard-tooltips-attribute.mjs +7 -1
  137. package/fesm2022/provoly-dashboard-tooltips-attribute.mjs.map +1 -1
  138. package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs +7 -6
  139. package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs.map +1 -1
  140. package/fesm2022/provoly-dashboard-widgets-widget-chart.mjs +11 -12
  141. package/fesm2022/provoly-dashboard-widgets-widget-chart.mjs.map +1 -1
  142. package/fesm2022/provoly-dashboard-widgets-widget-graph.mjs +2 -2
  143. package/fesm2022/provoly-dashboard-widgets-widget-graph.mjs.map +1 -1
  144. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs +26 -18
  145. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs.map +1 -1
  146. package/fesm2022/provoly-dashboard-widgets-widget-table.mjs +8 -8
  147. package/fesm2022/provoly-dashboard-widgets-widget-table.mjs.map +1 -1
  148. package/fesm2022/provoly-dashboard-widgets-widget-tile.mjs +2 -2
  149. package/fesm2022/provoly-dashboard-widgets-widget-tile.mjs.map +1 -1
  150. package/fesm2022/provoly-dashboard.mjs +281 -122
  151. package/fesm2022/provoly-dashboard.mjs.map +1 -1
  152. package/filters/autocomplete/autocomplete.component.d.ts +1 -0
  153. package/filters/autocomplete/autocomplete.module.d.ts +1 -1
  154. package/filters/autocomplete/style/_m-autocomplete.scss +16 -3
  155. package/lib/core/components/ellipsis.directive.d.ts +11 -0
  156. package/lib/core/components/select/select.component.d.ts +39 -19
  157. package/lib/core/components/select/select.module.d.ts +4 -5
  158. package/lib/core/components/translate-id/translate-id.pipe.d.ts +1 -3
  159. package/lib/core/core.module.d.ts +15 -14
  160. package/lib/core/i18n/en.translations.d.ts +4 -2
  161. package/lib/core/i18n/fr.translations.d.ts +5 -2
  162. package/lib/core/model/admin-api.model.d.ts +1 -0
  163. package/lib/core/model/display-options.interface.d.ts +11 -0
  164. package/lib/core/model/filter.interface.d.ts +1 -1
  165. package/lib/core/model/manifest.interface.d.ts +1 -5
  166. package/lib/core/public-api.d.ts +1 -0
  167. package/lib/core/store/class/class.interface.d.ts +1 -0
  168. package/lib/core/store/class/class.selectors.d.ts +105 -5
  169. package/lib/core/store/search/search.service.d.ts +1 -1
  170. package/lib/dashboard/components/widgets/header/widget-header.component.d.ts +2 -5
  171. package/lib/dashboard/filter/style/_o-pry-filter-group.scss +0 -11
  172. package/lib/dashboard/store/dashboard.effects.d.ts +0 -1
  173. package/lib/dashboard/store/dashboard.selectors.d.ts +0 -9
  174. package/package.json +7 -8
  175. package/pipeline/store/pipeline.actions.d.ts +1 -1
  176. package/presentation/style/_o-pry-new-presentation.scss +0 -7
  177. package/presentation/style/_o-pry-presentation.scss +20 -55
  178. package/restitution/components/restitution-catalog/restitution-catalog.component.d.ts +1 -1
  179. package/restitution/i18n/en.translations.d.ts +1 -1
  180. package/restitution/i18n/fr.translations.d.ts +3 -3
  181. package/schematics/migration.json +6 -1
  182. package/schematics/ng-update/version-0-20/index.d.ts +2 -0
  183. package/schematics/ng-update/version-0-20/index.js +19 -0
  184. package/schematics/ng-update/version-0-20/index.js.map +1 -0
  185. package/styles/components/_a-pry-select.scss +34 -10
  186. package/styles/components/_a-tooltip.scss +2 -2
  187. package/styles/components/_m-filter.scss +11 -20
  188. package/styles/components/_o-dashboard.scss +4 -0
  189. package/styles/components/_o-draggable-menu.scss +1 -1
  190. package/styles/components/_o-widget.scss +2 -2
  191. package/styles/main.scss +0 -1
  192. package/styles-theme/abstracts-theme/variables/_variables-typo.scss +9 -0
  193. package/styles-theme/components-theme/_a-pry-select.theme.scss +23 -96
  194. package/styles-theme/components-theme/_a-tooltip.theme.scss +2 -2
  195. package/styles-theme/components-theme/_o-pry-composed-condition.theme.scss +0 -12
  196. package/toolbox/components/filter-settings/filter-settings.component.d.ts +2 -2
  197. package/toolbox/components/toolbox.component.d.ts +1 -0
  198. package/tooltips/attribute/attribute-tooltip.component.d.ts +1 -0
  199. package/widgets/widget-chart/component/widget-chart.component.d.ts +0 -1
  200. package/widgets/widget-map/component/widget-map.component.d.ts +2 -0
  201. package/widgets/widget-map/i18n/en.translations.d.ts +1 -0
  202. package/widgets/widget-map/i18n/fr.translations.d.ts +1 -0
  203. package/widgets/widget-map/style/_o-layer-legend.scss +21 -0
@@ -110,11 +110,11 @@ export class FormMetadataComponent {
110
110
  return path.toString();
111
111
  }
112
112
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormMetadataComponent, deps: [{ token: i1.Store }, { token: i2.Router }, { token: i2.ActivatedRoute }, { token: i3.UntypedFormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
113
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FormMetadataComponent, selector: "pry-form-metadata", inputs: { titleForm: "titleForm", isMetaSimpleEdit: "isMetaSimpleEdit", isMetaUser: "isMetaUser", metadata: "metadata" }, outputs: { submitMetadata$: "submitMetadata$" }, ngImport: i0, template: "<div class=\"o-base-container\">\n <h1 class=\"a-h1\">{{ titleForm }}</h1>\n\n <form class=\"o-form\" [formGroup]=\"metaForm\" (ngSubmit)=\"addMetadata()\">\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" id=\"name-label\" for=\"metadata-name\">\n {{ '@pry.admin.metadata.label' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <input\n class=\"a-form-field\"\n id=\"metadata-name\"\n type=\"text\"\n formControlName=\"name\"\n [required]=\"!metadata\"\n [attr.aria-labelledby]=\"isSubmitted && metaForm.get('name')?.invalid ? 'name-label name-error' : 'name-label'\"\n [attr.aria-invalid]=\"isSubmitted && metaForm.get('name')?.invalid\"\n />\n <label\n *ngIf=\"isSubmitted && metaForm.get('name')?.invalid\"\n id=\"name-error\"\n for=\"metadata-name\"\n class=\"a-label a-label--help -error\"\n >\n <span *ngIf=\"metaForm.get('name')?.hasError('same-name')\">{{ '@pry.admin.exists' | i18n }}</span>\n <span *ngIf=\"metaForm.get('name')?.hasError('required')\">{{ '@pry.admin.required' | i18n }}</span>\n <span *ngIf=\"metaForm.get('name')?.hasError('pattern')\">{{ '@pry.admin.classes.formatName' | i18n }}</span>\n </label>\n </div>\n\n <div class=\"m-form-label-field -width-md\">\n <label class=\"a-label\" for=\"metadata_description\">{{ '@pry.admin.metadata.description' | i18n }}</label>\n <textarea\n rows=\"5\"\n type=\"text\"\n id=\"metadata_description\"\n class=\"a-form-field\"\n formControlName=\"description\"\n ></textarea>\n </div>\n\n <div class=\"m-form-label-field -width-sm\">\n <label for=\"metadata-type\" id=\"metadata-type-label\" class=\"a-label\">\n {{ '@pry.admin.metadata.type' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <pry-select\n class=\"a-pry-select\"\n id=\"metadata-type\"\n formControlName=\"type\"\n [labelTranslate]=\"true\"\n [items]=\"metaOptions\"\n [itemsAsOption]=\"true\"\n bindValue=\"varType\"\n bindLabel=\"translation\"\n [readonly]=\"!!metadata\"\n [isForm]=\"true\"\n (ngModelChange)=\"addItemList($event)\"\n aria-labelledby=\"metadata-type-label\"\n ></pry-select>\n </div>\n\n <ng-container *ngIf=\"metaForm.value.type === 'LIST'\">\n <div class=\"o-datas-list-wrapper\" formArrayName=\"allowedValues\" *ngIf=\"metadataList.controls.length > 0\">\n <fieldset>\n <legend class=\"u-visually-hidden\">{{ '@pry.admin.varType.list' | i18n }}</legend>\n\n <div class=\"o-datas-list metadata-list\" *ngFor=\"let control of metadataList.controls; let i = index\">\n <div class=\"o-datas-list__fields metadata-input\">\n <div class=\"m-form-label-field -width-sm\">\n <label id=\"metadata-list-label\" for=\"metadata-list\" class=\"a-label\">\n {{ '@pry.admin.metadata.listLabel' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <input\n class=\"a-form-field\"\n id=\"metadata-list\"\n formControlName=\"{{ i }}\"\n [required]=\"!control.value\"\n [attr.aria-invalid]=\"isSubmitted && control?.invalid\"\n [attr.aria-labelledby]=\"\n isSubmitted && control?.invalid ? 'metadata-list-label metadata-list-error' : 'metadata-list-label'\n \"\n />\n <label\n *ngIf=\"isSubmitted && control.invalid\"\n id=\"metadata-list-error\"\n for=\"metadata-list\"\n class=\"a-label a-label--help -error\"\n >\n {{ '@pry.admin.required' | i18n }}\n </label>\n </div>\n\n <div class=\"m-btn-group m-btn-group--input-actions\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--input-action\"\n *ngIf=\"i === metadataList.controls.length - 1\"\n (click)=\"control.value.trim() !== '' ? addItemList() : undefined\"\n >\n <span class=\"u-visually-hidden\">{{ '@pry.admin.metadata.addValue' | i18n }}</span>\n <pry-icon iconSvg=\"add\" [width]=\"20\" [height]=\"20\"></pry-icon>\n </button>\n <button\n type=\"button\"\n class=\"a-btn a-btn--input-action\"\n *ngIf=\"i !== 0 && !metadataList.controls[i].disabled\"\n (click)=\"removeItemList(i)\"\n >\n <span class=\"u-visually-hidden\">{{ '@pry.admin.metadata.removeValue' | i18n }}</span>\n <pry-icon iconSvg=\"delete\" [width]=\"20\" [height]=\"20\"></pry-icon>\n </button>\n </div>\n </div>\n </div>\n </fieldset>\n </div>\n </ng-container>\n\n <div class=\"m-btn-group -width-sm\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary\"\n (click)=\"goBack()\"\n [innerHTML]=\"'@pry.admin.cancel' | i18n\"\n ></button>\n <button\n class=\"a-btn a-btn--primary\"\n type=\"submit\"\n [innerHTML]=\"(metadata ? '@pry.admin.edit' : '@pry.admin.create') | i18n\"\n ></button>\n </div>\n </form>\n</div>\n", dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i3.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "component", type: i5.PrySelectComponent, selector: "pry-select", inputs: ["labelTranslate", "baseTranslate", "translationFn", "translationFnArgs", "clearable", "multiple", "multipleClearRight", "closeOnSelect", "placeholder", "isForm", "required", "name", "readonly", "items", "itemsAsOption", "bindData", "bindValue", "bindLabel", "bindIcon", "iconSize", "templateLabel", "templateOption", "autocomplete"] }, { kind: "pipe", type: i5.I18nPipe, name: "i18n" }] }); }
113
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FormMetadataComponent, selector: "pry-form-metadata", inputs: { titleForm: "titleForm", isMetaSimpleEdit: "isMetaSimpleEdit", isMetaUser: "isMetaUser", metadata: "metadata" }, outputs: { submitMetadata$: "submitMetadata$" }, ngImport: i0, template: "<div class=\"o-base-container\">\n <h1 class=\"a-h1\">{{ titleForm }}</h1>\n\n <form class=\"o-form\" [formGroup]=\"metaForm\" (ngSubmit)=\"addMetadata()\">\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" id=\"name-label\" for=\"metadata-name\">\n {{ '@pry.admin.metadata.label' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <input\n class=\"a-form-field\"\n id=\"metadata-name\"\n type=\"text\"\n formControlName=\"name\"\n [required]=\"!metadata\"\n [attr.aria-labelledby]=\"isSubmitted && metaForm.get('name')?.invalid ? 'name-label name-error' : 'name-label'\"\n [attr.aria-invalid]=\"isSubmitted && metaForm.get('name')?.invalid\"\n />\n <label\n *ngIf=\"isSubmitted && metaForm.get('name')?.invalid\"\n id=\"name-error\"\n for=\"metadata-name\"\n class=\"a-label a-label--help -error\"\n >\n <span *ngIf=\"metaForm.get('name')?.hasError('same-name')\">{{ '@pry.admin.exists' | i18n }}</span>\n <span *ngIf=\"metaForm.get('name')?.hasError('required')\">{{ '@pry.admin.required' | i18n }}</span>\n <span *ngIf=\"metaForm.get('name')?.hasError('pattern')\">{{ '@pry.admin.classes.formatName' | i18n }}</span>\n </label>\n </div>\n\n <div class=\"m-form-label-field -width-md\">\n <label class=\"a-label\" for=\"metadata_description\">{{ '@pry.admin.metadata.description' | i18n }}</label>\n <textarea\n rows=\"5\"\n type=\"text\"\n id=\"metadata_description\"\n class=\"a-form-field\"\n formControlName=\"description\"\n ></textarea>\n </div>\n\n <div class=\"m-form-label-field -width-sm\">\n <label for=\"metadata-type\" id=\"metadata-type-label\" class=\"a-label\">\n {{ '@pry.admin.metadata.type' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <pry-select\n id=\"metadata-type\"\n formControlName=\"type\"\n [items]=\"metaOptions\"\n bindValue=\"varType\"\n bindLabel=\"translation\"\n [readonly]=\"!!metadata\"\n [isForm]=\"true\"\n (ngModelChange)=\"addItemList($event)\"\n aria-labelledby=\"metadata-type-label\"\n ></pry-select>\n </div>\n\n <ng-container *ngIf=\"metaForm.value.type === 'LIST'\">\n <div class=\"o-datas-list-wrapper\" formArrayName=\"allowedValues\" *ngIf=\"metadataList.controls.length > 0\">\n <fieldset>\n <legend class=\"u-visually-hidden\">{{ '@pry.admin.varType.list' | i18n }}</legend>\n\n <div class=\"o-datas-list metadata-list\" *ngFor=\"let control of metadataList.controls; let i = index\">\n <div class=\"o-datas-list__fields metadata-input\">\n <div class=\"m-form-label-field -width-sm\">\n <label id=\"metadata-list-label\" for=\"metadata-list\" class=\"a-label\">\n {{ '@pry.admin.metadata.listLabel' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <input\n class=\"a-form-field\"\n id=\"metadata-list\"\n formControlName=\"{{ i }}\"\n [required]=\"!control.value\"\n [attr.aria-invalid]=\"isSubmitted && control?.invalid\"\n [attr.aria-labelledby]=\"\n isSubmitted && control?.invalid ? 'metadata-list-label metadata-list-error' : 'metadata-list-label'\n \"\n />\n <label\n *ngIf=\"isSubmitted && control.invalid\"\n id=\"metadata-list-error\"\n for=\"metadata-list\"\n class=\"a-label a-label--help -error\"\n >\n {{ '@pry.admin.required' | i18n }}\n </label>\n </div>\n\n <div class=\"m-btn-group m-btn-group--input-actions\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--input-action\"\n *ngIf=\"i === metadataList.controls.length - 1\"\n (click)=\"control.value.trim() !== '' ? addItemList() : undefined\"\n >\n <span class=\"u-visually-hidden\">{{ '@pry.admin.metadata.addValue' | i18n }}</span>\n <pry-icon iconSvg=\"add\" [width]=\"20\" [height]=\"20\"></pry-icon>\n </button>\n <button\n type=\"button\"\n class=\"a-btn a-btn--input-action\"\n *ngIf=\"i !== 0 && !metadataList.controls[i].disabled\"\n (click)=\"removeItemList(i)\"\n >\n <span class=\"u-visually-hidden\">{{ '@pry.admin.metadata.removeValue' | i18n }}</span>\n <pry-icon iconSvg=\"delete\" [width]=\"20\" [height]=\"20\"></pry-icon>\n </button>\n </div>\n </div>\n </div>\n </fieldset>\n </div>\n </ng-container>\n\n <div class=\"m-btn-group -width-sm\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary\"\n (click)=\"goBack()\"\n [innerHTML]=\"'@pry.admin.cancel' | i18n\"\n ></button>\n <button\n class=\"a-btn a-btn--primary\"\n type=\"submit\"\n [innerHTML]=\"(metadata ? '@pry.admin.edit' : '@pry.admin.create') | i18n\"\n ></button>\n </div>\n </form>\n</div>\n", dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i3.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "component", type: i5.PrySelectComponent, selector: "pry-select", inputs: ["items", "clearable", "multiple", "closeOnSelect", "placeholder", "isForm", "required", "name", "readonly", "autocomplete", "bindValue", "bindLabel", "iconSize", "bindIcon", "template", "i18nPrefix", "elementRef"], outputs: ["searched", "cleared"] }, { kind: "pipe", type: i5.I18nPipe, name: "i18n" }] }); }
114
114
  }
115
115
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormMetadataComponent, decorators: [{
116
116
  type: Component,
117
- args: [{ selector: 'pry-form-metadata', template: "<div class=\"o-base-container\">\n <h1 class=\"a-h1\">{{ titleForm }}</h1>\n\n <form class=\"o-form\" [formGroup]=\"metaForm\" (ngSubmit)=\"addMetadata()\">\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" id=\"name-label\" for=\"metadata-name\">\n {{ '@pry.admin.metadata.label' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <input\n class=\"a-form-field\"\n id=\"metadata-name\"\n type=\"text\"\n formControlName=\"name\"\n [required]=\"!metadata\"\n [attr.aria-labelledby]=\"isSubmitted && metaForm.get('name')?.invalid ? 'name-label name-error' : 'name-label'\"\n [attr.aria-invalid]=\"isSubmitted && metaForm.get('name')?.invalid\"\n />\n <label\n *ngIf=\"isSubmitted && metaForm.get('name')?.invalid\"\n id=\"name-error\"\n for=\"metadata-name\"\n class=\"a-label a-label--help -error\"\n >\n <span *ngIf=\"metaForm.get('name')?.hasError('same-name')\">{{ '@pry.admin.exists' | i18n }}</span>\n <span *ngIf=\"metaForm.get('name')?.hasError('required')\">{{ '@pry.admin.required' | i18n }}</span>\n <span *ngIf=\"metaForm.get('name')?.hasError('pattern')\">{{ '@pry.admin.classes.formatName' | i18n }}</span>\n </label>\n </div>\n\n <div class=\"m-form-label-field -width-md\">\n <label class=\"a-label\" for=\"metadata_description\">{{ '@pry.admin.metadata.description' | i18n }}</label>\n <textarea\n rows=\"5\"\n type=\"text\"\n id=\"metadata_description\"\n class=\"a-form-field\"\n formControlName=\"description\"\n ></textarea>\n </div>\n\n <div class=\"m-form-label-field -width-sm\">\n <label for=\"metadata-type\" id=\"metadata-type-label\" class=\"a-label\">\n {{ '@pry.admin.metadata.type' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <pry-select\n class=\"a-pry-select\"\n id=\"metadata-type\"\n formControlName=\"type\"\n [labelTranslate]=\"true\"\n [items]=\"metaOptions\"\n [itemsAsOption]=\"true\"\n bindValue=\"varType\"\n bindLabel=\"translation\"\n [readonly]=\"!!metadata\"\n [isForm]=\"true\"\n (ngModelChange)=\"addItemList($event)\"\n aria-labelledby=\"metadata-type-label\"\n ></pry-select>\n </div>\n\n <ng-container *ngIf=\"metaForm.value.type === 'LIST'\">\n <div class=\"o-datas-list-wrapper\" formArrayName=\"allowedValues\" *ngIf=\"metadataList.controls.length > 0\">\n <fieldset>\n <legend class=\"u-visually-hidden\">{{ '@pry.admin.varType.list' | i18n }}</legend>\n\n <div class=\"o-datas-list metadata-list\" *ngFor=\"let control of metadataList.controls; let i = index\">\n <div class=\"o-datas-list__fields metadata-input\">\n <div class=\"m-form-label-field -width-sm\">\n <label id=\"metadata-list-label\" for=\"metadata-list\" class=\"a-label\">\n {{ '@pry.admin.metadata.listLabel' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <input\n class=\"a-form-field\"\n id=\"metadata-list\"\n formControlName=\"{{ i }}\"\n [required]=\"!control.value\"\n [attr.aria-invalid]=\"isSubmitted && control?.invalid\"\n [attr.aria-labelledby]=\"\n isSubmitted && control?.invalid ? 'metadata-list-label metadata-list-error' : 'metadata-list-label'\n \"\n />\n <label\n *ngIf=\"isSubmitted && control.invalid\"\n id=\"metadata-list-error\"\n for=\"metadata-list\"\n class=\"a-label a-label--help -error\"\n >\n {{ '@pry.admin.required' | i18n }}\n </label>\n </div>\n\n <div class=\"m-btn-group m-btn-group--input-actions\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--input-action\"\n *ngIf=\"i === metadataList.controls.length - 1\"\n (click)=\"control.value.trim() !== '' ? addItemList() : undefined\"\n >\n <span class=\"u-visually-hidden\">{{ '@pry.admin.metadata.addValue' | i18n }}</span>\n <pry-icon iconSvg=\"add\" [width]=\"20\" [height]=\"20\"></pry-icon>\n </button>\n <button\n type=\"button\"\n class=\"a-btn a-btn--input-action\"\n *ngIf=\"i !== 0 && !metadataList.controls[i].disabled\"\n (click)=\"removeItemList(i)\"\n >\n <span class=\"u-visually-hidden\">{{ '@pry.admin.metadata.removeValue' | i18n }}</span>\n <pry-icon iconSvg=\"delete\" [width]=\"20\" [height]=\"20\"></pry-icon>\n </button>\n </div>\n </div>\n </div>\n </fieldset>\n </div>\n </ng-container>\n\n <div class=\"m-btn-group -width-sm\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary\"\n (click)=\"goBack()\"\n [innerHTML]=\"'@pry.admin.cancel' | i18n\"\n ></button>\n <button\n class=\"a-btn a-btn--primary\"\n type=\"submit\"\n [innerHTML]=\"(metadata ? '@pry.admin.edit' : '@pry.admin.create') | i18n\"\n ></button>\n </div>\n </form>\n</div>\n" }]
117
+ args: [{ selector: 'pry-form-metadata', template: "<div class=\"o-base-container\">\n <h1 class=\"a-h1\">{{ titleForm }}</h1>\n\n <form class=\"o-form\" [formGroup]=\"metaForm\" (ngSubmit)=\"addMetadata()\">\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" id=\"name-label\" for=\"metadata-name\">\n {{ '@pry.admin.metadata.label' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <input\n class=\"a-form-field\"\n id=\"metadata-name\"\n type=\"text\"\n formControlName=\"name\"\n [required]=\"!metadata\"\n [attr.aria-labelledby]=\"isSubmitted && metaForm.get('name')?.invalid ? 'name-label name-error' : 'name-label'\"\n [attr.aria-invalid]=\"isSubmitted && metaForm.get('name')?.invalid\"\n />\n <label\n *ngIf=\"isSubmitted && metaForm.get('name')?.invalid\"\n id=\"name-error\"\n for=\"metadata-name\"\n class=\"a-label a-label--help -error\"\n >\n <span *ngIf=\"metaForm.get('name')?.hasError('same-name')\">{{ '@pry.admin.exists' | i18n }}</span>\n <span *ngIf=\"metaForm.get('name')?.hasError('required')\">{{ '@pry.admin.required' | i18n }}</span>\n <span *ngIf=\"metaForm.get('name')?.hasError('pattern')\">{{ '@pry.admin.classes.formatName' | i18n }}</span>\n </label>\n </div>\n\n <div class=\"m-form-label-field -width-md\">\n <label class=\"a-label\" for=\"metadata_description\">{{ '@pry.admin.metadata.description' | i18n }}</label>\n <textarea\n rows=\"5\"\n type=\"text\"\n id=\"metadata_description\"\n class=\"a-form-field\"\n formControlName=\"description\"\n ></textarea>\n </div>\n\n <div class=\"m-form-label-field -width-sm\">\n <label for=\"metadata-type\" id=\"metadata-type-label\" class=\"a-label\">\n {{ '@pry.admin.metadata.type' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <pry-select\n id=\"metadata-type\"\n formControlName=\"type\"\n [items]=\"metaOptions\"\n bindValue=\"varType\"\n bindLabel=\"translation\"\n [readonly]=\"!!metadata\"\n [isForm]=\"true\"\n (ngModelChange)=\"addItemList($event)\"\n aria-labelledby=\"metadata-type-label\"\n ></pry-select>\n </div>\n\n <ng-container *ngIf=\"metaForm.value.type === 'LIST'\">\n <div class=\"o-datas-list-wrapper\" formArrayName=\"allowedValues\" *ngIf=\"metadataList.controls.length > 0\">\n <fieldset>\n <legend class=\"u-visually-hidden\">{{ '@pry.admin.varType.list' | i18n }}</legend>\n\n <div class=\"o-datas-list metadata-list\" *ngFor=\"let control of metadataList.controls; let i = index\">\n <div class=\"o-datas-list__fields metadata-input\">\n <div class=\"m-form-label-field -width-sm\">\n <label id=\"metadata-list-label\" for=\"metadata-list\" class=\"a-label\">\n {{ '@pry.admin.metadata.listLabel' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <input\n class=\"a-form-field\"\n id=\"metadata-list\"\n formControlName=\"{{ i }}\"\n [required]=\"!control.value\"\n [attr.aria-invalid]=\"isSubmitted && control?.invalid\"\n [attr.aria-labelledby]=\"\n isSubmitted && control?.invalid ? 'metadata-list-label metadata-list-error' : 'metadata-list-label'\n \"\n />\n <label\n *ngIf=\"isSubmitted && control.invalid\"\n id=\"metadata-list-error\"\n for=\"metadata-list\"\n class=\"a-label a-label--help -error\"\n >\n {{ '@pry.admin.required' | i18n }}\n </label>\n </div>\n\n <div class=\"m-btn-group m-btn-group--input-actions\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--input-action\"\n *ngIf=\"i === metadataList.controls.length - 1\"\n (click)=\"control.value.trim() !== '' ? addItemList() : undefined\"\n >\n <span class=\"u-visually-hidden\">{{ '@pry.admin.metadata.addValue' | i18n }}</span>\n <pry-icon iconSvg=\"add\" [width]=\"20\" [height]=\"20\"></pry-icon>\n </button>\n <button\n type=\"button\"\n class=\"a-btn a-btn--input-action\"\n *ngIf=\"i !== 0 && !metadataList.controls[i].disabled\"\n (click)=\"removeItemList(i)\"\n >\n <span class=\"u-visually-hidden\">{{ '@pry.admin.metadata.removeValue' | i18n }}</span>\n <pry-icon iconSvg=\"delete\" [width]=\"20\" [height]=\"20\"></pry-icon>\n </button>\n </div>\n </div>\n </div>\n </fieldset>\n </div>\n </ng-container>\n\n <div class=\"m-btn-group -width-sm\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary\"\n (click)=\"goBack()\"\n [innerHTML]=\"'@pry.admin.cancel' | i18n\"\n ></button>\n <button\n class=\"a-btn a-btn--primary\"\n type=\"submit\"\n [innerHTML]=\"(metadata ? '@pry.admin.edit' : '@pry.admin.create') | i18n\"\n ></button>\n </div>\n </form>\n</div>\n" }]
118
118
  }], ctorParameters: function () { return [{ type: i1.Store }, { type: i2.Router }, { type: i2.ActivatedRoute }, { type: i3.UntypedFormBuilder }]; }, propDecorators: { titleForm: [{
119
119
  type: Input
120
120
  }], isMetaSimpleEdit: [{
@@ -126,4 +126,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
126
126
  }], submitMetadata$: [{
127
127
  type: Output
128
128
  }] } });
129
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1tZXRhZGF0YS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9hZG1pbi9jb21wb25lbnRzL2FkbWluLW1ldGFkYXRhL3NoYXJlZC9mb3JtLW1ldGFkYXRhL2Zvcm0tbWV0YWRhdGEuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvYWRtaW4vY29tcG9uZW50cy9hZG1pbi1tZXRhZGF0YS9zaGFyZWQvZm9ybS1tZXRhZGF0YS9mb3JtLW1ldGFkYXRhLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBd0Msa0JBQWtCLEVBQW9CLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3hILE9BQU8sRUFBYSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNsRixPQUFPLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBYyxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEUsT0FBTyxFQUFFLEVBQUUsSUFBSSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7O0FBTS9ELE1BQU0sT0FBTyxxQkFBcUI7SUFtQmhDLFlBQ1UsS0FBaUIsRUFDakIsTUFBYyxFQUNkLEtBQXFCLEVBQ3JCLFdBQStCO1FBSC9CLFVBQUssR0FBTCxLQUFLLENBQVk7UUFDakIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLFVBQUssR0FBTCxLQUFLLENB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QUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1NBQ3pFO1FBQ0QsT0FBTyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDekIsQ0FBQzsrR0F4SFUscUJBQXFCO21HQUFyQixxQkFBcUIsb09DZGxDLDRwTEF1SUE7OzRGRHpIYSxxQkFBcUI7a0JBSmpDLFNBQVM7K0JBQ0UsbUJBQW1COytLQWVwQixTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUksZUFBZTtzQkFBeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1BcnJheSwgVW50eXBlZEZvcm1CdWlsZGVyLCBVbnR5cGVkRm9ybUNvbnRyb2wsIFVudHlwZWRGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgSU1ldGFkYXRhLCBNRVRBX09QVElPTlMgfSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQnO1xuaW1wb3J0IHsgTWV0YWRhdGFTZWxlY3RvcnMgfSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQvY29tcG9uZW50cy9tZXRhZGF0YS1lZGl0b3InO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgbWFwLCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHY0IGFzIHV1aWQgfSBmcm9tICd1dWlkJztcbmltcG9ydCB7IEFkbWluQWN0aW9ucyB9IGZyb20gJy4uLy4uLy4uLy4uL3N0b3JlL2FkbWluLmFjdGlvbnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwcnktZm9ybS1tZXRhZGF0YScsXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JtLW1ldGFkYXRhLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBGb3JtTWV0YWRhdGFDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIG1ldGFGb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xuICBtZXRhT3B0aW9ucyA9IE1FVEFfT1BUSU9OUztcbiAgY3VycmVudFR5cGVUcmFuc2xhdGlvbiA9ICcnO1xuXG4gIG1ldGFkYXRhTmFtZXMkPzogT2JzZXJ2YWJsZTxzdHJpbmdbXT47XG4gIG5hbWVBbHJlYWR5RXhpc3RzJD86IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgc3ViID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gIGlzU3VibWl0dGVkID0gZmFsc2U7XG5cbiAgQElucHV0KCkgdGl0bGVGb3JtOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgaXNNZXRhU2ltcGxlRWRpdCA9IGZhbHNlO1xuICBASW5wdXQoKSBpc01ldGFVc2VyID0gZmFsc2U7XG4gIEBJbnB1dCgpIG1ldGFkYXRhPzogSU1ldGFkYXRhO1xuXG4gIEBPdXRwdXQoKSBzdWJtaXRNZXRhZGF0YSQ6IEV2ZW50RW1pdHRlcjxJTWV0YWRhdGE+ID0gbmV3IEV2ZW50RW1pdHRlcjxJTWV0YWRhdGE+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmU8YW55PixcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgZm9ybUJ1aWxkZXI6IFVudHlwZWRGb3JtQnVpbGRlclxuICApIHtcbiAgICB0aGlzLm1ldGFGb3JtID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICBpZDogW3sgdmFsdWU6IHV1aWQoKSwgZGlzYWJsZWQ6IHRydWUgfV0sXG4gICAgICBuYW1lOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXG4gICAgICB0eXBlOiBbdGhpcy5tZXRhT3B0aW9uc1swXS52YXJUeXBlXSxcbiAgICAgIGRlc2NyaXB0aW9uOiBbXSxcbiAgICAgIGFsbG93ZWRWYWx1ZXM6IHRoaXMuZm9ybUJ1aWxkZXIuYXJyYXkoW10pXG4gICAgfSk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc01ldGFVc2VyKSB7XG4gICAgICB0aGlzLm1ldGFkYXRhTmFtZXMkID0gdGhpcy5zdG9yZVxuICAgICAgICAuc2VsZWN0KE1ldGFkYXRhU2VsZWN0b3JzLnVzZXJQcm9maWxlKVxuICAgICAgICAucGlwZShtYXAoKG1ldGFkYXRhKSA9PiBtZXRhZGF0YS5tYXAoKG1ldGFkYXRhKSA9PiBtZXRhZGF0YS5uYW1lLnRvTG93ZXJDYXNlKCkpKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubWV0YWRhdGFOYW1lcyQgPSB0aGlzLnN0b3JlXG4gICAgICAgIC5zZWxlY3QoTWV0YWRhdGFTZWxlY3RvcnMubWV0YWRhdGEpXG4gICAgICAgIC5waXBlKG1hcCgobWV0YWRhdGEpID0+IG1ldGFkYXRhLm1hcCgobWV0YWRhdGE6IElNZXRhZGF0YSkgPT4gbWV0YWRhdGEubmFtZS50b0xvd2VyQ2FzZSgpKSkpO1xuICAgIH1cblxuICAgIHRoaXMubmFtZUFscmVhZHlFeGlzdHMkID0gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLm1ldGFGb3JtLmdldCgnbmFtZScpPy52YWx1ZUNoYW5nZXMgYXMgT2JzZXJ2YWJsZTxzdHJpbmc+LFxuICAgICAgdGhpcy5tZXRhZGF0YU5hbWVzJFxuICAgIF0pLnBpcGUobWFwKChbdmFsdWUsIG1ldGFOYW1lc10pID0+IG1ldGFOYW1lcy5pbmNsdWRlcyh2YWx1ZS50b0xvd2VyQ2FzZSgpKSAmJiB2YWx1ZSAhPSB0aGlzLm1ldGFkYXRhPy5uYW1lKSk7XG4gICAgdGhpcy5zdWIuYWRkKFxuICAgICAgdGhpcy5uYW1lQWxyZWFkeUV4aXN0cyQuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICB0aGlzLm1ldGFGb3JtLmNvbnRyb2xzWyduYW1lJ10uc2V0RXJyb3JzKHsgJ3NhbWUtbmFtZSc6IHRydWUgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgfSlcbiAgICApO1xuXG4gICAgaWYgKHRoaXMubWV0YWRhdGEpIHtcbiAgICAgIGNvbnN0IHR5cGUgPSBNRVRBX09QVElPTlMuZmluZCgoZWwpID0+IGVsLnZhclR5cGUgPT09IHRoaXMubWV0YWRhdGE/LnR5cGUpO1xuICAgICAgdGhpcy5jdXJyZW50VHlwZVRyYW5zbGF0aW9uID0gdHlwZSA/IHR5cGUudHJhbnNsYXRpb24gOiBNRVRBX09QVElPTlNbMF0udHJhbnNsYXRpb247XG4gICAgICB0aGlzLm1ldGFGb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgICBpZDogdGhpcy5tZXRhZGF0YS5pZCxcbiAgICAgICAgbmFtZTogdGhpcy5tZXRhZGF0YS5uYW1lLFxuICAgICAgICB0eXBlOiB0aGlzLm1ldGFkYXRhLnR5cGUsXG4gICAgICAgIGRlc2NyaXB0aW9uOiB0aGlzLm1ldGFkYXRhLmRlc2NyaXB0aW9uXG4gICAgICB9KTtcbiAgICAgIGlmICh0aGlzLmlzTWV0YVNpbXBsZUVkaXQpIHtcbiAgICAgICAgdGhpcy5tZXRhRm9ybS5jb250cm9sc1snbmFtZSddLmRpc2FibGUoKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMubWV0YWRhdGEuYWxsb3dlZFZhbHVlcykge1xuICAgICAgICBmb3IgKGxldCBpdGVtIG9mIHRoaXMubWV0YWRhdGEuYWxsb3dlZFZhbHVlcykge1xuICAgICAgICAgIHRoaXMubWV0YWRhdGFMaXN0LnB1c2gobmV3IFVudHlwZWRGb3JtQ29udHJvbCh7IHZhbHVlOiBpdGVtLCBkaXNhYmxlZDogdHJ1ZSB9KSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnN1Yi51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgZ2V0IG1ldGFkYXRhTGlzdCgpIHtcbiAgICByZXR1cm4gdGhpcy5tZXRhRm9ybS5jb250cm9sc1snYWxsb3dlZFZhbHVlcyddIGFzIFVudHlwZWRGb3JtQXJyYXk7XG4gIH1cblxuICBhZGRNZXRhZGF0YSgpIHtcbiAgICB0aGlzLmlzU3VibWl0dGVkID0gdHJ1ZTtcbiAgICBpZiAodGhpcy5tZXRhRm9ybS52YWxpZCkge1xuICAgICAgdGhpcy5pc1N1Ym1pdHRlZCA9IGZhbHNlO1xuICAgICAgbGV0IHBheWxvYWQgPSB7XG4gICAgICAgIC4uLnRoaXMubWV0YUZvcm0uZ2V0UmF3VmFsdWUoKSxcbiAgICAgICAgYWxsb3dlZFZhbHVlczogdGhpcy5tZXRhRm9ybS5nZXRSYXdWYWx1ZSgpLmFsbG93ZWRWYWx1ZXMuZmlsdGVyKCh4OiBzdHJpbmcpID0+IHggIT09IG51bGwpXG4gICAgICB9O1xuICAgICAgdGhpcy5zdWJtaXRNZXRhZGF0YSQuZW1pdChwYXlsb2FkKTtcbiAgICAgIHRoaXMuZ29CYWNrKCk7XG4gICAgfVxuICB9XG5cbiAgYWRkSXRlbUxpc3QodHlwZT86IHN0cmluZykge1xuICAgIGlmICh0eXBlID09PSAnTElTVCcgfHwgdHlwZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLm1ldGFkYXRhTGlzdC5wdXNoKG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woJycsIFZhbGlkYXRvcnMucmVxdWlyZWQpKTtcbiAgICB9XG4gIH1cblxuICByZW1vdmVJdGVtTGlzdChpbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy5tZXRhZGF0YUxpc3QucmVtb3ZlQXQoaW5kZXgpO1xuICB9XG5cbiAgZ29CYWNrKCkge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQWRtaW5BY3Rpb25zLnJvdXRlVG8oeyBwYXRoOiB0aGlzLmdldFBhdGgoKSB9KSk7XG4gIH1cblxuICBnZXRQYXRoKCkge1xuICAgIGxldCBwYXRoID0gdGhpcy5yb3V0ZXIuY3JlYXRlVXJsVHJlZShbJy4uJ10sIHsgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSB9KTtcbiAgICBpZiAodGhpcy5tZXRhZGF0YSkge1xuICAgICAgcGF0aCA9IHRoaXMucm91dGVyLmNyZWF0ZVVybFRyZWUoWycuLi8uLiddLCB7IHJlbGF0aXZlVG86IHRoaXMucm91dGUgfSk7XG4gICAgfVxuICAgIHJldHVybiBwYXRoLnRvU3RyaW5nKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJvLWJhc2UtY29udGFpbmVyXCI+XG4gIDxoMSBjbGFzcz1cImEtaDFcIj57eyB0aXRsZUZvcm0gfX08L2gxPlxuXG4gIDxmb3JtIGNsYXNzPVwiby1mb3JtXCIgW2Zvcm1Hcm91cF09XCJtZXRhRm9ybVwiIChuZ1N1Ym1pdCk9XCJhZGRNZXRhZGF0YSgpXCI+XG4gICAgPGRpdiBjbGFzcz1cIm0tZm9ybS1sYWJlbC1maWVsZCAtd2lkdGgtc21cIj5cbiAgICAgIDxsYWJlbCBjbGFzcz1cImEtbGFiZWxcIiBpZD1cIm5hbWUtbGFiZWxcIiBmb3I9XCJtZXRhZGF0YS1uYW1lXCI+XG4gICAgICAgIHt7ICdAcHJ5LmFkbWluLm1ldGFkYXRhLmxhYmVsJyB8IGkxOG4gfX0gKlxuICAgICAgICA8c3BhbiBjbGFzcz1cInUtdmlzdWFsbHktaGlkZGVuXCI+KHt7ICdAcHJ5LmFkbWluLnJlcXVpcmVkJyB8IGkxOG4gfX0pPC9zcGFuPlxuICAgICAgPC9sYWJlbD5cbiAgICAgIDxpbnB1dFxuICAgICAgICBjbGFzcz1cImEtZm9ybS1maWVsZFwiXG4gICAgICAgIGlkPVwibWV0YWRhdGEtbmFtZVwiXG4gICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibmFtZVwiXG4gICAgICAgIFtyZXF1aXJlZF09XCIhbWV0YWRhdGFcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiaXNTdWJtaXR0ZWQgJiYgbWV0YUZvcm0uZ2V0KCduYW1lJyk/LmludmFsaWQgPyAnbmFtZS1sYWJlbCBuYW1lLWVycm9yJyA6ICduYW1lLWxhYmVsJ1wiXG4gICAgICAgIFthdHRyLmFyaWEtaW52YWxpZF09XCJpc1N1Ym1pdHRlZCAmJiBtZXRhRm9ybS5nZXQoJ25hbWUnKT8uaW52YWxpZFwiXG4gICAgICAvPlxuICAgICAgPGxhYmVsXG4gICAgICAgICpuZ0lmPVwiaXNTdWJtaXR0ZWQgJiYgbWV0YUZvcm0uZ2V0KCduYW1lJyk/LmludmFsaWRcIlxuICAgICAgICBpZD1cIm5hbWUtZXJyb3JcIlxuICAgICAgICBmb3I9XCJtZXRhZGF0YS1uYW1lXCJcbiAgICAgICAgY2xhc3M9XCJhLWxhYmVsIGEtbGFiZWwtLWhlbHAgLWVycm9yXCJcbiAgICAgID5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJtZXRhRm9ybS5nZXQoJ25hbWUnKT8uaGFzRXJyb3IoJ3NhbWUtbmFtZScpXCI+e3sgJ0BwcnkuYWRtaW4uZXhpc3RzJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwibWV0YUZvcm0uZ2V0KCduYW1lJyk/Lmhhc0Vycm9yKCdyZXF1aXJlZCcpXCI+e3sgJ0BwcnkuYWRtaW4ucmVxdWlyZWQnIHwgaTE4biB9fTwvc3Bhbj5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJtZXRhRm9ybS5nZXQoJ25hbWUnKT8uaGFzRXJyb3IoJ3BhdHRlcm4nKVwiPnt7ICdAcHJ5LmFkbWluLmNsYXNzZXMuZm9ybWF0TmFtZScgfCBpMThuIH19PC9zcGFuPlxuICAgICAgPC9sYWJlbD5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJtLWZvcm0tbGFiZWwtZmllbGQgLXdpZHRoLW1kXCI+XG4gICAgICA8bGFiZWwgY2xhc3M9XCJhLWxhYmVsXCIgZm9yPVwibWV0YWRhdGFfZGVzY3JpcHRpb25cIj57eyAnQHByeS5hZG1pbi5tZXRhZGF0YS5kZXNjcmlwdGlvbicgfCBpMThuIH19PC9sYWJlbD5cbiAgICAgIDx0ZXh0YXJlYVxuICAgICAgICByb3dzPVwiNVwiXG4gICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgaWQ9XCJtZXRhZGF0YV9kZXNjcmlwdGlvblwiXG4gICAgICAgIGNsYXNzPVwiYS1mb3JtLWZpZWxkXCJcbiAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZGVzY3JpcHRpb25cIlxuICAgICAgPjwvdGV4dGFyZWE+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwibS1mb3JtLWxhYmVsLWZpZWxkIC13aWR0aC1zbVwiPlxuICAgICAgPGxhYmVsIGZvcj1cIm1ldGFkYXRhLXR5cGVcIiBpZD1cIm1ldGFkYXRhLXR5cGUtbGFiZWxcIiBjbGFzcz1cImEtbGFiZWxcIj5cbiAgICAgICAge3sgJ0BwcnkuYWRtaW4ubWV0YWRhdGEudHlwZScgfCBpMThuIH19ICpcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ1LXZpc3VhbGx5LWhpZGRlblwiPih7eyAnQHByeS5hZG1pbi5yZXF1aXJlZCcgfCBpMThuIH19KTwvc3Bhbj5cbiAgICAgIDwvbGFiZWw+XG4gICAgICA8cHJ5LXNlbGVjdFxuICAgICAgICBjbGFzcz1cImEtcHJ5LXNlbGVjdFwiXG4gICAgICAgIGlkPVwibWV0YWRhdGEtdHlwZVwiXG4gICAgICAgIGZvcm1Db250cm9sTmFtZT1cInR5cGVcIlxuICAgICAgICBbbGFiZWxUcmFuc2xhdGVdPVwidHJ1ZVwiXG4gICAgICAgIFtpdGVtc109XCJtZXRhT3B0aW9uc1wiXG4gICAgICAgIFtpdGVtc0FzT3B0aW9uXT1cInRydWVcIlxuICAgICAgICBiaW5kVmFsdWU9XCJ2YXJUeXBlXCJcbiAgICAgICAgYmluZExhYmVsPVwidHJhbnNsYXRpb25cIlxuICAgICAgICBbcmVhZG9ubHldPVwiISFtZXRhZGF0YVwiXG4gICAgICAgIFtpc0Zvcm1dPVwidHJ1ZVwiXG4gICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImFkZEl0ZW1MaXN0KCRldmVudClcIlxuICAgICAgICBhcmlhLWxhYmVsbGVkYnk9XCJtZXRhZGF0YS10eXBlLWxhYmVsXCJcbiAgICAgID48L3ByeS1zZWxlY3Q+XG4gICAgPC9kaXY+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibWV0YUZvcm0udmFsdWUudHlwZSA9PT0gJ0xJU1QnXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiby1kYXRhcy1saXN0LXdyYXBwZXJcIiBmb3JtQXJyYXlOYW1lPVwiYWxsb3dlZFZhbHVlc1wiICpuZ0lmPVwibWV0YWRhdGFMaXN0LmNvbnRyb2xzLmxlbmd0aCA+IDBcIj5cbiAgICAgICAgPGZpZWxkc2V0PlxuICAgICAgICAgIDxsZWdlbmQgY2xhc3M9XCJ1LXZpc3VhbGx5LWhpZGRlblwiPnt7ICdAcHJ5LmFkbWluLnZhclR5cGUubGlzdCcgfCBpMThuIH19PC9sZWdlbmQ+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiby1kYXRhcy1saXN0IG1ldGFkYXRhLWxpc3RcIiAqbmdGb3I9XCJsZXQgY29udHJvbCBvZiBtZXRhZGF0YUxpc3QuY29udHJvbHM7IGxldCBpID0gaW5kZXhcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvLWRhdGFzLWxpc3RfX2ZpZWxkcyBtZXRhZGF0YS1pbnB1dFwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibS1mb3JtLWxhYmVsLWZpZWxkIC13aWR0aC1zbVwiPlxuICAgICAgICAgICAgICAgIDxsYWJlbCBpZD1cIm1ldGFkYXRhLWxpc3QtbGFiZWxcIiBmb3I9XCJtZXRhZGF0YS1saXN0XCIgY2xhc3M9XCJhLWxhYmVsXCI+XG4gICAgICAgICAgICAgICAgICB7eyAnQHByeS5hZG1pbi5tZXRhZGF0YS5saXN0TGFiZWwnIHwgaTE4biB9fSAqXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInUtdmlzdWFsbHktaGlkZGVuXCI+KHt7ICdAcHJ5LmFkbWluLnJlcXVpcmVkJyB8IGkxOG4gfX0pPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImEtZm9ybS1maWVsZFwiXG4gICAgICAgICAgICAgICAgICBpZD1cIm1ldGFkYXRhLWxpc3RcIlxuICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwie3sgaSB9fVwiXG4gICAgICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwiIWNvbnRyb2wudmFsdWVcIlxuICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cImlzU3VibWl0dGVkICYmIGNvbnRyb2w/LmludmFsaWRcIlxuICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cIlxuICAgICAgICAgICAgICAgICAgICBpc1N1Ym1pdHRlZCAmJiBjb250cm9sPy5pbnZhbGlkID8gJ21ldGFkYXRhLWxpc3QtbGFiZWwgbWV0YWRhdGEtbGlzdC1lcnJvcicgOiAnbWV0YWRhdGEtbGlzdC1sYWJlbCdcbiAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaXNTdWJtaXR0ZWQgJiYgY29udHJvbC5pbnZhbGlkXCJcbiAgICAgICAgICAgICAgICAgIGlkPVwibWV0YWRhdGEtbGlzdC1lcnJvclwiXG4gICAgICAgICAgICAgICAgICBmb3I9XCJtZXRhZGF0YS1saXN0XCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYS1sYWJlbCBhLWxhYmVsLS1oZWxwIC1lcnJvclwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge3sgJ0BwcnkuYWRtaW4ucmVxdWlyZWQnIHwgaTE4biB9fVxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtLWJ0bi1ncm91cCBtLWJ0bi1ncm91cC0taW5wdXQtYWN0aW9uc1wiPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhLWJ0biBhLWJ0bi0taW5wdXQtYWN0aW9uXCJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaSA9PT0gbWV0YWRhdGFMaXN0LmNvbnRyb2xzLmxlbmd0aCAtIDFcIlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNvbnRyb2wudmFsdWUudHJpbSgpICE9PSAnJyA/IGFkZEl0ZW1MaXN0KCkgOiB1bmRlZmluZWRcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidS12aXN1YWxseS1oaWRkZW5cIj57eyAnQHByeS5hZG1pbi5tZXRhZGF0YS5hZGRWYWx1ZScgfCBpMThuIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPHByeS1pY29uIGljb25Tdmc9XCJhZGRcIiBbd2lkdGhdPVwiMjBcIiBbaGVpZ2h0XT1cIjIwXCI+PC9wcnktaWNvbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYS1idG4gYS1idG4tLWlucHV0LWFjdGlvblwiXG4gICAgICAgICAgICAgICAgICAqbmdJZj1cImkgIT09IDAgJiYgIW1ldGFkYXRhTGlzdC5jb250cm9sc1tpXS5kaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwicmVtb3ZlSXRlbUxpc3QoaSlcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidS12aXN1YWxseS1oaWRkZW5cIj57eyAnQHByeS5hZG1pbi5tZXRhZGF0YS5yZW1vdmVWYWx1ZScgfCBpMThuIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPHByeS1pY29uIGljb25Tdmc9XCJkZWxldGVcIiBbd2lkdGhdPVwiMjBcIiBbaGVpZ2h0XT1cIjIwXCI+PC9wcnktaWNvbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9maWVsZHNldD5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPGRpdiBjbGFzcz1cIm0tYnRuLWdyb3VwIC13aWR0aC1zbVwiPlxuICAgICAgPGJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJhLWJ0biBhLWJ0bi0tc2Vjb25kYXJ5XCJcbiAgICAgICAgKGNsaWNrKT1cImdvQmFjaygpXCJcbiAgICAgICAgW2lubmVySFRNTF09XCInQHByeS5hZG1pbi5jYW5jZWwnIHwgaTE4blwiXG4gICAgICA+PC9idXR0b24+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIGNsYXNzPVwiYS1idG4gYS1idG4tLXByaW1hcnlcIlxuICAgICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgICAgW2lubmVySFRNTF09XCIobWV0YWRhdGEgPyAnQHByeS5hZG1pbi5lZGl0JyA6ICdAcHJ5LmFkbWluLmNyZWF0ZScpIHwgaTE4blwiXG4gICAgICA+PC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZm9ybT5cbjwvZGl2PlxuIl19
129
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1tZXRhZGF0YS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9hZG1pbi9jb21wb25lbnRzL2FkbWluLW1ldGFkYXRhL3NoYXJlZC9mb3JtLW1ldGFkYXRhL2Zvcm0tbWV0YWRhdGEuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvYWRtaW4vY29tcG9uZW50cy9hZG1pbi1tZXRhZGF0YS9zaGFyZWQvZm9ybS1tZXRhZGF0YS9mb3JtLW1ldGFkYXRhLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBd0Msa0JBQWtCLEVBQW9CLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3hILE9BQU8sRUFBYSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNsRixPQUFPLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBYyxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEUsT0FBTyxFQUFFLEVBQUUsSUFBSSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7O0FBTS9ELE1BQU0sT0FBTyxxQkFBcUI7SUFtQmhDLFlBQ1UsS0FBaUIsRUFDakIsTUFBYyxFQUNkLEtBQXFCLEVBQ3JCLFdBQStCO1FBSC9CLFVBQUssR0FBTCxLQUFLLENBQVk7UUFDakIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLFVBQUssR0FBTCxLQUFLLENB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QUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1NBQ3pFO1FBQ0QsT0FBTyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDekIsQ0FBQzsrR0F4SFUscUJBQXFCO21HQUFyQixxQkFBcUIsb09DZGxDLHVqTEFvSUE7OzRGRHRIYSxxQkFBcUI7a0JBSmpDLFNBQVM7K0JBQ0UsbUJBQW1COytLQWVwQixTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUksZUFBZTtzQkFBeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1BcnJheSwgVW50eXBlZEZvcm1CdWlsZGVyLCBVbnR5cGVkRm9ybUNvbnRyb2wsIFVudHlwZWRGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgSU1ldGFkYXRhLCBNRVRBX09QVElPTlMgfSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQnO1xuaW1wb3J0IHsgTWV0YWRhdGFTZWxlY3RvcnMgfSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQvY29tcG9uZW50cy9tZXRhZGF0YS1lZGl0b3InO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgbWFwLCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHY0IGFzIHV1aWQgfSBmcm9tICd1dWlkJztcbmltcG9ydCB7IEFkbWluQWN0aW9ucyB9IGZyb20gJy4uLy4uLy4uLy4uL3N0b3JlL2FkbWluLmFjdGlvbnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwcnktZm9ybS1tZXRhZGF0YScsXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JtLW1ldGFkYXRhLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBGb3JtTWV0YWRhdGFDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIG1ldGFGb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xuICBtZXRhT3B0aW9ucyA9IE1FVEFfT1BUSU9OUztcbiAgY3VycmVudFR5cGVUcmFuc2xhdGlvbiA9ICcnO1xuXG4gIG1ldGFkYXRhTmFtZXMkPzogT2JzZXJ2YWJsZTxzdHJpbmdbXT47XG4gIG5hbWVBbHJlYWR5RXhpc3RzJD86IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgc3ViID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gIGlzU3VibWl0dGVkID0gZmFsc2U7XG5cbiAgQElucHV0KCkgdGl0bGVGb3JtOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgaXNNZXRhU2ltcGxlRWRpdCA9IGZhbHNlO1xuICBASW5wdXQoKSBpc01ldGFVc2VyID0gZmFsc2U7XG4gIEBJbnB1dCgpIG1ldGFkYXRhPzogSU1ldGFkYXRhO1xuXG4gIEBPdXRwdXQoKSBzdWJtaXRNZXRhZGF0YSQ6IEV2ZW50RW1pdHRlcjxJTWV0YWRhdGE+ID0gbmV3IEV2ZW50RW1pdHRlcjxJTWV0YWRhdGE+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmU8YW55PixcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgZm9ybUJ1aWxkZXI6IFVudHlwZWRGb3JtQnVpbGRlclxuICApIHtcbiAgICB0aGlzLm1ldGFGb3JtID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICBpZDogW3sgdmFsdWU6IHV1aWQoKSwgZGlzYWJsZWQ6IHRydWUgfV0sXG4gICAgICBuYW1lOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXG4gICAgICB0eXBlOiBbdGhpcy5tZXRhT3B0aW9uc1swXS52YXJUeXBlXSxcbiAgICAgIGRlc2NyaXB0aW9uOiBbXSxcbiAgICAgIGFsbG93ZWRWYWx1ZXM6IHRoaXMuZm9ybUJ1aWxkZXIuYXJyYXkoW10pXG4gICAgfSk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc01ldGFVc2VyKSB7XG4gICAgICB0aGlzLm1ldGFkYXRhTmFtZXMkID0gdGhpcy5zdG9yZVxuICAgICAgICAuc2VsZWN0KE1ldGFkYXRhU2VsZWN0b3JzLnVzZXJQcm9maWxlKVxuICAgICAgICAucGlwZShtYXAoKG1ldGFkYXRhKSA9PiBtZXRhZGF0YS5tYXAoKG1ldGFkYXRhKSA9PiBtZXRhZGF0YS5uYW1lLnRvTG93ZXJDYXNlKCkpKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubWV0YWRhdGFOYW1lcyQgPSB0aGlzLnN0b3JlXG4gICAgICAgIC5zZWxlY3QoTWV0YWRhdGFTZWxlY3RvcnMubWV0YWRhdGEpXG4gICAgICAgIC5waXBlKG1hcCgobWV0YWRhdGEpID0+IG1ldGFkYXRhLm1hcCgobWV0YWRhdGE6IElNZXRhZGF0YSkgPT4gbWV0YWRhdGEubmFtZS50b0xvd2VyQ2FzZSgpKSkpO1xuICAgIH1cblxuICAgIHRoaXMubmFtZUFscmVhZHlFeGlzdHMkID0gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLm1ldGFGb3JtLmdldCgnbmFtZScpPy52YWx1ZUNoYW5nZXMgYXMgT2JzZXJ2YWJsZTxzdHJpbmc+LFxuICAgICAgdGhpcy5tZXRhZGF0YU5hbWVzJFxuICAgIF0pLnBpcGUobWFwKChbdmFsdWUsIG1ldGFOYW1lc10pID0+IG1ldGFOYW1lcy5pbmNsdWRlcyh2YWx1ZS50b0xvd2VyQ2FzZSgpKSAmJiB2YWx1ZSAhPSB0aGlzLm1ldGFkYXRhPy5uYW1lKSk7XG4gICAgdGhpcy5zdWIuYWRkKFxuICAgICAgdGhpcy5uYW1lQWxyZWFkeUV4aXN0cyQuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICB0aGlzLm1ldGFGb3JtLmNvbnRyb2xzWyduYW1lJ10uc2V0RXJyb3JzKHsgJ3NhbWUtbmFtZSc6IHRydWUgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgfSlcbiAgICApO1xuXG4gICAgaWYgKHRoaXMubWV0YWRhdGEpIHtcbiAgICAgIGNvbnN0IHR5cGUgPSBNRVRBX09QVElPTlMuZmluZCgoZWwpID0+IGVsLnZhclR5cGUgPT09IHRoaXMubWV0YWRhdGE/LnR5cGUpO1xuICAgICAgdGhpcy5jdXJyZW50VHlwZVRyYW5zbGF0aW9uID0gdHlwZSA/IHR5cGUudHJhbnNsYXRpb24gOiBNRVRBX09QVElPTlNbMF0udHJhbnNsYXRpb247XG4gICAgICB0aGlzLm1ldGFGb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgICBpZDogdGhpcy5tZXRhZGF0YS5pZCxcbiAgICAgICAgbmFtZTogdGhpcy5tZXRhZGF0YS5uYW1lLFxuICAgICAgICB0eXBlOiB0aGlzLm1ldGFkYXRhLnR5cGUsXG4gICAgICAgIGRlc2NyaXB0aW9uOiB0aGlzLm1ldGFkYXRhLmRlc2NyaXB0aW9uXG4gICAgICB9KTtcbiAgICAgIGlmICh0aGlzLmlzTWV0YVNpbXBsZUVkaXQpIHtcbiAgICAgICAgdGhpcy5tZXRhRm9ybS5jb250cm9sc1snbmFtZSddLmRpc2FibGUoKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMubWV0YWRhdGEuYWxsb3dlZFZhbHVlcykge1xuICAgICAgICBmb3IgKGxldCBpdGVtIG9mIHRoaXMubWV0YWRhdGEuYWxsb3dlZFZhbHVlcykge1xuICAgICAgICAgIHRoaXMubWV0YWRhdGFMaXN0LnB1c2gobmV3IFVudHlwZWRGb3JtQ29udHJvbCh7IHZhbHVlOiBpdGVtLCBkaXNhYmxlZDogdHJ1ZSB9KSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnN1Yi51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgZ2V0IG1ldGFkYXRhTGlzdCgpIHtcbiAgICByZXR1cm4gdGhpcy5tZXRhRm9ybS5jb250cm9sc1snYWxsb3dlZFZhbHVlcyddIGFzIFVudHlwZWRGb3JtQXJyYXk7XG4gIH1cblxuICBhZGRNZXRhZGF0YSgpIHtcbiAgICB0aGlzLmlzU3VibWl0dGVkID0gdHJ1ZTtcbiAgICBpZiAodGhpcy5tZXRhRm9ybS52YWxpZCkge1xuICAgICAgdGhpcy5pc1N1Ym1pdHRlZCA9IGZhbHNlO1xuICAgICAgbGV0IHBheWxvYWQgPSB7XG4gICAgICAgIC4uLnRoaXMubWV0YUZvcm0uZ2V0UmF3VmFsdWUoKSxcbiAgICAgICAgYWxsb3dlZFZhbHVlczogdGhpcy5tZXRhRm9ybS5nZXRSYXdWYWx1ZSgpLmFsbG93ZWRWYWx1ZXMuZmlsdGVyKCh4OiBzdHJpbmcpID0+IHggIT09IG51bGwpXG4gICAgICB9O1xuICAgICAgdGhpcy5zdWJtaXRNZXRhZGF0YSQuZW1pdChwYXlsb2FkKTtcbiAgICAgIHRoaXMuZ29CYWNrKCk7XG4gICAgfVxuICB9XG5cbiAgYWRkSXRlbUxpc3QodHlwZT86IHN0cmluZykge1xuICAgIGlmICh0eXBlID09PSAnTElTVCcgfHwgdHlwZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLm1ldGFkYXRhTGlzdC5wdXNoKG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woJycsIFZhbGlkYXRvcnMucmVxdWlyZWQpKTtcbiAgICB9XG4gIH1cblxuICByZW1vdmVJdGVtTGlzdChpbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy5tZXRhZGF0YUxpc3QucmVtb3ZlQXQoaW5kZXgpO1xuICB9XG5cbiAgZ29CYWNrKCkge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQWRtaW5BY3Rpb25zLnJvdXRlVG8oeyBwYXRoOiB0aGlzLmdldFBhdGgoKSB9KSk7XG4gIH1cblxuICBnZXRQYXRoKCkge1xuICAgIGxldCBwYXRoID0gdGhpcy5yb3V0ZXIuY3JlYXRlVXJsVHJlZShbJy4uJ10sIHsgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSB9KTtcbiAgICBpZiAodGhpcy5tZXRhZGF0YSkge1xuICAgICAgcGF0aCA9IHRoaXMucm91dGVyLmNyZWF0ZVVybFRyZWUoWycuLi8uLiddLCB7IHJlbGF0aXZlVG86IHRoaXMucm91dGUgfSk7XG4gICAgfVxuICAgIHJldHVybiBwYXRoLnRvU3RyaW5nKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJvLWJhc2UtY29udGFpbmVyXCI+XG4gIDxoMSBjbGFzcz1cImEtaDFcIj57eyB0aXRsZUZvcm0gfX08L2gxPlxuXG4gIDxmb3JtIGNsYXNzPVwiby1mb3JtXCIgW2Zvcm1Hcm91cF09XCJtZXRhRm9ybVwiIChuZ1N1Ym1pdCk9XCJhZGRNZXRhZGF0YSgpXCI+XG4gICAgPGRpdiBjbGFzcz1cIm0tZm9ybS1sYWJlbC1maWVsZCAtd2lkdGgtc21cIj5cbiAgICAgIDxsYWJlbCBjbGFzcz1cImEtbGFiZWxcIiBpZD1cIm5hbWUtbGFiZWxcIiBmb3I9XCJtZXRhZGF0YS1uYW1lXCI+XG4gICAgICAgIHt7ICdAcHJ5LmFkbWluLm1ldGFkYXRhLmxhYmVsJyB8IGkxOG4gfX0gKlxuICAgICAgICA8c3BhbiBjbGFzcz1cInUtdmlzdWFsbHktaGlkZGVuXCI+KHt7ICdAcHJ5LmFkbWluLnJlcXVpcmVkJyB8IGkxOG4gfX0pPC9zcGFuPlxuICAgICAgPC9sYWJlbD5cbiAgICAgIDxpbnB1dFxuICAgICAgICBjbGFzcz1cImEtZm9ybS1maWVsZFwiXG4gICAgICAgIGlkPVwibWV0YWRhdGEtbmFtZVwiXG4gICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibmFtZVwiXG4gICAgICAgIFtyZXF1aXJlZF09XCIhbWV0YWRhdGFcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiaXNTdWJtaXR0ZWQgJiYgbWV0YUZvcm0uZ2V0KCduYW1lJyk/LmludmFsaWQgPyAnbmFtZS1sYWJlbCBuYW1lLWVycm9yJyA6ICduYW1lLWxhYmVsJ1wiXG4gICAgICAgIFthdHRyLmFyaWEtaW52YWxpZF09XCJpc1N1Ym1pdHRlZCAmJiBtZXRhRm9ybS5nZXQoJ25hbWUnKT8uaW52YWxpZFwiXG4gICAgICAvPlxuICAgICAgPGxhYmVsXG4gICAgICAgICpuZ0lmPVwiaXNTdWJtaXR0ZWQgJiYgbWV0YUZvcm0uZ2V0KCduYW1lJyk/LmludmFsaWRcIlxuICAgICAgICBpZD1cIm5hbWUtZXJyb3JcIlxuICAgICAgICBmb3I9XCJtZXRhZGF0YS1uYW1lXCJcbiAgICAgICAgY2xhc3M9XCJhLWxhYmVsIGEtbGFiZWwtLWhlbHAgLWVycm9yXCJcbiAgICAgID5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJtZXRhRm9ybS5nZXQoJ25hbWUnKT8uaGFzRXJyb3IoJ3NhbWUtbmFtZScpXCI+e3sgJ0BwcnkuYWRtaW4uZXhpc3RzJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwibWV0YUZvcm0uZ2V0KCduYW1lJyk/Lmhhc0Vycm9yKCdyZXF1aXJlZCcpXCI+e3sgJ0BwcnkuYWRtaW4ucmVxdWlyZWQnIHwgaTE4biB9fTwvc3Bhbj5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJtZXRhRm9ybS5nZXQoJ25hbWUnKT8uaGFzRXJyb3IoJ3BhdHRlcm4nKVwiPnt7ICdAcHJ5LmFkbWluLmNsYXNzZXMuZm9ybWF0TmFtZScgfCBpMThuIH19PC9zcGFuPlxuICAgICAgPC9sYWJlbD5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJtLWZvcm0tbGFiZWwtZmllbGQgLXdpZHRoLW1kXCI+XG4gICAgICA8bGFiZWwgY2xhc3M9XCJhLWxhYmVsXCIgZm9yPVwibWV0YWRhdGFfZGVzY3JpcHRpb25cIj57eyAnQHByeS5hZG1pbi5tZXRhZGF0YS5kZXNjcmlwdGlvbicgfCBpMThuIH19PC9sYWJlbD5cbiAgICAgIDx0ZXh0YXJlYVxuICAgICAgICByb3dzPVwiNVwiXG4gICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgaWQ9XCJtZXRhZGF0YV9kZXNjcmlwdGlvblwiXG4gICAgICAgIGNsYXNzPVwiYS1mb3JtLWZpZWxkXCJcbiAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZGVzY3JpcHRpb25cIlxuICAgICAgPjwvdGV4dGFyZWE+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwibS1mb3JtLWxhYmVsLWZpZWxkIC13aWR0aC1zbVwiPlxuICAgICAgPGxhYmVsIGZvcj1cIm1ldGFkYXRhLXR5cGVcIiBpZD1cIm1ldGFkYXRhLXR5cGUtbGFiZWxcIiBjbGFzcz1cImEtbGFiZWxcIj5cbiAgICAgICAge3sgJ0BwcnkuYWRtaW4ubWV0YWRhdGEudHlwZScgfCBpMThuIH19ICpcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ1LXZpc3VhbGx5LWhpZGRlblwiPih7eyAnQHByeS5hZG1pbi5yZXF1aXJlZCcgfCBpMThuIH19KTwvc3Bhbj5cbiAgICAgIDwvbGFiZWw+XG4gICAgICA8cHJ5LXNlbGVjdFxuICAgICAgICBpZD1cIm1ldGFkYXRhLXR5cGVcIlxuICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJ0eXBlXCJcbiAgICAgICAgW2l0ZW1zXT1cIm1ldGFPcHRpb25zXCJcbiAgICAgICAgYmluZFZhbHVlPVwidmFyVHlwZVwiXG4gICAgICAgIGJpbmRMYWJlbD1cInRyYW5zbGF0aW9uXCJcbiAgICAgICAgW3JlYWRvbmx5XT1cIiEhbWV0YWRhdGFcIlxuICAgICAgICBbaXNGb3JtXT1cInRydWVcIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJhZGRJdGVtTGlzdCgkZXZlbnQpXCJcbiAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PVwibWV0YWRhdGEtdHlwZS1sYWJlbFwiXG4gICAgICA+PC9wcnktc2VsZWN0PlxuICAgIDwvZGl2PlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1ldGFGb3JtLnZhbHVlLnR5cGUgPT09ICdMSVNUJ1wiPlxuICAgICAgPGRpdiBjbGFzcz1cIm8tZGF0YXMtbGlzdC13cmFwcGVyXCIgZm9ybUFycmF5TmFtZT1cImFsbG93ZWRWYWx1ZXNcIiAqbmdJZj1cIm1ldGFkYXRhTGlzdC5jb250cm9scy5sZW5ndGggPiAwXCI+XG4gICAgICAgIDxmaWVsZHNldD5cbiAgICAgICAgICA8bGVnZW5kIGNsYXNzPVwidS12aXN1YWxseS1oaWRkZW5cIj57eyAnQHByeS5hZG1pbi52YXJUeXBlLmxpc3QnIHwgaTE4biB9fTwvbGVnZW5kPlxuXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm8tZGF0YXMtbGlzdCBtZXRhZGF0YS1saXN0XCIgKm5nRm9yPVwibGV0IGNvbnRyb2wgb2YgbWV0YWRhdGFMaXN0LmNvbnRyb2xzOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiby1kYXRhcy1saXN0X19maWVsZHMgbWV0YWRhdGEtaW5wdXRcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm0tZm9ybS1sYWJlbC1maWVsZCAtd2lkdGgtc21cIj5cbiAgICAgICAgICAgICAgICA8bGFiZWwgaWQ9XCJtZXRhZGF0YS1saXN0LWxhYmVsXCIgZm9yPVwibWV0YWRhdGEtbGlzdFwiIGNsYXNzPVwiYS1sYWJlbFwiPlxuICAgICAgICAgICAgICAgICAge3sgJ0BwcnkuYWRtaW4ubWV0YWRhdGEubGlzdExhYmVsJyB8IGkxOG4gfX0gKlxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ1LXZpc3VhbGx5LWhpZGRlblwiPih7eyAnQHByeS5hZG1pbi5yZXF1aXJlZCcgfCBpMThuIH19KTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhLWZvcm0tZmllbGRcIlxuICAgICAgICAgICAgICAgICAgaWQ9XCJtZXRhZGF0YS1saXN0XCJcbiAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInt7IGkgfX1cIlxuICAgICAgICAgICAgICAgICAgW3JlcXVpcmVkXT1cIiFjb250cm9sLnZhbHVlXCJcbiAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtaW52YWxpZF09XCJpc1N1Ym1pdHRlZCAmJiBjb250cm9sPy5pbnZhbGlkXCJcbiAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJcbiAgICAgICAgICAgICAgICAgICAgaXNTdWJtaXR0ZWQgJiYgY29udHJvbD8uaW52YWxpZCA/ICdtZXRhZGF0YS1saXN0LWxhYmVsIG1ldGFkYXRhLWxpc3QtZXJyb3InIDogJ21ldGFkYXRhLWxpc3QtbGFiZWwnXG4gICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgICAgICAqbmdJZj1cImlzU3VibWl0dGVkICYmIGNvbnRyb2wuaW52YWxpZFwiXG4gICAgICAgICAgICAgICAgICBpZD1cIm1ldGFkYXRhLWxpc3QtZXJyb3JcIlxuICAgICAgICAgICAgICAgICAgZm9yPVwibWV0YWRhdGEtbGlzdFwiXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImEtbGFiZWwgYS1sYWJlbC0taGVscCAtZXJyb3JcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHt7ICdAcHJ5LmFkbWluLnJlcXVpcmVkJyB8IGkxOG4gfX1cbiAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibS1idG4tZ3JvdXAgbS1idG4tZ3JvdXAtLWlucHV0LWFjdGlvbnNcIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYS1idG4gYS1idG4tLWlucHV0LWFjdGlvblwiXG4gICAgICAgICAgICAgICAgICAqbmdJZj1cImkgPT09IG1ldGFkYXRhTGlzdC5jb250cm9scy5sZW5ndGggLSAxXCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjb250cm9sLnZhbHVlLnRyaW0oKSAhPT0gJycgPyBhZGRJdGVtTGlzdCgpIDogdW5kZWZpbmVkXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInUtdmlzdWFsbHktaGlkZGVuXCI+e3sgJ0BwcnkuYWRtaW4ubWV0YWRhdGEuYWRkVmFsdWUnIHwgaTE4biB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDxwcnktaWNvbiBpY29uU3ZnPVwiYWRkXCIgW3dpZHRoXT1cIjIwXCIgW2hlaWdodF09XCIyMFwiPjwvcHJ5LWljb24+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImEtYnRuIGEtYnRuLS1pbnB1dC1hY3Rpb25cIlxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJpICE9PSAwICYmICFtZXRhZGF0YUxpc3QuY29udHJvbHNbaV0uZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInJlbW92ZUl0ZW1MaXN0KGkpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInUtdmlzdWFsbHktaGlkZGVuXCI+e3sgJ0BwcnkuYWRtaW4ubWV0YWRhdGEucmVtb3ZlVmFsdWUnIHwgaTE4biB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDxwcnktaWNvbiBpY29uU3ZnPVwiZGVsZXRlXCIgW3dpZHRoXT1cIjIwXCIgW2hlaWdodF09XCIyMFwiPjwvcHJ5LWljb24+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZmllbGRzZXQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxkaXYgY2xhc3M9XCJtLWJ0bi1ncm91cCAtd2lkdGgtc21cIj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwiYS1idG4gYS1idG4tLXNlY29uZGFyeVwiXG4gICAgICAgIChjbGljayk9XCJnb0JhY2soKVwiXG4gICAgICAgIFtpbm5lckhUTUxdPVwiJ0BwcnkuYWRtaW4uY2FuY2VsJyB8IGkxOG5cIlxuICAgICAgPjwvYnV0dG9uPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBjbGFzcz1cImEtYnRuIGEtYnRuLS1wcmltYXJ5XCJcbiAgICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICAgIFtpbm5lckhUTUxdPVwiKG1ldGFkYXRhID8gJ0BwcnkuYWRtaW4uZWRpdCcgOiAnQHByeS5hZG1pbi5jcmVhdGUnKSB8IGkxOG5cIlxuICAgICAgPjwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Zvcm0+XG48L2Rpdj5cbiJdfQ==
@@ -119,12 +119,12 @@ export class AdminFormMetadataRulesComponent {
119
119
  }
120
120
  }
121
121
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AdminFormMetadataRulesComponent, deps: [{ token: i1.Store }, { token: i2.Router }, { token: i2.ActivatedRoute }, { token: i3.UntypedFormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
122
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AdminFormMetadataRulesComponent, selector: "pry-admin-form-metadata-rules", inputs: { metadataRules: "metadataRules" }, ngImport: i0, template: "<form class=\"o-form\" [formGroup]=\"form\" (ngSubmit)=\"submit()\">\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" id=\"name-label\" for=\"name\">\n {{ '@pry.admin.metadata-rules.label' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <input\n id=\"name\"\n type=\"text\"\n class=\"a-form-field\"\n formControlName=\"name\"\n (ngModelChange)=\"changeValueName($event)\"\n [attr.aria-labelledby]=\"isSubmitted && form.get('name')?.invalid ? 'name-label name-error' : 'name-label'\"\n [attr.aria-invalid]=\"isSubmitted && form.get('name')?.invalid\"\n required\n />\n <label\n class=\"a-label a-label--help -error\"\n id=\"name-error\"\n for=\"name\"\n *ngIf=\"isSubmitted && form.get('name')?.invalid\"\n >{{ '@pry.admin.required' | i18n }}</label\n >\n </div>\n\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" id=\"item-label\" for=\"item\">{{\n '@pry.admin.metadata-rules.metadata-item.name' | i18n\n }}</label>\n <pry-select\n class=\"a-pry-select\"\n id=\"item\"\n formControlName=\"metadataItem\"\n [labelTranslate]=\"true\"\n [items]=\"metadataList\"\n [itemsAsOption]=\"true\"\n bindValue=\"id\"\n bindLabel=\"name\"\n [isForm]=\"true\"\n (ngModelChange)=\"selectMetadataItem($event)\"\n aria-labelledby=\"item-label\"\n ></pry-select>\n </div>\n\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" id=\"user-label\" for=\"user\">{{\n '@pry.admin.metadata-rules.metadata-user.name' | i18n\n }}</label>\n <pry-select\n class=\"a-pry-select\"\n id=\"user\"\n formControlName=\"metadataUser\"\n [labelTranslate]=\"true\"\n [items]=\"metadataUserListFilter\"\n [itemsAsOption]=\"true\"\n bindValue=\"id\"\n bindLabel=\"name\"\n [isForm]=\"true\"\n (ngModelChange)=\"selectMetadataUser($event)\"\n aria-labelledby=\"user-label\"\n ></pry-select>\n </div>\n\n <label class=\"a-label a-label--help -error\" *ngIf=\"isSameName\">{{\n '@pry.admin.metadata-rules.is-same-name' | i18n\n }}</label>\n <label class=\"a-label a-label--help -error\" *ngIf=\"isSameRules\">{{\n '@pry.admin.metadata-rules.is-same-rules' | i18n\n }}</label>\n\n <div class=\"m-btn-group -width-sm\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary\"\n (click)=\"goBack()\"\n [innerHTML]=\"'@pry.admin.cancel' | i18n\"\n ></button>\n <button\n class=\"a-btn a-btn--primary\"\n type=\"submit\"\n [innerHTML]=\"(metadataRules ? '@pry.admin.edit' : '@pry.admin.create') | i18n\"\n ></button>\n </div>\n</form>\n", dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i5.PrySelectComponent, selector: "pry-select", inputs: ["labelTranslate", "baseTranslate", "translationFn", "translationFnArgs", "clearable", "multiple", "multipleClearRight", "closeOnSelect", "placeholder", "isForm", "required", "name", "readonly", "items", "itemsAsOption", "bindData", "bindValue", "bindLabel", "bindIcon", "iconSize", "templateLabel", "templateOption", "autocomplete"] }, { kind: "pipe", type: i5.I18nPipe, name: "i18n" }] }); }
122
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AdminFormMetadataRulesComponent, selector: "pry-admin-form-metadata-rules", inputs: { metadataRules: "metadataRules" }, ngImport: i0, template: "<form class=\"o-form\" [formGroup]=\"form\" (ngSubmit)=\"submit()\">\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" id=\"name-label\" for=\"name\">\n {{ '@pry.admin.metadata-rules.label' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <input\n id=\"name\"\n type=\"text\"\n class=\"a-form-field\"\n formControlName=\"name\"\n (ngModelChange)=\"changeValueName($event)\"\n [attr.aria-labelledby]=\"isSubmitted && form.get('name')?.invalid ? 'name-label name-error' : 'name-label'\"\n [attr.aria-invalid]=\"isSubmitted && form.get('name')?.invalid\"\n required\n />\n <label\n class=\"a-label a-label--help -error\"\n id=\"name-error\"\n for=\"name\"\n *ngIf=\"isSubmitted && form.get('name')?.invalid\"\n >{{ '@pry.admin.required' | i18n }}</label\n >\n </div>\n\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" id=\"item-label\" for=\"item\">{{\n '@pry.admin.metadata-rules.metadata-item.name' | i18n\n }}</label>\n <pry-select\n id=\"item\"\n formControlName=\"metadataItem\"\n [items]=\"metadataList\"\n bindValue=\"id\"\n bindLabel=\"name\"\n [isForm]=\"true\"\n (ngModelChange)=\"selectMetadataItem($event)\"\n aria-labelledby=\"item-label\"\n ></pry-select>\n </div>\n\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" id=\"user-label\" for=\"user\">{{\n '@pry.admin.metadata-rules.metadata-user.name' | i18n\n }}</label>\n <pry-select\n id=\"user\"\n formControlName=\"metadataUser\"\n [items]=\"metadataUserListFilter\"\n bindValue=\"id\"\n bindLabel=\"name\"\n [isForm]=\"true\"\n (ngModelChange)=\"selectMetadataUser($event)\"\n aria-labelledby=\"user-label\"\n ></pry-select>\n </div>\n\n <label class=\"a-label a-label--help -error\" *ngIf=\"isSameName\">{{\n '@pry.admin.metadata-rules.is-same-name' | i18n\n }}</label>\n <label class=\"a-label a-label--help -error\" *ngIf=\"isSameRules\">{{\n '@pry.admin.metadata-rules.is-same-rules' | i18n\n }}</label>\n\n <div class=\"m-btn-group -width-sm\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary\"\n (click)=\"goBack()\"\n [innerHTML]=\"'@pry.admin.cancel' | i18n\"\n ></button>\n <button\n class=\"a-btn a-btn--primary\"\n type=\"submit\"\n [innerHTML]=\"(metadataRules ? '@pry.admin.edit' : '@pry.admin.create') | i18n\"\n ></button>\n </div>\n</form>\n", dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i5.PrySelectComponent, selector: "pry-select", inputs: ["items", "clearable", "multiple", "closeOnSelect", "placeholder", "isForm", "required", "name", "readonly", "autocomplete", "bindValue", "bindLabel", "iconSize", "bindIcon", "template", "i18nPrefix", "elementRef"], outputs: ["searched", "cleared"] }, { kind: "pipe", type: i5.I18nPipe, name: "i18n" }] }); }
123
123
  }
124
124
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AdminFormMetadataRulesComponent, decorators: [{
125
125
  type: Component,
126
- args: [{ selector: 'pry-admin-form-metadata-rules', template: "<form class=\"o-form\" [formGroup]=\"form\" (ngSubmit)=\"submit()\">\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" id=\"name-label\" for=\"name\">\n {{ '@pry.admin.metadata-rules.label' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <input\n id=\"name\"\n type=\"text\"\n class=\"a-form-field\"\n formControlName=\"name\"\n (ngModelChange)=\"changeValueName($event)\"\n [attr.aria-labelledby]=\"isSubmitted && form.get('name')?.invalid ? 'name-label name-error' : 'name-label'\"\n [attr.aria-invalid]=\"isSubmitted && form.get('name')?.invalid\"\n required\n />\n <label\n class=\"a-label a-label--help -error\"\n id=\"name-error\"\n for=\"name\"\n *ngIf=\"isSubmitted && form.get('name')?.invalid\"\n >{{ '@pry.admin.required' | i18n }}</label\n >\n </div>\n\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" id=\"item-label\" for=\"item\">{{\n '@pry.admin.metadata-rules.metadata-item.name' | i18n\n }}</label>\n <pry-select\n class=\"a-pry-select\"\n id=\"item\"\n formControlName=\"metadataItem\"\n [labelTranslate]=\"true\"\n [items]=\"metadataList\"\n [itemsAsOption]=\"true\"\n bindValue=\"id\"\n bindLabel=\"name\"\n [isForm]=\"true\"\n (ngModelChange)=\"selectMetadataItem($event)\"\n aria-labelledby=\"item-label\"\n ></pry-select>\n </div>\n\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" id=\"user-label\" for=\"user\">{{\n '@pry.admin.metadata-rules.metadata-user.name' | i18n\n }}</label>\n <pry-select\n class=\"a-pry-select\"\n id=\"user\"\n formControlName=\"metadataUser\"\n [labelTranslate]=\"true\"\n [items]=\"metadataUserListFilter\"\n [itemsAsOption]=\"true\"\n bindValue=\"id\"\n bindLabel=\"name\"\n [isForm]=\"true\"\n (ngModelChange)=\"selectMetadataUser($event)\"\n aria-labelledby=\"user-label\"\n ></pry-select>\n </div>\n\n <label class=\"a-label a-label--help -error\" *ngIf=\"isSameName\">{{\n '@pry.admin.metadata-rules.is-same-name' | i18n\n }}</label>\n <label class=\"a-label a-label--help -error\" *ngIf=\"isSameRules\">{{\n '@pry.admin.metadata-rules.is-same-rules' | i18n\n }}</label>\n\n <div class=\"m-btn-group -width-sm\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary\"\n (click)=\"goBack()\"\n [innerHTML]=\"'@pry.admin.cancel' | i18n\"\n ></button>\n <button\n class=\"a-btn a-btn--primary\"\n type=\"submit\"\n [innerHTML]=\"(metadataRules ? '@pry.admin.edit' : '@pry.admin.create') | i18n\"\n ></button>\n </div>\n</form>\n" }]
126
+ args: [{ selector: 'pry-admin-form-metadata-rules', template: "<form class=\"o-form\" [formGroup]=\"form\" (ngSubmit)=\"submit()\">\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" id=\"name-label\" for=\"name\">\n {{ '@pry.admin.metadata-rules.label' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <input\n id=\"name\"\n type=\"text\"\n class=\"a-form-field\"\n formControlName=\"name\"\n (ngModelChange)=\"changeValueName($event)\"\n [attr.aria-labelledby]=\"isSubmitted && form.get('name')?.invalid ? 'name-label name-error' : 'name-label'\"\n [attr.aria-invalid]=\"isSubmitted && form.get('name')?.invalid\"\n required\n />\n <label\n class=\"a-label a-label--help -error\"\n id=\"name-error\"\n for=\"name\"\n *ngIf=\"isSubmitted && form.get('name')?.invalid\"\n >{{ '@pry.admin.required' | i18n }}</label\n >\n </div>\n\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" id=\"item-label\" for=\"item\">{{\n '@pry.admin.metadata-rules.metadata-item.name' | i18n\n }}</label>\n <pry-select\n id=\"item\"\n formControlName=\"metadataItem\"\n [items]=\"metadataList\"\n bindValue=\"id\"\n bindLabel=\"name\"\n [isForm]=\"true\"\n (ngModelChange)=\"selectMetadataItem($event)\"\n aria-labelledby=\"item-label\"\n ></pry-select>\n </div>\n\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" id=\"user-label\" for=\"user\">{{\n '@pry.admin.metadata-rules.metadata-user.name' | i18n\n }}</label>\n <pry-select\n id=\"user\"\n formControlName=\"metadataUser\"\n [items]=\"metadataUserListFilter\"\n bindValue=\"id\"\n bindLabel=\"name\"\n [isForm]=\"true\"\n (ngModelChange)=\"selectMetadataUser($event)\"\n aria-labelledby=\"user-label\"\n ></pry-select>\n </div>\n\n <label class=\"a-label a-label--help -error\" *ngIf=\"isSameName\">{{\n '@pry.admin.metadata-rules.is-same-name' | i18n\n }}</label>\n <label class=\"a-label a-label--help -error\" *ngIf=\"isSameRules\">{{\n '@pry.admin.metadata-rules.is-same-rules' | i18n\n }}</label>\n\n <div class=\"m-btn-group -width-sm\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary\"\n (click)=\"goBack()\"\n [innerHTML]=\"'@pry.admin.cancel' | i18n\"\n ></button>\n <button\n class=\"a-btn a-btn--primary\"\n type=\"submit\"\n [innerHTML]=\"(metadataRules ? '@pry.admin.edit' : '@pry.admin.create') | i18n\"\n ></button>\n </div>\n</form>\n" }]
127
127
  }], ctorParameters: function () { return [{ type: i1.Store }, { type: i2.Router }, { type: i2.ActivatedRoute }, { type: i3.UntypedFormBuilder }]; }, propDecorators: { metadataRules: [{
128
128
  type: Input
129
129
  }] } });
130
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4tZm9ybS1tZXRhZGF0YS1ydWxlcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9hZG1pbi9jb21wb25lbnRzL2FkbWluLW1ldGFkYXRhLXJ1bGVzL3NoYXJlZC9hZG1pbi1mb3JtLW1ldGFkYXRhLXJ1bGVzL2FkbWluLWZvcm0tbWV0YWRhdGEtcnVsZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvYWRtaW4vY29tcG9uZW50cy9hZG1pbi1tZXRhZGF0YS1ydWxlcy9zaGFyZWQvYWRtaW4tZm9ybS1tZXRhZGF0YS1ydWxlcy9hZG1pbi1mb3JtLW1ldGFkYXRhLXJ1bGVzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQXdDLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSWxGLE9BQU8sRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQWlCLE1BQU0sK0NBQStDLENBQUM7QUFDbEgsT0FBTyxFQUFjLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRCxPQUFPLEVBQUUsRUFBRSxJQUFJLE1BQU0sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFL0QsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFL0UsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7Ozs7QUFNOUUsTUFBTSxPQUFPLCtCQUErQjtJQXFCMUMsWUFDVSxLQUF5RSxFQUN6RSxNQUFjLEVBQ2QsS0FBcUIsRUFDckIsV0FB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SSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQ3BGO1NBQ0Y7SUFDSCxDQUFDOytHQXhJVSwrQkFBK0I7bUdBQS9CLCtCQUErQixpSENsQjVDLDR3RkFvRkE7OzRGRGxFYSwrQkFBK0I7a0JBSjNDLFNBQVM7K0JBQ0UsK0JBQStCOytLQUloQyxhQUFhO3NCQUFyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVudHlwZWRGb3JtQnVpbGRlciwgVW50eXBlZEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBJTWV0YWRhdGEsIE1ldGFkYXRhUnVsZXMgfSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQnO1xuaW1wb3J0IHsgTWV0YWRhdGFBY3Rpb25zLCBNZXRhZGF0YVNlbGVjdG9ycywgTWV0YWRhdGFTdGF0ZSB9IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZC9jb21wb25lbnRzL21ldGFkYXRhLWVkaXRvcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHY0IGFzIHV1aWR2NCB9IGZyb20gJ3V1aWQnO1xuaW1wb3J0IHsgQWRtaW5BY3Rpb25zIH0gZnJvbSAnLi4vLi4vLi4vLi4vc3RvcmUvYWRtaW4uYWN0aW9ucyc7XG5pbXBvcnQgeyBBZG1pbk1ldGFkYXRhVXNlclN0YXRlIH0gZnJvbSAnLi4vLi4vLi4vYWRtaW4tbWV0YWRhdGEtdXNlci9zdG9yZS9hZG1pbi1tZXRhZGF0YS11c2VyLnJlZHVjZXInO1xuaW1wb3J0IHsgQWRtaW5NZXRhZGF0YVJ1bGVzQWN0aW9ucyB9IGZyb20gJy4uLy4uL3N0b3JlL21ldGFkYXRhLXJ1bGVzLmFjdGlvbnMnO1xuaW1wb3J0IHsgTWV0YWRhdGFSdWxlc1N0YXRlIH0gZnJvbSAnLi4vLi4vc3RvcmUvbWV0YWRhdGEtcnVsZXMucmVkdWNlcic7XG5pbXBvcnQgeyBNZXRhZGF0YVJ1bGVzU2VsZWN0b3JzIH0gZnJvbSAnLi4vLi4vc3RvcmUvbWV0YWRhdGEtcnVsZXMuc2VsZWN0b3JzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LWFkbWluLWZvcm0tbWV0YWRhdGEtcnVsZXMnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWRtaW4tZm9ybS1tZXRhZGF0YS1ydWxlcy5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgQWRtaW5Gb3JtTWV0YWRhdGFSdWxlc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCkgbWV0YWRhdGFSdWxlcz86IE1ldGFkYXRhUnVsZXMgfCBudWxsO1xuXG4gIG1ldGFkYXRhTGlzdCQ6IE9ic2VydmFibGU8SU1ldGFkYXRhW10+O1xuICBtZXRhZGF0YVVzZXJMaXN0JDogT2JzZXJ2YWJsZTxJTWV0YWRhdGFbXT47XG4gIG1ldGFkYXRhUnVsZXNMaXN0JDogT2JzZXJ2YWJsZTxNZXRhZGF0YVJ1bGVzW10+O1xuXG4gIG1ldGFkYXRhTGlzdDogSU1ldGFkYXRhW10gPSBbXTtcbiAgbWV0YWRhdGFVc2VyTGlzdDogSU1ldGFkYXRhW10gPSBbXTtcbiAgbWV0YWRhdGFVc2VyTGlzdEZpbHRlcjogSU1ldGFkYXRhW10gPSBbXTtcbiAgbWV0YWRhdGFSdWxlc0xpc3Q6IE1ldGFkYXRhUnVsZXNbXSA9IFtdO1xuXG4gIHN1YiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICBmb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xuXG4gIGlzU2FtZU5hbWUgPSBmYWxzZTtcbiAgaXNTYW1lUnVsZXMgPSBmYWxzZTtcblxuICBpc1N1Ym1pdHRlZCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlPE1ldGFkYXRhUnVsZXNTdGF0ZSB8IE1ldGFkYXRhU3RhdGUgfCBBZG1pbk1ldGFkYXRhVXNlclN0YXRlPixcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgZm9ybUJ1aWxkZXI6IFVudHlwZWRGb3JtQnVpbGRlclxuICApIHtcbiAgICB0aGlzLm1ldGFkYXRhTGlzdCQgPSB0aGlzLnN0b3JlLnNlbGVjdChNZXRhZGF0YVNlbGVjdG9ycy5tZXRhZGF0YSk7XG4gICAgdGhpcy5tZXRhZGF0YVVzZXJMaXN0JCA9IHRoaXMuc3RvcmUuc2VsZWN0KE1ldGFkYXRhU2VsZWN0b3JzLnVzZXJQcm9maWxlKTtcbiAgICB0aGlzLm1ldGFkYXRhUnVsZXNMaXN0JCA9IHRoaXMuc3RvcmUuc2VsZWN0KE1ldGFkYXRhUnVsZXNTZWxlY3RvcnMubWV0YWRhdGFSdWxlc0xpc3QpO1xuICAgIHRoaXMuZm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgaWQ6IFt1dWlkdjQoKV0sXG4gICAgICBuYW1lOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXG4gICAgICBtZXRhZGF0YVVzZXI6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSxcbiAgICAgIG1ldGFkYXRhSXRlbTogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dXG4gICAgfSk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmlzU2FtZVJ1bGVzID0gZmFsc2U7XG4gICAgdGhpcy5pc1NhbWVOYW1lID0gZmFsc2U7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChBZG1pbk1ldGFkYXRhUnVsZXNBY3Rpb25zLmxvYWQoKSk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChNZXRhZGF0YUFjdGlvbnMubG9hZE1ldGFkYXRhKCkpO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goTWV0YWRhdGFBY3Rpb25zLmxvYWRVc2VyUHJvZmlsZSgpKTtcbiAgICB0aGlzLnN1YiA9IHRoaXMubWV0YWRhdGFMaXN0JC5zdWJzY3JpYmUoKG1ldGFkYXRhTGlzdCkgPT4ge1xuICAgICAgdGhpcy5tZXRhZGF0YUxpc3QgPSBtZXRhZGF0YUxpc3Q7XG4gICAgfSk7XG4gICAgdGhpcy5zdWIuYWRkKFxuICAgICAgdGhpcy5tZXRhZGF0YVJ1bGVzTGlzdCQuc3Vic2NyaWJlKChtZXRhZGF0YVJ1bGVzTGlzdCkgPT4ge1xuICAgICAgICB0aGlzLm1ldGFkYXRhUnVsZXNMaXN0ID0gbWV0YWRhdGFSdWxlc0xpc3Q7XG4gICAgICB9KVxuICAgICk7XG4gICAgdGhpcy5zdWIuYWRkKFxuICAgICAgdGhpcy5tZXRhZGF0YVVzZXJMaXN0JC5zdWJzY3JpYmUoKG1ldGFkYXRhVXNlckxpc3QpID0+IHtcbiAgICAgICAgdGhpcy5tZXRhZGF0YVVzZXJMaXN0ID0gbWV0YWRhdGFVc2VyTGlzdDtcbiAgICAgICAgdGhpcy5tZXRhZGF0YVVzZXJMaXN0RmlsdGVyID0gbWV0YWRhdGFVc2VyTGlzdDtcbiAgICAgICAgaWYgKHRoaXMubWV0YWRhdGFMaXN0Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZSh7IG1ldGFkYXRhSXRlbTogdGhpcy5tZXRhZGF0YUxpc3RbMF0uaWQgfSk7XG4gICAgICAgICAgdGhpcy5zZWxlY3RNZXRhZGF0YUl0ZW0odGhpcy5tZXRhZGF0YUxpc3RbMF0uaWQpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLm1ldGFkYXRhUnVsZXMpIHtcbiAgICAgICAgICB0aGlzLm1ldGFkYXRhUnVsZXNMaXN0ID0gdGhpcy5tZXRhZGF0YVJ1bGVzTGlzdC5maWx0ZXIoKG1ldGEpID0+IG1ldGEuaWQgIT09IHRoaXMubWV0YWRhdGFSdWxlcz8uaWQpO1xuICAgICAgICAgIGNvbnN0IHsgaWQsIG5hbWUsIHVzZXJQcm9maWxlLCBtZXRhZGF0YSB9ID0gdGhpcy5tZXRhZGF0YVJ1bGVzO1xuICAgICAgICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgbmFtZSxcbiAgICAgICAgICAgIG1ldGFkYXRhVXNlcjogdXNlclByb2ZpbGUuaWQsXG4gICAgICAgICAgICBtZXRhZGF0YUl0ZW06IG1ldGFkYXRhLmlkXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuc3ViLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBnb0JhY2soKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChBZG1pbkFjdGlvbnMucm91dGVUbyh7IHBhdGg6IHRoaXMuZ2V0UGF0aCgpIH0pKTtcbiAgfVxuXG4gIGdldFBhdGgoKSB7XG4gICAgbGV0IHBhdGggPSB0aGlzLnJvdXRlci5jcmVhdGVVcmxUcmVlKFsnLi4nXSwgeyByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlIH0pO1xuICAgIGlmICh0aGlzLm1ldGFkYXRhUnVsZXMpIHtcbiAgICAgIHBhdGggPSB0aGlzLnJvdXRlci5jcmVhdGVVcmxUcmVlKFsnLi4vLi4nXSwgeyByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlIH0pO1xuICAgIH1cbiAgICByZXR1cm4gcGF0aC50b1N0cmluZygpO1xuICB9XG5cbiAgc2VsZWN0TWV0YWRhdGFJdGVtKGlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLmlzU2FtZVJ1bGVzID0gZmFsc2U7XG4gICAgY29uc3QgbWV0YWRhdGEgPSB0aGlzLm1ldGFkYXRhTGlzdC5maW5kKChtKSA9PiBpZCA9PT0gbS5pZCk7XG4gICAgaWYgKG1ldGFkYXRhKSB7XG4gICAgICB0aGlzLm1ldGFkYXRhVXNlckxpc3RGaWx0ZXIgPSB0aGlzLm1ldGFkYXRhVXNlckxpc3QuZmlsdGVyKChtVSkgPT4gbVUudHlwZSA9PT0gbWV0YWRhdGEudHlwZSk7XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0QXV0b01ldGFkYXRhVXNlcigpO1xuICB9XG5cbiAgc2VsZWN0QXV0b01ldGFkYXRhVXNlcigpIHtcbiAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZSh7XG4gICAgICB1c2VyUHJvZmlsOlxuICAgICAgICB0aGlzLm1ldGFkYXRhVXNlckxpc3RGaWx0ZXIubGVuZ3RoID4gMFxuICAgICAgICAgID8gdGhpcy5tZXRhZGF0YVJ1bGVzPy51c2VyUHJvZmlsZT8uaWQgJiZcbiAgICAgICAgICAgICEhdGhpcy5tZXRhZGF0YVVzZXJMaXN0RmlsdGVyLmZpbmQoKG1ldGFkYXRhKSA9PiBtZXRhZGF0YS5pZCA9PT0gdGhpcy5tZXRhZGF0YVJ1bGVzPy51c2VyUHJvZmlsZT8uaWQpXG4gICAgICAgICAgICA/IHRoaXMubWV0YWRhdGFSdWxlcy51c2VyUHJvZmlsZS5pZFxuICAgICAgICAgICAgOiB0aGlzLm1ldGFkYXRhVXNlckxpc3RGaWx0ZXJbMF0uaWRcbiAgICAgICAgICA6ICcnXG4gICAgfSk7XG4gIH1cblxuICBzZWxlY3RNZXRhZGF0YVVzZXIoaWQ6IHN0cmluZykge1xuICAgIHRoaXMuaXNTYW1lUnVsZXMgPSBmYWxzZTtcbiAgfVxuXG4gIGNoYW5nZVZhbHVlTmFtZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5pc1NhbWVOYW1lID0gZmFsc2U7XG4gIH1cblxuICBzdWJtaXQoKSB7XG4gICAgdGhpcy5pc1N1Ym1pdHRlZCA9IHRydWU7XG4gICAgaWYgKHRoaXMuZm9ybS52YWxpZCkge1xuICAgICAgdGhpcy5pc1N1Ym1pdHRlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5pc1NhbWVOYW1lID0gISF0aGlzLm1ldGFkYXRhUnVsZXNMaXN0LmZpbmQoXG4gICAgICAgIChtZXRhZGF0YSkgPT4gdGhpcy5mb3JtLmdldCgnbmFtZScpPy52YWx1ZS50b0xvd2VyQ2FzZSgpID09PSBtZXRhZGF0YS5uYW1lLnRvTG93ZXJDYXNlKClcbiAgICAgICk7XG4gICAgICB0aGlzLmlzU2FtZVJ1bGVzID0gISF0aGlzLm1ldGFkYXRhUnVsZXNMaXN0LmZpbmQoKG1ldGFkYXRhKSA9PiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgdGhpcy5mb3JtLmdldCgnbWV0YWRhdGFVc2VyJyk/LnZhbHVlID09PSBtZXRhZGF0YT8udXNlclByb2ZpbGU/LmlkICYmXG4gICAgICAgICAgdGhpcy5mb3JtLmdldCgnbWV0YWRhdGFJdGVtJyk/LnZhbHVlID09PSBtZXRhZGF0YT8ubWV0YWRhdGE/LmlkXG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgICAgIGlmICh0aGlzLmZvcm0udmFsaWQgJiYgIXRoaXMuaXNTYW1lTmFtZSAmJiAhdGhpcy5pc1NhbWVSdWxlcykge1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKEFkbWluTWV0YWRhdGFSdWxlc0FjdGlvbnMucG9zdCh7IG1ldGFkYXRhOiB0aGlzLmZvcm0udmFsdWUgfSkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiPGZvcm0gY2xhc3M9XCJvLWZvcm1cIiBbZm9ybUdyb3VwXT1cImZvcm1cIiAobmdTdWJtaXQpPVwic3VibWl0KClcIj5cbiAgPGRpdiBjbGFzcz1cIm0tZm9ybS1sYWJlbC1maWVsZCAtd2lkdGgtc21cIj5cbiAgICA8bGFiZWwgY2xhc3M9XCJhLWxhYmVsXCIgaWQ9XCJuYW1lLWxhYmVsXCIgZm9yPVwibmFtZVwiPlxuICAgICAge3sgJ0BwcnkuYWRtaW4ubWV0YWRhdGEtcnVsZXMubGFiZWwnIHwgaTE4biB9fSAqXG4gICAgICA8c3BhbiBjbGFzcz1cInUtdmlzdWFsbHktaGlkZGVuXCI+KHt7ICdAcHJ5LmFkbWluLnJlcXVpcmVkJyB8IGkxOG4gfX0pPC9zcGFuPlxuICAgIDwvbGFiZWw+XG4gICAgPGlucHV0XG4gICAgICBpZD1cIm5hbWVcIlxuICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgY2xhc3M9XCJhLWZvcm0tZmllbGRcIlxuICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibmFtZVwiXG4gICAgICAobmdNb2RlbENoYW5nZSk9XCJjaGFuZ2VWYWx1ZU5hbWUoJGV2ZW50KVwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiaXNTdWJtaXR0ZWQgJiYgZm9ybS5nZXQoJ25hbWUnKT8uaW52YWxpZCA/ICduYW1lLWxhYmVsIG5hbWUtZXJyb3InIDogJ25hbWUtbGFiZWwnXCJcbiAgICAgIFthdHRyLmFyaWEtaW52YWxpZF09XCJpc1N1Ym1pdHRlZCAmJiBmb3JtLmdldCgnbmFtZScpPy5pbnZhbGlkXCJcbiAgICAgIHJlcXVpcmVkXG4gICAgLz5cbiAgICA8bGFiZWxcbiAgICAgIGNsYXNzPVwiYS1sYWJlbCBhLWxhYmVsLS1oZWxwIC1lcnJvclwiXG4gICAgICBpZD1cIm5hbWUtZXJyb3JcIlxuICAgICAgZm9yPVwibmFtZVwiXG4gICAgICAqbmdJZj1cImlzU3VibWl0dGVkICYmIGZvcm0uZ2V0KCduYW1lJyk/LmludmFsaWRcIlxuICAgICAgPnt7ICdAcHJ5LmFkbWluLnJlcXVpcmVkJyB8IGkxOG4gfX08L2xhYmVsXG4gICAgPlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwibS1mb3JtLWxhYmVsLWZpZWxkIC13aWR0aC1zbVwiPlxuICAgIDxsYWJlbCBjbGFzcz1cImEtbGFiZWxcIiBpZD1cIml0ZW0tbGFiZWxcIiBmb3I9XCJpdGVtXCI+e3tcbiAgICAgICdAcHJ5LmFkbWluLm1ldGFkYXRhLXJ1bGVzLm1ldGFkYXRhLWl0ZW0ubmFtZScgfCBpMThuXG4gICAgfX08L2xhYmVsPlxuICAgIDxwcnktc2VsZWN0XG4gICAgICBjbGFzcz1cImEtcHJ5LXNlbGVjdFwiXG4gICAgICBpZD1cIml0ZW1cIlxuICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibWV0YWRhdGFJdGVtXCJcbiAgICAgIFtsYWJlbFRyYW5zbGF0ZV09XCJ0cnVlXCJcbiAgICAgIFtpdGVtc109XCJtZXRhZGF0YUxpc3RcIlxuICAgICAgW2l0ZW1zQXNPcHRpb25dPVwidHJ1ZVwiXG4gICAgICBiaW5kVmFsdWU9XCJpZFwiXG4gICAgICBiaW5kTGFiZWw9XCJuYW1lXCJcbiAgICAgIFtpc0Zvcm1dPVwidHJ1ZVwiXG4gICAgICAobmdNb2RlbENoYW5nZSk9XCJzZWxlY3RNZXRhZGF0YUl0ZW0oJGV2ZW50KVwiXG4gICAgICBhcmlhLWxhYmVsbGVkYnk9XCJpdGVtLWxhYmVsXCJcbiAgICA+PC9wcnktc2VsZWN0PlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwibS1mb3JtLWxhYmVsLWZpZWxkIC13aWR0aC1zbVwiPlxuICAgIDxsYWJlbCBjbGFzcz1cImEtbGFiZWxcIiBpZD1cInVzZXItbGFiZWxcIiBmb3I9XCJ1c2VyXCI+e3tcbiAgICAgICdAcHJ5LmFkbWluLm1ldGFkYXRhLXJ1bGVzLm1ldGFkYXRhLXVzZXIubmFtZScgfCBpMThuXG4gICAgfX08L2xhYmVsPlxuICAgIDxwcnktc2VsZWN0XG4gICAgICBjbGFzcz1cImEtcHJ5LXNlbGVjdFwiXG4gICAgICBpZD1cInVzZXJcIlxuICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibWV0YWRhdGFVc2VyXCJcbiAgICAgIFtsYWJlbFRyYW5zbGF0ZV09XCJ0cnVlXCJcbiAgICAgIFtpdGVtc109XCJtZXRhZGF0YVVzZXJMaXN0RmlsdGVyXCJcbiAgICAgIFtpdGVtc0FzT3B0aW9uXT1cInRydWVcIlxuICAgICAgYmluZFZhbHVlPVwiaWRcIlxuICAgICAgYmluZExhYmVsPVwibmFtZVwiXG4gICAgICBbaXNGb3JtXT1cInRydWVcIlxuICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic2VsZWN0TWV0YWRhdGFVc2VyKCRldmVudClcIlxuICAgICAgYXJpYS1sYWJlbGxlZGJ5PVwidXNlci1sYWJlbFwiXG4gICAgPjwvcHJ5LXNlbGVjdD5cbiAgPC9kaXY+XG5cbiAgPGxhYmVsIGNsYXNzPVwiYS1sYWJlbCBhLWxhYmVsLS1oZWxwIC1lcnJvclwiICpuZ0lmPVwiaXNTYW1lTmFtZVwiPnt7XG4gICAgJ0BwcnkuYWRtaW4ubWV0YWRhdGEtcnVsZXMuaXMtc2FtZS1uYW1lJyB8IGkxOG5cbiAgfX08L2xhYmVsPlxuICA8bGFiZWwgY2xhc3M9XCJhLWxhYmVsIGEtbGFiZWwtLWhlbHAgLWVycm9yXCIgKm5nSWY9XCJpc1NhbWVSdWxlc1wiPnt7XG4gICAgJ0BwcnkuYWRtaW4ubWV0YWRhdGEtcnVsZXMuaXMtc2FtZS1ydWxlcycgfCBpMThuXG4gIH19PC9sYWJlbD5cblxuICA8ZGl2IGNsYXNzPVwibS1idG4tZ3JvdXAgLXdpZHRoLXNtXCI+XG4gICAgPGJ1dHRvblxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBjbGFzcz1cImEtYnRuIGEtYnRuLS1zZWNvbmRhcnlcIlxuICAgICAgKGNsaWNrKT1cImdvQmFjaygpXCJcbiAgICAgIFtpbm5lckhUTUxdPVwiJ0BwcnkuYWRtaW4uY2FuY2VsJyB8IGkxOG5cIlxuICAgID48L2J1dHRvbj5cbiAgICA8YnV0dG9uXG4gICAgICBjbGFzcz1cImEtYnRuIGEtYnRuLS1wcmltYXJ5XCJcbiAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgW2lubmVySFRNTF09XCIobWV0YWRhdGFSdWxlcyA/ICdAcHJ5LmFkbWluLmVkaXQnIDogJ0BwcnkuYWRtaW4uY3JlYXRlJykgfCBpMThuXCJcbiAgICA+PC9idXR0b24+XG4gIDwvZGl2PlxuPC9mb3JtPlxuIl19
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4tZm9ybS1tZXRhZGF0YS1ydWxlcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9hZG1pbi9jb21wb25lbnRzL2FkbWluLW1ldGFkYXRhLXJ1bGVzL3NoYXJlZC9hZG1pbi1mb3JtLW1ldGFkYXRhLXJ1bGVzL2FkbWluLWZvcm0tbWV0YWRhdGEtcnVsZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvYWRtaW4vY29tcG9uZW50cy9hZG1pbi1tZXRhZGF0YS1ydWxlcy9zaGFyZWQvYWRtaW4tZm9ybS1tZXRhZGF0YS1ydWxlcy9hZG1pbi1mb3JtLW1ldGFkYXRhLXJ1bGVzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQXdDLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSWxGLE9BQU8sRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQWlCLE1BQU0sK0NBQStDLENBQUM7QUFDbEgsT0FBTyxFQUFjLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRCxPQUFPLEVBQUUsRUFBRSxJQUFJLE1BQU0sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFL0QsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFL0UsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7Ozs7QUFNOUUsTUFBTSxPQUFPLCtCQUErQjtJQXFCMUMsWUFDVSxLQUF5RSxFQUN6RSxNQUFjLEVBQ2QsS0FBcUIsRUFDckIsV0FB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SSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQ3BGO1NBQ0Y7SUFDSCxDQUFDOytHQXhJVSwrQkFBK0I7bUdBQS9CLCtCQUErQixpSENsQjVDLDhrRkE4RUE7OzRGRDVEYSwrQkFBK0I7a0JBSjNDLFNBQVM7K0JBQ0UsK0JBQStCOytLQUloQyxhQUFhO3NCQUFyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVudHlwZWRGb3JtQnVpbGRlciwgVW50eXBlZEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBJTWV0YWRhdGEsIE1ldGFkYXRhUnVsZXMgfSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQnO1xuaW1wb3J0IHsgTWV0YWRhdGFBY3Rpb25zLCBNZXRhZGF0YVNlbGVjdG9ycywgTWV0YWRhdGFTdGF0ZSB9IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZC9jb21wb25lbnRzL21ldGFkYXRhLWVkaXRvcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHY0IGFzIHV1aWR2NCB9IGZyb20gJ3V1aWQnO1xuaW1wb3J0IHsgQWRtaW5BY3Rpb25zIH0gZnJvbSAnLi4vLi4vLi4vLi4vc3RvcmUvYWRtaW4uYWN0aW9ucyc7XG5pbXBvcnQgeyBBZG1pbk1ldGFkYXRhVXNlclN0YXRlIH0gZnJvbSAnLi4vLi4vLi4vYWRtaW4tbWV0YWRhdGEtdXNlci9zdG9yZS9hZG1pbi1tZXRhZGF0YS11c2VyLnJlZHVjZXInO1xuaW1wb3J0IHsgQWRtaW5NZXRhZGF0YVJ1bGVzQWN0aW9ucyB9IGZyb20gJy4uLy4uL3N0b3JlL21ldGFkYXRhLXJ1bGVzLmFjdGlvbnMnO1xuaW1wb3J0IHsgTWV0YWRhdGFSdWxlc1N0YXRlIH0gZnJvbSAnLi4vLi4vc3RvcmUvbWV0YWRhdGEtcnVsZXMucmVkdWNlcic7XG5pbXBvcnQgeyBNZXRhZGF0YVJ1bGVzU2VsZWN0b3JzIH0gZnJvbSAnLi4vLi4vc3RvcmUvbWV0YWRhdGEtcnVsZXMuc2VsZWN0b3JzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LWFkbWluLWZvcm0tbWV0YWRhdGEtcnVsZXMnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWRtaW4tZm9ybS1tZXRhZGF0YS1ydWxlcy5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgQWRtaW5Gb3JtTWV0YWRhdGFSdWxlc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCkgbWV0YWRhdGFSdWxlcz86IE1ldGFkYXRhUnVsZXMgfCBudWxsO1xuXG4gIG1ldGFkYXRhTGlzdCQ6IE9ic2VydmFibGU8SU1ldGFkYXRhW10+O1xuICBtZXRhZGF0YVVzZXJMaXN0JDogT2JzZXJ2YWJsZTxJTWV0YWRhdGFbXT47XG4gIG1ldGFkYXRhUnVsZXNMaXN0JDogT2JzZXJ2YWJsZTxNZXRhZGF0YVJ1bGVzW10+O1xuXG4gIG1ldGFkYXRhTGlzdDogSU1ldGFkYXRhW10gPSBbXTtcbiAgbWV0YWRhdGFVc2VyTGlzdDogSU1ldGFkYXRhW10gPSBbXTtcbiAgbWV0YWRhdGFVc2VyTGlzdEZpbHRlcjogSU1ldGFkYXRhW10gPSBbXTtcbiAgbWV0YWRhdGFSdWxlc0xpc3Q6IE1ldGFkYXRhUnVsZXNbXSA9IFtdO1xuXG4gIHN1YiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICBmb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xuXG4gIGlzU2FtZU5hbWUgPSBmYWxzZTtcbiAgaXNTYW1lUnVsZXMgPSBmYWxzZTtcblxuICBpc1N1Ym1pdHRlZCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlPE1ldGFkYXRhUnVsZXNTdGF0ZSB8IE1ldGFkYXRhU3RhdGUgfCBBZG1pbk1ldGFkYXRhVXNlclN0YXRlPixcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgZm9ybUJ1aWxkZXI6IFVudHlwZWRGb3JtQnVpbGRlclxuICApIHtcbiAgICB0aGlzLm1ldGFkYXRhTGlzdCQgPSB0aGlzLnN0b3JlLnNlbGVjdChNZXRhZGF0YVNlbGVjdG9ycy5tZXRhZGF0YSk7XG4gICAgdGhpcy5tZXRhZGF0YVVzZXJMaXN0JCA9IHRoaXMuc3RvcmUuc2VsZWN0KE1ldGFkYXRhU2VsZWN0b3JzLnVzZXJQcm9maWxlKTtcbiAgICB0aGlzLm1ldGFkYXRhUnVsZXNMaXN0JCA9IHRoaXMuc3RvcmUuc2VsZWN0KE1ldGFkYXRhUnVsZXNTZWxlY3RvcnMubWV0YWRhdGFSdWxlc0xpc3QpO1xuICAgIHRoaXMuZm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgaWQ6IFt1dWlkdjQoKV0sXG4gICAgICBuYW1lOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXG4gICAgICBtZXRhZGF0YVVzZXI6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSxcbiAgICAgIG1ldGFkYXRhSXRlbTogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dXG4gICAgfSk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmlzU2FtZVJ1bGVzID0gZmFsc2U7XG4gICAgdGhpcy5pc1NhbWVOYW1lID0gZmFsc2U7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChBZG1pbk1ldGFkYXRhUnVsZXNBY3Rpb25zLmxvYWQoKSk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChNZXRhZGF0YUFjdGlvbnMubG9hZE1ldGFkYXRhKCkpO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goTWV0YWRhdGFBY3Rpb25zLmxvYWRVc2VyUHJvZmlsZSgpKTtcbiAgICB0aGlzLnN1YiA9IHRoaXMubWV0YWRhdGFMaXN0JC5zdWJzY3JpYmUoKG1ldGFkYXRhTGlzdCkgPT4ge1xuICAgICAgdGhpcy5tZXRhZGF0YUxpc3QgPSBtZXRhZGF0YUxpc3Q7XG4gICAgfSk7XG4gICAgdGhpcy5zdWIuYWRkKFxuICAgICAgdGhpcy5tZXRhZGF0YVJ1bGVzTGlzdCQuc3Vic2NyaWJlKChtZXRhZGF0YVJ1bGVzTGlzdCkgPT4ge1xuICAgICAgICB0aGlzLm1ldGFkYXRhUnVsZXNMaXN0ID0gbWV0YWRhdGFSdWxlc0xpc3Q7XG4gICAgICB9KVxuICAgICk7XG4gICAgdGhpcy5zdWIuYWRkKFxuICAgICAgdGhpcy5tZXRhZGF0YVVzZXJMaXN0JC5zdWJzY3JpYmUoKG1ldGFkYXRhVXNlckxpc3QpID0+IHtcbiAgICAgICAgdGhpcy5tZXRhZGF0YVVzZXJMaXN0ID0gbWV0YWRhdGFVc2VyTGlzdDtcbiAgICAgICAgdGhpcy5tZXRhZGF0YVVzZXJMaXN0RmlsdGVyID0gbWV0YWRhdGFVc2VyTGlzdDtcbiAgICAgICAgaWYgKHRoaXMubWV0YWRhdGFMaXN0Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZSh7IG1ldGFkYXRhSXRlbTogdGhpcy5tZXRhZGF0YUxpc3RbMF0uaWQgfSk7XG4gICAgICAgICAgdGhpcy5zZWxlY3RNZXRhZGF0YUl0ZW0odGhpcy5tZXRhZGF0YUxpc3RbMF0uaWQpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLm1ldGFkYXRhUnVsZXMpIHtcbiAgICAgICAgICB0aGlzLm1ldGFkYXRhUnVsZXNMaXN0ID0gdGhpcy5tZXRhZGF0YVJ1bGVzTGlzdC5maWx0ZXIoKG1ldGEpID0+IG1ldGEuaWQgIT09IHRoaXMubWV0YWRhdGFSdWxlcz8uaWQpO1xuICAgICAgICAgIGNvbnN0IHsgaWQsIG5hbWUsIHVzZXJQcm9maWxlLCBtZXRhZGF0YSB9ID0gdGhpcy5tZXRhZGF0YVJ1bGVzO1xuICAgICAgICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgbmFtZSxcbiAgICAgICAgICAgIG1ldGFkYXRhVXNlcjogdXNlclByb2ZpbGUuaWQsXG4gICAgICAgICAgICBtZXRhZGF0YUl0ZW06IG1ldGFkYXRhLmlkXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuc3ViLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBnb0JhY2soKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChBZG1pbkFjdGlvbnMucm91dGVUbyh7IHBhdGg6IHRoaXMuZ2V0UGF0aCgpIH0pKTtcbiAgfVxuXG4gIGdldFBhdGgoKSB7XG4gICAgbGV0IHBhdGggPSB0aGlzLnJvdXRlci5jcmVhdGVVcmxUcmVlKFsnLi4nXSwgeyByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlIH0pO1xuICAgIGlmICh0aGlzLm1ldGFkYXRhUnVsZXMpIHtcbiAgICAgIHBhdGggPSB0aGlzLnJvdXRlci5jcmVhdGVVcmxUcmVlKFsnLi4vLi4nXSwgeyByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlIH0pO1xuICAgIH1cbiAgICByZXR1cm4gcGF0aC50b1N0cmluZygpO1xuICB9XG5cbiAgc2VsZWN0TWV0YWRhdGFJdGVtKGlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLmlzU2FtZVJ1bGVzID0gZmFsc2U7XG4gICAgY29uc3QgbWV0YWRhdGEgPSB0aGlzLm1ldGFkYXRhTGlzdC5maW5kKChtKSA9PiBpZCA9PT0gbS5pZCk7XG4gICAgaWYgKG1ldGFkYXRhKSB7XG4gICAgICB0aGlzLm1ldGFkYXRhVXNlckxpc3RGaWx0ZXIgPSB0aGlzLm1ldGFkYXRhVXNlckxpc3QuZmlsdGVyKChtVSkgPT4gbVUudHlwZSA9PT0gbWV0YWRhdGEudHlwZSk7XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0QXV0b01ldGFkYXRhVXNlcigpO1xuICB9XG5cbiAgc2VsZWN0QXV0b01ldGFkYXRhVXNlcigpIHtcbiAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZSh7XG4gICAgICB1c2VyUHJvZmlsOlxuICAgICAgICB0aGlzLm1ldGFkYXRhVXNlckxpc3RGaWx0ZXIubGVuZ3RoID4gMFxuICAgICAgICAgID8gdGhpcy5tZXRhZGF0YVJ1bGVzPy51c2VyUHJvZmlsZT8uaWQgJiZcbiAgICAgICAgICAgICEhdGhpcy5tZXRhZGF0YVVzZXJMaXN0RmlsdGVyLmZpbmQoKG1ldGFkYXRhKSA9PiBtZXRhZGF0YS5pZCA9PT0gdGhpcy5tZXRhZGF0YVJ1bGVzPy51c2VyUHJvZmlsZT8uaWQpXG4gICAgICAgICAgICA/IHRoaXMubWV0YWRhdGFSdWxlcy51c2VyUHJvZmlsZS5pZFxuICAgICAgICAgICAgOiB0aGlzLm1ldGFkYXRhVXNlckxpc3RGaWx0ZXJbMF0uaWRcbiAgICAgICAgICA6ICcnXG4gICAgfSk7XG4gIH1cblxuICBzZWxlY3RNZXRhZGF0YVVzZXIoaWQ6IHN0cmluZykge1xuICAgIHRoaXMuaXNTYW1lUnVsZXMgPSBmYWxzZTtcbiAgfVxuXG4gIGNoYW5nZVZhbHVlTmFtZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5pc1NhbWVOYW1lID0gZmFsc2U7XG4gIH1cblxuICBzdWJtaXQoKSB7XG4gICAgdGhpcy5pc1N1Ym1pdHRlZCA9IHRydWU7XG4gICAgaWYgKHRoaXMuZm9ybS52YWxpZCkge1xuICAgICAgdGhpcy5pc1N1Ym1pdHRlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5pc1NhbWVOYW1lID0gISF0aGlzLm1ldGFkYXRhUnVsZXNMaXN0LmZpbmQoXG4gICAgICAgIChtZXRhZGF0YSkgPT4gdGhpcy5mb3JtLmdldCgnbmFtZScpPy52YWx1ZS50b0xvd2VyQ2FzZSgpID09PSBtZXRhZGF0YS5uYW1lLnRvTG93ZXJDYXNlKClcbiAgICAgICk7XG4gICAgICB0aGlzLmlzU2FtZVJ1bGVzID0gISF0aGlzLm1ldGFkYXRhUnVsZXNMaXN0LmZpbmQoKG1ldGFkYXRhKSA9PiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgdGhpcy5mb3JtLmdldCgnbWV0YWRhdGFVc2VyJyk/LnZhbHVlID09PSBtZXRhZGF0YT8udXNlclByb2ZpbGU/LmlkICYmXG4gICAgICAgICAgdGhpcy5mb3JtLmdldCgnbWV0YWRhdGFJdGVtJyk/LnZhbHVlID09PSBtZXRhZGF0YT8ubWV0YWRhdGE/LmlkXG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgICAgIGlmICh0aGlzLmZvcm0udmFsaWQgJiYgIXRoaXMuaXNTYW1lTmFtZSAmJiAhdGhpcy5pc1NhbWVSdWxlcykge1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKEFkbWluTWV0YWRhdGFSdWxlc0FjdGlvbnMucG9zdCh7IG1ldGFkYXRhOiB0aGlzLmZvcm0udmFsdWUgfSkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiPGZvcm0gY2xhc3M9XCJvLWZvcm1cIiBbZm9ybUdyb3VwXT1cImZvcm1cIiAobmdTdWJtaXQpPVwic3VibWl0KClcIj5cbiAgPGRpdiBjbGFzcz1cIm0tZm9ybS1sYWJlbC1maWVsZCAtd2lkdGgtc21cIj5cbiAgICA8bGFiZWwgY2xhc3M9XCJhLWxhYmVsXCIgaWQ9XCJuYW1lLWxhYmVsXCIgZm9yPVwibmFtZVwiPlxuICAgICAge3sgJ0BwcnkuYWRtaW4ubWV0YWRhdGEtcnVsZXMubGFiZWwnIHwgaTE4biB9fSAqXG4gICAgICA8c3BhbiBjbGFzcz1cInUtdmlzdWFsbHktaGlkZGVuXCI+KHt7ICdAcHJ5LmFkbWluLnJlcXVpcmVkJyB8IGkxOG4gfX0pPC9zcGFuPlxuICAgIDwvbGFiZWw+XG4gICAgPGlucHV0XG4gICAgICBpZD1cIm5hbWVcIlxuICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgY2xhc3M9XCJhLWZvcm0tZmllbGRcIlxuICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibmFtZVwiXG4gICAgICAobmdNb2RlbENoYW5nZSk9XCJjaGFuZ2VWYWx1ZU5hbWUoJGV2ZW50KVwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiaXNTdWJtaXR0ZWQgJiYgZm9ybS5nZXQoJ25hbWUnKT8uaW52YWxpZCA/ICduYW1lLWxhYmVsIG5hbWUtZXJyb3InIDogJ25hbWUtbGFiZWwnXCJcbiAgICAgIFthdHRyLmFyaWEtaW52YWxpZF09XCJpc1N1Ym1pdHRlZCAmJiBmb3JtLmdldCgnbmFtZScpPy5pbnZhbGlkXCJcbiAgICAgIHJlcXVpcmVkXG4gICAgLz5cbiAgICA8bGFiZWxcbiAgICAgIGNsYXNzPVwiYS1sYWJlbCBhLWxhYmVsLS1oZWxwIC1lcnJvclwiXG4gICAgICBpZD1cIm5hbWUtZXJyb3JcIlxuICAgICAgZm9yPVwibmFtZVwiXG4gICAgICAqbmdJZj1cImlzU3VibWl0dGVkICYmIGZvcm0uZ2V0KCduYW1lJyk/LmludmFsaWRcIlxuICAgICAgPnt7ICdAcHJ5LmFkbWluLnJlcXVpcmVkJyB8IGkxOG4gfX08L2xhYmVsXG4gICAgPlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwibS1mb3JtLWxhYmVsLWZpZWxkIC13aWR0aC1zbVwiPlxuICAgIDxsYWJlbCBjbGFzcz1cImEtbGFiZWxcIiBpZD1cIml0ZW0tbGFiZWxcIiBmb3I9XCJpdGVtXCI+e3tcbiAgICAgICdAcHJ5LmFkbWluLm1ldGFkYXRhLXJ1bGVzLm1ldGFkYXRhLWl0ZW0ubmFtZScgfCBpMThuXG4gICAgfX08L2xhYmVsPlxuICAgIDxwcnktc2VsZWN0XG4gICAgICBpZD1cIml0ZW1cIlxuICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibWV0YWRhdGFJdGVtXCJcbiAgICAgIFtpdGVtc109XCJtZXRhZGF0YUxpc3RcIlxuICAgICAgYmluZFZhbHVlPVwiaWRcIlxuICAgICAgYmluZExhYmVsPVwibmFtZVwiXG4gICAgICBbaXNGb3JtXT1cInRydWVcIlxuICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic2VsZWN0TWV0YWRhdGFJdGVtKCRldmVudClcIlxuICAgICAgYXJpYS1sYWJlbGxlZGJ5PVwiaXRlbS1sYWJlbFwiXG4gICAgPjwvcHJ5LXNlbGVjdD5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cIm0tZm9ybS1sYWJlbC1maWVsZCAtd2lkdGgtc21cIj5cbiAgICA8bGFiZWwgY2xhc3M9XCJhLWxhYmVsXCIgaWQ9XCJ1c2VyLWxhYmVsXCIgZm9yPVwidXNlclwiPnt7XG4gICAgICAnQHByeS5hZG1pbi5tZXRhZGF0YS1ydWxlcy5tZXRhZGF0YS11c2VyLm5hbWUnIHwgaTE4blxuICAgIH19PC9sYWJlbD5cbiAgICA8cHJ5LXNlbGVjdFxuICAgICAgaWQ9XCJ1c2VyXCJcbiAgICAgIGZvcm1Db250cm9sTmFtZT1cIm1ldGFkYXRhVXNlclwiXG4gICAgICBbaXRlbXNdPVwibWV0YWRhdGFVc2VyTGlzdEZpbHRlclwiXG4gICAgICBiaW5kVmFsdWU9XCJpZFwiXG4gICAgICBiaW5kTGFiZWw9XCJuYW1lXCJcbiAgICAgIFtpc0Zvcm1dPVwidHJ1ZVwiXG4gICAgICAobmdNb2RlbENoYW5nZSk9XCJzZWxlY3RNZXRhZGF0YVVzZXIoJGV2ZW50KVwiXG4gICAgICBhcmlhLWxhYmVsbGVkYnk9XCJ1c2VyLWxhYmVsXCJcbiAgICA+PC9wcnktc2VsZWN0PlxuICA8L2Rpdj5cblxuICA8bGFiZWwgY2xhc3M9XCJhLWxhYmVsIGEtbGFiZWwtLWhlbHAgLWVycm9yXCIgKm5nSWY9XCJpc1NhbWVOYW1lXCI+e3tcbiAgICAnQHByeS5hZG1pbi5tZXRhZGF0YS1ydWxlcy5pcy1zYW1lLW5hbWUnIHwgaTE4blxuICB9fTwvbGFiZWw+XG4gIDxsYWJlbCBjbGFzcz1cImEtbGFiZWwgYS1sYWJlbC0taGVscCAtZXJyb3JcIiAqbmdJZj1cImlzU2FtZVJ1bGVzXCI+e3tcbiAgICAnQHByeS5hZG1pbi5tZXRhZGF0YS1ydWxlcy5pcy1zYW1lLXJ1bGVzJyB8IGkxOG5cbiAgfX08L2xhYmVsPlxuXG4gIDxkaXYgY2xhc3M9XCJtLWJ0bi1ncm91cCAtd2lkdGgtc21cIj5cbiAgICA8YnV0dG9uXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIGNsYXNzPVwiYS1idG4gYS1idG4tLXNlY29uZGFyeVwiXG4gICAgICAoY2xpY2spPVwiZ29CYWNrKClcIlxuICAgICAgW2lubmVySFRNTF09XCInQHByeS5hZG1pbi5jYW5jZWwnIHwgaTE4blwiXG4gICAgPjwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwiYS1idG4gYS1idG4tLXByaW1hcnlcIlxuICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICBbaW5uZXJIVE1MXT1cIihtZXRhZGF0YVJ1bGVzID8gJ0BwcnkuYWRtaW4uZWRpdCcgOiAnQHByeS5hZG1pbi5jcmVhdGUnKSB8IGkxOG5cIlxuICAgID48L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Zvcm0+XG4iXX0=
@@ -235,7 +235,8 @@ export const enTranslations = {
235
235
  attributes: {
236
236
  add: 'business model Add attribute',
237
237
  edit: 'Edit attribute',
238
- name: 'Attribute name',
238
+ name: 'Attribute label',
239
+ technicalName: 'Technical name',
239
240
  info: 'Attribute information',
240
241
  description: 'Description',
241
242
  field: 'Field',
@@ -364,4 +365,4 @@ export const enTranslations = {
364
365
  }
365
366
  }
366
367
  };
367
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW4udHJhbnNsYXRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvYWRtaW4vaTE4bi9lbi50cmFuc2xhdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHO0lBQzVCLE1BQU0sRUFBRTtRQUNOLEtBQUssRUFBRTtZQUNMLEtBQUssRUFBRSxnQkFBZ0I7WUFDdkIsZUFBZSxFQUFFLDRCQUE0QjtZQUM3QyxjQUFjLEVBQUUsYUFBYTtZQUM3QixXQUFXLEVBQUUsT0FBTztZQUNwQixJQUFJLEVBQUUsTUFBTTtZQUNaLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLEdBQUcsRUFBRSxLQUFLO1lBQ1YsUUFBUSxFQUFFLFVBQVU7WUFDcEIsUUFBUSxFQUFFLG1CQUFtQjtZQUM3QixZQUFZLEVBQUUsZUFBZTtZQUM3QixNQUFNLEVBQUUsUUFBUTtZQUNoQixNQUFNLEVBQUUsZUFBZTtZQUN2QixNQUFNLEVBQUUsUUFBUTtZQUNoQixJQUFJLEVBQUUsTUFBTTtZQUNaLElBQUksRUFBRSxNQUFNO1lBQ1osVUFBVSxFQUFFLFlBQVk7WUFDeEIsT0FBTyxFQUFFLFNBQVM7WUFDbEIsUUFBUSxFQUFFLFVBQVU7WUFDcEIsUUFBUSxFQUFFLHdCQUF3QjtZQUNsQyxNQUFNLEVBQUUsMEJBQTBCO1lBQ2xDLFNBQVMsRUFBRSwyQ0FBMkM7WUFDdEQsU0FBUyxFQUFFLHVDQUF1QztZQUNsRCxZQUFZLEVBQUUsaURBQWlEO1lBQy9ELElBQUksRUFBRSxlQUFlO1lBQ3JCLFdBQVcsRUFBRSw0REFBNEQ7WUFDekUsZ0JBQWdCLEVBQUUsb0JBQW9CO1lBQ3RDLElBQUksRUFBRSxZQUFZO1lBQ2xCLDZCQUE2QixFQUMzQix5R0FBeUc7WUFDM0csUUFBUSxFQUFFO2dCQUNSLElBQUksRUFBRSxXQUFXO2dCQUNqQixRQUFRLEVBQUUsVUFBVTtnQkFDcEIsU0FBUyxFQUFFLFdBQVc7Z0JBQ3RCLFdBQVcsRUFBRSxhQUFhO2dCQUMxQixZQUFZLEVBQUUsY0FBYzthQUM3QjtZQUNELFNBQVMsRUFBRTtnQkFDVCxLQUFLLEVBQUUsV0FBVztnQkFDbEIsUUFBUSxFQUFFLDJCQUEyQjtnQkFDckMsTUFBTSxFQUFFLGdCQUFnQjtnQkFDeEIsUUFBUSxFQUFFLGVBQWU7Z0JBQ3pCLElBQUksRUFBRSxnQkFBZ0I7Z0JBQ3RCLFdBQVcsRUFBRSxjQUFjO2dCQUMzQixJQUFJLEVBQUUscUNBQXFDO2dCQUMzQyxVQUFVLEVBQUUsb0NBQW9DO2dCQUNoRCxPQUFPLEVBQUUsZ0JBQWdCO2dCQUN6QixLQUFLLEVBQUUsMEJBQTBCO2dCQUNqQyxJQUFJLEVBQUUseUJBQXlCO2dCQUMvQixRQUFRLEVBQUUsa0VBQWtFO2dCQUM1RSxVQUFVLEVBQUUsa0NBQWtDO2dCQUM5QyxTQUFTLEVBQUUsZ0NBQWdDO2dCQUMzQyxZQUFZLEVBQUUsa0JBQWtCO2dCQUNoQyxXQUFXLEVBQUUsMEJBQTBCO2dCQUN2QyxXQUFXLEVBQUUsaUNBQWlDO2dCQUM5QyxVQUFVLEVBQUUsd0JBQXdCO2dCQUNwQyxXQUFXLEVBQUUsc0JBQXNCO2FBQ3BDO1lBQ0QsT0FBTyxFQUFFO2dCQUNQLEdBQUcsRUFBRSxTQUFTO2dCQUNkLE1BQU0sRUFBRSxRQUFRO2dCQUNoQixNQUFNLEVBQUUsTUFBTTtnQkFDZCxJQUFJLEVBQUUsTUFBTTtnQkFDWixJQUFJLEVBQUUsTUFBTTtnQkFDWixJQUFJLEVBQUUsWUFBWTthQUNuQjtZQUNELEtBQUssRUFBRTtnQkFDTCxXQUFXLEVBQUUsb0JBQW9CO2dCQUNqQyxJQUFJLEVBQUUsT0FBTztnQkFDYixlQUFlLEVBQUUsY0FBYztnQkFDL0IsWUFBWSxFQUFFLFlBQVk7Z0JBQzFCLGdCQUFnQixFQUFFLGdCQUFnQjtnQkFDbEMsT0FBTyxFQUFFLFVBQVU7Z0JBQ25CLE9BQU8sRUFBRSxTQUFTO2dCQUNsQixVQUFVLEVBQUUsWUFBWTtnQkFDeEIsUUFBUSxFQUFFLFVBQVU7Z0JBQ3BCLE1BQU0sRUFBRSxRQUFRO2dCQUNoQixnQkFBZ0IsRUFBRSxnQkFBZ0I7Z0JBQ2xDLEtBQUssRUFBRSwwQkFBMEI7Z0JBQ2pDLEtBQUssRUFBRSxZQUFZO2dCQUNuQixNQUFNLEVBQUUsYUFBYTthQUN0QjtZQUNELFVBQVUsRUFBRTtnQkFDVixJQUFJLEVBQUUsWUFBWTtnQkFDbEIsR0FBRyxFQUFFLHNCQUFzQjtnQkFDM0IsSUFBSSxFQUFFLG1CQUFtQjtnQkFDekIsSUFBSSxFQUFFLHlCQUF5QjtnQkFDL0IsR0FBRyxFQUFFLEtBQUs7Z0JBQ1YsSUFBSSxFQUFFLE1BQU07Z0JBQ1osS0FBSyxFQUFFLGdDQUFnQztnQkFDdkMsU0FBUyxFQUFFLHlCQUF5QjtnQkFDcEMsZ0JBQWdCLEVBQUUsc0VBQXNFO2FBQ3pGO1lBQ0QsUUFBUSxFQUFFO2dCQUNSLEtBQUssRUFBRSxVQUFVO2dCQUNqQixHQUFHLEVBQUUscUJBQXFCO2dCQUMxQixJQUFJLEVBQUUsaUJBQWlCO2dCQUN2QixPQUFPLEVBQUUsa0JBQWtCO2dCQUMzQixXQUFXLEVBQUUscUJBQXFCO2dCQUNsQyxFQUFFLEVBQUUsSUFBSTtnQkFDUixLQUFLLEVBQUUsTUFBTTtnQkFDYixJQUFJLEVBQUUsTUFBTTtnQkFDWixXQUFXLEVBQUUsYUFBYTtnQkFDMUIsT0FBTyxFQUFFLG1CQUFtQjtnQkFDNUIsU0FBUyxFQUFFLFlBQVk7Z0JBQ3ZCLFFBQVEsRUFBRSxlQUFlO2dCQUN6QixXQUFXLEVBQUUsY0FBYztnQkFDM0IsTUFBTSxFQUFFLGlCQUFpQjthQUMxQjtZQUNELGdCQUFnQixFQUFFO2dCQUNoQixLQUFLLEVBQUUsZ0JBQWdCO2dCQUN2QixLQUFLLEVBQUUsTUFBTTtnQkFDYixjQUFjLEVBQUUsZ0ZBQWdGO2dCQUNoRyxlQUFlLEVBQUUscUVBQXFFO2dCQUN0RixlQUFlLEVBQUU7b0JBQ2YsSUFBSSxFQUFFLGlCQUFpQjtvQkFDdkIsV0FBVyxFQUFFLDZCQUE2QjtvQkFDMUMsSUFBSSxFQUFFLHNCQUFzQjtpQkFDN0I7Z0JBQ0QsZUFBZSxFQUFFO29CQUNmLElBQUksRUFBRSxxQkFBcUI7b0JBQzNCLFdBQVcsRUFBRSxvQ0FBb0M7b0JBQ2pELElBQUksRUFBRSw2QkFBNkI7aUJBQ3BDO2dCQUNELElBQUksRUFBRTtvQkFDSixLQUFLLEVBQUUsc0JBQXNCO2lCQUM5QjtnQkFDRCxHQUFHLEVBQUU7b0JBQ0gsS0FBSyxFQUFFLDBCQUEwQjtpQkFDbEM7YUFDRjtZQUNELE9BQU8sRUFBRTtnQkFDUCxNQUFNLEVBQ0osaUxBQWlMO2dCQUNuTCxLQUFLLEVBQUUsU0FBUztnQkFDaEIsRUFBRSxFQUFFLElBQUk7Z0JBQ1IsSUFBSSxFQUFFLE1BQU07Z0JBQ1osTUFBTSxFQUFFLGdCQUFnQjtnQkFDeEIsSUFBSSxFQUFFLE1BQU07Z0JBQ1osY0FBYyxFQUFFLGtFQUFrRTtnQkFDbEYsR0FBRyxFQUFFO29CQUNILEtBQUssRUFBRSxzQkFBc0I7aUJBQzlCO2dCQUNELElBQUksRUFBRTtvQkFDSixLQUFLLEVBQUUsZ0JBQWdCO2lCQUN4QjtnQkFDRCxJQUFJLEVBQUUsTUFBTTtnQkFDWixNQUFNLEVBQUUsUUFBUTtnQkFDaEIsVUFBVSxFQUFFLFlBQVk7YUFDekI7WUFDRCxZQUFZLEVBQUU7Z0JBQ1osTUFBTSxFQUFFLFFBQVE7Z0JBQ2hCLFlBQVksRUFBRSxlQUFlO2dCQUM3QixLQUFLLEVBQUU7b0JBQ0wsSUFBSSxFQUFFLFlBQVk7b0JBQ2xCLEdBQUcsRUFBRSxzQkFBc0I7b0JBQzNCLElBQUksRUFBRSx5QkFBeUI7b0JBQy9CLElBQUksRUFBRSxtQkFBbUI7aUJBQzFCO2dCQUNELElBQUksRUFBRTtvQkFDSixFQUFFLEVBQUUsSUFBSTtvQkFDUixJQUFJLEVBQUUsTUFBTTtvQkFDWixXQUFXLEVBQUUsYUFBYTtvQkFDMUIsTUFBTSxFQUFFLFFBQVE7b0JBQ2hCLFlBQVksRUFBRSxRQUFRO29CQUN0QixjQUFjLEVBQUUsVUFBVTtvQkFDMUIsU0FBUyxFQUFFLFdBQVc7b0JBQ3RCLElBQUksRUFBRSxNQUFNO29CQUNaLFlBQVksRUFBRSxVQUFVO29CQUN4QixhQUFhLEVBQUUsV0FBVztvQkFDMUIsWUFBWSxFQUFFLCtDQUErQztvQkFDN0QsV0FBVyxFQUFFLHdCQUF3QjtvQkFDckMsWUFBWSxFQUFFLHlCQUF5QjtvQkFDdkMsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsTUFBTSxFQUFFLFFBQVE7b0JBQ2hCLFFBQVEsRUFBRSxVQUFVO2lCQUNyQjthQUNGO1lBQ0QsSUFBSSxFQUFFO2dCQUNKLEtBQUssRUFBRSxjQUFjO2dCQUNyQixHQUFHLEVBQUUseUJBQXlCO2dCQUM5QixLQUFLLEVBQUUsTUFBTTtnQkFDYixJQUFJLEVBQUUsTUFBTTtnQkFDWixPQUFPLEVBQUUsbUJBQW1CO2dCQUM1QixJQUFJLEVBQUUsbUJBQW1CO2FBQzFCO1lBQ0QsV0FBVyxFQUFFO2dCQUNYLElBQUksRUFBRSxvQkFBb0I7Z0JBQzFCLEdBQUcsRUFBRSw4QkFBOEI7Z0JBQ25DLElBQUksRUFBRSx3QkFBd0I7Z0JBQzlCLElBQUksRUFBRSxpQ0FBaUM7Z0JBQ3ZDLFNBQVMsRUFBRSwwQkFBMEI7Z0JBQ3JDLFlBQVksRUFBRSxpREFBaUQ7Z0JBQy9ELFVBQVUsRUFBRSxtREFBbUQ7Z0JBQy9ELElBQUksRUFBRSxNQUFNO2dCQUNaLElBQUksRUFBRSxNQUFNO2dCQUNaLEtBQUssRUFBRSxnQkFBZ0I7YUFDeEI7WUFDRCxPQUFPLEVBQUU7Z0JBQ1AsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsSUFBSSxFQUFFLE1BQU07Z0JBQ1osS0FBSyxFQUFFLDJCQUEyQjtnQkFDbEMsS0FBSyxFQUFFLE9BQU87Z0JBQ2QsVUFBVSxFQUFFLHNEQUFzRDtnQkFDbEUsS0FBSyxFQUFFLE9BQU87Z0JBQ2QsV0FBVyxFQUFFLGFBQWE7Z0JBQzFCLEtBQUssRUFBRSxPQUFPO2dCQUNkLEdBQUcsRUFBRSwyQkFBMkI7Z0JBQ2hDLElBQUksRUFBRSx1QkFBdUI7Z0JBQzdCLE1BQU0sRUFBRSx1QkFBdUI7Z0JBQy9CLE9BQU8sRUFBRSxXQUFXO2dCQUNwQixRQUFRLEVBQUUsZ0RBQWdEO2dCQUMxRCxJQUFJLEVBQUUsNEJBQTRCO2dCQUNsQyxLQUFLLEVBQUUseUJBQXlCO2dCQUNoQyxTQUFTLEVBQUUsNEJBQTRCO2dCQUN2QyxRQUFRLEVBQUUsb0JBQW9CO2dCQUM5QixLQUFLLEVBQUUsa0JBQWtCO2dCQUN6QixTQUFTLEVBQUUsc0JBQXNCO2dCQUNqQyxVQUFVLEVBQUU7b0JBQ1YsTUFBTSxFQUFFLFVBQVU7b0JBQ2xCLE9BQU8sRUFBRSxZQUFZO29CQUNyQixnQkFBZ0IsRUFBRSxxQkFBcUI7b0JBQ3ZDLEtBQUssRUFBRSxVQUFVO29CQUNqQixjQUFjLEVBQUUsbUJBQW1CO29CQUNuQyxRQUFRLEVBQUUsa0JBQWtCO2lCQUM3QjtnQkFDRCx1QkFBdUIsRUFDckIsK0lBQStJO2dCQUNqSix5QkFBeUIsRUFBRSxpQ0FBaUM7Z0JBQzVELHlCQUF5QixFQUFFLDhDQUE4QztnQkFDekUsYUFBYSxFQUFFLGdCQUFnQjtnQkFDL0IsYUFBYSxFQUFFLDhCQUE4QjtnQkFDN0MsWUFBWSxFQUFFLGNBQWM7Z0JBQzVCLElBQUksRUFBRSxNQUFNO2dCQUNaLFVBQVUsRUFBRTtvQkFDVixHQUFHLEVBQUUsOEJBQThCO29CQUNuQyxJQUFJLEVBQUUsZ0JBQWdCO29CQUN0QixJQUFJLEVBQUUsZ0JBQWdCO29CQUN0QixJQUFJLEVBQUUsdUJBQXVCO29CQUM3QixXQUFXLEVBQUUsYUFBYTtvQkFDMUIsS0FBSyxFQUFFLE9BQU87b0JBQ2QsUUFBUSxFQUFFLFVBQVU7b0JBQ3BCLFdBQVcsRUFBRSxjQUFjO2lCQUM1QjtnQkFDRCxRQUFRLEVBQUU7b0JBQ1IsTUFBTSxFQUFFLGlCQUFpQjtvQkFDekIsY0FBYyxFQUFFLGtEQUFrRDtvQkFDbEUsSUFBSSxFQUFFLFVBQVU7b0JBQ2hCLFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLE1BQU0sRUFBRSxpQkFBaUI7b0JBQ3pCLEdBQUcsRUFBRSxpSEFBaUg7aUJBQ3ZIO2FBQ0Y7WUFDRCxNQUFNLEVBQUU7Z0JBQ04sR0FBRyxFQUFFLGVBQWU7Z0JBQ3BCLElBQUksRUFBRSxtQkFBbUI7Z0JBQ3pCLElBQUksRUFBRSxRQUFRO2dCQUNkLElBQUksRUFBRSxZQUFZO2dCQUNsQixJQUFJLEVBQUUsTUFBTTtnQkFDWixXQUFXLEVBQUUsYUFBYTtnQkFDMUIsSUFBSSxFQUFFLGdCQUFnQjtnQkFDdEIsVUFBVSxFQUFFLG9CQUFvQjtnQkFDaEMsYUFBYSxFQUFFLFlBQVk7Z0JBQzNCLGFBQWEsRUFBRSxnQkFBZ0I7Z0JBQy9CLFNBQVMsRUFBRSxPQUFPO2dCQUNsQixvQkFBb0IsRUFBRSxxQ0FBcUM7Z0JBQzNELFNBQVMsRUFBRTtvQkFDVCxHQUFHLEVBQUUsU0FBUztvQkFDZCxJQUFJLEVBQUUsYUFBYTtvQkFDbkIsT0FBTyxFQUFFLGVBQWU7b0JBQ3hCLE1BQU0sRUFBRSxNQUFNO29CQUNkLE9BQU8sRUFBRSxTQUFTO29CQUNsQixPQUFPLEVBQUUsTUFBTTtvQkFDZixHQUFHLEVBQUUsS0FBSztvQkFDVixLQUFLLEVBQUUsT0FBTztvQkFDZCxVQUFVLEVBQUUsY0FBYztvQkFDMUIsSUFBSSxFQUFFLE1BQU07b0JBQ1osU0FBUyxFQUFFLGFBQWE7b0JBQ3hCLE9BQU8sRUFBRSxTQUFTO29CQUNsQixZQUFZLEVBQUUsZ0JBQWdCO29CQUM5QixXQUFXLEVBQUU7d0JBQ1gsR0FBRyxFQUFFLHlEQUF5RDt3QkFDOUQsSUFBSSxFQUFFLCtEQUErRDt3QkFDckUsT0FBTyxFQUFFLHNEQUFzRDt3QkFDL0QsTUFBTSxFQUNKLDhIQUE4SDt3QkFDaEksT0FBTyxFQUNMLGdJQUFnSTt3QkFDbEksT0FBTyxFQUFFLDRCQUE0Qjt3QkFDckMsR0FBRyxFQUFFLDZDQUE2Qzt3QkFDbEQsS0FBSyxFQUFFLGtHQUFrRzt3QkFDekcsVUFBVSxFQUNSLGtIQUFrSDt3QkFDcEgsSUFBSSxFQUFFLGlHQUFpRzt3QkFDdkcsU0FBUyxFQUNQLDZJQUE2STt3QkFDL0ksT0FBTyxFQUNMLG9HQUFvRzt3QkFDdEcsWUFBWSxFQUNWLHlIQUF5SDtxQkFDNUg7aUJBQ0Y7Z0JBQ0QsVUFBVSxFQUFFO29CQUNWLElBQUksRUFBRSxtQkFBbUI7b0JBQ3pCLE1BQU0sRUFBRSx5QkFBeUI7aUJBQ2xDO2FBQ0Y7WUFDRCxRQUFRLEVBQUU7Z0JBQ1IsSUFBSSxFQUFFLE9BQU87Z0JBQ2IsSUFBSSxFQUFFLGtCQUFrQjtnQkFDeEIsT0FBTyxFQUFFLFNBQVM7Z0JBQ2xCLFdBQVcsRUFBRSxLQUFLO2dCQUNsQixZQUFZLEVBQUUsZUFBZTtnQkFDN0IsSUFBSSxFQUFFLFlBQVk7Z0JBQ2xCLFVBQVUsRUFBRSxhQUFhO2dCQUN6QixLQUFLLEVBQUUsY0FBYztnQkFDckIsUUFBUSxFQUFFLFVBQVU7Z0JBQ3BCLEtBQUssRUFBRSxRQUFRO2FBQ2hCO1lBQ0QsYUFBYSxFQUFFO2dCQUNiLElBQUksRUFBRSxpQkFBaUI7Z0JBQ3ZCLElBQUksRUFBRSwyQkFBMkI7Z0JBQ2pDLEdBQUcsRUFBRSxtQkFBbUI7Z0JBQ3hCLElBQUksRUFBRSxvQkFBb0I7Z0JBQzFCLElBQUksRUFBRSxNQUFNO2dCQUNaLFVBQVUsRUFBRSx5QkFBeUI7Z0JBQ3JDLE1BQU0sRUFBRSw2Q0FBNkM7Z0JBQ3JELGdCQUFnQixFQUFFLG1CQUFtQjtnQkFDckMsU0FBUyxFQUFFLGdCQUFnQjtnQkFDM0Isa0JBQWtCLEVBQUUsaURBQWlEO2FBQ3RFO1lBQ0QsS0FBSyxFQUFFO2dCQUNMLElBQUksRUFBRSwwQkFBMEI7Z0JBQ2hDLEdBQUcsRUFBRSxrQ0FBa0M7Z0JBQ3ZDLFdBQVcsRUFBRSx1QkFBdUI7Z0JBQ3BDLGVBQWUsRUFBRSxrQkFBa0I7Z0JBQ25DLGdCQUFnQixFQUFFLDRCQUE0QjtnQkFDOUMsb0JBQW9CLEVBQUUsdUJBQXVCO2dCQUM3QyxZQUFZLEVBQUUsZUFBZTtnQkFDN0Isa0JBQWtCLEVBQUUsc0JBQXNCO2FBQzNDO1lBQ0QsV0FBVyxFQUFFO2dCQUNYLElBQUksRUFBRSxXQUFXO2dCQUNqQixJQUFJLEVBQUUsVUFBVTtnQkFDaEIsV0FBVyxFQUFFLGFBQWE7Z0JBQzFCLE1BQU0sRUFBRSxRQUFRO2dCQUNoQixPQUFPLEVBQUUsU0FBUztnQkFDbEIsTUFBTSxFQUFFLFlBQVk7Z0JBQ3BCLFNBQVMsRUFBRSxXQUFXO2dCQUN0QixLQUFLLEVBQUUsV0FBVzthQUNuQjtZQUNELE9BQU8sRUFBRTtnQkFDUCxLQUFLLEVBQUUsa0JBQWtCO2dCQUN6QixXQUFXLEVBQUU7b0JBQ1gsT0FBTyxFQUNMLHVLQUF1SztvQkFDekssT0FBTyxFQUNMLHNQQUFzUDtpQkFDelA7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLE9BQU8sRUFBRSxTQUFTO29CQUNsQixPQUFPLEVBQUUsZUFBZTtpQkFDekI7YUFDRjtTQUNGO1FBQ0QsT0FBTyxFQUFFO1lBQ1AsT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixTQUFTLEVBQUUsb0JBQW9CO1lBQy9CLE9BQU8sRUFBRSwwQkFBMEI7WUFDbkMsSUFBSSxFQUFFLHVCQUF1QjtZQUM3QixJQUFJLEVBQUUsWUFBWTtTQUNuQjtLQUNGO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBlblRyYW5zbGF0aW9ucyA9IHtcbiAgJ0BwcnknOiB7XG4gICAgYWRtaW46IHtcbiAgICAgIHRpdGxlOiAnQWRtaW5pc3RyYXRpb24nLFxuICAgICAgdGl0bGVJbmRpY2F0aW9uOiAnQ2xvc2UgQWRtaW5pc3RyYXRpb24gbWVudSAnLFxuICAgICAgaW5mb01vZGFsVGl0bGU6ICdJbmZvcm1hdGlvbicsXG4gICAgICBjbG9zZU1vZGFsZTogJ0Nsb3NlJyxcbiAgICAgIGVkaXQ6ICdFZGl0JyxcbiAgICAgIHJlbmFtZTogJ1JlbmFtZScsXG4gICAgICBkZWxldGU6ICdEZWxldGUnLFxuICAgICAgYWRkOiAnTmV3JyxcbiAgICAgIHZhbGlkYXRlOiAnVmFsaWRhdGUnLFxuICAgICAgYWRkQ2xhc3M6ICdWYWxpZGF0ZSBjcmVhdGlvbicsXG4gICAgICBhZGRBdHRyaWJ1dGU6ICdBZGQgYXR0cmlidXRlJyxcbiAgICAgIGNyZWF0ZTogJ0NyZWF0ZScsXG4gICAgICB1cGxvYWQ6ICdBZGQgYSBwaWN0dXJlJyxcbiAgICAgIGNhbmNlbDogJ0NhbmNlbCcsXG4gICAgICBiYWNrOiAnQmFjaycsXG4gICAgICBuZXh0OiAnTmV4dCcsXG4gICAgICBwcm9wZXJ0aWVzOiAnUHJvcGVydGllcycsXG4gICAgICBkZXRhaWxzOiAnRGV0YWlscycsXG4gICAgICBhY3Rpdml0eTogJ0FjdGl2aXR5JyxcbiAgICAgIHJlcXVpcmVkOiAnVGhpcyBmaWVsZCBpcyByZXF1aXJlZCcsXG4gICAgICBleGlzdHM6ICdUaGlzIG5hbWUgYWxyZWFkeSBleGlzdHMnLFxuICAgICAgbWluTGVuZ3RoOiAnVGhlIG1pbmltdW0gbnVtYmVyIG9mIGNoYXJhY3RlcnM6IHt7bGVufX0nLFxuICAgICAgbWF4TGVuZ3RoOiAnTnVtYmVyIG9mIGNoYXJhY3RlcnMgYWxsb3dlZDoge3tsZW59fScsXG4gICAgICBub1doaXRlc3BhY2U6IFwiVGhlIHZhbHVlIGNhbid0IHN0YXJ0IG9yIGVuZCB3aXRoIGEgYmxhbmsgc3BhY2VcIixcbiAgICAgIHJ1bGU6ICdSdWxlIG7CsHt7aWR9fScsXG4gICAgICBkZWZhdWx0UnVsZTogJ0RlZmF1bHQgUnVsZSAoYXBwbGllcyBvbmx5IGlmIG5vIG90aGVyIHJ1bGVzIGFyZSB2ZXJpZmllZCknLFxuICAgICAgZGlzcGxheU1vZGVJbWFnZTogJ0ltYWdlIGRpc3BsYXkgbW9kZScsXG4gICAgICBzaXplOiAnSW1hZ2Ugc2l6ZScsXG4gICAgICBkZWxldGVBdHRyaWJ1dGVDb25maXJtTWVzc2FnZTpcbiAgICAgICAgJ1RoaXMgYXR0cmlidXRlIHdpbGwgbm8gbG9uZ2VyIGJlIHZpc2libGUgZm9yIHRoZSBhc3NvY2lhdGVkIGRhdGEuIEFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGUgdGhpcz8nLFxuICAgICAgcG9zaXRpb246IHtcbiAgICAgICAgRlVMTDogJ0Z1bGwgaWNvbicsXG4gICAgICAgIFRPUF9MRUZUOiAnVG9wIGxlZnQnLFxuICAgICAgICBUT1BfUklHSFQ6ICdUb3AgUmlnaHQnLFxuICAgICAgICBCT1RUT01fTEVGVDogJ0JvdHRvbSBsZWZ0JyxcbiAgICAgICAgQk9UVE9NX1JJR0hUOiAnQm90dG9tIHJpZ2h0J1xuICAgICAgfSxcbiAgICAgIGN1c3RvbWl6ZToge1xuICAgICAgICB0aXRsZTogJ0N1c3RvbWl6ZScsXG4gICAgICAgIHRlbXBsYXRlOiAnVG9vbHRpcCAoTWFwICYgUmVsYXRpb25zKScsXG4gICAgICAgIHVwZGF0ZTogJ1VwZGF0ZSB0b29sdGlwJyxcbiAgICAgICAgYWR2YW5jZWQ6ICdBZHZhbmNlZCBtb2RlJyxcbiAgICAgICAgbmFtZTogJ2J1c2luZXNzIG1vZGVsJyxcbiAgICAgICAgdGVjaG5pY2FsSWQ6ICdUZWNobmljYWwgSWQnLFxuICAgICAgICB0eXBlOiAnQ2hvb3NlIHdoaWNoIGtpbmQgb2YgdG9vbHRpcCB0byB1c2UnLFxuICAgICAgICBzaW1wbGlmaWVkOiAnQ2hvb3NlIHdoaWNoIGF0dHJpYnV0ZXMgdG8gZGlzcGxheScsXG4gICAgICAgIGV4ZW1wbGU6ICd7e2V4cHJ9fSB2YWx1ZScsXG4gICAgICAgIHRhYmxlOiAnVGFibGUgZGVmYXVsdCBhdHRyaWJ1dGVzJyxcbiAgICAgICAgdGlsZTogJ1RpbGUgZGVmYXVsdCBhdHRyaWJ1dGVzJyxcbiAgICAgICAgdGlsZUhpbnQ6ICdPbmx5IGJldHdlZW4gMSBhbmQge3ttYXh9fSBhdHRyaWJ1dGVzIGNhbiBiZSBkaXNwbGF5ZWQgaW4gYSB0aWxlJyxcbiAgICAgICAgdGFibGVBdHRyczogJ0F0dHJpYnV0ZXMgaW4gYSB0YWJsZSBieSBkZWZhdWx0JyxcbiAgICAgICAgdGlsZUF0dHJzOiAnQXR0cmlidXRlcyBkaXNwbGF5ZWQgaW4gYSB0aWxlJyxcbiAgICAgICAgbm9UYWJsZUF0dHJzOiAnT3RoZXIgYXR0cmlidXRlcycsXG4gICAgICAgIG5vVGlsZUF0dHJzOiAnQXR0cmlidXRlcyBub3QgZGlzcGxheWVkJyxcbiAgICAgICAgdXBkYXRlVGFibGU6ICdVcGRhdGUgZGVmYXVsdCB0YWJsZSBhdHRyaWJ1dGVzJyxcbiAgICAgICAgdXBkYXRlVGlsZTogJ1VwZGF0ZSB0aWxlIGF0dHJpYnV0ZXMnLFxuICAgICAgICB1cGRhdGVJY29uczogJ1VwZGF0ZSBzeW1ib2xzIHJ1bGVzJ1xuICAgICAgfSxcbiAgICAgIHZhclR5cGU6IHtcbiAgICAgICAgaW50OiAnSW50ZWdlcicsXG4gICAgICAgIGRvdWJsZTogJ0RvdWJsZScsXG4gICAgICAgIHN0cmluZzogJ1RleHQnLFxuICAgICAgICB1dWlkOiAnVXVpZCcsXG4gICAgICAgIGRhdGU6ICdEYXRlJyxcbiAgICAgICAgbGlzdDogJ1ZhbHVlIGxpc3QnXG4gICAgICB9LFxuICAgICAgbWVudXM6IHtcbiAgICAgICAgZW52aXJvbm1lbnQ6ICdFeGVjdXRpb24gY29udGV4dHMnLFxuICAgICAgICB1c2VyOiAnVXNlcnMnLFxuICAgICAgICAnbWV0YWRhdGEtdXNlcic6ICdVc2VyIHByb2ZpbGUnLFxuICAgICAgICAnYWJhYy1ydWxlcyc6ICdBQkFDIFJ1bGVzJyxcbiAgICAgICAgJ21ldGFkYXRhLXJ1bGVzJzogJ1J1bGVzIG1ldGFkYXRhJyxcbiAgICAgICAgZGF0YXNldDogJ0RhdGFzZXRzJyxcbiAgICAgICAgY2xhc3NlczogJ0NsYXNzZXMnLFxuICAgICAgICBwcmVkaWNhdGVzOiAnUHJlZGljYXRlcycsXG4gICAgICAgIG1ldGFkYXRhOiAnTWV0YWRhdGEnLFxuICAgICAgICBmaWVsZHM6ICdGaWVsZHMnLFxuICAgICAgICAncmVsYXRpb24tdHlwZXMnOiAnUmVsYXRpb24gdHlwZXMnLFxuICAgICAgICBsaW5rczogJ0xpbmtzIGJldHdlZW4gYXR0cmlidXRlcycsXG4gICAgICAgIG1vZGVsOiAnRGF0YSBtb2RlbCcsXG4gICAgICAgIGFjY2VzczogJ0RhdGEgYWNjZXNzJ1xuICAgICAgfSxcbiAgICAgIHByZWRpY2F0ZXM6IHtcbiAgICAgICAgbGlzdDogJ1ByZWRpY2F0ZXMnLFxuICAgICAgICBhZGQ6ICdDcmVhdGUgbmV3IHByZWRpY2F0ZScsXG4gICAgICAgIGVkaXQ6ICdFZGl0IHVuIHByZWRpY2F0ZScsXG4gICAgICAgIGluZm86IFwiUHJlZGljYXRlJ3MgaW5mb3JtYXRpb25cIixcbiAgICAgICAgbnVtOiAnSWQuJyxcbiAgICAgICAgbmFtZTogJ05hbWUnLFxuICAgICAgICB2YWx1ZTogJ1RyaWdnZXIgY29uZGl0aW9uYWwgZXhwcmVzc2lvbicsXG4gICAgICAgIHZhbGlkRWRpdDogJ1ZhbGlkYXRpb24gbW9kaWZpY2F0aW9uJyxcbiAgICAgICAgdmFsaWRFZGl0TWVzc2FnZTogJ1RoaXMgcHJlZGljYXRlcyBpcyB1c2VkIGluIHt7dXNlZH19IHJ1bGVzLiBSZWFsbHkgdXBkYXRlIHByZWRpY2F0ZSA/J1xuICAgICAgfSxcbiAgICAgIG1ldGFkYXRhOiB7XG4gICAgICAgIHRpdGxlOiAnTWV0YWRhdGEnLFxuICAgICAgICBhZGQ6ICdDcmVhdGUgbmV3IG1ldGFkYXRhJyxcbiAgICAgICAgZWRpdDogJ01vZGlmeSBtZXRhZGF0YScsXG4gICAgICAgIGRldGFpbHM6ICdNZXRhZGF0YSBkZXRhaWxzJyxcbiAgICAgICAgZGV0YWlsc1VzZXI6ICdVc2VyIHByb2ZpbGUgZGV0YWlsJyxcbiAgICAgICAgaWQ6ICdJRCcsXG4gICAgICAgIGxhYmVsOiAnTmFtZScsXG4gICAgICAgIHR5cGU6ICdUeXBlJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdEZXNjcmlwdGlvbicsXG4gICAgICAgIGludmFsaWQ6ICdGaWVsZCBpcyByZXF1aXJlZCcsXG4gICAgICAgIGxpc3RMYWJlbDogJ1ZhbHVlIG5hbWUnLFxuICAgICAgICBhZGRWYWx1ZTogJ0FkZCBuZXcgdmFsdWUnLFxuICAgICAgICByZW1vdmVWYWx1ZTogJ1JlbW92ZSB2YWx1ZScsXG4gICAgICAgIHN5c3RlbTogJ1N5c3RlbSBtZXRhZGF0YSdcbiAgICAgIH0sXG4gICAgICAnbWV0YWRhdGEtcnVsZXMnOiB7XG4gICAgICAgIHRpdGxlOiAnTWV0YWRhdGEgUnVsZXMnLFxuICAgICAgICBsYWJlbDogJ05hbWUnLFxuICAgICAgICAnaXMtc2FtZS1uYW1lJzogJ1RoZSBuYW1lIG9mIHRoZSBydWxlIGlzIGFscmVhZHkgdGFrZW4gZm9yIGFub3RoZXIgcnVsZSwgcGxlYXNlIHVzZSBhbm90aGVyIG9uZScsXG4gICAgICAgICdpcy1zYW1lLXJ1bGVzJzogJ1RoZSBzYW1lIHJ1bGUgaGFzIGFscmVhZHkgYmVlbiBjb25maWd1cmVkIGFuZCBzYXZlZCwgeW91IGNhbiB1c2UgaXQnLFxuICAgICAgICAnbWV0YWRhdGEtaXRlbSc6IHtcbiAgICAgICAgICBuYW1lOiAnVGFyZ2V0IG1ldGFkYXRhJyxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogJ1RhcmdldCBtZXRhZGF0YSBkZXNjcmlwdGlvbicsXG4gICAgICAgICAgdHlwZTogJ01ldGFkYXRhIHR5cGUgdGFyZ2V0J1xuICAgICAgICB9LFxuICAgICAgICAnbWV0YWRhdGEtdXNlcic6IHtcbiAgICAgICAgICBuYW1lOiAnU291cmNlIHVzZXIgcHJvZmlsZScsXG4gICAgICAgICAgZGVzY3JpcHRpb246ICdEZXNjcmlwdGlvbiBvZiBzb3VyY2UgdXNlciBwcm9maWxlJyxcbiAgICAgICAgICB0eXBlOiAnVHlwZSBvZiBzb3VyY2UgdXNlciBwcm9maWxlJ1xuICAgICAgICB9LFxuICAgICAgICBlZGl0OiB7XG4gICAgICAgICAgdGl0bGU6ICdNb2RpZnkgbWV0YWRhdGEgcnVsZSdcbiAgICAgICAgfSxcbiAgICAgICAgYWRkOiB7XG4gICAgICAgICAgdGl0bGU6ICdDcmVhdGUgbmV3IG1ldGFkYXRhIHJ1bGUnXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBkYXRhc2V0OiB7XG4gICAgICAgIGRlbGV0ZTpcbiAgICAgICAgICAnQWxsIHZlcnNpb25zIGFuZCBhc3NvY2lhdGVkIGRhdGEgd2lsbCBiZSBkZWxldGVkLiBSZXN0aXR1dGlvbnMgYW5kIHByZXNlbnRhdGlvbnMgdXNpbmcgdGhpcyBkYXRhc2V0IHdpbGwgbm8gbG9uZ2VyIGRpc3BsYXkgdGhlIGNvcnJlc3BvbmRpbmcgZGF0YS4gRG8geW91IGNvbmZpcm0gdGhlIGRlbGV0aW9uPycsXG4gICAgICAgIHRpdGxlOiAnRGF0YXNldCcsXG4gICAgICAgIGlkOiAnSWQnLFxuICAgICAgICBuYW1lOiAnTmFtZScsXG4gICAgICAgIG9DbGFzczogJ0J1c2luZXNzIG1vZGVsJyxcbiAgICAgICAgdHlwZTogJ1R5cGUnLFxuICAgICAgICAnaXMtc2FtZS1uYW1lJzogJ1RoZSBuYW1lIG9mIHRoZSBkYXRhc2V0IGlzIGFscmVhZHkgdGFrZW4sIHBsZWFzZSB1c2UgYW5vdGhlciBvbmUnLFxuICAgICAgICBhZGQ6IHtcbiAgICAgICAgICB0aXRsZTogJ0NyZWF0ZSBhIG5ldyBkYXRhc2V0J1xuICAgICAgICB9LFxuICAgICAgICBlZGl0OiB7XG4gICAgICAgICAgdGl0bGU6ICdVcGRhdGUgZGF0YXNldCdcbiAgICAgICAgfSxcbiAgICAgICAgT1BFTjogJ09wZW4nLFxuICAgICAgICBDTE9TRUQ6ICdDbG9zZWQnLFxuICAgICAgICBNT0RJRklBQkxFOiAnTW9kaWZpYWJsZSdcbiAgICAgIH0sXG4gICAgICAnYWJhYy1ydWxlcyc6IHtcbiAgICAgICAgZGVsZXRlOiAnRGVsZXRlJyxcbiAgICAgICAgbWV0YWRhdGFVc2VyOiAnVXNlcnMgcHJvZmlsZScsXG4gICAgICAgIHRpdGxlOiB7XG4gICAgICAgICAgbGlzdDogJ0FiYWMgUnVsZXMnLFxuICAgICAgICAgIGFkZDogJ0NyZWF0ZSBuZXcgYWJhYyBydWxlJyxcbiAgICAgICAgICB2aWV3OiBcIkFiYWMgcnVsZSdzIGluZm9ybWF0aW9uXCIsXG4gICAgICAgICAgZWRpdDogJ0FiYWMgcnVsZSBlZGl0aW9uJ1xuICAgICAgICB9LFxuICAgICAgICBmb3JtOiB7XG4gICAgICAgICAgaWQ6ICdJRCcsXG4gICAgICAgICAgbmFtZTogJ05hbWUnLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiAnRGVzY3JpcHRpb24nLFxuICAgICAgICAgIHN0YXR1czogJ1N0YXR1cycsXG4gICAgICAgICAgc3RhdHVzQWN0aXZlOiAnQWN0aXZlJyxcbiAgICAgICAgICBzdGF0dXNJbmFjdGl2ZTogJ0luYWN0aXZlJyxcbiAgICAgICAgICBwcmVkaWNhdGU6ICdQcmVkaWNhdGUnLFxuICAgICAgICAgIHR5cGU6ICdUeXBlJyxcbiAgICAgICAgICB0eXBlTWV0YWRhdGE6ICdNZXRhZGF0YScsXG4gICAgICAgICAgdHlwZUF0dHJpYnV0ZTogJ0F0dHJpYnV0ZScsXG4gICAgICAgICAgdHlwZVNlbGVjdGVkOiBcIllvdSBjYW4ndCBjaGFuZ2UgdHlwZSB3aXRoIGN1cnJlbnQgY29uZGl0aW9uc1wiLFxuICAgICAgICAgIGFkZE1ldGFkYXRhOiAnQWRkIG1ldGFkYXRhIGNvbmRpdGlvbicsXG4gICAgICAgICAgYWRkQXR0cmlidXRlOiAnQWRkIGF0dHJpYnV0ZSBjb25kaXRpb24nLFxuICAgICAgICAgIGFkZEdyb3VwOiAnQWRkIGdyb3VwIGNvbmRpdGlvbicsXG4gICAgICAgICAgY2FuY2VsOiAnQ0FOQ0VMJyxcbiAgICAgICAgICB2YWxpZGF0ZTogJ1ZBTElEQVRFJ1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgdXNlcjoge1xuICAgICAgICB0aXRsZTogJ1VzZXIgcHJvZmlsZScsXG4gICAgICAgIGFkZDogJ0NyZWF0ZSBuZXcgdXNlciBwcm9maWxlJyxcbiAgICAgICAgbGFiZWw6ICdOYW1lJyxcbiAgICAgICAgdHlwZTogJ1R5cGUnLFxuICAgICAgICBpbnZhbGlkOiAnRmllbGQgaXMgcmVxdWlyZWQnLFxuICAgICAgICBlZGl0OiAnRWRpdCB1c2VyIHByb2ZpbGUnXG4gICAgICB9LFxuICAgICAgZW52aXJvbm1lbnQ6IHtcbiAgICAgICAgbGlzdDogJ0V4ZWN1dGlvbiBjb250ZXh0cycsXG4gICAgICAgIGFkZDogJ0NyZWF0ZSBuZXcgZXhlY3V0aW9uIGNvbnRleHQnLFxuICAgICAgICBlZGl0OiAnRWRpdCBleGVjdXRpb24gY29udGV4dCcsXG4gICAgICAgIGluZm86IFwiRXhlY3V0aW9uIGNvbnRleHQncyBpbmZvcm1hdGlvblwiLFxuICAgICAgICBmb3JtYXRJbnQ6ICdWYWx1ZSBtdXN0IGJlIGFuIGludGVnZXInLFxuICAgICAgICBmb3JtYXREb3VibGU6IFwiVmFsdWUgbXVzdCBiZSBhbiBpbnRlZ2VyLCBzZXBhcmF0b3IgbXVzdCBiZSAnLidcIixcbiAgICAgICAgZm9ybWF0TmFtZTogJ1RoZSBvbmx5IHNwZWNpYWwgY2hhcmFjdGVycyBhbGxvd2VkIGFyZTogWyAtIF8gXSAnLFxuICAgICAgICBuYW1lOiAnTmFtZScsXG4gICAgICAgIHR5cGU6ICdUeXBlJyxcbiAgICAgICAgdmFsdWU6ICdWYXJpYWJsZSB2YWx1ZSdcbiAgICAgIH0sXG4gICAgICBjbGFzc2VzOiB7XG4gICAgICAgIGxpc3Q6ICdDbGFzc2VzJyxcbiAgICAgICAgbmFtZTogJ05hbWUnLFxuICAgICAgICB0aXRsZTogJ0NsYXNzZSB7e2J1c2luZXNzIG1vZGVsfX0nLFxuICAgICAgICBpbWFnZTogJ0ltYWdlJyxcbiAgICAgICAgZm9ybWF0TmFtZTogJ1RoZSBvbmx5IGNoYXJhY3RlcnMgYWxsb3dlZCBhcmU6IFsgbG93ZXJjYXNlLCAtIF8gXSAnLFxuICAgICAgICBtb2RlbDogJ01vZGVsJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdEZXNjcmlwdGlvbicsXG4gICAgICAgIGxpbmVzOiAnTGluZXMnLFxuICAgICAgICBhZGQ6ICdDcmVhdGUgbmV3IGJ1c2luZXNzIG1vZGVsJyxcbiAgICAgICAgZWRpdDogJ01vZGlmeSBidXNpbmVzcyBtb2RlbCcsXG4gICAgICAgIHJlbmFtZTogJ1JlbmFtZSBidXNpbmVzcyBtb2RlbCcsXG4gICAgICAgIGFkZEF0dHI6ICdBdHRyaWJ1dGUnLFxuICAgICAgICBpbmZvQXR0cjogJ3t7YnVzaW5lc3MgbW9kZWx9fSBidXNpbmVzcyBtb2RlbCA+IEF0dHJpYnV0ZXMnLFxuICAgICAgICBpbmZvOiAnYnVzaW5lc3MgbW9kZWwgaW5mb3JtYXRpb24nLFxuICAgICAgICBydWxlczogJ1N5bWJvbCBkZWZpbml0aW9uIHJ1bGVzJyxcbiAgICAgICAgY29uZGl0aW9uOiAnVXNlZCBpZiBjb25kaXRpb24gdmVyaWZpZWQnLFxuICAgICAgICBhdHRyTmFtZTogJ0F0dHJpYnV0ZSB0byBjaGVjaycsXG4gICAgICAgIHZhbHVlOiAnQ29tcGFyaXNvbiB2YWx1ZScsXG4gICAgICAgIG9wZXJhdGlvbjogJ0NvbXBhcmlzb24gb3BlcmF0aW9uJyxcbiAgICAgICAgb3BlcmF0aW9uczoge1xuICAgICAgICAgIEVRVUFMUzogJ2lzIGVxdWFsJyxcbiAgICAgICAgICBHUkVBVEVSOiAnaXMgZ3JlYXRlcicsXG4gICAgICAgICAgR1JFQVRFUl9PUl9FUVVBTDogJ2lzIGdyZWF0ZXIgb3IgZXF1YWwnLFxuICAgICAgICAgIExPV0VSOiAnaXMgbG93ZXInLFxuICAgICAgICAgIExPV0VSX09SX0VRVUFMOiAnaXMgbG93ZXIgb3IgZXF1YWwnLFxuICAgICAgICAgIENPTlRBSU5TOiAnY29udGFpbnMgYXMgdGV4dCdcbiAgICAgICAgfSxcbiAgICAgICAgY3JlYXRlQ2xhc3NNb2RhbE1lc3NhZ2U6XG4gICAgICAgICAgJ0NyZWF0aW5nIGEgYnVzaW5lc3MgbW9kZWwgd2l0aG91dCBhdHRyaWJ1dGVzIGlzIGltcG9zc2libGUuIEFkZCBhbiBhdHRyaWJ1dGUgYmVmb3JlIGNyZWF0aW5nIHRoZSBidXNpbmVzcyBtb2RlbCwgd2l0aCBcIkFkZCBhdHRyaWJ1dGVcIiBidXR0b24uJyxcbiAgICAgICAgY3JlYXRlQ2xhc3NDb25maXJtTWVzc2FnZTogJ0NvbmZpcm0gYnVzaW5lc3MgbW9kZWwgY3JlYXRpb24nLFxuICAgICAgICBkZWxldGVDbGFzc0NvbmZpcm1NZXNzYWdlOiAnQ29uZmlybSBkZWxldGluZyB0aGUgc2VsZWN0ZWQgYnVzaW5lc3MgbW9kZWwnLFxuICAgICAgICBsaW5rZWRPYmplY3RzOiAnTGlua2VkIG9iamVjdHMnLFxuICAgICAgICB1c2VkRWxzZXdoZXJlOiBcIlVzZWQgYnkgb3RoZXIgdXNlcnMnIG9iamVjdHNcIixcbiAgICAgICAgYXNzb2NpYXRpb25zOiAnQXNzb2NpYXRpb25zJyxcbiAgICAgICAgdHlwZTogJ1R5cGUnLFxuICAgICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgICAgYWRkOiAnYnVzaW5lc3MgbW9kZWwgQWRkIGF0dHJpYnV0ZScsXG4gICAgICAgICAgZWRpdDogJ0VkaXQgYXR0cmlidXRlJyxcbiAgICAgICAgICBuYW1lOiAnQXR0cmlidXRlIG5hbWUnLFxuICAgICAgICAgIGluZm86ICdBdHRyaWJ1dGUgaW5mb3JtYXRpb24nLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiAnRGVzY3JpcHRpb24nLFxuICAgICAgICAgIGZpZWxkOiAnRmllbGQnLFxuICAgICAgICAgIGNhdGVnb3J5OiAnQ2F0ZWdvcnknLFxuICAgICAgICAgIG11bHRpVmFsdWVkOiAnTXVsdGkgdmFsdWVkJ1xuICAgICAgICB9LFxuICAgICAgICBjYXRlZ29yeToge1xuICAgICAgICAgIHNlbGVjdDogJ1NlbGVjdCBjYXRlZ29yeScsXG4gICAgICAgICAgc2VhcmNoT3JDcmVhdGU6ICdTZWFyY2ggZm9yIGV4aXN0aW5nIGNhdGVnb3J5IE9SIGNyZWF0ZSBhIG5ldyBvbmUnLFxuICAgICAgICAgIG5hbWU6ICdDYXRlZ29yeScsXG4gICAgICAgICAgc2VsZWN0SXQ6ICdTZWxlY3QgY2F0ZWdvcnknLFxuICAgICAgICAgIGNyZWF0ZTogJ0NyZWF0ZSBjYXRlZ29yeScsXG4gICAgICAgICAgYWRkOiAnZG9lcyBub3QgZXhpc3QuIDxicj5Zb3UgY2FuIGNyZWF0ZSBpdCBoZXJlLiA8YnI+SXQgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IHNlbGVjdGVkIGFuZCBhZGRlZCB0byBjYXRlZ29yaWVzIGxpc3QuJ1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgZmllbGRzOiB7XG4gICAgICAgIGFkZDogJ0FkZCBuZXcgZmllbGQnLFxuICAgICAgICBpbmZvOiAnRmllbGQgaW5mb3JtYXRpb24nLFxuICAgICAgICBsaXN0OiAnRmllbGRzJyxcbiAgICAgICAgZWRpdDogJ0VkaXQgZmllbGQnLFxuICAgICAgICBuYW1lOiAnTmFtZScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnZGVzY3JpcHRpb24nLFxuICAgICAgICB0eXBlOiAnVGVjaG5pY2FsIHR5cGUnLFxuICAgICAgICBhdHRyaWJ1dGVzOiAnQXR0cmlidXRlIHByZXNlbmNlJyxcbiAgICAgICAgYXR0cmlidXRlc1RhYjogJ0F0dHJpYnV0ZXMnLFxuICAgICAgICBhdHRyaWJ1dGVOYW1lOiAnQXR0cmlidXRlIG5hbWUnLFxuICAgICAgICBjbGFzc05hbWU6ICdDbGFzcycsXG4gICAgICAgIGNvbmZpcm1GaWVsZERlbGV0aW9uOiAnQ29uZmlybSBkZWxldGluZyB0aGUgc2VsZWN0ZWQgZmllbGQnLFxuICAgICAgICBmaWVsZFR5cGU6IHtcbiAgICAgICAgICBpbnQ6ICdJbnRlZ2VyJyxcbiAgICAgICAgICBsb25nOiAnTG9uZyBudW1iZXInLFxuICAgICAgICAgIGRlY2ltYWw6ICdEb3VibGUgbnVtYmVyJyxcbiAgICAgICAgICBzdHJpbmc6ICdUZXh0JyxcbiAgICAgICAgICBrZXl3b3JkOiAnS2V5d29yZCcsXG4gICAgICAgICAgaW5zdGFudDogJ2RhdGUnLFxuICAgICAgICAgIHJhdzogJ1JhdycsXG4gICAgICAgICAgcG9pbnQ6ICdQb2ludCcsXG4gICAgICAgICAgbXVsdGlwb2ludDogJ011bHRpLXBvaW50cycsXG4gICAgICAgICAgbGluZTogJ0xpbmUnLFxuICAgICAgICAgIG11bHRpbGluZTogJ011bHRpLWxpbmVzJyxcbiAgICAgICAgICBwb2x5Z29uOiAnUG9seWdvbicsXG4gICAgICAgICAgbXVsdGlwb2x5Z29uOiAnTXVsdGktcG9seWdvbnMnLFxuICAgICAgICAgIGluZm9ybWF0aW9uOiB7XG4gICAgICAgICAgICBpbnQ6ICdBbGxvd3MgeW91IHRvIHN0b3JlIGludGVnZXIgbnVtZXJpYyBkYXRhIGxlc3MgdGhhbiAyXjMyJyxcbiAgICAgICAgICAgIGxvbmc6ICdBbGxvd3MgeW91IHRvIHN0b3JlIGludGVnZXIgbnVtZXJpYyBkYXRhIHRoYXQgY2FuIGV4Y2VlZCAyXjMyJyxcbiAgICAgICAgICAgIGRlY2ltYWw6ICdBbGxvd3MgeW91IHRvIHN0b3JlIG51bWVyaWMgZGF0YSB3aXRoIGRlY2ltYWwgcGxhY2VzJyxcbiAgICAgICAgICAgIHN0cmluZzpcbiAgICAgICAgICAgICAgJ0FsbG93cyB5b3UgdG8gc3RvcmUgZGF0YSBpbiBhbHBoYW51bWVyaWMgZm9ybWF0LiBUaGlzIGRhdGEgaXMgbm90IGluZGV4ZWQ6IGl0IGlzIHBvc3NpYmxlIHRvIHNlYXJjaCBvbiBpdCBidXQgbm8gYWdncmVnYXRpb24nLFxuICAgICAgICAgICAga2V5d29yZDpcbiAgICAgICAgICAgICAgJ0FsbG93cyB5b3UgdG8gc3RvcmUgZGF0YSBpbiBhbHBoYW51bWVyaWMgZm9ybWF0LiBUaGlzIGRhdGEgaXMgaW5kZXhlZDogaXQgaXMgcG9zc2libGUgdG8gc2VhcmNoIG9uIGl0IGFzIHdlbGwgYXMgYWdncmVnYXRpb25zLicsXG4gICAgICAgICAgICBpbnN0YW50OiAnQWxsb3dzIHlvdSB0byBzdG9yZSBhIGRhdGUnLFxuICAgICAgICAgICAgcmF3OiAnYWxsb3dzIHlvdSB0byBzdG9yZSBpbWFnZSBvciBmaWxlIHR5cGUgZGF0YScsXG4gICAgICAgICAgICBwb2ludDogJ0FsbG93cyB5b3UgdG8gc3RvcmUgZ2VvZ3JhcGhpYyBjb29yZGluYXRlcyBvZiBhbiBvYmplY3QgcmVwcmVzZW50ZWQgYnkgYSBwb2ludCAoZ2VvLWpzb24gZm9ybWF0KScsXG4gICAgICAgICAgICBtdWx0aXBvaW50OlxuICAgICAgICAgICAgICAnQWxsb3dzIHlvdSB0byBzdG9yZSBnZW9ncmFwaGljIGNvb3JkaW5hdGVzIG9mIGFuIG9iamVjdCBjb21wb3NlZCBvZiBzZXZlcmFsIHVuY29ubmVjdGVkIHBvaW50cyAoZ2VvLWpzb24gZm9ybWF0KScsXG4gICAgICAgICAgICBsaW5lOiAnQWxsb3dzIHlvdSB0byBzdG9yZSBnZW9ncmFwaGljIGNvb3JkaW5hdGVzIG9mIGFuIG9iamVjdCByZXByZXNlbnRlZCBhcyBhIGxpbmUgKGdlby1qc29uIGZvcm1hdCknLFxuICAgICAgICAgICAgbXVsdGlsaW5lOlxuICAgICAgICAgICAgICAnQWxsb3dzIHlvdSB0byBzdG9yZSBnZW9ncmFwaGljIGNvb3JkaW5hdGVzIG9mIGFuIG9iamVjdCByZXByZXNlbnRlZCB3aXRoIHNldmVyYWwgdW5jb25uZWN0ZWQgbGluZXMgKGxvbmdpdHVkZSBhbmQgbGF0aXR1ZGUgZ2VvLWpzb24gZm9ybWF0KScsXG4gICAgICAgICAgICBwb2x5Z29uOlxuICAgICAgICAgICAgICAnQWxsb3dzIHlvdSB0byBzdG9yZSBnZW9ncmFwaGljIGNvb3JkaW5hdGVzIG9mIGFuIG9iamVjdCByZXByZXNlbnRlZCBieSBhIHBvbHlnb24gKGdlby1qc29uIGZvcm1hdCknLFxuICAgICAgICAgICAgbXVsdGlwb2x5Z29uOlxuICAgICAgICAgICAgICAnQWxsb3dzIHlvdSB0byBzdG9yZSBnZW9ncmFwaGljIGNvb3JkaW5hdGVzIG9mIGFuIG9iamVjdCByZXByZXNlbnRlZCBieSBzZXZlcmFsIHBvbHlnb25zIG5lc3RlZCBvciBub3QgKGdlby1qc29uIGZvcm1hdCknXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICByYXdNZXRob2RzOiB7XG4gICAgICAgICAgaHR0cDogJ0Zyb20gZXh0ZXJuYWwgdXJsJyxcbiAgICAgICAgICB1cGxvYWQ6ICdVcGxvYWQgZnJvbSBteSBjb21wdXRlcidcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHVzZXJJbmZvOiB7XG4gICAgICAgIGxpc3Q6ICdVc2VycycsXG4gICAgICAgIGluZm86ICdVc2VyIGluZm9ybWF0aW9uJyxcbiAgICAgICAgcHJvZmlsZTogJ1Byb2ZpbGUnLFxuICAgICAgICBhZGRNZXRhZGF0YTogJ0FkZCcsXG4gICAgICAgIGVkaXRNZXRhZGF0YTogJ0VkaXQgbWV0YWRhdGEnLFxuICAgICAgICBuYW1lOiAnR2l2ZW4gbmFtZScsXG4gICAgICAgIGZhbWlseU5hbWU6ICdGYW1pbHkgbmFtZScsXG4gICAgICAgIGVtYWlsOiAnRW1haWwgYWRyZXNzJyxcbiAgICAgICAgbWV0YWRhdGE6ICdNZXRhZGF0YScsXG4gICAgICAgIHJvbGVzOiAnIFJvbGVzJ1xuICAgICAgfSxcbiAgICAgIHJlbGF0aW9uVHlwZXM6IHtcbiAgICAgICAgbGlzdDogJ1JlbGF0aW9ucyB0eXBlcycsXG4gICAgICAgIGluZm86ICdSZWxhdGlvbiB0eXBlIGluZm9ybWF0aW9uJyxcbiAgICAgICAgYWRkOiAnQWRkIHJlbGF0aW9uIHR5cGUnLFxuICAgICAgICBlZGl0OiAnRWRpdCByZWxhdGlvbiB0eXBlJyxcbiAgICAgICAgbmFtZTogJ05hbWUnLFxuICAgICAgICBuYlJlbGF0aW9uOiAnTnVtYmVyIG9mIHR5cGUgcmVsYXRpb24nLFxuICAgICAgICBuYkxpbms6ICdOdW1iZXIgb2YgbGlua3MgdGhhdCB1c2UgdGhpcyByZWxhdGlvbiB0eXBlJyxcbiAgICAgICAgZGF0ZU1vZGlmaWNhdGlvbjogJ01vZGlmaWNhdGlvbiBkYXRlJyxcbiAgICAgICAgZGVsZXRhYmxlOiAnQ2FuIGJlIGRlbGV0ZWQnLFxuICAgICAgICBkZWxldGVNb2RhbE1lc3NhZ2U6ICdUaGlzIHJlbGF0aW9uIHR5cGUgY2FuIGJlIGRlbGV0ZWQgYmVjYXVzZSB1c2VkLidcbiAgICAgIH0sXG4gICAgICBsaW5rczoge1xuICAgICAgICBsaXN0OiAnTGlua3MgYmV0d2VlbiBhdHRyaWJ1dGVzJyxcbiAgICAgICAgYWRkOiAnQ3JlYXRlIGEgbGluayBiZXR3ZWVuIGF0dHJpYnV0ZXMnLFxuICAgICAgICBjbGFzc1NvdXJjZTogJ1NvdXJjZSBidXNpbmVzcyBtb2RlbCcsXG4gICAgICAgIGF0dHJpYnV0ZVNvdXJjZTogJ1NvdXJjZSBhdHRyaWJ1dGUnLFxuICAgICAgICBjbGFzc0Rlc3RpbmF0aW9uOiAnRGVzdGluYXRpb24gYnVzaW5lc3MgbW9kZWwnLFxuICAgICAgICBhdHRyaWJ1dGVEZXN0aW5hdGlvbjogJ0Rlc3RpbmF0aW9uIGF0dHJpYnV0ZScsXG4gICAgICAgIHJlbGF0aW9uVHlwZTogJ1JlbGF0aW9uIHR5cGUnLFxuICAgICAgICBzZWxlY3RSZWxhdGlvblR5cGU6ICdTZWxlY3QgcmVsYXRpb24gdHlwZSdcbiAgICAgIH0sXG4gICAgICBhc3NvY2lhdGlvbjoge1xuICAgICAgICBBQkFDOiAnQUJBQyBSdWxlJyxcbiAgICAgICAgTElOSzogJ1JlbGF0aW9uJyxcbiAgICAgICAgTkFNRURfUVVFUlk6ICdOYW1lZCBxdWVyeScsXG4gICAgICAgIFdJREdFVDogJ1dpZGdldCcsXG4gICAgICAgIERBVEFTRVQ6ICdEYXRhc2V0JyxcbiAgICAgICAgT0NMQVNTOiAnRGF0YSBtb2RlbCcsXG4gICAgICAgIERBU0hCT0FSRDogJ0Rhc2hib2FyZCcsXG4gICAgICAgIEZJRUxEOiAnRGF0YSB0eXBlJ1xuICAgICAgfSxcbiAgICAgIHN0b3JhZ2U6IHtcbiAgICAgICAgbGFiZWw6ICdCYXNlIGRlIHN0b2NrYWdlJyxcbiAgICAgICAgZGVzY3JpcHRpb246IHtcbiAgICAgICAgICBQT1NUR0lTOlxuICAgICAgICAgICAgJ1JlY29tbWVuZGVkIGZvciBzdG9yYWdlIG9mIGNvbXBsZXggZ2VvZ3JhcGhpY2FsIGRhdGEgb3IgZm9yIGNvb3JkaW5hdGUgc3lzdGVtcyBkaWZmZXJlbnQgZnJvbSBXR1MgODQuIFJlY29tbWVuZGVkIGZvciBzdG9yaW5nIGNsYXNzZXMgd2l0aCBsb3cgZXN0aW1hdGVkIGRhdGEgdm9sdW1lLicsXG4gICAgICAgICAgRUxBU1RJQzpcbiAgICAgICAgICAgICdSZWNvbW1lbmRlZCBpbiBjYXNlIG9mIGhpZ2ggZGF0YSB2b2x1bWUgZXhwZWN0ZWQgZm9yIHRoZSBjbGFzcy4gSWYgeW91IHdhbnQgdG8gc3RvcmUgZ2VvZ3JhcGhpY2FsIGRhdGEgaW4gdGhpcyBjbGFzcywgc2ltcGxlIGZvcm1zIGhhdmUgdG8gYmUgdXNlZCBhbmQgdGhlIHJlZmVyZW5jZSBjb29yZGluYXRlIHN5c3RlbSBtdXN0IGJlIFdHUyA4NC4gVGhpcyBzdG9yYWdlIHN5c3RlbSBpcyBob3Jpem9udGFsbHkgc2NhbGFibGUuJ1xuICAgICAgICB9LFxuICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgUE9TVEdJUzogJ1Bvc3RHSVMnLFxuICAgICAgICAgIEVMQVNUSUM6ICdFbGFzdGljU2VhcmNoJ1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICB0b29sdGlwOiB7XG4gICAgICBkZWZhdWx0OiAnRGVmYXVsdCB0b29sdGlwJyxcbiAgICAgIGF0dHJpYnV0ZTogJ0F0dHJpYnV0ZXMgdG9vbHRpcCcsXG4gICAgICBjbHVzdGVyOiAnQ2x1c3RlciB0b29sdGlwIChncmFwaHMpJyxcbiAgICAgIGxpbms6ICdMaW5rIHRvb2x0aXAgKGdyYXBocyknLFxuICAgICAgbm9uZTogJ05vIHRvb2x0aXAnXG4gICAgfVxuICB9XG59O1xuIl19
368
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW4udHJhbnNsYXRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvYWRtaW4vaTE4bi9lbi50cmFuc2xhdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHO0lBQzVCLE1BQU0sRUFBRTtRQUNOLEtBQUssRUFBRTtZQUNMLEtBQUssRUFBRSxnQkFBZ0I7WUFDdkIsZUFBZSxFQUFFLDRCQUE0QjtZQUM3QyxjQUFjLEVBQUUsYUFBYTtZQUM3QixXQUFXLEVBQUUsT0FBTztZQUNwQixJQUFJLEVBQUUsTUFBTTtZQUNaLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLEdBQUcsRUFBRSxLQUFLO1lBQ1YsUUFBUSxFQUFFLFVBQVU7WUFDcEIsUUFBUSxFQUFFLG1CQUFtQjtZQUM3QixZQUFZLEVBQUUsZUFBZTtZQUM3QixNQUFNLEVBQUUsUUFBUTtZQUNoQixNQUFNLEVBQUUsZUFBZTtZQUN2QixNQUFNLEVBQUUsUUFBUTtZQUNoQixJQUFJLEVBQUUsTUFBTTtZQUNaLElBQUksRUFBRSxNQUFNO1lBQ1osVUFBVSxFQUFFLFlBQVk7WUFDeEIsT0FBTyxFQUFFLFNBQVM7WUFDbEIsUUFBUSxFQUFFLFVBQVU7WUFDcEIsUUFBUSxFQUFFLHdCQUF3QjtZQUNsQyxNQUFNLEVBQUUsMEJBQTBCO1lBQ2xDLFNBQVMsRUFBRSwyQ0FBMkM7WUFDdEQsU0FBUyxFQUFFLHVDQUF1QztZQUNsRCxZQUFZLEVBQUUsaURBQWlEO1lBQy9ELElBQUksRUFBRSxlQUFlO1lBQ3JCLFdBQVcsRUFBRSw0REFBNEQ7WUFDekUsZ0JBQWdCLEVBQUUsb0JBQW9CO1lBQ3RDLElBQUksRUFBRSxZQUFZO1lBQ2xCLDZCQUE2QixFQUMzQix5R0FBeUc7WUFDM0csUUFBUSxFQUFFO2dCQUNSLElBQUksRUFBRSxXQUFXO2dC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QzFCLE1BQU0sRUFBRSxRQUFRO2dCQUNoQixPQUFPLEVBQUUsU0FBUztnQkFDbEIsTUFBTSxFQUFFLFlBQVk7Z0JBQ3BCLFNBQVMsRUFBRSxXQUFXO2dCQUN0QixLQUFLLEVBQUUsV0FBVzthQUNuQjtZQUNELE9BQU8sRUFBRTtnQkFDUCxLQUFLLEVBQUUsa0JBQWtCO2dCQUN6QixXQUFXLEVBQUU7b0JBQ1gsT0FBTyxFQUNMLHVLQUF1SztvQkFDekssT0FBTyxFQUNMLHNQQUFzUDtpQkFDelA7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLE9BQU8sRUFBRSxTQUFTO29CQUNsQixPQUFPLEVBQUUsZUFBZTtpQkFDekI7YUFDRjtTQUNGO1FBQ0QsT0FBTyxFQUFFO1lBQ1AsT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixTQUFTLEVBQUUsb0JBQW9CO1lBQy9CLE9BQU8sRUFBRSwwQkFBMEI7WUFDbkMsSUFBSSxFQUFFLHVCQUF1QjtZQUM3QixJQUFJLEVBQUUsWUFBWTtTQUNuQjtLQUNGO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBlblRyYW5zbGF0aW9ucyA9IHtcbiAgJ0BwcnknOiB7XG4gICAgYWRtaW46IHtcbiAgICAgIHRpdGxlOiAnQWRtaW5pc3RyYXRpb24nLFxuICAgICAgdGl0bGVJbmRpY2F0aW9uOiAnQ2xvc2UgQWRtaW5pc3RyYXRpb24gbWVudSAnLFxuICAgICAgaW5mb01vZGFsVGl0bGU6ICdJbmZvcm1hdGlvbicsXG4gICAgICBjbG9zZU1vZGFsZTogJ0Nsb3NlJyxcbiAgICAgIGVkaXQ6ICdFZGl0JyxcbiAgICAgIHJlbmFtZTogJ1JlbmFtZScsXG4gICAgICBkZWxldGU6ICdEZWxldGUnLFxuICAgICAgYWRkOiAnTmV3JyxcbiAgICAgIHZhbGlkYXRlOiAnVmFsaWRhdGUnLFxuICAgICAgYWRkQ2xhc3M6ICdWYWxpZGF0ZSBjcmVhdGlvbicsXG4gICAgICBhZGRBdHRyaWJ1dGU6ICdBZGQgYXR0cmlidXRlJyxcbiAgICAgIGNyZWF0ZTogJ0NyZWF0ZScsXG4gICAgICB1cGxvYWQ6ICdBZGQgYSBwaWN0dXJlJyxcbiAgICAgIGNhbmNlbDogJ0NhbmNlbCcsXG4gICAgICBiYWNrOiAnQmFjaycsXG4gICAgICBuZXh0OiAnTmV4dCcsXG4gICAgICBwcm9wZXJ0aWVzOiAnUHJvcGVydGllcycsXG4gICAgICBkZXRhaWxzOiAnRGV0YWlscycsXG4gICAgICBhY3Rpdml0eTogJ0FjdGl2aXR5JyxcbiAgICAgIHJlcXVpcmVkOiAnVGhpcyBmaWVsZCBpcyByZXF1aXJlZCcsXG4gICAgICBleGlzdHM6ICdUaGlzIG5hbWUgYWxyZWFkeSBleGlzdHMnLFxuICAgICAgbWluTGVuZ3RoOiAnVGhlIG1pbmltdW0gbnVtYmVyIG9mIGNoYXJhY3RlcnM6IHt7bGVufX0nLFxuICAgICAgbWF4TGVuZ3RoOiAnTnVtYmVyIG9mIGNoYXJhY3RlcnMgYWxsb3dlZDoge3tsZW59fScsXG4gICAgICBub1doaXRlc3BhY2U6IFwiVGhlIHZhbHVlIGNhbid0IHN0YXJ0IG9yIGVuZCB3aXRoIGEgYmxhbmsgc3BhY2VcIixcbiAgICAgIHJ1bGU6ICdSdWxlIG7CsHt7aWR9fScsXG4gICAgICBkZWZhdWx0UnVsZTogJ0RlZmF1bHQgUnVsZSAoYXBwbGllcyBvbmx5IGlmIG5vIG90aGVyIHJ1bGVzIGFyZSB2ZXJpZmllZCknLFxuICAgICAgZGlzcGxheU1vZGVJbWFnZTogJ0ltYWdlIGRpc3BsYXkgbW9kZScsXG4gICAgICBzaXplOiAnSW1hZ2Ugc2l6ZScsXG4gICAgICBkZWxldGVBdHRyaWJ1dGVDb25maXJtTWVzc2FnZTpcbiAgICAgICAgJ1RoaXMgYXR0cmlidXRlIHdpbGwgbm8gbG9uZ2VyIGJlIHZpc2libGUgZm9yIHRoZSBhc3NvY2lhdGVkIGRhdGEuIEFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGUgdGhpcz8nLFxuICAgICAgcG9zaXRpb246IHtcbiAgICAgICAgRlVMTDogJ0Z1bGwgaWNvbicsXG4gICAgICAgIFRPUF9MRUZUOiAnVG9wIGxlZnQnLFxuICAgICAgICBUT1BfUklHSFQ6ICdUb3AgUmlnaHQnLFxuICAgICAgICBCT1RUT01fTEVGVDogJ0JvdHRvbSBsZWZ0JyxcbiAgICAgICAgQk9UVE9NX1JJR0hUOiAnQm90dG9tIHJpZ2h0J1xuICAgICAgfSxcbiAgICAgIGN1c3RvbWl6ZToge1xuICAgICAgICB0aXRsZTogJ0N1c3RvbWl6ZScsXG4gICAgICAgIHRlbXBsYXRlOiAnVG9vbHRpcCAoTWFwICYgUmVsYXRpb25zKScsXG4gICAgICAgIHVwZGF0ZTogJ1VwZGF0ZSB0b29sdGlwJyxcbiAgICAgICAgYWR2YW5jZWQ6ICdBZHZhbmNlZCBtb2RlJyxcbiAgICAgICAgbmFtZTogJ2J1c2luZXNzIG1vZGVsJyxcbiAgICAgICAgdGVjaG5pY2FsSWQ6ICdUZWNobmljYWwgSWQnLFxuICAgICAgICB0eXBlOiAnQ2hvb3NlIHdoaWNoIGtpbmQgb2YgdG9vbHRpcCB0byB1c2UnLFxuICAgICAgICBzaW1wbGlmaWVkOiAnQ2hvb3NlIHdoaWNoIGF0dHJpYnV0ZXMgdG8gZGlzcGxheScsXG4gICAgICAgIGV4ZW1wbGU6ICd7e2V4cHJ9fSB2YWx1ZScsXG4gICAgICAgIHRhYmxlOiAnVGFibGUgZGVmYXVsdCBhdHRyaWJ1dGVzJyxcbiAgICAgICAgdGlsZTogJ1RpbGUgZGVmYXVsdCBhdHRyaWJ1dGVzJyxcbiAgICAgICAgdGlsZUhpbnQ6ICdPbmx5IGJldHdlZW4gMSBhbmQge3ttYXh9fSBhdHRyaWJ1dGVzIGNhbiBiZSBkaXNwbGF5ZWQgaW4gYSB0aWxlJyxcbiAgICAgICAgdGFibGVBdHRyczogJ0F0dHJpYnV0ZXMgaW4gYSB0YWJsZSBieSBkZWZhdWx0JyxcbiAgICAgICAgdGlsZUF0dHJzOiAnQXR0cmlidXRlcyBkaXNwbGF5ZWQgaW4gYSB0aWxlJyxcbiAgICAgICAgbm9UYWJsZUF0dHJzOiAnT3RoZXIgYXR0cmlidXRlcycsXG4gICAgICAgIG5vVGlsZUF0dHJzOiAnQXR0cmlidXRlcyBub3QgZGlzcGxheWVkJyxcbiAgICAgICAgdXBkYXRlVGFibGU6ICdVcGRhdGUgZGVmYXVsdCB0YWJsZSBhdHRyaWJ1dGVzJyxcbiAgICAgICAgdXBkYXRlVGlsZTogJ1VwZGF0ZSB0aWxlIGF0dHJpYnV0ZXMnLFxuICAgICAgICB1cGRhdGVJY29uczogJ1VwZGF0ZSBzeW1ib2xzIHJ1bGVzJ1xuICAgICAgfSxcbiAgICAgIHZhclR5cGU6IHtcbiAgICAgICAgaW50OiAnSW50ZWdlcicsXG4gICAgICAgIGRvdWJsZTogJ0RvdWJsZScsXG4gICAgICAgIHN0cmluZzogJ1RleHQnLFxuICAgICAgICB1dWlkOiAnVXVpZCcsXG4gICAgICAgIGRhdGU6ICdEYXRlJyxcbiAgICAgICAgbGlzdDogJ1ZhbHVlIGxpc3QnXG4gICAgICB9LFxuICAgICAgbWVudXM6IHtcbiAgICAgICAgZW52aXJvbm1lbnQ6ICdFeGVjdXRpb24gY29udGV4dHMnLFxuICAgICAgICB1c2VyOiAnVXNlcnMnLFxuICAgICAgICAnbWV0YWRhdGEtdXNlcic6ICdVc2VyIHByb2ZpbGUnLFxuICAgICAgICAnYWJhYy1ydWxlcyc6ICdBQkFDIFJ1bGVzJyxcbiAgICAgICAgJ21ldGFkYXRhLXJ1bGVzJzogJ1J1bGVzIG1ldGFkYXRhJyxcbiAgICAgICAgZGF0YXNldDogJ0RhdGFzZXRzJyxcbiAgICAgICAgY2xhc3NlczogJ0NsYXNzZXMnLFxuICAgICAgICBwcmVkaWNhdGVzOiAnUHJlZGljYXRlcycsXG4gICAgICAgIG1ldGFkYXRhOiAnTWV0YWRhdGEnLFxuICAgICAgICBmaWVsZHM6ICdGaWVsZHMnLFxuICAgICAgICAncmVsYXRpb24tdHlwZXMnOiAnUmVsYXRpb24gdHlwZXMnLFxuICAgICAgICBsaW5rczogJ0xpbmtzIGJldHdlZW4gYXR0cmlidXRlcycsXG4gICAgICAgIG1vZGVsOiAnRGF0YSBtb2RlbCcsXG4gICAgICAgIGFjY2VzczogJ0RhdGEgYWNjZXNzJ1xuICAgICAgfSxcbiAgICAgIHByZWRpY2F0ZXM6IHtcbiAgICAgICAgbGlzdDogJ1ByZWRpY2F0ZXMnLFxuICAgICAgICBhZGQ6ICdDcmVhdGUgbmV3IHByZWRpY2F0ZScsXG4gICAgICAgIGVkaXQ6ICdFZGl0IHVuIHByZWRpY2F0ZScsXG4gICAgICAgIGluZm86IFwiUHJlZGljYXRlJ3MgaW5mb3JtYXRpb25cIixcbiAgICAgICAgbnVtOiAnSWQuJyxcbiAgICAgICAgbmFtZTogJ05hbWUnLFxuICAgICAgICB2YWx1ZTogJ1RyaWdnZXIgY29uZGl0aW9uYWwgZXhwcmVzc2lvbicsXG4gICAgICAgIHZhbGlkRWRpdDogJ1ZhbGlkYXRpb24gbW9kaWZpY2F0aW9uJyxcbiAgICAgICAgdmFsaWRFZGl0TWVzc2FnZTogJ1RoaXMgcHJlZGljYXRlcyBpcyB1c2VkIGluIHt7dXNlZH19IHJ1bGVzLiBSZWFsbHkgdXBkYXRlIHByZWRpY2F0ZSA/J1xuICAgICAgfSxcbiAgICAgIG1ldGFkYXRhOiB7XG4gICAgICAgIHRpdGxlOiAnTWV0YWRhdGEnLFxuICAgICAgICBhZGQ6ICdDcmVhdGUgbmV3IG1ldGFkYXRhJyxcbiAgICAgICAgZWRpdDogJ01vZGlmeSBtZXRhZGF0YScsXG4gICAgICAgIGRldGFpbHM6ICdNZXRhZGF0YSBkZXRhaWxzJyxcbiAgICAgICAgZGV0YWlsc1VzZXI6ICdVc2VyIHByb2ZpbGUgZGV0YWlsJyxcbiAgICAgICAgaWQ6ICdJRCcsXG4gICAgICAgIGxhYmVsOiAnTmFtZScsXG4gICAgICAgIHR5cGU6ICdUeXBlJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdEZXNjcmlwdGlvbicsXG4gICAgICAgIGludmFsaWQ6ICdGaWVsZCBpcyByZXF1aXJlZCcsXG4gICAgICAgIGxpc3RMYWJlbDogJ1ZhbHVlIG5hbWUnLFxuICAgICAgICBhZGRWYWx1ZTogJ0FkZCBuZXcgdmFsdWUnLFxuICAgICAgICByZW1vdmVWYWx1ZTogJ1JlbW92ZSB2YWx1ZScsXG4gICAgICAgIHN5c3RlbTogJ1N5c3RlbSBtZXRhZGF0YSdcbiAgICAgIH0sXG4gICAgICAnbWV0YWRhdGEtcnVsZXMnOiB7XG4gICAgICAgIHRpdGxlOiAnTWV0YWRhdGEgUnVsZXMnLFxuICAgICAgICBsYWJlbDogJ05hbWUnLFxuICAgICAgICAnaXMtc2FtZS1uYW1lJzogJ1RoZSBuYW1lIG9mIHRoZSBydWxlIGlzIGFscmVhZHkgdGFrZW4gZm9yIGFub3RoZXIgcnVsZSwgcGxlYXNlIHVzZSBhbm90aGVyIG9uZScsXG4gICAgICAgICdpcy1zYW1lLXJ1bGVzJzogJ1RoZSBzYW1lIHJ1bGUgaGFzIGFscmVhZHkgYmVlbiBjb25maWd1cmVkIGFuZCBzYXZlZCwgeW91IGNhbiB1c2UgaXQnLFxuICAgICAgICAnbWV0YWRhdGEtaXRlbSc6IHtcbiAgICAgICAgICBuYW1lOiAnVGFyZ2V0IG1ldGFkYXRhJyxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogJ1RhcmdldCBtZXRhZGF0YSBkZXNjcmlwdGlvbicsXG4gICAgICAgICAgdHlwZTogJ01ldGFkYXRhIHR5cGUgdGFyZ2V0J1xuICAgICAgICB9LFxuICAgICAgICAnbWV0YWRhdGEtdXNlcic6IHtcbiAgICAgICAgICBuYW1lOiAnU291cmNlIHVzZXIgcHJvZmlsZScsXG4gICAgICAgICAgZGVzY3JpcHRpb246ICdEZXNjcmlwdGlvbiBvZiBzb3VyY2UgdXNlciBwcm9maWxlJyxcbiAgICAgICAgICB0eXBlOiAnVHlwZSBvZiBzb3VyY2UgdXNlciBwcm9maWxlJ1xuICAgICAgICB9LFxuICAgICAgICBlZGl0OiB7XG4gICAgICAgICAgdGl0bGU6ICdNb2RpZnkgbWV0YWRhdGEgcnVsZSdcbiAgICAgICAgfSxcbiAgICAgICAgYWRkOiB7XG4gICAgICAgICAgdGl0bGU6ICdDcmVhdGUgbmV3IG1ldGFkYXRhIHJ1bGUnXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBkYXRhc2V0OiB7XG4gICAgICAgIGRlbGV0ZTpcbiAgICAgICAgICAnQWxsIHZlcnNpb25zIGFuZCBhc3NvY2lhdGVkIGRhdGEgd2lsbCBiZSBkZWxldGVkLiBSZXN0aXR1dGlvbnMgYW5kIHByZXNlbnRhdGlvbnMgdXNpbmcgdGhpcyBkYXRhc2V0IHdpbGwgbm8gbG9uZ2VyIGRpc3BsYXkgdGhlIGNvcnJlc3BvbmRpbmcgZGF0YS4gRG8geW91IGNvbmZpcm0gdGhlIGRlbGV0aW9uPycsXG4gICAgICAgIHRpdGxlOiAnRGF0YXNldCcsXG4gICAgICAgIGlkOiAnSWQnLFxuICAgICAgICBuYW1lOiAnTmFtZScsXG4gICAgICAgIG9DbGFzczogJ0J1c2luZXNzIG1vZGVsJyxcbiAgICAgICAgdHlwZTogJ1R5cGUnLFxuICAgICAgICAnaXMtc2FtZS1uYW1lJzogJ1RoZSBuYW1lIG9mIHRoZSBkYXRhc2V0IGlzIGFscmVhZHkgdGFrZW4sIHBsZWFzZSB1c2UgYW5vdGhlciBvbmUnLFxuICAgICAgICBhZGQ6IHtcbiAgICAgICAgICB0aXRsZTogJ0NyZWF0ZSBhIG5ldyBkYXRhc2V0J1xuICAgICAgICB9LFxuICAgICAgICBlZGl0OiB7XG4gICAgICAgICAgdGl0bGU6ICdVcGRhdGUgZGF0YXNldCdcbiAgICAgICAgfSxcbiAgICAgICAgT1BFTjogJ09wZW4nLFxuICAgICAgICBDTE9TRUQ6ICdDbG9zZWQnLFxuICAgICAgICBNT0RJRklBQkxFOiAnTW9kaWZpYWJsZSdcbiAgICAgIH0sXG4gICAgICAnYWJhYy1ydWxlcyc6IHtcbiAgICAgICAgZGVsZXRlOiAnRGVsZXRlJyxcbiAgICAgICAgbWV0YWRhdGFVc2VyOiAnVXNlcnMgcHJvZmlsZScsXG4gICAgICAgIHRpdGxlOiB7XG4gICAgICAgICAgbGlzdDogJ0FiYWMgUnVsZXMnLFxuICAgICAgICAgIGFkZDogJ0NyZWF0ZSBuZXcgYWJhYyBydWxlJyxcbiAgICAgICAgICB2aWV3OiBcIkFiYWMgcnVsZSdzIGluZm9ybWF0aW9uXCIsXG4gICAgICAgICAgZWRpdDogJ0FiYWMgcnVsZSBlZGl0aW9uJ1xuICAgICAgICB9LFxuICAgICAgICBmb3JtOiB7XG4gICAgICAgICAgaWQ6ICdJRCcsXG4gICAgICAgICAgbmFtZTogJ05hbWUnLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiAnRGVzY3JpcHRpb24nLFxuICAgICAgICAgIHN0YXR1czogJ1N0YXR1cycsXG4gICAgICAgICAgc3RhdHVzQWN0aXZlOiAnQWN0aXZlJyxcbiAgICAgICAgICBzdGF0dXNJbmFjdGl2ZTogJ0luYWN0aXZlJyxcbiAgICAgICAgICBwcmVkaWNhdGU6ICdQcmVkaWNhdGUnLFxuICAgICAgICAgIHR5cGU6ICdUeXBlJyxcbiAgICAgICAgICB0eXBlTWV0YWRhdGE6ICdNZXRhZGF0YScsXG4gICAgICAgICAgdHlwZUF0dHJpYnV0ZTogJ0F0dHJpYnV0ZScsXG4gICAgICAgICAgdHlwZVNlbGVjdGVkOiBcIllvdSBjYW4ndCBjaGFuZ2UgdHlwZSB3aXRoIGN1cnJlbnQgY29uZGl0aW9uc1wiLFxuICAgICAgICAgIGFkZE1ldGFkYXRhOiAnQWRkIG1ldGFkYXRhIGNvbmRpdGlvbicsXG4gICAgICAgICAgYWRkQXR0cmlidXRlOiAnQWRkIGF0dHJpYnV0ZSBjb25kaXRpb24nLFxuICAgICAgICAgIGFkZEdyb3VwOiAnQWRkIGdyb3VwIGNvbmRpdGlvbicsXG4gICAgICAgICAgY2FuY2VsOiAnQ0FOQ0VMJyxcbiAgICAgICAgICB2YWxpZGF0ZTogJ1ZBTElEQVRFJ1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgdXNlcjoge1xuICAgICAgICB0aXRsZTogJ1VzZXIgcHJvZmlsZScsXG4gICAgICAgIGFkZDogJ0NyZWF0ZSBuZXcgdXNlciBwcm9maWxlJyxcbiAgICAgICAgbGFiZWw6ICdOYW1lJyxcbiAgICAgICAgdHlwZTogJ1R5cGUnLFxuICAgICAgICBpbnZhbGlkOiAnRmllbGQgaXMgcmVxdWlyZWQnLFxuICAgICAgICBlZGl0OiAnRWRpdCB1c2VyIHByb2ZpbGUnXG4gICAgICB9LFxuICAgICAgZW52aXJvbm1lbnQ6IHtcbiAgICAgICAgbGlzdDogJ0V4ZWN1dGlvbiBjb250ZXh0cycsXG4gICAgICAgIGFkZDogJ0NyZWF0ZSBuZXcgZXhlY3V0aW9uIGNvbnRleHQnLFxuICAgICAgICBlZGl0OiAnRWRpdCBleGVjdXRpb24gY29udGV4dCcsXG4gICAgICAgIGluZm86IFwiRXhlY3V0aW9uIGNvbnRleHQncyBpbmZvcm1hdGlvblwiLFxuICAgICAgICBmb3JtYXRJbnQ6ICdWYWx1ZSBtdXN0IGJlIGFuIGludGVnZXInLFxuICAgICAgICBmb3JtYXREb3VibGU6IFwiVmFsdWUgbXVzdCBiZSBhbiBpbnRlZ2VyLCBzZXBhcmF0b3IgbXVzdCBiZSAnLidcIixcbiAgICAgICAgZm9ybWF0TmFtZTogJ1RoZSBvbmx5IHNwZWNpYWwgY2hhcmFjdGVycyBhbGxvd2VkIGFyZTogWyAtIF8gXSAnLFxuICAgICAgICBuYW1lOiAnTmFtZScsXG4gICAgICAgIHR5cGU6ICdUeXBlJyxcbiAgICAgICAgdmFsdWU6ICdWYXJpYWJsZSB2YWx1ZSdcbiAgICAgIH0sXG4gICAgICBjbGFzc2VzOiB7XG4gICAgICAgIGxpc3Q6ICdDbGFzc2VzJyxcbiAgICAgICAgbmFtZTogJ05hbWUnLFxuICAgICAgICB0aXRsZTogJ0NsYXNzZSB7e2J1c2luZXNzIG1vZGVsfX0nLFxuICAgICAgICBpbWFnZTogJ0ltYWdlJyxcbiAgICAgICAgZm9ybWF0TmFtZTogJ1RoZSBvbmx5IGNoYXJhY3RlcnMgYWxsb3dlZCBhcmU6IFsgbG93ZXJjYXNlLCAtIF8gXSAnLFxuICAgICAgICBtb2RlbDogJ01vZGVsJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdEZXNjcmlwdGlvbicsXG4gICAgICAgIGxpbmVzOiAnTGluZXMnLFxuICAgICAgICBhZGQ6ICdDcmVhdGUgbmV3IGJ1c2luZXNzIG1vZGVsJyxcbiAgICAgICAgZWRpdDogJ01vZGlmeSBidXNpbmVzcyBtb2RlbCcsXG4gICAgICAgIHJlbmFtZTogJ1JlbmFtZSBidXNpbmVzcyBtb2RlbCcsXG4gICAgICAgIGFkZEF0dHI6ICdBdHRyaWJ1dGUnLFxuICAgICAgICBpbmZvQXR0cjogJ3t7YnVzaW5lc3MgbW9kZWx9fSBidXNpbmVzcyBtb2RlbCA+IEF0dHJpYnV0ZXMnLFxuICAgICAgICBpbmZvOiAnYnVzaW5lc3MgbW9kZWwgaW5mb3JtYXRpb24nLFxuICAgICAgICBydWxlczogJ1N5bWJvbCBkZWZpbml0aW9uIHJ1bGVzJyxcbiAgICAgICAgY29uZGl0aW9uOiAnVXNlZCBpZiBjb25kaXRpb24gdmVyaWZpZWQnLFxuICAgICAgICBhdHRyTmFtZTogJ0F0dHJpYnV0ZSB0byBjaGVjaycsXG4gICAgICAgIHZhbHVlOiAnQ29tcGFyaXNvbiB2YWx1ZScsXG4gICAgICAgIG9wZXJhdGlvbjogJ0NvbXBhcmlzb24gb3BlcmF0aW9uJyxcbiAgICAgICAgb3BlcmF0aW9uczoge1xuICAgICAgICAgIEVRVUFMUzogJ2lzIGVxdWFsJyxcbiAgICAgICAgICBHUkVBVEVSOiAnaXMgZ3JlYXRlcicsXG4gICAgICAgICAgR1JFQVRFUl9PUl9FUVVBTDogJ2lzIGdyZWF0ZXIgb3IgZXF1YWwnLFxuICAgICAgICAgIExPV0VSOiAnaXMgbG93ZXInLFxuICAgICAgICAgIExPV0VSX09SX0VRVUFMOiAnaXMgbG93ZXIgb3IgZXF1YWwnLFxuICAgICAgICAgIENPTlRBSU5TOiAnY29udGFpbnMgYXMgdGV4dCdcbiAgICAgICAgfSxcbiAgICAgICAgY3JlYXRlQ2xhc3NNb2RhbE1lc3NhZ2U6XG4gICAgICAgICAgJ0NyZWF0aW5nIGEgYnVzaW5lc3MgbW9kZWwgd2l0aG91dCBhdHRyaWJ1dGVzIGlzIGltcG9zc2libGUuIEFkZCBhbiBhdHRyaWJ1dGUgYmVmb3JlIGNyZWF0aW5nIHRoZSBidXNpbmVzcyBtb2RlbCwgd2l0aCBcIkFkZCBhdHRyaWJ1dGVcIiBidXR0b24uJyxcbiAgICAgICAgY3JlYXRlQ2xhc3NDb25maXJtTWVzc2FnZTogJ0NvbmZpcm0gYnVzaW5lc3MgbW9kZWwgY3JlYXRpb24nLFxuICAgICAgICBkZWxldGVDbGFzc0NvbmZpcm1NZXNzYWdlOiAnQ29uZmlybSBkZWxldGluZyB0aGUgc2VsZWN0ZWQgYnVzaW5lc3MgbW9kZWwnLFxuICAgICAgICBsaW5rZWRPYmplY3RzOiAnTGlua2VkIG9iamVjdHMnLFxuICAgICAgICB1c2VkRWxzZXdoZXJlOiBcIlVzZWQgYnkgb3RoZXIgdXNlcnMnIG9iamVjdHNcIixcbiAgICAgICAgYXNzb2NpYXRpb25zOiAnQXNzb2NpYXRpb25zJyxcbiAgICAgICAgdHlwZTogJ1R5cGUnLFxuICAgICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgICAgYWRkOiAnYnVzaW5lc3MgbW9kZWwgQWRkIGF0dHJpYnV0ZScsXG4gICAgICAgICAgZWRpdDogJ0VkaXQgYXR0cmlidXRlJyxcbiAgICAgICAgICBuYW1lOiAnQXR0cmlidXRlIGxhYmVsJyxcbiAgICAgICAgICB0ZWNobmljYWxOYW1lOiAnVGVjaG5pY2FsIG5hbWUnLFxuICAgICAgICAgIGluZm86ICdBdHRyaWJ1dGUgaW5mb3JtYXRpb24nLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiAnRGVzY3JpcHRpb24nLFxuICAgICAgICAgIGZpZWxkOiAnRmllbGQnLFxuICAgICAgICAgIGNhdGVnb3J5OiAnQ2F0ZWdvcnknLFxuICAgICAgICAgIG11bHRpVmFsdWVkOiAnTXVsdGkgdmFsdWVkJ1xuICAgICAgICB9LFxuICAgICAgICBjYXRlZ29yeToge1xuICAgICAgICAgIHNlbGVjdDogJ1NlbGVjdCBjYXRlZ29yeScsXG4gICAgICAgICAgc2VhcmNoT3JDcmVhdGU6ICdTZWFyY2ggZm9yIGV4aXN0aW5nIGNhdGVnb3J5IE9SIGNyZWF0ZSBhIG5ldyBvbmUnLFxuICAgICAgICAgIG5hbWU6ICdDYXRlZ29yeScsXG4gICAgICAgICAgc2VsZWN0SXQ6ICdTZWxlY3QgY2F0ZWdvcnknLFxuICAgICAgICAgIGNyZWF0ZTogJ0NyZWF0ZSBjYXRlZ29yeScsXG4gICAgICAgICAgYWRkOiAnZG9lcyBub3QgZXhpc3QuIDxicj5Zb3UgY2FuIGNyZWF0ZSBpdCBoZXJlLiA8YnI+SXQgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IHNlbGVjdGVkIGFuZCBhZGRlZCB0byBjYXRlZ29yaWVzIGxpc3QuJ1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgZmllbGRzOiB7XG4gICAgICAgIGFkZDogJ0FkZCBuZXcgZmllbGQnLFxuICAgICAgICBpbmZvOiAnRmllbGQgaW5mb3JtYXRpb24nLFxuICAgICAgICBsaXN0OiAnRmllbGRzJyxcbiAgICAgICAgZWRpdDogJ0VkaXQgZmllbGQnLFxuICAgICAgICBuYW1lOiAnTmFtZScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnZGVzY3JpcHRpb24nLFxuICAgICAgICB0eXBlOiAnVGVjaG5pY2FsIHR5cGUnLFxuICAgICAgICBhdHRyaWJ1dGVzOiAnQXR0cmlidXRlIHByZXNlbmNlJyxcbiAgICAgICAgYXR0cmlidXRlc1RhYjogJ0F0dHJpYnV0ZXMnLFxuICAgICAgICBhdHRyaWJ1dGVOYW1lOiAnQXR0cmlidXRlIG5hbWUnLFxuICAgICAgICBjbGFzc05hbWU6ICdDbGFzcycsXG4gICAgICAgIGNvbmZpcm1GaWVsZERlbGV0aW9uOiAnQ29uZmlybSBkZWxldGluZyB0aGUgc2VsZWN0ZWQgZmllbGQnLFxuICAgICAgICBmaWVsZFR5cGU6IHtcbiAgICAgICAgICBpbnQ6ICdJbnRlZ2VyJyxcbiAgICAgICAgICBsb25nOiAnTG9uZyBudW1iZXInLFxuICAgICAgICAgIGRlY2ltYWw6ICdEb3VibGUgbnVtYmVyJyxcbiAgICAgICAgICBzdHJpbmc6ICdUZXh0JyxcbiAgICAgICAgICBrZXl3b3JkOiAnS2V5d29yZCcsXG4gICAgICAgICAgaW5zdGFudDogJ2RhdGUnLFxuICAgICAgICAgIHJhdzogJ1JhdycsXG4gICAgICAgICAgcG9pbnQ6ICdQb2ludCcsXG4gICAgICAgICAgbXVsdGlwb2ludDogJ011bHRpLXBvaW50cycsXG4gICAgICAgICAgbGluZTogJ0xpbmUnLFxuICAgICAgICAgIG11bHRpbGluZTogJ011bHRpLWxpbmVzJyxcbiAgICAgICAgICBwb2x5Z29uOiAnUG9seWdvbicsXG4gICAgICAgICAgbXVsdGlwb2x5Z29uOiAnTXVsdGktcG9seWdvbnMnLFxuICAgICAgICAgIGluZm9ybWF0aW9uOiB7XG4gICAgICAgICAgICBpbnQ6ICdBbGxvd3MgeW91IHRvIHN0b3JlIGludGVnZXIgbnVtZXJpYyBkYXRhIGxlc3MgdGhhbiAyXjMyJyxcbiAgICAgICAgICAgIGxvbmc6ICdBbGxvd3MgeW91IHRvIHN0b3JlIGludGVnZXIgbnVtZXJpYyBkYXRhIHRoYXQgY2FuIGV4Y2VlZCAyXjMyJyxcbiAgICAgICAgICAgIGRlY2ltYWw6ICdBbGxvd3MgeW91IHRvIHN0b3JlIG51bWVyaWMgZGF0YSB3aXRoIGRlY2ltYWwgcGxhY2VzJyxcbiAgICAgICAgICAgIHN0cmluZzpcbiAgICAgICAgICAgICAgJ0FsbG93cyB5b3UgdG8gc3RvcmUgZGF0YSBpbiBhbHBoYW51bWVyaWMgZm9ybWF0LiBUaGlzIGRhdGEgaXMgbm90IGluZGV4ZWQ6IGl0IGlzIHBvc3NpYmxlIHRvIHNlYXJjaCBvbiBpdCBidXQgbm8gYWdncmVnYXRpb24nLFxuICAgICAgICAgICAga2V5d29yZDpcbiAgICAgICAgICAgICAgJ0FsbG93cyB5b3UgdG8gc3RvcmUgZGF0YSBpbiBhbHBoYW51bWVyaWMgZm9ybWF0LiBUaGlzIGRhdGEgaXMgaW5kZXhlZDogaXQgaXMgcG9zc2libGUgdG8gc2VhcmNoIG9uIGl0IGFzIHdlbGwgYXMgYWdncmVnYXRpb25zLicsXG4gICAgICAgICAgICBpbnN0YW50OiAnQWxsb3dzIHlvdSB0byBzdG9yZSBhIGRhdGUnLFxuICAgICAgICAgICAgcmF3OiAnYWxsb3dzIHlvdSB0byBzdG9yZSBpbWFnZSBvciBmaWxlIHR5cGUgZGF0YScsXG4gICAgICAgICAgICBwb2ludDogJ0FsbG93cyB5b3UgdG8gc3RvcmUgZ2VvZ3JhcGhpYyBjb29yZGluYXRlcyBvZiBhbiBvYmplY3QgcmVwcmVzZW50ZWQgYnkgYSBwb2ludCAoZ2VvLWpzb24gZm9ybWF0KScsXG4gICAgICAgICAgICBtdWx0aXBvaW50OlxuICAgICAgICAgICAgICAnQWxsb3dzIHlvdSB0byBzdG9yZSBnZW9ncmFwaGljIGNvb3JkaW5hdGVzIG9mIGFuIG9iamVjdCBjb21wb3NlZCBvZiBzZXZlcmFsIHVuY29ubmVjdGVkIHBvaW50cyAoZ2VvLWpzb24gZm9ybWF0KScsXG4gICAgICAgICAgICBsaW5lOiAnQWxsb3dzIHlvdSB0byBzdG9yZSBnZW9ncmFwaGljIGNvb3JkaW5hdGVzIG9mIGFuIG9iamVjdCByZXByZXNlbnRlZCBhcyBhIGxpbmUgKGdlby1qc29uIGZvcm1hdCknLFxuICAgICAgICAgICAgbXVsdGlsaW5lOlxuICAgICAgICAgICAgICAnQWxsb3dzIHlvdSB0byBzdG9yZSBnZW9ncmFwaGljIGNvb3JkaW5hdGVzIG9mIGFuIG9iamVjdCByZXByZXNlbnRlZCB3aXRoIHNldmVyYWwgdW5jb25uZWN0ZWQgbGluZXMgKGxvbmdpdHVkZSBhbmQgbGF0aXR1ZGUgZ2VvLWpzb24gZm9ybWF0KScsXG4gICAgICAgICAgICBwb2x5Z29uOlxuICAgICAgICAgICAgICAnQWxsb3dzIHlvdSB0byBzdG9yZSBnZW9ncmFwaGljIGNvb3JkaW5hdGVzIG9mIGFuIG9iamVjdCByZXByZXNlbnRlZCBieSBhIHBvbHlnb24gKGdlby1qc29uIGZvcm1hdCknLFxuICAgICAgICAgICAgbXVsdGlwb2x5Z29uOlxuICAgICAgICAgICAgICAnQWxsb3dzIHlvdSB0byBzdG9yZSBnZW9ncmFwaGljIGNvb3JkaW5hdGVzIG9mIGFuIG9iamVjdCByZXByZXNlbnRlZCBieSBzZXZlcmFsIHBvbHlnb25zIG5lc3RlZCBvciBub3QgKGdlby1qc29uIGZvcm1hdCknXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICByYXdNZXRob2RzOiB7XG4gICAgICAgICAgaHR0cDogJ0Zyb20gZXh0ZXJuYWwgdXJsJyxcbiAgICAgICAgICB1cGxvYWQ6ICdVcGxvYWQgZnJvbSBteSBjb21wdXRlcidcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHVzZXJJbmZvOiB7XG4gICAgICAgIGxpc3Q6ICdVc2VycycsXG4gICAgICAgIGluZm86ICdVc2VyIGluZm9ybWF0aW9uJyxcbiAgICAgICAgcHJvZmlsZTogJ1Byb2ZpbGUnLFxuICAgICAgICBhZGRNZXRhZGF0YTogJ0FkZCcsXG4gICAgICAgIGVkaXRNZXRhZGF0YTogJ0VkaXQgbWV0YWRhdGEnLFxuICAgICAgICBuYW1lOiAnR2l2ZW4gbmFtZScsXG4gICAgICAgIGZhbWlseU5hbWU6ICdGYW1pbHkgbmFtZScsXG4gICAgICAgIGVtYWlsOiAnRW1haWwgYWRyZXNzJyxcbiAgICAgICAgbWV0YWRhdGE6ICdNZXRhZGF0YScsXG4gICAgICAgIHJvbGVzOiAnIFJvbGVzJ1xuICAgICAgfSxcbiAgICAgIHJlbGF0aW9uVHlwZXM6IHtcbiAgICAgICAgbGlzdDogJ1JlbGF0aW9ucyB0eXBlcycsXG4gICAgICAgIGluZm86ICdSZWxhdGlvbiB0eXBlIGluZm9ybWF0aW9uJyxcbiAgICAgICAgYWRkOiAnQWRkIHJlbGF0aW9uIHR5cGUnLFxuICAgICAgICBlZGl0OiAnRWRpdCByZWxhdGlvbiB0eXBlJyxcbiAgICAgICAgbmFtZTogJ05hbWUnLFxuICAgICAgICBuYlJlbGF0aW9uOiAnTnVtYmVyIG9mIHR5cGUgcmVsYXRpb24nLFxuICAgICAgICBuYkxpbms6ICdOdW1iZXIgb2YgbGlua3MgdGhhdCB1c2UgdGhpcyByZWxhdGlvbiB0eXBlJyxcbiAgICAgICAgZGF0ZU1vZGlmaWNhdGlvbjogJ01vZGlmaWNhdGlvbiBkYXRlJyxcbiAgICAgICAgZGVsZXRhYmxlOiAnQ2FuIGJlIGRlbGV0ZWQnLFxuICAgICAgICBkZWxldGVNb2RhbE1lc3NhZ2U6ICdUaGlzIHJlbGF0aW9uIHR5cGUgY2FuIGJlIGRlbGV0ZWQgYmVjYXVzZSB1c2VkLidcbiAgICAgIH0sXG4gICAgICBsaW5rczoge1xuICAgICAgICBsaXN0OiAnTGlua3MgYmV0d2VlbiBhdHRyaWJ1dGVzJyxcbiAgICAgICAgYWRkOiAnQ3JlYXRlIGEgbGluayBiZXR3ZWVuIGF0dHJpYnV0ZXMnLFxuICAgICAgICBjbGFzc1NvdXJjZTogJ1NvdXJjZSBidXNpbmVzcyBtb2RlbCcsXG4gICAgICAgIGF0dHJpYnV0ZVNvdXJjZTogJ1NvdXJjZSBhdHRyaWJ1dGUnLFxuICAgICAgICBjbGFzc0Rlc3RpbmF0aW9uOiAnRGVzdGluYXRpb24gYnVzaW5lc3MgbW9kZWwnLFxuICAgICAgICBhdHRyaWJ1dGVEZXN0aW5hdGlvbjogJ0Rlc3RpbmF0aW9uIGF0dHJpYnV0ZScsXG4gICAgICAgIHJlbGF0aW9uVHlwZTogJ1JlbGF0aW9uIHR5cGUnLFxuICAgICAgICBzZWxlY3RSZWxhdGlvblR5cGU6ICdTZWxlY3QgcmVsYXRpb24gdHlwZSdcbiAgICAgIH0sXG4gICAgICBhc3NvY2lhdGlvbjoge1xuICAgICAgICBBQkFDOiAnQUJBQyBSdWxlJyxcbiAgICAgICAgTElOSzogJ1JlbGF0aW9uJyxcbiAgICAgICAgTkFNRURfUVVFUlk6ICdOYW1lZCBxdWVyeScsXG4gICAgICAgIFdJREdFVDogJ1dpZGdldCcsXG4gICAgICAgIERBVEFTRVQ6ICdEYXRhc2V0JyxcbiAgICAgICAgT0NMQVNTOiAnRGF0YSBtb2RlbCcsXG4gICAgICAgIERBU0hCT0FSRDogJ0Rhc2hib2FyZCcsXG4gICAgICAgIEZJRUxEOiAnRGF0YSB0eXBlJ1xuICAgICAgfSxcbiAgICAgIHN0b3JhZ2U6IHtcbiAgICAgICAgbGFiZWw6ICdCYXNlIGRlIHN0b2NrYWdlJyxcbiAgICAgICAgZGVzY3JpcHRpb246IHtcbiAgICAgICAgICBQT1NUR0lTOlxuICAgICAgICAgICAgJ1JlY29tbWVuZGVkIGZvciBzdG9yYWdlIG9mIGNvbXBsZXggZ2VvZ3JhcGhpY2FsIGRhdGEgb3IgZm9yIGNvb3JkaW5hdGUgc3lzdGVtcyBkaWZmZXJlbnQgZnJvbSBXR1MgODQuIFJlY29tbWVuZGVkIGZvciBzdG9yaW5nIGNsYXNzZXMgd2l0aCBsb3cgZXN0aW1hdGVkIGRhdGEgdm9sdW1lLicsXG4gICAgICAgICAgRUxBU1RJQzpcbiAgICAgICAgICAgICdSZWNvbW1lbmRlZCBpbiBjYXNlIG9mIGhpZ2ggZGF0YSB2b2x1bWUgZXhwZWN0ZWQgZm9yIHRoZSBjbGFzcy4gSWYgeW91IHdhbnQgdG8gc3RvcmUgZ2VvZ3JhcGhpY2FsIGRhdGEgaW4gdGhpcyBjbGFzcywgc2ltcGxlIGZvcm1zIGhhdmUgdG8gYmUgdXNlZCBhbmQgdGhlIHJlZmVyZW5jZSBjb29yZGluYXRlIHN5c3RlbSBtdXN0IGJlIFdHUyA4NC4gVGhpcyBzdG9yYWdlIHN5c3RlbSBpcyBob3Jpem9udGFsbHkgc2NhbGFibGUuJ1xuICAgICAgICB9LFxuICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgUE9TVEdJUzogJ1Bvc3RHSVMnLFxuICAgICAgICAgIEVMQVNUSUM6ICdFbGFzdGljU2VhcmNoJ1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICB0b29sdGlwOiB7XG4gICAgICBkZWZhdWx0OiAnRGVmYXVsdCB0b29sdGlwJyxcbiAgICAgIGF0dHJpYnV0ZTogJ0F0dHJpYnV0ZXMgdG9vbHRpcCcsXG4gICAgICBjbHVzdGVyOiAnQ2x1c3RlciB0b29sdGlwIChncmFwaHMpJyxcbiAgICAgIGxpbms6ICdMaW5rIHRvb2x0aXAgKGdyYXBocyknLFxuICAgICAgbm9uZTogJ05vIHRvb2x0aXAnXG4gICAgfVxuICB9XG59O1xuIl19