@microsoft/windows-admin-center-sdk 2.186.0 → 2.297.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/angular/assets/strings/cs-CZ/strings.json +1 -1
- package/angular/assets/strings/de-DE/strings.json +1 -1
- package/angular/assets/strings/es-ES/strings.json +1 -1
- package/angular/assets/strings/fr-FR/strings.json +1 -1
- package/angular/assets/strings/hu-HU/strings.json +1 -1
- package/angular/assets/strings/it-IT/strings.json +1 -1
- package/angular/assets/strings/ja-JP/strings.json +1 -1
- package/angular/assets/strings/ko-KR/strings.json +1 -1
- package/angular/assets/strings/nl-NL/strings.json +1 -1
- package/angular/assets/strings/pl-PL/strings.json +1 -1
- package/angular/assets/strings/pt-BR/strings.json +1 -1
- package/angular/assets/strings/pt-PT/strings.json +1 -1
- package/angular/assets/strings/ru-RU/strings.json +1 -1
- package/angular/assets/strings/strings.json +1 -1
- package/angular/assets/strings/sv-SE/strings.json +1 -1
- package/angular/assets/strings/tr-TR/strings.json +1 -1
- package/angular/assets/strings/zh-CN/strings.json +1 -1
- package/angular/assets/strings/zh-TW/strings.json +1 -1
- package/angular/bundles/microsoft-windows-admin-center-sdk-angular.umd.js +1103 -1209
- package/angular/bundles/microsoft-windows-admin-center-sdk-angular.umd.js.map +1 -1
- package/angular/bundles/microsoft-windows-admin-center-sdk-angular.umd.min.js +2 -2
- package/angular/bundles/microsoft-windows-admin-center-sdk-angular.umd.min.js.map +1 -1
- package/angular/esm2015/src/controls/actions/actions.module.js +2 -2
- package/angular/esm2015/src/controls/actions/containers/action-bar/action-bar.component.js +2 -2
- package/angular/esm2015/src/controls/actions/items/action-button/action-button-renderer.component.js +5 -5
- package/angular/esm2015/src/controls/actions/items/action-dropdown/action-dropdown.component.js +31 -13
- package/angular/esm2015/src/controls/actions/items/action-item.component.js +7 -3
- package/angular/esm2015/src/controls/badge/badge-base.component.js +2 -13
- package/angular/esm2015/src/controls/badge/bugfixes-feature-badge.component.js +42 -70
- package/angular/esm2015/src/controls/badge/coming-soon-badge.component.js +42 -70
- package/angular/esm2015/src/controls/badge/credssp-enabled-badge.component.js +42 -70
- package/angular/esm2015/src/controls/badge/critical-badge.component.js +42 -70
- package/angular/esm2015/src/controls/badge/custom-badge.component.js +42 -70
- package/angular/esm2015/src/controls/badge/feedback-badge.component.js +42 -70
- package/angular/esm2015/src/controls/badge/improvement-feature-badge.component.js +42 -70
- package/angular/esm2015/src/controls/badge/new-badge.component.js +42 -70
- package/angular/esm2015/src/controls/badge/new-feature-badge.component.js +42 -70
- package/angular/esm2015/src/controls/badge/preview-badge.component.js +42 -70
- package/angular/esm2015/src/controls/badge/warning-badge.component.js +42 -70
- package/angular/esm2015/src/controls/breadcrumb/breadcrumb.component.js +6 -6
- package/angular/esm2015/src/controls/breadcrumb-header/breadcrumb-header.component.js +2 -2
- package/angular/esm2015/src/controls/data-table/data-table-column.component.js +5 -3
- package/angular/esm2015/src/controls/data-table/data-table.component.js +20 -26
- package/angular/esm2015/src/controls/data-table/extensions/data-table-column-picker-extension.js +2 -1
- package/angular/esm2015/src/controls/details/details.component.js +2 -2
- package/angular/esm2015/src/controls/dialog/base-dialog.component.js +1 -1
- package/angular/esm2015/src/controls/dialog/confirmation-dialog/confirmation-dialog.component.js +20 -30
- package/angular/esm2015/src/controls/dialog/dialog.service.js +7 -3
- package/angular/esm2015/src/controls/dropdown/dropdown.component.js +2 -2
- package/angular/esm2015/src/controls/form/form-field/array/array-form-field.component.js +50 -40
- package/angular/esm2015/src/controls/form/form-field/checklist/checklist-form-field.component.js +3 -3
- package/angular/esm2015/src/controls/form/form-field/combobox/combobox-form-field.component.js +14 -13
- package/angular/esm2015/src/controls/form/form-field/datetime/datetime-form-field.component.js +2 -2
- package/angular/esm2015/src/controls/form/form-field/form-field.component.js +16 -4
- package/angular/esm2015/src/controls/form/form-field/options-form-field/form-field-option.component.js +5 -3
- package/angular/esm2015/src/controls/form/form-field/ordered-list/ordered-list-form-field.component.js +25 -21
- package/angular/esm2015/src/controls/form/form-field/radio-group/classic/radio-group-form-field.component.js +5 -5
- package/angular/esm2015/src/controls/form/form-field/search/search-form-field.component.js +2 -2
- package/angular/esm2015/src/controls/form/form-field/tags/tags-form-field.component.js +2 -2
- package/angular/esm2015/src/controls/form/validation-alert/validation-alert.component.js +4 -10
- package/angular/esm2015/src/controls/form/validation-alert/validation-alert.js +1 -1
- package/angular/esm2015/src/controls/horizontal-bar-chart/stacked-horizontal-bar-chart.component.js +17 -1
- package/angular/esm2015/src/controls/icon/layered-icon/layered-icon.component.js +12 -1
- package/angular/esm2015/src/controls/icon/layered-icon/status/status-icon.component.js +53 -9
- package/angular/esm2015/src/controls/loading-wheel/loading-wheel.component.js +17 -1
- package/angular/esm2015/src/controls/master-view/master-view.component.js +34 -30
- package/angular/esm2015/src/controls/pivot/pivot-tab.component.js +1 -1
- package/angular/esm2015/src/controls/pivot/pivot.component.js +21 -9
- package/angular/esm2015/src/controls/property-grid/property-grid.component.js +13 -29
- package/angular/esm2015/src/controls/schema-form/schema-form-content.component.js +7 -4
- package/angular/esm2015/src/controls/settings/common-settings/common-settings.component.js +23 -35
- package/angular/esm2015/src/controls/settings/settings.component.js +28 -1
- package/angular/esm2015/src/controls/settings/settings.module.js +8 -3
- package/angular/esm2015/src/controls/tooltip/tooltip-host.component.js +16 -5
- package/angular/esm2015/src/controls/wizard/wizard.component.js +38 -6
- package/angular/esm2015/src/directives/clamp/clamp.directive.js +26 -7
- package/angular/esm2015/src/directives/discard/discard.directive.js +2 -2
- package/angular/esm2015/src/directives/markdown/markdown.directive.js +5 -18
- package/angular/esm2015/src/generated/strings.js +1 -1
- package/angular/esm2015/src/guards/experiment.guard.service.js +14 -1
- package/angular/esm2015/src/pipes/boolean-converter-pipe.js +11 -1
- package/angular/esm2015/src/pipes/byte-unit-converter-pipe.js +11 -1
- package/angular/esm2015/src/pipes/enum-converter-pipe.js +16 -1
- package/angular/esm2015/src/pipes/format-pipe.js +11 -1
- package/angular/esm2015/src/pipes/highlight-pipe.js +11 -1
- package/angular/esm2015/src/pipes/yesno-converter-pipe.js +11 -1
- package/angular/esm2015/src/service/gateway.service.js +8 -5
- package/angular/esm2015/src/service/notification.service.js +23 -1
- package/angular/fesm2015/microsoft-windows-admin-center-sdk-angular.js +1042 -1069
- package/angular/fesm2015/microsoft-windows-admin-center-sdk-angular.js.map +1 -1
- package/angular/package.json +0 -1
- package/angular/src/controls/actions/items/action-dropdown/action-dropdown.component.d.ts +2 -0
- package/angular/src/controls/actions/items/action-item.component.d.ts +11 -1
- package/angular/src/controls/badge/badge-base.component.d.ts +0 -4
- package/angular/src/controls/data-table/data-table-column.component.d.ts +2 -1
- package/angular/src/controls/data-table/data-table.component.d.ts +4 -0
- package/angular/src/controls/dialog/base-dialog.component.d.ts +1 -1
- package/angular/src/controls/form/form-field/form-field.component.d.ts +10 -1
- package/angular/src/controls/form/form-field/options-form-field/form-field-option.component.d.ts +5 -1
- package/angular/src/controls/form/validation-alert/validation-alert.component.d.ts +0 -4
- package/angular/src/controls/form/validation-alert/validation-alert.d.ts +0 -1
- package/angular/src/controls/horizontal-bar-chart/stacked-horizontal-bar-chart.component.d.ts +16 -0
- package/angular/src/controls/icon/layered-icon/layered-icon.component.d.ts +11 -0
- package/angular/src/controls/icon/layered-icon/status/status-icon.component.d.ts +13 -2
- package/angular/src/controls/loading-wheel/loading-wheel.component.d.ts +16 -0
- package/angular/src/controls/master-view/master-view.component.d.ts +1 -0
- package/angular/src/controls/pivot/pivot-tab.component.d.ts +0 -1
- package/angular/src/controls/pivot/pivot.component.d.ts +4 -0
- package/angular/src/controls/settings/common-settings/common-settings.component.d.ts +6 -5
- package/angular/src/controls/settings/settings.component.d.ts +27 -0
- package/angular/src/controls/settings/settings.module.d.ts +7 -6
- package/angular/src/controls/tooltip/tooltip-host.component.d.ts +1 -1
- package/angular/src/controls/wizard/wizard.component.d.ts +23 -0
- package/angular/src/directives/clamp/clamp.directive.d.ts +5 -0
- package/angular/src/directives/markdown/markdown.directive.d.ts +2 -3
- package/angular/src/generated/strings.d.ts +9 -0
- package/angular/src/guards/experiment.guard.service.d.ts +13 -0
- package/angular/src/pipes/boolean-converter-pipe.d.ts +10 -0
- package/angular/src/pipes/byte-unit-converter-pipe.d.ts +10 -0
- package/angular/src/pipes/enum-converter-pipe.d.ts +15 -0
- package/angular/src/pipes/format-pipe.d.ts +10 -0
- package/angular/src/pipes/highlight-pipe.d.ts +10 -0
- package/angular/src/pipes/yesno-converter-pipe.d.ts +10 -0
- package/angular/src/service/gateway.service.d.ts +3 -1
- package/angular/src/service/notification.service.d.ts +22 -0
- package/core/base/environment.d.ts +7 -0
- package/core/base/environment.js.map +1 -1
- package/core/base/versioned-object.js +2 -2
- package/core/base/versioned-object.js.map +1 -1
- package/core/data/cim-stream.js +8 -1
- package/core/data/cim-stream.js.map +1 -1
- package/core/data/core-environment.d.ts +4 -0
- package/core/data/core-environment.js +1 -0
- package/core/data/core-environment.js.map +1 -1
- package/core/data/crypto.js +10 -9
- package/core/data/crypto.js.map +1 -1
- package/core/data/file-transfer.js +5 -1
- package/core/data/file-transfer.js.map +1 -1
- package/core/data/gateway-connection.d.ts +11 -1
- package/core/data/gateway-connection.js +51 -9
- package/core/data/gateway-connection.js.map +1 -1
- package/core/data/http-constants.d.ts +5 -1
- package/core/data/http-constants.js +5 -1
- package/core/data/http-constants.js.map +1 -1
- package/core/data/net.d.ts +15 -11
- package/core/data/net.js +44 -41
- package/core/data/net.js.map +1 -1
- package/core/data/node-connection.d.ts +2 -2
- package/core/data/node-connection.js.map +1 -1
- package/core/data/powershell-stream.js +11 -3
- package/core/data/powershell-stream.js.map +1 -1
- package/core/data/powershell.d.ts +17 -1
- package/core/data/powershell.js +35 -9
- package/core/data/powershell.js.map +1 -1
- package/core/data/settings-manager.d.ts +9 -0
- package/core/data/settings-manager.js +18 -1
- package/core/data/settings-manager.js.map +1 -1
- package/core/generated/powershell-scripts.d.ts +5 -4
- package/core/generated/powershell-scripts.js +5 -4
- package/core/generated/powershell-scripts.js.map +1 -1
- package/core/host/host-core-manager.d.ts +36 -0
- package/core/host/host-core-manager.js +134 -0
- package/core/host/host-core-manager.js.map +1 -0
- package/core/host/host-core-message-type.d.ts +12 -0
- package/core/host/host-core-message-type.js +17 -0
- package/core/host/host-core-message-type.js.map +1 -0
- package/core/host/host-core-messages.d.ts +14 -0
- package/core/host/host-core-messages.js +3 -0
- package/core/host/host-core-messages.js.map +1 -0
- package/core/manifest/manifest-loader.d.ts +2 -1
- package/core/manifest/manifest-loader.js +27 -18
- package/core/manifest/manifest-loader.js.map +1 -1
- package/core/notification/notification.js +4 -0
- package/core/notification/notification.js.map +1 -1
- package/core/security/authorization-manager.d.ts +44 -0
- package/core/security/authorization-manager.js +111 -5
- package/core/security/authorization-manager.js.map +1 -1
- package/core/security/sign-on-manager.d.ts +109 -0
- package/core/security/sign-on-manager.js +119 -0
- package/core/security/sign-on-manager.js.map +1 -0
- package/core/security/tag-manager.js.map +1 -1
- package/core/shared/cluster-inventory/cluster-inventory-cache.js +3 -2
- package/core/shared/cluster-inventory/cluster-inventory-cache.js.map +1 -1
- package/core/shared/gateway-inventory/gateway-inventory-cache.d.ts +1 -1
- package/core/shared/gateway-inventory/gateway-inventory-cache.js +1 -1
- package/core/shared/gateway-inventory/gateway-inventory-cache.js.map +1 -1
- package/core/shared/server-inventory/server-inventory-cache.js +2 -1
- package/core/shared/server-inventory/server-inventory-cache.js.map +1 -1
- package/core/shared/tool-inventory/tool-inventory-cache.js +1 -1
- package/core/shared/tool-inventory/tool-inventory-cache.js.map +1 -1
- package/e2e/assets/strings/cs-CZ/strings.json +1 -1
- package/e2e/assets/strings/de-DE/strings.json +1 -1
- package/e2e/assets/strings/es-ES/strings.json +1 -1
- package/e2e/assets/strings/fr-FR/strings.json +1 -1
- package/e2e/assets/strings/hu-HU/strings.json +1 -1
- package/e2e/assets/strings/it-IT/strings.json +1 -1
- package/e2e/assets/strings/ja-JP/strings.json +1 -1
- package/e2e/assets/strings/ko-KR/strings.json +1 -1
- package/e2e/assets/strings/nl-NL/strings.json +1 -1
- package/e2e/assets/strings/pl-PL/strings.json +1 -1
- package/e2e/assets/strings/pt-BR/strings.json +1 -1
- package/e2e/assets/strings/pt-PT/strings.json +1 -1
- package/e2e/assets/strings/ru-RU/strings.json +1 -1
- package/e2e/assets/strings/strings.json +1 -1
- package/e2e/assets/strings/sv-SE/strings.json +1 -1
- package/e2e/assets/strings/tr-TR/strings.json +1 -1
- package/e2e/assets/strings/zh-CN/strings.json +1 -1
- package/e2e/assets/strings/zh-TW/strings.json +1 -1
- package/package.json +5 -5
- package/styles/css/fonts.css +2 -2
- package/styles/css/main.css +1 -1
- package/styles/fonts/ServMDL2/ServMDL2-4.62.woff +0 -0
- package/styles/fonts/ServMDL2/ServMDL2.json +238 -2039
- package/styles/fonts/ServMDL2/ServMDL2.scss +238 -2039
- package/tools/gulp-manifest-resource/index.js +3 -1
- package/tools/gulp-manifest-resource/index.js.map +1 -1
- package/tools/gulp-ps-cim/index.js +1 -1
- package/tools/gulp-ps-cim/index.js.map +1 -1
- package/tools/gulp-ps-cim/powershell-cim-config-schema.json +1 -1
- package/tools/gulp-ps-code/index.js +36 -2
- package/tools/gulp-ps-code/index.js.map +1 -1
- package/tools/gulp-ps-code/ps-code-convert.js +4 -8
- package/tools/gulp-ps-code/ps-code-convert.js.map +1 -1
- package/tools/gulp-ps-resjson/index.js +79 -74
- package/tools/gulp-ps-resjson/index.js.map +1 -1
- package/tools/module-template/build/pipelines/codeinspector.yml +27 -0
- package/tools/module-template/gulpfile.ts/common/lint.ts +3 -3
- package/tools/module-template/gulpfile.ts/common/pack.ts +14 -14
- package/tools/module-template/gulpfile.ts/common/ui-test-automation.ts +40 -0
- package/tools/module-template/gulpfile.ts/common/utilities.ts +10 -10
- package/tools/module-template/gulpfile.ts/common/validate.ts +14 -4
- package/tools/module-template/gulpfile.ts/index.ts +20 -8
- package/tools/wac-cli/src/upgrade/file-updater.d.ts +1 -0
- package/tools/wac-cli/src/upgrade/file-updater.js +7 -1
- package/tools/wac-cli/src/upgrade/file-updater.js.map +1 -1
- package/styles/fonts/ServMDL2/ServMDL2-4.33.woff +0 -0
|
@@ -60,14 +60,16 @@ export class FormFieldOptionComponent {
|
|
|
60
60
|
let _t;
|
|
61
61
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.defaultSubFormTemplate = _t.first);
|
|
62
62
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.allTemplates = _t);
|
|
63
|
-
} }, inputs: { value: "value", label: "label", description: "description", disabled: "disabled", hidden: "hidden", tooltip: "tooltip", tooltipTemplate: "tooltipTemplate", tooltipContext: "tooltipContext" }, decls: 0, vars: 0, template: function FormFieldOptionComponent_Template(rf, ctx) { }, encapsulation: 2 });
|
|
63
|
+
} }, inputs: { utaId: "utaId", value: "value", label: "label", description: "description", disabled: "disabled", hidden: "hidden", tooltip: "tooltip", tooltipTemplate: "tooltipTemplate", tooltipContext: "tooltipContext" }, decls: 0, vars: 0, template: function FormFieldOptionComponent_Template(rf, ctx) { }, encapsulation: 2 });
|
|
64
64
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FormFieldOptionComponent, [{
|
|
65
65
|
type: Component,
|
|
66
66
|
args: [{
|
|
67
67
|
selector: 'sme-option',
|
|
68
68
|
template: ''
|
|
69
69
|
}]
|
|
70
|
-
}], null, {
|
|
70
|
+
}], null, { utaId: [{
|
|
71
|
+
type: Input
|
|
72
|
+
}], value: [{
|
|
71
73
|
type: Input
|
|
72
74
|
}], label: [{
|
|
73
75
|
type: Input
|
|
@@ -90,4 +92,4 @@ export class FormFieldOptionComponent {
|
|
|
90
92
|
}], tooltipContext: [{
|
|
91
93
|
type: Input
|
|
92
94
|
}] }); })();
|
|
93
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC1vcHRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vYW5ndWxhci9zcmMvY29udHJvbHMvZm9ybS9mb3JtLWZpZWxkL29wdGlvbnMtZm9ybS1maWVsZC9mb3JtLWZpZWxkLW9wdGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hHLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOztBQUU5RTs7OztHQUlHO0FBS0gsTUFBTSxPQUFPLHdCQUF3QjtJQUVqQyxJQUFXLHVCQUF1QjtRQUM5QixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQVcsYUFBYTtRQUNwQixJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDdEIsT0FBTyxJQUFJLENBQUM7U0FDZjtRQUNELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLGNBQWM7UUFDckIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLHVCQUF1QixJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQzVELENBQUM7SUFnRUQ7O09BRUc7SUFDSCxJQUFXLGVBQWU7UUFDdEIsSUFBSSxPQUFPLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUNoRixPQUFPLElBQUksQ0FBQztTQUNmO1FBRUQsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FBQyxDQUFDO1FBQzVFLE9BQU8sT0FBTyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUM7SUFDbkUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxlQUFlO1FBQ3RCLElBQUksT0FBTyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDaEYsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUM7U0FDdEM7UUFFRCxJQUFJLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUU7WUFDakQsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUM7U0FDOUM7UUFFRCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDLENBQUM7UUFDNUUsT0FBTyxPQUFPLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQztJQUNuRSxDQUFDO0lBRUQ7O09BRUc7SUFDSSxRQUFRO1FBQ1gsT0FBTyxJQUFJLENBQUMsS0FBSyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3pDLENBQUM7O21IQW5IUSx3QkFBd0I7Z0ZBQXhCLHdCQUF3QjtvQ0EyRG5CLFdBQVc7b0NBSFIsMEJBQTBCOzs7Ozs7dUZBeERsQyx3QkFBd0I7Y0FKcEMsU0FBUztlQUFDO2dCQUNQLFFBQVEsRUFBRSxZQUFZO2dCQUN0QixRQUFRLEVBQUUsRUFBRTthQUNmO2dCQXlCVSxLQUFLO2tCQURYLEtBQUs7WUFPQyxLQUFLO2tCQURYLEtBQUs7WUFPQyxLQUFLO2tCQURYLEtBQUs7WUFPQyxXQUFXO2tCQURqQixLQUFLO1lBT0MsUUFBUTtrQkFEZCxLQUFLO1lBT0MsTUFBTTtrQkFEWixLQUFLO1lBSUUsWUFBWTtrQkFEbkIsZUFBZTttQkFBQywwQkFBMEI7WUFJbkMsc0JBQXNCO2tCQUQ3QixZQUFZO21CQUFDLFdBQVc7WUFTbEIsT0FBTztrQkFEYixLQUFLO1lBT0MsZUFBZTtrQkFEckIsS0FBSztZQU9DLGNBQWM7a0JBRHBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgQ29udGVudENoaWxkcmVuLCBJbnB1dCwgUXVlcnlMaXN0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtRmllbGRUZW1wbGF0ZURpcmVjdGl2ZSB9IGZyb20gJy4uL2Zvcm0tZmllbGQtdGVtcGxhdGUuZGlyZWN0aXZlJztcclxuXHJcbi8qKlxyXG4gKiBEZWZpbmVzIGEgZ2VuZXJpYyBvcHRpb24gZm9yIGNvbnRyb2wgdHlwZXMgdGhhdCBkaXNwbGF5IG11bHRpcGxlIG9wdGlvbnMuXHJcbiAqIFRoZXNlIGluY2x1ZGUsIHJhZGlvLCBjaGVja2xpc3QsIG11bHRpc2VsZWN0LCBzZWxlY3QsIGV0Yy4uLlxyXG4gKiBUaGUgY3VycmVudCBpbXBsZW1lbnRhdGlvbiBpcyBwcmV0dHkgYmFzaWMsIGJ1dCBjb3VsZCBiZSBleHRlbmRlZCB0byBzdXBwb3J0IGEgdmFyaWV0eSBvZiBmZWF0dXJlc1xyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3NtZS1vcHRpb24nLFxyXG4gICAgdGVtcGxhdGU6ICcnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGb3JtRmllbGRPcHRpb25Db21wb25lbnQge1xyXG5cclxuICAgIHB1YmxpYyBnZXQgcmVzb2x2ZWRUb29sdGlwVGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8YW55PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMudG9vbHRpcFRlbXBsYXRlO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgcmVzb2x2ZWRUaXRsZSgpOiBzdHJpbmcge1xyXG4gICAgICAgIGlmICh0aGlzLnRvb2x0aXBUZW1wbGF0ZSkge1xyXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubGFiZWw7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTaG93IGluZm8gaWNvbiBhbmQgdG9vbHRpcCBpbmZvcm1hdGlvbj9cclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldCBzaG93SW5mb0J1YmJsZSgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gISF0aGlzLnJlc29sdmVkVG9vbHRpcFRlbXBsYXRlIHx8ICEhdGhpcy50b29sdGlwO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIGlkIG9mIHRoaXMgb3B0aW9uIHVzZWQgZm9yIFVJIHRlc3QgYXV0b21hdGlvbi5cclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyB1dGFJZDogc3RyaW5nO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIHZhbHVlIG9mIHRoaXMgb3B0aW9uLlxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHZhbHVlOiBhbnk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgbGFiZWwgb2YgdGhpcyBvcHRpb24uXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgbGFiZWw6IHN0cmluZztcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBkZXNjcmlwdGlvbiBvZiB0aGlzIG9wdGlvbi5cclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBkZXNjcmlwdGlvbjogc3RyaW5nO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5kaWNhdGVzIGlmIHRoaXMgb3B0aW9uIGlzIGRpc2FibGVkLlxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGRpc2FibGVkOiBib29sZWFuO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5kaWNhdGVzIGlmIHRoaXMgb3B0aW9uIGlzIGhpZGRlbi5cclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBoaWRkZW46IGJvb2xlYW47XHJcblxyXG4gICAgQENvbnRlbnRDaGlsZHJlbihGb3JtRmllbGRUZW1wbGF0ZURpcmVjdGl2ZSlcclxuICAgIHByaXZhdGUgYWxsVGVtcGxhdGVzOiBRdWVyeUxpc3Q8Rm9ybUZpZWxkVGVtcGxhdGVEaXJlY3RpdmU+O1xyXG5cclxuICAgIEBDb250ZW50Q2hpbGQoVGVtcGxhdGVSZWYpXHJcbiAgICBwcml2YXRlIGRlZmF1bHRTdWJGb3JtVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmRpY2F0ZXMgaWYgdGhpcyBvcHRpb24gaXMgc2VsZWN0ZWRcclxuICAgICAqL1xyXG4gICAgcHVibGljIGlzU2VsZWN0ZWQ6IGJvb2xlYW47XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyB0b29sdGlwPzogc3RyaW5nO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSWYgcHJvdmlkZWQsIHJlbmRlcnMgYSBjdXN0b20gdG9vbHRpcCBmb3IgdGhpcyBmaWVsZFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHRvb2x0aXBUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFByb3ZpZGVzIGJpbmRpbmcgY29udGV4dCBmb3IgdGhlIHRvb2x0aXBcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyB0b29sdGlwQ29udGV4dDogYW55O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIHRlbXBsYXRlIHRoYXQncyBkaXNwbGF5ZWQgZm9yIHRoZSBvcHRpb24uIEludGVuZGVkIHVzZSBpcyB0byBkZWZpbmUgaG93IG9wdGlvbiBzaG91bGQgbG9vayBsaWtlIGluICd0aWxlJyByYWRpbyBncm91cC5cclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldCBkaXNwbGF5VGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8YW55PiB7XHJcbiAgICAgICAgaWYgKE1zZnRTbWUuaXNOdWxsT3JVbmRlZmluZWQodGhpcy5hbGxUZW1wbGF0ZXMpIHx8IHRoaXMuYWxsVGVtcGxhdGVzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IHJlcyA9IHRoaXMuYWxsVGVtcGxhdGVzLmZpbmQodGVtcGxhdGUgPT4gdGVtcGxhdGUudHlwZSA9PT0gJ2Rpc3BsYXknKTtcclxuICAgICAgICByZXR1cm4gTXNmdFNtZS5pc051bGxPclVuZGVmaW5lZChyZXMpID8gbnVsbCA6IHJlcy50ZW1wbGF0ZVJlZjtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSB0ZW1wbGF0ZSByZWYgb2YgdGhlIG9wdGlvbidzIHN1YmZvcm0uIFRoZSB3YXkgdGhpcyB0ZW1wbGF0ZSByZWYgaXMgdXNlZCB2YXJpZXMgZm9ybSBjb250cm9sIHRvIGNvbnRyb2xcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldCBzdWJGb3JtVGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8YW55PiB7XHJcbiAgICAgICAgaWYgKE1zZnRTbWUuaXNOdWxsT3JVbmRlZmluZWQodGhpcy5hbGxUZW1wbGF0ZXMpIHx8IHRoaXMuYWxsVGVtcGxhdGVzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5kZWZhdWx0U3ViRm9ybVRlbXBsYXRlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKE1zZnRTbWUuaXNOdWxsT3JVbmRlZmluZWQodGhpcy5kaXNwbGF5VGVtcGxhdGUpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmFsbFRlbXBsYXRlcy5maXJzdC50ZW1wbGF0ZVJlZjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IHJlcyA9IHRoaXMuYWxsVGVtcGxhdGVzLmZpbmQodGVtcGxhdGUgPT4gdGVtcGxhdGUudHlwZSAhPT0gJ2Rpc3BsYXknKTtcclxuICAgICAgICByZXR1cm4gTXNmdFNtZS5pc051bGxPclVuZGVmaW5lZChyZXMpID8gbnVsbCA6IHJlcy50ZW1wbGF0ZVJlZjtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENvbnZlcnRzIHRoaXMgaW5zdGFuY2UgdG8gaXRzIHN0cmluZyByZXByZXNlbnRhdGlvblxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgdG9TdHJpbmcoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubGFiZWwgfHwgYCR7dGhpcy52YWx1ZX1gO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -42,7 +42,7 @@ function OrderedListFormFieldLoaderComponent_ng_container_3_Template(rf, ctx) {
|
|
|
42
42
|
} }
|
|
43
43
|
const _c0 = ["type", "orderedlist"];
|
|
44
44
|
function OrderedListFormFieldComponent_div_1_div_1_p_3_Template(rf, ctx) { if (rf & 1) {
|
|
45
|
-
i0.ɵɵelementStart(0, "p",
|
|
45
|
+
i0.ɵɵelementStart(0, "p", 14);
|
|
46
46
|
i0.ɵɵtext(1);
|
|
47
47
|
i0.ɵɵelementEnd();
|
|
48
48
|
} if (rf & 2) {
|
|
@@ -53,14 +53,14 @@ function OrderedListFormFieldComponent_div_1_div_1_p_3_Template(rf, ctx) { if (r
|
|
|
53
53
|
i0.ɵɵtextInterpolate(ctx_r5.arrayGetValueDisplayString(ctx_r5.value[i_r4]));
|
|
54
54
|
} }
|
|
55
55
|
function OrderedListFormFieldComponent_div_1_div_1_sme_form_field_5_ng_container_1_sme_option_1_Template(rf, ctx) { if (rf & 1) {
|
|
56
|
-
i0.ɵɵelement(0, "sme-option",
|
|
56
|
+
i0.ɵɵelement(0, "sme-option", 18);
|
|
57
57
|
} if (rf & 2) {
|
|
58
58
|
const option_r12 = i0.ɵɵnextContext().$implicit;
|
|
59
|
-
i0.ɵɵproperty("value", option_r12.value)("label", option_r12.toString())("disabled", option_r12.disabled);
|
|
59
|
+
i0.ɵɵproperty("utaId", option_r12.utaId ? option_r12.utaId : option_r12.value)("value", option_r12.value)("label", option_r12.toString())("disabled", option_r12.disabled);
|
|
60
60
|
} }
|
|
61
61
|
function OrderedListFormFieldComponent_div_1_div_1_sme_form_field_5_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
62
62
|
i0.ɵɵelementContainerStart(0);
|
|
63
|
-
i0.ɵɵtemplate(1, OrderedListFormFieldComponent_div_1_div_1_sme_form_field_5_ng_container_1_sme_option_1_Template, 1,
|
|
63
|
+
i0.ɵɵtemplate(1, OrderedListFormFieldComponent_div_1_div_1_sme_form_field_5_ng_container_1_sme_option_1_Template, 1, 4, "sme-option", 17);
|
|
64
64
|
i0.ɵɵelementContainerEnd();
|
|
65
65
|
} if (rf & 2) {
|
|
66
66
|
const option_r12 = ctx.$implicit;
|
|
@@ -71,22 +71,24 @@ function OrderedListFormFieldComponent_div_1_div_1_sme_form_field_5_ng_container
|
|
|
71
71
|
} }
|
|
72
72
|
function OrderedListFormFieldComponent_div_1_div_1_sme_form_field_5_Template(rf, ctx) { if (rf & 1) {
|
|
73
73
|
const _r17 = i0.ɵɵgetCurrentView();
|
|
74
|
-
i0.ɵɵelementStart(0, "sme-form-field",
|
|
74
|
+
i0.ɵɵelementStart(0, "sme-form-field", 15);
|
|
75
75
|
i0.ɵɵlistener("ngModelChange", function OrderedListFormFieldComponent_div_1_div_1_sme_form_field_5_Template_sme_form_field_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r17); const i_r4 = i0.ɵɵnextContext().index; const ctx_r16 = i0.ɵɵnextContext(2); return (ctx_r16.value[i_r4] = $event); })("ngModelChange", function OrderedListFormFieldComponent_div_1_div_1_sme_form_field_5_Template_sme_form_field_ngModelChange_0_listener() { i0.ɵɵrestoreView(_r17); const ctx_r19 = i0.ɵɵnextContext(3); return ctx_r19.triggerValueChange(); })("customValidate", function OrderedListFormFieldComponent_div_1_div_1_sme_form_field_5_Template_sme_form_field_customValidate_0_listener() { i0.ɵɵrestoreView(_r17); const ctx_r20 = i0.ɵɵnextContext(3); return ctx_r20.newItemCheck(); });
|
|
76
|
-
i0.ɵɵtemplate(1, OrderedListFormFieldComponent_div_1_div_1_sme_form_field_5_ng_container_1_Template, 2, 1, "ng-container",
|
|
76
|
+
i0.ɵɵtemplate(1, OrderedListFormFieldComponent_div_1_div_1_sme_form_field_5_ng_container_1_Template, 2, 1, "ng-container", 16);
|
|
77
77
|
i0.ɵɵelementEnd();
|
|
78
78
|
} if (rf & 2) {
|
|
79
|
-
const
|
|
79
|
+
const ctx_r21 = i0.ɵɵnextContext();
|
|
80
|
+
const item_r3 = ctx_r21.$implicit;
|
|
81
|
+
const i_r4 = ctx_r21.index;
|
|
80
82
|
const ctx_r6 = i0.ɵɵnextContext(2);
|
|
81
|
-
i0.ɵɵproperty("hideHeader", true)("valueComparator", ctx_r6.valueComparator)("ngModel", ctx_r6.value[i_r4])("label", ctx_r6.label)("searchable", ctx_r6.searchable);
|
|
83
|
+
i0.ɵɵproperty("utaId", item_r3 ? item_r3.toString() + "-combobox" : "new-combobox")("hideHeader", true)("valueComparator", ctx_r6.valueComparator)("ngModel", ctx_r6.value[i_r4])("label", ctx_r6.label)("searchable", ctx_r6.searchable);
|
|
82
84
|
i0.ɵɵadvance(1);
|
|
83
85
|
i0.ɵɵproperty("ngForOf", ctx_r6.options);
|
|
84
86
|
} }
|
|
85
87
|
function OrderedListFormFieldComponent_div_1_div_1_button_6_Template(rf, ctx) { if (rf & 1) {
|
|
86
88
|
const _r24 = i0.ɵɵgetCurrentView();
|
|
87
|
-
i0.ɵɵelementStart(0, "button",
|
|
89
|
+
i0.ɵɵelementStart(0, "button", 19);
|
|
88
90
|
i0.ɵɵlistener("click", function OrderedListFormFieldComponent_div_1_div_1_button_6_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r24); const i_r4 = i0.ɵɵnextContext().index; const ctx_r22 = i0.ɵɵnextContext(2); return ctx_r22.promoteItemAt(i_r4); });
|
|
89
|
-
i0.ɵɵelement(1, "span",
|
|
91
|
+
i0.ɵɵelement(1, "span", 20);
|
|
90
92
|
i0.ɵɵelementEnd();
|
|
91
93
|
} if (rf & 2) {
|
|
92
94
|
const i_r4 = i0.ɵɵnextContext().index;
|
|
@@ -96,9 +98,9 @@ function OrderedListFormFieldComponent_div_1_div_1_button_6_Template(rf, ctx) {
|
|
|
96
98
|
} }
|
|
97
99
|
function OrderedListFormFieldComponent_div_1_div_1_button_7_Template(rf, ctx) { if (rf & 1) {
|
|
98
100
|
const _r28 = i0.ɵɵgetCurrentView();
|
|
99
|
-
i0.ɵɵelementStart(0, "button",
|
|
101
|
+
i0.ɵɵelementStart(0, "button", 21);
|
|
100
102
|
i0.ɵɵlistener("click", function OrderedListFormFieldComponent_div_1_div_1_button_7_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r28); const i_r4 = i0.ɵɵnextContext().index; const ctx_r26 = i0.ɵɵnextContext(2); return ctx_r26.demoteItemAt(i_r4); });
|
|
101
|
-
i0.ɵɵelement(1, "span",
|
|
103
|
+
i0.ɵɵelement(1, "span", 22);
|
|
102
104
|
i0.ɵɵelementEnd();
|
|
103
105
|
} if (rf & 2) {
|
|
104
106
|
const i_r4 = i0.ɵɵnextContext().index;
|
|
@@ -108,9 +110,9 @@ function OrderedListFormFieldComponent_div_1_div_1_button_7_Template(rf, ctx) {
|
|
|
108
110
|
} }
|
|
109
111
|
function OrderedListFormFieldComponent_div_1_div_1_button_8_Template(rf, ctx) { if (rf & 1) {
|
|
110
112
|
const _r32 = i0.ɵɵgetCurrentView();
|
|
111
|
-
i0.ɵɵelementStart(0, "button",
|
|
113
|
+
i0.ɵɵelementStart(0, "button", 23);
|
|
112
114
|
i0.ɵɵlistener("click", function OrderedListFormFieldComponent_div_1_div_1_button_8_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r32); const i_r4 = i0.ɵɵnextContext().index; const ctx_r30 = i0.ɵɵnextContext(2); return ctx_r30.removeItemAt(i_r4); });
|
|
113
|
-
i0.ɵɵelement(1, "span",
|
|
115
|
+
i0.ɵɵelement(1, "span", 24);
|
|
114
116
|
i0.ɵɵelementEnd();
|
|
115
117
|
} if (rf & 2) {
|
|
116
118
|
const ctx_r9 = i0.ɵɵnextContext(3);
|
|
@@ -124,15 +126,17 @@ function OrderedListFormFieldComponent_div_1_div_1_Template(rf, ctx) { if (rf &
|
|
|
124
126
|
i0.ɵɵelementEnd();
|
|
125
127
|
i0.ɵɵtemplate(3, OrderedListFormFieldComponent_div_1_div_1_p_3_Template, 2, 2, "p", 8);
|
|
126
128
|
i0.ɵɵelementStart(4, "div", 9);
|
|
127
|
-
i0.ɵɵtemplate(5, OrderedListFormFieldComponent_div_1_div_1_sme_form_field_5_Template, 2,
|
|
129
|
+
i0.ɵɵtemplate(5, OrderedListFormFieldComponent_div_1_div_1_sme_form_field_5_Template, 2, 7, "sme-form-field", 10);
|
|
128
130
|
i0.ɵɵelementEnd();
|
|
129
131
|
i0.ɵɵtemplate(6, OrderedListFormFieldComponent_div_1_div_1_button_6_Template, 2, 4, "button", 11);
|
|
130
|
-
i0.ɵɵtemplate(7, OrderedListFormFieldComponent_div_1_div_1_button_7_Template, 2, 4, "button",
|
|
131
|
-
i0.ɵɵtemplate(8, OrderedListFormFieldComponent_div_1_div_1_button_8_Template, 2, 3, "button",
|
|
132
|
+
i0.ɵɵtemplate(7, OrderedListFormFieldComponent_div_1_div_1_button_7_Template, 2, 4, "button", 12);
|
|
133
|
+
i0.ɵɵtemplate(8, OrderedListFormFieldComponent_div_1_div_1_button_8_Template, 2, 3, "button", 13);
|
|
132
134
|
i0.ɵɵelementEnd();
|
|
133
135
|
} if (rf & 2) {
|
|
136
|
+
const item_r3 = ctx.$implicit;
|
|
134
137
|
const i_r4 = ctx.index;
|
|
135
138
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
139
|
+
i0.ɵɵattribute("data-uta-id", item_r3 ? item_r3.toString() + "-row" : "new-item-row");
|
|
136
140
|
i0.ɵɵadvance(1);
|
|
137
141
|
i0.ɵɵproperty("id", ctx_r1.idBag.detailsSpan + i_r4);
|
|
138
142
|
i0.ɵɵadvance(1);
|
|
@@ -152,7 +156,7 @@ function OrderedListFormFieldComponent_div_1_div_1_Template(rf, ctx) { if (rf &
|
|
|
152
156
|
} }
|
|
153
157
|
function OrderedListFormFieldComponent_div_1_button_2_Template(rf, ctx) { if (rf & 1) {
|
|
154
158
|
const _r34 = i0.ɵɵgetCurrentView();
|
|
155
|
-
i0.ɵɵelementStart(0, "button",
|
|
159
|
+
i0.ɵɵelementStart(0, "button", 25);
|
|
156
160
|
i0.ɵɵlistener("click", function OrderedListFormFieldComponent_div_1_button_2_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r34); const ctx_r33 = i0.ɵɵnextContext(2); return ctx_r33.addListItem(); });
|
|
157
161
|
i0.ɵɵtext(1);
|
|
158
162
|
i0.ɵɵelementEnd();
|
|
@@ -165,7 +169,7 @@ function OrderedListFormFieldComponent_div_1_button_2_Template(rf, ctx) { if (rf
|
|
|
165
169
|
} }
|
|
166
170
|
function OrderedListFormFieldComponent_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
167
171
|
i0.ɵɵelementStart(0, "div", 3);
|
|
168
|
-
i0.ɵɵtemplate(1, OrderedListFormFieldComponent_div_1_div_1_Template, 9,
|
|
172
|
+
i0.ɵɵtemplate(1, OrderedListFormFieldComponent_div_1_div_1_Template, 9, 10, "div", 4);
|
|
169
173
|
i0.ɵɵtemplate(2, OrderedListFormFieldComponent_div_1_button_2_Template, 2, 4, "button", 5);
|
|
170
174
|
i0.ɵɵelementEnd();
|
|
171
175
|
} if (rf & 2) {
|
|
@@ -439,7 +443,7 @@ let OrderedListFormFieldComponent = class OrderedListFormFieldComponent extends
|
|
|
439
443
|
/** @nocollapse */ OrderedListFormFieldComponent.ɵfac = function OrderedListFormFieldComponent_Factory(t) { return new (t || OrderedListFormFieldComponent)(i0.ɵɵdirectiveInject(i0.Injector)); };
|
|
440
444
|
/** @nocollapse */ OrderedListFormFieldComponent.ɵcmp = i0.ɵɵdefineComponent({ type: OrderedListFormFieldComponent, selectors: [["sme-form-field", "type", "orderedlist"]], hostVars: 1, hostBindings: function OrderedListFormFieldComponent_HostBindings(rf, ctx) { if (rf & 2) {
|
|
441
445
|
i0.ɵɵattribute("aria-label", ctx.ariaLabel);
|
|
442
|
-
} }, inputs: { showAddRemove: "showAddRemove", showMove: "showMove", showSelect: "showSelect", addButtonText: "addButtonText", searchable: "searchable", allowEmpty: "allowEmpty" }, features: [i0.ɵɵInheritDefinitionFeature], attrs: _c0, decls: 3, vars: 3, consts: [[3, "formField"], ["class", "sme-margin-bottom-xs sme-form-field-editor", 4, "ngIf"], [3, "alert"], [1, "sme-margin-bottom-xs", "sme-form-field-editor"], ["class", "sme-arrange-stack-h sme-margin-bottom-xs sme-form-field-width", 4, "ngFor", "ngForOf", "ngForTrackBy"], ["type", "button", "class", "sme-button-trigger sme-button-auto-width sme-icon sme-icon-add sme-margin-bottom-xs", 3, "smeDisabled", "title", "click", 4, "ngIf"], [1, "sme-arrange-stack-h", "sme-margin-bottom-xs", "sme-form-field-width"], [1, "sme-screen-reader", 3, "id"], ["class", "sme-position-flex-auto", "role", "textbox", "tabindex", "0", 4, "ngIf"], [1, "sme-layout-relative", "sme-position-flex-auto"], ["type", "combobox", 3, "hideHeader", "valueComparator", "ngModel", "label", "searchable", "ngModelChange", "customValidate", 4, "ngIf"], ["type", "button", "class", "sme-button-trigger sme-position-flex-none sme-button-auto-width sme-form-field-height", 3, "id", "title", "smeDisabled", "click", 4, "ngIf"], ["type", "button", "class", "sme-button-trigger sme-position-flex-none sme-button-auto-width sme-form-field-height", 3, "title", "smeDisabled", "click", 4, "ngIf"], ["role", "textbox", "tabindex", "0", 1, "sme-position-flex-auto"], ["type", "combobox", 3, "hideHeader", "valueComparator", "ngModel", "label", "searchable", "ngModelChange", "customValidate"], [4, "ngFor", "ngForOf"], [3, "value", "label", "disabled", 4, "ngIf"], [3, "value", "label", "disabled"], ["type", "button", 1, "sme-button-trigger", "sme-position-flex-none", "sme-button-auto-width", "sme-form-field-height", 3, "id", "title", "smeDisabled", "click"], [1, "sme-icon", "sme-icon-up"], [1, "sme-icon", "sme-icon-down"], ["type", "button", 1, "sme-button-trigger", "sme-position-flex-none", "sme-button-auto-width", "sme-form-field-height", 3, "title", "smeDisabled", "click"], [1, "sme-icon", "sme-icon-cancel", "sme-color-red"], ["type", "button", 1, "sme-button-trigger", "sme-button-auto-width", "sme-icon", "sme-icon-add", "sme-margin-bottom-xs", 3, "smeDisabled", "title", "click"]], template: function OrderedListFormFieldComponent_Template(rf, ctx) { if (rf & 1) {
|
|
446
|
+
} }, inputs: { showAddRemove: "showAddRemove", showMove: "showMove", showSelect: "showSelect", addButtonText: "addButtonText", searchable: "searchable", allowEmpty: "allowEmpty" }, features: [i0.ɵɵInheritDefinitionFeature], attrs: _c0, decls: 3, vars: 3, consts: [[3, "formField"], ["class", "sme-margin-bottom-xs sme-form-field-editor", 4, "ngIf"], [3, "alert"], [1, "sme-margin-bottom-xs", "sme-form-field-editor"], ["class", "sme-arrange-stack-h sme-margin-bottom-xs sme-form-field-width", 4, "ngFor", "ngForOf", "ngForTrackBy"], ["type", "button", "class", "sme-button-trigger sme-button-auto-width sme-icon sme-icon-add sme-margin-bottom-xs", "data-uta-id", "add-button", 3, "smeDisabled", "title", "click", 4, "ngIf"], [1, "sme-arrange-stack-h", "sme-margin-bottom-xs", "sme-form-field-width"], [1, "sme-screen-reader", 3, "id"], ["class", "sme-position-flex-auto", "role", "textbox", "tabindex", "0", 4, "ngIf"], [1, "sme-layout-relative", "sme-position-flex-auto"], ["type", "combobox", 3, "utaId", "hideHeader", "valueComparator", "ngModel", "label", "searchable", "ngModelChange", "customValidate", 4, "ngIf"], ["type", "button", "class", "sme-button-trigger sme-position-flex-none sme-button-auto-width sme-form-field-height", "data-uta-id", "promote-button", 3, "id", "title", "smeDisabled", "click", 4, "ngIf"], ["type", "button", "class", "sme-button-trigger sme-position-flex-none sme-button-auto-width sme-form-field-height", "data-uta-id", "demote-button", 3, "id", "title", "smeDisabled", "click", 4, "ngIf"], ["type", "button", "class", "sme-button-trigger sme-position-flex-none sme-button-auto-width sme-form-field-height", "data-uta-id", "remove-button", 3, "title", "smeDisabled", "click", 4, "ngIf"], ["role", "textbox", "tabindex", "0", 1, "sme-position-flex-auto"], ["type", "combobox", 3, "utaId", "hideHeader", "valueComparator", "ngModel", "label", "searchable", "ngModelChange", "customValidate"], [4, "ngFor", "ngForOf"], [3, "utaId", "value", "label", "disabled", 4, "ngIf"], [3, "utaId", "value", "label", "disabled"], ["type", "button", "data-uta-id", "promote-button", 1, "sme-button-trigger", "sme-position-flex-none", "sme-button-auto-width", "sme-form-field-height", 3, "id", "title", "smeDisabled", "click"], [1, "sme-icon", "sme-icon-up"], ["type", "button", "data-uta-id", "demote-button", 1, "sme-button-trigger", "sme-position-flex-none", "sme-button-auto-width", "sme-form-field-height", 3, "id", "title", "smeDisabled", "click"], [1, "sme-icon", "sme-icon-down"], ["type", "button", "data-uta-id", "remove-button", 1, "sme-button-trigger", "sme-position-flex-none", "sme-button-auto-width", "sme-form-field-height", 3, "title", "smeDisabled", "click"], [1, "sme-icon", "sme-icon-cancel", "sme-color-red"], ["type", "button", "data-uta-id", "add-button", 1, "sme-button-trigger", "sme-button-auto-width", "sme-icon", "sme-icon-add", "sme-margin-bottom-xs", 3, "smeDisabled", "title", "click"]], template: function OrderedListFormFieldComponent_Template(rf, ctx) { if (rf & 1) {
|
|
443
447
|
i0.ɵɵelementStart(0, "sme-form-field-layout", 0);
|
|
444
448
|
i0.ɵɵtemplate(1, OrderedListFormFieldComponent_div_1_Template, 3, 3, "div", 1);
|
|
445
449
|
i0.ɵɵelement(2, "sme-validation-alert", 2);
|
|
@@ -520,4 +524,4 @@ export { OrderedListFormFieldComponent };
|
|
|
520
524
|
type: HostBinding,
|
|
521
525
|
args: ['attr.aria-label']
|
|
522
526
|
}] }); })();
|
|
523
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXJlZC1saXN0LWZvcm0tZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vYW5ndWxhci9zcmMvY29udHJvbHMvZm9ybS9mb3JtLWZpZWxkL29yZGVyZWQtbGlzdC9vcmRlcmVkLWxpc3QtZm9ybS1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9hbmd1bGFyL3NyYy9jb250cm9scy9mb3JtL2Zvcm0tZmllbGQvb3JkZXJlZC1saXN0L29yZGVyZWQtbGlzdC1mb3JtLWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRWhGLE9BQU8sRUFBRSxHQUFHLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDeEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDckUsT0FBTyxFQUFFLHdDQUF3QyxFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDdkcsT0FBTyxFQUE2QyxtQkFBbUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRS9HLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLG9EQUFvRCxDQUFDOzs7Ozs7Ozs7Ozs7OztJQWdCOUYsZ0NBQStIOzs7O0lBQWpFLHFDQUFvQix5Q0FBQTs7O0lBRTlFLGdDQUNxRTs7OztJQUFqRSxxQ0FBb0IseUNBQUE7OztJQUY1Qiw2QkFBMEQ7SUFDdEQsaUhBQ3FFO0lBQ3pFLDBCQUFlOzs7SUFGa0IsZUFBOEQ7SUFBOUQsbUdBQThEOzs7O0lDbEJyRyw2QkFDK0Q7SUFBQSxZQUF3QztJQUFBLGlCQUFJOzs7O0lBQXpHLG1FQUErQztJQUFjLGVBQXdDO0lBQXhDLDJFQUF3Qzs7O0lBT2pHLGlDQUN3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S0FBSztZQWFLLFNBQVM7a0JBRG5CLFdBQVc7bUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5qZWN0b3IsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IERvbSwgRWxlbWVudFBvc2l0aW9uIH0gZnJvbSAnQG1pY3Jvc29mdC93aW5kb3dzLWFkbWluLWNlbnRlci1zZGsvY29yZS9kb20vZG9tJztcclxuaW1wb3J0IHsgU21lU2NoZW1hUHJvcGVydHkgfSBmcm9tICcuLi8uLi8uLi9zY2hlbWEvc2NoZW1hLWRlY29yYXRvcic7XHJcbmltcG9ydCB7IFNpbXBsZVByb3BlcnR5U2NoZW1hRmllbGRMb2FkZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9zY2hlbWEvc2NoZW1hLWZpZWxkLWhvc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2NoZW1hQXJyYXlQcm9wZXJ0eSwgU2NoZW1hT2JqZWN0UHJvcGVydHksIFNjaGVtYVByaW1pdGl2ZVR5cGUgfSBmcm9tICcuLi8uLi8uLi9zY2hlbWEvc2NoZW1hLW1vZGVscyc7XHJcbmltcG9ydCB7IFZhbGlkYXRpb25BbGVydHMgfSBmcm9tICcuLi8uLi92YWxpZGF0aW9uLWFsZXJ0L3ZhbGlkYXRpb24tYWxlcnQnO1xyXG5pbXBvcnQgeyBTbWVJbnRlcm5hbE9wdGlvbnNGb3JtRmllbGRDb21wb25lbnQgfSBmcm9tICcuLi9vcHRpb25zLWZvcm0tZmllbGQvb3B0aW9ucy1mb3JtLWZpZWxkLmNvbXBvbmVudCc7XHJcblxyXG4vLyB0c2xpbnQ6ZGlzYWJsZTptYXgtbGluZS1sZW5ndGhcclxuQENvbXBvbmVudCh7XHJcbiAgICB0ZW1wbGF0ZTogYFxyXG4gICAgPHNtZS1mb3JtLWZpZWxkICNmaWVsZCB0eXBlPVwib3JkZXJlZGxpc3RcIiBbKG5nTW9kZWwpXT1cImRhdGFcIiBbbmFtZV09XCJwcm9wZXJ0eVNjaGVtYS5uYW1lXCIgW3ZhbHVlQ29tcGFyYXRvcl09XCJ2YWx1ZUNvbXBhcmF0b3JcIlxyXG4gICAgICAgIFtsYWJlbF09XCJsb2NhbGl6ZShwcm9wZXJ0eVNjaGVtYS5sYWJlbClcIlxyXG4gICAgICAgIFtyZXF1aXJlZF09XCJwcm9wZXJ0eVNjaGVtYS5yZXF1aXJlZFwiIFtkZXNjcmlwdGlvbl09XCJsb2NhbGl6ZShwcm9wZXJ0eVNjaGVtYS5kZXNjcmlwdGlvbilcIlxyXG4gICAgICAgIFtyZWFkb25seV09XCIhIWV2YWxFeHByZXNzaW9uKHByb3BlcnR5U2NoZW1hLnJlYWRvbmx5Q29uZGl0aW9uKVwiXHJcbiAgICAgICAgW2Rpc2FibGVkXT1cIiEhKHByb3BlcnR5U2NoZW1hLmRpc2FibGVkQ29uZGl0aW9uICYmIGV2YWxFeHByZXNzaW9uKHByb3BlcnR5U2NoZW1hLmRpc2FibGVkQ29uZGl0aW9uKSlcIlxyXG4gICAgICAgIChjdXN0b21WYWxpZGF0ZSk9XCJyZXNvbHZlRnVuY3Rpb24ocHJvcGVydHlTY2hlbWEuY3VzdG9tVmFsaWRhdGlvbikoJGV2ZW50KVwiXHJcbiAgICAgICAgKGN1c3RvbUFzeW5jVmFsaWRhdGUpPVwicHJvcGVydHlTY2hlbWEuY3VzdG9tQXN5bmNWYWxpZGF0aW9uICYmIHJlc29sdmVGdW5jdGlvbihwcm9wZXJ0eVNjaGVtYS5jdXN0b21Bc3luY1ZhbGlkYXRpb24uaGFuZGxlcikoJGV2ZW50KVwiXHJcbiAgICAgICAgW3BlbmRpbmdNZXNzYWdlXT1cInByb3BlcnR5U2NoZW1hLmN1c3RvbUFzeW5jVmFsaWRhdGlvbiAmJiBsb2NhbGl6ZShwcm9wZXJ0eVNjaGVtYS5jdXN0b21Bc3luY1ZhbGlkYXRpb24ucGVuZGluZ01lc3NhZ2UpXCJcclxuICAgICAgICBbY3VzdG9tQXN5bmNWYWxpZGF0ZURpc2FibGVkXT1cInNob3VsZEN1c3RvbUFzeW5jVmFsaWRhdGlvbkJlRGlzYWJsZWQoKVwiXHJcbiAgICAgICAgW2N1c3RvbUFzeW5jVmFsaWRhdGVEZWJvdW5jZVRpbWVdPVwicHJvcGVydHlTY2hlbWEuY3VzdG9tQXN5bmNWYWxpZGF0aW9uICYmICtwcm9wZXJ0eVNjaGVtYS5jdXN0b21Bc3luY1ZhbGlkYXRpb24uaGFuZGxlclwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgICA8c21lLW9wdGlvbiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBwcm9wZXJ0eVNjaGVtYS5vcHRpb25zLml0ZW1zXCIgW3ZhbHVlXT1cIml0ZW0udmFsdWVcIiBbbGFiZWxdPVwibG9jYWxpemUoaXRlbS5sYWJlbClcIj48L3NtZS1vcHRpb24+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwcm9wZXJ0eVNjaGVtYS5vcHRpb25zLml0ZW1zQmluZGluZ1wiPlxyXG4gICAgICAgICAgICAgICAgPHNtZS1vcHRpb24gKm5nRm9yPVwibGV0IGl0ZW0gb2YgcmVzb2x2ZUNvbXBvbmVudE1lbWJlcihwcm9wZXJ0eVNjaGVtYS5vcHRpb25zLml0ZW1zQmluZGluZylcIlxyXG4gICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJpdGVtLnZhbHVlXCIgW2xhYmVsXT1cImxvY2FsaXplKGl0ZW0ubGFiZWwpXCI+PC9zbWUtb3B0aW9uPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvc21lLWZvcm0tZmllbGQ+XHJcbiAgICBgXHJcbn0pXHJcbi8vIHRzbGludDplbmFibGU6bWF4LWxpbmUtbGVuZ3RoXHJcbmV4cG9ydCBjbGFzcyBPcmRlcmVkTGlzdEZvcm1GaWVsZExvYWRlckNvbXBvbmVudCBleHRlbmRzIFNpbXBsZVByb3BlcnR5U2NoZW1hRmllbGRMb2FkZXJDb21wb25lbnQge1xyXG4gICAgLyoqXHJcbiAgICAgKiBDb21wYXJlIGFycmF5IGVxdWFsaXR5LlxyXG4gICAgICogQHBhcmFtIGEgY29tcGFyaXNvbiBhcnJheS5cclxuICAgICAqIEBwYXJhbSBiIGNvbXBhcmlzb24gYXJyYXkuXHJcbiAgICAgKiBAcmV0dXJucyB0cnVlIGlmIGVxdWFsLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgdmFsdWVDb21wYXJhdG9yOiBNc2Z0U21lLkZ1bmMyPEFycmF5PHN0cmluZz4sIEFycmF5PHN0cmluZz4sIGJvb2xlYW4+ID0gKGE6IEFycmF5PHN0cmluZz4sIGI6IEFycmF5PHN0cmluZz4pID0+IHtcclxuICAgICAgICBpZiAoTXNmdFNtZS5pc051bGxPclVuZGVmaW5lZChhKSAhPT0gTXNmdFNtZS5pc051bGxPclVuZGVmaW5lZChiKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBNc2Z0U21lLmlzTnVsbE9yVW5kZWZpbmVkKGEpIHx8IGEgPT09IGI7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBY2Nlc3NpYmxlIEltcGxlbWVudGF0aW9uIG9mIGEgZm9ybSBmaWVsZCBjb21ibyBib3guXHJcbiAqL1xyXG5AU21lU2NoZW1hUHJvcGVydHkoe1xyXG4gICAgdHlwZTogU2NoZW1hUHJpbWl0aXZlVHlwZS5BcnJheSxcclxuICAgIGZvcm1hdDogJ29yZGVyZWRsaXN0JyxcclxuICAgIGRlc2NyaXB0aW9uOiAnYSBvcmRlcmVkIGxpc3QgY29udHJvbCBiaW5kaW5nIHRvIHN0cmluZyBkYXRhLicsXHJcbiAgICBsb2FkZXJDb21wb25lbnQ6IE9yZGVyZWRMaXN0Rm9ybUZpZWxkTG9hZGVyQ29tcG9uZW50LFxyXG4gICAgb3B0aW9uUHJvcGVydGllczogW1xyXG4gICAgICAgIDxTY2hlbWFBcnJheVByb3BlcnR5PntcclxuICAgICAgICAgICAgdHlwZTogU2NoZW1hUHJpbWl0aXZlVHlwZS5BcnJheSxcclxuICAgICAgICAgICAgZm9ybWF0OiAnc2ltcGxlLWxpc3QnLFxyXG4gICAgICAgICAgICBuYW1lOiAnaXRlbXMnLFxyXG4gICAgICAgICAgICBsYWJlbDogJ3Jlc291cmNlczpzdHJpbmdzOk1zZnRTbWVTaGVsbC5Bbmd1bGFyLlNjaGVtYUZvcm0uRWRpdG9yLlByb3BlcnR5Rm9ybS5PcHRpb25zLlN0YXRpY09wdGlvbnMnLFxyXG4gICAgICAgICAgICBpdGVtOiA8U2NoZW1hT2JqZWN0UHJvcGVydHk+e1xyXG4gICAgICAgICAgICAgICAgdHlwZTogU2NoZW1hUHJpbWl0aXZlVHlwZS5PYmplY3QsXHJcbiAgICAgICAgICAgICAgICBmb3JtYXQ6ICdkZWZhdWx0JyxcclxuICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6IFtcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFNjaGVtYVByaW1pdGl2ZVR5cGUuU3RyaW5nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXQ6ICdyZXNvdXJjZS1zdHJpbmctcGlja2VyJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ2xhYmVsJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdyZXNvdXJjZXM6c3RyaW5nczpNc2Z0U21lU2hlbGwuQW5ndWxhci5TY2hlbWFGb3JtLkVkaXRvci5Qcm9wZXJ0eUZvcm0uT3B0aW9ucy5MYWJlbCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFNjaGVtYVByaW1pdGl2ZVR5cGUuU3RyaW5nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXQ6ICd0ZXh0Ym94JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ3ZhbHVlJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdyZXNvdXJjZXM6c3RyaW5nczpNc2Z0U21lU2hlbGwuQW5ndWxhci5TY2hlbWFGb3JtLkVkaXRvci5Qcm9wZXJ0eUZvcm0uT3B0aW9ucy5WYWx1ZScsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgICAgIG9wdGlvbnM6IHtcclxuICAgICAgICAgICAgICAgICAgICBjb2x1bW5Db3VudDogMVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHR5cGU6IFNjaGVtYVByaW1pdGl2ZVR5cGUuU3RyaW5nLFxyXG4gICAgICAgICAgICBmb3JtYXQ6ICd0ZXh0Ym94JyxcclxuICAgICAgICAgICAgbmFtZTogJ2l0ZW1zQmluZGluZycsXHJcbiAgICAgICAgICAgIGxhYmVsOiAncmVzb3VyY2VzOnN0cmluZ3M6TXNmdFNtZVNoZWxsLkFuZ3VsYXIuU2NoZW1hRm9ybS5FZGl0b3IuUHJvcGVydHlGb3JtLk9wdGlvbnMuRHluYW1pY09wdGlvbnMnXHJcbiAgICAgICAgfVxyXG4gICAgXVxyXG59KVxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnc21lLWZvcm0tZmllbGRbdHlwZT1cIm9yZGVyZWRsaXN0XCJdJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9vcmRlcmVkLWxpc3QtZm9ybS1maWVsZC5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIE9yZGVyZWRMaXN0Rm9ybUZpZWxkQ29tcG9uZW50PFRWYWx1ZT5cclxuICAgIGV4dGVuZHMgU21lSW50ZXJuYWxPcHRpb25zRm9ybUZpZWxkQ29tcG9uZW50PEFycmF5PFRWYWx1ZT4+XHJcbiAgICBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgc291cmNlIG5hbWUgdG8gdXNlIGZvciBsb2dnaW5nXHJcbiAgICAgKi9cclxuICAgIHByb3RlY3RlZCBnZXQgbG9nU291cmNlTmFtZSgpIHtcclxuICAgICAgICByZXR1cm4gJ09yZGVyZWRMaXN0Rm9ybUZpZWxkQ29tcG9uZW50JztcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFNpbmdsZSBzZWxlY3Rpb24gaXMgbm90IHN1cHBvcnRlZCBieSBvcmRlcmVkIGxpc3RcclxuICAgICAqL1xyXG4gICAgcHVibGljIHJlYWRvbmx5IG11bHRpcGxlID0gdHJ1ZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEluZGljYXRlcyBpZiB0aGUgYWRkIGFuZCByZW1vdmUgYWN0aW9ucyBzaG91bGQgYmUgc2hvd25cclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzaG93QWRkUmVtb3ZlOiBib29sZWFuO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5kaWNhdGVzIGlmIHRoZSBtb3ZlIGFjdGlvbnMgc2hvdWxkIGJlIHNob3duXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgc2hvd01vdmU6IGJvb2xlYW47XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmRpY2F0ZXMgaWYgdGhlIHNlbGVjdGlvbiBzaG91bGQgYmUgYWxsb3dlZFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNob3dTZWxlY3Q6IGJvb2xlYW47XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmRpY2F0ZXMgdGhlIGFkZCBidXR0b24gaW5uZXIgaHRtbFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGFkZEJ1dHRvblRleHQ6IHN0cmluZyA9IHRoaXMuc3RyaW5ncy5Nc2Z0U21lU2hlbGwuQW5ndWxhci5Db21tb24uYWRkO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5kaWNhdGVzIHRoZSBjb21ib2JveCBzZWFyY2hhYmxlXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgc2VhcmNoYWJsZSA9IGZhbHNlO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5kaWNhdGVzIGFsbG93IGVtcHR5IHNlbGVjdGlvblxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGFsbG93RW1wdHkgPSB0cnVlO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhpcyB3aWxsIG5vdCBhbGxvdyB1c2VyIHRvIHJlbW92ZSB0aGUgbGFzdCBpdGVtIGluIHRoZSBvcmRlciBsaXN0XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXQgYWxsb3dFbXB0eURpc2FibGVBY3Rpb25zKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiAhdGhpcy5hbGxvd0VtcHR5ICYmIHRoaXMudmFsdWUubGVuZ3RoID09PSAxO1xyXG4gICAgfVxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgYXJpYSBsYWJlbCBmb3IgdGhpcyBpbnN0YW5jZS5cclxuICAgICAqL1xyXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtbGFiZWwnKVxyXG4gICAgcHVibGljIGdldCBhcmlhTGFiZWwoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5nZXRNZXJnZWREZXNjcmlwdGlvbkxhYmVsKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUcmFja3Mgd2hlbiBuZXcgaXRlbSBpcyBhZGRlZCB0byBwbGFjZSBmb2N1cyBvbi5cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBuZXdJdGVtQWRkZWQgPSBmYWxzZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEluaXRpYWxpemVzIGEgbmV3IGluc3RhbmNlIG9mIHRoZSBPcmRlcmVkTGlzdEZvcm1GaWVsZENvbXBvbmVudFxyXG4gICAgICovXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBpbmplY3RvcjogSW5qZWN0b3JcclxuICAgICkge1xyXG4gICAgICAgIHN1cGVyKGluamVjdG9yKTtcclxuICAgICAgICB0aGlzLmluc3RydWN0aW9ucyA9IHRoaXMuc3RyaW5ncy5Nc2Z0U21lU2hlbGwuQW5ndWxhci5Gb3JtLk9yZGVyZWRMaXN0Lmluc3RydWN0aW9ucztcclxuICAgICAgICB0aGlzLnNob3dBZGRSZW1vdmUgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuc2hvd01vdmUgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuc2hvd1NlbGVjdCA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgbWV0aG9kIGNhbGxlZCBhZnRlciB0aGUgY29tcG9uZW50IGlzIGluaXRpYWxpemVkLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgICAgICB0aGlzLnNldEF0dHJpYnV0ZSgncm9sZScsICdncm91cCcpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ29tcGFyZSB2YWx1ZSBpbnNpZGUgb2YgYXJyYXkuXHJcbiAgICAgKiBAcGFyYW0gbGVmdCBUaGUgZGF0YSB0byBjb21wYXJlLlxyXG4gICAgICogQHBhcmFtIHJpZ2h0IFRoZSBkYXRhIHRvIGNvbXBhcmUuXHJcbiAgICAgKiBAcmV0dXJucyB0cnVlIGlmIGVxdWFsLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgYXJyYXlWYWx1ZUNvbXBhcmF0b3IobGVmdDogVFZhbHVlLCByaWdodDogVFZhbHVlKTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKE1zZnRTbWUuaXNOdWxsT3JVbmRlZmluZWQobGVmdCkgIT09IE1zZnRTbWUuaXNOdWxsT3JVbmRlZmluZWQocmlnaHQpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIE1zZnRTbWUuaXNOdWxsT3JVbmRlZmluZWQobGVmdCkgfHwgbGVmdCA9PT0gcmlnaHQ7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBEaXNwbGF5IHZhbHVlIGluc2lkZSBvZiBhcnJheS4gdGhpcy5nZXRWYWx1ZURpc3BsYXlTdHJpbmcoKSB1c2VzIFRNb2RlbCB3aGljaCBpcyBBcnJheTxUVmFsdWU+IHdyb25nbHkuXHJcbiAgICAgKiBSZS1jYXN0aW5nIHRvIDxhbnk+IG1ha2luZyBhIHdvcmthcm91bmQuXHJcbiAgICAgKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIHRvIGRpc3BsYXkuXHJcbiAgICAgKiBAcmV0dXJucyB0aGUgZGlzcGxheSBzdHJpbmcuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBhcnJheUdldFZhbHVlRGlzcGxheVN0cmluZyh2YWx1ZTogVFZhbHVlKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5nZXRWYWx1ZURpc3BsYXlTdHJpbmcoPGFueT52YWx1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBBZGRzIGFuIGl0ZW0gdG8gdGhlIGxpc3RcclxuICAgICAqL1xyXG4gICAgcHVibGljIGFkZExpc3RJdGVtKHZhbHVlOiBUVmFsdWUgPSBudWxsKTogYm9vbGVhbiB7XHJcbiAgICAgICAgLy8gZG8gbm90IGFkZCBhbiBpdGVtIGlmIHdlIGFscmVhZHkgaGF2ZSBhbiBvcHRpb24gZm9yIGVhY2ggb3B0aW9uIG9yIHRoZSB2YWx1ZSBpcyBhbHJlYWR5IHNlbGVjdGVkXHJcbiAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KHRoaXMudmFsdWUpIHx8IHRoaXMudmFsdWUubGVuZ3RoID49IHRoaXMub3B0aW9ucy5sZW5ndGggfHwgdGhpcy52YWx1ZS5zb21lKHYgPT4gdiA9PT0gdmFsdWUpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMudmFsdWUgPSBbLi4udGhpcy52YWx1ZSwgdmFsdWVdO1xyXG4gICAgICAgIHRoaXMubmV3SXRlbUFkZGVkID0gdHJ1ZTtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIERlbW90ZXMgYW4gaXRlbSBhdCB0aGUgZ2l2ZW4gaW5kZXggYnkgMVxyXG4gICAgICogQHBhcmFtIGluZGV4IFRoZSBpbmRleCBvZiB0aGUgaXRlbSBiZWluZyBkZW1vdGVkLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZGVtb3RlSXRlbUF0KGluZGV4OiBudW1iZXIpOiB2b2lkIHtcclxuICAgICAgICBpZiAoaW5kZXggIT09IHRoaXMudmFsdWUubGVuZ3RoIC0gMSkge1xyXG4gICAgICAgICAgICB0aGlzLm1vdmVJdGVtKGluZGV4LCBpbmRleCArIDEpO1xyXG4gICAgICAgICAgICBjb25zdCBmb2N1c2FibGUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChgJHt0aGlzLmlkQmFnLmRlbW90ZX0ke2luZGV4ICsgMX1gKTtcclxuICAgICAgICAgICAgaWYgKGZvY3VzYWJsZSkge1xyXG4gICAgICAgICAgICAgICAgZm9jdXNhYmxlLmZvY3VzKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBQcm9tb3RlcyBhbiBpdGVtIGF0IHRoZSBnaXZlbiBpbmRleCBieSAxXHJcbiAgICAgKiBAcGFyYW0gaW5kZXggVGhlIGluZGV4IG9mIHRoZSBpdGVtIGJlaW5nIHByb21vdGVkLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgcHJvbW90ZUl0ZW1BdChpbmRleDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKGluZGV4ICE9PSAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMubW92ZUl0ZW0oaW5kZXgsIGluZGV4IC0gMSk7XHJcbiAgICAgICAgICAgIGNvbnN0IGZvY3VzYWJsZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGAke3RoaXMuaWRCYWcucHJvbW90ZX0ke2luZGV4IC0gMX1gKTtcclxuICAgICAgICAgICAgaWYgKGZvY3VzYWJsZSkge1xyXG4gICAgICAgICAgICAgICAgZm9jdXNhYmxlLmZvY3VzKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXR1cm5zIHRoZSBpbmRleCB0byB0cmFjayBpdGVtcyBpbiB0aGUgYXJyYXkuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyB0cmFja0J5SW5kZXgoaW5kZXgsIGl0ZW0pIHsgcmV0dXJuIGluZGV4OyB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZW1vdmVzIGFuIGl0ZW0gYXQgdGhlIGdpdmVuIGluZGV4XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyByZW1vdmVJdGVtQXQoaW5kZXg6IG51bWJlcik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMudmFsdWUuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgICAgICB0aGlzLnRyaWdnZXJWYWx1ZUNoYW5nZSgpO1xyXG5cclxuICAgICAgICBjb25zdCBmaXJzdEZvY3VzYWJsZSA9IERvbS5nZXRGaXJzdEZvY3VzYWJsZURlc2NlbmRlbnQodGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50KTtcclxuICAgICAgICBpZiAoZmlyc3RGb2N1c2FibGUpIHtcclxuICAgICAgICAgICAgZmlyc3RGb2N1c2FibGUuZm9jdXMoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBNb3ZlcyBhbiBlbGVtZW50IG9mIGFuIGFycmF5IGZyb20gYSBzdGFydGluZyBpbmRleCB0byBhIGRlc3RpbmF0aW9uIGluZGV4LlxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSBhcnJheSBUaGUgYXJyYXkgY29udGFpbmluZyB0aGUgZWxlbWVudCB0byBtb3ZlLlxyXG4gICAgICogQHBhcmFtIHN0YXJ0aW5nSW5kZXggVGhlIGluaXRpYWwgaW5kZXggb2YgdGhlIGVsZW1lbnQgdG8gbW92ZS5cclxuICAgICAqIEBwYXJhbSBkZXN0aW5hdGlvbkluZGV4IFRoZSBkZXN0aW5hdGlvbiBpbmRleCBvZiB0aGUgbW92ZWQgZWxlbWVudC5cclxuICAgICAqIEByZXR1cm5zIFRoZSBvcmlnaW5hbCBhcnJheSB3aXRoIHRoZSBzcGVjaWZpZWQgZWxlbWVudCBtb3ZlZC5cclxuICAgICAqL1xyXG4gICAgcHVibGljIG1vdmVJdGVtKHN0YXJ0aW5nSW5kZXg6IG51bWJlciwgZGVzdGluYXRpb25JbmRleDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgdmFsdWUgPSBbLi4udGhpcy52YWx1ZV07XHJcbiAgICAgICAgY29uc3QgdGFyZ2V0RWxlbWVudCA9IHZhbHVlW3N0YXJ0aW5nSW5kZXhdO1xyXG5cclxuICAgICAgICBpZiAoc3RhcnRpbmdJbmRleCA8IGRlc3RpbmF0aW9uSW5kZXgpIHtcclxuICAgICAgICAgICAgdmFsdWUuc3BsaWNlKGRlc3RpbmF0aW9uSW5kZXggKyAxLCAwLCB0YXJnZXRFbGVtZW50KTtcclxuICAgICAgICAgICAgdmFsdWUuc3BsaWNlKHN0YXJ0aW5nSW5kZXgsIDEpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHZhbHVlLnNwbGljZShzdGFydGluZ0luZGV4LCAxKTtcclxuICAgICAgICAgICAgdmFsdWUuc3BsaWNlKGRlc3RpbmF0aW9uSW5kZXgsIDAsIHRhcmdldEVsZW1lbnQpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUGxhY2VzIGZvY3VzIG9uIG5ldyBpdGVtIHdoZW4gaXQgaXMgYWRkZWQuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBuZXdJdGVtQ2hlY2soKSB7XHJcbiAgICAgICAgaWYgKHRoaXMubmV3SXRlbUFkZGVkKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGZvY3VzYWJsZSA9IERvbS5maW5kQ2hpbGRFbGVtZW50REZTKHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudCxcclxuICAgICAgICAgICAgICAgIChlbGVtZW50OiBIVE1MRWxlbWVudCkgPT4gZWxlbWVudC50YWdOYW1lLnRvVXBwZXJDYXNlKCkgPT09ICdJTlBVVCcsXHJcbiAgICAgICAgICAgICAgICBFbGVtZW50UG9zaXRpb24uTGFzdCk7XHJcbiAgICAgICAgICAgIGlmIChmb2N1c2FibGUpIHtcclxuICAgICAgICAgICAgICAgIGZvY3VzYWJsZS5mb2N1cygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMubmV3SXRlbUFkZGVkID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIG1ldGhvZCBjYWxsZWQgd2hlbiBhIDxzZWxlY3Q+IGVsZW1lbnQncyB2YWx1ZSBjaGFuZ2VzLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgdHJpZ2dlclZhbHVlQ2hhbmdlKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMudmFsdWUgPSBbLi4udGhpcy52YWx1ZV07XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDcmVhdGVzIHRoZSBpZEJhZyB1c2VkIGJ5IHRoaXMgY29tcG9uZW50IHRvIHN0b3JlIHVuaXF1ZSBlbGVtZW50IGlkcy5cclxuICAgICAqIGlkIHZhbHVlcyB3aWxsIGJlIGFzc2lnbmVkIGJlIHRoZSBAc2VlIEJhc2VDb21wb25lbnQgc3VwZXIgY2xhc3MuXHJcbiAgICAgKi9cclxuICAgIHByb3RlY3RlZCBjcmVhdGVJZEJhZygpOiBNc2Z0U21lLlN0cmluZ01hcDxzdHJpbmc+IHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBkZXRhaWxzU3BhbjogJycsXHJcbiAgICAgICAgICAgIHByb21vdGU6ICcnLFxyXG4gICAgICAgICAgICBkZW1vdGU6ICcnXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFBlcmZvcm1zIHZhbGlkYXRpb24gdGhhdCBpcyBpbnRlcm5hbCB0byB0aGlzIGNvbnRyb2wuXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIGMgVGhlIGZvcm0gY29udHJvbCBhdHRhY2hlZCB0byB0aGlzIGluc3RhbmNlLlxyXG4gICAgICogQHJldHVybnMgQW55IHZhbGlkYXRpb24gYWxlcnRzIGZvciB0aGlzIGNvbnRyb2wuXHJcbiAgICAgKi9cclxuICAgIHByb3RlY3RlZCB2YWxpZGF0ZShjOiBGb3JtQ29udHJvbCk6IFZhbGlkYXRpb25BbGVydHMge1xyXG4gICAgICAgIGlmICh0aGlzLnJlcXVpcmVkICYmIChNc2Z0U21lLmlzTnVsbE9yVW5kZWZpbmVkKHRoaXMudmFsdWUpIHx8IHRoaXMudmFsdWUubGVuZ3RoID09PSAwKSkge1xyXG4gICAgICAgICAgICByZXR1cm4geyByZXF1aXJlZDogdHJ1ZSB9O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKCFNc2Z0U21lLmlzTnVsbE9yVW5kZWZpbmVkKHRoaXMudmFsdWUpICYmIHRoaXMudmFsdWUuc29tZSgoeCkgPT4gTXNmdFNtZS5pc051bGxPclVuZGVmaW5lZCh4KSkpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIG51bGxWYWx1ZToge1xyXG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IHRoaXMuc3RyaW5ncy5Nc2Z0U21lU2hlbGwuQW5ndWxhci5Gb3JtLk9yZGVyZWRMaXN0LmVtcHR5VmFsdWVzXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gc3VwZXIudmFsaWRhdGUoYyk7XHJcbiAgICB9XHJcbn1cclxuIiwiPHNtZS1mb3JtLWZpZWxkLWxheW91dCBbZm9ybUZpZWxkXT1cInRoaXNcIj5cclxuICA8ZGl2ICpuZ0lmPVwidmFsdWVcIiBjbGFzcz1cInNtZS1tYXJnaW4tYm90dG9tLXhzIHNtZS1mb3JtLWZpZWxkLWVkaXRvclwiPlxyXG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgaXRlbSBvZiB2YWx1ZTsgdHJhY2tCeTogdHJhY2tCeUluZGV4OyBsZXQgaSA9IGluZGV4XCJcclxuICAgICAgY2xhc3M9XCJzbWUtYXJyYW5nZS1zdGFjay1oIHNtZS1tYXJnaW4tYm90dG9tLXhzIHNtZS1mb3JtLWZpZWxkLXdpZHRoXCI+XHJcbiAgICAgIDxsYWJlbCBjbGFzcz1cInNtZS1zY3JlZW4tcmVhZGVyXCIgW2lkXT1cImlkQmFnLmRldGFpbHNTcGFuICsgaVwiPlxyXG4gICAgICAgIHt7c3RyaW5ncy5Nc2Z0U21lU2hlbGwuQW5ndWxhci5Gb3JtLk9yZGVyZWRMaXN0Lml0ZW1BcmlhRGVzY3JpcHRpb24uZm9ybWF0KGkgKyAxLCB2YWx1ZS5sZW5ndGgpfX1cclxuICAgICAgPC9sYWJlbD5cclxuICAgICAgPHAgKm5nSWY9XCIhc2hvd1NlbGVjdFwiIGNsYXNzPVwic21lLXBvc2l0aW9uLWZsZXgtYXV0b1wiIHJvbGU9XCJ0ZXh0Ym94XCJcclxuICAgICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImlkQmFnLmRldGFpbHNTcGFuICsgaVwiIHRhYmluZGV4PVwiMFwiPnt7YXJyYXlHZXRWYWx1ZURpc3BsYXlTdHJpbmcodmFsdWVbaV0pfX08L3A+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwic21lLWxheW91dC1yZWxhdGl2ZSBzbWUtcG9zaXRpb24tZmxleC1hdXRvXCIgW2NsYXNzLnNtZS1tYXJnaW4tcmlnaHQteHNdPVwic2hvd01vdmUgfHwgc2hvd0FkZFJlbW92ZVwiPlxyXG4gICAgICAgIDxzbWUtZm9ybS1maWVsZCAqbmdJZj1cInNob3dTZWxlY3RcIiB0eXBlPVwiY29tYm9ib3hcIiBbaGlkZUhlYWRlcl09XCJ0cnVlXCIgW3ZhbHVlQ29tcGFyYXRvcl09XCJ2YWx1ZUNvbXBhcmF0b3JcIlxyXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVtpXVwiIChuZ01vZGVsQ2hhbmdlKT1cInRyaWdnZXJWYWx1ZUNoYW5nZSgpXCIgKGN1c3RvbVZhbGlkYXRlKT1cIm5ld0l0ZW1DaGVjaygpXCJcclxuICAgICAgICAgIFtsYWJlbF09XCJsYWJlbFwiIFtzZWFyY2hhYmxlXT1cInNlYXJjaGFibGVcIj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBvcHRpb25zXCI+XHJcbiAgICAgICAgICAgIDxzbWUtb3B0aW9uICpuZ0lmPVwiIW9wdGlvbi5pc1NlbGVjdGVkIHx8IGFycmF5VmFsdWVDb21wYXJhdG9yKG9wdGlvbi52YWx1ZSwgdmFsdWVbaV0pXCIgW3ZhbHVlXT1cIm9wdGlvbi52YWx1ZVwiXHJcbiAgICAgICAgICAgICAgW2xhYmVsXT1cIm9wdGlvbi50b1N0cmluZygpXCIgW2Rpc2FibGVkXT1cIm9wdGlvbi5kaXNhYmxlZFwiPjwvc21lLW9wdGlvbj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvc21lLWZvcm0tZmllbGQ+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8YnV0dG9uICpuZ0lmPVwic2hvd01vdmVcIiBbaWRdPVwiaWRCYWcucHJvbW90ZSArIGlcIiB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICBjbGFzcz1cInNtZS1idXR0b24tdHJpZ2dlciBzbWUtcG9zaXRpb24tZmxleC1ub25lIHNtZS1idXR0b24tYXV0by13aWR0aCBzbWUtZm9ybS1maWVsZC1oZWlnaHRcIlxyXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwic3RyaW5ncy5Nc2Z0U21lU2hlbGwuQW5ndWxhci5Gb3JtLk9yZGVyZWRMaXN0LnByb21vdGVCdXR0b25BcmlhTGFiZWxcIlxyXG4gICAgICAgIFt0aXRsZV09XCJzdHJpbmdzLk1zZnRTbWVTaGVsbC5Bbmd1bGFyLkZvcm0uT3JkZXJlZExpc3QucHJvbW90ZUJ1dHRvblRvb2x0aXBcIiAoY2xpY2spPVwicHJvbW90ZUl0ZW1BdChpKVwiXHJcbiAgICAgICAgW3NtZURpc2FibGVkXT1cImxvYWRpbmdPckRpc2FibGVkIHx8IGFsbG93RW1wdHlEaXNhYmxlQWN0aW9uc1wiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwic21lLWljb24gc21lLWljb24tdXBcIj48L3NwYW4+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8YnV0dG9uICpuZ0lmPVwic2hvd01vdmVcIiBbaWRdPVwiaWRCYWcuZGVtb3RlICsgaVwiIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgIGNsYXNzPVwic21lLWJ1dHRvbi10cmlnZ2VyIHNtZS1wb3NpdGlvbi1mbGV4LW5vbmUgc21lLWJ1dHRvbi1hdXRvLXdpZHRoIHNtZS1mb3JtLWZpZWxkLWhlaWdodFwiXHJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJzdHJpbmdzLk1zZnRTbWVTaGVsbC5Bbmd1bGFyLkZvcm0uT3JkZXJlZExpc3QuZGVtb3RlQnV0dG9uQXJpYUxhYmVsXCJcclxuICAgICAgICBbdGl0bGVdPVwic3RyaW5ncy5Nc2Z0U21lU2hlbGwuQW5ndWxhci5Gb3JtLk9yZGVyZWRMaXN0LmRlbW90ZUJ1dHRvblRvb2x0aXBcIiAoY2xpY2spPVwiZGVtb3RlSXRlbUF0KGkpXCJcclxuICAgICAgICBbc21lRGlzYWJsZWRdPVwibG9hZGluZ09yRGlzYWJsZWQgfHwgYWxsb3dFbXB0eURpc2FibGVBY3Rpb25zXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzbWUtaWNvbiBzbWUtaWNvbi1kb3duXCI+PC9zcGFuPlxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgICAgPGJ1dHRvbiAqbmdJZj1cInNob3dBZGRSZW1vdmVcIiB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICBjbGFzcz1cInNtZS1idXR0b24tdHJpZ2dlciBzbWUtcG9zaXRpb24tZmxleC1ub25lIHNtZS1idXR0b24tYXV0by13aWR0aCBzbWUtZm9ybS1maWVsZC1oZWlnaHRcIlxyXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwic3RyaW5ncy5Nc2Z0U21lU2hlbGwuQW5ndWxhci5Gb3JtLk9yZGVyZWRMaXN0LnJlbW92ZUJ1dHRvbkFyaWFMYWJlbFwiXHJcbiAgICAgICAgW3RpdGxlXT1cInN0cmluZ3MuTXNmdFNtZVNoZWxsLkFuZ3VsYXIuRm9ybS5PcmRlcmVkTGlzdC5yZW1vdmVCdXR0b25Ub29sdGlwXCIgKGNsaWNrKT1cInJlbW92ZUl0ZW1BdChpKVwiXHJcbiAgICAgICAgW3NtZURpc2FibGVkXT1cImxvYWRpbmdPckRpc2FibGVkIHx8IGFsbG93RW1wdHlEaXNhYmxlQWN0aW9uc1wiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwic21lLWljb24gc21lLWljb24tY2FuY2VsIHNtZS1jb2xvci1yZWRcIj48L3NwYW4+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8YnV0dG9uICpuZ0lmPVwic2hvd0FkZFJlbW92ZVwiIHR5cGU9XCJidXR0b25cIiBbc21lRGlzYWJsZWRdPVwibG9hZGluZ09yRGlzYWJsZWQgfHwgdmFsdWUubGVuZ3RoID09PSBvcHRpb25zLmxlbmd0aFwiXHJcbiAgICAgIGNsYXNzPVwic21lLWJ1dHRvbi10cmlnZ2VyIHNtZS1idXR0b24tYXV0by13aWR0aCBzbWUtaWNvbiBzbWUtaWNvbi1hZGQgc21lLW1hcmdpbi1ib3R0b20teHNcIlxyXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInN0cmluZ3MuTXNmdFNtZVNoZWxsLkFuZ3VsYXIuRm9ybS5PcmRlcmVkTGlzdC5hZGRCdXR0b25BcmlhTGFiZWxcIlxyXG4gICAgICBbdGl0bGVdPVwic3RyaW5ncy5Nc2Z0U21lU2hlbGwuQW5ndWxhci5Gb3JtLk9yZGVyZWRMaXN0LmFkZEJ1dHRvblRvb2x0aXBcIiAoY2xpY2spPVwiYWRkTGlzdEl0ZW0oKVwiPlxyXG4gICAgICB7e2FkZEJ1dHRvblRleHR9fVxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxzbWUtdmFsaWRhdGlvbi1hbGVydCBbYWxlcnRdPVwiYWxlcnRcIj48L3NtZS12YWxpZGF0aW9uLWFsZXJ0PlxyXG48L3NtZS1mb3JtLWZpZWxkLWxheW91dD4iXX0=
|
|
527
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXJlZC1saXN0LWZvcm0tZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vYW5ndWxhci9zcmMvY29udHJvbHMvZm9ybS9mb3JtLWZpZWxkL29yZGVyZWQtbGlzdC9vcmRlcmVkLWxpc3QtZm9ybS1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9hbmd1bGFyL3NyYy9jb250cm9scy9mb3JtL2Zvcm0tZmllbGQvb3JkZXJlZC1saXN0L29yZGVyZWQtbGlzdC1mb3JtLWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRWhGLE9BQU8sRUFBRSxHQUFHLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDeEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDckUsT0FBTyxFQUFFLHdDQUF3QyxFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDdkcsT0FBTyxFQUE2QyxtQkFBbUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRS9HLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLG9EQUFvRCxDQUFDOzs7Ozs7Ozs7Ozs7OztJQWdCOUYsZ0NBQStIOzs7O0lBQWpFLHFDQUFvQix5Q0FBQTs7O0lBRTlFLGdDQUNxRTs7OztJQUFqRSxxQ0FBb0IseUNBQUE7OztJQUY1Qiw2QkFBMEQ7SUFDdEQsaUhBQ3FFO0lBQ3pFLDBCQUFlOzs7SUFGa0IsZUFBOEQ7SUFBOUQsbUdBQThEOzs7O0lDakJyRyw2QkFDK0Q7SUFBQSxZQUF3QztJQUFBLGlCQUFJOzs7O0lBQXpHLG1FQUErQztJQUFjLGVBQXdDO0lBQXhDLDJFQUF3Qzs7O0lBUWpHLGlDQUdh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QixLQUFLO1lBT0MsVUFBVTtrQkFEaEIsS0FBSztZQWFLLFNBQVM7a0JBRG5CLFdBQVc7bUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5qZWN0b3IsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IERvbSwgRWxlbWVudFBvc2l0aW9uIH0gZnJvbSAnQG1pY3Jvc29mdC93aW5kb3dzLWFkbWluLWNlbnRlci1zZGsvY29yZS9kb20vZG9tJztcclxuaW1wb3J0IHsgU21lU2NoZW1hUHJvcGVydHkgfSBmcm9tICcuLi8uLi8uLi9zY2hlbWEvc2NoZW1hLWRlY29yYXRvcic7XHJcbmltcG9ydCB7IFNpbXBsZVByb3BlcnR5U2NoZW1hRmllbGRMb2FkZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9zY2hlbWEvc2NoZW1hLWZpZWxkLWhvc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2NoZW1hQXJyYXlQcm9wZXJ0eSwgU2NoZW1hT2JqZWN0UHJvcGVydHksIFNjaGVtYVByaW1pdGl2ZVR5cGUgfSBmcm9tICcuLi8uLi8uLi9zY2hlbWEvc2NoZW1hLW1vZGVscyc7XHJcbmltcG9ydCB7IFZhbGlkYXRpb25BbGVydHMgfSBmcm9tICcuLi8uLi92YWxpZGF0aW9uLWFsZXJ0L3ZhbGlkYXRpb24tYWxlcnQnO1xyXG5pbXBvcnQgeyBTbWVJbnRlcm5hbE9wdGlvbnNGb3JtRmllbGRDb21wb25lbnQgfSBmcm9tICcuLi9vcHRpb25zLWZvcm0tZmllbGQvb3B0aW9ucy1mb3JtLWZpZWxkLmNvbXBvbmVudCc7XHJcblxyXG4vLyB0c2xpbnQ6ZGlzYWJsZTptYXgtbGluZS1sZW5ndGhcclxuQENvbXBvbmVudCh7XHJcbiAgICB0ZW1wbGF0ZTogYFxyXG4gICAgPHNtZS1mb3JtLWZpZWxkICNmaWVsZCB0eXBlPVwib3JkZXJlZGxpc3RcIiBbKG5nTW9kZWwpXT1cImRhdGFcIiBbbmFtZV09XCJwcm9wZXJ0eVNjaGVtYS5uYW1lXCIgW3ZhbHVlQ29tcGFyYXRvcl09XCJ2YWx1ZUNvbXBhcmF0b3JcIlxyXG4gICAgICAgIFtsYWJlbF09XCJsb2NhbGl6ZShwcm9wZXJ0eVNjaGVtYS5sYWJlbClcIlxyXG4gICAgICAgIFtyZXF1aXJlZF09XCJwcm9wZXJ0eVNjaGVtYS5yZXF1aXJlZFwiIFtkZXNjcmlwdGlvbl09XCJsb2NhbGl6ZShwcm9wZXJ0eVNjaGVtYS5kZXNjcmlwdGlvbilcIlxyXG4gICAgICAgIFtyZWFkb25seV09XCIhIWV2YWxFeHByZXNzaW9uKHByb3BlcnR5U2NoZW1hLnJlYWRvbmx5Q29uZGl0aW9uKVwiXHJcbiAgICAgICAgW2Rpc2FibGVkXT1cIiEhKHByb3BlcnR5U2NoZW1hLmRpc2FibGVkQ29uZGl0aW9uICYmIGV2YWxFeHByZXNzaW9uKHByb3BlcnR5U2NoZW1hLmRpc2FibGVkQ29uZGl0aW9uKSlcIlxyXG4gICAgICAgIChjdXN0b21WYWxpZGF0ZSk9XCJyZXNvbHZlRnVuY3Rpb24ocHJvcGVydHlTY2hlbWEuY3VzdG9tVmFsaWRhdGlvbikoJGV2ZW50KVwiXHJcbiAgICAgICAgKGN1c3RvbUFzeW5jVmFsaWRhdGUpPVwicHJvcGVydHlTY2hlbWEuY3VzdG9tQXN5bmNWYWxpZGF0aW9uICYmIHJlc29sdmVGdW5jdGlvbihwcm9wZXJ0eVNjaGVtYS5jdXN0b21Bc3luY1ZhbGlkYXRpb24uaGFuZGxlcikoJGV2ZW50KVwiXHJcbiAgICAgICAgW3BlbmRpbmdNZXNzYWdlXT1cInByb3BlcnR5U2NoZW1hLmN1c3RvbUFzeW5jVmFsaWRhdGlvbiAmJiBsb2NhbGl6ZShwcm9wZXJ0eVNjaGVtYS5jdXN0b21Bc3luY1ZhbGlkYXRpb24ucGVuZGluZ01lc3NhZ2UpXCJcclxuICAgICAgICBbY3VzdG9tQXN5bmNWYWxpZGF0ZURpc2FibGVkXT1cInNob3VsZEN1c3RvbUFzeW5jVmFsaWRhdGlvbkJlRGlzYWJsZWQoKVwiXHJcbiAgICAgICAgW2N1c3RvbUFzeW5jVmFsaWRhdGVEZWJvdW5jZVRpbWVdPVwicHJvcGVydHlTY2hlbWEuY3VzdG9tQXN5bmNWYWxpZGF0aW9uICYmICtwcm9wZXJ0eVNjaGVtYS5jdXN0b21Bc3luY1ZhbGlkYXRpb24uaGFuZGxlclwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgICA8c21lLW9wdGlvbiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBwcm9wZXJ0eVNjaGVtYS5vcHRpb25zLml0ZW1zXCIgW3ZhbHVlXT1cIml0ZW0udmFsdWVcIiBbbGFiZWxdPVwibG9jYWxpemUoaXRlbS5sYWJlbClcIj48L3NtZS1vcHRpb24+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwcm9wZXJ0eVNjaGVtYS5vcHRpb25zLml0ZW1zQmluZGluZ1wiPlxyXG4gICAgICAgICAgICAgICAgPHNtZS1vcHRpb24gKm5nRm9yPVwibGV0IGl0ZW0gb2YgcmVzb2x2ZUNvbXBvbmVudE1lbWJlcihwcm9wZXJ0eVNjaGVtYS5vcHRpb25zLml0ZW1zQmluZGluZylcIlxyXG4gICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJpdGVtLnZhbHVlXCIgW2xhYmVsXT1cImxvY2FsaXplKGl0ZW0ubGFiZWwpXCI+PC9zbWUtb3B0aW9uPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvc21lLWZvcm0tZmllbGQ+XHJcbiAgICBgXHJcbn0pXHJcbi8vIHRzbGludDplbmFibGU6bWF4LWxpbmUtbGVuZ3RoXHJcbmV4cG9ydCBjbGFzcyBPcmRlcmVkTGlzdEZvcm1GaWVsZExvYWRlckNvbXBvbmVudCBleHRlbmRzIFNpbXBsZVByb3BlcnR5U2NoZW1hRmllbGRMb2FkZXJDb21wb25lbnQge1xyXG4gICAgLyoqXHJcbiAgICAgKiBDb21wYXJlIGFycmF5IGVxdWFsaXR5LlxyXG4gICAgICogQHBhcmFtIGEgY29tcGFyaXNvbiBhcnJheS5cclxuICAgICAqIEBwYXJhbSBiIGNvbXBhcmlzb24gYXJyYXkuXHJcbiAgICAgKiBAcmV0dXJucyB0cnVlIGlmIGVxdWFsLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgdmFsdWVDb21wYXJhdG9yOiBNc2Z0U21lLkZ1bmMyPEFycmF5PHN0cmluZz4sIEFycmF5PHN0cmluZz4sIGJvb2xlYW4+ID0gKGE6IEFycmF5PHN0cmluZz4sIGI6IEFycmF5PHN0cmluZz4pID0+IHtcclxuICAgICAgICBpZiAoTXNmdFNtZS5pc051bGxPclVuZGVmaW5lZChhKSAhPT0gTXNmdFNtZS5pc051bGxPclVuZGVmaW5lZChiKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBNc2Z0U21lLmlzTnVsbE9yVW5kZWZpbmVkKGEpIHx8IGEgPT09IGI7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBY2Nlc3NpYmxlIEltcGxlbWVudGF0aW9uIG9mIGEgZm9ybSBmaWVsZCBjb21ibyBib3guXHJcbiAqL1xyXG5AU21lU2NoZW1hUHJvcGVydHkoe1xyXG4gICAgdHlwZTogU2NoZW1hUHJpbWl0aXZlVHlwZS5BcnJheSxcclxuICAgIGZvcm1hdDogJ29yZGVyZWRsaXN0JyxcclxuICAgIGRlc2NyaXB0aW9uOiAnYSBvcmRlcmVkIGxpc3QgY29udHJvbCBiaW5kaW5nIHRvIHN0cmluZyBkYXRhLicsXHJcbiAgICBsb2FkZXJDb21wb25lbnQ6IE9yZGVyZWRMaXN0Rm9ybUZpZWxkTG9hZGVyQ29tcG9uZW50LFxyXG4gICAgb3B0aW9uUHJvcGVydGllczogW1xyXG4gICAgICAgIDxTY2hlbWFBcnJheVByb3BlcnR5PntcclxuICAgICAgICAgICAgdHlwZTogU2NoZW1hUHJpbWl0aXZlVHlwZS5BcnJheSxcclxuICAgICAgICAgICAgZm9ybWF0OiAnc2ltcGxlLWxpc3QnLFxyXG4gICAgICAgICAgICBuYW1lOiAnaXRlbXMnLFxyXG4gICAgICAgICAgICBsYWJlbDogJ3Jlc291cmNlczpzdHJpbmdzOk1zZnRTbWVTaGVsbC5Bbmd1bGFyLlNjaGVtYUZvcm0uRWRpdG9yLlByb3BlcnR5Rm9ybS5PcHRpb25zLlN0YXRpY09wdGlvbnMnLFxyXG4gICAgICAgICAgICBpdGVtOiA8U2NoZW1hT2JqZWN0UHJvcGVydHk+e1xyXG4gICAgICAgICAgICAgICAgdHlwZTogU2NoZW1hUHJpbWl0aXZlVHlwZS5PYmplY3QsXHJcbiAgICAgICAgICAgICAgICBmb3JtYXQ6ICdkZWZhdWx0JyxcclxuICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6IFtcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFNjaGVtYVByaW1pdGl2ZVR5cGUuU3RyaW5nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXQ6ICdyZXNvdXJjZS1zdHJpbmctcGlja2VyJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ2xhYmVsJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdyZXNvdXJjZXM6c3RyaW5nczpNc2Z0U21lU2hlbGwuQW5ndWxhci5TY2hlbWFGb3JtLkVkaXRvci5Qcm9wZXJ0eUZvcm0uT3B0aW9ucy5MYWJlbCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFNjaGVtYVByaW1pdGl2ZVR5cGUuU3RyaW5nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXQ6ICd0ZXh0Ym94JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ3ZhbHVlJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdyZXNvdXJjZXM6c3RyaW5nczpNc2Z0U21lU2hlbGwuQW5ndWxhci5TY2hlbWFGb3JtLkVkaXRvci5Qcm9wZXJ0eUZvcm0uT3B0aW9ucy5WYWx1ZScsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgICAgIG9wdGlvbnM6IHtcclxuICAgICAgICAgICAgICAgICAgICBjb2x1bW5Db3VudDogMVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHR5cGU6IFNjaGVtYVByaW1pdGl2ZVR5cGUuU3RyaW5nLFxyXG4gICAgICAgICAgICBmb3JtYXQ6ICd0ZXh0Ym94JyxcclxuICAgICAgICAgICAgbmFtZTogJ2l0ZW1zQmluZGluZycsXHJcbiAgICAgICAgICAgIGxhYmVsOiAncmVzb3VyY2VzOnN0cmluZ3M6TXNmdFNtZVNoZWxsLkFuZ3VsYXIuU2NoZW1hRm9ybS5FZGl0b3IuUHJvcGVydHlGb3JtLk9wdGlvbnMuRHluYW1pY09wdGlvbnMnXHJcbiAgICAgICAgfVxyXG4gICAgXVxyXG59KVxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnc21lLWZvcm0tZmllbGRbdHlwZT1cIm9yZGVyZWRsaXN0XCJdJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9vcmRlcmVkLWxpc3QtZm9ybS1maWVsZC5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIE9yZGVyZWRMaXN0Rm9ybUZpZWxkQ29tcG9uZW50PFRWYWx1ZT5cclxuICAgIGV4dGVuZHMgU21lSW50ZXJuYWxPcHRpb25zRm9ybUZpZWxkQ29tcG9uZW50PEFycmF5PFRWYWx1ZT4+XHJcbiAgICBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgc291cmNlIG5hbWUgdG8gdXNlIGZvciBsb2dnaW5nXHJcbiAgICAgKi9cclxuICAgIHByb3RlY3RlZCBnZXQgbG9nU291cmNlTmFtZSgpIHtcclxuICAgICAgICByZXR1cm4gJ09yZGVyZWRMaXN0Rm9ybUZpZWxkQ29tcG9uZW50JztcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFNpbmdsZSBzZWxlY3Rpb24gaXMgbm90IHN1cHBvcnRlZCBieSBvcmRlcmVkIGxpc3RcclxuICAgICAqL1xyXG4gICAgcHVibGljIHJlYWRvbmx5IG11bHRpcGxlID0gdHJ1ZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEluZGljYXRlcyBpZiB0aGUgYWRkIGFuZCByZW1vdmUgYWN0aW9ucyBzaG91bGQgYmUgc2hvd25cclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzaG93QWRkUmVtb3ZlOiBib29sZWFuO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5kaWNhdGVzIGlmIHRoZSBtb3ZlIGFjdGlvbnMgc2hvdWxkIGJlIHNob3duXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgc2hvd01vdmU6IGJvb2xlYW47XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmRpY2F0ZXMgaWYgdGhlIHNlbGVjdGlvbiBzaG91bGQgYmUgYWxsb3dlZFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNob3dTZWxlY3Q6IGJvb2xlYW47XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmRpY2F0ZXMgdGhlIGFkZCBidXR0b24gaW5uZXIgaHRtbFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGFkZEJ1dHRvblRleHQ6IHN0cmluZyA9IHRoaXMuc3RyaW5ncy5Nc2Z0U21lU2hlbGwuQW5ndWxhci5Db21tb24uYWRkO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5kaWNhdGVzIHRoZSBjb21ib2JveCBzZWFyY2hhYmxlXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgc2VhcmNoYWJsZSA9IGZhbHNlO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5kaWNhdGVzIGFsbG93IGVtcHR5IHNlbGVjdGlvblxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGFsbG93RW1wdHkgPSB0cnVlO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhpcyB3aWxsIG5vdCBhbGxvdyB1c2VyIHRvIHJlbW92ZSB0aGUgbGFzdCBpdGVtIGluIHRoZSBvcmRlciBsaXN0XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXQgYWxsb3dFbXB0eURpc2FibGVBY3Rpb25zKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiAhdGhpcy5hbGxvd0VtcHR5ICYmIHRoaXMudmFsdWUubGVuZ3RoID09PSAxO1xyXG4gICAgfVxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgYXJpYSBsYWJlbCBmb3IgdGhpcyBpbnN0YW5jZS5cclxuICAgICAqL1xyXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtbGFiZWwnKVxyXG4gICAgcHVibGljIGdldCBhcmlhTGFiZWwoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5nZXRNZXJnZWREZXNjcmlwdGlvbkxhYmVsKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUcmFja3Mgd2hlbiBuZXcgaXRlbSBpcyBhZGRlZCB0byBwbGFjZSBmb2N1cyBvbi5cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBuZXdJdGVtQWRkZWQgPSBmYWxzZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEluaXRpYWxpemVzIGEgbmV3IGluc3RhbmNlIG9mIHRoZSBPcmRlcmVkTGlzdEZvcm1GaWVsZENvbXBvbmVudFxyXG4gICAgICovXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBpbmplY3RvcjogSW5qZWN0b3JcclxuICAgICkge1xyXG4gICAgICAgIHN1cGVyKGluamVjdG9yKTtcclxuICAgICAgICB0aGlzLmluc3RydWN0aW9ucyA9IHRoaXMuc3RyaW5ncy5Nc2Z0U21lU2hlbGwuQW5ndWxhci5Gb3JtLk9yZGVyZWRMaXN0Lmluc3RydWN0aW9ucztcclxuICAgICAgICB0aGlzLnNob3dBZGRSZW1vdmUgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuc2hvd01vdmUgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuc2hvd1NlbGVjdCA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgbWV0aG9kIGNhbGxlZCBhZnRlciB0aGUgY29tcG9uZW50IGlzIGluaXRpYWxpemVkLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgICAgICB0aGlzLnNldEF0dHJpYnV0ZSgncm9sZScsICdncm91cCcpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ29tcGFyZSB2YWx1ZSBpbnNpZGUgb2YgYXJyYXkuXHJcbiAgICAgKiBAcGFyYW0gbGVmdCBUaGUgZGF0YSB0byBjb21wYXJlLlxyXG4gICAgICogQHBhcmFtIHJpZ2h0IFRoZSBkYXRhIHRvIGNvbXBhcmUuXHJcbiAgICAgKiBAcmV0dXJucyB0cnVlIGlmIGVxdWFsLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgYXJyYXlWYWx1ZUNvbXBhcmF0b3IobGVmdDogVFZhbHVlLCByaWdodDogVFZhbHVlKTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKE1zZnRTbWUuaXNOdWxsT3JVbmRlZmluZWQobGVmdCkgIT09IE1zZnRTbWUuaXNOdWxsT3JVbmRlZmluZWQocmlnaHQpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIE1zZnRTbWUuaXNOdWxsT3JVbmRlZmluZWQobGVmdCkgfHwgbGVmdCA9PT0gcmlnaHQ7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBEaXNwbGF5IHZhbHVlIGluc2lkZSBvZiBhcnJheS4gdGhpcy5nZXRWYWx1ZURpc3BsYXlTdHJpbmcoKSB1c2VzIFRNb2RlbCB3aGljaCBpcyBBcnJheTxUVmFsdWU+IHdyb25nbHkuXHJcbiAgICAgKiBSZS1jYXN0aW5nIHRvIDxhbnk+IG1ha2luZyBhIHdvcmthcm91bmQuXHJcbiAgICAgKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIHRvIGRpc3BsYXkuXHJcbiAgICAgKiBAcmV0dXJucyB0aGUgZGlzcGxheSBzdHJpbmcuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBhcnJheUdldFZhbHVlRGlzcGxheVN0cmluZyh2YWx1ZTogVFZhbHVlKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5nZXRWYWx1ZURpc3BsYXlTdHJpbmcoPGFueT52YWx1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBBZGRzIGFuIGl0ZW0gdG8gdGhlIGxpc3RcclxuICAgICAqL1xyXG4gICAgcHVibGljIGFkZExpc3RJdGVtKHZhbHVlOiBUVmFsdWUgPSBudWxsKTogYm9vbGVhbiB7XHJcbiAgICAgICAgLy8gZG8gbm90IGFkZCBhbiBpdGVtIGlmIHdlIGFscmVhZHkgaGF2ZSBhbiBvcHRpb24gZm9yIGVhY2ggb3B0aW9uIG9yIHRoZSB2YWx1ZSBpcyBhbHJlYWR5IHNlbGVjdGVkXHJcbiAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KHRoaXMudmFsdWUpIHx8IHRoaXMudmFsdWUubGVuZ3RoID49IHRoaXMub3B0aW9ucy5sZW5ndGggfHwgdGhpcy52YWx1ZS5zb21lKHYgPT4gdiA9PT0gdmFsdWUpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMudmFsdWUgPSBbLi4udGhpcy52YWx1ZSwgdmFsdWVdO1xyXG4gICAgICAgIHRoaXMubmV3SXRlbUFkZGVkID0gdHJ1ZTtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIERlbW90ZXMgYW4gaXRlbSBhdCB0aGUgZ2l2ZW4gaW5kZXggYnkgMVxyXG4gICAgICogQHBhcmFtIGluZGV4IFRoZSBpbmRleCBvZiB0aGUgaXRlbSBiZWluZyBkZW1vdGVkLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZGVtb3RlSXRlbUF0KGluZGV4OiBudW1iZXIpOiB2b2lkIHtcclxuICAgICAgICBpZiAoaW5kZXggIT09IHRoaXMudmFsdWUubGVuZ3RoIC0gMSkge1xyXG4gICAgICAgICAgICB0aGlzLm1vdmVJdGVtKGluZGV4LCBpbmRleCArIDEpO1xyXG4gICAgICAgICAgICBjb25zdCBmb2N1c2FibGUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChgJHt0aGlzLmlkQmFnLmRlbW90ZX0ke2luZGV4ICsgMX1gKTtcclxuICAgICAgICAgICAgaWYgKGZvY3VzYWJsZSkge1xyXG4gICAgICAgICAgICAgICAgZm9jdXNhYmxlLmZvY3VzKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBQcm9tb3RlcyBhbiBpdGVtIGF0IHRoZSBnaXZlbiBpbmRleCBieSAxXHJcbiAgICAgKiBAcGFyYW0gaW5kZXggVGhlIGluZGV4IG9mIHRoZSBpdGVtIGJlaW5nIHByb21vdGVkLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgcHJvbW90ZUl0ZW1BdChpbmRleDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKGluZGV4ICE9PSAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMubW92ZUl0ZW0oaW5kZXgsIGluZGV4IC0gMSk7XHJcbiAgICAgICAgICAgIGNvbnN0IGZvY3VzYWJsZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGAke3RoaXMuaWRCYWcucHJvbW90ZX0ke2luZGV4IC0gMX1gKTtcclxuICAgICAgICAgICAgaWYgKGZvY3VzYWJsZSkge1xyXG4gICAgICAgICAgICAgICAgZm9jdXNhYmxlLmZvY3VzKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXR1cm5zIHRoZSBpbmRleCB0byB0cmFjayBpdGVtcyBpbiB0aGUgYXJyYXkuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyB0cmFja0J5SW5kZXgoaW5kZXgsIGl0ZW0pIHsgcmV0dXJuIGluZGV4OyB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZW1vdmVzIGFuIGl0ZW0gYXQgdGhlIGdpdmVuIGluZGV4XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyByZW1vdmVJdGVtQXQoaW5kZXg6IG51bWJlcik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMudmFsdWUuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgICAgICB0aGlzLnRyaWdnZXJWYWx1ZUNoYW5nZSgpO1xyXG5cclxuICAgICAgICBjb25zdCBmaXJzdEZvY3VzYWJsZSA9IERvbS5nZXRGaXJzdEZvY3VzYWJsZURlc2NlbmRlbnQodGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50KTtcclxuICAgICAgICBpZiAoZmlyc3RGb2N1c2FibGUpIHtcclxuICAgICAgICAgICAgZmlyc3RGb2N1c2FibGUuZm9jdXMoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBNb3ZlcyBhbiBlbGVtZW50IG9mIGFuIGFycmF5IGZyb20gYSBzdGFydGluZyBpbmRleCB0byBhIGRlc3RpbmF0aW9uIGluZGV4LlxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSBhcnJheSBUaGUgYXJyYXkgY29udGFpbmluZyB0aGUgZWxlbWVudCB0byBtb3ZlLlxyXG4gICAgICogQHBhcmFtIHN0YXJ0aW5nSW5kZXggVGhlIGluaXRpYWwgaW5kZXggb2YgdGhlIGVsZW1lbnQgdG8gbW92ZS5cclxuICAgICAqIEBwYXJhbSBkZXN0aW5hdGlvbkluZGV4IFRoZSBkZXN0aW5hdGlvbiBpbmRleCBvZiB0aGUgbW92ZWQgZWxlbWVudC5cclxuICAgICAqIEByZXR1cm5zIFRoZSBvcmlnaW5hbCBhcnJheSB3aXRoIHRoZSBzcGVjaWZpZWQgZWxlbWVudCBtb3ZlZC5cclxuICAgICAqL1xyXG4gICAgcHVibGljIG1vdmVJdGVtKHN0YXJ0aW5nSW5kZXg6IG51bWJlciwgZGVzdGluYXRpb25JbmRleDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgdmFsdWUgPSBbLi4udGhpcy52YWx1ZV07XHJcbiAgICAgICAgY29uc3QgdGFyZ2V0RWxlbWVudCA9IHZhbHVlW3N0YXJ0aW5nSW5kZXhdO1xyXG5cclxuICAgICAgICBpZiAoc3RhcnRpbmdJbmRleCA8IGRlc3RpbmF0aW9uSW5kZXgpIHtcclxuICAgICAgICAgICAgdmFsdWUuc3BsaWNlKGRlc3RpbmF0aW9uSW5kZXggKyAxLCAwLCB0YXJnZXRFbGVtZW50KTtcclxuICAgICAgICAgICAgdmFsdWUuc3BsaWNlKHN0YXJ0aW5nSW5kZXgsIDEpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHZhbHVlLnNwbGljZShzdGFydGluZ0luZGV4LCAxKTtcclxuICAgICAgICAgICAgdmFsdWUuc3BsaWNlKGRlc3RpbmF0aW9uSW5kZXgsIDAsIHRhcmdldEVsZW1lbnQpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUGxhY2VzIGZvY3VzIG9uIG5ldyBpdGVtIHdoZW4gaXQgaXMgYWRkZWQuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBuZXdJdGVtQ2hlY2soKSB7XHJcbiAgICAgICAgaWYgKHRoaXMubmV3SXRlbUFkZGVkKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGZvY3VzYWJsZSA9IERvbS5maW5kQ2hpbGRFbGVtZW50REZTKHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudCxcclxuICAgICAgICAgICAgICAgIChlbGVtZW50OiBIVE1MRWxlbWVudCkgPT4gZWxlbWVudC50YWdOYW1lLnRvVXBwZXJDYXNlKCkgPT09ICdJTlBVVCcsXHJcbiAgICAgICAgICAgICAgICBFbGVtZW50UG9zaXRpb24uTGFzdCk7XHJcbiAgICAgICAgICAgIGlmIChmb2N1c2FibGUpIHtcclxuICAgICAgICAgICAgICAgIGZvY3VzYWJsZS5mb2N1cygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMubmV3SXRlbUFkZGVkID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIG1ldGhvZCBjYWxsZWQgd2hlbiBhIDxzZWxlY3Q+IGVsZW1lbnQncyB2YWx1ZSBjaGFuZ2VzLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgdHJpZ2dlclZhbHVlQ2hhbmdlKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMudmFsdWUgPSBbLi4udGhpcy52YWx1ZV07XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDcmVhdGVzIHRoZSBpZEJhZyB1c2VkIGJ5IHRoaXMgY29tcG9uZW50IHRvIHN0b3JlIHVuaXF1ZSBlbGVtZW50IGlkcy5cclxuICAgICAqIGlkIHZhbHVlcyB3aWxsIGJlIGFzc2lnbmVkIGJlIHRoZSBAc2VlIEJhc2VDb21wb25lbnQgc3VwZXIgY2xhc3MuXHJcbiAgICAgKi9cclxuICAgIHByb3RlY3RlZCBjcmVhdGVJZEJhZygpOiBNc2Z0U21lLlN0cmluZ01hcDxzdHJpbmc+IHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBkZXRhaWxzU3BhbjogJycsXHJcbiAgICAgICAgICAgIHByb21vdGU6ICcnLFxyXG4gICAgICAgICAgICBkZW1vdGU6ICcnXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFBlcmZvcm1zIHZhbGlkYXRpb24gdGhhdCBpcyBpbnRlcm5hbCB0byB0aGlzIGNvbnRyb2wuXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIGMgVGhlIGZvcm0gY29udHJvbCBhdHRhY2hlZCB0byB0aGlzIGluc3RhbmNlLlxyXG4gICAgICogQHJldHVybnMgQW55IHZhbGlkYXRpb24gYWxlcnRzIGZvciB0aGlzIGNvbnRyb2wuXHJcbiAgICAgKi9cclxuICAgIHByb3RlY3RlZCB2YWxpZGF0ZShjOiBGb3JtQ29udHJvbCk6IFZhbGlkYXRpb25BbGVydHMge1xyXG4gICAgICAgIGlmICh0aGlzLnJlcXVpcmVkICYmIChNc2Z0U21lLmlzTnVsbE9yVW5kZWZpbmVkKHRoaXMudmFsdWUpIHx8IHRoaXMudmFsdWUubGVuZ3RoID09PSAwKSkge1xyXG4gICAgICAgICAgICByZXR1cm4geyByZXF1aXJlZDogdHJ1ZSB9O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKCFNc2Z0U21lLmlzTnVsbE9yVW5kZWZpbmVkKHRoaXMudmFsdWUpICYmIHRoaXMudmFsdWUuc29tZSgoeCkgPT4gTXNmdFNtZS5pc051bGxPclVuZGVmaW5lZCh4KSkpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIG51bGxWYWx1ZToge1xyXG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IHRoaXMuc3RyaW5ncy5Nc2Z0U21lU2hlbGwuQW5ndWxhci5Gb3JtLk9yZGVyZWRMaXN0LmVtcHR5VmFsdWVzXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gc3VwZXIudmFsaWRhdGUoYyk7XHJcbiAgICB9XHJcbn1cclxuIiwiPHNtZS1mb3JtLWZpZWxkLWxheW91dCBbZm9ybUZpZWxkXT1cInRoaXNcIj5cclxuICA8ZGl2ICpuZ0lmPVwidmFsdWVcIiBjbGFzcz1cInNtZS1tYXJnaW4tYm90dG9tLXhzIHNtZS1mb3JtLWZpZWxkLWVkaXRvclwiPlxyXG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgaXRlbSBvZiB2YWx1ZTsgdHJhY2tCeTogdHJhY2tCeUluZGV4OyBsZXQgaSA9IGluZGV4XCJcclxuICAgICAgY2xhc3M9XCJzbWUtYXJyYW5nZS1zdGFjay1oIHNtZS1tYXJnaW4tYm90dG9tLXhzIHNtZS1mb3JtLWZpZWxkLXdpZHRoXCJcclxuICAgICAgW2F0dHIuZGF0YS11dGEtaWRdPVwiaXRlbSA/IGl0ZW0udG9TdHJpbmcoKSArICctcm93JyA6ICduZXctaXRlbS1yb3cnXCI+XHJcbiAgICAgIDxsYWJlbCBjbGFzcz1cInNtZS1zY3JlZW4tcmVhZGVyXCIgW2lkXT1cImlkQmFnLmRldGFpbHNTcGFuICsgaVwiPlxyXG4gICAgICAgIHt7c3RyaW5ncy5Nc2Z0U21lU2hlbGwuQW5ndWxhci5Gb3JtLk9yZGVyZWRMaXN0Lml0ZW1BcmlhRGVzY3JpcHRpb24uZm9ybWF0KGkgKyAxLCB2YWx1ZS5sZW5ndGgpfX1cclxuICAgICAgPC9sYWJlbD5cclxuICAgICAgPHAgKm5nSWY9XCIhc2hvd1NlbGVjdFwiIGNsYXNzPVwic21lLXBvc2l0aW9uLWZsZXgtYXV0b1wiIHJvbGU9XCJ0ZXh0Ym94XCJcclxuICAgICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImlkQmFnLmRldGFpbHNTcGFuICsgaVwiIHRhYmluZGV4PVwiMFwiPnt7YXJyYXlHZXRWYWx1ZURpc3BsYXlTdHJpbmcodmFsdWVbaV0pfX08L3A+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwic21lLWxheW91dC1yZWxhdGl2ZSBzbWUtcG9zaXRpb24tZmxleC1hdXRvXCIgW2NsYXNzLnNtZS1tYXJnaW4tcmlnaHQteHNdPVwic2hvd01vdmUgfHwgc2hvd0FkZFJlbW92ZVwiPlxyXG4gICAgICAgIDxzbWUtZm9ybS1maWVsZCAqbmdJZj1cInNob3dTZWxlY3RcIiBbdXRhSWRdPVwiaXRlbSA/IGl0ZW0udG9TdHJpbmcoKSArICctY29tYm9ib3gnIDogJ25ldy1jb21ib2JveCdcIlxyXG4gICAgICAgICAgdHlwZT1cImNvbWJvYm94XCIgW2hpZGVIZWFkZXJdPVwidHJ1ZVwiIFt2YWx1ZUNvbXBhcmF0b3JdPVwidmFsdWVDb21wYXJhdG9yXCIgWyhuZ01vZGVsKV09XCJ2YWx1ZVtpXVwiXHJcbiAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJ0cmlnZ2VyVmFsdWVDaGFuZ2UoKVwiIChjdXN0b21WYWxpZGF0ZSk9XCJuZXdJdGVtQ2hlY2soKVwiIFtsYWJlbF09XCJsYWJlbFwiXHJcbiAgICAgICAgICBbc2VhcmNoYWJsZV09XCJzZWFyY2hhYmxlXCI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygb3B0aW9uc1wiPlxyXG4gICAgICAgICAgICA8c21lLW9wdGlvbiAqbmdJZj1cIiFvcHRpb24uaXNTZWxlY3RlZCB8fCBhcnJheVZhbHVlQ29tcGFyYXRvcihvcHRpb24udmFsdWUsIHZhbHVlW2ldKVwiXHJcbiAgICAgICAgICAgICAgW3V0YUlkXT1cIm9wdGlvbi51dGFJZCA/IG9wdGlvbi51dGFJZCA6IG9wdGlvbi52YWx1ZVwiIFt2YWx1ZV09XCJvcHRpb24udmFsdWVcIiBbbGFiZWxdPVwib3B0aW9uLnRvU3RyaW5nKClcIlxyXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJvcHRpb24uZGlzYWJsZWRcIj5cclxuICAgICAgICAgICAgPC9zbWUtb3B0aW9uPlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9zbWUtZm9ybS1maWVsZD5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxidXR0b24gKm5nSWY9XCJzaG93TW92ZVwiIFtpZF09XCJpZEJhZy5wcm9tb3RlICsgaVwiIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgIGNsYXNzPVwic21lLWJ1dHRvbi10cmlnZ2VyIHNtZS1wb3NpdGlvbi1mbGV4LW5vbmUgc21lLWJ1dHRvbi1hdXRvLXdpZHRoIHNtZS1mb3JtLWZpZWxkLWhlaWdodFwiXHJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJzdHJpbmdzLk1zZnRTbWVTaGVsbC5Bbmd1bGFyLkZvcm0uT3JkZXJlZExpc3QucHJvbW90ZUJ1dHRvbkFyaWFMYWJlbFwiXHJcbiAgICAgICAgW3RpdGxlXT1cInN0cmluZ3MuTXNmdFNtZVNoZWxsLkFuZ3VsYXIuRm9ybS5PcmRlcmVkTGlzdC5wcm9tb3RlQnV0dG9uVG9vbHRpcFwiIChjbGljayk9XCJwcm9tb3RlSXRlbUF0KGkpXCJcclxuICAgICAgICBbc21lRGlzYWJsZWRdPVwibG9hZGluZ09yRGlzYWJsZWQgfHwgYWxsb3dFbXB0eURpc2FibGVBY3Rpb25zXCIgZGF0YS11dGEtaWQ9XCJwcm9tb3RlLWJ1dHRvblwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwic21lLWljb24gc21lLWljb24tdXBcIj48L3NwYW4+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8YnV0dG9uICpuZ0lmPVwic2hvd01vdmVcIiBbaWRdPVwiaWRCYWcuZGVtb3RlICsgaVwiIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgIGNsYXNzPVwic21lLWJ1dHRvbi10cmlnZ2VyIHNtZS1wb3NpdGlvbi1mbGV4LW5vbmUgc21lLWJ1dHRvbi1hdXRvLXdpZHRoIHNtZS1mb3JtLWZpZWxkLWhlaWdodFwiXHJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJzdHJpbmdzLk1zZnRTbWVTaGVsbC5Bbmd1bGFyLkZvcm0uT3JkZXJlZExpc3QuZGVtb3RlQnV0dG9uQXJpYUxhYmVsXCJcclxuICAgICAgICBbdGl0bGVdPVwic3RyaW5ncy5Nc2Z0U21lU2hlbGwuQW5ndWxhci5Gb3JtLk9yZGVyZWRMaXN0LmRlbW90ZUJ1dHRvblRvb2x0aXBcIiAoY2xpY2spPVwiZGVtb3RlSXRlbUF0KGkpXCJcclxuICAgICAgICBbc21lRGlzYWJsZWRdPVwibG9hZGluZ09yRGlzYWJsZWQgfHwgYWxsb3dFbXB0eURpc2FibGVBY3Rpb25zXCIgZGF0YS11dGEtaWQ9XCJkZW1vdGUtYnV0dG9uXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzbWUtaWNvbiBzbWUtaWNvbi1kb3duXCI+PC9zcGFuPlxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgICAgPGJ1dHRvbiAqbmdJZj1cInNob3dBZGRSZW1vdmVcIiB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICBjbGFzcz1cInNtZS1idXR0b24tdHJpZ2dlciBzbWUtcG9zaXRpb24tZmxleC1ub25lIHNtZS1idXR0b24tYXV0by13aWR0aCBzbWUtZm9ybS1maWVsZC1oZWlnaHRcIlxyXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwic3RyaW5ncy5Nc2Z0U21lU2hlbGwuQW5ndWxhci5Gb3JtLk9yZGVyZWRMaXN0LnJlbW92ZUJ1dHRvbkFyaWFMYWJlbFwiXHJcbiAgICAgICAgW3RpdGxlXT1cInN0cmluZ3MuTXNmdFNtZVNoZWxsLkFuZ3VsYXIuRm9ybS5PcmRlcmVkTGlzdC5yZW1vdmVCdXR0b25Ub29sdGlwXCIgKGNsaWNrKT1cInJlbW92ZUl0ZW1BdChpKVwiXHJcbiAgICAgICAgW3NtZURpc2FibGVkXT1cImxvYWRpbmdPckRpc2FibGVkIHx8IGFsbG93RW1wdHlEaXNhYmxlQWN0aW9uc1wiIGRhdGEtdXRhLWlkPVwicmVtb3ZlLWJ1dHRvblwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwic21lLWljb24gc21lLWljb24tY2FuY2VsIHNtZS1jb2xvci1yZWRcIj48L3NwYW4+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8YnV0dG9uICpuZ0lmPVwic2hvd0FkZFJlbW92ZVwiIHR5cGU9XCJidXR0b25cIiBbc21lRGlzYWJsZWRdPVwibG9hZGluZ09yRGlzYWJsZWQgfHwgdmFsdWUubGVuZ3RoID09PSBvcHRpb25zLmxlbmd0aFwiXHJcbiAgICAgIGNsYXNzPVwic21lLWJ1dHRvbi10cmlnZ2VyIHNtZS1idXR0b24tYXV0by13aWR0aCBzbWUtaWNvbiBzbWUtaWNvbi1hZGQgc21lLW1hcmdpbi1ib3R0b20teHNcIlxyXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInN0cmluZ3MuTXNmdFNtZVNoZWxsLkFuZ3VsYXIuRm9ybS5PcmRlcmVkTGlzdC5hZGRCdXR0b25BcmlhTGFiZWxcIiBkYXRhLXV0YS1pZD1cImFkZC1idXR0b25cIlxyXG4gICAgICBbdGl0bGVdPVwic3RyaW5ncy5Nc2Z0U21lU2hlbGwuQW5ndWxhci5Gb3JtLk9yZGVyZWRMaXN0LmFkZEJ1dHRvblRvb2x0aXBcIiAoY2xpY2spPVwiYWRkTGlzdEl0ZW0oKVwiPlxyXG4gICAgICB7e2FkZEJ1dHRvblRleHR9fVxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxzbWUtdmFsaWRhdGlvbi1hbGVydCBbYWxlcnRdPVwiYWxlcnRcIj48L3NtZS12YWxpZGF0aW9uLWFsZXJ0PlxyXG48L3NtZS1mb3JtLWZpZWxkLWxheW91dD5cclxuIl19
|
|
@@ -115,7 +115,7 @@ function RadioGroupFormFieldComponent_ng_container_1_ng_container_1_ng_container
|
|
|
115
115
|
const ctx_r5 = i0.ɵɵnextContext(2);
|
|
116
116
|
i0.ɵɵadvance(3);
|
|
117
117
|
i0.ɵɵproperty("name", ctx_r5.idBag.groupName)("value", option_r3.value)("ngModel", ctx_r5.value)("disabled", ctx_r5.loadingOrDisabled || option_r3.disabled);
|
|
118
|
-
i0.ɵɵattribute("aria-label", option_r3.label)("aria-describedby", option_r3.description)("aria-checked", option_r3.isSelected)("name", ctx_r5.idBag.groupName)("aria-required", ctx_r5.required);
|
|
118
|
+
i0.ɵɵattribute("aria-label", option_r3.label)("aria-describedby", option_r3.description)("aria-checked", option_r3.isSelected)("name", ctx_r5.idBag.groupName)("data-uta-id", option_r3.utaId)("aria-required", ctx_r5.required);
|
|
119
119
|
i0.ɵɵadvance(3);
|
|
120
120
|
i0.ɵɵtextInterpolate(option_r3.label);
|
|
121
121
|
i0.ɵɵadvance(1);
|
|
@@ -129,7 +129,7 @@ function RadioGroupFormFieldComponent_ng_container_1_ng_container_1_ng_container
|
|
|
129
129
|
} }
|
|
130
130
|
function RadioGroupFormFieldComponent_ng_container_1_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
131
131
|
i0.ɵɵelementContainerStart(0);
|
|
132
|
-
i0.ɵɵtemplate(1, RadioGroupFormFieldComponent_ng_container_1_ng_container_1_ng_container_1_Template, 11,
|
|
132
|
+
i0.ɵɵtemplate(1, RadioGroupFormFieldComponent_ng_container_1_ng_container_1_ng_container_1_Template, 11, 15, "ng-container", 1);
|
|
133
133
|
i0.ɵɵelementContainerEnd();
|
|
134
134
|
} if (rf & 2) {
|
|
135
135
|
const option_r3 = ctx.$implicit;
|
|
@@ -192,7 +192,7 @@ function RadioGroupFormFieldComponent_ng_container_2_ng_container_1_ng_container
|
|
|
192
192
|
const ctx_r24 = i0.ɵɵnextContext(2);
|
|
193
193
|
i0.ɵɵadvance(4);
|
|
194
194
|
i0.ɵɵproperty("name", ctx_r24.idBag.groupName)("value", option_r22.value)("ngModel", ctx_r24.value)("disabled", ctx_r24.loadingOrDisabled || option_r22.disabled);
|
|
195
|
-
i0.ɵɵattribute("aria-label", option_r22.label)("aria-describedby", option_r22.description)("aria-checked", option_r22.isSelected)("name", ctx_r24.idBag.groupName)("aria-required", ctx_r24.required);
|
|
195
|
+
i0.ɵɵattribute("aria-label", option_r22.label)("aria-describedby", option_r22.description)("aria-checked", option_r22.isSelected)("name", ctx_r24.idBag.groupName)("data-uta-id", option_r22.utaId)("aria-required", ctx_r24.required);
|
|
196
196
|
i0.ɵɵadvance(3);
|
|
197
197
|
i0.ɵɵtextInterpolate(option_r22.label);
|
|
198
198
|
i0.ɵɵadvance(1);
|
|
@@ -204,7 +204,7 @@ function RadioGroupFormFieldComponent_ng_container_2_ng_container_1_ng_container
|
|
|
204
204
|
} }
|
|
205
205
|
function RadioGroupFormFieldComponent_ng_container_2_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
206
206
|
i0.ɵɵelementContainerStart(0);
|
|
207
|
-
i0.ɵɵtemplate(1, RadioGroupFormFieldComponent_ng_container_2_ng_container_1_ng_container_1_Template, 11,
|
|
207
|
+
i0.ɵɵtemplate(1, RadioGroupFormFieldComponent_ng_container_2_ng_container_1_ng_container_1_Template, 11, 14, "ng-container", 1);
|
|
208
208
|
i0.ɵɵelementContainerEnd();
|
|
209
209
|
} if (rf & 2) {
|
|
210
210
|
const option_r22 = ctx.$implicit;
|
|
@@ -472,4 +472,4 @@ export { RadioGroupFormFieldComponent };
|
|
|
472
472
|
}], function () { return [{ type: i0.Injector }]; }, { displayMode: [{
|
|
473
473
|
type: Input
|
|
474
474
|
}] }); })();
|
|
475
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tZ3JvdXAtZm9ybS1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9hbmd1bGFyL3NyYy9jb250cm9scy9mb3JtL2Zvcm0tZmllbGQvcmFkaW8tZ3JvdXAvY2xhc3NpYy9yYWRpby1ncm91cC1mb3JtLWZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2FuZ3VsYXIvc3JjL2NvbnRyb2xzL2Zvcm0vZm9ybS1maWVsZC9yYWRpby1ncm91cC9jbGFzc2ljL3JhZGlvLWdyb3VwLWZvcm0tZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsd0NBQXdDLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUMxRyxPQUFPLEVBQTZDLG1CQUFtQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbEgsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLDBDQUEwQyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7SUFVaEYsZ0NBRWE7Ozs7SUFGZ0Qsa0VBQXdDLHdCQUFBLHlDQUFBLHFEQUFBOzs7O0lBTTdGLGdEQUV3QjtJQURwQixxWEFBK0Q7SUFFbkUsaUJBQXdCOzs7O0lBSEQsa0ZBQTBELCtFQUFBLDJCQUFBOzs7SUFIekYscUNBQ21HO0lBQy9GLDRIQUtjO0lBQ2xCLGlCQUFhOzs7O0lBUitDLGtFQUF3Qyx3QkFBQSx5Q0FBQSxxREFBQTs7O0lBSnhHLDZCQUEyQztJQUN2QyxnSEFFYTtJQUNiLGdIQVFhO0lBQ2pCLDBC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QkFDSjthQUNKO1lBQ0Q7Z0JBQ0ksSUFBSSxFQUFFLG1CQUFtQixDQUFDLE1BQU07Z0JBQ2hDLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixJQUFJLEVBQUUsY0FBYztnQkFDcEIsS0FBSyxFQUFFLDhGQUE4RjthQUN4RztZQUNEO2dCQUNJLElBQUksRUFBRSxtQkFBbUIsQ0FBQyxNQUFNO2dCQUNoQyxNQUFNLEVBQUUsU0FBUztnQkFDakIsSUFBSSxFQUFFLCtCQUErQjtnQkFDckMsS0FBSyxFQUFFLGdEQUFnRDthQUMxRDtTQUNKO0tBQ0osQ0FBQztxQ0FvQlksUUFBUTtHQWZiLDRCQUE0QixDQW9CeEM7U0FwQlksNEJBQTRCO3VGQUE1Qiw0QkFBNEI7Y0FKeEMsU0FBUztlQUFDO2dCQUNQLFFBQVEsRUFBRSxtQ0FBbUM7Z0JBQzdDLFdBQVcsRUFBRSx5Q0FBeUM7YUFDekQ7MkRBVVUsV0FBVztrQkFEakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0b3IsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNtZVNjaGVtYVByb3BlcnR5IH0gZnJvbSAnLi4vLi4vLi4vLi4vc2NoZW1hL3NjaGVtYS1kZWNvcmF0b3InO1xyXG5pbXBvcnQgeyBPYmplY3RQcm9wZXJ0eVNjaGVtYUZpZWxkTG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vc2NoZW1hL3NjaGVtYS1maWVsZC1ob3N0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNjaGVtYUFycmF5UHJvcGVydHksIFNjaGVtYU9iamVjdFByb3BlcnR5LCBTY2hlbWFQcmltaXRpdmVUeXBlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2NoZW1hL3NjaGVtYS1tb2RlbHMnO1xyXG5pbXBvcnQgeyBTY2hlbWFVdGlsaXRpZXMgfSBmcm9tICcuLi8uLi8uLi8uLi9zY2hlbWEvc2NoZW1hLXV0aWxpdGllcyc7XHJcbmltcG9ydCB7IFJhZGlvR3JvdXBGb3JtRmllbGRDb21wb25lbnRCYXNlIH0gZnJvbSAnLi4vcmFkaW8tZ3JvdXAtZm9ybS1maWVsZC5jb21wb25lbnQuYmFzZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHRlbXBsYXRlOiBgXHJcbiAgICA8c21lLWZvcm0tZmllbGQgI2ZpZWxkIHR5cGU9XCJyYWRpb2dyb3VwXCIgWyhuZ01vZGVsKV09XCJkYXRhLm9wdGlvblwiIFtuYW1lXT1cInByb3BlcnR5U2NoZW1hLm5hbWVcIlxyXG4gICAgICAgIFtsYWJlbF09XCJsb2NhbGl6ZShwcm9wZXJ0eVNjaGVtYS5sYWJlbClcIiBbcmVxdWlyZWRdPVwicHJvcGVydHlTY2hlbWEucmVxdWlyZWRcIiBbZGVzY3JpcHRpb25dPVwicHJvcGVydHlTY2hlbWEuZGVzY3JpcHRpb25cIlxyXG4gICAgICAgIFtyZWFkb25seV09XCIhIWV2YWxFeHByZXNzaW9uKHByb3BlcnR5U2NoZW1hLnJlYWRvbmx5Q29uZGl0aW9uKVwiXHJcbiAgICAgICAgW2Rpc2FibGVkXT1cIiEhKHByb3BlcnR5U2NoZW1hLmRpc2FibGVkQ29uZGl0aW9uICYmIGV2YWxFeHByZXNzaW9uKHByb3BlcnR5U2NoZW1hLmRpc2FibGVkQ29uZGl0aW9uKSlcIlxyXG4gICAgICAgIChjdXN0b21WYWxpZGF0ZSk9XCJyZXNvbHZlRnVuY3Rpb24ocHJvcGVydHlTY2hlbWEuY3VzdG9tVmFsaWRhdGlvbikoJGV2ZW50KVwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygb3B0aW9uc1wiPlxyXG4gICAgICAgICAgICA8c21lLW9wdGlvbiAqbmdJZj1cIiFnZXRPYmplY3RPcHRpb25CeU1haW5PcHRpb24oaXRlbS52YWx1ZSlcIiBbZGlzYWJsZWRdPVwic2hvdWxkRGlzYWJsZSgpPT1pdGVtLnZhbHVlXCJcclxuICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJpdGVtLnZhbHVlXCIgW2xhYmVsXT1cImxvY2FsaXplKGl0ZW0ubGFiZWwpXCIgW2Rlc2NyaXB0aW9uXT1cImxvY2FsaXplKGl0ZW0uZGVzY3JpcHRpb24pXCI+XHJcbiAgICAgICAgICAgIDwvc21lLW9wdGlvbj5cclxuICAgICAgICAgICAgPHNtZS1vcHRpb24gKm5nSWY9XCJnZXRPYmplY3RPcHRpb25CeU1haW5PcHRpb24oaXRlbS52YWx1ZSlcIiBbZGlzYWJsZWRdPVwic2hvdWxkRGlzYWJsZSgpPT1pdGVtLnZhbHVlXCJcclxuICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJpdGVtLnZhbHVlXCIgW2xhYmVsXT1cImxvY2FsaXplKGl0ZW0ubGFiZWwpXCIgW2Rlc2NyaXB0aW9uXT1cImxvY2FsaXplKGl0ZW0uZGVzY3JpcHRpb24pXCI+XHJcbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNtZS1zY2hlbWEtZmllbGQtaG9zdCBbcHJvcGVydHlTY2hlbWFdPVwiZ2V0T2JqZWN0T3B0aW9uQnlNYWluT3B0aW9uKGl0ZW0udmFsdWUpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgWyhkYXRhKV09XCJkYXRhLm9iamVjdE9wdGlvbnMgJiYgZGF0YS5vYmplY3RPcHRpb25zW2l0ZW0udmFsdWVdXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2NvbnRleHRdPVwiY29udGV4dFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc21lLXNjaGVtYS1maWVsZC1ob3N0PlxyXG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPC9zbWUtb3B0aW9uPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9zbWUtZm9ybS1maWVsZD5cclxuICAgIGBcclxufSlcclxuZXhwb3J0IGNsYXNzIFJhZGlvR3JvdXBGb3JtRmllbGRMb2FkZXJDb21wb25lbnQgZXh0ZW5kcyBPYmplY3RQcm9wZXJ0eVNjaGVtYUZpZWxkTG9hZGVyQ29tcG9uZW50IHtcclxuICAgIHB1YmxpYyBnZXQgb3B0aW9ucygpOiBhbnlbXSB7XHJcbiAgICAgICAgbGV0IHJlc3VsdDogYW55W10gPSBbXTtcclxuICAgICAgICBjb25zdCBzdGF0aWNPcHRpb25zOiBhbnlbXSA9IHRoaXMucHJvcGVydHlTY2hlbWEub3B0aW9ucyAmJiB0aGlzLnByb3BlcnR5U2NoZW1hLm9wdGlvbnMuaXRlbXMgfHwgW107XHJcbiAgICAgICAgY29uc3QgZHluYW1pY09wdGlvbnM6IGFueVtdID0gdGhpcy5yZXNvbHZlQ29tcG9uZW50TWVtYmVyKHRoaXMucHJvcGVydHlTY2hlbWEub3B0aW9ucy5pdGVtc0JpbmRpbmcpO1xyXG5cclxuICAgICAgICBpZiAoc3RhdGljT3B0aW9ucykge1xyXG4gICAgICAgICAgICByZXN1bHQgPSByZXN1bHQuY29uY2F0KHN0YXRpY09wdGlvbnMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoZHluYW1pY09wdGlvbnMpIHtcclxuICAgICAgICAgICAgcmVzdWx0ID0gcmVzdWx0LmNvbmNhdChkeW5hbWljT3B0aW9ucyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXRPYmplY3RPcHRpb25CeU1haW5PcHRpb24obWFpbk9wdGlvblZhbHVlOiBzdHJpbmcpOiBTY2hlbWFPYmplY3RQcm9wZXJ0eSB7XHJcbiAgICAgICAgY29uc3Qgb2JqZWN0T3B0aW9ucyA9IDxTY2hlbWFPYmplY3RQcm9wZXJ0eT5TY2hlbWFVdGlsaXRpZXMuZ2V0UHJvcGVydHlTY2hlbWFCeU5hbWUodGhpcy5wcm9wZXJ0eVNjaGVtYSwgJ29iamVjdE9wdGlvbnMnKTtcclxuICAgICAgICBjb25zdCBvYmplY3RPcHRpb246IFNjaGVtYU9iamVjdFByb3BlcnR5ID1cclxuICAgICAgICAgICAgPFNjaGVtYU9iamVjdFByb3BlcnR5PlNjaGVtYVV0aWxpdGllcy5nZXRQcm9wZXJ0eVNjaGVtYUJ5TmFtZShvYmplY3RPcHRpb25zLCBtYWluT3B0aW9uVmFsdWUpO1xyXG4gICAgICAgIHJldHVybiBvYmplY3RPcHRpb247XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGlzVmFsaWQoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgbGV0IHJlc3VsdCA9IHRydWU7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLnByb3BlcnR5U2NoZW1hLnJlcXVpcmVkICYmICF0aGlzLmRhdGEub3B0aW9uKSB7XHJcbiAgICAgICAgICAgIHJlc3VsdCA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHJlc3VsdCkge1xyXG4gICAgICAgICAgICBjb25zdCBmaWVsZEhvc3RDb21wb25lbnRzID0gdGhpcy5maWVsZEhvc3RDb21wb25lbnRzLnRvQXJyYXkoKTtcclxuICAgICAgICAgICAgY29uc3QgZmllbGRIb3N0Q29tcG9uZW50Rm9yU2VsZWN0ZWRPcHRpb24gPSBmaWVsZEhvc3RDb21wb25lbnRzLmZpbmQoaXRlbSA9PiBpdGVtLnByb3BlcnR5U2NoZW1hLm5hbWUgPT09IHRoaXMuZGF0YS5vcHRpb24pO1xyXG4gICAgICAgICAgICBpZiAoZmllbGRIb3N0Q29tcG9uZW50Rm9yU2VsZWN0ZWRPcHRpb24pIHtcclxuICAgICAgICAgICAgICAgIHJlc3VsdCA9IGZpZWxkSG9zdENvbXBvbmVudEZvclNlbGVjdGVkT3B0aW9uLmlzVmFsaWQoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc2hvdWxkRGlzYWJsZSgpOiBib29sZWFuIHtcclxuICAgICAgICBsZXQgcmVzdWx0ID0gZmFsc2U7XHJcbiAgICAgICAgaWYgKHRoaXMucHJvcGVydHlTY2hlbWEub3B0aW9ucyAmJiB0aGlzLnByb3BlcnR5U2NoZW1hLm9wdGlvbnMub3B0aW9uRGlzYWJsZUNvbmRpdGlvbkhhbmRsZXIpIHtcclxuICAgICAgICAgICAgY29uc3QgaGFuZGxlciA9IHRoaXMucmVzb2x2ZUZ1bmN0aW9uKHRoaXMucHJvcGVydHlTY2hlbWEub3B0aW9ucy5vcHRpb25EaXNhYmxlQ29uZGl0aW9uSGFuZGxlcik7XHJcbiAgICAgICAgICAgIHJlc3VsdCA9IGhhbmRsZXIodGhpcy5kYXRhLCB0aGlzLmNvbnRleHQuZm9ybURhdGEpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIFRoZSBkaXNwbGF5IHR5cGUgb2YgdGhlIHJhZGlvIGdyb3VwLlxyXG4gKiAtIExpc3QgaXMgYSB2ZXJ0aWNhbCBkaXNwbGF5IG9mIHRyYWRpdGlvbmFsIHJhZGlvIGJ1dHRvbnNcclxuICogLSBpbmxpbmUsIGlzIHN0aWxsIHRyYWRpdGlvbmFsIHJhZGlvIGJ1dHRvbnMgYnV0IGlubGluZVxyXG4gKi9cclxuZXhwb3J0IHR5cGUgUmFkaW9Hcm91cERpc3BsYXlNb2RlID0gJ2xpc3QnIHwgJ2lubGluZSc7XHJcblxyXG4vKipcclxuICogQWNjZXNzaWJsZSBJbXBsZW1lbnRhdGlvbiBvZiBhIGZvcm0gZmllbGQgZm9yIGEgc2V0IG9mIC5zbWUtcmFkaW9cclxuICovXHJcbkBTbWVTY2hlbWFQcm9wZXJ0eShcclxuICAgIHtcclxuICAgICAgICB0eXBlOiBTY2hlbWFQcmltaXRpdmVUeXBlLk9iamVjdCxcclxuICAgICAgICBmb3JtYXQ6ICdyYWRpby1ncm91cCcsXHJcbiAgICAgICAgZGVzY3JpcHRpb246ICdBIHJhZGlvIGdyb3VwIGNvbnRyb2wgYmluZGluZyB0byBvYmplY3QgZGF0YS4nLFxyXG4gICAgICAgIGxvYWRlckNvbXBvbmVudDogUmFkaW9Hcm91cEZvcm1GaWVsZExvYWRlckNvbXBvbmVudCxcclxuICAgICAgICBwcmVkZWZpbmVkT2JqZWN0UHJvcGVydGllczogW1xyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB0eXBlOiBTY2hlbWFQcmltaXRpdmVUeXBlLlN0cmluZyxcclxuICAgICAgICAgICAgICAgIGZvcm1hdDogJ3RleHRib3gnLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogJ29wdGlvbidcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgPFNjaGVtYU9iamVjdFByb3BlcnR5PntcclxuICAgICAgICAgICAgICAgIHR5cGU6IFNjaGVtYVByaW1pdGl2ZVR5cGUuT2JqZWN0LFxyXG4gICAgICAgICAgICAgICAgZm9ybWF0OiAnZGVmYXVsdCcsXHJcbiAgICAgICAgICAgICAgICBuYW1lOiAnb2JqZWN0T3B0aW9ucycsXHJcbiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOiBbXHJcbiAgICAgICAgICAgICAgICAgICAgPFNjaGVtYU9iamVjdFByb3BlcnR5PntcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogU2NoZW1hUHJpbWl0aXZlVHlwZS5PYmplY3QsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1hdDogJ2RlZmF1bHQnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnPG9iamVjdCBkYXRhIGZvciBvcHRpb24gMT4nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOiBbXVxyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgPFNjaGVtYU9iamVjdFByb3BlcnR5PntcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogU2NoZW1hUHJpbWl0aXZlVHlwZS5PYmplY3QsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1hdDogJ2RlZmF1bHQnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnPG9iamVjdCBkYXRhIGZvciBvcHRpb24gMj4nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOiBbXVxyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgPFNjaGVtYU9iamVjdFByb3BlcnR5PntcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogU2NoZW1hUHJpbWl0aXZlVHlwZS5PYmplY3QsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1hdDogJ2RlZmF1bHQnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnPG9iamVjdCBkYXRhIGZvciBvcHRpb24gMz4nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOiBbXVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIF1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIF0sXHJcbiAgICAgICAgb3B0aW9uUHJvcGVydGllczogW1xyXG4gICAgICAgICAgICA8U2NoZW1hQXJyYXlQcm9wZXJ0eT57XHJcbiAgICAgICAgICAgICAgICB0eXBlOiBTY2hlbWFQcmltaXRpdmVUeXBlLkFycmF5LFxyXG4gICAgICAgICAgICAgICAgZm9ybWF0OiAnc2ltcGxlLWxpc3QnLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogJ2l0ZW1zJyxcclxuICAgICAgICAgICAgICAgIGxhYmVsOiAncmVzb3VyY2VzOnN0cmluZ3M6TXNmdFNtZVNoZWxsLkFuZ3VsYXIuU2NoZW1hRm9ybS5FZGl0b3IuUHJvcGVydHlGb3JtLk9wdGlvbnMuU3RhdGljT3B0aW9ucycsXHJcbiAgICAgICAgICAgICAgICBpdGVtOiA8U2NoZW1hT2JqZWN0UHJvcGVydHk+e1xyXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IFNjaGVtYVByaW1pdGl2ZVR5cGUuT2JqZWN0LFxyXG4gICAgICAgICAgICAgICAgICAgIGZvcm1hdDogJ2RlZmF1bHQnLFxyXG4gICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6IFtcclxuICAgICAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogU2NoZW1hUHJpbWl0aXZlVHlwZS5TdHJpbmcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXQ6ICdyZXNvdXJjZS1zdHJpbmctcGlja2VyJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdsYWJlbCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ3Jlc291cmNlczpzdHJpbmdzOk1zZnRTbWVTaGVsbC5Bbmd1bGFyLlNjaGVtYUZvcm0uRWRpdG9yLlByb3BlcnR5Rm9ybS5PcHRpb25zLkxhYmVsJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFNjaGVtYVByaW1pdGl2ZVR5cGUuU3RyaW5nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0OiAncmVzb3VyY2Utc3RyaW5nLXBpY2tlcicsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnZGVzY3JpcHRpb24nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdyZXNvdXJjZXM6c3RyaW5nczpNc2Z0U21lU2hlbGwuQW5ndWxhci5TY2hlbWFGb3JtLkVkaXRvci5Qcm9wZXJ0eUZvcm0uT3B0aW9ucy5EZXNjcmlwdGlvbicsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogdHJ1ZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBTY2hlbWFQcmltaXRpdmVUeXBlLlN0cmluZyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1hdDogJ3RleHRib3gnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ3ZhbHVlJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAncmVzb3VyY2VzOnN0cmluZ3M6TXNmdFNtZVNoZWxsLkFuZ3VsYXIuU2NoZW1hRm9ybS5FZGl0b3IuUHJvcGVydHlGb3JtLk9wdGlvbnMuVmFsdWUnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWVcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9uczoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW5Db3VudDogMVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdHlwZTogU2NoZW1hUHJpbWl0aXZlVHlwZS5TdHJpbmcsXHJcbiAgICAgICAgICAgICAgICBmb3JtYXQ6ICd0ZXh0Ym94JyxcclxuICAgICAgICAgICAgICAgIG5hbWU6ICdpdGVtc0JpbmRpbmcnLFxyXG4gICAgICAgICAgICAgICAgbGFiZWw6ICdyZXNvdXJjZXM6c3RyaW5nczpNc2Z0U21lU2hlbGwuQW5ndWxhci5TY2hlbWFGb3JtLkVkaXRvci5Qcm9wZXJ0eUZvcm0uT3B0aW9ucy5EeW5hbWljT3B0aW9ucydcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdHlwZTogU2NoZW1hUHJpbWl0aXZlVHlwZS5TdHJpbmcsXHJcbiAgICAgICAgICAgICAgICBmb3JtYXQ6ICd0ZXh0Ym94JyxcclxuICAgICAgICAgICAgICAgIG5hbWU6ICdvcHRpb25EaXNhYmxlQ29uZGl0aW9uSGFuZGxlcicsXHJcbiAgICAgICAgICAgICAgICBsYWJlbDogJ2FjdHVhbF9zdHJpbmc6T3B0aW9uIERpc2FibGUgQ29uZGl0aW9uIEhhbmRsZXInXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICBdXHJcbiAgICB9KVxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnc21lLWZvcm0tZmllbGRbdHlwZT1cInJhZGlvZ3JvdXBcIl0nLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3JhZGlvLWdyb3VwLWZvcm0tZmllbGQuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSYWRpb0dyb3VwRm9ybUZpZWxkQ29tcG9uZW50IGV4dGVuZHMgUmFkaW9Hcm91cEZvcm1GaWVsZENvbXBvbmVudEJhc2Uge1xyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgc291cmNlIG5hbWUgdG8gdXNlIGZvciBsb2dnaW5nXHJcbiAgICAgKi9cclxuICAgIHByb3RlY3RlZCBnZXQgbG9nU291cmNlTmFtZSgpIHtcclxuICAgICAgICByZXR1cm4gJ1JhZGlvR3JvdXBGb3JtRmllbGRDb21wb25lbnQnO1xyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZGlzcGxheU1vZGU6IFJhZGlvR3JvdXBEaXNwbGF5TW9kZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEluaXRpYWxpemVzIGEgbmV3IGluc3RhbmNlIG9mIHRoZSBSYWRpb0dyb3VwRm9ybUZpZWxkQ29tcG9uZW50XHJcbiAgICAgKi9cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIGluamVjdG9yOiBJbmplY3RvclxyXG4gICAgKSB7XHJcbiAgICAgICAgc3VwZXIoaW5qZWN0b3IpO1xyXG4gICAgICAgIHRoaXMuZGlzcGxheU1vZGUgPSAnbGlzdCc7XHJcbiAgICB9XHJcbn1cclxuIiwiPHNtZS1mb3JtLWZpZWxkLWxheW91dCBbZm9ybUZpZWxkXT1cInRoaXNcIj5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGlzcGxheU1vZGUgPT09ICdsaXN0J1wiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIG9wdGlvbnM7IGxldCBvcHRpb25JbmRleCA9IGluZGV4XCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhb3B0aW9uLmhpZGRlblwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzbWUtcmFkaW9cIiAjem9uZT1cInNtZVRvb2x0aXBab25lXCIgc21lVG9vbHRpcFpvbmUgKGNsaWNrKT1cInRvZ2dsZU9wdGlvbihvcHRpb24sIHRydWUpOyByYWRpb0lucHV0LmZvY3VzKClcIj5cclxuICAgICAgICAgIDxpbnB1dCAjcmFkaW9JbnB1dCB0eXBlPVwicmFkaW9cIiByb2xlPVwicmFkaW9cIiBbYXR0ci5hcmlhLWxhYmVsXT1cIm9wdGlvbi5sYWJlbFwiIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwib3B0aW9uLmRlc2NyaXB0aW9uXCJcclxuICAgICAgICAgICAgW2F0dHIuYXJpYS1jaGVja2VkXT1cIm9wdGlvbi5pc1NlbGVjdGVkXCIgW2F0dHIubmFtZV09XCJpZEJhZy5ncm91cE5hbWVcIiBbbmFtZV09XCJpZEJhZy5ncm91cE5hbWVcIlxyXG4gICAgICAgICAgICBbdmFsdWVdPVwib3B0aW9uLnZhbHVlXCIgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiIFthdHRyLmFyaWEtcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxyXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwibG9hZGluZ09yRGlzYWJsZWQgfHwgb3B0aW9uLmRpc2FibGVkXCI+XHJcbiAgICAgICAgICA8c3BhbiBhcmlhLWhpZGRlbj1cInRydWVcIj57e29wdGlvbi5sYWJlbH19PC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCIhKGxvYWRpbmdPckRpc2FibGVkIHx8IG9wdGlvbi5kaXNhYmxlZCkgJiYgb3B0aW9uLnNob3dJbmZvQnViYmxlXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJzbWUtcG9zaXRpb24tZmxleC1ub25lIHNtZS1pY29uIHNtZS1pbmZvLWJ1YmJsZSBzbWUtaWNvbi1pbmZvIHNtZS1tYXJnaW4tbGVmdC14c1wiXHJcbiAgICAgICAgICAgIFtzbWVUb29sdGlwXT1cIm9wdGlvbi5yZXNvbHZlZFRvb2x0aXBUZW1wbGF0ZVwiIFtzbWVUb29sdGlwQ29udGV4dF09XCJvcHRpb24udG9vbHRpcENvbnRleHQgfHwgb3B0aW9uXCJcclxuICAgICAgICAgICAgW3RpdGxlXT1cIm9wdGlvbi50b29sdGlwXCIgW3Rvb2x0aXBab25lXT1cInpvbmVcIj48L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiAqbmdJZj1cIihsb2FkaW5nT3JEaXNhYmxlZCB8fCBvcHRpb24uZGlzYWJsZWQpICYmIG9wdGlvbi5zaG93SW5mb0J1YmJsZVwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwic21lLXBvc2l0aW9uLWZsZXgtbm9uZSBzbWUtaWNvbiBzbWUtaW5mby1idWJibGUgc21lLWljb24taW5mbyBzbWUtbWFyZ2luLWxlZnQteHMgc21lLWNvbG9yLW5ldXRyYWxcIj48L3NwYW4+XHJcbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwib3B0aW9uLmRlc2NyaXB0aW9uXCIgY2xhc3M9XCJzbWUtbWFyZ2luLXRvcC14eHMgc21lLW1hcmdpbi1sZWZ0LWxnIHNtZS1tYXJnaW4tYm90dG9tLW1kXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPnt7b3B0aW9uLmRlc2NyaXB0aW9ufX08L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZmllbGRzZXQgY2xhc3M9XCJzbWUtbGF5b3V0LXJlbGF0aXZlIHNtZS1yYWRpby1zdWJmb3JtXCIgKm5nSWY9XCJvcHRpb24uc3ViRm9ybVRlbXBsYXRlXCJcclxuICAgICAgICAgIFtkaXNhYmxlZF09XCJsb2FkaW5nT3JEaXNhYmxlZCB8fCBvcHRpb24udmFsdWUgIT09IHZhbHVlXCI+XHJcbiAgICAgICAgICA8c21lLW9wdGlvbi10ZW1wbGF0ZS1sb2FkZXIgW3RlbXBsYXRlXT1cIm9wdGlvbi5zdWJGb3JtVGVtcGxhdGVcIiBbZGF0YV09XCJvcHRpb25cIiBbb3B0aW9uSW5kZXhdPVwib3B0aW9uSW5kZXhcIj5cclxuICAgICAgICAgIDwvc21lLW9wdGlvbi10ZW1wbGF0ZS1sb2FkZXI+XHJcbiAgICAgICAgPC9maWVsZHNldD5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGlzcGxheU1vZGUgPT09ICdpbmxpbmUnXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygb3B0aW9uczsgbGV0IG9wdGlvbkluZGV4ID0gaW5kZXhcIj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFvcHRpb24uaGlkZGVuXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNtZS1yYWRpbyBzbWUtcmFkaW8taW5saW5lIHNtZS1hcnJhbmdlLXN0YWNrLXZcIiAjem9uZT1cInNtZVRvb2x0aXBab25lXCIgc21lVG9vbHRpcFpvbmU+XHJcbiAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICA8aW5wdXQgI3JhZGlvSW5wdXQgdHlwZT1cInJhZGlvXCIgcm9sZT1cInJhZGlvXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJvcHRpb24ubGFiZWxcIiBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cIm9wdGlvbi5kZXNjcmlwdGlvblwiXHJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1jaGVja2VkXT1cIm9wdGlvbi5pc1NlbGVjdGVkXCIgW2F0dHIubmFtZV09XCJpZEJhZy5ncm91cE5hbWVcIiBbbmFtZV09XCJpZEJhZy5ncm91cE5hbWVcIlxyXG4gICAgICAgICAgICAgIFt2YWx1ZV09XCJvcHRpb24udmFsdWVcIiBbKG5nTW9kZWwpXT1cInZhbHVlXCIgW2F0dHIuYXJpYS1yZXF1aXJlZF09XCJyZXF1aXJlZFwiXHJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImxvYWRpbmdPckRpc2FibGVkIHx8IG9wdGlvbi5kaXNhYmxlZFwiPlxyXG4gICAgICAgICAgICA8c3BhbiBhcmlhLWhpZGRlbj1cInRydWVcIiAoY2xpY2spPVwidG9nZ2xlT3B0aW9uKG9wdGlvbiwgdHJ1ZSk7IHJhZGlvSW5wdXQuZm9jdXMoKVwiPnt7b3B0aW9uLmxhYmVsfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIShsb2FkaW5nT3JEaXNhYmxlZCB8fCBvcHRpb24uZGlzYWJsZWQpICYmIG9wdGlvbi5zaG93SW5mb0J1YmJsZVwiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJzbWUtcG9zaXRpb24tZmxleC1ub25lIHNtZS1pY29uIHNtZS1pbmZvLWJ1YmJsZSBzbWUtaWNvbi1pbmZvIHNtZS1tYXJnaW4tbGVmdC14c1wiXHJcbiAgICAgICAgICAgICAgW3NtZVRvb2x0aXBdPVwib3B0aW9uLnJlc29sdmVkVG9vbHRpcFRlbXBsYXRlXCIgW3NtZVRvb2x0aXBDb250ZXh0XT1cIm9wdGlvbi50b29sdGlwQ29udGV4dCB8fCBvcHRpb25cIlxyXG4gICAgICAgICAgICAgIFt0aXRsZV09XCJvcHRpb24udG9vbHRpcFwiIFt0b29sdGlwWm9uZV09XCJ6b25lXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cIihsb2FkaW5nT3JEaXNhYmxlZCB8fCBvcHRpb24uZGlzYWJsZWQpICYmIG9wdGlvbi5zaG93SW5mb0J1YmJsZVwiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJzbWUtcG9zaXRpb24tZmxleC1ub25lIHNtZS1pY29uIHNtZS1pbmZvLWJ1YmJsZSBzbWUtaWNvbi1pbmZvIHNtZS1tYXJnaW4tbGVmdC14cyBzbWUtY29sb3ItbmV1dHJhbFwiPjwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiAqbmdJZj1cIm9wdGlvbi5kZXNjcmlwdGlvblwiIGNsYXNzPVwic21lLW1hcmdpbi10b3AteHhzIHNtZS1tYXJnaW4tbGVmdC1sZyBzbWUtbWFyZ2luLWJvdHRvbS1tZFwiPlxyXG4gICAgICAgICAgICA8c3BhbiBhcmlhLWhpZGRlbj1cInRydWVcIiAoY2xpY2spPVwidG9nZ2xlT3B0aW9uKG9wdGlvbiwgdHJ1ZSk7IHJhZGlvSW5wdXQuZm9jdXMoKVwiPlxyXG4gICAgICAgICAgICAgIHt7b3B0aW9uLmRlc2NyaXB0aW9ufX1cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8ZGl2IGNsYXNzPVwic21lLWxheW91dC1yZWxhdGl2ZVwiPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygb3B0aW9uczsgbGV0IG9wdGlvbkluZGV4ID0gaW5kZXhcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIW9wdGlvbi5oaWRkZW5cIj5cclxuICAgICAgICAgIDxmaWVsZHNldCAqbmdJZj1cIm9wdGlvbi5zdWJGb3JtVGVtcGxhdGVcIiBjbGFzcz1cInNtZS1yYWRpby1zdWJmb3JtIHNtZS1yYWRpby1zdWJmb3JtLWlubGluZVwiXHJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJsb2FkaW5nT3JEaXNhYmxlZCB8fCBvcHRpb24udmFsdWUgIT09IHZhbHVlXCIgW2NsYXNzLnNtZS1sYXlvdXQtbm9uZV09XCIhb3B0aW9uLmlzU2VsZWN0ZWRcIj5cclxuICAgICAgICAgICAgPHNtZS1vcHRpb24tdGVtcGxhdGUtbG9hZGVyIFt0ZW1wbGF0ZV09XCJvcHRpb24uc3ViRm9ybVRlbXBsYXRlXCIgW2RhdGFdPVwib3B0aW9uXCIgW29wdGlvbkluZGV4XT1cIm9wdGlvbkluZGV4XCI+XHJcbiAgICAgICAgICAgIDwvc21lLW9wdGlvbi10ZW1wbGF0ZS1sb2FkZXI+XHJcbiAgICAgICAgICA8L2ZpZWxkc2V0PlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDxzbWUtdmFsaWRhdGlvbi1hbGVydCBbYWxlcnRdPVwiYWxlcnRcIj48L3NtZS12YWxpZGF0aW9uLWFsZXJ0PlxyXG48L3NtZS1mb3JtLWZpZWxkLWxheW91dD4iXX0=
|
|
475
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tZ3JvdXAtZm9ybS1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9hbmd1bGFyL3NyYy9jb250cm9scy9mb3JtL2Zvcm0tZmllbGQvcmFkaW8tZ3JvdXAvY2xhc3NpYy9yYWRpby1ncm91cC1mb3JtLWZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2FuZ3VsYXIvc3JjL2NvbnRyb2xzL2Zvcm0vZm9ybS1maWVsZC9yYWRpby1ncm91cC9jbGFzc2ljL3JhZGlvLWdyb3VwLWZvcm0tZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsd0NBQXdDLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUMxRyxPQUFPLEVBQTZDLG1CQUFtQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbEgsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLDBDQUEwQyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7SUFVaEYsZ0NBRWE7Ozs7SUFGZ0Qsa0VBQXdDLHdCQUFBLHlDQUFBLHFEQUFBOzs7O0lBTTdGLGdEQUV3QjtJQURwQixxWEFBK0Q7SUFFbkUsaUJBQXdCOzs7O0lBSEQsa0ZBQTBELCtFQUFBLDJCQUFBOzs7SUFIekYscUNBQ21HO0lBQy9GLDRIQUtjO0lBQ2xCLGlCQUFhOzs7O0lBUitDLGtFQUF3Qyx3QkFBQSx5Q0FBQSxxREFBQTs7O0lBSnhHLDZCQUEyQztJQUN2QyxnSEFFYTtJQUNiLGdIQVFhO0lBQ2pCLDBC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QUFDO3FCQUNqQjtpQkFDSjthQUNKO1lBQ0Q7Z0JBQ0ksSUFBSSxFQUFFLG1CQUFtQixDQUFDLE1BQU07Z0JBQ2hDLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixJQUFJLEVBQUUsY0FBYztnQkFDcEIsS0FBSyxFQUFFLDhGQUE4RjthQUN4RztZQUNEO2dCQUNJLElBQUksRUFBRSxtQkFBbUIsQ0FBQyxNQUFNO2dCQUNoQyxNQUFNLEVBQUUsU0FBUztnQkFDakIsSUFBSSxFQUFFLCtCQUErQjtnQkFDckMsS0FBSyxFQUFFLGdEQUFnRDthQUMxRDtTQUNKO0tBQ0osQ0FBQztxQ0FvQlksUUFBUTtHQWZiLDRCQUE0QixDQW9CeEM7U0FwQlksNEJBQTRCO3VGQUE1Qiw0QkFBNEI7Y0FKeEMsU0FBUztlQUFDO2dCQUNQLFFBQVEsRUFBRSxtQ0FBbUM7Z0JBQzdDLFdBQVcsRUFBRSx5Q0FBeUM7YUFDekQ7MkRBVVUsV0FBVztrQkFEakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0b3IsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNtZVNjaGVtYVByb3BlcnR5IH0gZnJvbSAnLi4vLi4vLi4vLi4vc2NoZW1hL3NjaGVtYS1kZWNvcmF0b3InO1xyXG5pbXBvcnQgeyBPYmplY3RQcm9wZXJ0eVNjaGVtYUZpZWxkTG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vc2NoZW1hL3NjaGVtYS1maWVsZC1ob3N0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNjaGVtYUFycmF5UHJvcGVydHksIFNjaGVtYU9iamVjdFByb3BlcnR5LCBTY2hlbWFQcmltaXRpdmVUeXBlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2NoZW1hL3NjaGVtYS1tb2RlbHMnO1xyXG5pbXBvcnQgeyBTY2hlbWFVdGlsaXRpZXMgfSBmcm9tICcuLi8uLi8uLi8uLi9zY2hlbWEvc2NoZW1hLXV0aWxpdGllcyc7XHJcbmltcG9ydCB7IFJhZGlvR3JvdXBGb3JtRmllbGRDb21wb25lbnRCYXNlIH0gZnJvbSAnLi4vcmFkaW8tZ3JvdXAtZm9ybS1maWVsZC5jb21wb25lbnQuYmFzZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHRlbXBsYXRlOiBgXHJcbiAgICA8c21lLWZvcm0tZmllbGQgI2ZpZWxkIHR5cGU9XCJyYWRpb2dyb3VwXCIgWyhuZ01vZGVsKV09XCJkYXRhLm9wdGlvblwiIFtuYW1lXT1cInByb3BlcnR5U2NoZW1hLm5hbWVcIlxyXG4gICAgICAgIFtsYWJlbF09XCJsb2NhbGl6ZShwcm9wZXJ0eVNjaGVtYS5sYWJlbClcIiBbcmVxdWlyZWRdPVwicHJvcGVydHlTY2hlbWEucmVxdWlyZWRcIiBbZGVzY3JpcHRpb25dPVwicHJvcGVydHlTY2hlbWEuZGVzY3JpcHRpb25cIlxyXG4gICAgICAgIFtyZWFkb25seV09XCIhIWV2YWxFeHByZXNzaW9uKHByb3BlcnR5U2NoZW1hLnJlYWRvbmx5Q29uZGl0aW9uKVwiXHJcbiAgICAgICAgW2Rpc2FibGVkXT1cIiEhKHByb3BlcnR5U2NoZW1hLmRpc2FibGVkQ29uZGl0aW9uICYmIGV2YWxFeHByZXNzaW9uKHByb3BlcnR5U2NoZW1hLmRpc2FibGVkQ29uZGl0aW9uKSlcIlxyXG4gICAgICAgIChjdXN0b21WYWxpZGF0ZSk9XCJyZXNvbHZlRnVuY3Rpb24ocHJvcGVydHlTY2hlbWEuY3VzdG9tVmFsaWRhdGlvbikoJGV2ZW50KVwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygb3B0aW9uc1wiPlxyXG4gICAgICAgICAgICA8c21lLW9wdGlvbiAqbmdJZj1cIiFnZXRPYmplY3RPcHRpb25CeU1haW5PcHRpb24oaXRlbS52YWx1ZSlcIiBbZGlzYWJsZWRdPVwic2hvdWxkRGlzYWJsZSgpPT1pdGVtLnZhbHVlXCJcclxuICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJpdGVtLnZhbHVlXCIgW2xhYmVsXT1cImxvY2FsaXplKGl0ZW0ubGFiZWwpXCIgW2Rlc2NyaXB0aW9uXT1cImxvY2FsaXplKGl0ZW0uZGVzY3JpcHRpb24pXCI+XHJcbiAgICAgICAgICAgIDwvc21lLW9wdGlvbj5cclxuICAgICAgICAgICAgPHNtZS1vcHRpb24gKm5nSWY9XCJnZXRPYmplY3RPcHRpb25CeU1haW5PcHRpb24oaXRlbS52YWx1ZSlcIiBbZGlzYWJsZWRdPVwic2hvdWxkRGlzYWJsZSgpPT1pdGVtLnZhbHVlXCJcclxuICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJpdGVtLnZhbHVlXCIgW2xhYmVsXT1cImxvY2FsaXplKGl0ZW0ubGFiZWwpXCIgW2Rlc2NyaXB0aW9uXT1cImxvY2FsaXplKGl0ZW0uZGVzY3JpcHRpb24pXCI+XHJcbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNtZS1zY2hlbWEtZmllbGQtaG9zdCBbcHJvcGVydHlTY2hlbWFdPVwiZ2V0T2JqZWN0T3B0aW9uQnlNYWluT3B0aW9uKGl0ZW0udmFsdWUpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgWyhkYXRhKV09XCJkYXRhLm9iamVjdE9wdGlvbnMgJiYgZGF0YS5vYmplY3RPcHRpb25zW2l0ZW0udmFsdWVdXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2NvbnRleHRdPVwiY29udGV4dFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc21lLXNjaGVtYS1maWVsZC1ob3N0PlxyXG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPC9zbWUtb3B0aW9uPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9zbWUtZm9ybS1maWVsZD5cclxuICAgIGBcclxufSlcclxuZXhwb3J0IGNsYXNzIFJhZGlvR3JvdXBGb3JtRmllbGRMb2FkZXJDb21wb25lbnQgZXh0ZW5kcyBPYmplY3RQcm9wZXJ0eVNjaGVtYUZpZWxkTG9hZGVyQ29tcG9uZW50IHtcclxuICAgIHB1YmxpYyBnZXQgb3B0aW9ucygpOiBhbnlbXSB7XHJcbiAgICAgICAgbGV0IHJlc3VsdDogYW55W10gPSBbXTtcclxuICAgICAgICBjb25zdCBzdGF0aWNPcHRpb25zOiBhbnlbXSA9IHRoaXMucHJvcGVydHlTY2hlbWEub3B0aW9ucyAmJiB0aGlzLnByb3BlcnR5U2NoZW1hLm9wdGlvbnMuaXRlbXMgfHwgW107XHJcbiAgICAgICAgY29uc3QgZHluYW1pY09wdGlvbnM6IGFueVtdID0gdGhpcy5yZXNvbHZlQ29tcG9uZW50TWVtYmVyKHRoaXMucHJvcGVydHlTY2hlbWEub3B0aW9ucy5pdGVtc0JpbmRpbmcpO1xyXG5cclxuICAgICAgICBpZiAoc3RhdGljT3B0aW9ucykge1xyXG4gICAgICAgICAgICByZXN1bHQgPSByZXN1bHQuY29uY2F0KHN0YXRpY09wdGlvbnMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoZHluYW1pY09wdGlvbnMpIHtcclxuICAgICAgICAgICAgcmVzdWx0ID0gcmVzdWx0LmNvbmNhdChkeW5hbWljT3B0aW9ucyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXRPYmplY3RPcHRpb25CeU1haW5PcHRpb24obWFpbk9wdGlvblZhbHVlOiBzdHJpbmcpOiBTY2hlbWFPYmplY3RQcm9wZXJ0eSB7XHJcbiAgICAgICAgY29uc3Qgb2JqZWN0T3B0aW9ucyA9IDxTY2hlbWFPYmplY3RQcm9wZXJ0eT5TY2hlbWFVdGlsaXRpZXMuZ2V0UHJvcGVydHlTY2hlbWFCeU5hbWUodGhpcy5wcm9wZXJ0eVNjaGVtYSwgJ29iamVjdE9wdGlvbnMnKTtcclxuICAgICAgICBjb25zdCBvYmplY3RPcHRpb246IFNjaGVtYU9iamVjdFByb3BlcnR5ID1cclxuICAgICAgICAgICAgPFNjaGVtYU9iamVjdFByb3BlcnR5PlNjaGVtYVV0aWxpdGllcy5nZXRQcm9wZXJ0eVNjaGVtYUJ5TmFtZShvYmplY3RPcHRpb25zLCBtYWluT3B0aW9uVmFsdWUpO1xyXG4gICAgICAgIHJldHVybiBvYmplY3RPcHRpb247XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGlzVmFsaWQoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgbGV0IHJlc3VsdCA9IHRydWU7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLnByb3BlcnR5U2NoZW1hLnJlcXVpcmVkICYmICF0aGlzLmRhdGEub3B0aW9uKSB7XHJcbiAgICAgICAgICAgIHJlc3VsdCA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHJlc3VsdCkge1xyXG4gICAgICAgICAgICBjb25zdCBmaWVsZEhvc3RDb21wb25lbnRzID0gdGhpcy5maWVsZEhvc3RDb21wb25lbnRzLnRvQXJyYXkoKTtcclxuICAgICAgICAgICAgY29uc3QgZmllbGRIb3N0Q29tcG9uZW50Rm9yU2VsZWN0ZWRPcHRpb24gPSBmaWVsZEhvc3RDb21wb25lbnRzLmZpbmQoaXRlbSA9PiBpdGVtLnByb3BlcnR5U2NoZW1hLm5hbWUgPT09IHRoaXMuZGF0YS5vcHRpb24pO1xyXG4gICAgICAgICAgICBpZiAoZmllbGRIb3N0Q29tcG9uZW50Rm9yU2VsZWN0ZWRPcHRpb24pIHtcclxuICAgICAgICAgICAgICAgIHJlc3VsdCA9IGZpZWxkSG9zdENvbXBvbmVudEZvclNlbGVjdGVkT3B0aW9uLmlzVmFsaWQoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc2hvdWxkRGlzYWJsZSgpOiBib29sZWFuIHtcclxuICAgICAgICBsZXQgcmVzdWx0ID0gZmFsc2U7XHJcbiAgICAgICAgaWYgKHRoaXMucHJvcGVydHlTY2hlbWEub3B0aW9ucyAmJiB0aGlzLnByb3BlcnR5U2NoZW1hLm9wdGlvbnMub3B0aW9uRGlzYWJsZUNvbmRpdGlvbkhhbmRsZXIpIHtcclxuICAgICAgICAgICAgY29uc3QgaGFuZGxlciA9IHRoaXMucmVzb2x2ZUZ1bmN0aW9uKHRoaXMucHJvcGVydHlTY2hlbWEub3B0aW9ucy5vcHRpb25EaXNhYmxlQ29uZGl0aW9uSGFuZGxlcik7XHJcbiAgICAgICAgICAgIHJlc3VsdCA9IGhhbmRsZXIodGhpcy5kYXRhLCB0aGlzLmNvbnRleHQuZm9ybURhdGEpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIFRoZSBkaXNwbGF5IHR5cGUgb2YgdGhlIHJhZGlvIGdyb3VwLlxyXG4gKiAtIExpc3QgaXMgYSB2ZXJ0aWNhbCBkaXNwbGF5IG9mIHRyYWRpdGlvbmFsIHJhZGlvIGJ1dHRvbnNcclxuICogLSBpbmxpbmUsIGlzIHN0aWxsIHRyYWRpdGlvbmFsIHJhZGlvIGJ1dHRvbnMgYnV0IGlubGluZVxyXG4gKi9cclxuZXhwb3J0IHR5cGUgUmFkaW9Hcm91cERpc3BsYXlNb2RlID0gJ2xpc3QnIHwgJ2lubGluZSc7XHJcblxyXG4vKipcclxuICogQWNjZXNzaWJsZSBJbXBsZW1lbnRhdGlvbiBvZiBhIGZvcm0gZmllbGQgZm9yIGEgc2V0IG9mIC5zbWUtcmFkaW9cclxuICovXHJcbkBTbWVTY2hlbWFQcm9wZXJ0eShcclxuICAgIHtcclxuICAgICAgICB0eXBlOiBTY2hlbWFQcmltaXRpdmVUeXBlLk9iamVjdCxcclxuICAgICAgICBmb3JtYXQ6ICdyYWRpby1ncm91cCcsXHJcbiAgICAgICAgZGVzY3JpcHRpb246ICdBIHJhZGlvIGdyb3VwIGNvbnRyb2wgYmluZGluZyB0byBvYmplY3QgZGF0YS4nLFxyXG4gICAgICAgIGxvYWRlckNvbXBvbmVudDogUmFkaW9Hcm91cEZvcm1GaWVsZExvYWRlckNvbXBvbmVudCxcclxuICAgICAgICBwcmVkZWZpbmVkT2JqZWN0UHJvcGVydGllczogW1xyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB0eXBlOiBTY2hlbWFQcmltaXRpdmVUeXBlLlN0cmluZyxcclxuICAgICAgICAgICAgICAgIGZvcm1hdDogJ3RleHRib3gnLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogJ29wdGlvbidcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgPFNjaGVtYU9iamVjdFByb3BlcnR5PntcclxuICAgICAgICAgICAgICAgIHR5cGU6IFNjaGVtYVByaW1pdGl2ZVR5cGUuT2JqZWN0LFxyXG4gICAgICAgICAgICAgICAgZm9ybWF0OiAnZGVmYXVsdCcsXHJcbiAgICAgICAgICAgICAgICBuYW1lOiAnb2JqZWN0T3B0aW9ucycsXHJcbiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOiBbXHJcbiAgICAgICAgICAgICAgICAgICAgPFNjaGVtYU9iamVjdFByb3BlcnR5PntcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogU2NoZW1hUHJpbWl0aXZlVHlwZS5PYmplY3QsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1hdDogJ2RlZmF1bHQnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnPG9iamVjdCBkYXRhIGZvciBvcHRpb24gMT4nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOiBbXVxyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgPFNjaGVtYU9iamVjdFByb3BlcnR5PntcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogU2NoZW1hUHJpbWl0aXZlVHlwZS5PYmplY3QsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1hdDogJ2RlZmF1bHQnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnPG9iamVjdCBkYXRhIGZvciBvcHRpb24gMj4nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOiBbXVxyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgPFNjaGVtYU9iamVjdFByb3BlcnR5PntcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogU2NoZW1hUHJpbWl0aXZlVHlwZS5PYmplY3QsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1hdDogJ2RlZmF1bHQnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnPG9iamVjdCBkYXRhIGZvciBvcHRpb24gMz4nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOiBbXVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIF1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIF0sXHJcbiAgICAgICAgb3B0aW9uUHJvcGVydGllczogW1xyXG4gICAgICAgICAgICA8U2NoZW1hQXJyYXlQcm9wZXJ0eT57XHJcbiAgICAgICAgICAgICAgICB0eXBlOiBTY2hlbWFQcmltaXRpdmVUeXBlLkFycmF5LFxyXG4gICAgICAgICAgICAgICAgZm9ybWF0OiAnc2ltcGxlLWxpc3QnLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogJ2l0ZW1zJyxcclxuICAgICAgICAgICAgICAgIGxhYmVsOiAncmVzb3VyY2VzOnN0cmluZ3M6TXNmdFNtZVNoZWxsLkFuZ3VsYXIuU2NoZW1hRm9ybS5FZGl0b3IuUHJvcGVydHlGb3JtLk9wdGlvbnMuU3RhdGljT3B0aW9ucycsXHJcbiAgICAgICAgICAgICAgICBpdGVtOiA8U2NoZW1hT2JqZWN0UHJvcGVydHk+e1xyXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IFNjaGVtYVByaW1pdGl2ZVR5cGUuT2JqZWN0LFxyXG4gICAgICAgICAgICAgICAgICAgIGZvcm1hdDogJ2RlZmF1bHQnLFxyXG4gICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6IFtcclxuICAgICAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogU2NoZW1hUHJpbWl0aXZlVHlwZS5TdHJpbmcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXQ6ICdyZXNvdXJjZS1zdHJpbmctcGlja2VyJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdsYWJlbCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ3Jlc291cmNlczpzdHJpbmdzOk1zZnRTbWVTaGVsbC5Bbmd1bGFyLlNjaGVtYUZvcm0uRWRpdG9yLlByb3BlcnR5Rm9ybS5PcHRpb25zLkxhYmVsJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFNjaGVtYVByaW1pdGl2ZVR5cGUuU3RyaW5nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0OiAncmVzb3VyY2Utc3RyaW5nLXBpY2tlcicsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnZGVzY3JpcHRpb24nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdyZXNvdXJjZXM6c3RyaW5nczpNc2Z0U21lU2hlbGwuQW5ndWxhci5TY2hlbWFGb3JtLkVkaXRvci5Qcm9wZXJ0eUZvcm0uT3B0aW9ucy5EZXNjcmlwdGlvbicsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogdHJ1ZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBTY2hlbWFQcmltaXRpdmVUeXBlLlN0cmluZyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1hdDogJ3RleHRib3gnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ3ZhbHVlJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAncmVzb3VyY2VzOnN0cmluZ3M6TXNmdFNtZVNoZWxsLkFuZ3VsYXIuU2NoZW1hRm9ybS5FZGl0b3IuUHJvcGVydHlGb3JtLk9wdGlvbnMuVmFsdWUnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWVcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9uczoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW5Db3VudDogMVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdHlwZTogU2NoZW1hUHJpbWl0aXZlVHlwZS5TdHJpbmcsXHJcbiAgICAgICAgICAgICAgICBmb3JtYXQ6ICd0ZXh0Ym94JyxcclxuICAgICAgICAgICAgICAgIG5hbWU6ICdpdGVtc0JpbmRpbmcnLFxyXG4gICAgICAgICAgICAgICAgbGFiZWw6ICdyZXNvdXJjZXM6c3RyaW5nczpNc2Z0U21lU2hlbGwuQW5ndWxhci5TY2hlbWFGb3JtLkVkaXRvci5Qcm9wZXJ0eUZvcm0uT3B0aW9ucy5EeW5hbWljT3B0aW9ucydcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdHlwZTogU2NoZW1hUHJpbWl0aXZlVHlwZS5TdHJpbmcsXHJcbiAgICAgICAgICAgICAgICBmb3JtYXQ6ICd0ZXh0Ym94JyxcclxuICAgICAgICAgICAgICAgIG5hbWU6ICdvcHRpb25EaXNhYmxlQ29uZGl0aW9uSGFuZGxlcicsXHJcbiAgICAgICAgICAgICAgICBsYWJlbDogJ2FjdHVhbF9zdHJpbmc6T3B0aW9uIERpc2FibGUgQ29uZGl0aW9uIEhhbmRsZXInXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICBdXHJcbiAgICB9KVxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnc21lLWZvcm0tZmllbGRbdHlwZT1cInJhZGlvZ3JvdXBcIl0nLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3JhZGlvLWdyb3VwLWZvcm0tZmllbGQuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSYWRpb0dyb3VwRm9ybUZpZWxkQ29tcG9uZW50IGV4dGVuZHMgUmFkaW9Hcm91cEZvcm1GaWVsZENvbXBvbmVudEJhc2Uge1xyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgc291cmNlIG5hbWUgdG8gdXNlIGZvciBsb2dnaW5nXHJcbiAgICAgKi9cclxuICAgIHByb3RlY3RlZCBnZXQgbG9nU291cmNlTmFtZSgpIHtcclxuICAgICAgICByZXR1cm4gJ1JhZGlvR3JvdXBGb3JtRmllbGRDb21wb25lbnQnO1xyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZGlzcGxheU1vZGU6IFJhZGlvR3JvdXBEaXNwbGF5TW9kZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEluaXRpYWxpemVzIGEgbmV3IGluc3RhbmNlIG9mIHRoZSBSYWRpb0dyb3VwRm9ybUZpZWxkQ29tcG9uZW50XHJcbiAgICAgKi9cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIGluamVjdG9yOiBJbmplY3RvclxyXG4gICAgKSB7XHJcbiAgICAgICAgc3VwZXIoaW5qZWN0b3IpO1xyXG4gICAgICAgIHRoaXMuZGlzcGxheU1vZGUgPSAnbGlzdCc7XHJcbiAgICB9XHJcbn1cclxuIiwiPHNtZS1mb3JtLWZpZWxkLWxheW91dCBbZm9ybUZpZWxkXT1cInRoaXNcIj5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGlzcGxheU1vZGUgPT09ICdsaXN0J1wiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIG9wdGlvbnM7IGxldCBvcHRpb25JbmRleCA9IGluZGV4XCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhb3B0aW9uLmhpZGRlblwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzbWUtcmFkaW9cIiAjem9uZT1cInNtZVRvb2x0aXBab25lXCIgc21lVG9vbHRpcFpvbmUgKGNsaWNrKT1cInRvZ2dsZU9wdGlvbihvcHRpb24sIHRydWUpOyByYWRpb0lucHV0LmZvY3VzKClcIj5cclxuICAgICAgICAgIDxpbnB1dCAjcmFkaW9JbnB1dCB0eXBlPVwicmFkaW9cIiByb2xlPVwicmFkaW9cIiBbYXR0ci5hcmlhLWxhYmVsXT1cIm9wdGlvbi5sYWJlbFwiIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwib3B0aW9uLmRlc2NyaXB0aW9uXCJcclxuICAgICAgICAgICAgW2F0dHIuYXJpYS1jaGVja2VkXT1cIm9wdGlvbi5pc1NlbGVjdGVkXCIgW2F0dHIubmFtZV09XCJpZEJhZy5ncm91cE5hbWVcIiBbbmFtZV09XCJpZEJhZy5ncm91cE5hbWVcIiBbYXR0ci5kYXRhLXV0YS1pZF09XCJvcHRpb24udXRhSWRcIlxyXG4gICAgICAgICAgICBbdmFsdWVdPVwib3B0aW9uLnZhbHVlXCIgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiIFthdHRyLmFyaWEtcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxyXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwibG9hZGluZ09yRGlzYWJsZWQgfHwgb3B0aW9uLmRpc2FibGVkXCI+XHJcbiAgICAgICAgICA8c3BhbiBhcmlhLWhpZGRlbj1cInRydWVcIj57e29wdGlvbi5sYWJlbH19PC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCIhKGxvYWRpbmdPckRpc2FibGVkIHx8IG9wdGlvbi5kaXNhYmxlZCkgJiYgb3B0aW9uLnNob3dJbmZvQnViYmxlXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJzbWUtcG9zaXRpb24tZmxleC1ub25lIHNtZS1pY29uIHNtZS1pbmZvLWJ1YmJsZSBzbWUtaWNvbi1pbmZvIHNtZS1tYXJnaW4tbGVmdC14c1wiXHJcbiAgICAgICAgICAgIFtzbWVUb29sdGlwXT1cIm9wdGlvbi5yZXNvbHZlZFRvb2x0aXBUZW1wbGF0ZVwiIFtzbWVUb29sdGlwQ29udGV4dF09XCJvcHRpb24udG9vbHRpcENvbnRleHQgfHwgb3B0aW9uXCJcclxuICAgICAgICAgICAgW3RpdGxlXT1cIm9wdGlvbi50b29sdGlwXCIgW3Rvb2x0aXBab25lXT1cInpvbmVcIj48L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiAqbmdJZj1cIihsb2FkaW5nT3JEaXNhYmxlZCB8fCBvcHRpb24uZGlzYWJsZWQpICYmIG9wdGlvbi5zaG93SW5mb0J1YmJsZVwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwic21lLXBvc2l0aW9uLWZsZXgtbm9uZSBzbWUtaWNvbiBzbWUtaW5mby1idWJibGUgc21lLWljb24taW5mbyBzbWUtbWFyZ2luLWxlZnQteHMgc21lLWNvbG9yLW5ldXRyYWxcIj48L3NwYW4+XHJcbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwib3B0aW9uLmRlc2NyaXB0aW9uXCIgY2xhc3M9XCJzbWUtbWFyZ2luLXRvcC14eHMgc21lLW1hcmdpbi1sZWZ0LWxnIHNtZS1tYXJnaW4tYm90dG9tLW1kXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPnt7b3B0aW9uLmRlc2NyaXB0aW9ufX08L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZmllbGRzZXQgY2xhc3M9XCJzbWUtbGF5b3V0LXJlbGF0aXZlIHNtZS1yYWRpby1zdWJmb3JtXCIgKm5nSWY9XCJvcHRpb24uc3ViRm9ybVRlbXBsYXRlXCJcclxuICAgICAgICAgIFtkaXNhYmxlZF09XCJsb2FkaW5nT3JEaXNhYmxlZCB8fCBvcHRpb24udmFsdWUgIT09IHZhbHVlXCI+XHJcbiAgICAgICAgICA8c21lLW9wdGlvbi10ZW1wbGF0ZS1sb2FkZXIgW3RlbXBsYXRlXT1cIm9wdGlvbi5zdWJGb3JtVGVtcGxhdGVcIiBbZGF0YV09XCJvcHRpb25cIiBbb3B0aW9uSW5kZXhdPVwib3B0aW9uSW5kZXhcIj5cclxuICAgICAgICAgIDwvc21lLW9wdGlvbi10ZW1wbGF0ZS1sb2FkZXI+XHJcbiAgICAgICAgPC9maWVsZHNldD5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGlzcGxheU1vZGUgPT09ICdpbmxpbmUnXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygb3B0aW9uczsgbGV0IG9wdGlvbkluZGV4ID0gaW5kZXhcIj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFvcHRpb24uaGlkZGVuXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNtZS1yYWRpbyBzbWUtcmFkaW8taW5saW5lIHNtZS1hcnJhbmdlLXN0YWNrLXZcIiAjem9uZT1cInNtZVRvb2x0aXBab25lXCIgc21lVG9vbHRpcFpvbmU+XHJcbiAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICA8aW5wdXQgI3JhZGlvSW5wdXQgdHlwZT1cInJhZGlvXCIgcm9sZT1cInJhZGlvXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJvcHRpb24ubGFiZWxcIiBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cIm9wdGlvbi5kZXNjcmlwdGlvblwiXHJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1jaGVja2VkXT1cIm9wdGlvbi5pc1NlbGVjdGVkXCIgW2F0dHIubmFtZV09XCJpZEJhZy5ncm91cE5hbWVcIiBbbmFtZV09XCJpZEJhZy5ncm91cE5hbWVcIiBbYXR0ci5kYXRhLXV0YS1pZF09XCJvcHRpb24udXRhSWRcIlxyXG4gICAgICAgICAgICAgIFt2YWx1ZV09XCJvcHRpb24udmFsdWVcIiBbKG5nTW9kZWwpXT1cInZhbHVlXCIgW2F0dHIuYXJpYS1yZXF1aXJlZF09XCJyZXF1aXJlZFwiXHJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImxvYWRpbmdPckRpc2FibGVkIHx8IG9wdGlvbi5kaXNhYmxlZFwiPlxyXG4gICAgICAgICAgICA8c3BhbiBhcmlhLWhpZGRlbj1cInRydWVcIiAoY2xpY2spPVwidG9nZ2xlT3B0aW9uKG9wdGlvbiwgdHJ1ZSk7IHJhZGlvSW5wdXQuZm9jdXMoKVwiPnt7b3B0aW9uLmxhYmVsfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIShsb2FkaW5nT3JEaXNhYmxlZCB8fCBvcHRpb24uZGlzYWJsZWQpICYmIG9wdGlvbi5zaG93SW5mb0J1YmJsZVwiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJzbWUtcG9zaXRpb24tZmxleC1ub25lIHNtZS1pY29uIHNtZS1pbmZvLWJ1YmJsZSBzbWUtaWNvbi1pbmZvIHNtZS1tYXJnaW4tbGVmdC14c1wiXHJcbiAgICAgICAgICAgICAgW3NtZVRvb2x0aXBdPVwib3B0aW9uLnJlc29sdmVkVG9vbHRpcFRlbXBsYXRlXCIgW3NtZVRvb2x0aXBDb250ZXh0XT1cIm9wdGlvbi50b29sdGlwQ29udGV4dCB8fCBvcHRpb25cIlxyXG4gICAgICAgICAgICAgIFt0aXRsZV09XCJvcHRpb24udG9vbHRpcFwiIFt0b29sdGlwWm9uZV09XCJ6b25lXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cIihsb2FkaW5nT3JEaXNhYmxlZCB8fCBvcHRpb24uZGlzYWJsZWQpICYmIG9wdGlvbi5zaG93SW5mb0J1YmJsZVwiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJzbWUtcG9zaXRpb24tZmxleC1ub25lIHNtZS1pY29uIHNtZS1pbmZvLWJ1YmJsZSBzbWUtaWNvbi1pbmZvIHNtZS1tYXJnaW4tbGVmdC14cyBzbWUtY29sb3ItbmV1dHJhbFwiPjwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiAqbmdJZj1cIm9wdGlvbi5kZXNjcmlwdGlvblwiIGNsYXNzPVwic21lLW1hcmdpbi10b3AteHhzIHNtZS1tYXJnaW4tbGVmdC1sZyBzbWUtbWFyZ2luLWJvdHRvbS1tZFwiPlxyXG4gICAgICAgICAgICA8c3BhbiBhcmlhLWhpZGRlbj1cInRydWVcIiAoY2xpY2spPVwidG9nZ2xlT3B0aW9uKG9wdGlvbiwgdHJ1ZSk7IHJhZGlvSW5wdXQuZm9jdXMoKVwiPlxyXG4gICAgICAgICAgICAgIHt7b3B0aW9uLmRlc2NyaXB0aW9ufX1cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8ZGl2IGNsYXNzPVwic21lLWxheW91dC1yZWxhdGl2ZVwiPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygb3B0aW9uczsgbGV0IG9wdGlvbkluZGV4ID0gaW5kZXhcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIW9wdGlvbi5oaWRkZW5cIj5cclxuICAgICAgICAgIDxmaWVsZHNldCAqbmdJZj1cIm9wdGlvbi5zdWJGb3JtVGVtcGxhdGVcIiBjbGFzcz1cInNtZS1yYWRpby1zdWJmb3JtIHNtZS1yYWRpby1zdWJmb3JtLWlubGluZVwiXHJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJsb2FkaW5nT3JEaXNhYmxlZCB8fCBvcHRpb24udmFsdWUgIT09IHZhbHVlXCIgW2NsYXNzLnNtZS1sYXlvdXQtbm9uZV09XCIhb3B0aW9uLmlzU2VsZWN0ZWRcIj5cclxuICAgICAgICAgICAgPHNtZS1vcHRpb24tdGVtcGxhdGUtbG9hZGVyIFt0ZW1wbGF0ZV09XCJvcHRpb24uc3ViRm9ybVRlbXBsYXRlXCIgW2RhdGFdPVwib3B0aW9uXCIgW29wdGlvbkluZGV4XT1cIm9wdGlvbkluZGV4XCI+XHJcbiAgICAgICAgICAgIDwvc21lLW9wdGlvbi10ZW1wbGF0ZS1sb2FkZXI+XHJcbiAgICAgICAgICA8L2ZpZWxkc2V0PlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDxzbWUtdmFsaWRhdGlvbi1hbGVydCBbYWxlcnRdPVwiYWxlcnRcIj48L3NtZS12YWxpZGF0aW9uLWFsZXJ0PlxyXG48L3NtZS1mb3JtLWZpZWxkLWxheW91dD4iXX0=
|