@koobiq/components 18.36.0 → 18.37.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/autocomplete/autocomplete.scss +2 -17
- package/breadcrumbs/breadcrumbs.d.ts +2 -1
- package/breadcrumbs/breadcrumbs.scss +4 -4
- package/button/button.component.d.ts +1 -0
- package/button-toggle/button-toggle.scss +0 -2
- package/content-panel/content-panel.d.ts +1 -1
- package/content-panel/index.d.ts +0 -1
- package/core/common-behaviors/hover.d.ts +15 -0
- package/core/common-behaviors/index.d.ts +1 -1
- package/core/locales/formatters.d.ts +0 -72
- package/core/locales/index.d.ts +0 -2
- package/core/locales/locale-service.d.ts +0 -392
- package/core/option/option.d.ts +3 -2
- package/core/select/common.d.ts +3 -1
- package/core/styles/common/_select.scss +20 -0
- package/core/styles/typography/_typography.scss +23 -82
- package/datepicker/datepicker-module.d.ts +2 -1
- package/dropdown/dropdown-item.scss +8 -7
- package/dropdown/dropdown.scss +5 -14
- package/esm2022/autocomplete/autocomplete-trigger.directive.mjs +4 -4
- package/esm2022/breadcrumbs/breadcrumbs.mjs +46 -37
- package/esm2022/button/button.component.mjs +6 -4
- package/esm2022/button-toggle/button-toggle.component.mjs +2 -2
- package/esm2022/code-block/code-block-highlight.mjs +6 -1
- package/esm2022/content-panel/content-panel.mjs +2 -2
- package/esm2022/content-panel/index.mjs +1 -2
- package/esm2022/core/common-behaviors/color.mjs +2 -1
- package/esm2022/core/common-behaviors/common-module.mjs +2 -1
- package/esm2022/core/common-behaviors/disabled.mjs +2 -1
- package/esm2022/core/common-behaviors/error-state.mjs +2 -1
- package/esm2022/core/common-behaviors/hover.mjs +34 -0
- package/esm2022/core/common-behaviors/index.mjs +2 -2
- package/esm2022/core/common-behaviors/tabindex.mjs +2 -1
- package/esm2022/core/form-field/field-sizing-content.mjs +5 -2
- package/esm2022/core/formatters/number/formatter.mjs +2 -2
- package/esm2022/core/locales/es-LA.mjs +10 -10
- package/esm2022/core/locales/formatters.mjs +1 -73
- package/esm2022/core/locales/index.mjs +1 -3
- package/esm2022/core/locales/locale-service.mjs +2 -8
- package/esm2022/core/locales/pt-BR.mjs +19 -19
- package/esm2022/core/locales/tk-TM.mjs +24 -24
- package/esm2022/core/option/option.mjs +10 -6
- package/esm2022/core/pop-up/pop-up-trigger.mjs +2 -1
- package/esm2022/core/select/common.mjs +10 -4
- package/esm2022/core/version.mjs +2 -2
- package/esm2022/datepicker/calendar-header.component.mjs +5 -4
- package/esm2022/datepicker/datepicker-module.mjs +7 -4
- package/esm2022/dropdown/dropdown-item.component.mjs +2 -2
- package/esm2022/dropdown/dropdown.component.mjs +3 -3
- package/esm2022/ellipsis-center/ellipsis-center.directive.mjs +5 -2
- package/esm2022/file-upload/file-drop.mjs +5 -3
- package/esm2022/file-upload/multiple-file-upload.component.mjs +9 -13
- package/esm2022/file-upload/single-file-upload.component.mjs +9 -4
- package/esm2022/filter-bar/filter-bar.mjs +6 -2
- package/esm2022/filter-bar/filter-search.mjs +3 -3
- package/esm2022/filter-bar/filters.mjs +10 -5
- package/esm2022/filter-bar/pipe-add.mjs +3 -2
- package/esm2022/filter-bar/pipes/base-pipe.mjs +11 -3
- package/esm2022/filter-bar/pipes/pipe-date.mjs +3 -3
- package/esm2022/filter-bar/pipes/pipe-datetime.mjs +3 -3
- package/esm2022/filter-bar/pipes/pipe-multi-select.mjs +5 -4
- package/esm2022/filter-bar/pipes/pipe-multi-tree-select.mjs +2 -2
- package/esm2022/filter-bar/pipes/pipe-select.mjs +2 -2
- package/esm2022/filter-bar/pipes/pipe-text.mjs +2 -2
- package/esm2022/filter-bar/pipes/pipe-title.mjs +24 -19
- package/esm2022/filter-bar/pipes/pipe-tree-select.mjs +2 -2
- package/esm2022/form-field/fieldset.mjs +2 -2
- package/esm2022/form-field/form-field.mjs +2 -2
- package/esm2022/form-field/stepper.mjs +41 -10
- package/esm2022/inline-edit/inline-edit.mjs +9 -5
- package/esm2022/input/input-number.mjs +7 -6
- package/esm2022/input/input.module.mjs +7 -4
- package/esm2022/list/list-selection.component.mjs +31 -15
- package/esm2022/markdown/markdown.component.mjs +7 -7
- package/esm2022/modal/modal-util.mjs +7 -3
- package/esm2022/modal/modal.component.mjs +2 -2
- package/esm2022/modal/modal.service.mjs +2 -1
- package/esm2022/navbar/navbar-item.component.mjs +5 -7
- package/esm2022/navbar/navbar.component.mjs +8 -4
- package/esm2022/navbar/vertical-navbar.component.mjs +2 -2
- package/esm2022/navbar-ic/navbar-ic-header.mjs +20 -4
- package/esm2022/navbar-ic/navbar-ic-item.mjs +7 -8
- package/esm2022/navbar-ic/navbar-ic.animation.mjs +10 -2
- package/esm2022/navbar-ic/navbar-ic.mjs +33 -9
- package/esm2022/popover/popover-confirm.component.mjs +3 -3
- package/esm2022/popover/popover.component.mjs +17 -4
- package/esm2022/resizer/index.mjs +3 -0
- package/esm2022/resizer/koobiq-components-resizer.mjs +5 -0
- package/esm2022/resizer/module.mjs +17 -0
- package/esm2022/resizer/resizer.mjs +135 -0
- package/esm2022/scrollbar/scrollbar.directive.mjs +4 -3
- package/esm2022/search-expandable/search-expandable.mjs +5 -5
- package/esm2022/select/select.component.mjs +2 -14
- package/esm2022/select/select.module.mjs +8 -4
- package/esm2022/sidepanel/sidepanel-container.component.mjs +3 -3
- package/esm2022/split-button/split-button.mjs +47 -6
- package/esm2022/tags/tag-input.mjs +24 -28
- package/esm2022/tags/tag-list.component.mjs +76 -87
- package/esm2022/tags/tag.component.mjs +29 -34
- package/esm2022/textarea/textarea.module.mjs +5 -4
- package/esm2022/time-range/constants.mjs +22 -1
- package/esm2022/time-range/time-range-editor.mjs +11 -6
- package/esm2022/time-range/time-range-title-as-form-field.mjs +2 -1
- package/esm2022/time-range/time-range.mjs +8 -3
- package/esm2022/time-range/time-range.service.mjs +43 -106
- package/esm2022/time-range/types.mjs +1 -1
- package/esm2022/timepicker/timepicker.module.mjs +5 -4
- package/esm2022/timezone/timezone-option.component.mjs +2 -2
- package/esm2022/timezone/timezone.module.mjs +6 -4
- package/esm2022/title/title.directive.mjs +6 -2
- package/esm2022/toggle/toggle.component.mjs +3 -3
- package/esm2022/top-bar/top-bar.mjs +2 -2
- package/esm2022/tree/tree-option.component.mjs +7 -6
- package/esm2022/tree/tree-selection.component.mjs +23 -13
- package/esm2022/tree-select/tree-select.component.mjs +97 -79
- package/esm2022/tree-select/tree-select.module.mjs +7 -4
- package/fesm2022/koobiq-components-autocomplete.mjs +3 -3
- package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
- package/fesm2022/koobiq-components-breadcrumbs.mjs +45 -36
- package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/koobiq-components-button-toggle.mjs +2 -2
- package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
- package/fesm2022/koobiq-components-button.mjs +5 -3
- package/fesm2022/koobiq-components-button.mjs.map +1 -1
- package/fesm2022/koobiq-components-code-block.mjs +5 -0
- package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
- package/fesm2022/koobiq-components-content-panel.mjs +3 -137
- package/fesm2022/koobiq-components-content-panel.mjs.map +1 -1
- package/fesm2022/koobiq-components-core.mjs +90 -478
- package/fesm2022/koobiq-components-core.mjs.map +1 -1
- package/fesm2022/koobiq-components-datepicker.mjs +8 -5
- package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
- package/fesm2022/koobiq-components-dropdown.mjs +4 -4
- package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
- package/fesm2022/koobiq-components-ellipsis-center.mjs +4 -1
- package/fesm2022/koobiq-components-ellipsis-center.mjs.map +1 -1
- package/fesm2022/koobiq-components-file-upload.mjs +19 -17
- package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
- package/fesm2022/koobiq-components-filter-bar.mjs +64 -41
- package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
- package/fesm2022/koobiq-components-form-field.mjs +44 -17
- package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
- package/fesm2022/koobiq-components-inline-edit.mjs +8 -4
- package/fesm2022/koobiq-components-inline-edit.mjs.map +1 -1
- package/fesm2022/koobiq-components-input.mjs +12 -9
- package/fesm2022/koobiq-components-input.mjs.map +1 -1
- package/fesm2022/koobiq-components-list.mjs +30 -14
- package/fesm2022/koobiq-components-list.mjs.map +1 -1
- package/fesm2022/koobiq-components-markdown.mjs +6 -6
- package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
- package/fesm2022/koobiq-components-modal.mjs +9 -4
- package/fesm2022/koobiq-components-modal.mjs.map +1 -1
- package/fesm2022/koobiq-components-navbar-ic.mjs +70 -26
- package/fesm2022/koobiq-components-navbar-ic.mjs.map +1 -1
- package/fesm2022/koobiq-components-navbar.mjs +13 -11
- package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
- package/fesm2022/koobiq-components-popover.mjs +18 -5
- package/fesm2022/koobiq-components-popover.mjs.map +1 -1
- package/fesm2022/koobiq-components-resizer.mjs +156 -0
- package/fesm2022/koobiq-components-resizer.mjs.map +1 -0
- package/fesm2022/koobiq-components-scrollbar.mjs +3 -2
- package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -1
- package/fesm2022/koobiq-components-search-expandable.mjs +4 -4
- package/fesm2022/koobiq-components-search-expandable.mjs.map +1 -1
- package/fesm2022/koobiq-components-select.mjs +8 -17
- package/fesm2022/koobiq-components-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-sidepanel.mjs +2 -2
- package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
- package/fesm2022/koobiq-components-split-button.mjs +46 -5
- package/fesm2022/koobiq-components-split-button.mjs.map +1 -1
- package/fesm2022/koobiq-components-tags.mjs +125 -146
- package/fesm2022/koobiq-components-tags.mjs.map +1 -1
- package/fesm2022/koobiq-components-textarea.mjs +4 -4
- package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
- package/fesm2022/koobiq-components-time-range.mjs +81 -112
- package/fesm2022/koobiq-components-time-range.mjs.map +1 -1
- package/fesm2022/koobiq-components-timepicker.mjs +4 -4
- package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
- package/fesm2022/koobiq-components-timezone.mjs +7 -5
- package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
- package/fesm2022/koobiq-components-title.mjs +5 -1
- package/fesm2022/koobiq-components-title.mjs.map +1 -1
- package/fesm2022/koobiq-components-toggle.mjs +2 -2
- package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
- package/fesm2022/koobiq-components-top-bar.mjs +2 -2
- package/fesm2022/koobiq-components-top-bar.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree-select.mjs +102 -82
- package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree.mjs +28 -17
- package/fesm2022/koobiq-components-tree.mjs.map +1 -1
- package/file-upload/_file-upload-theme.scss +32 -34
- package/file-upload/file-upload-tokens.scss +1 -2
- package/file-upload/file-upload.scss +4 -7
- package/file-upload/multiple-file-upload.component.d.ts +1 -1
- package/file-upload/multiple-file-upload.component.scss +12 -14
- package/file-upload/single-file-upload.component.d.ts +1 -0
- package/file-upload/single-file-upload.component.scss +5 -7
- package/filter-bar/filter-bar.d.ts +3 -1
- package/filter-bar/filter-search.scss +1 -3
- package/filter-bar/filters.d.ts +1 -0
- package/filter-bar/pipes/base-pipe.d.ts +5 -1
- package/filter-bar/pipes/pipe-date.scss +4 -2
- package/filter-bar/pipes/pipe-title.d.ts +2 -0
- package/form-field/fieldset-tokens.scss +2 -1
- package/form-field/form-field-tokens.scss +2 -2
- package/form-field/form-field.scss +9 -1
- package/form-field/stepper.d.ts +28 -6
- package/inline-edit/inline-edit.d.ts +5 -1
- package/input/input.module.d.ts +2 -1
- package/list/list-selection.component.d.ts +12 -1
- package/markdown/_markdown-theme.scss +0 -1
- package/markdown/markdown.scss +2 -4
- package/modal/modal-tokens.scss +2 -1
- package/modal/modal-util.d.ts +5 -2
- package/modal/modal.scss +3 -4
- package/navbar/_navbar-item_vertical.scss +10 -0
- package/navbar/navbar-brand.scss +5 -2
- package/navbar/vertical-navbar.scss +1 -0
- package/navbar-ic/navbar-ic-header.d.ts +3 -2
- package/navbar-ic/navbar-ic-header.scss +0 -4
- package/navbar-ic/navbar-ic-item.d.ts +1 -0
- package/navbar-ic/navbar-ic-item.scss +0 -4
- package/navbar-ic/navbar-ic.animation.d.ts +1 -0
- package/navbar-ic/navbar-ic.d.ts +7 -0
- package/package.json +16 -10
- package/popover/popover-tokens.scss +1 -0
- package/popover/popover.component.d.ts +5 -1
- package/popover/popover.scss +3 -4
- package/prebuilt-themes/dark-theme.css +1 -1
- package/prebuilt-themes/light-theme.css +1 -1
- package/prebuilt-themes/theme.css +1 -1
- package/resizer/index.d.ts +2 -0
- package/resizer/module.d.ts +7 -0
- package/{content-panel/resizable.d.ts → resizer/resizer.d.ts} +18 -13
- package/schematics/collection.json +5 -0
- package/schematics/migrations/icons-replacement/README.md +93 -0
- package/schematics/migrations/icons-replacement/data.js +92 -0
- package/schematics/migrations/icons-replacement/index.js +84 -0
- package/schematics/migrations/icons-replacement/schema.json +32 -0
- package/schematics/ng-add/index.js +6 -6
- package/scrollbar/scrollbar.component.scss +2 -3
- package/select/select.module.d.ts +2 -1
- package/select/select.scss +1 -17
- package/sidepanel/sidepanel-tokens.scss +2 -0
- package/sidepanel/sidepanel.scss +2 -0
- package/split-button/_split-button-theme.scss +89 -34
- package/split-button/split-button.d.ts +11 -5
- package/split-button/split-button.scss +40 -51
- package/tags/tag-input.d.ts +16 -7
- package/tags/tag-list.component.d.ts +44 -21
- package/tags/tag-list.scss +13 -14
- package/tags/tag.component.d.ts +20 -15
- package/textarea/textarea-tokens.scss +6 -1
- package/textarea/textarea.module.d.ts +2 -1
- package/textarea/textarea.scss +4 -0
- package/time-range/constants.d.ts +12 -1
- package/time-range/time-range-editor.d.ts +7 -9
- package/time-range/time-range-title-as-form-field.d.ts +1 -0
- package/time-range/time-range.d.ts +5 -2
- package/time-range/time-range.service.d.ts +7 -11
- package/time-range/types.d.ts +37 -11
- package/timepicker/timepicker.module.d.ts +2 -1
- package/timezone/timezone-option.component.scss +6 -0
- package/timezone/timezone.module.d.ts +1 -1
- package/toggle/_toggle-theme.scss +8 -5
- package/toggle/toggle-tokens.scss +0 -1
- package/toggle/toggle.scss +11 -15
- package/top-bar/top-bar-tokens.scss +1 -1
- package/top-bar/top-bar.scss +3 -0
- package/tree/tree-option.component.d.ts +1 -0
- package/tree/tree-selection.component.d.ts +11 -2
- package/tree-select/tree-select.component.d.ts +5 -5
- package/tree-select/tree-select.module.d.ts +2 -1
- package/tree-select/tree-select.scss +4 -0
- package/core/common-behaviors/hovered.d.ts +0 -13
- package/core/locales/fa-IR.d.ts +0 -162
- package/core/locales/zh-CN.d.ts +0 -162
- package/esm2022/content-panel/resizable.mjs +0 -138
- package/esm2022/core/common-behaviors/hovered.mjs +0 -31
- package/esm2022/core/locales/fa-IR.mjs +0 -173
- package/esm2022/core/locales/zh-CN.mjs +0 -161
|
@@ -122,6 +122,7 @@ export class KbqPopUpTrigger {
|
|
|
122
122
|
}
|
|
123
123
|
else {
|
|
124
124
|
this.placement = PopUpPlacements.Top;
|
|
125
|
+
// eslint-disable-next-line no-console
|
|
125
126
|
console.warn(`Unknown position: ${value}. Will used default position: ${this.placement}`);
|
|
126
127
|
}
|
|
127
128
|
if (this.visible) {
|
|
@@ -339,4 +340,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
339
340
|
}
|
|
340
341
|
}]
|
|
341
342
|
}] });
|
|
342
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wLXVwLXRyaWdnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2NvcmUvcG9wLXVwL3BvcC11cC10cmlnZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RCxPQUFPLEVBQ0gsYUFBYSxFQUliLE9BQU8sRUFHUCxnQkFBZ0IsRUFFbkIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUNILFVBQVUsRUFDVixTQUFTLEVBQ1QsVUFBVSxFQUVWLE1BQU0sRUFDTixNQUFNLEVBS04sZ0JBQWdCLEVBQ25CLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzVELE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUE0QixNQUFNLE1BQU0sQ0FBQztBQUMzRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDeEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxLQUFLLElBQUksT0FBTyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEYsT0FBTyxFQUNILDBCQUEwQixFQUMxQixZQUFZLEVBQ1osMEJBQTBCLEVBQzFCLG1CQUFtQixFQUN0QixNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDOztBQUtsRyxNQUFNLFNBQVMsR0FBRyxDQUNkLEVB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QUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUN6QyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ2hCLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ2pCLElBQUksS0FBSyxFQUFFLElBQUksS0FBSyxPQUFPLElBQUksS0FBSyxDQUFDLHFCQUFxQixFQUFFLENBQUM7Z0JBQ3pELE9BQU87WUFDWCxDQUFDO1lBRUQsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztrSUE1WmlCLGVBQWU7c0hBQWYsZUFBZTs7NEZBQWYsZUFBZTtrQkFOcEMsU0FBUzttQkFBQztvQkFDUCxJQUFJLEVBQUU7d0JBQ0YsY0FBYyxFQUFFLG9CQUFvQjt3QkFDcEMsY0FBYyxFQUFFLHFCQUFxQjtxQkFDeEM7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3Rpb25hbGl0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9iaWRpJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQge1xuICAgIENka1Njcm9sbGFibGUsXG4gICAgQ29ubmVjdGVkT3ZlcmxheVBvc2l0aW9uQ2hhbmdlLFxuICAgIENvbm5lY3Rpb25Qb3NpdGlvblBhaXIsXG4gICAgRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5LFxuICAgIE92ZXJsYXksXG4gICAgT3ZlcmxheUNvbmZpZyxcbiAgICBPdmVybGF5UmVmLFxuICAgIFNjcm9sbERpc3BhdGNoZXIsXG4gICAgU2Nyb2xsU3RyYXRlZ3lcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQge1xuICAgIERlc3Ryb3lSZWYsXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGluamVjdCxcbiAgICBOZ1pvbmUsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBUeXBlLFxuICAgIFZpZXdDb250YWluZXJSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBFTlRFUiwgRVNDQVBFLCBTUEFDRSB9IGZyb20gJ0Brb29iaXEvY2RrL2tleWNvZGVzJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgaW50ZXJ2YWwsIE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQXN5bmNTY2hlZHVsZXIgfSBmcm9tICdyeGpzL2ludGVybmFsL3NjaGVkdWxlci9Bc3luY1NjaGVkdWxlcic7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBkZWxheSBhcyByeERlbGF5IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtcbiAgICBFWFRFTkRFRF9PVkVSTEFZX1BPU0lUSU9OUyxcbiAgICBQT1NJVElPTl9NQVAsXG4gICAgUE9TSVRJT05fUFJJT1JJVFlfU1RSQVRFR1ksXG4gICAgUE9TSVRJT05fVE9fQ1NTX01BUFxufSBmcm9tICcuLi9vdmVybGF5L292ZXJsYXktcG9zaXRpb24tbWFwJztcbmltcG9ydCB7IEFSUk9XX0JPVFRPTV9NQVJHSU5fQU5EX0hBTEZfSEVJR0hULCBQb3BVcFBsYWNlbWVudHMsIFBvcFVwVHJpZ2dlcnMgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBLYnFQb3BVcCB9IGZyb20gJy4vcG9wLXVwJztcblxudHlwZSBLYnFQb3B1cFRyaWdnZXJPZmZzZXQgPSBQaWNrPENvbm5lY3Rpb25Qb3NpdGlvblBhaXIsICdvZmZzZXRYJyB8ICdvZmZzZXRZJz47XG5cbmNvbnN0IGdldE9mZnNldCA9IChcbiAgICB7IG9yaWdpblgsIG92ZXJsYXlYLCBvcmlnaW5ZLCBvdmVybGF5WSB9OiBDb25uZWN0aW9uUG9zaXRpb25QYWlyLFxuICAgIHsgd2lkdGgsIGhlaWdodCB9OiBET01SZWN0XG4pOiBLYnFQb3B1cFRyaWdnZXJPZmZzZXQgPT4ge1xuICAgIGNvbnN0IG9mZnNldDogS2JxUG9wdXBUcmlnZ2VyT2Zmc2V0ID0ge307XG4gICAgY29uc3QgZWxlbWVudFdpZHRoSGFsZiA9IHdpZHRoIC8gMjtcbiAgICBjb25zdCBlbGVtZW50SGVpZ2h0SGFsZiA9IGhlaWdodCAvIDI7XG5cbiAgICAvLyBhbGlnbm1lbnQgc2hvdWxkIGJlIGFwcGxpZWQgb25seSBpZiB0aGUgZWxlbWVudCBpcyBzbWFsbFxuICAgIGlmIChBUlJPV19CT1RUT01fTUFSR0lOX0FORF9IQUxGX0hFSUdIVCA+IGVsZW1lbnRXaWR0aEhhbGYpIHtcbiAgICAgICAgY29uc3QgUEFERElORyA9IEFSUk9XX0JPVFRPTV9NQVJHSU5fQU5EX0hBTEZfSEVJR0hUIC0gZWxlbWVudFdpZHRoSGFsZjtcblxuICAgICAgICBpZiAob3JpZ2luWCA9PT0gb3ZlcmxheVgpIHtcbiAgICAgICAgICAgIGlmIChvcmlnaW5YID09PSAnc3RhcnQnKSB7XG4gICAgICAgICAgICAgICAgb2Zmc2V0Lm9mZnNldFggPSAtUEFERElORztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKG9yaWdpblggPT09ICdlbmQnKSB7XG4gICAgICAgICAgICAgICAgb2Zmc2V0Lm9mZnNldFggPSBQQURESU5HO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gYWxpZ25tZW50IHNob3VsZCBiZSBhcHBsaWVkIG9ubHkgaWYgdGhlIGVsZW1lbnQgaXMgc21hbGxcbiAgICBpZiAoQVJST1dfQk9UVE9NX01BUkdJTl9BTkRfSEFMRl9IRUlHSFQgPiBlbGVtZW50SGVpZ2h0SGFsZikge1xuICAgICAgICBjb25zdCBQQURESU5HID0gQVJST1dfQk9UVE9NX01BUkdJTl9BTkRfSEFMRl9IRUlHSFQgLSBlbGVtZW50SGVpZ2h0SGFsZjtcblxuICAgICAgICBpZiAob3JpZ2luWSA9PT0gb3ZlcmxheVkpIHtcbiAgICAgICAgICAgIGlmIChvcmlnaW5ZID09PSAndG9wJykge1xuICAgICAgICAgICAgICAgIG9mZnNldC5vZmZzZXRZID0gLVBBRERJTkc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChvcmlnaW5ZID09PSAnYm90dG9tJykge1xuICAgICAgICAgICAgICAgIG9mZnNldC5vZmZzZXRZID0gUEFERElORztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBvZmZzZXQ7XG59O1xuXG5ARGlyZWN0aXZlKHtcbiAgICBob3N0OiB7XG4gICAgICAgICcobW91c2VlbnRlciknOiAnaG92ZXJlZC5uZXh0KHRydWUpJyxcbiAgICAgICAgJyhtb3VzZWxlYXZlKSc6ICdob3ZlcmVkLm5leHQoZmFsc2UpJ1xuICAgIH1cbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgS2JxUG9wVXBUcmlnZ2VyPFQ+IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIC8qKiBTdHJlYW0gdGhhdCBlbWl0cyB3aGVuIHRoZSBwb3B1cFRyaWdnZXIgaXMgaG92ZXJlZC4gKi9cbiAgICByZWFkb25seSBob3ZlcmVkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2NoZWR1bGVyID0gaW5qZWN0KEFzeW5jU2NoZWR1bGVyLCB7IG9wdGlvbmFsOiB0cnVlIH0pIHx8IHVuZGVmaW5lZDtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBvdmVybGF5OiBPdmVybGF5ID0gaW5qZWN0KE92ZXJsYXkpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBlbGVtZW50UmVmID0gaW5qZWN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PihFbGVtZW50UmVmKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbmdab25lOiBOZ1pvbmUgPSBpbmplY3QoTmdab25lKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2Nyb2xsRGlzcGF0Y2hlcjogU2Nyb2xsRGlzcGF0Y2hlciA9IGluamVjdChTY3JvbGxEaXNwYXRjaGVyKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaG9zdFZpZXc6IFZpZXdDb250YWluZXJSZWYgPSBpbmplY3QoVmlld0NvbnRhaW5lclJlZik7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGRpcmVjdGlvbiA9IGluamVjdChEaXJlY3Rpb25hbGl0eSwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2Nyb2xsYWJsZSA9IGluamVjdChDZGtTY3JvbGxhYmxlLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IHNjcm9sbFN0cmF0ZWd5OiAoKSA9PiBTY3JvbGxTdHJhdGVneTtcblxuICAgIGlzT3BlbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgZW50ZXJEZWxheTogbnVtYmVyID0gMDtcbiAgICBsZWF2ZURlbGF5OiBudW1iZXIgPSAwO1xuXG4gICAgdHJpZ2dlck5hbWU6IHN0cmluZztcblxuICAgIGFic3RyYWN0IGRpc2FibGVkOiBib29sZWFuO1xuICAgIGFic3RyYWN0IGFycm93OiBib29sZWFuO1xuICAgIGFic3RyYWN0IHRyaWdnZXI6IHN0cmluZztcbiAgICBhYnN0cmFjdCBjdXN0b21DbGFzczogc3RyaW5nO1xuICAgIGFic3RyYWN0IGNvbnRlbnQ6IHN0cmluZyB8IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBhYnN0cmFjdCBwbGFjZW1lbnRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmc+O1xuICAgIGFic3RyYWN0IHZpc2libGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPjtcblxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBvcmlnaW5TZWxlY3Rvcjogc3RyaW5nO1xuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBvdmVybGF5Q29uZmlnOiBPdmVybGF5Q29uZmlnO1xuXG4gICAgcHJvdGVjdGVkIHBsYWNlbWVudCA9IFBvcFVwUGxhY2VtZW50cy5Ub3A7XG4gICAgcHJvdGVjdGVkIHBsYWNlbWVudFByaW9yaXR5OiBzdHJpbmcgfCBzdHJpbmdbXSB8IG51bGwgPSBudWxsO1xuXG4gICAgcHJvdGVjdGVkIHZpc2libGUgPSBmYWxzZTtcblxuICAgIHByb3RlY3RlZCBfY29udGVudDogc3RyaW5nIHwgVGVtcGxhdGVSZWY8YW55PjtcbiAgICBwcm90ZWN0ZWQgX2Rpc2FibGVkOiBib29sZWFuO1xuICAgIHByb3RlY3RlZCBfY3VzdG9tQ2xhc3M6IHN0cmluZztcblxuICAgIHByb3RlY3RlZCBvdmVybGF5UmVmOiBPdmVybGF5UmVmIHwgbnVsbDtcbiAgICBwcm90ZWN0ZWQgcG9ydGFsOiBDb21wb25lbnRQb3J0YWw8VD47XG4gICAgcHJvdGVjdGVkIGluc3RhbmNlOiBhbnkgfCBudWxsO1xuXG4gICAgcHJvdGVjdGVkIGxpc3RlbmVycyA9IG5ldyBNYXA8c3RyaW5nLCBFdmVudExpc3RlbmVyPigpO1xuICAgIHByb3RlY3RlZCBjbG9zaW5nQWN0aW9uc1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGF2YWlsYWJsZVBvc2l0aW9uczogeyBba2V5OiBzdHJpbmddOiBDb25uZWN0aW9uUG9zaXRpb25QYWlyIH0gPSBQT1NJVElPTl9NQVA7XG5cbiAgICBwcm90ZWN0ZWQgbW91c2VFdmVudD86IE1vdXNlRXZlbnQ7XG4gICAgcHJvdGVjdGVkIHN0cmF0ZWd5OiBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3k7XG5cbiAgICAvKiogSGlkZSBwb3AtdXAgd2l0aCB0aW1lb3V0LiBOZWVkIGlmIHlvdSB3YW50IHRvIHNob3cgcG9wLXVwIGFmdGVyIGxlYXZpbmcgdHJpZ2dlciAqL1xuICAgIHByb3RlY3RlZCBoaWRlV2l0aFRpbWVvdXQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKiBwcmV2ZW50cyBjbG9zdXJlIGJ5IGFueSBldmVudCAqL1xuICAgIHByb3RlY3RlZCBwcmV2ZW50Q2xvc2U6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIGFic3RyYWN0IHVwZGF0ZUNsYXNzTWFwKG5ld1BsYWNlbWVudD86IHN0cmluZyk6IHZvaWQ7XG5cbiAgICBhYnN0cmFjdCB1cGRhdGVEYXRhKCk6IHZvaWQ7XG5cbiAgICBhYnN0cmFjdCBjbG9zaW5nQWN0aW9ucygpOiBPYnNlcnZhYmxlPGFueT47XG5cbiAgICBhYnN0cmFjdCBnZXRPdmVybGF5SGFuZGxlQ29tcG9uZW50VHlwZSgpOiBUeXBlPFQ+O1xuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW5pdExpc3RlbmVycygpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm92ZXJsYXlSZWY/LmRpc3Bvc2UoKTtcblxuICAgICAgICB0aGlzLmxpc3RlbmVycy5mb3JFYWNoKHRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcik7XG5cbiAgICAgICAgdGhpcy5saXN0ZW5lcnMuY2xlYXIoKTtcbiAgICB9XG5cbiAgICB1cGRhdGVQbGFjZW1lbnQodmFsdWU6IFBvcFVwUGxhY2VtZW50cykge1xuICAgICAgICBpZiAoUE9TSVRJT05fVE9fQ1NTX01BUFt2YWx1ZV0pIHtcbiAgICAgICAgICAgIHRoaXMucGxhY2VtZW50ID0gdmFsdWU7XG5cbiAgICAgICAgICAgIHRoaXMudXBkYXRlQ2xhc3NNYXAoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucGxhY2VtZW50ID0gUG9wVXBQbGFjZW1lbnRzLlRvcDtcblxuICAgICAgICAgICAgY29uc29sZS53YXJuKGBVbmtub3duIHBvc2l0aW9uOiAke3ZhbHVlfS4gV2lsbCB1c2VkIGRlZmF1bHQgcG9zaXRpb246ICR7dGhpcy5wbGFjZW1lbnR9YCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy52aXNpYmxlKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVBvc2l0aW9uKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1cGRhdGVQbGFjZW1lbnRQcmlvcml0eSh2YWx1ZSkge1xuICAgICAgICBpZiAodmFsdWUgJiYgdmFsdWUubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgdGhpcy5wbGFjZW1lbnRQcmlvcml0eSA9IHZhbHVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5wbGFjZW1lbnRQcmlvcml0eSA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1cGRhdGVWaXNpYmxlKGV4dGVybmFsVmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkoZXh0ZXJuYWxWYWx1ZSk7XG5cbiAgICAgICAgaWYgKHRoaXMudmlzaWJsZSAhPT0gdmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMudmlzaWJsZSA9IHZhbHVlO1xuXG4gICAgICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNob3coKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5oaWRlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBrZXlkb3duSGFuZGxlcihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBpZiAodGhpcy5pc09wZW4gJiYgZXZlbnQua2V5Q29kZSA9PT0gRVNDQVBFKSB7XG4gICAgICAgICAgICB0aGlzLmhpZGUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHRvdWNoZW5kSGFuZGxlcigpIHtcbiAgICAgICAgdGhpcy5oaWRlKCk7XG4gICAgfVxuXG4gICAgc2hvdyhkZWxheTogbnVtYmVyID0gdGhpcy5lbnRlckRlbGF5KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkIHx8IHRoaXMuaW5zdGFuY2UpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMub3ZlcmxheVJlZiA9IHRoaXMuY3JlYXRlT3ZlcmxheSgpO1xuICAgICAgICB0aGlzLnN1YnNjcmliZU9uQ2xvc2luZ0FjdGlvbnMoKTtcbiAgICAgICAgdGhpcy5kZXRhY2goKTtcblxuICAgICAgICB0aGlzLnBvcnRhbCA9IHRoaXMucG9ydGFsIHx8IG5ldyBDb21wb25lbnRQb3J0YWwodGhpcy5nZXRPdmVybGF5SGFuZGxlQ29tcG9uZW50VHlwZSgpLCB0aGlzLmhvc3RWaWV3KTtcblxuICAgICAgICB0aGlzLmluc3RhbmNlID0gdGhpcy5vdmVybGF5UmVmLmF0dGFjaCh0aGlzLnBvcnRhbCkuaW5zdGFuY2UgYXMgS2JxUG9wVXA7XG5cbiAgICAgICAgdGhpcy5pbnN0YW5jZS50cmlnZ2VyID0gdGhpcztcblxuICAgICAgICB0aGlzLmluc3RhbmNlLmFmdGVySGlkZGVuKCkucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSkuc3Vic2NyaWJlKHRoaXMuZGV0YWNoKTtcblxuICAgICAgICB0aGlzLnVwZGF0ZUNsYXNzTWFwKCk7XG5cbiAgICAgICAgdGhpcy51cGRhdGVEYXRhKCk7XG5cbiAgICAgICAgdGhpcy5pbnN0YW5jZS52aXNpYmxlQ2hhbmdlXG4gICAgICAgICAgICAucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLCB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy52aXNpYmxlID0gdmFsdWU7XG4gICAgICAgICAgICAgICAgdGhpcy52aXNpYmxlQ2hhbmdlLmVtaXQodmFsdWUpO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNPcGVuID0gdmFsdWU7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnVwZGF0ZVBvc2l0aW9uKCk7XG5cbiAgICAgICAgdGhpcy5pbnN0YW5jZS5zaG93KGRlbGF5KTtcblxuICAgICAgICBpZiAodGhpcy5oaWRlV2l0aFRpbWVvdXQgJiYgdGhpcy50cmlnZ2VyLmluY2x1ZGVzKFBvcFVwVHJpZ2dlcnMuSG92ZXIpKSB7XG4gICAgICAgICAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICAgICAgaW50ZXJ2YWwodGhpcy5sZWF2ZURlbGF5LCB0aGlzLnNjaGVkdWxlcilcbiAgICAgICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXIoKCkgPT4gdGhpcy50cmlnZ2VyLmluY2x1ZGVzKFBvcFVwVHJpZ2dlcnMuSG92ZXIpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcigoKSA9PiAhdGhpcy5ob3ZlcmVkLmdldFZhbHVlKCkgJiYgIXRoaXMuaW5zdGFuY2U/LmhvdmVyZWQuZ2V0VmFsdWUoKSksXG4gICAgICAgICAgICAgICAgICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5pbnN0YW5jZT8uZGVzdHJveVJlZilcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKHRoaXMuaGlkZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGhpZGUgPSAoZGVsYXk6IG51bWJlciA9IHRoaXMubGVhdmVEZWxheSkgPT4ge1xuICAgICAgICBpZiAodGhpcy5wcmV2ZW50Q2xvc2UpIHJldHVybjtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICAodGhpcy5pbnN0YW5jZSAmJiB0aGlzLnRyaWdnZXJOYW1lICE9PSAnbW91c2VsZWF2ZScpIHx8XG4gICAgICAgICAgICAodGhpcy50cmlnZ2VyTmFtZSA9PT0gJ21vdXNlbGVhdmUnICYmICF0aGlzLmluc3RhbmNlPy5ob3ZlcmVkLmdldFZhbHVlKCkpXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHRoaXMuaW5zdGFuY2U/LmhpZGUoZGVsYXkpKTtcbiAgICAgICAgfVxuICAgIH07XG5cbiAgICBkZXRhY2ggPSAoKTogdm9pZCA9PiB7XG4gICAgICAgIGlmICh0aGlzLm92ZXJsYXlSZWY/Lmhhc0F0dGFjaGVkKCkpIHtcbiAgICAgICAgICAgIHRoaXMub3ZlcmxheVJlZi5kZXRhY2goKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaW5zdGFuY2UgPSBudWxsO1xuICAgIH07XG5cbiAgICAvKiogQ3JlYXRlIHRoZSBvdmVybGF5IGNvbmZpZyBhbmQgcG9zaXRpb24gc3RyYXRlZ3kgKi9cbiAgICBjcmVhdGVPdmVybGF5KCk6IE92ZXJsYXlSZWYge1xuICAgICAgICBpZiAodGhpcy5vdmVybGF5UmVmKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5vdmVybGF5UmVmO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQ3JlYXRlIGNvbm5lY3RlZCBwb3NpdGlvbiBzdHJhdGVneSB0aGF0IGxpc3RlbnMgZm9yIHNjcm9sbCBldmVudHMgdG8gcmVwb3NpdGlvbi5cbiAgICAgICAgdGhpcy5zdHJhdGVneSA9IHRoaXMub3ZlcmxheVxuICAgICAgICAgICAgLnBvc2l0aW9uKClcbiAgICAgICAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKHRoaXMuZWxlbWVudFJlZilcbiAgICAgICAgICAgIC53aXRoVHJhbnNmb3JtT3JpZ2luT24odGhpcy5vcmlnaW5TZWxlY3RvcilcbiAgICAgICAgICAgIC53aXRoRmxleGlibGVEaW1lbnNpb25zKGZhbHNlKVxuICAgICAgICAgICAgLndpdGhQb3NpdGlvbnMoWy4uLkVYVEVOREVEX09WRVJMQVlfUE9TSVRJT05TXSlcbiAgICAgICAgICAgIC53aXRoTG9ja2VkUG9zaXRpb24oKVxuICAgICAgICAgICAgLndpdGhTY3JvbGxhYmxlQ29udGFpbmVycyh0aGlzLnNjcm9sbERpc3BhdGNoZXIuZ2V0QW5jZXN0b3JTY3JvbGxDb250YWluZXJzKHRoaXMuZWxlbWVudFJlZikpO1xuXG4gICAgICAgIHRoaXMuc3RyYXRlZ3kucG9zaXRpb25DaGFuZ2VzLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpLnN1YnNjcmliZSh0aGlzLm9uUG9zaXRpb25DaGFuZ2UpO1xuXG4gICAgICAgIHRoaXMub3ZlcmxheVJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUoe1xuICAgICAgICAgICAgLi4udGhpcy5vdmVybGF5Q29uZmlnLFxuICAgICAgICAgICAgZGlyZWN0aW9uOiB0aGlzLmRpcmVjdGlvbiB8fCB1bmRlZmluZWQsXG4gICAgICAgICAgICBwb3NpdGlvblN0cmF0ZWd5OiB0aGlzLnN0cmF0ZWd5LFxuICAgICAgICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMuc2Nyb2xsU3RyYXRlZ3koKVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnN1YnNjcmliZU9uQ2xvc2luZ0FjdGlvbnMoKTtcblxuICAgICAgICB0aGlzLm92ZXJsYXlSZWYuZGV0YWNobWVudHMoKS5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKS5zdWJzY3JpYmUodGhpcy5kZXRhY2gpO1xuXG4gICAgICAgIHJldHVybiB0aGlzLm92ZXJsYXlSZWY7XG4gICAgfVxuXG4gICAgcmVzZXRPcmlnaW4oKSB7XG4gICAgICAgIHRoaXMuc3RyYXRlZ3kuc2V0T3JpZ2luKHRoaXMuZWxlbWVudFJlZik7XG4gICAgfVxuXG4gICAgb25Qb3NpdGlvbkNoYW5nZSA9ICgkZXZlbnQ6IENvbm5lY3RlZE92ZXJsYXlQb3NpdGlvbkNoYW5nZSk6IHZvaWQgPT4ge1xuICAgICAgICBpZiAoIXRoaXMuaW5zdGFuY2UpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBuZXdQbGFjZW1lbnQgPSB0aGlzLnBsYWNlbWVudDtcblxuICAgICAgICBjb25zdCB7IG9yaWdpblgsIG9yaWdpblksIG92ZXJsYXlYLCBvdmVybGF5WSB9ID0gJGV2ZW50LmNvbm5lY3Rpb25QYWlyO1xuXG4gICAgICAgIE9iamVjdC5rZXlzKHRoaXMuYXZhaWxhYmxlUG9zaXRpb25zKS5zb21lKChrZXkpID0+IHtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICBvcmlnaW5YID09PSB0aGlzLmF2YWlsYWJsZVBvc2l0aW9uc1trZXldLm9yaWdpblggJiZcbiAgICAgICAgICAgICAgICBvcmlnaW5ZID09PSB0aGlzLmF2YWlsYWJsZVBvc2l0aW9uc1trZXldLm9yaWdpblkgJiZcbiAgICAgICAgICAgICAgICBvdmVybGF5WCA9PT0gdGhpcy5hdmFpbGFibGVQb3NpdGlvbnNba2V5XS5vdmVybGF5WCAmJlxuICAgICAgICAgICAgICAgIG92ZXJsYXlZID09PSB0aGlzLmF2YWlsYWJsZVBvc2l0aW9uc1trZXldLm92ZXJsYXlZXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICBuZXdQbGFjZW1lbnQgPSBrZXkgYXMgUG9wVXBQbGFjZW1lbnRzO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5wbGFjZW1lbnRDaGFuZ2UuZW1pdChuZXdQbGFjZW1lbnQpO1xuXG4gICAgICAgIHRoaXMudXBkYXRlQ2xhc3NNYXAobmV3UGxhY2VtZW50KTtcblxuICAgICAgICB0aGlzLmluc3RhbmNlLmRldGVjdENoYW5nZXMoKTtcbiAgICB9O1xuXG4gICAgaW5pdExpc3RlbmVycygpIHtcbiAgICAgICAgdGhpcy5jbGVhckxpc3RlbmVycygpO1xuXG4gICAgICAgIGlmICh0aGlzLnRyaWdnZXIuaW5jbHVkZXMoUG9wVXBUcmlnZ2Vycy5DbGljaykpIHtcbiAgICAgICAgICAgIHRoaXMubGlzdGVuZXJzLnNldCguLi50aGlzLmNyZWF0ZUxpc3RlbmVyKCdjbGljaycsIHRoaXMuc2hvdykpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMudHJpZ2dlci5pbmNsdWRlcyhQb3BVcFRyaWdnZXJzLkhvdmVyKSkge1xuICAgICAgICAgICAgdGhpcy5saXN0ZW5lcnNcbiAgICAgICAgICAgICAgICAuc2V0KC4uLnRoaXMuY3JlYXRlTGlzdGVuZXIoJ21vdXNlZW50ZXInLCB0aGlzLnNob3cpKVxuICAgICAgICAgICAgICAgIC5zZXQoLi4udGhpcy5jcmVhdGVMaXN0ZW5lcignbW91c2VsZWF2ZScsIHRoaXMuZ2V0TW91c2VMZWF2ZUxpc3RlbmVyKCkpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnRyaWdnZXIuaW5jbHVkZXMoUG9wVXBUcmlnZ2Vycy5Gb2N1cykpIHtcbiAgICAgICAgICAgIHRoaXMubGlzdGVuZXJzXG4gICAgICAgICAgICAgICAgLnNldCguLi50aGlzLmNyZWF0ZUxpc3RlbmVyKCdmb2N1cycsIHRoaXMuc2hvdykpXG4gICAgICAgICAgICAgICAgLnNldCguLi50aGlzLmNyZWF0ZUxpc3RlbmVyKCdibHVyJywgdGhpcy5oaWRlKSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy50cmlnZ2VyLmluY2x1ZGVzKFBvcFVwVHJpZ2dlcnMuS2V5ZG93bikpIHtcbiAgICAgICAgICAgIHRoaXMubGlzdGVuZXJzLnNldCgna2V5ZG93bicsIChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIEtleWJvYXJkRXZlbnQgJiYgW0VOVEVSLCBTUEFDRV0uaW5jbHVkZXMoZXZlbnQua2V5Q29kZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLnNob3coKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmxpc3RlbmVycy5mb3JFYWNoKHRoaXMuYWRkRXZlbnRMaXN0ZW5lcik7XG4gICAgfVxuXG4gICAgZ2V0TW91c2VMZWF2ZUxpc3RlbmVyKCkge1xuICAgICAgICBpZiAodGhpcy5oaWRlV2l0aFRpbWVvdXQpIHtcbiAgICAgICAgICAgIHJldHVybiAoKSA9PiBzZXRUaW1lb3V0KHRoaXMuaGlkZSwgdGhpcy5sZWF2ZURlbGF5KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmhpZGU7XG4gICAgfVxuXG4gICAgLyoqIFVwZGF0ZXMgdGhlIHBvc2l0aW9uIG9mIHRoZSBjdXJyZW50IHBvcG92ZXIuICovXG4gICAgdXBkYXRlUG9zaXRpb24ocmVhcHBseVBvc2l0aW9uOiBib29sZWFuID0gZmFsc2UpIHtcbiAgICAgICAgdGhpcy5vdmVybGF5UmVmID0gdGhpcy5jcmVhdGVPdmVybGF5KCk7XG5cbiAgICAgICAgdGhpcy5zdWJzY3JpYmVPbkNsb3NpbmdBY3Rpb25zKCk7XG5cbiAgICAgICAgY29uc3QgcG9zaXRpb24gPSAodGhpcy5vdmVybGF5UmVmLmdldENvbmZpZygpLnBvc2l0aW9uU3RyYXRlZ3kgYXMgRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5KVxuICAgICAgICAgICAgLndpdGhQb3NpdGlvbnModGhpcy5nZXRBZGp1c3RlZFBvc2l0aW9ucygpKVxuICAgICAgICAgICAgLndpdGhQdXNoKHRydWUpO1xuXG4gICAgICAgIGlmIChyZWFwcGx5UG9zaXRpb24pIHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gcG9zaXRpb24ucmVhcHBseUxhc3RQb3NpdGlvbigpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZvY3VzKCkge1xuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgYSBsaXN0IG9mIHBvc2l0aW9ucyB0aGF0IGFyZSBhbGlnbmVkIHdpdGggdGhlIGVsZW1lbnQncyBkaW1lbnNpb25zIGFuZCBvZmZzZXRzLlxuICAgICAqIEBwcm90ZWN0ZWRcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgZ2V0QWRqdXN0ZWRQb3NpdGlvbnMoKTogQ29ubmVjdGlvblBvc2l0aW9uUGFpcltdIHtcbiAgICAgICAgY29uc3QgcmVzOiBDb25uZWN0aW9uUG9zaXRpb25QYWlyW10gPSBbXTtcblxuICAgICAgICBmb3IgKGNvbnN0IHBvcyBvZiB0aGlzLmdldFByaW9yaXRpemVkUG9zaXRpb25zKCkpIHtcbiAgICAgICAgICAgIGNvbnN0IG9mZnNldDogS2JxUG9wdXBUcmlnZ2VyT2Zmc2V0ID0gdGhpcy5hcnJvd1xuICAgICAgICAgICAgICAgID8gZ2V0T2Zmc2V0KHBvcywgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkpXG4gICAgICAgICAgICAgICAgOiB7fTtcblxuICAgICAgICAgICAgcmVzLnB1c2goe1xuICAgICAgICAgICAgICAgIC4uLnBvcyxcbiAgICAgICAgICAgICAgICAuLi5vZmZzZXRcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlcztcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0UHJpb3JpdHlQbGFjZW1lbnRTdHJhdGVneSh2YWx1ZTogc3RyaW5nIHwgc3RyaW5nW10pOiBDb25uZWN0aW9uUG9zaXRpb25QYWlyW10ge1xuICAgICAgICBjb25zdCByZXN1bHQ6IENvbm5lY3Rpb25Qb3NpdGlvblBhaXJbXSA9IFtdO1xuICAgICAgICBjb25zdCBwb3NzaWJsZVBvc2l0aW9ucyA9IE9iamVjdC5rZXlzKHRoaXMuYXZhaWxhYmxlUG9zaXRpb25zKTtcblxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHZhbHVlLmZvckVhY2goKHBvc2l0aW9uOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocG9zc2libGVQb3NpdGlvbnMuaW5jbHVkZXMocG9zaXRpb24pKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKHRoaXMuYXZhaWxhYmxlUG9zaXRpb25zW3Bvc2l0aW9uXSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSBpZiAocG9zc2libGVQb3NpdGlvbnMuaW5jbHVkZXModmFsdWUpKSB7XG4gICAgICAgICAgICByZXN1bHQucHVzaCh0aGlzLmF2YWlsYWJsZVBvc2l0aW9uc1t2YWx1ZV0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0UHJpb3JpdGl6ZWRQb3NpdGlvbnMoKSB7XG4gICAgICAgIGlmICh0aGlzLnBsYWNlbWVudFByaW9yaXR5KSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRQcmlvcml0eVBsYWNlbWVudFN0cmF0ZWd5KHRoaXMucGxhY2VtZW50UHJpb3JpdHkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIFBPU0lUSU9OX1BSSU9SSVRZX1NUUkFURUdZW3RoaXMucGxhY2VtZW50XTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY2xlYXJMaXN0ZW5lcnMoKSB7XG4gICAgICAgIHRoaXMubGlzdGVuZXJzLmZvckVhY2godGhpcy5yZW1vdmVFdmVudExpc3RlbmVyKTtcblxuICAgICAgICB0aGlzLmxpc3RlbmVycy5jbGVhcigpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlTGlzdGVuZXIobmFtZTogc3RyaW5nLCBsaXN0ZW5lcjogKCkgPT4gdm9pZCk6IFtzdHJpbmcsIChldmVudDogdW5rbm93bikgPT4gdm9pZF0ge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgbmFtZSxcbiAgICAgICAgICAgIChldmVudDogdW5rbm93bikgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudHJpZ2dlck5hbWUgPSBuYW1lO1xuICAgICAgICAgICAgICAgIHRoaXMuc2F2ZU1vdXNlRXZlbnQoZXZlbnQgYXMgTW91c2VFdmVudCk7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gbGlzdGVuZXIuY2FsbCh0aGlzKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICBdO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2F2ZU1vdXNlRXZlbnQoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgaWYgKHRoaXMudHJpZ2dlck5hbWUgPT09ICdtb3VzZWVudGVyJykge1xuICAgICAgICAgICAgdGhpcy5tb3VzZUV2ZW50ID0gZXZlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGFkZEV2ZW50TGlzdGVuZXIgPSAobGlzdGVuZXI6IEV2ZW50TGlzdGVuZXIsIGV2ZW50OiBzdHJpbmcpID0+IHtcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihldmVudCwgbGlzdGVuZXIpO1xuICAgIH07XG5cbiAgICBwcml2YXRlIHJlbW92ZUV2ZW50TGlzdGVuZXIgPSAobGlzdGVuZXI6IEV2ZW50TGlzdGVuZXIsIGV2ZW50OiBzdHJpbmcpID0+IHtcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudCwgbGlzdGVuZXIpO1xuICAgIH07XG5cbiAgICBwcml2YXRlIHN1YnNjcmliZU9uQ2xvc2luZ0FjdGlvbnMoKSB7XG4gICAgICAgIHRoaXMuY2xvc2luZ0FjdGlvbnNTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG5cbiAgICAgICAgdGhpcy5jbG9zaW5nQWN0aW9uc1N1YnNjcmlwdGlvbiA9IHRoaXMuY2xvc2luZ0FjdGlvbnMoKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpXG4gICAgICAgICAgICAucGlwZShyeERlbGF5KDApKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZXZlbnQ/LnR5cGUgPT09ICdjbGljaycgJiYgZXZlbnQua2JxUG9wb3ZlclByZXZlbnRIaWRlKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0aGlzLmhpZGUoKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
|
|
343
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wLXVwLXRyaWdnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2NvcmUvcG9wLXVwL3BvcC11cC10cmlnZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RCxPQUFPLEVBQ0gsYUFBYSxFQUliLE9BQU8sRUFHUCxnQkFBZ0IsRUFFbkIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUNILFVBQVUsRUFDVixTQUFTLEVBQ1QsVUFBVSxFQUVWLE1BQU0sRUFDTixNQUFNLEVBS04sZ0JBQWdCLEVBQ25CLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzVELE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUE0QixNQUFNLE1BQU0sQ0FBQztBQUMzRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDeEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxLQUFLLElBQUksT0FBTyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEYsT0FBTyxFQUNILDBCQUEwQixFQUMxQixZQUFZLEVBQ1osMEJBQTBCLEVBQzFCLG1CQUFtQixFQUN0QixNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDOztBQUtsRyxNQUFNLFNBQVMsR0FBRyxDQUNkLEVB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Q0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7YUFDekMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNoQixTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNqQixJQUFJLEtBQUssRUFBRSxJQUFJLEtBQUssT0FBTyxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO2dCQUN6RCxPQUFPO1lBQ1gsQ0FBQztZQUVELElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7a0lBN1ppQixlQUFlO3NIQUFmLGVBQWU7OzRGQUFmLGVBQWU7a0JBTnBDLFNBQVM7bUJBQUM7b0JBQ1AsSUFBSSxFQUFFO3dCQUNGLGNBQWMsRUFBRSxvQkFBb0I7d0JBQ3BDLGNBQWMsRUFBRSxxQkFBcUI7cUJBQ3hDO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aW9uYWxpdHkgfSBmcm9tICdAYW5ndWxhci9jZGsvYmlkaSc7XG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHtcbiAgICBDZGtTY3JvbGxhYmxlLFxuICAgIENvbm5lY3RlZE92ZXJsYXlQb3NpdGlvbkNoYW5nZSxcbiAgICBDb25uZWN0aW9uUG9zaXRpb25QYWlyLFxuICAgIEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSxcbiAgICBPdmVybGF5LFxuICAgIE92ZXJsYXlDb25maWcsXG4gICAgT3ZlcmxheVJlZixcbiAgICBTY3JvbGxEaXNwYXRjaGVyLFxuICAgIFNjcm9sbFN0cmF0ZWd5XG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IENvbXBvbmVudFBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHtcbiAgICBEZXN0cm95UmVmLFxuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBpbmplY3QsXG4gICAgTmdab25lLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVHlwZSxcbiAgICBWaWV3Q29udGFpbmVyUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgRU5URVIsIEVTQ0FQRSwgU1BBQ0UgfSBmcm9tICdAa29vYmlxL2Nkay9rZXljb2Rlcyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGludGVydmFsLCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFzeW5jU2NoZWR1bGVyIH0gZnJvbSAncnhqcy9pbnRlcm5hbC9zY2hlZHVsZXIvQXN5bmNTY2hlZHVsZXInO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgZGVsYXkgYXMgcnhEZWxheSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7XG4gICAgRVhURU5ERURfT1ZFUkxBWV9QT1NJVElPTlMsXG4gICAgUE9TSVRJT05fTUFQLFxuICAgIFBPU0lUSU9OX1BSSU9SSVRZX1NUUkFURUdZLFxuICAgIFBPU0lUSU9OX1RPX0NTU19NQVBcbn0gZnJvbSAnLi4vb3ZlcmxheS9vdmVybGF5LXBvc2l0aW9uLW1hcCc7XG5pbXBvcnQgeyBBUlJPV19CT1RUT01fTUFSR0lOX0FORF9IQUxGX0hFSUdIVCwgUG9wVXBQbGFjZW1lbnRzLCBQb3BVcFRyaWdnZXJzIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgS2JxUG9wVXAgfSBmcm9tICcuL3BvcC11cCc7XG5cbnR5cGUgS2JxUG9wdXBUcmlnZ2VyT2Zmc2V0ID0gUGljazxDb25uZWN0aW9uUG9zaXRpb25QYWlyLCAnb2Zmc2V0WCcgfCAnb2Zmc2V0WSc+O1xuXG5jb25zdCBnZXRPZmZzZXQgPSAoXG4gICAgeyBvcmlnaW5YLCBvdmVybGF5WCwgb3JpZ2luWSwgb3ZlcmxheVkgfTogQ29ubmVjdGlvblBvc2l0aW9uUGFpcixcbiAgICB7IHdpZHRoLCBoZWlnaHQgfTogRE9NUmVjdFxuKTogS2JxUG9wdXBUcmlnZ2VyT2Zmc2V0ID0+IHtcbiAgICBjb25zdCBvZmZzZXQ6IEticVBvcHVwVHJpZ2dlck9mZnNldCA9IHt9O1xuICAgIGNvbnN0IGVsZW1lbnRXaWR0aEhhbGYgPSB3aWR0aCAvIDI7XG4gICAgY29uc3QgZWxlbWVudEhlaWdodEhhbGYgPSBoZWlnaHQgLyAyO1xuXG4gICAgLy8gYWxpZ25tZW50IHNob3VsZCBiZSBhcHBsaWVkIG9ubHkgaWYgdGhlIGVsZW1lbnQgaXMgc21hbGxcbiAgICBpZiAoQVJST1dfQk9UVE9NX01BUkdJTl9BTkRfSEFMRl9IRUlHSFQgPiBlbGVtZW50V2lkdGhIYWxmKSB7XG4gICAgICAgIGNvbnN0IFBBRERJTkcgPSBBUlJPV19CT1RUT01fTUFSR0lOX0FORF9IQUxGX0hFSUdIVCAtIGVsZW1lbnRXaWR0aEhhbGY7XG5cbiAgICAgICAgaWYgKG9yaWdpblggPT09IG92ZXJsYXlYKSB7XG4gICAgICAgICAgICBpZiAob3JpZ2luWCA9PT0gJ3N0YXJ0Jykge1xuICAgICAgICAgICAgICAgIG9mZnNldC5vZmZzZXRYID0gLVBBRERJTkc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChvcmlnaW5YID09PSAnZW5kJykge1xuICAgICAgICAgICAgICAgIG9mZnNldC5vZmZzZXRYID0gUEFERElORztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIGFsaWdubWVudCBzaG91bGQgYmUgYXBwbGllZCBvbmx5IGlmIHRoZSBlbGVtZW50IGlzIHNtYWxsXG4gICAgaWYgKEFSUk9XX0JPVFRPTV9NQVJHSU5fQU5EX0hBTEZfSEVJR0hUID4gZWxlbWVudEhlaWdodEhhbGYpIHtcbiAgICAgICAgY29uc3QgUEFERElORyA9IEFSUk9XX0JPVFRPTV9NQVJHSU5fQU5EX0hBTEZfSEVJR0hUIC0gZWxlbWVudEhlaWdodEhhbGY7XG5cbiAgICAgICAgaWYgKG9yaWdpblkgPT09IG92ZXJsYXlZKSB7XG4gICAgICAgICAgICBpZiAob3JpZ2luWSA9PT0gJ3RvcCcpIHtcbiAgICAgICAgICAgICAgICBvZmZzZXQub2Zmc2V0WSA9IC1QQURESU5HO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAob3JpZ2luWSA9PT0gJ2JvdHRvbScpIHtcbiAgICAgICAgICAgICAgICBvZmZzZXQub2Zmc2V0WSA9IFBBRERJTkc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gb2Zmc2V0O1xufTtcblxuQERpcmVjdGl2ZSh7XG4gICAgaG9zdDoge1xuICAgICAgICAnKG1vdXNlZW50ZXIpJzogJ2hvdmVyZWQubmV4dCh0cnVlKScsXG4gICAgICAgICcobW91c2VsZWF2ZSknOiAnaG92ZXJlZC5uZXh0KGZhbHNlKSdcbiAgICB9XG59KVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEticVBvcFVwVHJpZ2dlcjxUPiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICAvKiogU3RyZWFtIHRoYXQgZW1pdHMgd2hlbiB0aGUgcG9wdXBUcmlnZ2VyIGlzIGhvdmVyZWQuICovXG4gICAgcmVhZG9ubHkgaG92ZXJlZCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHNjaGVkdWxlciA9IGluamVjdChBc3luY1NjaGVkdWxlciwgeyBvcHRpb25hbDogdHJ1ZSB9KSB8fCB1bmRlZmluZWQ7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgb3ZlcmxheTogT3ZlcmxheSA9IGluamVjdChPdmVybGF5KTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZWxlbWVudFJlZiA9IGluamVjdDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4oRWxlbWVudFJlZik7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG5nWm9uZTogTmdab25lID0gaW5qZWN0KE5nWm9uZSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHNjcm9sbERpc3BhdGNoZXI6IFNjcm9sbERpc3BhdGNoZXIgPSBpbmplY3QoU2Nyb2xsRGlzcGF0Y2hlcik7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGhvc3RWaWV3OiBWaWV3Q29udGFpbmVyUmVmID0gaW5qZWN0KFZpZXdDb250YWluZXJSZWYpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBkaXJlY3Rpb24gPSBpbmplY3QoRGlyZWN0aW9uYWxpdHksIHsgb3B0aW9uYWw6IHRydWUgfSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHNjcm9sbGFibGUgPSBpbmplY3QoQ2RrU2Nyb2xsYWJsZSwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcblxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBzY3JvbGxTdHJhdGVneTogKCkgPT4gU2Nyb2xsU3RyYXRlZ3k7XG5cbiAgICBpc09wZW46IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIGVudGVyRGVsYXk6IG51bWJlciA9IDA7XG4gICAgbGVhdmVEZWxheTogbnVtYmVyID0gMDtcblxuICAgIHRyaWdnZXJOYW1lOiBzdHJpbmc7XG5cbiAgICBhYnN0cmFjdCBkaXNhYmxlZDogYm9vbGVhbjtcbiAgICBhYnN0cmFjdCBhcnJvdzogYm9vbGVhbjtcbiAgICBhYnN0cmFjdCB0cmlnZ2VyOiBzdHJpbmc7XG4gICAgYWJzdHJhY3QgY3VzdG9tQ2xhc3M6IHN0cmluZztcbiAgICBhYnN0cmFjdCBjb250ZW50OiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgYWJzdHJhY3QgcGxhY2VtZW50Q2hhbmdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPjtcbiAgICBhYnN0cmFjdCB2aXNpYmxlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj47XG5cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3Qgb3JpZ2luU2VsZWN0b3I6IHN0cmluZztcbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3Qgb3ZlcmxheUNvbmZpZzogT3ZlcmxheUNvbmZpZztcblxuICAgIHByb3RlY3RlZCBwbGFjZW1lbnQgPSBQb3BVcFBsYWNlbWVudHMuVG9wO1xuICAgIHByb3RlY3RlZCBwbGFjZW1lbnRQcmlvcml0eTogc3RyaW5nIHwgc3RyaW5nW10gfCBudWxsID0gbnVsbDtcblxuICAgIHByb3RlY3RlZCB2aXNpYmxlID0gZmFsc2U7XG5cbiAgICBwcm90ZWN0ZWQgX2NvbnRlbnQ6IHN0cmluZyB8IFRlbXBsYXRlUmVmPGFueT47XG4gICAgcHJvdGVjdGVkIF9kaXNhYmxlZDogYm9vbGVhbjtcbiAgICBwcm90ZWN0ZWQgX2N1c3RvbUNsYXNzOiBzdHJpbmc7XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcmxheVJlZjogT3ZlcmxheVJlZiB8IG51bGw7XG4gICAgcHJvdGVjdGVkIHBvcnRhbDogQ29tcG9uZW50UG9ydGFsPFQ+O1xuICAgIHByb3RlY3RlZCBpbnN0YW5jZTogYW55IHwgbnVsbDtcblxuICAgIHByb3RlY3RlZCBsaXN0ZW5lcnMgPSBuZXcgTWFwPHN0cmluZywgRXZlbnRMaXN0ZW5lcj4oKTtcbiAgICBwcm90ZWN0ZWQgY2xvc2luZ0FjdGlvbnNTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBhdmFpbGFibGVQb3NpdGlvbnM6IHsgW2tleTogc3RyaW5nXTogQ29ubmVjdGlvblBvc2l0aW9uUGFpciB9ID0gUE9TSVRJT05fTUFQO1xuXG4gICAgcHJvdGVjdGVkIG1vdXNlRXZlbnQ/OiBNb3VzZUV2ZW50O1xuICAgIHByb3RlY3RlZCBzdHJhdGVneTogRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5O1xuXG4gICAgLyoqIEhpZGUgcG9wLXVwIHdpdGggdGltZW91dC4gTmVlZCBpZiB5b3Ugd2FudCB0byBzaG93IHBvcC11cCBhZnRlciBsZWF2aW5nIHRyaWdnZXIgKi9cbiAgICBwcm90ZWN0ZWQgaGlkZVdpdGhUaW1lb3V0OiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKiogcHJldmVudHMgY2xvc3VyZSBieSBhbnkgZXZlbnQgKi9cbiAgICBwcm90ZWN0ZWQgcHJldmVudENsb3NlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBhYnN0cmFjdCB1cGRhdGVDbGFzc01hcChuZXdQbGFjZW1lbnQ/OiBzdHJpbmcpOiB2b2lkO1xuXG4gICAgYWJzdHJhY3QgdXBkYXRlRGF0YSgpOiB2b2lkO1xuXG4gICAgYWJzdHJhY3QgY2xvc2luZ0FjdGlvbnMoKTogT2JzZXJ2YWJsZTxhbnk+O1xuXG4gICAgYWJzdHJhY3QgZ2V0T3ZlcmxheUhhbmRsZUNvbXBvbmVudFR5cGUoKTogVHlwZTxUPjtcblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmluaXRMaXN0ZW5lcnMoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vdmVybGF5UmVmPy5kaXNwb3NlKCk7XG5cbiAgICAgICAgdGhpcy5saXN0ZW5lcnMuZm9yRWFjaCh0aGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIpO1xuXG4gICAgICAgIHRoaXMubGlzdGVuZXJzLmNsZWFyKCk7XG4gICAgfVxuXG4gICAgdXBkYXRlUGxhY2VtZW50KHZhbHVlOiBQb3BVcFBsYWNlbWVudHMpIHtcbiAgICAgICAgaWYgKFBPU0lUSU9OX1RPX0NTU19NQVBbdmFsdWVdKSB7XG4gICAgICAgICAgICB0aGlzLnBsYWNlbWVudCA9IHZhbHVlO1xuXG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUNsYXNzTWFwKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnBsYWNlbWVudCA9IFBvcFVwUGxhY2VtZW50cy5Ub3A7XG5cbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICAgICAgICBjb25zb2xlLndhcm4oYFVua25vd24gcG9zaXRpb246ICR7dmFsdWV9LiBXaWxsIHVzZWQgZGVmYXVsdCBwb3NpdGlvbjogJHt0aGlzLnBsYWNlbWVudH1gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnZpc2libGUpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlUG9zaXRpb24oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVwZGF0ZVBsYWNlbWVudFByaW9yaXR5KHZhbHVlKSB7XG4gICAgICAgIGlmICh2YWx1ZSAmJiB2YWx1ZS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB0aGlzLnBsYWNlbWVudFByaW9yaXR5ID0gdmFsdWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnBsYWNlbWVudFByaW9yaXR5ID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVwZGF0ZVZpc2libGUoZXh0ZXJuYWxWYWx1ZTogYm9vbGVhbikge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eShleHRlcm5hbFZhbHVlKTtcblxuICAgICAgICBpZiAodGhpcy52aXNpYmxlICE9PSB2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy52aXNpYmxlID0gdmFsdWU7XG5cbiAgICAgICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2hvdygpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmhpZGUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGtleWRvd25IYW5kbGVyKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGlmICh0aGlzLmlzT3BlbiAmJiBldmVudC5rZXlDb2RlID09PSBFU0NBUEUpIHtcbiAgICAgICAgICAgIHRoaXMuaGlkZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdG91Y2hlbmRIYW5kbGVyKCkge1xuICAgICAgICB0aGlzLmhpZGUoKTtcbiAgICB9XG5cbiAgICBzaG93KGRlbGF5OiBudW1iZXIgPSB0aGlzLmVudGVyRGVsYXkpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQgfHwgdGhpcy5pbnN0YW5jZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5vdmVybGF5UmVmID0gdGhpcy5jcmVhdGVPdmVybGF5KCk7XG4gICAgICAgIHRoaXMuc3Vic2NyaWJlT25DbG9zaW5nQWN0aW9ucygpO1xuICAgICAgICB0aGlzLmRldGFjaCgpO1xuXG4gICAgICAgIHRoaXMucG9ydGFsID0gdGhpcy5wb3J0YWwgfHwgbmV3IENvbXBvbmVudFBvcnRhbCh0aGlzLmdldE92ZXJsYXlIYW5kbGVDb21wb25lbnRUeXBlKCksIHRoaXMuaG9zdFZpZXcpO1xuXG4gICAgICAgIHRoaXMuaW5zdGFuY2UgPSB0aGlzLm92ZXJsYXlSZWYuYXR0YWNoKHRoaXMucG9ydGFsKS5pbnN0YW5jZSBhcyBLYnFQb3BVcDtcblxuICAgICAgICB0aGlzLmluc3RhbmNlLnRyaWdnZXIgPSB0aGlzO1xuXG4gICAgICAgIHRoaXMuaW5zdGFuY2UuYWZ0ZXJIaWRkZW4oKS5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKS5zdWJzY3JpYmUodGhpcy5kZXRhY2gpO1xuXG4gICAgICAgIHRoaXMudXBkYXRlQ2xhc3NNYXAoKTtcblxuICAgICAgICB0aGlzLnVwZGF0ZURhdGEoKTtcblxuICAgICAgICB0aGlzLmluc3RhbmNlLnZpc2libGVDaGFuZ2VcbiAgICAgICAgICAgIC5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnZpc2libGUgPSB2YWx1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLnZpc2libGVDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5pc09wZW4gPSB2YWx1ZTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMudXBkYXRlUG9zaXRpb24oKTtcblxuICAgICAgICB0aGlzLmluc3RhbmNlLnNob3coZGVsYXkpO1xuXG4gICAgICAgIGlmICh0aGlzLmhpZGVXaXRoVGltZW91dCAmJiB0aGlzLnRyaWdnZXIuaW5jbHVkZXMoUG9wVXBUcmlnZ2Vycy5Ib3ZlcikpIHtcbiAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgICAgICBpbnRlcnZhbCh0aGlzLmxlYXZlRGVsYXksIHRoaXMuc2NoZWR1bGVyKVxuICAgICAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcigoKSA9PiB0aGlzLnRyaWdnZXIuaW5jbHVkZXMoUG9wVXBUcmlnZ2Vycy5Ib3ZlcikpLFxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyKCgpID0+ICF0aGlzLmhvdmVyZWQuZ2V0VmFsdWUoKSAmJiAhdGhpcy5pbnN0YW5jZT8uaG92ZXJlZC5nZXRWYWx1ZSgpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmluc3RhbmNlPy5kZXN0cm95UmVmKVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUodGhpcy5oaWRlKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaGlkZSA9IChkZWxheTogbnVtYmVyID0gdGhpcy5sZWF2ZURlbGF5KSA9PiB7XG4gICAgICAgIGlmICh0aGlzLnByZXZlbnRDbG9zZSkgcmV0dXJuO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgICh0aGlzLmluc3RhbmNlICYmIHRoaXMudHJpZ2dlck5hbWUgIT09ICdtb3VzZWxlYXZlJykgfHxcbiAgICAgICAgICAgICh0aGlzLnRyaWdnZXJOYW1lID09PSAnbW91c2VsZWF2ZScgJiYgIXRoaXMuaW5zdGFuY2U/LmhvdmVyZWQuZ2V0VmFsdWUoKSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4gdGhpcy5pbnN0YW5jZT8uaGlkZShkZWxheSkpO1xuICAgICAgICB9XG4gICAgfTtcblxuICAgIGRldGFjaCA9ICgpOiB2b2lkID0+IHtcbiAgICAgICAgaWYgKHRoaXMub3ZlcmxheVJlZj8uaGFzQXR0YWNoZWQoKSkge1xuICAgICAgICAgICAgdGhpcy5vdmVybGF5UmVmLmRldGFjaCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5pbnN0YW5jZSA9IG51bGw7XG4gICAgfTtcblxuICAgIC8qKiBDcmVhdGUgdGhlIG92ZXJsYXkgY29uZmlnIGFuZCBwb3NpdGlvbiBzdHJhdGVneSAqL1xuICAgIGNyZWF0ZU92ZXJsYXkoKTogT3ZlcmxheVJlZiB7XG4gICAgICAgIGlmICh0aGlzLm92ZXJsYXlSZWYpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm92ZXJsYXlSZWY7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBDcmVhdGUgY29ubmVjdGVkIHBvc2l0aW9uIHN0cmF0ZWd5IHRoYXQgbGlzdGVucyBmb3Igc2Nyb2xsIGV2ZW50cyB0byByZXBvc2l0aW9uLlxuICAgICAgICB0aGlzLnN0cmF0ZWd5ID0gdGhpcy5vdmVybGF5XG4gICAgICAgICAgICAucG9zaXRpb24oKVxuICAgICAgICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8odGhpcy5lbGVtZW50UmVmKVxuICAgICAgICAgICAgLndpdGhUcmFuc2Zvcm1PcmlnaW5Pbih0aGlzLm9yaWdpblNlbGVjdG9yKVxuICAgICAgICAgICAgLndpdGhGbGV4aWJsZURpbWVuc2lvbnMoZmFsc2UpXG4gICAgICAgICAgICAud2l0aFBvc2l0aW9ucyhbLi4uRVhURU5ERURfT1ZFUkxBWV9QT1NJVElPTlNdKVxuICAgICAgICAgICAgLndpdGhMb2NrZWRQb3NpdGlvbigpXG4gICAgICAgICAgICAud2l0aFNjcm9sbGFibGVDb250YWluZXJzKHRoaXMuc2Nyb2xsRGlzcGF0Y2hlci5nZXRBbmNlc3RvclNjcm9sbENvbnRhaW5lcnModGhpcy5lbGVtZW50UmVmKSk7XG5cbiAgICAgICAgdGhpcy5zdHJhdGVneS5wb3NpdGlvbkNoYW5nZXMucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSkuc3Vic2NyaWJlKHRoaXMub25Qb3NpdGlvbkNoYW5nZSk7XG5cbiAgICAgICAgdGhpcy5vdmVybGF5UmVmID0gdGhpcy5vdmVybGF5LmNyZWF0ZSh7XG4gICAgICAgICAgICAuLi50aGlzLm92ZXJsYXlDb25maWcsXG4gICAgICAgICAgICBkaXJlY3Rpb246IHRoaXMuZGlyZWN0aW9uIHx8IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMuc3RyYXRlZ3ksXG4gICAgICAgICAgICBzY3JvbGxTdHJhdGVneTogdGhpcy5zY3JvbGxTdHJhdGVneSgpXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuc3Vic2NyaWJlT25DbG9zaW5nQWN0aW9ucygpO1xuXG4gICAgICAgIHRoaXMub3ZlcmxheVJlZi5kZXRhY2htZW50cygpLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpLnN1YnNjcmliZSh0aGlzLmRldGFjaCk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMub3ZlcmxheVJlZjtcbiAgICB9XG5cbiAgICByZXNldE9yaWdpbigpIHtcbiAgICAgICAgdGhpcy5zdHJhdGVneS5zZXRPcmlnaW4odGhpcy5lbGVtZW50UmVmKTtcbiAgICB9XG5cbiAgICBvblBvc2l0aW9uQ2hhbmdlID0gKCRldmVudDogQ29ubmVjdGVkT3ZlcmxheVBvc2l0aW9uQ2hhbmdlKTogdm9pZCA9PiB7XG4gICAgICAgIGlmICghdGhpcy5pbnN0YW5jZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IG5ld1BsYWNlbWVudCA9IHRoaXMucGxhY2VtZW50O1xuXG4gICAgICAgIGNvbnN0IHsgb3JpZ2luWCwgb3JpZ2luWSwgb3ZlcmxheVgsIG92ZXJsYXlZIH0gPSAkZXZlbnQuY29ubmVjdGlvblBhaXI7XG5cbiAgICAgICAgT2JqZWN0LmtleXModGhpcy5hdmFpbGFibGVQb3NpdGlvbnMpLnNvbWUoKGtleSkgPT4ge1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIG9yaWdpblggPT09IHRoaXMuYXZhaWxhYmxlUG9zaXRpb25zW2tleV0ub3JpZ2luWCAmJlxuICAgICAgICAgICAgICAgIG9yaWdpblkgPT09IHRoaXMuYXZhaWxhYmxlUG9zaXRpb25zW2tleV0ub3JpZ2luWSAmJlxuICAgICAgICAgICAgICAgIG92ZXJsYXlYID09PSB0aGlzLmF2YWlsYWJsZVBvc2l0aW9uc1trZXldLm92ZXJsYXlYICYmXG4gICAgICAgICAgICAgICAgb3ZlcmxheVkgPT09IHRoaXMuYXZhaWxhYmxlUG9zaXRpb25zW2tleV0ub3ZlcmxheVlcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIG5ld1BsYWNlbWVudCA9IGtleSBhcyBQb3BVcFBsYWNlbWVudHM7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnBsYWNlbWVudENoYW5nZS5lbWl0KG5ld1BsYWNlbWVudCk7XG5cbiAgICAgICAgdGhpcy51cGRhdGVDbGFzc01hcChuZXdQbGFjZW1lbnQpO1xuXG4gICAgICAgIHRoaXMuaW5zdGFuY2UuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH07XG5cbiAgICBpbml0TGlzdGVuZXJzKCkge1xuICAgICAgICB0aGlzLmNsZWFyTGlzdGVuZXJzKCk7XG5cbiAgICAgICAgaWYgKHRoaXMudHJpZ2dlci5pbmNsdWRlcyhQb3BVcFRyaWdnZXJzLkNsaWNrKSkge1xuICAgICAgICAgICAgdGhpcy5saXN0ZW5lcnMuc2V0KC4uLnRoaXMuY3JlYXRlTGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5zaG93KSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy50cmlnZ2VyLmluY2x1ZGVzKFBvcFVwVHJpZ2dlcnMuSG92ZXIpKSB7XG4gICAgICAgICAgICB0aGlzLmxpc3RlbmVyc1xuICAgICAgICAgICAgICAgIC5zZXQoLi4udGhpcy5jcmVhdGVMaXN0ZW5lcignbW91c2VlbnRlcicsIHRoaXMuc2hvdykpXG4gICAgICAgICAgICAgICAgLnNldCguLi50aGlzLmNyZWF0ZUxpc3RlbmVyKCdtb3VzZWxlYXZlJywgdGhpcy5nZXRNb3VzZUxlYXZlTGlzdGVuZXIoKSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMudHJpZ2dlci5pbmNsdWRlcyhQb3BVcFRyaWdnZXJzLkZvY3VzKSkge1xuICAgICAgICAgICAgdGhpcy5saXN0ZW5lcnNcbiAgICAgICAgICAgICAgICAuc2V0KC4uLnRoaXMuY3JlYXRlTGlzdGVuZXIoJ2ZvY3VzJywgdGhpcy5zaG93KSlcbiAgICAgICAgICAgICAgICAuc2V0KC4uLnRoaXMuY3JlYXRlTGlzdGVuZXIoJ2JsdXInLCB0aGlzLmhpZGUpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnRyaWdnZXIuaW5jbHVkZXMoUG9wVXBUcmlnZ2Vycy5LZXlkb3duKSkge1xuICAgICAgICAgICAgdGhpcy5saXN0ZW5lcnMuc2V0KCdrZXlkb3duJywgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgS2V5Ym9hcmRFdmVudCAmJiBbRU5URVIsIFNQQUNFXS5pbmNsdWRlcyhldmVudC5rZXlDb2RlKSkge1xuICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuc2hvdygpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMubGlzdGVuZXJzLmZvckVhY2godGhpcy5hZGRFdmVudExpc3RlbmVyKTtcbiAgICB9XG5cbiAgICBnZXRNb3VzZUxlYXZlTGlzdGVuZXIoKSB7XG4gICAgICAgIGlmICh0aGlzLmhpZGVXaXRoVGltZW91dCkge1xuICAgICAgICAgICAgcmV0dXJuICgpID0+IHNldFRpbWVvdXQodGhpcy5oaWRlLCB0aGlzLmxlYXZlRGVsYXkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaGlkZTtcbiAgICB9XG5cbiAgICAvKiogVXBkYXRlcyB0aGUgcG9zaXRpb24gb2YgdGhlIGN1cnJlbnQgcG9wb3Zlci4gKi9cbiAgICB1cGRhdGVQb3NpdGlvbihyZWFwcGx5UG9zaXRpb246IGJvb2xlYW4gPSBmYWxzZSkge1xuICAgICAgICB0aGlzLm92ZXJsYXlSZWYgPSB0aGlzLmNyZWF0ZU92ZXJsYXkoKTtcblxuICAgICAgICB0aGlzLnN1YnNjcmliZU9uQ2xvc2luZ0FjdGlvbnMoKTtcblxuICAgICAgICBjb25zdCBwb3NpdGlvbiA9ICh0aGlzLm92ZXJsYXlSZWYuZ2V0Q29uZmlnKCkucG9zaXRpb25TdHJhdGVneSBhcyBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3kpXG4gICAgICAgICAgICAud2l0aFBvc2l0aW9ucyh0aGlzLmdldEFkanVzdGVkUG9zaXRpb25zKCkpXG4gICAgICAgICAgICAud2l0aFB1c2godHJ1ZSk7XG5cbiAgICAgICAgaWYgKHJlYXBwbHlQb3NpdGlvbikge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiBwb3NpdGlvbi5yZWFwcGx5TGFzdFBvc2l0aW9uKCkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZm9jdXMoKSB7XG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyBhIGxpc3Qgb2YgcG9zaXRpb25zIHRoYXQgYXJlIGFsaWduZWQgd2l0aCB0aGUgZWxlbWVudCdzIGRpbWVuc2lvbnMgYW5kIG9mZnNldHMuXG4gICAgICogQHByb3RlY3RlZFxuICAgICAqL1xuICAgIHByb3RlY3RlZCBnZXRBZGp1c3RlZFBvc2l0aW9ucygpOiBDb25uZWN0aW9uUG9zaXRpb25QYWlyW10ge1xuICAgICAgICBjb25zdCByZXM6IENvbm5lY3Rpb25Qb3NpdGlvblBhaXJbXSA9IFtdO1xuXG4gICAgICAgIGZvciAoY29uc3QgcG9zIG9mIHRoaXMuZ2V0UHJpb3JpdGl6ZWRQb3NpdGlvbnMoKSkge1xuICAgICAgICAgICAgY29uc3Qgb2Zmc2V0OiBLYnFQb3B1cFRyaWdnZXJPZmZzZXQgPSB0aGlzLmFycm93XG4gICAgICAgICAgICAgICAgPyBnZXRPZmZzZXQocG9zLCB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSlcbiAgICAgICAgICAgICAgICA6IHt9O1xuXG4gICAgICAgICAgICByZXMucHVzaCh7XG4gICAgICAgICAgICAgICAgLi4ucG9zLFxuICAgICAgICAgICAgICAgIC4uLm9mZnNldFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRQcmlvcml0eVBsYWNlbWVudFN0cmF0ZWd5KHZhbHVlOiBzdHJpbmcgfCBzdHJpbmdbXSk6IENvbm5lY3Rpb25Qb3NpdGlvblBhaXJbXSB7XG4gICAgICAgIGNvbnN0IHJlc3VsdDogQ29ubmVjdGlvblBvc2l0aW9uUGFpcltdID0gW107XG4gICAgICAgIGNvbnN0IHBvc3NpYmxlUG9zaXRpb25zID0gT2JqZWN0LmtleXModGhpcy5hdmFpbGFibGVQb3NpdGlvbnMpO1xuXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgICAgdmFsdWUuZm9yRWFjaCgocG9zaXRpb246IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChwb3NzaWJsZVBvc2l0aW9ucy5pbmNsdWRlcyhwb3NpdGlvbikpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnB1c2godGhpcy5hdmFpbGFibGVQb3NpdGlvbnNbcG9zaXRpb25dKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIGlmIChwb3NzaWJsZVBvc2l0aW9ucy5pbmNsdWRlcyh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKHRoaXMuYXZhaWxhYmxlUG9zaXRpb25zW3ZhbHVlXSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRQcmlvcml0aXplZFBvc2l0aW9ucygpIHtcbiAgICAgICAgaWYgKHRoaXMucGxhY2VtZW50UHJpb3JpdHkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldFByaW9yaXR5UGxhY2VtZW50U3RyYXRlZ3kodGhpcy5wbGFjZW1lbnRQcmlvcml0eSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gUE9TSVRJT05fUFJJT1JJVFlfU1RSQVRFR1lbdGhpcy5wbGFjZW1lbnRdO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjbGVhckxpc3RlbmVycygpIHtcbiAgICAgICAgdGhpcy5saXN0ZW5lcnMuZm9yRWFjaCh0aGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIpO1xuXG4gICAgICAgIHRoaXMubGlzdGVuZXJzLmNsZWFyKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVMaXN0ZW5lcihuYW1lOiBzdHJpbmcsIGxpc3RlbmVyOiAoKSA9PiB2b2lkKTogW3N0cmluZywgKGV2ZW50OiB1bmtub3duKSA9PiB2b2lkXSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICBuYW1lLFxuICAgICAgICAgICAgKGV2ZW50OiB1bmtub3duKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy50cmlnZ2VyTmFtZSA9IG5hbWU7XG4gICAgICAgICAgICAgICAgdGhpcy5zYXZlTW91c2VFdmVudChldmVudCBhcyBNb3VzZUV2ZW50KTtcblxuICAgICAgICAgICAgICAgIHJldHVybiBsaXN0ZW5lci5jYWxsKHRoaXMpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIF07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzYXZlTW91c2VFdmVudChldmVudDogTW91c2VFdmVudCkge1xuICAgICAgICBpZiAodGhpcy50cmlnZ2VyTmFtZSA9PT0gJ21vdXNlZW50ZXInKSB7XG4gICAgICAgICAgICB0aGlzLm1vdXNlRXZlbnQgPSBldmVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgYWRkRXZlbnRMaXN0ZW5lciA9IChsaXN0ZW5lcjogRXZlbnRMaXN0ZW5lciwgZXZlbnQ6IHN0cmluZykgPT4ge1xuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKGV2ZW50LCBsaXN0ZW5lcik7XG4gICAgfTtcblxuICAgIHByaXZhdGUgcmVtb3ZlRXZlbnRMaXN0ZW5lciA9IChsaXN0ZW5lcjogRXZlbnRMaXN0ZW5lciwgZXZlbnQ6IHN0cmluZykgPT4ge1xuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50LCBsaXN0ZW5lcik7XG4gICAgfTtcblxuICAgIHByaXZhdGUgc3Vic2NyaWJlT25DbG9zaW5nQWN0aW9ucygpIHtcbiAgICAgICAgdGhpcy5jbG9zaW5nQWN0aW9uc1N1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcblxuICAgICAgICB0aGlzLmNsb3NpbmdBY3Rpb25zU3Vic2NyaXB0aW9uID0gdGhpcy5jbG9zaW5nQWN0aW9ucygpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcbiAgICAgICAgICAgIC5waXBlKHJ4RGVsYXkoMCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChldmVudD8udHlwZSA9PT0gJ2NsaWNrJyAmJiBldmVudC5rYnFQb3BvdmVyUHJldmVudEhpZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRoaXMuaGlkZSgpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Directive, EventEmitter, Inject, Optional } from '@angular/core';
|
|
1
|
+
import { booleanAttribute, Directive, EventEmitter, Inject, Input, Optional } from '@angular/core';
|
|
2
2
|
import { END, ESCAPE, HOME, SPACE } from '@koobiq/cdk/keycodes';
|
|
3
3
|
import { Subscription } from 'rxjs';
|
|
4
4
|
import { KBQ_FORM_FIELD_REF } from '../form-field';
|
|
@@ -16,8 +16,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
16
16
|
}]
|
|
17
17
|
}] });
|
|
18
18
|
export class KbqSelectMatcher {
|
|
19
|
+
constructor() {
|
|
20
|
+
this.useDefaultHandlers = true;
|
|
21
|
+
}
|
|
19
22
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqSelectMatcher, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
20
|
-
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
23
|
+
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.14", type: KbqSelectMatcher, isStandalone: true, selector: "kbq-select-matcher, [kbq-select-matcher]", inputs: { useDefaultHandlers: ["useDefaultHandlers", "useDefaultHandlers", booleanAttribute] }, ngImport: i0 }); }
|
|
21
24
|
}
|
|
22
25
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqSelectMatcher, decorators: [{
|
|
23
26
|
type: Directive,
|
|
@@ -25,7 +28,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
25
28
|
selector: 'kbq-select-matcher, [kbq-select-matcher]',
|
|
26
29
|
standalone: true
|
|
27
30
|
}]
|
|
28
|
-
}]
|
|
31
|
+
}], propDecorators: { useDefaultHandlers: [{
|
|
32
|
+
type: Input,
|
|
33
|
+
args: [{ transform: booleanAttribute }]
|
|
34
|
+
}] } });
|
|
29
35
|
export class KbqSelectFooter {
|
|
30
36
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqSelectFooter, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
31
37
|
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: KbqSelectFooter, isStandalone: true, selector: "kbq-select-footer, [kbq-select-footer]", host: { classAttribute: "kbq-select__footer" }, ngImport: i0 }); }
|
|
@@ -194,4 +200,4 @@ export class KbqAbstractSelect {
|
|
|
194
200
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqAbstractSelect, decorators: [{
|
|
195
201
|
type: Directive
|
|
196
202
|
}] });
|
|
197
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9jb3JlL3NlbGVjdC9jb21tb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFvQixTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBYSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkcsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFFLGtCQUFrQixFQUFtQixNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQUUsdUNBQXVDLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBTXJHLE1BQU0sT0FBTyxnQkFBZ0I7a0lBQWhCLGdCQUFnQjtzSEFBaEIsZ0JBQWdCOzs0RkFBaEIsZ0JBQWdCO2tCQUo1QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSwwQ0FBMEM7b0JBQ3BELFVBQVUsRUFBRSxJQUFJO2lCQUNuQjs7QUFPRCxNQUFNLE9BQU8sZ0JBQWdCO2tJQUFoQixnQkFBZ0I7c0hBQWhCLGdCQUFnQjs7NEZBQWhCLGdCQUFnQjtrQkFKNUIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsMENBQTBDO29CQUNwRCxVQUFVLEVBQUUsSUFBSTtpQkFDbkI7O0FBUUQsTUFBTSxPQUFPLGVBQWU7a0lBQWYsZUFBZTtzSEFBZixlQUFlOzs0RkFBZixlQUFlO2tCQUwzQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx3Q0FBd0M7b0JBQ2xELElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxvQkFBb0IsRUFBRTtvQkFDckMsVUFBVSxFQUFFLElBQUk7aUJBQ25COztBQVdELE1BQU0sT0FBTyxlQUFlO0lBS3hCLElBQUks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UUFDdkMsQ0FBQztRQUVELE9BQU8sQ0FBQyxPQUFPLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVTLGNBQWM7UUFDcEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUM3RSxDQUFDO0lBRVMsWUFBWTtRQUNsQixJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUM3RSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO1FBQ25FLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ2hELENBQUM7SUFFUyxnQ0FBZ0MsQ0FBQyxLQUF1QjtRQUM5RCxPQUFPLEtBQUssS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLHVDQUF1QyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDOUUsQ0FBQztrSUF4RWlCLGlCQUFpQjtzSEFBakIsaUJBQWlCOzs0RkFBakIsaUJBQWlCO2tCQUR0QyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2RrQ29ubmVjdGVkT3ZlcmxheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IEFmdGVyQ29udGVudEluaXQsIERpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyLCBJbmplY3QsIE9uRGVzdHJveSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVORCwgRVNDQVBFLCBIT01FLCBTUEFDRSB9IGZyb20gJ0Brb29iaXEvY2RrL2tleWNvZGVzJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgS0JRX0ZPUk1fRklFTERfUkVGLCBLYnFGb3JtRmllbGRSZWYgfSBmcm9tICcuLi9mb3JtLWZpZWxkJztcbmltcG9ydCB7IEtCUV9TRUxFQ1RfU0VBUkNIX01JTl9PUFRJT05TX1RIUkVTSE9MRCwgU0VMRUNUX1BBTkVMX1ZJRVdQT1JUX1BBRERJTkcgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAna2JxLXNlbGVjdC10cmlnZ2VyLCBba2JxLXNlbGVjdC10cmlnZ2VyXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBLYnFTZWxlY3RUcmlnZ2VyIHt9XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAna2JxLXNlbGVjdC1tYXRjaGVyLCBba2JxLXNlbGVjdC1tYXRjaGVyXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBLYnFTZWxlY3RNYXRjaGVyIHt9XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAna2JxLXNlbGVjdC1mb290ZXIsIFtrYnEtc2VsZWN0LWZvb3Rlcl0nLFxuICAgIGhvc3Q6IHsgY2xhc3M6ICdrYnEtc2VsZWN0X19mb290ZXInIH0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBLYnFTZWxlY3RGb290ZXIge31cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdba2JxU2VsZWN0U2VhcmNoXScsXG4gICAgZXhwb3J0QXM6ICdrYnFTZWxlY3RTZWFyY2gnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaG9zdDoge1xuICAgICAgICAnKGtleWRvd24pJzogJ2hhbmRsZUtleWRvd24oJGV2ZW50KSdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIEticVNlbGVjdFNlYXJjaCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveSB7XG4gICAgcmVhZG9ubHkgY2hhbmdlczogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAgIGlzU2VhcmNoQ2hhbmdlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgZ2V0IG5nQ29udHJvbCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybUZpZWxkLmNvbnRyb2wubmdDb250cm9sO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2VhcmNoQ2hhbmdlc1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gICAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQEluamVjdChLQlFfRk9STV9GSUVMRF9SRUYpIHByb3RlY3RlZCBmb3JtRmllbGQ6IEticUZvcm1GaWVsZFJlZikge1xuICAgICAgICBmb3JtRmllbGQuY2FuQ2xlYW5lckNsZWFyQnlFc2MgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBzZXRQbGFjZWhvbGRlcih2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZm9ybUZpZWxkLmNvbnRyb2wucGxhY2Vob2xkZXIgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBoYXNQbGFjZWhvbGRlcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5mb3JtRmllbGQ/LmNvbnRyb2wucGxhY2Vob2xkZXI7XG4gICAgfVxuXG4gICAgZm9jdXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZm9ybUZpZWxkLmZvY3VzVmlhS2V5Ym9hcmQoKTtcbiAgICB9XG5cbiAgICByZXNldCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5uZ0NvbnRyb2wucmVzZXQoKTtcbiAgICB9XG5cbiAgICB2YWx1ZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybUZpZWxkLmNvbnRyb2wudmFsdWU7XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5mb3JtRmllbGQuY29udHJvbC5jb250cm9sVHlwZSAhPT0gJ2lucHV0Jykge1xuICAgICAgICAgICAgdGhyb3cgRXJyb3IoJ0ticVNlbGVjdFNlYXJjaCBkb2VzIG5vdCB3b3JrIHdpdGhvdXQga2JxSW5wdXQnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy5uZ0NvbnRyb2wpIHtcbiAgICAgICAgICAgIHRocm93IEVycm9yKCdLYnFTZWxlY3RTZWFyY2ggZG9lcyBub3Qgd29yayB3aXRob3V0IG5nQ29udHJvbCcpO1xuICAgICAgICB9XG5cbiAgICAgICAgUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNlYXJjaENoYW5nZXNTdWJzY3JpcHRpb24gPSB0aGlzLm5nQ29udHJvbC52YWx1ZUNoYW5nZXMhLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzU2VhcmNoQ2hhbmdlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VzLm5leHQodmFsdWUpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlYXJjaENoYW5nZXNTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBoYW5kbGVLZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGlmIChldmVudC5rZXlDb2RlID09PSBFU0NBUEUpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnZhbHVlKCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlc2V0KCk7XG4gICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoW1NQQUNFLCBIT01FLCBFTkRdLmluY2x1ZGVzKGV2ZW50LmtleUNvZGUpKSB7XG4gICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdba2JxLXNlbGVjdC1zZWFyY2gtZW1wdHktcmVzdWx0XScsXG4gICAgZXhwb3J0QXM6ICdrYnFTZWxlY3RTZWFyY2hFbXB0eVJlc3VsdCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBLYnFTZWxlY3RTZWFyY2hFbXB0eVJlc3VsdCB7fVxuXG4vKipcbiAqIEFic3RyYWN0IGNsYXNzIHJlcHJlc2VudGluZyBhIGN1c3RvbWl6YWJsZSBzZWxlY3QgY29tcG9uZW50IHdpdGggYW4gb3ZlcmxheS5cbiAqXG4gKiBUaGlzIGNsYXNzIHByb3ZpZGVzIGJhc2UgZnVuY3Rpb25hbGl0eSBmb3IgaGFuZGxpbmcgdGhlIG92ZXJsYXkgcG9zaXRpb25pbmcuXG4gKiBAZG9jcy1wcml2YXRlXG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEticUFic3RyYWN0U2VsZWN0IHtcbiAgICBwcm90ZWN0ZWQgb3ZlcmxheURpcjogQ2RrQ29ubmVjdGVkT3ZlcmxheTtcbiAgICBwcm90ZWN0ZWQgdHJpZ2dlclJlY3Q6IERPTVJlY3Q7XG5cbiAgICAvKiogT3ZlcmxheSBwYW5lbCBjbGFzcy4gKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgb3ZlcmxheVBhbmVsQ2xhc3MgPSAna2JxLXNlbGVjdC1vdmVybGF5JztcblxuICAgIHByb3RlY3RlZCBzZXRPdmVybGF5UG9zaXRpb24oKSB7XG4gICAgICAgIGlmICghdGhpcy5vdmVybGF5RGlyLm92ZXJsYXlSZWYpIHJldHVybjtcblxuICAgICAgICB0aGlzLnJlc2V0T3ZlcmxheSgpO1xuXG4gICAgICAgIGNvbnN0IG92ZXJsYXlSZWN0ID0gdGhpcy5nZXRPdmVybGF5UmVjdCgpO1xuICAgICAgICAvLyBXaW5kb3cgd2lkdGggd2l0aG91dCBzY3JvbGxiYXJcbiAgICAgICAgY29uc3Qgd2luZG93V2lkdGggPSB0aGlzLm92ZXJsYXlEaXIub3ZlcmxheVJlZj8uaG9zdEVsZW1lbnQuY2xpZW50V2lkdGg7XG4gICAgICAgIGxldCBvZmZzZXRYOiBudW1iZXIgPSAwO1xuICAgICAgICBsZXQgb3ZlcmxheU1heFdpZHRoOiBudW1iZXI7XG5cbiAgICAgICAgLy8gRGV0ZXJtaW5lIGlmIHNlbGVjdCBvdmVyZmxvd3Mgb24gZWl0aGVyIHNpZGUuXG4gICAgICAgIGNvbnN0IGxlZnRPdmVyZmxvdyA9IC1vdmVybGF5UmVjdC5sZWZ0O1xuICAgICAgICBjb25zdCByaWdodE92ZXJmbG93ID0gb3ZlcmxheVJlY3QucmlnaHQgLSB3aW5kb3dXaWR0aDtcblxuICAgICAgICAvLyBJZiB0aGUgZWxlbWVudCBvdmVyZmxvd3Mgb24gZWl0aGVyIHNpZGUsIHJlZHVjZSB0aGUgb2Zmc2V0IHRvIGFsbG93IGl0IHRvIGZpdC5cbiAgICAgICAgaWYgKGxlZnRPdmVyZmxvdyA+IDAgfHwgcmlnaHRPdmVyZmxvdyA+IDApIHtcbiAgICAgICAgICAgIFtvZmZzZXRYLCBvdmVybGF5TWF4V2lkdGhdID0gdGhpcy5jYWxjdWxhdGVPdmVybGF5T2Zmc2V0WChvZmZzZXRYKTtcbiAgICAgICAgICAgIHRoaXMub3ZlcmxheURpci5vdmVybGF5UmVmLm92ZXJsYXlFbGVtZW50LnN0eWxlLm1heFdpZHRoID0gYCR7b3ZlcmxheU1heFdpZHRofXB4YDtcbiAgICAgICAgICAgIC8vIHJlc2V0IHRoZSBtaW5XaWR0aCBwcm9wZXJ0eVxuICAgICAgICAgICAgdGhpcy5vdmVybGF5RGlyLm92ZXJsYXlSZWYub3ZlcmxheUVsZW1lbnQuc3R5bGUubWluV2lkdGggPSAnJztcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFNldCB0aGUgb2Zmc2V0IGRpcmVjdGx5IGluIG9yZGVyIHRvIGF2b2lkIGhhdmluZyB0byBnbyB0aHJvdWdoIGNoYW5nZSBkZXRlY3Rpb24gYW5kXG4gICAgICAgIC8vIHBvdGVudGlhbGx5IHRyaWdnZXJpbmcgXCJjaGFuZ2VkIGFmdGVyIGl0IHdhcyBjaGVja2VkXCIgZXJyb3JzLiBSb3VuZCB0aGUgdmFsdWUgdG8gYXZvaWRcbiAgICAgICAgLy8gYmx1cnJ5IGNvbnRlbnQgaW4gc29tZSBicm93c2Vycy5cbiAgICAgICAgdGhpcy5vdmVybGF5RGlyLm9mZnNldFggPSBNYXRoLnJvdW5kKG9mZnNldFgpO1xuICAgICAgICB0aGlzLm92ZXJsYXlEaXIub3ZlcmxheVJlZi51cGRhdGVQb3NpdGlvbigpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjYWxjdWxhdGVPdmVybGF5T2Zmc2V0WChiYXNlT2Zmc2V0WDogbnVtYmVyKTogbnVtYmVyW10ge1xuICAgICAgICBsZXQgb2Zmc2V0WCA9IGJhc2VPZmZzZXRYO1xuICAgICAgICBjb25zdCB3aW5kb3dXaWR0aCA9IHRoaXMub3ZlcmxheURpci5vdmVybGF5UmVmPy5ob3N0RWxlbWVudC5jbGllbnRXaWR0aDtcbiAgICAgICAgY29uc3QgeyBsZWZ0OiBsZWZ0SW5kZW50LCByaWdodDogdHJpZ2dlclJpZ2h0LCB3aWR0aDogdHJpZ2dlcldpZHRoIH0gPSB0aGlzLnRyaWdnZXJSZWN0O1xuICAgICAgICBjb25zdCB7IHdpZHRoOiBvdmVybGF5UmVjdFdpZHRoIH0gPSB0aGlzLmdldE92ZXJsYXlSZWN0KCk7XG4gICAgICAgIGNvbnN0IHJpZ2h0SW5kZW50ID0gd2luZG93V2lkdGggLSB0cmlnZ2VyUmlnaHQ7XG4gICAgICAgIC8vIFNldHRpbmcgZGlyZWN0aW9uIG9mIGRyb3Bkb3duIGV4cGFuc2lvblxuICAgICAgICBjb25zdCBpc1JpZ2h0RGlyZWN0aW9uID0gbGVmdEluZGVudCA8PSByaWdodEluZGVudDtcblxuICAgICAgICBjb25zdCBpbmRlbnQgPSBpc1JpZ2h0RGlyZWN0aW9uID8gcmlnaHRJbmRlbnQgOiBsZWZ0SW5kZW50O1xuICAgICAgICBjb25zdCBtYXhEcm9wZG93bldpZHRoID0gaW5kZW50ICsgdHJpZ2dlcldpZHRoIC0gU0VMRUNUX1BBTkVMX1ZJRVdQT1JUX1BBRERJTkc7XG4gICAgICAgIGNvbnN0IG92ZXJsYXlNYXhXaWR0aCA9IG92ZXJsYXlSZWN0V2lkdGggPCBtYXhEcm9wZG93bldpZHRoID8gb3ZlcmxheVJlY3RXaWR0aCA6IG1heERyb3Bkb3duV2lkdGg7XG5cbiAgICAgICAgaWYgKCFpc1JpZ2h0RGlyZWN0aW9uKSB7XG4gICAgICAgICAgICBjb25zdCBsZWZ0T2Zmc2V0ID0gdHJpZ2dlclJpZ2h0IC0gb3ZlcmxheU1heFdpZHRoO1xuXG4gICAgICAgICAgICBvZmZzZXRYIC09IGxlZnRJbmRlbnQgLSBsZWZ0T2Zmc2V0O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIFtvZmZzZXRYLCBvdmVybGF5TWF4V2lkdGhdO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRPdmVybGF5UmVjdCgpOiBET01SZWN0IHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3ZlcmxheURpci5vdmVybGF5UmVmLm92ZXJsYXlFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCByZXNldE92ZXJsYXkoKTogdm9pZCB7XG4gICAgICAgIHRoaXMub3ZlcmxheURpci5vdmVybGF5UmVmLmhvc3RFbGVtZW50LmNsYXNzTGlzdC5hZGQodGhpcy5vdmVybGF5UGFuZWxDbGFzcyk7XG4gICAgICAgIHRoaXMub3ZlcmxheURpci5vZmZzZXRYID0gMDtcbiAgICAgICAgdGhpcy5vdmVybGF5RGlyLm92ZXJsYXlSZWYub3ZlcmxheUVsZW1lbnQuc3R5bGUubWF4V2lkdGggPSAndW5zZXQnO1xuICAgICAgICB0aGlzLm92ZXJsYXlEaXIub3ZlcmxheVJlZi51cGRhdGVQb3NpdGlvbigpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCByZXNvbHZlU2VhcmNoTWluT3B0aW9uc1RocmVzaG9sZCh2YWx1ZT86ICdhdXRvJyB8IG51bWJlcikge1xuICAgICAgICByZXR1cm4gdmFsdWUgPT09ICdhdXRvJyA/IEtCUV9TRUxFQ1RfU0VBUkNIX01JTl9PUFRJT05TX1RIUkVTSE9MRCA6IHZhbHVlO1xuICAgIH1cbn1cbiJdfQ==
|
|
203
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9jb3JlL3NlbGVjdC9jb21tb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUVILGdCQUFnQixFQUNoQixTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBRUwsUUFBUSxFQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxrQkFBa0IsRUFBbUIsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFFLHVDQUF1QyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sYUFBYSxDQUFDOztBQU1yRyxNQUFNLE9BQU8sZ0JBQWdCO2tJQUFoQixnQkFBZ0I7c0hBQWhCLGdCQUFnQjs7NEZBQWhCLGdCQUFnQjtrQkFKNUIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsMENBQTBDO29CQUNwRCxVQUFVLEVBQUUsSUFBSTtpQkFDbkI7O0FBT0QsTUFBTSxPQUFPLGdCQUFnQjtJQUo3QjtRQUs0Qyx1QkFBa0IsR0FBWSxJQUFJLENBQUM7S0FDOUU7a0lBRlksZ0JBQWdCO3NIQUFoQixnQkFBZ0IsdUpBQ0wsZ0JBQWdCOzs0RkFEM0IsZ0JBQWdCO2tCQUo1QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSwwQ0FBMEM7b0JBQ3BELFVBQVUsRUFBRSxJQUFJO2lCQUNuQjs4QkFFMkMsa0JBQWtCO3NCQUF6RCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFOztBQVExQyxNQUFNLE9BQU8sZUFBZTtrSUFBZixlQUFlO3NIQUFmLGVBQWU7OzRGQUFmLGVBQWU7a0JBTDNCLFNBQVM7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QyxDQUFDLENBQUMsZ0JBQWdCLENBQUM7UUFFbEcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDcEIsTUFBTSxVQUFVLEdBQUcsWUFBWSxHQUFHLGVBQWUsQ0FBQztZQUVsRCxPQUFPLElBQUksVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUN2QyxDQUFDO1FBRUQsT0FBTyxDQUFDLE9BQU8sRUFBRSxlQUFlLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRVMsY0FBYztRQUNwQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQzdFLENBQUM7SUFFUyxZQUFZO1FBQ2xCLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzdFLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7UUFDbkUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDaEQsQ0FBQztJQUVTLGdDQUFnQyxDQUFDLEtBQXVCO1FBQzlELE9BQU8sS0FBSyxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsdUNBQXVDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUM5RSxDQUFDO2tJQXhFaUIsaUJBQWlCO3NIQUFqQixpQkFBaUI7OzRGQUFqQixpQkFBaUI7a0JBRHRDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZGtDb25uZWN0ZWRPdmVybGF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHtcbiAgICBBZnRlckNvbnRlbnRJbml0LFxuICAgIGJvb2xlYW5BdHRyaWJ1dGUsXG4gICAgRGlyZWN0aXZlLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE9wdGlvbmFsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRU5ELCBFU0NBUEUsIEhPTUUsIFNQQUNFIH0gZnJvbSAnQGtvb2JpcS9jZGsva2V5Y29kZXMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBLQlFfRk9STV9GSUVMRF9SRUYsIEticUZvcm1GaWVsZFJlZiB9IGZyb20gJy4uL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgS0JRX1NFTEVDVF9TRUFSQ0hfTUlOX09QVElPTlNfVEhSRVNIT0xELCBTRUxFQ1RfUEFORUxfVklFV1BPUlRfUEFERElORyB9IGZyb20gJy4vY29uc3RhbnRzJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdrYnEtc2VsZWN0LXRyaWdnZXIsIFtrYnEtc2VsZWN0LXRyaWdnZXJdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEticVNlbGVjdFRyaWdnZXIge31cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdrYnEtc2VsZWN0LW1hdGNoZXIsIFtrYnEtc2VsZWN0LW1hdGNoZXJdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEticVNlbGVjdE1hdGNoZXIge1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSB1c2VEZWZhdWx0SGFuZGxlcnM6IGJvb2xlYW4gPSB0cnVlO1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ2ticS1zZWxlY3QtZm9vdGVyLCBba2JxLXNlbGVjdC1mb290ZXJdJyxcbiAgICBob3N0OiB7IGNsYXNzOiAna2JxLXNlbGVjdF9fZm9vdGVyJyB9LFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgS2JxU2VsZWN0Rm9vdGVyIHt9XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2ticVNlbGVjdFNlYXJjaF0nLFxuICAgIGV4cG9ydEFzOiAna2JxU2VsZWN0U2VhcmNoJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJyhrZXlkb3duKSc6ICdoYW5kbGVLZXlkb3duKCRldmVudCknXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBLYnFTZWxlY3RTZWFyY2ggaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3kge1xuICAgIHJlYWRvbmx5IGNoYW5nZXM6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgICBpc1NlYXJjaENoYW5nZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIGdldCBuZ0NvbnRyb2woKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1GaWVsZC5jb250cm9sLm5nQ29udHJvbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNlYXJjaENoYW5nZXNTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICAgIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIEBJbmplY3QoS0JRX0ZPUk1fRklFTERfUkVGKSBwcm90ZWN0ZWQgZm9ybUZpZWxkOiBLYnFGb3JtRmllbGRSZWYpIHtcbiAgICAgICAgZm9ybUZpZWxkLmNhbkNsZWFuZXJDbGVhckJ5RXNjID0gZmFsc2U7XG4gICAgfVxuXG4gICAgc2V0UGxhY2Vob2xkZXIodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLmZvcm1GaWVsZC5jb250cm9sLnBsYWNlaG9sZGVyID0gdmFsdWU7XG4gICAgfVxuXG4gICAgaGFzUGxhY2Vob2xkZXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuZm9ybUZpZWxkPy5jb250cm9sLnBsYWNlaG9sZGVyO1xuICAgIH1cblxuICAgIGZvY3VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZvcm1GaWVsZC5mb2N1c1ZpYUtleWJvYXJkKCk7XG4gICAgfVxuXG4gICAgcmVzZXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubmdDb250cm9sLnJlc2V0KCk7XG4gICAgfVxuXG4gICAgdmFsdWUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1GaWVsZC5jb250cm9sLnZhbHVlO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZm9ybUZpZWxkLmNvbnRyb2wuY29udHJvbFR5cGUgIT09ICdpbnB1dCcpIHtcbiAgICAgICAgICAgIHRocm93IEVycm9yKCdLYnFTZWxlY3RTZWFyY2ggZG9lcyBub3Qgd29yayB3aXRob3V0IGticUlucHV0Jyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXRoaXMubmdDb250cm9sKSB7XG4gICAgICAgICAgICB0aHJvdyBFcnJvcignS2JxU2VsZWN0U2VhcmNoIGRvZXMgbm90IHdvcmsgd2l0aG91dCBuZ0NvbnRyb2wnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zZWFyY2hDaGFuZ2VzU3Vic2NyaXB0aW9uID0gdGhpcy5uZ0NvbnRyb2wudmFsdWVDaGFuZ2VzIS5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc1NlYXJjaENoYW5nZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlcy5uZXh0KHZhbHVlKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWFyY2hDaGFuZ2VzU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgaGFuZGxlS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBpZiAoZXZlbnQua2V5Q29kZSA9PT0gRVNDQVBFKSB7XG4gICAgICAgICAgICBpZiAodGhpcy52YWx1ZSgpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZXNldCgpO1xuICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKFtTUEFDRSwgSE9NRSwgRU5EXS5pbmNsdWRlcyhldmVudC5rZXlDb2RlKSkge1xuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2ticS1zZWxlY3Qtc2VhcmNoLWVtcHR5LXJlc3VsdF0nLFxuICAgIGV4cG9ydEFzOiAna2JxU2VsZWN0U2VhcmNoRW1wdHlSZXN1bHQnLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgS2JxU2VsZWN0U2VhcmNoRW1wdHlSZXN1bHQge31cblxuLyoqXG4gKiBBYnN0cmFjdCBjbGFzcyByZXByZXNlbnRpbmcgYSBjdXN0b21pemFibGUgc2VsZWN0IGNvbXBvbmVudCB3aXRoIGFuIG92ZXJsYXkuXG4gKlxuICogVGhpcyBjbGFzcyBwcm92aWRlcyBiYXNlIGZ1bmN0aW9uYWxpdHkgZm9yIGhhbmRsaW5nIHRoZSBvdmVybGF5IHBvc2l0aW9uaW5nLlxuICogQGRvY3MtcHJpdmF0ZVxuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBLYnFBYnN0cmFjdFNlbGVjdCB7XG4gICAgcHJvdGVjdGVkIG92ZXJsYXlEaXI6IENka0Nvbm5lY3RlZE92ZXJsYXk7XG4gICAgcHJvdGVjdGVkIHRyaWdnZXJSZWN0OiBET01SZWN0O1xuXG4gICAgLyoqIE92ZXJsYXkgcGFuZWwgY2xhc3MuICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG92ZXJsYXlQYW5lbENsYXNzID0gJ2ticS1zZWxlY3Qtb3ZlcmxheSc7XG5cbiAgICBwcm90ZWN0ZWQgc2V0T3ZlcmxheVBvc2l0aW9uKCkge1xuICAgICAgICBpZiAoIXRoaXMub3ZlcmxheURpci5vdmVybGF5UmVmKSByZXR1cm47XG5cbiAgICAgICAgdGhpcy5yZXNldE92ZXJsYXkoKTtcblxuICAgICAgICBjb25zdCBvdmVybGF5UmVjdCA9IHRoaXMuZ2V0T3ZlcmxheVJlY3QoKTtcbiAgICAgICAgLy8gV2luZG93IHdpZHRoIHdpdGhvdXQgc2Nyb2xsYmFyXG4gICAgICAgIGNvbnN0IHdpbmRvd1dpZHRoID0gdGhpcy5vdmVybGF5RGlyLm92ZXJsYXlSZWY/Lmhvc3RFbGVtZW50LmNsaWVudFdpZHRoO1xuICAgICAgICBsZXQgb2Zmc2V0WDogbnVtYmVyID0gMDtcbiAgICAgICAgbGV0IG92ZXJsYXlNYXhXaWR0aDogbnVtYmVyO1xuXG4gICAgICAgIC8vIERldGVybWluZSBpZiBzZWxlY3Qgb3ZlcmZsb3dzIG9uIGVpdGhlciBzaWRlLlxuICAgICAgICBjb25zdCBsZWZ0T3ZlcmZsb3cgPSAtb3ZlcmxheVJlY3QubGVmdDtcbiAgICAgICAgY29uc3QgcmlnaHRPdmVyZmxvdyA9IG92ZXJsYXlSZWN0LnJpZ2h0IC0gd2luZG93V2lkdGg7XG5cbiAgICAgICAgLy8gSWYgdGhlIGVsZW1lbnQgb3ZlcmZsb3dzIG9uIGVpdGhlciBzaWRlLCByZWR1Y2UgdGhlIG9mZnNldCB0byBhbGxvdyBpdCB0byBmaXQuXG4gICAgICAgIGlmIChsZWZ0T3ZlcmZsb3cgPiAwIHx8IHJpZ2h0T3ZlcmZsb3cgPiAwKSB7XG4gICAgICAgICAgICBbb2Zmc2V0WCwgb3ZlcmxheU1heFdpZHRoXSA9IHRoaXMuY2FsY3VsYXRlT3ZlcmxheU9mZnNldFgob2Zmc2V0WCk7XG4gICAgICAgICAgICB0aGlzLm92ZXJsYXlEaXIub3ZlcmxheVJlZi5vdmVybGF5RWxlbWVudC5zdHlsZS5tYXhXaWR0aCA9IGAke292ZXJsYXlNYXhXaWR0aH1weGA7XG4gICAgICAgICAgICAvLyByZXNldCB0aGUgbWluV2lkdGggcHJvcGVydHlcbiAgICAgICAgICAgIHRoaXMub3ZlcmxheURpci5vdmVybGF5UmVmLm92ZXJsYXlFbGVtZW50LnN0eWxlLm1pbldpZHRoID0gJyc7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTZXQgdGhlIG9mZnNldCBkaXJlY3RseSBpbiBvcmRlciB0byBhdm9pZCBoYXZpbmcgdG8gZ28gdGhyb3VnaCBjaGFuZ2UgZGV0ZWN0aW9uIGFuZFxuICAgICAgICAvLyBwb3RlbnRpYWxseSB0cmlnZ2VyaW5nIFwiY2hhbmdlZCBhZnRlciBpdCB3YXMgY2hlY2tlZFwiIGVycm9ycy4gUm91bmQgdGhlIHZhbHVlIHRvIGF2b2lkXG4gICAgICAgIC8vIGJsdXJyeSBjb250ZW50IGluIHNvbWUgYnJvd3NlcnMuXG4gICAgICAgIHRoaXMub3ZlcmxheURpci5vZmZzZXRYID0gTWF0aC5yb3VuZChvZmZzZXRYKTtcbiAgICAgICAgdGhpcy5vdmVybGF5RGlyLm92ZXJsYXlSZWYudXBkYXRlUG9zaXRpb24oKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY2FsY3VsYXRlT3ZlcmxheU9mZnNldFgoYmFzZU9mZnNldFg6IG51bWJlcik6IG51bWJlcltdIHtcbiAgICAgICAgbGV0IG9mZnNldFggPSBiYXNlT2Zmc2V0WDtcbiAgICAgICAgY29uc3Qgd2luZG93V2lkdGggPSB0aGlzLm92ZXJsYXlEaXIub3ZlcmxheVJlZj8uaG9zdEVsZW1lbnQuY2xpZW50V2lkdGg7XG4gICAgICAgIGNvbnN0IHsgbGVmdDogbGVmdEluZGVudCwgcmlnaHQ6IHRyaWdnZXJSaWdodCwgd2lkdGg6IHRyaWdnZXJXaWR0aCB9ID0gdGhpcy50cmlnZ2VyUmVjdDtcbiAgICAgICAgY29uc3QgeyB3aWR0aDogb3ZlcmxheVJlY3RXaWR0aCB9ID0gdGhpcy5nZXRPdmVybGF5UmVjdCgpO1xuICAgICAgICBjb25zdCByaWdodEluZGVudCA9IHdpbmRvd1dpZHRoIC0gdHJpZ2dlclJpZ2h0O1xuICAgICAgICAvLyBTZXR0aW5nIGRpcmVjdGlvbiBvZiBkcm9wZG93biBleHBhbnNpb25cbiAgICAgICAgY29uc3QgaXNSaWdodERpcmVjdGlvbiA9IGxlZnRJbmRlbnQgPD0gcmlnaHRJbmRlbnQ7XG5cbiAgICAgICAgY29uc3QgaW5kZW50ID0gaXNSaWdodERpcmVjdGlvbiA/IHJpZ2h0SW5kZW50IDogbGVmdEluZGVudDtcbiAgICAgICAgY29uc3QgbWF4RHJvcGRvd25XaWR0aCA9IGluZGVudCArIHRyaWdnZXJXaWR0aCAtIFNFTEVDVF9QQU5FTF9WSUVXUE9SVF9QQURESU5HO1xuICAgICAgICBjb25zdCBvdmVybGF5TWF4V2lkdGggPSBvdmVybGF5UmVjdFdpZHRoIDwgbWF4RHJvcGRvd25XaWR0aCA/IG92ZXJsYXlSZWN0V2lkdGggOiBtYXhEcm9wZG93bldpZHRoO1xuXG4gICAgICAgIGlmICghaXNSaWdodERpcmVjdGlvbikge1xuICAgICAgICAgICAgY29uc3QgbGVmdE9mZnNldCA9IHRyaWdnZXJSaWdodCAtIG92ZXJsYXlNYXhXaWR0aDtcblxuICAgICAgICAgICAgb2Zmc2V0WCAtPSBsZWZ0SW5kZW50IC0gbGVmdE9mZnNldDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBbb2Zmc2V0WCwgb3ZlcmxheU1heFdpZHRoXTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0T3ZlcmxheVJlY3QoKTogRE9NUmVjdCB7XG4gICAgICAgIHJldHVybiB0aGlzLm92ZXJsYXlEaXIub3ZlcmxheVJlZi5vdmVybGF5RWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgcmVzZXRPdmVybGF5KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm92ZXJsYXlEaXIub3ZlcmxheVJlZi5ob3N0RWxlbWVudC5jbGFzc0xpc3QuYWRkKHRoaXMub3ZlcmxheVBhbmVsQ2xhc3MpO1xuICAgICAgICB0aGlzLm92ZXJsYXlEaXIub2Zmc2V0WCA9IDA7XG4gICAgICAgIHRoaXMub3ZlcmxheURpci5vdmVybGF5UmVmLm92ZXJsYXlFbGVtZW50LnN0eWxlLm1heFdpZHRoID0gJ3Vuc2V0JztcbiAgICAgICAgdGhpcy5vdmVybGF5RGlyLm92ZXJsYXlSZWYudXBkYXRlUG9zaXRpb24oKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgcmVzb2x2ZVNlYXJjaE1pbk9wdGlvbnNUaHJlc2hvbGQodmFsdWU/OiAnYXV0bycgfCBudW1iZXIpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlID09PSAnYXV0bycgPyBLQlFfU0VMRUNUX1NFQVJDSF9NSU5fT1BUSU9OU19USFJFU0hPTEQgOiB2YWx1ZTtcbiAgICB9XG59XG4iXX0=
|
package/esm2022/core/version.mjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { Version } from '@angular/core';
|
|
2
|
-
export const VERSION = new Version('18.
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
export const VERSION = new Version('18.37.0+sha-818441e');
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvY29yZS92ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEMsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLElBQUksT0FBTyxDQUFDLHFCQUFxQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWZXJzaW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gbmV3IFZlcnNpb24oJzE4LjM3LjArc2hhLTgxODQ0MWUnKTtcbiJdfQ==
|
|
@@ -4,8 +4,9 @@ import * as i0 from "@angular/core";
|
|
|
4
4
|
import * as i1 from "@koobiq/components/core";
|
|
5
5
|
import * as i2 from "@koobiq/components/button";
|
|
6
6
|
import * as i3 from "@koobiq/components/select";
|
|
7
|
-
import * as i4 from "@koobiq/components/
|
|
8
|
-
import * as i5 from "@
|
|
7
|
+
import * as i4 from "@koobiq/components/form-field";
|
|
8
|
+
import * as i5 from "@koobiq/components/icon";
|
|
9
|
+
import * as i6 from "@angular/common";
|
|
9
10
|
const defaultMinYear = 1900;
|
|
10
11
|
const defaultMaxYear = 2099;
|
|
11
12
|
/** Default header for KbqCalendar */
|
|
@@ -140,7 +141,7 @@ export class KbqCalendarHeader {
|
|
|
140
141
|
}
|
|
141
142
|
}
|
|
142
143
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqCalendarHeader, deps: [{ token: i1.DateAdapter }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
143
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: KbqCalendarHeader, selector: "kbq-calendar-header", inputs: { activeDate: "activeDate", maxDate: "maxDate", minDate: "minDate" }, outputs: { activeDateChange: "activeDateChange", monthSelected: "monthSelected", yearSelected: "yearSelected" }, host: { classAttribute: "kbq-calendar-header" }, exportAs: ["kbqCalendarHeader"], ngImport: i0, template: "<div class=\"kbq-calendar-header__select-group\">\n <kbq-select\n #monthSelect=\"kbqSelect\"\n class=\"kbq-calendar-header__select\"\n [panelClass]=\"'kbq-calendar-select-panel'\"\n [tabIndex]=\"-1\"\n [value]=\"selectedMonth\"\n (selectionChange)=\"onMonthSelected($event.value)\"\n >\n <button\n kbq-button\n kbq-select-matcher\n class=\"layout-padding-right-xs\"\n [class.kbq-active]=\"monthSelect.panelOpen\"\n [color]=\"'contrast'\"\n [kbqStyle]=\"'transparent'\"\n >\n {{ monthNames[selectedMonth].nameShort | titlecase }}\n\n <i kbq-icon=\"kbq-chevron-down-s_16\" class=\"layout-padding-left-3xs\" [color]=\"'contrast'\"></i>\n </button>\n\n @for (month of monthNames; track month.nameShort) {\n <kbq-option [disabled]=\"month.disabled\" [kbqTooltipDisabled]=\"true\" [value]=\"month.value\">\n {{ month.name }}\n </kbq-option>\n }\n </kbq-select>\n\n <kbq-select\n #yearSelect=\"kbqSelect\"\n [panelClass]=\"'kbq-calendar-select-panel'\"\n [tabIndex]=\"-1\"\n [value]=\"selectedYear\"\n (selectionChange)=\"onYearSelected($event.value)\"\n >\n <button\n kbq-button\n kbq-select-matcher\n class=\"layout-padding-right-xs\"\n [class.kbq-active]=\"yearSelect.panelOpen\"\n [color]=\"'contrast'\"\n [kbqStyle]=\"'transparent'\"\n >\n {{ selectedYear }}\n\n <i kbq-icon=\"kbq-chevron-down-s_16\" class=\"layout-padding-left-3xs\"></i>\n </button>\n\n @for (year of years; track year) {\n <kbq-option [kbqTooltipDisabled]=\"true\" [value]=\"year\">\n {{ year }}\n </kbq-option>\n }\n </kbq-select>\n</div>\n\n<div class=\"kbq-calendar-header__button-group\">\n <button\n kbq-button\n class=\"kbq-calendar-header__previous-button\"\n [color]=\"'contrast'\"\n [disabled]=\"previousDisabled\"\n [kbqStyle]=\"'transparent'\"\n [tabindex]=\"-1\"\n (click)=\"selectPreviousMonth()\"\n >\n <i kbq-icon=\"kbq-chevron-left_16\"></i>\n </button>\n\n <button\n kbq-button\n [color]=\"'contrast'\"\n [disabled]=\"currentDisabled\"\n [kbqStyle]=\"'transparent'\"\n [tabindex]=\"-1\"\n (click)=\"selectCurrentDate()\"\n >\n <i kbq-icon=\"kbq-circle-xs_16\"></i>\n </button>\n\n <button\n kbq-button\n class=\"kbq-calendar-header__next-button\"\n [color]=\"'contrast'\"\n [disabled]=\"nextDisabled\"\n [kbqStyle]=\"'transparent'\"\n [tabindex]=\"-1\"\n (click)=\"selectNextMonth()\"\n >\n <i kbq-icon=\"kbq-chevron-right_16\"></i>\n </button>\n</div>\n", styles: [".kbq-calendar-header{display:flex;flex-direction:row;justify-content:space-between;padding-right:var(--kbq-datepicker-size-header-padding-horizontal);padding-left:var(--kbq-datepicker-size-header-padding-horizontal);margin-bottom:var(--kbq-datepicker-size-header-margin-bottom)}.kbq-calendar-header__select{width:auto!important}.kbq-calendar-header__button-group,.kbq-calendar-header__select-group{display:flex;flex-direction:row}.kbq-calendar-select-panel{margin-top:2px;min-width:98%!important}.kbq-calendar-select-panel .kbq-select__content{max-height:384px;overflow-x:hidden;scrollbar-gutter:auto}.kbq-calendar-select-panel .kbq-select__content .kbq-option{min-width:65px}\n"], dependencies: [{ kind: "component", type: i2.KbqButton, selector: "[kbq-button]", inputs: ["kbqStyle", "disabled", "tabIndex"] }, { kind: "directive", type: i2.KbqButtonCssStyler, selector: "[kbq-button]" }, { kind: "component", type: i3.KbqSelect, selector: "kbq-select", inputs: ["hiddenItemsText", "panelClass", "backdropClass", "errorStateMatcher", "sortComparator", "multiline", "searchMinOptionsThreshold", "hasBackdrop", "placeholder", "required", "multiple", "compareWith", "selectAllHandler", "panelWidth", "panelMinWidth", "value", "id", "tabIndex", "disabled", "hiddenItemsTextFormatter"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["kbqSelect"] }, { kind: "directive", type: i3.KbqOptionTooltip, selector: "kbq-option" }, { kind: "component", type: i1.KbqOption, selector: "kbq-option", inputs: ["value", "selectable", "userSelect", "showCheckbox", "viewValue", "disabled"], outputs: ["onSelectionChange"], exportAs: ["kbqOption"] }, { kind: "directive", type: i1.KbqSelectMatcher, selector: "kbq-select-matcher, [kbq-select-matcher]" }, { kind: "
|
|
144
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: KbqCalendarHeader, selector: "kbq-calendar-header", inputs: { activeDate: "activeDate", maxDate: "maxDate", minDate: "minDate" }, outputs: { activeDateChange: "activeDateChange", monthSelected: "monthSelected", yearSelected: "yearSelected" }, host: { classAttribute: "kbq-calendar-header" }, exportAs: ["kbqCalendarHeader"], ngImport: i0, template: "<div class=\"kbq-calendar-header__select-group\">\n <kbq-select\n #monthSelect=\"kbqSelect\"\n class=\"kbq-calendar-header__select\"\n [panelClass]=\"'kbq-calendar-select-panel'\"\n [tabIndex]=\"-1\"\n [value]=\"selectedMonth\"\n (selectionChange)=\"onMonthSelected($event.value)\"\n >\n <button\n kbq-button\n kbq-select-matcher\n class=\"layout-padding-right-xs\"\n [class.kbq-active]=\"monthSelect.panelOpen\"\n [color]=\"'contrast'\"\n [kbqStyle]=\"'transparent'\"\n >\n {{ monthNames[selectedMonth].nameShort | titlecase }}\n\n <i kbq-icon=\"kbq-chevron-down-s_16\" class=\"layout-padding-left-3xs\" [color]=\"'contrast'\"></i>\n </button>\n\n @for (month of monthNames; track month.nameShort) {\n <kbq-option [disabled]=\"month.disabled\" [kbqTooltipDisabled]=\"true\" [value]=\"month.value\">\n {{ month.name }}\n </kbq-option>\n }\n </kbq-select>\n\n <kbq-select\n #yearSelect=\"kbqSelect\"\n [panelClass]=\"'kbq-calendar-select-panel'\"\n [tabIndex]=\"-1\"\n [value]=\"selectedYear\"\n (selectionChange)=\"onYearSelected($event.value)\"\n >\n <button\n kbq-button\n kbq-select-matcher\n class=\"layout-padding-right-xs\"\n [class.kbq-active]=\"yearSelect.panelOpen\"\n [color]=\"'contrast'\"\n [kbqStyle]=\"'transparent'\"\n >\n {{ selectedYear }}\n\n <i kbq-icon=\"kbq-chevron-down-s_16\" class=\"layout-padding-left-3xs\"></i>\n </button>\n\n @for (year of years; track year) {\n <kbq-option [kbqTooltipDisabled]=\"true\" [value]=\"year\">\n {{ year }}\n </kbq-option>\n }\n </kbq-select>\n</div>\n\n<div class=\"kbq-calendar-header__button-group\">\n <button\n kbq-button\n class=\"kbq-calendar-header__previous-button\"\n [color]=\"'contrast'\"\n [disabled]=\"previousDisabled\"\n [kbqStyle]=\"'transparent'\"\n [tabindex]=\"-1\"\n (click)=\"selectPreviousMonth()\"\n >\n <i kbq-icon=\"kbq-chevron-left_16\"></i>\n </button>\n\n <button\n kbq-button\n [color]=\"'contrast'\"\n [disabled]=\"currentDisabled\"\n [kbqStyle]=\"'transparent'\"\n [tabindex]=\"-1\"\n (click)=\"selectCurrentDate()\"\n >\n <i kbq-icon=\"kbq-circle-xs_16\"></i>\n </button>\n\n <button\n kbq-button\n class=\"kbq-calendar-header__next-button\"\n [color]=\"'contrast'\"\n [disabled]=\"nextDisabled\"\n [kbqStyle]=\"'transparent'\"\n [tabindex]=\"-1\"\n (click)=\"selectNextMonth()\"\n >\n <i kbq-icon=\"kbq-chevron-right_16\"></i>\n </button>\n</div>\n", styles: [".kbq-calendar-header{display:flex;flex-direction:row;justify-content:space-between;padding-right:var(--kbq-datepicker-size-header-padding-horizontal);padding-left:var(--kbq-datepicker-size-header-padding-horizontal);margin-bottom:var(--kbq-datepicker-size-header-margin-bottom)}.kbq-calendar-header__select{width:auto!important}.kbq-calendar-header__button-group,.kbq-calendar-header__select-group{display:flex;flex-direction:row}.kbq-calendar-select-panel{margin-top:2px;min-width:98%!important}.kbq-calendar-select-panel .kbq-select__content{max-height:384px;overflow-x:hidden;scrollbar-gutter:auto}.kbq-calendar-select-panel .kbq-select__content .kbq-option{min-width:65px}\n"], dependencies: [{ kind: "component", type: i2.KbqButton, selector: "[kbq-button]", inputs: ["kbqStyle", "disabled", "tabIndex"] }, { kind: "directive", type: i2.KbqButtonCssStyler, selector: "[kbq-button]" }, { kind: "component", type: i3.KbqSelect, selector: "kbq-select", inputs: ["hiddenItemsText", "panelClass", "backdropClass", "errorStateMatcher", "sortComparator", "multiline", "searchMinOptionsThreshold", "hasBackdrop", "placeholder", "required", "multiple", "compareWith", "selectAllHandler", "panelWidth", "panelMinWidth", "value", "id", "tabIndex", "disabled", "hiddenItemsTextFormatter"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["kbqSelect"] }, { kind: "directive", type: i3.KbqOptionTooltip, selector: "kbq-option" }, { kind: "component", type: i1.KbqOption, selector: "kbq-option", inputs: ["value", "selectable", "userSelect", "showCheckbox", "viewValue", "disabled"], outputs: ["onSelectionChange"], exportAs: ["kbqOption"] }, { kind: "directive", type: i1.KbqSelectMatcher, selector: "kbq-select-matcher, [kbq-select-matcher]", inputs: ["useDefaultHandlers"] }, { kind: "directive", type: i4.KbqValidateDirective, selector: " input[kbqInput], input[kbqNumberInput], input[kbqInputPassword], input[kbqTimepicker], input[kbqDatepicker], textarea[kbqTextarea], kbq-select, kbq-tree-select, kbq-tag-list ", exportAs: ["KbqValidate"] }, { kind: "component", type: i5.KbqIcon, selector: "[kbq-icon]", inputs: ["small", "autoColor", "kbq-icon"] }, { kind: "pipe", type: i6.TitleCasePipe, name: "titlecase" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
144
145
|
}
|
|
145
146
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqCalendarHeader, decorators: [{
|
|
146
147
|
type: Component,
|
|
@@ -160,4 +161,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
160
161
|
}], yearSelected: [{
|
|
161
162
|
type: Output
|
|
162
163
|
}] } });
|
|
163
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvZGF0ZXBpY2tlci9jYWxlbmRhci1oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9kYXRlcGlja2VyL2NhbGVuZGFyLWhlYWRlci5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7Ozs7QUFFdEQsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDO0FBQzVCLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQztBQVM1QixxQ0FBcUM7QUFZckMsTUFBTSxPQUFPLGlCQUFpQjtJQU8xQixJQUNJLFVBQVU7UUFDVixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQUksVUFBVSxDQUFDLEtBQVE7UUFDbkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFFekIsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUlELElBQ0ksT0FBTztRQUNQLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxPQUFPLENBQUMsS0FBZTtRQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDVCxPQUFPO1FBQ1gsQ0FBQztRQUVELElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBRXRCLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFJRCxJQUNJ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O2dCQWtCRixPQUFPO3NCQURWLEtBQUs7Z0JBZ0NhLGdCQUFnQjtzQkFBbEMsTUFBTTtnQkFDWSxhQUFhO3NCQUEvQixNQUFNO2dCQUNZLFlBQVk7c0JBQTlCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYXRlQWRhcHRlciB9IGZyb20gJ0Brb29iaXEvY29tcG9uZW50cy9jb3JlJztcblxuY29uc3QgZGVmYXVsdE1pblllYXIgPSAxOTAwO1xuY29uc3QgZGVmYXVsdE1heFllYXIgPSAyMDk5O1xuXG5leHBvcnQgdHlwZSBNb250aE5hbWUgPSB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIG5hbWVTaG9ydDogc3RyaW5nO1xuICAgIHZhbHVlOiBudW1iZXI7XG4gICAgZGlzYWJsZWQ6IGJvb2xlYW47XG59O1xuXG4vKiogRGVmYXVsdCBoZWFkZXIgZm9yIEticUNhbGVuZGFyICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ticS1jYWxlbmRhci1oZWFkZXInLFxuICAgIGV4cG9ydEFzOiAna2JxQ2FsZW5kYXJIZWFkZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnY2FsZW5kYXItaGVhZGVyLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWydjYWxlbmRhci1oZWFkZXIuc2NzcyddLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdrYnEtY2FsZW5kYXItaGVhZGVyJ1xuICAgIH0sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBLYnFDYWxlbmRhckhlYWRlcjxEPiBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xuICAgIG1vbnRoTmFtZXM6IE1vbnRoTmFtZVtdO1xuICAgIHNlbGVjdGVkTW9udGg6IG51bWJlcjtcblxuICAgIHllYXJzOiBudW1iZXJbXSA9IFtdO1xuICAgIHNlbGVjdGVkWWVhcjogbnVtYmVyO1xuXG4gICAgQElucHV0KClcbiAgICBnZXQgYWN0aXZlRGF0ZSgpOiBEIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FjdGl2ZURhdGU7XG4gICAgfVxuXG4gICAgc2V0IGFjdGl2ZURhdGUodmFsdWU6IEQpIHtcbiAgICAgICAgdGhpcy5fYWN0aXZlRGF0ZSA9IHZhbHVlO1xuXG4gICAgICAgIHRoaXMudXBkYXRlU2VsZWN0ZWRWYWx1ZXMoKTtcbiAgICAgICAgdGhpcy51cGRhdGVTZWxlY3Rpb25PcHRpb25zKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfYWN0aXZlRGF0ZTogRDtcblxuICAgIEBJbnB1dCgpXG4gICAgZ2V0IG1heERhdGUoKTogRCB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5fbWF4RGF0ZTtcbiAgICB9XG5cbiAgICBzZXQgbWF4RGF0ZSh2YWx1ZTogRCB8IG51bGwpIHtcbiAgICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fbWF4RGF0ZSA9IHZhbHVlO1xuXG4gICAgICAgIHRoaXMudXBkYXRlU2VsZWN0aW9uT3B0aW9ucygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX21heERhdGUgPSB0aGlzLmFkYXB0ZXIuY3JlYXRlRGF0ZShkZWZhdWx0TWF4WWVhciwgMTEpO1xuXG4gICAgQElucHV0KClcbiAgICBnZXQgbWluRGF0ZSgpOiBEIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9taW5EYXRlO1xuICAgIH1cblxuICAgIHNldCBtaW5EYXRlKHZhbHVlOiBEIHwgbnVsbCkge1xuICAgICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9taW5EYXRlID0gdmFsdWU7XG5cbiAgICAgICAgdGhpcy51cGRhdGVTZWxlY3Rpb25PcHRpb25zKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfbWluRGF0ZSA9IHRoaXMuYWRhcHRlci5jcmVhdGVEYXRlKGRlZmF1bHRNaW5ZZWFyLCAxKTtcblxuICAgIGdldCBwcmV2aW91c0Rpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb21wYXJlRGF0ZSh0aGlzLmFjdGl2ZURhdGUsIHRoaXMubWluRGF0ZSEpIDw9IDA7XG4gICAgfVxuXG4gICAgZ2V0IGN1cnJlbnREaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgdG9kYXkgPSB0aGlzLmFkYXB0ZXIudG9kYXkoKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5jb21wYXJlRGF0ZSh0b2RheSwgdGhpcy5taW5EYXRlISkgPCAwIHx8IHRoaXMuY29tcGFyZURhdGUodG9kYXksIHRoaXMubWF4RGF0ZSEpID4gMDtcbiAgICB9XG5cbiAgICBnZXQgbmV4dERpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb21wYXJlRGF0ZSh0aGlzLmFjdGl2ZURhdGUsIHRoaXMubWF4RGF0ZSEpID49IDA7XG4gICAgfVxuXG4gICAgLyoqIEVtaXRzIHdoZW4gYW55IGRhdGUgaXMgYWN0aXZhdGVkLiAqL1xuICAgIEBPdXRwdXQoKSByZWFkb25seSBhY3RpdmVEYXRlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxEPigpO1xuICAgIEBPdXRwdXQoKSByZWFkb25seSBtb250aFNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxEPigpO1xuICAgIEBPdXRwdXQoKSByZWFkb25seSB5ZWFyU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEQ+KCk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGFkYXB0ZXI6IERhdGVBZGFwdGVyPEQ+KSB7XG4gICAgICAgIHRoaXMubW9udGhOYW1lcyA9IHRoaXMuYWRhcHRlci5nZXRNb250aE5hbWVzKCdsb25nJykubWFwKChuYW1lLCBpKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4geyBuYW1lLCBuYW1lU2hvcnQ6IHRoaXMuYWRhcHRlci5nZXRNb250aE5hbWVzKCdzaG9ydCcpW2ldLCB2YWx1ZTogaSwgZGlzYWJsZWQ6IGZhbHNlIH07XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVZZWFyc09wdGlvbnMoKTtcbiAgICAgICAgdGhpcy51cGRhdGVNb250aE9wdGlvbnMoKTtcbiAgICAgICAgdGhpcy51cGRhdGVTZWxlY3RlZFZhbHVlcygpO1xuICAgIH1cblxuICAgIC8qKiBIYW5kbGVzIHdoZW4gYSBuZXcgbW9udGggaXMgc2VsZWN0ZWQuICovXG4gICAgb25Nb250aFNlbGVjdGVkKG1vbnRoOiBudW1iZXIpIHtcbiAgICAgICAgY29uc3QgeWVhciA9IHRoaXMuYWRhcHRlci5nZXRZZWFyKHRoaXMuYWN0aXZlRGF0ZSk7XG4gICAgICAgIGNvbnN0IG5vcm1hbGl6ZWREYXRlID0gdGhpcy5hZGFwdGVyLmNyZWF0ZURhdGUoeWVhciwgbW9udGgpO1xuICAgICAgICBjb25zdCBkYXlzSW5Nb250aCA9IHRoaXMuYWRhcHRlci5nZXROdW1EYXlzSW5Nb250aChub3JtYWxpemVkRGF0ZSk7XG5cbiAgICAgICAgdGhpcy5hY3RpdmVEYXRlID0gdGhpcy5hZGFwdGVyLmNyZWF0ZURhdGUoXG4gICAgICAgICAgICB5ZWFyLFxuICAgICAgICAgICAgbW9udGgsXG4gICAgICAgICAgICBNYXRoLm1pbih0aGlzLmFkYXB0ZXIuZ2V0RGF0ZSh0aGlzLmFjdGl2ZURhdGUpLCBkYXlzSW5Nb250aClcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLm1vbnRoU2VsZWN0ZWQuZW1pdCh0aGlzLmFjdGl2ZURhdGUpO1xuICAgICAgICB0aGlzLmFjdGl2ZURhdGVDaGFuZ2UuZW1pdCh0aGlzLmFjdGl2ZURhdGUpO1xuICAgIH1cblxuICAgIC8qKiBIYW5kbGVzIHdoZW4gYSBuZXcgeWVhciBpcyBzZWxlY3RlZC4gKi9cbiAgICBvblllYXJTZWxlY3RlZCh5ZWFyOiBudW1iZXIpIHtcbiAgICAgICAgY29uc3QgbW9udGggPSB0aGlzLmFkYXB0ZXIuZ2V0TW9udGgodGhpcy5hY3RpdmVEYXRlKTtcbiAgICAgICAgY29uc3QgZGF5c0luTW9udGggPSB0aGlzLmFkYXB0ZXIuZ2V0TnVtRGF5c0luTW9udGgodGhpcy5hZGFwdGVyLmNyZWF0ZURhdGUoeWVhciwgbW9udGgpKTtcblxuICAgICAgICB0aGlzLmFjdGl2ZURhdGUgPSB0aGlzLmFkYXB0ZXIuY3JlYXRlRGF0ZShcbiAgICAgICAgICAgIHllYXIsXG4gICAgICAgICAgICBtb250aCxcbiAgICAgICAgICAgIE1hdGgubWluKHRoaXMuYWRhcHRlci5nZXREYXRlKHRoaXMuYWN0aXZlRGF0ZSksIGRheXNJbk1vbnRoKVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMueWVhclNlbGVjdGVkLmVtaXQodGhpcy5hY3RpdmVEYXRlKTtcbiAgICAgICAgdGhpcy5hY3RpdmVEYXRlQ2hhbmdlLmVtaXQodGhpcy5hY3RpdmVEYXRlKTtcblxuICAgICAgICB0aGlzLnVwZGF0ZU1vbnRoT3B0aW9ucygpO1xuICAgIH1cblxuICAgIHNlbGVjdEN1cnJlbnREYXRlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmFjdGl2ZURhdGUgPSB0aGlzLmFkYXB0ZXIudG9kYXkoKTtcblxuICAgICAgICB0aGlzLmFjdGl2ZURhdGVDaGFuZ2UuZW1pdCh0aGlzLmFjdGl2ZURhdGUpO1xuICAgIH1cblxuICAgIC8qKiBIYW5kbGVzIHVzZXIgY2xpY2tzIG9uIHRoZSBwcmV2aW91cyBidXR0b24uICovXG4gICAgc2VsZWN0UHJldmlvdXNNb250aCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hY3RpdmVEYXRlID0gdGhpcy5hZGFwdGVyLmFkZENhbGVuZGFyTW9udGhzKHRoaXMuYWN0aXZlRGF0ZSwgLTEpO1xuXG4gICAgICAgIHRoaXMuYWN0aXZlRGF0ZUNoYW5nZS5lbWl0KHRoaXMuYWN0aXZlRGF0ZSk7XG4gICAgfVxuXG4gICAgLyoqIEhhbmRsZXMgdXNlciBjbGlja3Mgb24gdGhlIG5leHQgYnV0dG9uLiAqL1xuICAgIHNlbGVjdE5leHRNb250aCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hY3RpdmVEYXRlID0gdGhpcy5hZGFwdGVyLmFkZENhbGVuZGFyTW9udGhzKHRoaXMuYWN0aXZlRGF0ZSwgMSk7XG5cbiAgICAgICAgdGhpcy5hY3RpdmVEYXRlQ2hhbmdlLmVtaXQodGhpcy5hY3RpdmVEYXRlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNvbXBhcmVEYXRlKGZpcnN0OiBELCBzZWNvbmQ6IEQpOiBudW1iZXIge1xuICAgICAgICBjb25zdCBub3JtYWxpemVkRmlyc3QgPSB0aGlzLmFkYXB0ZXIuY3JlYXRlRGF0ZSh0aGlzLmFkYXB0ZXIuZ2V0WWVhcihmaXJzdCksIHRoaXMuYWRhcHRlci5nZXRNb250aChmaXJzdCkpO1xuXG4gICAgICAgIGNvbnN0IG5vcm1hbGl6ZWRTZWNvbmQgPSB0aGlzLmFkYXB0ZXIuY3JlYXRlRGF0ZSh0aGlzLmFkYXB0ZXIuZ2V0WWVhcihzZWNvbmQpLCB0aGlzLmFkYXB0ZXIuZ2V0TW9udGgoc2Vjb25kKSk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuYWRhcHRlci5jb21wYXJlRGF0ZShub3JtYWxpemVkRmlyc3QsIG5vcm1hbGl6ZWRTZWNvbmQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlU2VsZWN0ZWRWYWx1ZXMoKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRNb250aCA9IHRoaXMubW9udGhOYW1lc1t0aGlzLmFkYXB0ZXIuZ2V0TW9udGgodGhpcy5hY3RpdmVEYXRlKV0udmFsdWU7XG5cbiAgICAgICAgY29uc3QgeWVhciA9IHRoaXMuYWRhcHRlci5nZXRZZWFyKHRoaXMuYWN0aXZlRGF0ZSk7XG5cbiAgICAgICAgdGhpcy5zZWxlY3RlZFllYXIgPSB0aGlzLnllYXJzLmZpbmQoKGl0ZW0pID0+IGl0ZW0gPT09IHllYXIpIHx8IHRoaXMueWVhcnNbMF07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVTZWxlY3Rpb25PcHRpb25zKCkge1xuICAgICAgICB0aGlzLnVwZGF0ZVllYXJzT3B0aW9ucygpO1xuICAgICAgICB0aGlzLnVwZGF0ZU1vbnRoT3B0aW9ucygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlWWVhcnNPcHRpb25zKCkge1xuICAgICAgICBjb25zdCBtaW5ZZWFyID0gdGhpcy5hZGFwdGVyLmdldFllYXIodGhpcy5taW5EYXRlISk7XG4gICAgICAgIGNvbnN0IG1heFllYXIgPSB0aGlzLmFkYXB0ZXIuZ2V0WWVhcih0aGlzLm1heERhdGUhKTtcblxuICAgICAgICB0aGlzLnllYXJzID0gW107XG5cbiAgICAgICAgZm9yIChsZXQga2V5OiBudW1iZXIgPSBtaW5ZZWFyOyBrZXkgPD0gbWF4WWVhcjsga2V5KyspIHtcbiAgICAgICAgICAgIHRoaXMueWVhcnMucHVzaChrZXkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVNb250aE9wdGlvbnMoKSB7XG4gICAgICAgIGlmICghdGhpcy5fYWN0aXZlRGF0ZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbWluWWVhciA9IHRoaXMuYWRhcHRlci5nZXRZZWFyKHRoaXMubWluRGF0ZSEpO1xuICAgICAgICBjb25zdCBtaW5Nb250aCA9IHRoaXMuYWRhcHRlci5nZXRNb250aCh0aGlzLm1pbkRhdGUhKTtcblxuICAgICAgICBjb25zdCBtYXhZZWFyID0gdGhpcy5hZGFwdGVyLmdldFllYXIodGhpcy5tYXhEYXRlISk7XG4gICAgICAgIGNvbnN0IG1heE1vbnRoID0gdGhpcy5hZGFwdGVyLmdldE1vbnRoKHRoaXMubWF4RGF0ZSEpO1xuXG4gICAgICAgIGNvbnN0IGN1cnJlbnRZZWFyID0gdGhpcy5hZGFwdGVyLmdldFllYXIodGhpcy5fYWN0aXZlRGF0ZSk7XG5cbiAgICAgICAgaWYgKGN1cnJlbnRZZWFyID09PSBtaW5ZZWFyKSB7XG4gICAgICAgICAgICB0aGlzLm1vbnRoTmFtZXMuZm9yRWFjaCgobW9udGgpID0+IChtb250aC5kaXNhYmxlZCA9IG1vbnRoLnZhbHVlIDwgbWluTW9udGgpKTtcbiAgICAgICAgfSBlbHNlIGlmIChjdXJyZW50WWVhciA9PT0gbWF4WWVhcikge1xuICAgICAgICAgICAgdGhpcy5tb250aE5hbWVzLmZvckVhY2goKG1vbnRoKSA9PiAobW9udGguZGlzYWJsZWQgPSBtb250aC52YWx1ZSA+IG1heE1vbnRoKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm1vbnRoTmFtZXMuZm9yRWFjaCgobW9udGgpID0+IChtb250aC5kaXNhYmxlZCA9IGZhbHNlKSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwia2JxLWNhbGVuZGFyLWhlYWRlcl9fc2VsZWN0LWdyb3VwXCI+XG4gICAgPGticS1zZWxlY3RcbiAgICAgICAgI21vbnRoU2VsZWN0PVwia2JxU2VsZWN0XCJcbiAgICAgICAgY2xhc3M9XCJrYnEtY2FsZW5kYXItaGVhZGVyX19zZWxlY3RcIlxuICAgICAgICBbcGFuZWxDbGFzc109XCIna2JxLWNhbGVuZGFyLXNlbGVjdC1wYW5lbCdcIlxuICAgICAgICBbdGFiSW5kZXhdPVwiLTFcIlxuICAgICAgICBbdmFsdWVdPVwic2VsZWN0ZWRNb250aFwiXG4gICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwib25Nb250aFNlbGVjdGVkKCRldmVudC52YWx1ZSlcIlxuICAgID5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAga2JxLWJ1dHRvblxuICAgICAgICAgICAga2JxLXNlbGVjdC1tYXRjaGVyXG4gICAgICAgICAgICBjbGFzcz1cImxheW91dC1wYWRkaW5nLXJpZ2h0LXhzXCJcbiAgICAgICAgICAgIFtjbGFzcy5rYnEtYWN0aXZlXT1cIm1vbnRoU2VsZWN0LnBhbmVsT3BlblwiXG4gICAgICAgICAgICBbY29sb3JdPVwiJ2NvbnRyYXN0J1wiXG4gICAgICAgICAgICBba2JxU3R5bGVdPVwiJ3RyYW5zcGFyZW50J1wiXG4gICAgICAgID5cbiAgICAgICAgICAgIHt7IG1vbnRoTmFtZXNbc2VsZWN0ZWRNb250aF0ubmFtZVNob3J0IHwgdGl0bGVjYXNlIH19XG5cbiAgICAgICAgICAgIDxpIGticS1pY29uPVwia2JxLWNoZXZyb24tZG93bi1zXzE2XCIgY2xhc3M9XCJsYXlvdXQtcGFkZGluZy1sZWZ0LTN4c1wiIFtjb2xvcl09XCInY29udHJhc3QnXCI+PC9pPlxuICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICBAZm9yIChtb250aCBvZiBtb250aE5hbWVzOyB0cmFjayBtb250aC5uYW1lU2hvcnQpIHtcbiAgICAgICAgICAgIDxrYnEtb3B0aW9uIFtkaXNhYmxlZF09XCJtb250aC5kaXNhYmxlZFwiIFtrYnFUb29sdGlwRGlzYWJsZWRdPVwidHJ1ZVwiIFt2YWx1ZV09XCJtb250aC52YWx1ZVwiPlxuICAgICAgICAgICAgICAgIHt7IG1vbnRoLm5hbWUgfX1cbiAgICAgICAgICAgIDwva2JxLW9wdGlvbj5cbiAgICAgICAgfVxuICAgIDwva2JxLXNlbGVjdD5cblxuICAgIDxrYnEtc2VsZWN0XG4gICAgICAgICN5ZWFyU2VsZWN0PVwia2JxU2VsZWN0XCJcbiAgICAgICAgW3BhbmVsQ2xhc3NdPVwiJ2ticS1jYWxlbmRhci1zZWxlY3QtcGFuZWwnXCJcbiAgICAgICAgW3RhYkluZGV4XT1cIi0xXCJcbiAgICAgICAgW3ZhbHVlXT1cInNlbGVjdGVkWWVhclwiXG4gICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwib25ZZWFyU2VsZWN0ZWQoJGV2ZW50LnZhbHVlKVwiXG4gICAgPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBrYnEtYnV0dG9uXG4gICAgICAgICAgICBrYnEtc2VsZWN0LW1hdGNoZXJcbiAgICAgICAgICAgIGNsYXNzPVwibGF5b3V0LXBhZGRpbmctcmlnaHQteHNcIlxuICAgICAgICAgICAgW2NsYXNzLmticS1hY3RpdmVdPVwieWVhclNlbGVjdC5wYW5lbE9wZW5cIlxuICAgICAgICAgICAgW2NvbG9yXT1cIidjb250cmFzdCdcIlxuICAgICAgICAgICAgW2ticVN0eWxlXT1cIid0cmFuc3BhcmVudCdcIlxuICAgICAgICA+XG4gICAgICAgICAgICB7eyBzZWxlY3RlZFllYXIgfX1cblxuICAgICAgICAgICAgPGkga2JxLWljb249XCJrYnEtY2hldnJvbi1kb3duLXNfMTZcIiBjbGFzcz1cImxheW91dC1wYWRkaW5nLWxlZnQtM3hzXCI+PC9pPlxuICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICBAZm9yICh5ZWFyIG9mIHllYXJzOyB0cmFjayB5ZWFyKSB7XG4gICAgICAgICAgICA8a2JxLW9wdGlvbiBba2JxVG9vbHRpcERpc2FibGVkXT1cInRydWVcIiBbdmFsdWVdPVwieWVhclwiPlxuICAgICAgICAgICAgICAgIHt7IHllYXIgfX1cbiAgICAgICAgICAgIDwva2JxLW9wdGlvbj5cbiAgICAgICAgfVxuICAgIDwva2JxLXNlbGVjdD5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwia2JxLWNhbGVuZGFyLWhlYWRlcl9fYnV0dG9uLWdyb3VwXCI+XG4gICAgPGJ1dHRvblxuICAgICAgICBrYnEtYnV0dG9uXG4gICAgICAgIGNsYXNzPVwia2JxLWNhbGVuZGFyLWhlYWRlcl9fcHJldmlvdXMtYnV0dG9uXCJcbiAgICAgICAgW2NvbG9yXT1cIidjb250cmFzdCdcIlxuICAgICAgICBbZGlzYWJsZWRdPVwicHJldmlvdXNEaXNhYmxlZFwiXG4gICAgICAgIFtrYnFTdHlsZV09XCIndHJhbnNwYXJlbnQnXCJcbiAgICAgICAgW3RhYmluZGV4XT1cIi0xXCJcbiAgICAgICAgKGNsaWNrKT1cInNlbGVjdFByZXZpb3VzTW9udGgoKVwiXG4gICAgPlxuICAgICAgICA8aSBrYnEtaWNvbj1cImticS1jaGV2cm9uLWxlZnRfMTZcIj48L2k+XG4gICAgPC9idXR0b24+XG5cbiAgICA8YnV0dG9uXG4gICAgICAgIGticS1idXR0b25cbiAgICAgICAgW2NvbG9yXT1cIidjb250cmFzdCdcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiY3VycmVudERpc2FibGVkXCJcbiAgICAgICAgW2ticVN0eWxlXT1cIid0cmFuc3BhcmVudCdcIlxuICAgICAgICBbdGFiaW5kZXhdPVwiLTFcIlxuICAgICAgICAoY2xpY2spPVwic2VsZWN0Q3VycmVudERhdGUoKVwiXG4gICAgPlxuICAgICAgICA8aSBrYnEtaWNvbj1cImticS1jaXJjbGUteHNfMTZcIj48L2k+XG4gICAgPC9idXR0b24+XG5cbiAgICA8YnV0dG9uXG4gICAgICAgIGticS1idXR0b25cbiAgICAgICAgY2xhc3M9XCJrYnEtY2FsZW5kYXItaGVhZGVyX19uZXh0LWJ1dHRvblwiXG4gICAgICAgIFtjb2xvcl09XCInY29udHJhc3QnXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cIm5leHREaXNhYmxlZFwiXG4gICAgICAgIFtrYnFTdHlsZV09XCIndHJhbnNwYXJlbnQnXCJcbiAgICAgICAgW3RhYmluZGV4XT1cIi0xXCJcbiAgICAgICAgKGNsaWNrKT1cInNlbGVjdE5leHRNb250aCgpXCJcbiAgICA+XG4gICAgICAgIDxpIGticS1pY29uPVwia2JxLWNoZXZyb24tcmlnaHRfMTZcIj48L2k+XG4gICAgPC9idXR0b24+XG48L2Rpdj5cbiJdfQ==
|
|
164
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvZGF0ZXBpY2tlci9jYWxlbmRhci1oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9kYXRlcGlja2VyL2NhbGVuZGFyLWhlYWRlci5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7Ozs7O0FBRXRELE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQztBQUM1QixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUM7QUFTNUIscUNBQXFDO0FBWXJDLE1BQU0sT0FBTyxpQkFBaUI7SUFPMUIsSUFDSSxVQUFVO1FBQ1YsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFJLFVBQVUsQ0FBQyxLQUFRO1FBQ25CLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBRXpCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFJRCxJQUNJLE9BQU87UUFDUCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDekIsQ0FBQztJQUVELElBQUksT0FBTyxDQUFDLEtBQWU7UUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ1QsT0FBTztRQUNYLENBQUM7UUFFRCxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUV0QixJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBSUQsSUFD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SztnQkFrQkYsT0FBTztzQkFEVixLQUFLO2dCQWdDYSxnQkFBZ0I7c0JBQWxDLE1BQU07Z0JBQ1ksYUFBYTtzQkFBL0IsTUFBTTtnQkFDWSxZQUFZO3NCQUE5QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlckNvbnRlbnRJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGF0ZUFkYXB0ZXIgfSBmcm9tICdAa29vYmlxL2NvbXBvbmVudHMvY29yZSc7XG5cbmNvbnN0IGRlZmF1bHRNaW5ZZWFyID0gMTkwMDtcbmNvbnN0IGRlZmF1bHRNYXhZZWFyID0gMjA5OTtcblxuZXhwb3J0IHR5cGUgTW9udGhOYW1lID0ge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBuYW1lU2hvcnQ6IHN0cmluZztcbiAgICB2YWx1ZTogbnVtYmVyO1xuICAgIGRpc2FibGVkOiBib29sZWFuO1xufTtcblxuLyoqIERlZmF1bHQgaGVhZGVyIGZvciBLYnFDYWxlbmRhciAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdrYnEtY2FsZW5kYXItaGVhZGVyJyxcbiAgICBleHBvcnRBczogJ2ticUNhbGVuZGFySGVhZGVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJ2NhbGVuZGFyLWhlYWRlci5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnY2FsZW5kYXItaGVhZGVyLnNjc3MnXSxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAna2JxLWNhbGVuZGFyLWhlYWRlcidcbiAgICB9LFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgS2JxQ2FsZW5kYXJIZWFkZXI8RD4gaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcbiAgICBtb250aE5hbWVzOiBNb250aE5hbWVbXTtcbiAgICBzZWxlY3RlZE1vbnRoOiBudW1iZXI7XG5cbiAgICB5ZWFyczogbnVtYmVyW10gPSBbXTtcbiAgICBzZWxlY3RlZFllYXI6IG51bWJlcjtcblxuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGFjdGl2ZURhdGUoKTogRCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hY3RpdmVEYXRlO1xuICAgIH1cblxuICAgIHNldCBhY3RpdmVEYXRlKHZhbHVlOiBEKSB7XG4gICAgICAgIHRoaXMuX2FjdGl2ZURhdGUgPSB2YWx1ZTtcblxuICAgICAgICB0aGlzLnVwZGF0ZVNlbGVjdGVkVmFsdWVzKCk7XG4gICAgICAgIHRoaXMudXBkYXRlU2VsZWN0aW9uT3B0aW9ucygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2FjdGl2ZURhdGU6IEQ7XG5cbiAgICBASW5wdXQoKVxuICAgIGdldCBtYXhEYXRlKCk6IEQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX21heERhdGU7XG4gICAgfVxuXG4gICAgc2V0IG1heERhdGUodmFsdWU6IEQgfCBudWxsKSB7XG4gICAgICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX21heERhdGUgPSB2YWx1ZTtcblxuICAgICAgICB0aGlzLnVwZGF0ZVNlbGVjdGlvbk9wdGlvbnMoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9tYXhEYXRlID0gdGhpcy5hZGFwdGVyLmNyZWF0ZURhdGUoZGVmYXVsdE1heFllYXIsIDExKTtcblxuICAgIEBJbnB1dCgpXG4gICAgZ2V0IG1pbkRhdGUoKTogRCB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5fbWluRGF0ZTtcbiAgICB9XG5cbiAgICBzZXQgbWluRGF0ZSh2YWx1ZTogRCB8IG51bGwpIHtcbiAgICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fbWluRGF0ZSA9IHZhbHVlO1xuXG4gICAgICAgIHRoaXMudXBkYXRlU2VsZWN0aW9uT3B0aW9ucygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX21pbkRhdGUgPSB0aGlzLmFkYXB0ZXIuY3JlYXRlRGF0ZShkZWZhdWx0TWluWWVhciwgMSk7XG5cbiAgICBnZXQgcHJldmlvdXNEaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcGFyZURhdGUodGhpcy5hY3RpdmVEYXRlLCB0aGlzLm1pbkRhdGUhKSA8PSAwO1xuICAgIH1cblxuICAgIGdldCBjdXJyZW50RGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHRvZGF5ID0gdGhpcy5hZGFwdGVyLnRvZGF5KCk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcGFyZURhdGUodG9kYXksIHRoaXMubWluRGF0ZSEpIDwgMCB8fCB0aGlzLmNvbXBhcmVEYXRlKHRvZGF5LCB0aGlzLm1heERhdGUhKSA+IDA7XG4gICAgfVxuXG4gICAgZ2V0IG5leHREaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcGFyZURhdGUodGhpcy5hY3RpdmVEYXRlLCB0aGlzLm1heERhdGUhKSA+PSAwO1xuICAgIH1cblxuICAgIC8qKiBFbWl0cyB3aGVuIGFueSBkYXRlIGlzIGFjdGl2YXRlZC4gKi9cbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgYWN0aXZlRGF0ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RD4oKTtcbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgbW9udGhTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8RD4oKTtcbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgeWVhclNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxEPigpO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBhZGFwdGVyOiBEYXRlQWRhcHRlcjxEPikge1xuICAgICAgICB0aGlzLm1vbnRoTmFtZXMgPSB0aGlzLmFkYXB0ZXIuZ2V0TW9udGhOYW1lcygnbG9uZycpLm1hcCgobmFtZSwgaSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHsgbmFtZSwgbmFtZVNob3J0OiB0aGlzLmFkYXB0ZXIuZ2V0TW9udGhOYW1lcygnc2hvcnQnKVtpXSwgdmFsdWU6IGksIGRpc2FibGVkOiBmYWxzZSB9O1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlWWVhcnNPcHRpb25zKCk7XG4gICAgICAgIHRoaXMudXBkYXRlTW9udGhPcHRpb25zKCk7XG4gICAgICAgIHRoaXMudXBkYXRlU2VsZWN0ZWRWYWx1ZXMoKTtcbiAgICB9XG5cbiAgICAvKiogSGFuZGxlcyB3aGVuIGEgbmV3IG1vbnRoIGlzIHNlbGVjdGVkLiAqL1xuICAgIG9uTW9udGhTZWxlY3RlZChtb250aDogbnVtYmVyKSB7XG4gICAgICAgIGNvbnN0IHllYXIgPSB0aGlzLmFkYXB0ZXIuZ2V0WWVhcih0aGlzLmFjdGl2ZURhdGUpO1xuICAgICAgICBjb25zdCBub3JtYWxpemVkRGF0ZSA9IHRoaXMuYWRhcHRlci5jcmVhdGVEYXRlKHllYXIsIG1vbnRoKTtcbiAgICAgICAgY29uc3QgZGF5c0luTW9udGggPSB0aGlzLmFkYXB0ZXIuZ2V0TnVtRGF5c0luTW9udGgobm9ybWFsaXplZERhdGUpO1xuXG4gICAgICAgIHRoaXMuYWN0aXZlRGF0ZSA9IHRoaXMuYWRhcHRlci5jcmVhdGVEYXRlKFxuICAgICAgICAgICAgeWVhcixcbiAgICAgICAgICAgIG1vbnRoLFxuICAgICAgICAgICAgTWF0aC5taW4odGhpcy5hZGFwdGVyLmdldERhdGUodGhpcy5hY3RpdmVEYXRlKSwgZGF5c0luTW9udGgpXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5tb250aFNlbGVjdGVkLmVtaXQodGhpcy5hY3RpdmVEYXRlKTtcbiAgICAgICAgdGhpcy5hY3RpdmVEYXRlQ2hhbmdlLmVtaXQodGhpcy5hY3RpdmVEYXRlKTtcbiAgICB9XG5cbiAgICAvKiogSGFuZGxlcyB3aGVuIGEgbmV3IHllYXIgaXMgc2VsZWN0ZWQuICovXG4gICAgb25ZZWFyU2VsZWN0ZWQoeWVhcjogbnVtYmVyKSB7XG4gICAgICAgIGNvbnN0IG1vbnRoID0gdGhpcy5hZGFwdGVyLmdldE1vbnRoKHRoaXMuYWN0aXZlRGF0ZSk7XG4gICAgICAgIGNvbnN0IGRheXNJbk1vbnRoID0gdGhpcy5hZGFwdGVyLmdldE51bURheXNJbk1vbnRoKHRoaXMuYWRhcHRlci5jcmVhdGVEYXRlKHllYXIsIG1vbnRoKSk7XG5cbiAgICAgICAgdGhpcy5hY3RpdmVEYXRlID0gdGhpcy5hZGFwdGVyLmNyZWF0ZURhdGUoXG4gICAgICAgICAgICB5ZWFyLFxuICAgICAgICAgICAgbW9udGgsXG4gICAgICAgICAgICBNYXRoLm1pbih0aGlzLmFkYXB0ZXIuZ2V0RGF0ZSh0aGlzLmFjdGl2ZURhdGUpLCBkYXlzSW5Nb250aClcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLnllYXJTZWxlY3RlZC5lbWl0KHRoaXMuYWN0aXZlRGF0ZSk7XG4gICAgICAgIHRoaXMuYWN0aXZlRGF0ZUNoYW5nZS5lbWl0KHRoaXMuYWN0aXZlRGF0ZSk7XG5cbiAgICAgICAgdGhpcy51cGRhdGVNb250aE9wdGlvbnMoKTtcbiAgICB9XG5cbiAgICBzZWxlY3RDdXJyZW50RGF0ZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hY3RpdmVEYXRlID0gdGhpcy5hZGFwdGVyLnRvZGF5KCk7XG5cbiAgICAgICAgdGhpcy5hY3RpdmVEYXRlQ2hhbmdlLmVtaXQodGhpcy5hY3RpdmVEYXRlKTtcbiAgICB9XG5cbiAgICAvKiogSGFuZGxlcyB1c2VyIGNsaWNrcyBvbiB0aGUgcHJldmlvdXMgYnV0dG9uLiAqL1xuICAgIHNlbGVjdFByZXZpb3VzTW9udGgoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYWN0aXZlRGF0ZSA9IHRoaXMuYWRhcHRlci5hZGRDYWxlbmRhck1vbnRocyh0aGlzLmFjdGl2ZURhdGUsIC0xKTtcblxuICAgICAgICB0aGlzLmFjdGl2ZURhdGVDaGFuZ2UuZW1pdCh0aGlzLmFjdGl2ZURhdGUpO1xuICAgIH1cblxuICAgIC8qKiBIYW5kbGVzIHVzZXIgY2xpY2tzIG9uIHRoZSBuZXh0IGJ1dHRvbi4gKi9cbiAgICBzZWxlY3ROZXh0TW9udGgoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYWN0aXZlRGF0ZSA9IHRoaXMuYWRhcHRlci5hZGRDYWxlbmRhck1vbnRocyh0aGlzLmFjdGl2ZURhdGUsIDEpO1xuXG4gICAgICAgIHRoaXMuYWN0aXZlRGF0ZUNoYW5nZS5lbWl0KHRoaXMuYWN0aXZlRGF0ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjb21wYXJlRGF0ZShmaXJzdDogRCwgc2Vjb25kOiBEKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3Qgbm9ybWFsaXplZEZpcnN0ID0gdGhpcy5hZGFwdGVyLmNyZWF0ZURhdGUodGhpcy5hZGFwdGVyLmdldFllYXIoZmlyc3QpLCB0aGlzLmFkYXB0ZXIuZ2V0TW9udGgoZmlyc3QpKTtcblxuICAgICAgICBjb25zdCBub3JtYWxpemVkU2Vjb25kID0gdGhpcy5hZGFwdGVyLmNyZWF0ZURhdGUodGhpcy5hZGFwdGVyLmdldFllYXIoc2Vjb25kKSwgdGhpcy5hZGFwdGVyLmdldE1vbnRoKHNlY29uZCkpO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmFkYXB0ZXIuY29tcGFyZURhdGUobm9ybWFsaXplZEZpcnN0LCBub3JtYWxpemVkU2Vjb25kKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVNlbGVjdGVkVmFsdWVzKCkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkTW9udGggPSB0aGlzLm1vbnRoTmFtZXNbdGhpcy5hZGFwdGVyLmdldE1vbnRoKHRoaXMuYWN0aXZlRGF0ZSldLnZhbHVlO1xuXG4gICAgICAgIGNvbnN0IHllYXIgPSB0aGlzLmFkYXB0ZXIuZ2V0WWVhcih0aGlzLmFjdGl2ZURhdGUpO1xuXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRZZWFyID0gdGhpcy55ZWFycy5maW5kKChpdGVtKSA9PiBpdGVtID09PSB5ZWFyKSB8fCB0aGlzLnllYXJzWzBdO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlU2VsZWN0aW9uT3B0aW9ucygpIHtcbiAgICAgICAgdGhpcy51cGRhdGVZZWFyc09wdGlvbnMoKTtcbiAgICAgICAgdGhpcy51cGRhdGVNb250aE9wdGlvbnMoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVllYXJzT3B0aW9ucygpIHtcbiAgICAgICAgY29uc3QgbWluWWVhciA9IHRoaXMuYWRhcHRlci5nZXRZZWFyKHRoaXMubWluRGF0ZSEpO1xuICAgICAgICBjb25zdCBtYXhZZWFyID0gdGhpcy5hZGFwdGVyLmdldFllYXIodGhpcy5tYXhEYXRlISk7XG5cbiAgICAgICAgdGhpcy55ZWFycyA9IFtdO1xuXG4gICAgICAgIGZvciAobGV0IGtleTogbnVtYmVyID0gbWluWWVhcjsga2V5IDw9IG1heFllYXI7IGtleSsrKSB7XG4gICAgICAgICAgICB0aGlzLnllYXJzLnB1c2goa2V5KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlTW9udGhPcHRpb25zKCkge1xuICAgICAgICBpZiAoIXRoaXMuX2FjdGl2ZURhdGUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG1pblllYXIgPSB0aGlzLmFkYXB0ZXIuZ2V0WWVhcih0aGlzLm1pbkRhdGUhKTtcbiAgICAgICAgY29uc3QgbWluTW9udGggPSB0aGlzLmFkYXB0ZXIuZ2V0TW9udGgodGhpcy5taW5EYXRlISk7XG5cbiAgICAgICAgY29uc3QgbWF4WWVhciA9IHRoaXMuYWRhcHRlci5nZXRZZWFyKHRoaXMubWF4RGF0ZSEpO1xuICAgICAgICBjb25zdCBtYXhNb250aCA9IHRoaXMuYWRhcHRlci5nZXRNb250aCh0aGlzLm1heERhdGUhKTtcblxuICAgICAgICBjb25zdCBjdXJyZW50WWVhciA9IHRoaXMuYWRhcHRlci5nZXRZZWFyKHRoaXMuX2FjdGl2ZURhdGUpO1xuXG4gICAgICAgIGlmIChjdXJyZW50WWVhciA9PT0gbWluWWVhcikge1xuICAgICAgICAgICAgdGhpcy5tb250aE5hbWVzLmZvckVhY2goKG1vbnRoKSA9PiAobW9udGguZGlzYWJsZWQgPSBtb250aC52YWx1ZSA8IG1pbk1vbnRoKSk7XG4gICAgICAgIH0gZWxzZSBpZiAoY3VycmVudFllYXIgPT09IG1heFllYXIpIHtcbiAgICAgICAgICAgIHRoaXMubW9udGhOYW1lcy5mb3JFYWNoKChtb250aCkgPT4gKG1vbnRoLmRpc2FibGVkID0gbW9udGgudmFsdWUgPiBtYXhNb250aCkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5tb250aE5hbWVzLmZvckVhY2goKG1vbnRoKSA9PiAobW9udGguZGlzYWJsZWQgPSBmYWxzZSkpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImticS1jYWxlbmRhci1oZWFkZXJfX3NlbGVjdC1ncm91cFwiPlxuICAgIDxrYnEtc2VsZWN0XG4gICAgICAgICNtb250aFNlbGVjdD1cImticVNlbGVjdFwiXG4gICAgICAgIGNsYXNzPVwia2JxLWNhbGVuZGFyLWhlYWRlcl9fc2VsZWN0XCJcbiAgICAgICAgW3BhbmVsQ2xhc3NdPVwiJ2ticS1jYWxlbmRhci1zZWxlY3QtcGFuZWwnXCJcbiAgICAgICAgW3RhYkluZGV4XT1cIi0xXCJcbiAgICAgICAgW3ZhbHVlXT1cInNlbGVjdGVkTW9udGhcIlxuICAgICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cIm9uTW9udGhTZWxlY3RlZCgkZXZlbnQudmFsdWUpXCJcbiAgICA+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIGticS1idXR0b25cbiAgICAgICAgICAgIGticS1zZWxlY3QtbWF0Y2hlclxuICAgICAgICAgICAgY2xhc3M9XCJsYXlvdXQtcGFkZGluZy1yaWdodC14c1wiXG4gICAgICAgICAgICBbY2xhc3Mua2JxLWFjdGl2ZV09XCJtb250aFNlbGVjdC5wYW5lbE9wZW5cIlxuICAgICAgICAgICAgW2NvbG9yXT1cIidjb250cmFzdCdcIlxuICAgICAgICAgICAgW2ticVN0eWxlXT1cIid0cmFuc3BhcmVudCdcIlxuICAgICAgICA+XG4gICAgICAgICAgICB7eyBtb250aE5hbWVzW3NlbGVjdGVkTW9udGhdLm5hbWVTaG9ydCB8IHRpdGxlY2FzZSB9fVxuXG4gICAgICAgICAgICA8aSBrYnEtaWNvbj1cImticS1jaGV2cm9uLWRvd24tc18xNlwiIGNsYXNzPVwibGF5b3V0LXBhZGRpbmctbGVmdC0zeHNcIiBbY29sb3JdPVwiJ2NvbnRyYXN0J1wiPjwvaT5cbiAgICAgICAgPC9idXR0b24+XG5cbiAgICAgICAgQGZvciAobW9udGggb2YgbW9udGhOYW1lczsgdHJhY2sgbW9udGgubmFtZVNob3J0KSB7XG4gICAgICAgICAgICA8a2JxLW9wdGlvbiBbZGlzYWJsZWRdPVwibW9udGguZGlzYWJsZWRcIiBba2JxVG9vbHRpcERpc2FibGVkXT1cInRydWVcIiBbdmFsdWVdPVwibW9udGgudmFsdWVcIj5cbiAgICAgICAgICAgICAgICB7eyBtb250aC5uYW1lIH19XG4gICAgICAgICAgICA8L2ticS1vcHRpb24+XG4gICAgICAgIH1cbiAgICA8L2ticS1zZWxlY3Q+XG5cbiAgICA8a2JxLXNlbGVjdFxuICAgICAgICAjeWVhclNlbGVjdD1cImticVNlbGVjdFwiXG4gICAgICAgIFtwYW5lbENsYXNzXT1cIidrYnEtY2FsZW5kYXItc2VsZWN0LXBhbmVsJ1wiXG4gICAgICAgIFt0YWJJbmRleF09XCItMVwiXG4gICAgICAgIFt2YWx1ZV09XCJzZWxlY3RlZFllYXJcIlxuICAgICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cIm9uWWVhclNlbGVjdGVkKCRldmVudC52YWx1ZSlcIlxuICAgID5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAga2JxLWJ1dHRvblxuICAgICAgICAgICAga2JxLXNlbGVjdC1tYXRjaGVyXG4gICAgICAgICAgICBjbGFzcz1cImxheW91dC1wYWRkaW5nLXJpZ2h0LXhzXCJcbiAgICAgICAgICAgIFtjbGFzcy5rYnEtYWN0aXZlXT1cInllYXJTZWxlY3QucGFuZWxPcGVuXCJcbiAgICAgICAgICAgIFtjb2xvcl09XCInY29udHJhc3QnXCJcbiAgICAgICAgICAgIFtrYnFTdHlsZV09XCIndHJhbnNwYXJlbnQnXCJcbiAgICAgICAgPlxuICAgICAgICAgICAge3sgc2VsZWN0ZWRZZWFyIH19XG5cbiAgICAgICAgICAgIDxpIGticS1pY29uPVwia2JxLWNoZXZyb24tZG93bi1zXzE2XCIgY2xhc3M9XCJsYXlvdXQtcGFkZGluZy1sZWZ0LTN4c1wiPjwvaT5cbiAgICAgICAgPC9idXR0b24+XG5cbiAgICAgICAgQGZvciAoeWVhciBvZiB5ZWFyczsgdHJhY2sgeWVhcikge1xuICAgICAgICAgICAgPGticS1vcHRpb24gW2ticVRvb2x0aXBEaXNhYmxlZF09XCJ0cnVlXCIgW3ZhbHVlXT1cInllYXJcIj5cbiAgICAgICAgICAgICAgICB7eyB5ZWFyIH19XG4gICAgICAgICAgICA8L2ticS1vcHRpb24+XG4gICAgICAgIH1cbiAgICA8L2ticS1zZWxlY3Q+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cImticS1jYWxlbmRhci1oZWFkZXJfX2J1dHRvbi1ncm91cFwiPlxuICAgIDxidXR0b25cbiAgICAgICAga2JxLWJ1dHRvblxuICAgICAgICBjbGFzcz1cImticS1jYWxlbmRhci1oZWFkZXJfX3ByZXZpb3VzLWJ1dHRvblwiXG4gICAgICAgIFtjb2xvcl09XCInY29udHJhc3QnXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cInByZXZpb3VzRGlzYWJsZWRcIlxuICAgICAgICBba2JxU3R5bGVdPVwiJ3RyYW5zcGFyZW50J1wiXG4gICAgICAgIFt0YWJpbmRleF09XCItMVwiXG4gICAgICAgIChjbGljayk9XCJzZWxlY3RQcmV2aW91c01vbnRoKClcIlxuICAgID5cbiAgICAgICAgPGkga2JxLWljb249XCJrYnEtY2hldnJvbi1sZWZ0XzE2XCI+PC9pPlxuICAgIDwvYnV0dG9uPlxuXG4gICAgPGJ1dHRvblxuICAgICAgICBrYnEtYnV0dG9uXG4gICAgICAgIFtjb2xvcl09XCInY29udHJhc3QnXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImN1cnJlbnREaXNhYmxlZFwiXG4gICAgICAgIFtrYnFTdHlsZV09XCIndHJhbnNwYXJlbnQnXCJcbiAgICAgICAgW3RhYmluZGV4XT1cIi0xXCJcbiAgICAgICAgKGNsaWNrKT1cInNlbGVjdEN1cnJlbnREYXRlKClcIlxuICAgID5cbiAgICAgICAgPGkga2JxLWljb249XCJrYnEtY2lyY2xlLXhzXzE2XCI+PC9pPlxuICAgIDwvYnV0dG9uPlxuXG4gICAgPGJ1dHRvblxuICAgICAgICBrYnEtYnV0dG9uXG4gICAgICAgIGNsYXNzPVwia2JxLWNhbGVuZGFyLWhlYWRlcl9fbmV4dC1idXR0b25cIlxuICAgICAgICBbY29sb3JdPVwiJ2NvbnRyYXN0J1wiXG4gICAgICAgIFtkaXNhYmxlZF09XCJuZXh0RGlzYWJsZWRcIlxuICAgICAgICBba2JxU3R5bGVdPVwiJ3RyYW5zcGFyZW50J1wiXG4gICAgICAgIFt0YWJpbmRleF09XCItMVwiXG4gICAgICAgIChjbGljayk9XCJzZWxlY3ROZXh0TW9udGgoKVwiXG4gICAgPlxuICAgICAgICA8aSBrYnEtaWNvbj1cImticS1jaGV2cm9uLXJpZ2h0XzE2XCI+PC9pPlxuICAgIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
|
|
@@ -4,6 +4,7 @@ import { PortalModule } from '@angular/cdk/portal';
|
|
|
4
4
|
import { NgClass, TitleCasePipe } from '@angular/common';
|
|
5
5
|
import { NgModule } from '@angular/core';
|
|
6
6
|
import { KbqButtonModule } from '@koobiq/components/button';
|
|
7
|
+
import { KbqFormFieldModule } from '@koobiq/components/form-field';
|
|
7
8
|
import { KbqIconModule } from '@koobiq/components/icon';
|
|
8
9
|
import { KbqSelectModule } from '@koobiq/components/select';
|
|
9
10
|
import { KbqCalendarBody } from './calendar-body.component';
|
|
@@ -42,7 +43,8 @@ export class KbqDatepickerModule {
|
|
|
42
43
|
KbqDatepickerToggleIcon,
|
|
43
44
|
KbqDatepickerToggleIconComponent,
|
|
44
45
|
KbqMonthView,
|
|
45
|
-
KbqCalendarHeader
|
|
46
|
+
KbqCalendarHeader,
|
|
47
|
+
KbqFormFieldModule] }); }
|
|
46
48
|
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqDatepickerModule, providers: [
|
|
47
49
|
KbqDatepickerIntl,
|
|
48
50
|
KBQ_DATEPICKER_SCROLL_STRATEGY_FACTORY_PROVIDER
|
|
@@ -52,7 +54,7 @@ export class KbqDatepickerModule {
|
|
|
52
54
|
PortalModule,
|
|
53
55
|
KbqSelectModule,
|
|
54
56
|
KbqIconModule,
|
|
55
|
-
KbqDatepickerToggleIconComponent] }); }
|
|
57
|
+
KbqDatepickerToggleIconComponent, KbqFormFieldModule] }); }
|
|
56
58
|
}
|
|
57
59
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqDatepickerModule, decorators: [{
|
|
58
60
|
type: NgModule,
|
|
@@ -78,7 +80,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
78
80
|
KbqDatepickerToggleIcon,
|
|
79
81
|
KbqDatepickerToggleIconComponent,
|
|
80
82
|
KbqMonthView,
|
|
81
|
-
KbqCalendarHeader
|
|
83
|
+
KbqCalendarHeader,
|
|
84
|
+
KbqFormFieldModule
|
|
82
85
|
],
|
|
83
86
|
declarations: [
|
|
84
87
|
KbqCalendar,
|
|
@@ -97,4 +100,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
97
100
|
]
|
|
98
101
|
}]
|
|
99
102
|
}] });
|
|
100
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci1tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2RhdGVwaWNrZXIvZGF0ZXBpY2tlci1tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdEQsT0FBTyxFQUNILG1CQUFtQixFQUNuQix1QkFBdUIsRUFDdkIsZ0NBQWdDLEVBQ25DLE1BQU0sK0JBQStCLENBQUM7QUFDdkMsT0FBTyxFQUNILCtDQUErQyxFQUMvQyxhQUFhLEVBQ2Isb0JBQW9CLEVBQ3ZCLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQTJDdEQsTUFBTSxPQUFPLG1CQUFtQjtrSUFBbkIsbUJBQW1CO21JQUFuQixtQkFBbUIsaUJBZnhCLFdBQVc7WUFDWCxlQUFlO1lBQ2YsYUFBYTtZQUNiLG9CQUFvQjtZQUNwQixrQkFBa0I7WUFDbEIsbUJBQW1CO1lBQ25CLHVCQUF1QjtZQUN2QixZQUFZO1lBQ1osaUJBQWlCLGFBaENqQixlQUFlO1lBQ2YsYUFBYTtZQUNiLFVBQVU7WUFDVixZQUFZO1lBQ1osZUFBZTtZQUNmLGFBQWE7WUFDYixnQ0FBZ0M7WUFDaEMsT0FBTztZQUNQLGFBQWEsYUFHYixXQUFXO1lBQ1gsZUFBZTtZQUNmLGFBQWE7WUFDYixvQkFBb0I7WUFDcEIsa0JBQWtCO1lBQ2xCLG1CQUFtQjtZQUNuQix1QkFBdUI7WUFDdkIsZ0NBQWdDO1lBQ2hDLFlBQVk7WUFDWixpQkFBaUI7WUFDakIsa0JBQWtCO21JQWtCYixtQkFBbUIsYUFMakI7WUFDUCxpQkFBaUI7WUFDakIsK0NBQStDO1NBQ2xELFlBckNHLGVBQWU7WUFDZixhQUFhO1lBQ2IsVUFBVTtZQUNWLFlBQVk7WUFDWixlQUFlO1lBQ2YsYUFBYTtZQUNiLGdDQUFnQyxFQWVoQyxrQkFBa0I7OzRGQWtCYixtQkFBbUI7a0JBekMvQixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsVUFBVTt3QkFDVixZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixnQ0FBZ0M7d0JBQ2hDLE9BQU87d0JBQ1AsYUFBYTtxQkFDaEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLFdBQVc7d0JBQ1gsZUFBZTt3QkFDZixhQUFhO3dCQUNiLG9CQUFvQjt3QkFDcEIsa0JBQWtCO3dCQUNsQixtQkFBbUI7d0JBQ25CLHVCQUF1Qjt3QkFDdkIsZ0NBQWdDO3dCQUNoQyxZQUFZO3dCQUNaLGlCQUFpQjt3QkFDakIsa0JBQWtCO3FCQUNyQjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1YsV0FBVzt3QkFDWCxlQUFlO3dCQUNmLGFBQWE7d0JBQ2Isb0JBQW9CO3dCQUNwQixrQkFBa0I7d0JBQ2xCLG1CQUFtQjt3QkFDbkIsdUJBQXVCO3dCQUN2QixZQUFZO3dCQUNaLGlCQUFpQjtxQkFDcEI7b0JBQ0QsU0FBUyxFQUFFO3dCQUNQLGlCQUFpQjt3QkFDakIsK0NBQStDO3FCQUNsRDtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEExMXlNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyBPdmVybGF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgUG9ydGFsTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBOZ0NsYXNzLCBUaXRsZUNhc2VQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBLYnFCdXR0b25Nb2R1bGUgfSBmcm9tICdAa29vYmlxL2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEticUZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Brb29iaXEvY29tcG9uZW50cy9mb3JtLWZpZWxkJztcbmltcG9ydCB7IEticUljb25Nb2R1bGUgfSBmcm9tICdAa29vYmlxL2NvbXBvbmVudHMvaWNvbic7XG5pbXBvcnQgeyBLYnFTZWxlY3RNb2R1bGUgfSBmcm9tICdAa29vYmlxL2NvbXBvbmVudHMvc2VsZWN0JztcbmltcG9ydCB7IEticUNhbGVuZGFyQm9keSB9IGZyb20gJy4vY2FsZW5kYXItYm9keS5jb21wb25lbnQnO1xuaW1wb3J0IHsgS2JxQ2FsZW5kYXJIZWFkZXIgfSBmcm9tICcuL2NhbGVuZGFyLWhlYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgS2JxQ2FsZW5kYXIgfSBmcm9tICcuL2NhbGVuZGFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBLYnFEYXRlcGlja2VySW5wdXQgfSBmcm9tICcuL2RhdGVwaWNrZXItaW5wdXQuZGlyZWN0aXZlJztcbmltcG9ydCB7IEticURhdGVwaWNrZXJJbnRsIH0gZnJvbSAnLi9kYXRlcGlja2VyLWludGwnO1xuaW1wb3J0IHtcbiAgICBLYnFEYXRlcGlja2VyVG9nZ2xlLFxuICAgIEticURhdGVwaWNrZXJUb2dnbGVJY29uLFxuICAgIEticURhdGVwaWNrZXJUb2dnbGVJY29uQ29tcG9uZW50XG59IGZyb20gJy4vZGF0ZXBpY2tlci10b2dnbGUuY29tcG9uZW50JztcbmltcG9ydCB7XG4gICAgS0JRX0RBVEVQSUNLRVJfU0NST0xMX1NUUkFURUdZX0ZBQ1RPUllfUFJPVklERVIsXG4gICAgS2JxRGF0ZXBpY2tlcixcbiAgICBLYnFEYXRlcGlja2VyQ29udGVudFxufSBmcm9tICcuL2RhdGVwaWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEticU1vbnRoVmlldyB9IGZyb20gJy4vbW9udGgtdmlldy5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgS2JxQnV0dG9uTW9kdWxlLFxuICAgICAgICBPdmVybGF5TW9kdWxlLFxuICAgICAgICBBMTF5TW9kdWxlLFxuICAgICAgICBQb3J0YWxNb2R1bGUsXG4gICAgICAgIEticVNlbGVjdE1vZHVsZSxcbiAgICAgICAgS2JxSWNvbk1vZHVsZSxcbiAgICAgICAgS2JxRGF0ZXBpY2tlclRvZ2dsZUljb25Db21wb25lbnQsXG4gICAgICAgIE5nQ2xhc3MsXG4gICAgICAgIFRpdGxlQ2FzZVBpcGVcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgS2JxQ2FsZW5kYXIsXG4gICAgICAgIEticUNhbGVuZGFyQm9keSxcbiAgICAgICAgS2JxRGF0ZXBpY2tlcixcbiAgICAgICAgS2JxRGF0ZXBpY2tlckNvbnRlbnQsXG4gICAgICAgIEticURhdGVwaWNrZXJJbnB1dCxcbiAgICAgICAgS2JxRGF0ZXBpY2tlclRvZ2dsZSxcbiAgICAgICAgS2JxRGF0ZXBpY2tlclRvZ2dsZUljb24sXG4gICAgICAgIEticURhdGVwaWNrZXJUb2dnbGVJY29uQ29tcG9uZW50LFxuICAgICAgICBLYnFNb250aFZpZXcsXG4gICAgICAgIEticUNhbGVuZGFySGVhZGVyLFxuICAgICAgICBLYnFGb3JtRmllbGRNb2R1bGVcbiAgICBdLFxuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICBLYnFDYWxlbmRhcixcbiAgICAgICAgS2JxQ2FsZW5kYXJCb2R5LFxuICAgICAgICBLYnFEYXRlcGlja2VyLFxuICAgICAgICBLYnFEYXRlcGlja2VyQ29udGVudCxcbiAgICAgICAgS2JxRGF0ZXBpY2tlcklucHV0LFxuICAgICAgICBLYnFEYXRlcGlja2VyVG9nZ2xlLFxuICAgICAgICBLYnFEYXRlcGlja2VyVG9nZ2xlSWNvbixcbiAgICAgICAgS2JxTW9udGhWaWV3LFxuICAgICAgICBLYnFDYWxlbmRhckhlYWRlclxuICAgIF0sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIEticURhdGVwaWNrZXJJbnRsLFxuICAgICAgICBLQlFfREFURVBJQ0tFUl9TQ1JPTExfU1RSQVRFR1lfRkFDVE9SWV9QUk9WSURFUlxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgS2JxRGF0ZXBpY2tlck1vZHVsZSB7fVxuIl19
|
|
@@ -112,7 +112,7 @@ export class KbqDropdownItem {
|
|
|
112
112
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqDropdownItem, deps: [{ token: i0.ElementRef }, { token: i1.FocusMonitor }, { token: KBQ_DROPDOWN_PANEL, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
113
113
|
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: KbqDropdownItem, selector: "kbq-dropdown-item, [kbq-dropdown-item]", inputs: { disabled: ["disabled", "disabled", booleanAttribute] }, host: { listeners: { "click": "checkDisabled($event)", "mouseenter": "handleMouseEnter()" }, properties: { "class.kbq-dropdown-item_with-icon": "icon", "class.kbq-dropdown-item_highlighted": "highlighted", "class.kbq-disabled": "disabled", "attr.disabled": "disabled || null", "attr.tabindex": "getTabIndex()" }, classAttribute: "kbq-dropdown-item" }, providers: [
|
|
114
114
|
{ provide: KBQ_TITLE_TEXT_REF, useExisting: KbqDropdownItem }
|
|
115
|
-
], queries: [{ propertyName: "icon", first: true, predicate: KbqIcon, descendants: true }], viewQueries: [{ propertyName: "textElement", first: true, predicate: ["kbqTitleText"], descendants: true, static: true }], exportAs: ["kbqDropdownItem"], ngImport: i0, template: "<ng-content select=\"[kbq-icon]\" />\n\n<div #kbqTitleText class=\"kbq-dropdown-item__text\">\n <ng-content />\n</div>\n\n@if (isNested) {\n <i kbq-icon=\"kbq-chevron-right-s_16\" class=\"kbq-dropdown-trigger__icon\" [color]=\"componentColors.ContrastFade\"></i>\n}\n\n<div class=\"kbq-dropdown-item-overlay\" (click)=\"haltDisabledEvents($event)\"></div>\n", styles: ["
|
|
115
|
+
], queries: [{ propertyName: "icon", first: true, predicate: KbqIcon, descendants: true }], viewQueries: [{ propertyName: "textElement", first: true, predicate: ["kbqTitleText"], descendants: true, static: true }], exportAs: ["kbqDropdownItem"], ngImport: i0, template: "<ng-content select=\"[kbq-icon]\" />\n\n<div #kbqTitleText class=\"kbq-dropdown-item__text\">\n <ng-content />\n</div>\n\n@if (isNested) {\n <i kbq-icon=\"kbq-chevron-right-s_16\" class=\"kbq-dropdown-trigger__icon\" [color]=\"componentColors.ContrastFade\"></i>\n}\n\n<div class=\"kbq-dropdown-item-overlay\" (click)=\"haltDisabledEvents($event)\"></div>\n", styles: [".kbq-truncate-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-no-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.kbq-dropdown-item{width:100%;border-radius:var(--kbq-dropdown-item-border-radius);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;display:flex;flex-direction:row;align-items:center;box-sizing:border-box;outline:none;-webkit-tap-highlight-color:transparent;min-height:32px;gap:var(--kbq-size-s);border:var(--kbq-size-3xs) solid transparent;padding:var(--kbq-size-xxs) calc(var(--kbq-size-m) - var(--kbq-size-3xs));text-align:left;align-items:flex-start;text-decoration:none}.kbq-dropdown-item .kbq-list-text{display:flex;flex-direction:column;width:100%;box-sizing:content-box;display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-dropdown-item .kbq-list-text>*{margin:0;padding:0;font-weight:400;font-size:inherit}.kbq-dropdown-item .kbq-list-text:empty{display:none}.kbq-dropdown-item .kbq-list-option-caption{padding-top:var(--kbq-size-3xs)}.kbq-dropdown-item:not(.kbq-disabled){cursor:pointer}.kbq-dropdown-item>.kbq-icon:first-child:before{align-self:center;display:flex;height:var(--kbq-size-xl);width:16px;align-items:center}.kbq-dropdown-item .kbq-dropdown-item__caption{padding-top:var(--kbq-size-3xs)}.kbq-dropdown-item__text{display:flex;flex-direction:column;width:100%;box-sizing:content-box;display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-dropdown-item__text>*{margin:0;padding:0;font-weight:400;font-size:inherit}.kbq-dropdown-item__text:empty{display:none}.kbq-dropdown-item-overlay{position:absolute;inset:-1px;border-radius:inherit}.kbq-dropdown__group-header{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex-direction:row;align-items:center;box-sizing:border-box;min-height:32px;border-left:var(--kbq-size-3xs) solid transparent;border-right:var(--kbq-size-3xs) solid transparent;padding-top:var(--kbq-size-xs);padding-left:calc(var(--kbq-size-m) - var(--kbq-size-3xs));padding-right:calc(var(--kbq-size-m) - var(--kbq-size-3xs));padding-bottom:var(--kbq-size-3xs)}.kbq-dropdown__group-header .kbq-list-text{display:flex;flex-direction:column;width:100%;box-sizing:content-box;display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-dropdown__group-header .kbq-list-text>*{margin:0;padding:0;font-weight:400;font-size:inherit}.kbq-dropdown__group-header .kbq-list-text:empty{display:none}.kbq-dropdown__group-header.kbq-dropdown__group-header_small{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;min-height:32px;border-left:var(--kbq-size-3xs) solid transparent;border-right:var(--kbq-size-3xs) solid transparent;padding-top:var(--kbq-size-m);padding-left:calc(var(--kbq-size-m) - var(--kbq-size-3xs));padding-right:calc(var(--kbq-size-m) - var(--kbq-size-3xs));padding-bottom:var(--kbq-size-xxs)}.kbq-dropdown__group-header.kbq-dropdown__group-header_small .kbq-list-text{display:flex;flex-direction:column;width:100%;box-sizing:content-box;display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-dropdown__group-header.kbq-dropdown__group-header_small .kbq-list-text>*{margin:0;padding:0;font-weight:400;font-size:inherit}.kbq-dropdown__group-header.kbq-dropdown__group-header_small .kbq-list-text:empty{display:none}\n"], dependencies: [{ kind: "component", type: i2.KbqIcon, selector: "[kbq-icon]", inputs: ["small", "autoColor", "kbq-icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
116
116
|
}
|
|
117
117
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqDropdownItem, decorators: [{
|
|
118
118
|
type: Component,
|
|
@@ -125,7 +125,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
125
125
|
'[attr.tabindex]': 'getTabIndex()'
|
|
126
126
|
}, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [
|
|
127
127
|
{ provide: KBQ_TITLE_TEXT_REF, useExisting: KbqDropdownItem }
|
|
128
|
-
], template: "<ng-content select=\"[kbq-icon]\" />\n\n<div #kbqTitleText class=\"kbq-dropdown-item__text\">\n <ng-content />\n</div>\n\n@if (isNested) {\n <i kbq-icon=\"kbq-chevron-right-s_16\" class=\"kbq-dropdown-trigger__icon\" [color]=\"componentColors.ContrastFade\"></i>\n}\n\n<div class=\"kbq-dropdown-item-overlay\" (click)=\"haltDisabledEvents($event)\"></div>\n", styles: ["
|
|
128
|
+
], template: "<ng-content select=\"[kbq-icon]\" />\n\n<div #kbqTitleText class=\"kbq-dropdown-item__text\">\n <ng-content />\n</div>\n\n@if (isNested) {\n <i kbq-icon=\"kbq-chevron-right-s_16\" class=\"kbq-dropdown-trigger__icon\" [color]=\"componentColors.ContrastFade\"></i>\n}\n\n<div class=\"kbq-dropdown-item-overlay\" (click)=\"haltDisabledEvents($event)\"></div>\n", styles: [".kbq-truncate-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-no-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.kbq-dropdown-item{width:100%;border-radius:var(--kbq-dropdown-item-border-radius);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;display:flex;flex-direction:row;align-items:center;box-sizing:border-box;outline:none;-webkit-tap-highlight-color:transparent;min-height:32px;gap:var(--kbq-size-s);border:var(--kbq-size-3xs) solid transparent;padding:var(--kbq-size-xxs) calc(var(--kbq-size-m) - var(--kbq-size-3xs));text-align:left;align-items:flex-start;text-decoration:none}.kbq-dropdown-item .kbq-list-text{display:flex;flex-direction:column;width:100%;box-sizing:content-box;display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-dropdown-item .kbq-list-text>*{margin:0;padding:0;font-weight:400;font-size:inherit}.kbq-dropdown-item .kbq-list-text:empty{display:none}.kbq-dropdown-item .kbq-list-option-caption{padding-top:var(--kbq-size-3xs)}.kbq-dropdown-item:not(.kbq-disabled){cursor:pointer}.kbq-dropdown-item>.kbq-icon:first-child:before{align-self:center;display:flex;height:var(--kbq-size-xl);width:16px;align-items:center}.kbq-dropdown-item .kbq-dropdown-item__caption{padding-top:var(--kbq-size-3xs)}.kbq-dropdown-item__text{display:flex;flex-direction:column;width:100%;box-sizing:content-box;display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-dropdown-item__text>*{margin:0;padding:0;font-weight:400;font-size:inherit}.kbq-dropdown-item__text:empty{display:none}.kbq-dropdown-item-overlay{position:absolute;inset:-1px;border-radius:inherit}.kbq-dropdown__group-header{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex-direction:row;align-items:center;box-sizing:border-box;min-height:32px;border-left:var(--kbq-size-3xs) solid transparent;border-right:var(--kbq-size-3xs) solid transparent;padding-top:var(--kbq-size-xs);padding-left:calc(var(--kbq-size-m) - var(--kbq-size-3xs));padding-right:calc(var(--kbq-size-m) - var(--kbq-size-3xs));padding-bottom:var(--kbq-size-3xs)}.kbq-dropdown__group-header .kbq-list-text{display:flex;flex-direction:column;width:100%;box-sizing:content-box;display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-dropdown__group-header .kbq-list-text>*{margin:0;padding:0;font-weight:400;font-size:inherit}.kbq-dropdown__group-header .kbq-list-text:empty{display:none}.kbq-dropdown__group-header.kbq-dropdown__group-header_small{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;min-height:32px;border-left:var(--kbq-size-3xs) solid transparent;border-right:var(--kbq-size-3xs) solid transparent;padding-top:var(--kbq-size-m);padding-left:calc(var(--kbq-size-m) - var(--kbq-size-3xs));padding-right:calc(var(--kbq-size-m) - var(--kbq-size-3xs));padding-bottom:var(--kbq-size-xxs)}.kbq-dropdown__group-header.kbq-dropdown__group-header_small .kbq-list-text{display:flex;flex-direction:column;width:100%;box-sizing:content-box;display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-dropdown__group-header.kbq-dropdown__group-header_small .kbq-list-text>*{margin:0;padding:0;font-weight:400;font-size:inherit}.kbq-dropdown__group-header.kbq-dropdown__group-header_small .kbq-list-text:empty{display:none}\n"] }]
|
|
129
129
|
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.FocusMonitor }, { type: undefined, decorators: [{
|
|
130
130
|
type: Inject,
|
|
131
131
|
args: [KBQ_DROPDOWN_PANEL]
|