@koobiq/components 18.0.0 → 18.2.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/accordion/README.md +0 -0
- package/accordion/_accordion-theme.scss +62 -0
- package/accordion/accordion-content.d.ts +6 -0
- package/accordion/accordion-header.d.ts +6 -0
- package/accordion/accordion-item.d.ts +6 -0
- package/accordion/accordion-tokens.scss +45 -0
- package/accordion/accordion-trigger.component.d.ts +11 -0
- package/accordion/accordion-trigger.component.scss +79 -0
- package/accordion/accordion.component.d.ts +20 -0
- package/accordion/accordion.component.scss +66 -0
- package/accordion/accordion.module.d.ts +12 -0
- package/accordion/index.d.ts +1 -0
- package/accordion/public-api.d.ts +6 -0
- package/alert/_alert-theme.scss +3 -3
- package/alert/alert-tokens.scss +2 -2
- package/alert/alert.component.scss +40 -39
- package/autocomplete/_autocomplete-theme.scss +2 -2
- package/autocomplete/autocomplete.scss +6 -6
- package/badge/_badge-theme.scss +5 -5
- package/badge/badge.component.scss +16 -16
- package/button/_button-base.scss +6 -6
- package/button/_button-theme.scss +11 -11
- package/button/button.dropdown-trigger.directive.d.ts +14 -0
- package/button/button.module.d.ts +2 -1
- package/button/button.scss +8 -8
- package/button/public-api.d.ts +1 -0
- package/button-toggle/_button-toggle-theme.scss +5 -5
- package/button-toggle/button-toggle.scss +11 -11
- package/checkbox/_checkbox-theme.scss +22 -22
- package/checkbox/checkbox-tokens.scss +2 -2
- package/checkbox/checkbox.scss +16 -16
- package/code-block/_code-block-theme.scss +15 -15
- package/code-block/actionbar.component.scss +4 -4
- package/code-block/code-block.scss +18 -19
- package/core/forms/_forms-theme.scss +2 -2
- package/core/forms/_forms.scss +12 -12
- package/core/option/_optgroup-theme.scss +2 -2
- package/core/option/_option-action-theme.scss +6 -6
- package/core/option/_option-theme.scss +5 -5
- package/core/option/action.scss +2 -2
- package/core/option/optgroup.scss +1 -1
- package/core/pop-up/pop-up-trigger.d.ts +5 -1
- package/core/selection/pseudo-checkbox/_pseudo-checkbox-theme.scss +8 -8
- package/core/selection/pseudo-checkbox/pseudo-checkbox-tokens.scss +2 -2
- package/core/selection/pseudo-checkbox/pseudo-checkbox.scss +8 -8
- package/core/styles/common/_groups.scss +4 -4
- package/core/styles/common/_list.scss +19 -19
- package/core/styles/common/_popup.scss +3 -3
- package/core/styles/common/_select.scss +13 -13
- package/core/styles/common/_tokens.scss +8 -19
- package/core/styles/theming/_scrollbar-theme.scss +11 -11
- package/core/styles/typography/_typography.scss +15 -0
- package/core/styles/visual/_layout.scss +13 -13
- package/datepicker/_datepicker-theme.scss +15 -15
- package/datepicker/calendar-body.scss +2 -2
- package/datepicker/calendar-header.scss +3 -3
- package/datepicker/calendar.scss +6 -6
- package/datepicker/datepicker-content.scss +4 -4
- package/datepicker/datepicker-toggle.scss +2 -2
- package/divider/_divider-theme.scss +1 -1
- package/divider/divider.scss +6 -6
- package/dl/_dl-theme.scss +2 -2
- package/dl/dl.scss +4 -4
- package/dropdown/_dropdown-theme.scss +7 -7
- package/dropdown/dropdown-item.scss +2 -2
- package/dropdown/dropdown.scss +5 -5
- package/empty-state/_empty-state-theme.scss +4 -4
- package/empty-state/empty-state.scss +18 -20
- package/esm2022/accordion/accordion-content.mjs +19 -0
- package/esm2022/accordion/accordion-header.mjs +19 -0
- package/esm2022/accordion/accordion-item.mjs +25 -0
- package/esm2022/accordion/accordion-trigger.component.mjs +60 -0
- package/esm2022/accordion/accordion.component.mjs +40 -0
- package/esm2022/accordion/accordion.module.mjs +44 -0
- package/esm2022/accordion/index.mjs +2 -0
- package/esm2022/accordion/koobiq-components-accordion.mjs +5 -0
- package/esm2022/accordion/public-api.mjs +7 -0
- package/esm2022/alert/alert.component.mjs +13 -13
- package/esm2022/alert/alert.module.mjs +4 -4
- package/esm2022/autocomplete/autocomplete-origin.directive.mjs +3 -3
- package/esm2022/autocomplete/autocomplete-trigger.directive.mjs +3 -3
- package/esm2022/autocomplete/autocomplete.component.mjs +5 -5
- package/esm2022/autocomplete/autocomplete.module.mjs +4 -4
- package/esm2022/badge/badge.component.mjs +10 -10
- package/esm2022/badge/badge.module.mjs +4 -4
- package/esm2022/button/button.component.mjs +8 -8
- package/esm2022/button/button.dropdown-trigger.directive.mjs +28 -0
- package/esm2022/button/button.module.mjs +14 -9
- package/esm2022/button/public-api.mjs +2 -1
- package/esm2022/button-toggle/button-toggle.component.mjs +8 -8
- package/esm2022/button-toggle/button-toggle.module.mjs +4 -4
- package/esm2022/checkbox/checkbox-module.mjs +4 -4
- package/esm2022/checkbox/checkbox-required-validator.mjs +3 -3
- package/esm2022/checkbox/checkbox.mjs +4 -4
- package/esm2022/code-block/actionbar.component.mjs +4 -4
- package/esm2022/code-block/code-block.component.mjs +4 -4
- package/esm2022/code-block/code-block.module.mjs +4 -4
- package/esm2022/core/common-behaviors/common-module.mjs +4 -4
- package/esm2022/core/error/error-options.mjs +6 -6
- package/esm2022/core/formatters/date/formatter.mjs +3 -3
- package/esm2022/core/formatters/date/formatter.pipe.mjs +39 -39
- package/esm2022/core/formatters/index.mjs +4 -4
- package/esm2022/core/formatters/number/formatter.mjs +12 -12
- package/esm2022/core/forms/forms-module.mjs +4 -4
- package/esm2022/core/forms/forms.directive.mjs +6 -6
- package/esm2022/core/highlight/highlight.pipe.mjs +3 -3
- package/esm2022/core/highlight/index.mjs +4 -4
- package/esm2022/core/line/line.mjs +7 -7
- package/esm2022/core/locales/locale-service.mjs +3 -3
- package/esm2022/core/locales/locale-service.module.mjs +4 -4
- package/esm2022/core/option/action.mjs +5 -5
- package/esm2022/core/option/optgroup.mjs +4 -4
- package/esm2022/core/option/option-module.mjs +4 -4
- package/esm2022/core/option/option.mjs +5 -5
- package/esm2022/core/pop-up/pop-up-trigger.mjs +17 -8
- package/esm2022/core/pop-up/pop-up.mjs +3 -3
- package/esm2022/core/select/common.mjs +15 -15
- package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +4 -4
- package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.module.mjs +4 -4
- package/esm2022/core/services/measure-scrollbar.service.mjs +3 -3
- package/esm2022/core/services/theme.service.mjs +3 -3
- package/esm2022/core/utils/data-size/data-size.pipe.mjs +3 -3
- package/esm2022/core/version.mjs +2 -2
- package/esm2022/datepicker/calendar-body.component.mjs +4 -4
- package/esm2022/datepicker/calendar-header.component.mjs +4 -4
- package/esm2022/datepicker/calendar.component.mjs +4 -4
- package/esm2022/datepicker/datepicker-input.directive.mjs +3 -3
- package/esm2022/datepicker/datepicker-intl.mjs +3 -3
- package/esm2022/datepicker/datepicker-module.mjs +4 -4
- package/esm2022/datepicker/datepicker-toggle.component.mjs +7 -7
- package/esm2022/datepicker/datepicker.component.mjs +8 -8
- package/esm2022/datepicker/month-view.component.mjs +3 -3
- package/esm2022/divider/divider.component.mjs +4 -4
- package/esm2022/divider/divider.module.mjs +4 -4
- package/esm2022/dl/dl.component.mjs +10 -10
- package/esm2022/dl/dl.module.mjs +4 -4
- package/esm2022/dropdown/dropdown-content.directive.mjs +3 -3
- package/esm2022/dropdown/dropdown-item.component.mjs +5 -5
- package/esm2022/dropdown/dropdown-trigger.directive.mjs +3 -3
- package/esm2022/dropdown/dropdown.component.mjs +6 -6
- package/esm2022/dropdown/dropdown.module.mjs +4 -4
- package/esm2022/ellipsis-center/ellipsis-center.directive.mjs +7 -7
- package/esm2022/empty-state/empty-state.component.mjs +16 -16
- package/esm2022/empty-state/empty-state.module.mjs +4 -4
- package/esm2022/file-upload/file-drop.mjs +3 -3
- package/esm2022/file-upload/file-upload.module.mjs +4 -4
- package/esm2022/file-upload/multiple-file-upload.component.mjs +4 -4
- package/esm2022/file-upload/single-file-upload.component.mjs +4 -4
- package/esm2022/form-field/cleaner.mjs +5 -5
- package/esm2022/form-field/form-field.mjs +11 -11
- package/esm2022/form-field/form-field.module.mjs +4 -4
- package/esm2022/form-field/hint.mjs +5 -5
- package/esm2022/form-field/password-hint.mjs +6 -6
- package/esm2022/form-field/password-toggle.mjs +4 -4
- package/esm2022/form-field/prefix.mjs +3 -3
- package/esm2022/form-field/stepper.mjs +5 -5
- package/esm2022/form-field/suffix.mjs +3 -3
- package/esm2022/form-field/validate.directive.mjs +3 -3
- package/esm2022/icon/icon-button.component.mjs +6 -6
- package/esm2022/icon/icon-item.component.mjs +6 -6
- package/esm2022/icon/icon.component.mjs +6 -6
- package/esm2022/icon/icon.module.mjs +13 -24
- package/esm2022/input/input-number-validators.mjs +6 -6
- package/esm2022/input/input-number.mjs +5 -5
- package/esm2022/input/input-password.mjs +3 -3
- package/esm2022/input/input.mjs +8 -8
- package/esm2022/input/input.module.mjs +4 -4
- package/esm2022/link/link.component.mjs +3 -3
- package/esm2022/link/link.module.mjs +4 -4
- package/esm2022/list/list-selection.component.mjs +11 -11
- package/esm2022/list/list.component.mjs +7 -7
- package/esm2022/list/list.module.mjs +4 -4
- package/esm2022/loader-overlay/loader-overlay.component.mjs +13 -13
- package/esm2022/loader-overlay/loader-overlay.module.mjs +4 -4
- package/esm2022/markdown/markdown.component.mjs +5 -5
- package/esm2022/markdown/markdown.module.mjs +4 -4
- package/esm2022/markdown/markdown.service.mjs +3 -3
- package/esm2022/modal/css-unit.pipe.mjs +3 -3
- package/esm2022/modal/modal-control.service.mjs +3 -3
- package/esm2022/modal/modal.component.mjs +7 -9
- package/esm2022/modal/modal.directive.mjs +53 -17
- package/esm2022/modal/modal.module.mjs +4 -4
- package/esm2022/modal/modal.service.mjs +3 -3
- package/esm2022/navbar/navbar-item.component.mjs +29 -29
- package/esm2022/navbar/navbar.component.mjs +11 -11
- package/esm2022/navbar/navbar.module.mjs +4 -4
- package/esm2022/navbar/vertical-navbar.component.mjs +5 -5
- package/esm2022/popover/popover-confirm.component.mjs +8 -8
- package/esm2022/popover/popover.component.mjs +8 -8
- package/esm2022/popover/popover.module.mjs +4 -4
- package/esm2022/progress-bar/progress-bar.component.mjs +10 -10
- package/esm2022/progress-bar/progress-bar.module.mjs +4 -4
- package/esm2022/progress-spinner/progress-spinner.component.mjs +10 -10
- package/esm2022/progress-spinner/progress-spinner.module.mjs +4 -4
- package/esm2022/radio/radio.component.mjs +7 -7
- package/esm2022/radio/radio.module.mjs +4 -4
- package/esm2022/risk-level/risk-level.component.mjs +4 -4
- package/esm2022/risk-level/risk-level.module.mjs +4 -4
- package/esm2022/scrollbar/scrollbar.component.mjs +6 -6
- package/esm2022/scrollbar/scrollbar.directive.mjs +3 -3
- package/esm2022/scrollbar/scrollbar.module.mjs +4 -4
- package/esm2022/select/select-option.directive.mjs +3 -3
- package/esm2022/select/select.component.mjs +6 -6
- package/esm2022/select/select.module.mjs +4 -4
- package/esm2022/sidebar/sidebar.component.mjs +9 -9
- package/esm2022/sidebar/sidebar.module.mjs +4 -4
- package/esm2022/sidepanel/sidepanel-container.component.mjs +5 -5
- package/esm2022/sidepanel/sidepanel-directives.mjs +15 -15
- package/esm2022/sidepanel/sidepanel.module.mjs +4 -4
- package/esm2022/sidepanel/sidepanel.service.mjs +3 -3
- package/esm2022/splitter/splitter.component.mjs +14 -14
- package/esm2022/splitter/splitter.module.mjs +4 -4
- package/esm2022/table/table.component.mjs +7 -7
- package/esm2022/table/table.module.mjs +4 -4
- package/esm2022/tabs/paginated-tab-header.mjs +3 -3
- package/esm2022/tabs/tab-body.component.mjs +6 -6
- package/esm2022/tabs/tab-content.directive.mjs +3 -3
- package/esm2022/tabs/tab-group.component.mjs +33 -18
- package/esm2022/tabs/tab-header.component.mjs +16 -5
- package/esm2022/tabs/tab-label-wrapper.directive.mjs +8 -4
- package/esm2022/tabs/tab-label.directive.mjs +3 -3
- package/esm2022/tabs/tab-nav-bar/tab-nav-bar.mjs +7 -7
- package/esm2022/tabs/tab.component.mjs +3 -3
- package/esm2022/tabs/tabs.module.mjs +15 -8
- package/esm2022/tags/tag-input.mjs +3 -3
- package/esm2022/tags/tag-list.component.mjs +4 -4
- package/esm2022/tags/tag.component.mjs +13 -13
- package/esm2022/tags/tag.module.mjs +4 -4
- package/esm2022/textarea/textarea.component.mjs +3 -3
- package/esm2022/textarea/textarea.module.mjs +4 -4
- package/esm2022/timepicker/timepicker.directive.mjs +3 -3
- package/esm2022/timepicker/timepicker.module.mjs +4 -4
- package/esm2022/timezone/cities-by-filter.pipe.mjs +3 -3
- package/esm2022/timezone/timezone-option.component.mjs +5 -5
- package/esm2022/timezone/timezone-option.directive.mjs +3 -3
- package/esm2022/timezone/timezone-select.component.mjs +8 -8
- package/esm2022/timezone/timezone.module.mjs +4 -4
- package/esm2022/timezone/utc-offset.pipe.mjs +3 -3
- package/esm2022/title/title.directive.mjs +3 -3
- package/esm2022/title/title.module.mjs +4 -4
- package/esm2022/toast/toast-container.component.mjs +4 -4
- package/esm2022/toast/toast.component.mjs +8 -8
- package/esm2022/toast/toast.module.mjs +4 -4
- package/esm2022/toast/toast.service.mjs +3 -3
- package/esm2022/toggle/toggle.component.mjs +6 -6
- package/esm2022/toggle/toggle.module.mjs +4 -4
- package/esm2022/tooltip/tooltip.component.mjs +52 -15
- package/esm2022/tooltip/tooltip.module.mjs +15 -28
- package/esm2022/tree/node.mjs +3 -3
- package/esm2022/tree/outlet.mjs +3 -3
- package/esm2022/tree/padding.directive.mjs +3 -3
- package/esm2022/tree/toggle.mjs +11 -11
- package/esm2022/tree/tree-base.mjs +6 -6
- package/esm2022/tree/tree-option.component.mjs +8 -7
- package/esm2022/tree/tree-selection.component.mjs +5 -5
- package/esm2022/tree/tree.mjs +5 -5
- package/esm2022/tree/tree.module.mjs +4 -4
- package/esm2022/tree-select/tree-select.component.mjs +15 -8
- package/esm2022/tree-select/tree-select.module.mjs +4 -4
- package/fesm2022/koobiq-components-accordion.mjs +189 -0
- package/fesm2022/koobiq-components-accordion.mjs.map +1 -0
- package/fesm2022/koobiq-components-alert.mjs +17 -17
- package/fesm2022/koobiq-components-alert.mjs.map +1 -1
- package/fesm2022/koobiq-components-autocomplete.mjs +15 -15
- package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
- package/fesm2022/koobiq-components-badge.mjs +14 -14
- package/fesm2022/koobiq-components-badge.mjs.map +1 -1
- package/fesm2022/koobiq-components-button-toggle.mjs +12 -12
- package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
- package/fesm2022/koobiq-components-button.mjs +48 -18
- package/fesm2022/koobiq-components-button.mjs.map +1 -1
- package/fesm2022/koobiq-components-checkbox.mjs +11 -11
- package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
- package/fesm2022/koobiq-components-code-block.mjs +12 -12
- package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
- package/fesm2022/koobiq-components-core.mjs +169 -160
- package/fesm2022/koobiq-components-core.mjs.map +1 -1
- package/fesm2022/koobiq-components-datepicker.mjs +39 -39
- package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
- package/fesm2022/koobiq-components-divider.mjs +8 -8
- package/fesm2022/koobiq-components-divider.mjs.map +1 -1
- package/fesm2022/koobiq-components-dl.mjs +14 -14
- package/fesm2022/koobiq-components-dl.mjs.map +1 -1
- package/fesm2022/koobiq-components-dropdown.mjs +20 -20
- package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
- package/fesm2022/koobiq-components-ellipsis-center.mjs +7 -7
- package/fesm2022/koobiq-components-empty-state.mjs +20 -20
- package/fesm2022/koobiq-components-empty-state.mjs.map +1 -1
- package/fesm2022/koobiq-components-file-upload.mjs +15 -15
- package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
- package/fesm2022/koobiq-components-form-field.mjs +48 -48
- package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
- package/fesm2022/koobiq-components-icon.mjs +27 -38
- package/fesm2022/koobiq-components-icon.mjs.map +1 -1
- package/fesm2022/koobiq-components-input.mjs +24 -24
- package/fesm2022/koobiq-components-input.mjs.map +1 -1
- package/fesm2022/koobiq-components-link.mjs +7 -7
- package/fesm2022/koobiq-components-list.mjs +22 -22
- package/fesm2022/koobiq-components-list.mjs.map +1 -1
- package/fesm2022/koobiq-components-loader-overlay.mjs +17 -17
- package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
- package/fesm2022/koobiq-components-markdown.mjs +12 -12
- package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
- package/fesm2022/koobiq-components-modal.mjs +66 -36
- package/fesm2022/koobiq-components-modal.mjs.map +1 -1
- package/fesm2022/koobiq-components-navbar.mjs +49 -49
- package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
- package/fesm2022/koobiq-components-popover.mjs +18 -18
- package/fesm2022/koobiq-components-popover.mjs.map +1 -1
- package/fesm2022/koobiq-components-progress-bar.mjs +14 -14
- package/fesm2022/koobiq-components-progress-bar.mjs.map +1 -1
- package/fesm2022/koobiq-components-progress-spinner.mjs +14 -14
- package/fesm2022/koobiq-components-progress-spinner.mjs.map +1 -1
- package/fesm2022/koobiq-components-radio.mjs +11 -11
- package/fesm2022/koobiq-components-radio.mjs.map +1 -1
- package/fesm2022/koobiq-components-risk-level.mjs +8 -8
- package/fesm2022/koobiq-components-risk-level.mjs.map +1 -1
- package/fesm2022/koobiq-components-scrollbar.mjs +12 -12
- package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -1
- package/fesm2022/koobiq-components-select.mjs +12 -12
- package/fesm2022/koobiq-components-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-sidebar.mjs +13 -13
- package/fesm2022/koobiq-components-sidepanel.mjs +26 -26
- package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
- package/fesm2022/koobiq-components-splitter.mjs +17 -17
- package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
- package/fesm2022/koobiq-components-table.mjs +11 -11
- package/fesm2022/koobiq-components-table.mjs.map +1 -1
- package/fesm2022/koobiq-components-tabs.mjs +93 -56
- package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
- package/fesm2022/koobiq-components-tags.mjs +24 -24
- package/fesm2022/koobiq-components-tags.mjs.map +1 -1
- package/fesm2022/koobiq-components-textarea.mjs +7 -7
- package/fesm2022/koobiq-components-timepicker.mjs +7 -7
- package/fesm2022/koobiq-components-timezone.mjs +26 -26
- package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
- package/fesm2022/koobiq-components-title.mjs +7 -7
- package/fesm2022/koobiq-components-toast.mjs +18 -18
- package/fesm2022/koobiq-components-toast.mjs.map +1 -1
- package/fesm2022/koobiq-components-toggle.mjs +9 -9
- package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
- package/fesm2022/koobiq-components-tooltip.mjs +67 -42
- package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree-select.mjs +18 -11
- package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree.mjs +47 -46
- package/fesm2022/koobiq-components-tree.mjs.map +1 -1
- package/file-upload/_file-upload-theme.scss +27 -29
- package/file-upload/file-upload-tokens.scss +1 -1
- package/file-upload/multiple-file-upload.component.scss +26 -26
- package/file-upload/single-file-upload.component.scss +8 -8
- package/form-field/_form-field-theme.scss +14 -14
- package/form-field/_hint-theme.scss +2 -2
- package/form-field/cleaner.scss +2 -2
- package/form-field/form-field.scss +10 -10
- package/form-field/hint.scss +4 -4
- package/form-field/password-toggle.scss +2 -2
- package/form-field/stepper.scss +3 -3
- package/icon/_icon-button-theme.scss +26 -26
- package/icon/_icon-item-theme.scss +2 -2
- package/icon/_icon-theme.scss +6 -6
- package/icon/icon-button.component.d.ts +1 -1
- package/icon/icon-button.scss +2 -4
- package/icon/icon-item.component.d.ts +1 -1
- package/icon/icon-item.scss +2 -4
- package/icon/icon.component.d.ts +1 -1
- package/icon/icon.module.d.ts +1 -3
- package/input/input-number.d.ts +1 -1
- package/input/input.d.ts +1 -1
- package/input/input.scss +2 -2
- package/link/_link-theme.scss +11 -11
- package/link/link-tokens.scss +2 -2
- package/list/_list-theme.scss +6 -6
- package/list/list.scss +1 -1
- package/loader-overlay/_loader-overlay-theme.scss +6 -6
- package/loader-overlay/loader-overlay.scss +8 -8
- package/markdown/_markdown-theme.scss +27 -27
- package/markdown/markdown-tokens.scss +19 -19
- package/markdown/markdown.scss +29 -29
- package/modal/_modal-confirm.scss +1 -1
- package/modal/_modal-theme.scss +9 -12
- package/modal/modal.directive.d.ts +3 -0
- package/modal/modal.scss +12 -13
- package/navbar/_navbar-item_horizontal.scss +20 -20
- package/navbar/_navbar-item_vertical.scss +28 -28
- package/navbar/_navbar-theme.scss +8 -8
- package/navbar/navbar-brand.scss +23 -23
- package/navbar/navbar-divider.scss +3 -3
- package/navbar/navbar-item.scss +6 -6
- package/navbar/navbar.scss +1 -1
- package/navbar/vertical-navbar.scss +2 -2
- package/package.json +13 -6
- package/popover/_popover-theme.scss +7 -7
- package/popover/popover.scss +17 -18
- package/prebuilt-themes/dark-theme.css +1 -1
- package/prebuilt-themes/light-theme.css +1 -1
- package/prebuilt-themes/theme.css +1 -1
- package/progress-bar/_progress-bar-theme.scss +4 -4
- package/progress-bar/progress-bar.scss +5 -5
- package/progress-spinner/_progress-spinner-theme.scss +3 -3
- package/progress-spinner/progress-spinner.scss +7 -7
- package/radio/_radio-theme.scss +9 -9
- package/radio/radio.scss +14 -14
- package/risk-level/_risk-level-theme.scss +5 -5
- package/risk-level/risk-level.component.scss +3 -3
- package/schematics/ng-add/index.js +22 -5
- package/scrollbar/_scrollbar-component-theme.scss +12 -12
- package/scrollbar/scrollbar.component.scss +6 -6
- package/select/_select-theme.scss +9 -9
- package/select/select.scss +2 -2
- package/sidepanel/_sidepanel-theme.scss +4 -4
- package/sidepanel/sidepanel.scss +14 -16
- package/splitter/_splitter-theme.scss +1 -1
- package/table/_table-theme.scss +5 -5
- package/table/table.scss +12 -12
- package/tabs/_tabs-common.scss +32 -3
- package/tabs/_tabs-theme.scss +24 -12
- package/tabs/tab-group.component.d.ts +7 -2
- package/tabs/tab-group.scss +1 -1
- package/tabs/tab-header.component.d.ts +4 -1
- package/tabs/tab-header.scss +29 -0
- package/tabs/tab-nav-bar/tab-nav-bar.scss +1 -1
- package/tabs/tabs.module.d.ts +2 -1
- package/tags/_tag-theme.scss +5 -5
- package/tags/tag-list.scss +5 -5
- package/tags/tag.scss +4 -4
- package/textarea/textarea.scss +2 -2
- package/timepicker/timepicker.scss +1 -1
- package/timezone/_timezone-option-theme.scss +3 -3
- package/timezone/timezone-option-tokens.scss +24 -0
- package/timezone/timezone-option.component.scss +4 -4
- package/timezone/timezone-select.component.scss +1 -1
- package/toast/_toast-theme.scss +4 -4
- package/toast/toast-container.component.scss +3 -3
- package/toast/toast.component.scss +21 -21
- package/toggle/_toggle-theme.scss +8 -8
- package/toggle/toggle.scss +8 -8
- package/tooltip/_tooltip-theme.scss +5 -5
- package/tooltip/tooltip.component.d.ts +11 -4
- package/tooltip/tooltip.module.d.ts +1 -3
- package/tooltip/tooltip.scss +7 -7
- package/tree/_tree-theme.scss +6 -6
- package/tree/toggle.scss +2 -2
- package/tree/tree-option.component.d.ts +1 -0
- package/tree/tree-option.scss +4 -4
- package/tree-select/_tree-select-theme.scss +7 -7
- package/tree-select/tree-select.component.d.ts +2 -0
|
@@ -10,18 +10,18 @@ export class KbqIconItem extends KbqIcon {
|
|
|
10
10
|
this.fade = false;
|
|
11
11
|
this.big = false;
|
|
12
12
|
}
|
|
13
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
14
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.
|
|
13
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqIconItem, deps: [{ token: i0.ElementRef }, { token: 'kbq-icon-item', attribute: true }, { token: KBQ_FORM_FIELD_REF, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
14
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.6", type: KbqIconItem, isStandalone: true, selector: "[kbq-icon-item]", inputs: { color: "color", fade: "fade", big: "big" }, host: { properties: { "class.kbq-icon-item_normal": "!big", "class.kbq-icon-item_big": "big", "class.kbq-icon-item_fade-off": "!fade", "class.kbq-icon-item_fade-on": "fade" }, classAttribute: "kbq kbq-icon kbq-icon-item kbq-icon-item_filled" }, usesInheritance: true, ngImport: i0, template: '<ng-content />', isInline: true, styles: [".kbq-icon-item{box-sizing:border-box;border-radius:50%}.kbq-icon-item.kbq-icon-item_normal{padding:var(--kbq-icon-item-size-normal-vertical-padding) var(--kbq-icon-item-size-normal-horizontal-padding)}.kbq-icon-item.kbq-icon-item_big{padding:var(--kbq-icon-item-size-big-vertical-padding) var(--kbq-icon-item-size-big-horizontal-padding)}.kbq-icon-item.kbq-icon-item_filled.kbq-icon-item_fade-off.kbq-theme{color:var(--kbq-icon-item-filled-fade-off-theme-color);background:var(--kbq-icon-item-filled-fade-off-theme-background)}.kbq-icon-item.kbq-icon-item_filled.kbq-icon-item_fade-off.kbq-contrast{color:var(--kbq-icon-item-filled-fade-off-contrast-color);background:var(--kbq-icon-item-filled-fade-off-contrast-background)}.kbq-icon-item.kbq-icon-item_filled.kbq-icon-item_fade-off.kbq-error{color:var(--kbq-icon-item-filled-fade-off-error-color);background:var(--kbq-icon-item-filled-fade-off-error-background)}.kbq-icon-item.kbq-icon-item_filled.kbq-icon-item_fade-off.kbq-warning{color:var(--kbq-icon-item-filled-fade-off-warning-color);background:var(--kbq-icon-item-filled-fade-off-warning-background)}.kbq-icon-item.kbq-icon-item_filled.kbq-icon-item_fade-off.kbq-success{color:var(--kbq-icon-item-filled-fade-off-success-color);background:var(--kbq-icon-item-filled-fade-off-success-background)}.kbq-icon-item.kbq-icon-item_filled.kbq-icon-item_fade-on.kbq-theme{color:var(--kbq-icon-item-filled-fade-on-theme-color);background:var(--kbq-icon-item-filled-fade-on-theme-background)}.kbq-icon-item.kbq-icon-item_filled.kbq-icon-item_fade-on.kbq-contrast{color:var(--kbq-icon-item-filled-fade-on-contrast-color);background:var(--kbq-icon-item-filled-fade-on-contrast-background)}.kbq-icon-item.kbq-icon-item_filled.kbq-icon-item_fade-on.kbq-error{color:var(--kbq-icon-item-filled-fade-on-error-color);background:var(--kbq-icon-item-filled-fade-on-error-background)}.kbq-icon-item.kbq-icon-item_filled.kbq-icon-item_fade-on.kbq-warning{color:var(--kbq-icon-item-filled-fade-on-warning-color);background:var(--kbq-icon-item-filled-fade-on-warning-background)}.kbq-icon-item.kbq-icon-item_filled.kbq-icon-item_fade-on.kbq-success{color:var(--kbq-icon-item-filled-fade-on-success-color);background:var(--kbq-icon-item-filled-fade-on-success-background)}\n", ".kbq-icon-item{--kbq-icon-item-size-normal-horizontal-padding: var(--kbq-size-s);--kbq-icon-item-size-normal-vertical-padding: var(--kbq-size-s);--kbq-icon-item-size-big-horizontal-padding: var(--kbq-size-l);--kbq-icon-item-size-big-vertical-padding: var(--kbq-size-l)}:where(.kbq-light,.theme-light,.kbq-theme-light){--kbq-icon-item-filled-fade-off-theme-color: var(--kbq-icon-white);--kbq-icon-item-filled-fade-off-theme-background: var(--kbq-background-theme);--kbq-icon-item-filled-fade-off-contrast-color: var(--kbq-icon-on-contrast);--kbq-icon-item-filled-fade-off-contrast-background: var(--kbq-background-contrast);--kbq-icon-item-filled-fade-off-error-color: var(--kbq-icon-white);--kbq-icon-item-filled-fade-off-error-background: var(--kbq-background-error);--kbq-icon-item-filled-fade-off-warning-color: var(--kbq-icon-white);--kbq-icon-item-filled-fade-off-warning-background: var(--kbq-background-warning);--kbq-icon-item-filled-fade-off-success-color: var(--kbq-icon-white);--kbq-icon-item-filled-fade-off-success-background: var(--kbq-background-success);--kbq-icon-item-filled-fade-on-theme-color: var(--kbq-icon-theme);--kbq-icon-item-filled-fade-on-theme-background: var(--kbq-background-theme-fade);--kbq-icon-item-filled-fade-on-contrast-color: var(--kbq-icon-contrast);--kbq-icon-item-filled-fade-on-contrast-background: var(--kbq-background-contrast-fade);--kbq-icon-item-filled-fade-on-error-color: var(--kbq-icon-error);--kbq-icon-item-filled-fade-on-error-background: var(--kbq-background-error-fade);--kbq-icon-item-filled-fade-on-warning-color: var(--kbq-icon-warning);--kbq-icon-item-filled-fade-on-warning-background: var(--kbq-background-warning-fade);--kbq-icon-item-filled-fade-on-success-color: var(--kbq-icon-success);--kbq-icon-item-filled-fade-on-success-background: var(--kbq-background-success-fade)}:where(.kbq-dark,.theme-dark,.kbq-theme-dark){--kbq-icon-item-filled-fade-off-theme-color: var(--kbq-icon-white);--kbq-icon-item-filled-fade-off-theme-background: var(--kbq-background-theme);--kbq-icon-item-filled-fade-off-contrast-color: var(--kbq-icon-on-contrast);--kbq-icon-item-filled-fade-off-contrast-background: var(--kbq-background-contrast);--kbq-icon-item-filled-fade-off-error-color: var(--kbq-icon-white);--kbq-icon-item-filled-fade-off-error-background: var(--kbq-background-error);--kbq-icon-item-filled-fade-off-warning-color: var(--kbq-icon-white);--kbq-icon-item-filled-fade-off-warning-background: var(--kbq-background-warning);--kbq-icon-item-filled-fade-off-success-color: var(--kbq-icon-white);--kbq-icon-item-filled-fade-off-success-background: var(--kbq-background-success);--kbq-icon-item-filled-fade-on-theme-color: var(--kbq-icon-theme);--kbq-icon-item-filled-fade-on-theme-background: var(--kbq-background-theme-fade);--kbq-icon-item-filled-fade-on-contrast-color: var(--kbq-icon-contrast);--kbq-icon-item-filled-fade-on-contrast-background: var(--kbq-background-contrast-fade);--kbq-icon-item-filled-fade-on-error-color: var(--kbq-icon-error);--kbq-icon-item-filled-fade-on-error-background: var(--kbq-background-error-fade);--kbq-icon-item-filled-fade-on-warning-color: var(--kbq-icon-warning);--kbq-icon-item-filled-fade-on-warning-background: var(--kbq-background-warning-fade);--kbq-icon-item-filled-fade-on-success-color: var(--kbq-icon-success);--kbq-icon-item-filled-fade-on-success-background: var(--kbq-background-success-fade)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
15
15
|
}
|
|
16
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqIconItem, decorators: [{
|
|
17
17
|
type: Component,
|
|
18
|
-
args: [{ selector: `[kbq-icon-item]`, template: '<ng-content />', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, inputs: ['color'], host: {
|
|
18
|
+
args: [{ standalone: true, selector: `[kbq-icon-item]`, template: '<ng-content />', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, inputs: ['color'], host: {
|
|
19
19
|
class: 'kbq kbq-icon kbq-icon-item kbq-icon-item_filled',
|
|
20
20
|
'[class.kbq-icon-item_normal]': '!big',
|
|
21
21
|
'[class.kbq-icon-item_big]': 'big',
|
|
22
22
|
'[class.kbq-icon-item_fade-off]': '!fade',
|
|
23
23
|
'[class.kbq-icon-item_fade-on]': 'fade'
|
|
24
|
-
}, styles: [".kbq-icon-item{box-sizing:border-box;border-radius:50%}.kbq-icon-item.kbq-icon-item_normal{padding:var(--kbq-icon-item-size-normal-vertical-padding
|
|
24
|
+
}, styles: [".kbq-icon-item{box-sizing:border-box;border-radius:50%}.kbq-icon-item.kbq-icon-item_normal{padding:var(--kbq-icon-item-size-normal-vertical-padding) var(--kbq-icon-item-size-normal-horizontal-padding)}.kbq-icon-item.kbq-icon-item_big{padding:var(--kbq-icon-item-size-big-vertical-padding) var(--kbq-icon-item-size-big-horizontal-padding)}.kbq-icon-item.kbq-icon-item_filled.kbq-icon-item_fade-off.kbq-theme{color:var(--kbq-icon-item-filled-fade-off-theme-color);background:var(--kbq-icon-item-filled-fade-off-theme-background)}.kbq-icon-item.kbq-icon-item_filled.kbq-icon-item_fade-off.kbq-contrast{color:var(--kbq-icon-item-filled-fade-off-contrast-color);background:var(--kbq-icon-item-filled-fade-off-contrast-background)}.kbq-icon-item.kbq-icon-item_filled.kbq-icon-item_fade-off.kbq-error{color:var(--kbq-icon-item-filled-fade-off-error-color);background:var(--kbq-icon-item-filled-fade-off-error-background)}.kbq-icon-item.kbq-icon-item_filled.kbq-icon-item_fade-off.kbq-warning{color:var(--kbq-icon-item-filled-fade-off-warning-color);background:var(--kbq-icon-item-filled-fade-off-warning-background)}.kbq-icon-item.kbq-icon-item_filled.kbq-icon-item_fade-off.kbq-success{color:var(--kbq-icon-item-filled-fade-off-success-color);background:var(--kbq-icon-item-filled-fade-off-success-background)}.kbq-icon-item.kbq-icon-item_filled.kbq-icon-item_fade-on.kbq-theme{color:var(--kbq-icon-item-filled-fade-on-theme-color);background:var(--kbq-icon-item-filled-fade-on-theme-background)}.kbq-icon-item.kbq-icon-item_filled.kbq-icon-item_fade-on.kbq-contrast{color:var(--kbq-icon-item-filled-fade-on-contrast-color);background:var(--kbq-icon-item-filled-fade-on-contrast-background)}.kbq-icon-item.kbq-icon-item_filled.kbq-icon-item_fade-on.kbq-error{color:var(--kbq-icon-item-filled-fade-on-error-color);background:var(--kbq-icon-item-filled-fade-on-error-background)}.kbq-icon-item.kbq-icon-item_filled.kbq-icon-item_fade-on.kbq-warning{color:var(--kbq-icon-item-filled-fade-on-warning-color);background:var(--kbq-icon-item-filled-fade-on-warning-background)}.kbq-icon-item.kbq-icon-item_filled.kbq-icon-item_fade-on.kbq-success{color:var(--kbq-icon-item-filled-fade-on-success-color);background:var(--kbq-icon-item-filled-fade-on-success-background)}\n", ".kbq-icon-item{--kbq-icon-item-size-normal-horizontal-padding: var(--kbq-size-s);--kbq-icon-item-size-normal-vertical-padding: var(--kbq-size-s);--kbq-icon-item-size-big-horizontal-padding: var(--kbq-size-l);--kbq-icon-item-size-big-vertical-padding: var(--kbq-size-l)}:where(.kbq-light,.theme-light,.kbq-theme-light){--kbq-icon-item-filled-fade-off-theme-color: var(--kbq-icon-white);--kbq-icon-item-filled-fade-off-theme-background: var(--kbq-background-theme);--kbq-icon-item-filled-fade-off-contrast-color: var(--kbq-icon-on-contrast);--kbq-icon-item-filled-fade-off-contrast-background: var(--kbq-background-contrast);--kbq-icon-item-filled-fade-off-error-color: var(--kbq-icon-white);--kbq-icon-item-filled-fade-off-error-background: var(--kbq-background-error);--kbq-icon-item-filled-fade-off-warning-color: var(--kbq-icon-white);--kbq-icon-item-filled-fade-off-warning-background: var(--kbq-background-warning);--kbq-icon-item-filled-fade-off-success-color: var(--kbq-icon-white);--kbq-icon-item-filled-fade-off-success-background: var(--kbq-background-success);--kbq-icon-item-filled-fade-on-theme-color: var(--kbq-icon-theme);--kbq-icon-item-filled-fade-on-theme-background: var(--kbq-background-theme-fade);--kbq-icon-item-filled-fade-on-contrast-color: var(--kbq-icon-contrast);--kbq-icon-item-filled-fade-on-contrast-background: var(--kbq-background-contrast-fade);--kbq-icon-item-filled-fade-on-error-color: var(--kbq-icon-error);--kbq-icon-item-filled-fade-on-error-background: var(--kbq-background-error-fade);--kbq-icon-item-filled-fade-on-warning-color: var(--kbq-icon-warning);--kbq-icon-item-filled-fade-on-warning-background: var(--kbq-background-warning-fade);--kbq-icon-item-filled-fade-on-success-color: var(--kbq-icon-success);--kbq-icon-item-filled-fade-on-success-background: var(--kbq-background-success-fade)}:where(.kbq-dark,.theme-dark,.kbq-theme-dark){--kbq-icon-item-filled-fade-off-theme-color: var(--kbq-icon-white);--kbq-icon-item-filled-fade-off-theme-background: var(--kbq-background-theme);--kbq-icon-item-filled-fade-off-contrast-color: var(--kbq-icon-on-contrast);--kbq-icon-item-filled-fade-off-contrast-background: var(--kbq-background-contrast);--kbq-icon-item-filled-fade-off-error-color: var(--kbq-icon-white);--kbq-icon-item-filled-fade-off-error-background: var(--kbq-background-error);--kbq-icon-item-filled-fade-off-warning-color: var(--kbq-icon-white);--kbq-icon-item-filled-fade-off-warning-background: var(--kbq-background-warning);--kbq-icon-item-filled-fade-off-success-color: var(--kbq-icon-white);--kbq-icon-item-filled-fade-off-success-background: var(--kbq-background-success);--kbq-icon-item-filled-fade-on-theme-color: var(--kbq-icon-theme);--kbq-icon-item-filled-fade-on-theme-background: var(--kbq-background-theme-fade);--kbq-icon-item-filled-fade-on-contrast-color: var(--kbq-icon-contrast);--kbq-icon-item-filled-fade-on-contrast-background: var(--kbq-background-contrast-fade);--kbq-icon-item-filled-fade-on-error-color: var(--kbq-icon-error);--kbq-icon-item-filled-fade-on-error-background: var(--kbq-background-error-fade);--kbq-icon-item-filled-fade-on-warning-color: var(--kbq-icon-warning);--kbq-icon-item-filled-fade-on-warning-background: var(--kbq-background-warning-fade);--kbq-icon-item-filled-fade-on-success-color: var(--kbq-icon-success);--kbq-icon-item-filled-fade-on-success-background: var(--kbq-background-success-fade)}\n"] }]
|
|
25
25
|
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: undefined, decorators: [{
|
|
26
26
|
type: Attribute,
|
|
27
27
|
args: ['kbq-icon-item']
|
|
@@ -35,4 +35,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
|
|
|
35
35
|
}], big: [{
|
|
36
36
|
type: Input
|
|
37
37
|
}] } });
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvaWNvbi9pY29uLWl0ZW0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUNSLGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQVksa0JBQWtCLEVBQW1CLE1BQU0seUJBQXlCLENBQUM7QUFDeEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQWtCM0MsTUFBTSxPQUFPLFdBQVksU0FBUSxPQUFPO0lBTXBDLFlBQ0ksVUFBc0IsRUFDTSxRQUFnQixFQUNKLFNBQTBCLEVBQ3hELGlCQUFvQztRQUU5QyxLQUFLLENBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztRQUZoRCxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBVHpDLFNBQUksR0FBRyxhQUFhLENBQUM7UUFFckIsU0FBSSxHQUFZLEtBQUssQ0FBQztRQUN0QixRQUFHLEdBQVksS0FBSyxDQUFDO0lBUzlCLENBQUM7aUlBYlEsV0FBVyw0Q0FRTCxlQUFlLDhCQUNOLGtCQUFrQjtxSEFUakMsV0FBVyw2WUFiVixnQkFBZ0I7OzJGQWFqQixXQUFXO2tCQWhCdkIsU0FBUztpQ0FDTSxJQUFJLFlBQ04saUJBQWlCLFlBQ2pCLGdCQUFnQixtQkFFVCx1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLFVBQzdCLENBQUMsT0FBTyxDQUFDLFFBQ1g7d0JBQ0YsS0FBSyxFQUFFLGlEQUFpRDt3QkFDeEQsOEJBQThCLEVBQUUsTUFBTTt3QkFDdEMsMkJBQTJCLEVBQUUsS0FBSzt3QkFDbEMsZ0NBQWdDLEVBQUUsT0FBTzt3QkFDekMsK0JBQStCLEVBQUUsTUFBTTtxQkFDMUM7OzBCQVVJLFNBQVM7MkJBQUMsZUFBZTs7MEJBQ3pCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsa0JBQWtCO3lFQU5qQyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBdHRyaWJ1dGUsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9wdGlvbmFsLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2FuQ29sb3IsIEtCUV9GT1JNX0ZJRUxEX1JFRiwgS2JxRm9ybUZpZWxkUmVmIH0gZnJvbSAnQGtvb2JpcS9jb21wb25lbnRzL2NvcmUnO1xuaW1wb3J0IHsgS2JxSWNvbiB9IGZyb20gJy4vaWNvbi5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiBgW2ticS1pY29uLWl0ZW1dYCxcbiAgICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50IC8+JyxcbiAgICBzdHlsZVVybHM6IFsnaWNvbi1pdGVtLnNjc3MnLCAnaWNvbi1pdGVtLXRva2Vucy5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBpbnB1dHM6IFsnY29sb3InXSxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAna2JxIGticS1pY29uIGticS1pY29uLWl0ZW0ga2JxLWljb24taXRlbV9maWxsZWQnLFxuICAgICAgICAnW2NsYXNzLmticS1pY29uLWl0ZW1fbm9ybWFsXSc6ICchYmlnJyxcbiAgICAgICAgJ1tjbGFzcy5rYnEtaWNvbi1pdGVtX2JpZ10nOiAnYmlnJyxcbiAgICAgICAgJ1tjbGFzcy5rYnEtaWNvbi1pdGVtX2ZhZGUtb2ZmXSc6ICchZmFkZScsXG4gICAgICAgICdbY2xhc3Mua2JxLWljb24taXRlbV9mYWRlLW9uXSc6ICdmYWRlJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgS2JxSWNvbkl0ZW0gZXh0ZW5kcyBLYnFJY29uIGltcGxlbWVudHMgQ2FuQ29sb3Ige1xuICAgIG92ZXJyaWRlIG5hbWUgPSAnS2JxSWNvbkl0ZW0nO1xuXG4gICAgQElucHV0KCkgZmFkZTogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGJpZzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIEBBdHRyaWJ1dGUoJ2ticS1pY29uLWl0ZW0nKSBpY29uTmFtZTogc3RyaW5nLFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEtCUV9GT1JNX0ZJRUxEX1JFRikgZm9ybUZpZWxkOiBLYnFGb3JtRmllbGRSZWYsXG4gICAgICAgIHByb3RlY3RlZCBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgICApIHtcbiAgICAgICAgc3VwZXIoZWxlbWVudFJlZiwgaWNvbk5hbWUsIGZvcm1GaWVsZCwgY2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -46,15 +46,15 @@ export class KbqIcon extends KbqIconMixinBase {
|
|
|
46
46
|
}
|
|
47
47
|
this.updateMaxHeight();
|
|
48
48
|
}
|
|
49
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
50
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.
|
|
49
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqIcon, deps: [{ token: i0.ElementRef }, { token: 'kbq-icon', attribute: true }, { token: KBQ_FORM_FIELD_REF, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
50
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.6", type: KbqIcon, isStandalone: true, selector: "[kbq-icon]", inputs: { color: "color", small: "small", autoColor: "autoColor" }, host: { properties: { "class.kbq-error": "color === \"error\" || hasError" }, classAttribute: "kbq kbq-icon" }, usesInheritance: true, ngImport: i0, template: '<ng-content />', isInline: true, styles: [".kbq-icon-rotate_90{transform:rotate(90deg)}.kbq-icon-rotate_180{transform:rotate(180deg)}.kbq-icon-rotate_270{transform:rotate(270deg)}.kbq-icon-flip-h{transform:scaleY(-1)}.kbq-icon-flip-v{transform:scaleX(-1)}.kbq-icon-flip-vh{transform:scale(-1)}.kbq-icon:not(.kbq-icon-button,.kbq-icon-item).kbq-theme{color:var(--kbq-icon-theme-color)}.kbq-icon:not(.kbq-icon-button,.kbq-icon-item).kbq-contrast{color:var(--kbq-icon-contrast-color)}.kbq-icon:not(.kbq-icon-button,.kbq-icon-item).kbq-contrast-fade{color:var(--kbq-icon-fade-contrast-color)}.kbq-icon:not(.kbq-icon-button,.kbq-icon-item).kbq-error{color:var(--kbq-icon-error-color)}.kbq-icon:not(.kbq-icon-button,.kbq-icon-item).kbq-warning{color:var(--kbq-icon-warning-color)}.kbq-icon:not(.kbq-icon-button,.kbq-icon-item).kbq-success{color:var(--kbq-icon-success-color)}\n", ":where(.kbq-light,.theme-light,.kbq-theme-light){--kbq-icon-theme-color: var(--kbq-icon-theme);--kbq-icon-contrast-color: var(--kbq-icon-contrast);--kbq-icon-fade-contrast-color: var(--kbq-icon-contrast-fade);--kbq-icon-error-color: var(--kbq-icon-error);--kbq-icon-success-color: var(--kbq-icon-success);--kbq-icon-warning-color: var(--kbq-icon-warning)}:where(.kbq-dark,.theme-dark,.kbq-theme-dark){--kbq-icon-theme-color: var(--kbq-icon-theme);--kbq-icon-contrast-color: var(--kbq-icon-contrast);--kbq-icon-fade-contrast-color: var(--kbq-icon-contrast-fade);--kbq-icon-error-color: var(--kbq-icon-error);--kbq-icon-success-color: var(--kbq-icon-success);--kbq-icon-warning-color: var(--kbq-icon-warning)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
51
51
|
}
|
|
52
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
52
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqIcon, decorators: [{
|
|
53
53
|
type: Component,
|
|
54
|
-
args: [{ selector: '[kbq-icon]', template: '<ng-content />', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, inputs: ['color'], host: {
|
|
54
|
+
args: [{ standalone: true, selector: '[kbq-icon]', template: '<ng-content />', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, inputs: ['color'], host: {
|
|
55
55
|
class: 'kbq kbq-icon',
|
|
56
56
|
'[class.kbq-error]': 'color === "error" || hasError'
|
|
57
|
-
}, styles: [".kbq-icon-rotate_90{transform:rotate(90deg)}.kbq-icon-rotate_180{transform:rotate(180deg)}.kbq-icon-rotate_270{transform:rotate(270deg)}.kbq-icon-flip-h{transform:scaleY(-1)}.kbq-icon-flip-v{transform:scaleX(-1)}.kbq-icon-flip-vh{transform:scale(-1)}.kbq-icon:not(.kbq-icon-button,.kbq-icon-item).kbq-theme{color:var(--kbq-icon-theme-color
|
|
57
|
+
}, styles: [".kbq-icon-rotate_90{transform:rotate(90deg)}.kbq-icon-rotate_180{transform:rotate(180deg)}.kbq-icon-rotate_270{transform:rotate(270deg)}.kbq-icon-flip-h{transform:scaleY(-1)}.kbq-icon-flip-v{transform:scaleX(-1)}.kbq-icon-flip-vh{transform:scale(-1)}.kbq-icon:not(.kbq-icon-button,.kbq-icon-item).kbq-theme{color:var(--kbq-icon-theme-color)}.kbq-icon:not(.kbq-icon-button,.kbq-icon-item).kbq-contrast{color:var(--kbq-icon-contrast-color)}.kbq-icon:not(.kbq-icon-button,.kbq-icon-item).kbq-contrast-fade{color:var(--kbq-icon-fade-contrast-color)}.kbq-icon:not(.kbq-icon-button,.kbq-icon-item).kbq-error{color:var(--kbq-icon-error-color)}.kbq-icon:not(.kbq-icon-button,.kbq-icon-item).kbq-warning{color:var(--kbq-icon-warning-color)}.kbq-icon:not(.kbq-icon-button,.kbq-icon-item).kbq-success{color:var(--kbq-icon-success-color)}\n", ":where(.kbq-light,.theme-light,.kbq-theme-light){--kbq-icon-theme-color: var(--kbq-icon-theme);--kbq-icon-contrast-color: var(--kbq-icon-contrast);--kbq-icon-fade-contrast-color: var(--kbq-icon-contrast-fade);--kbq-icon-error-color: var(--kbq-icon-error);--kbq-icon-success-color: var(--kbq-icon-success);--kbq-icon-warning-color: var(--kbq-icon-warning)}:where(.kbq-dark,.theme-dark,.kbq-theme-dark){--kbq-icon-theme-color: var(--kbq-icon-theme);--kbq-icon-contrast-color: var(--kbq-icon-contrast);--kbq-icon-fade-contrast-color: var(--kbq-icon-contrast-fade);--kbq-icon-error-color: var(--kbq-icon-error);--kbq-icon-success-color: var(--kbq-icon-success);--kbq-icon-warning-color: var(--kbq-icon-warning)}\n"] }]
|
|
58
58
|
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: undefined, decorators: [{
|
|
59
59
|
type: Attribute,
|
|
60
60
|
args: ['kbq-icon']
|
|
@@ -68,4 +68,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
|
|
|
68
68
|
}], autoColor: [{
|
|
69
69
|
type: Input
|
|
70
70
|
}] } });
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2ljb24vaWNvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILFNBQVMsRUFDVCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBQ1IsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFHSCxrQkFBa0IsRUFDbEIsa0JBQWtCLEVBRWxCLFVBQVUsRUFDYixNQUFNLHlCQUF5QixDQUFDOztBQUVqQyxvQkFBb0I7QUFDcEIsTUFBTSxPQUFPLFdBQVc7SUFDcEIsWUFBbUIsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtJQUFHLENBQUM7Q0FDaEQ7QUFFRCxvQkFBb0I7QUFDcEIsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQXNDLFVBQVUsQ0FDekUsV0FBVyxFQUNYLGtCQUFrQixDQUFDLFlBQVksQ0FDbEMsQ0FBQztBQWVGLE1BQU0sT0FBTyxPQUFRLFNBQVEsZ0JBQWdCO0lBUXpDLFlBQ0ksVUFBc0IsRUFDVyxRQUFnQixFQUNDLFNBQTBCLEVBQ2xFLGlCQUFvQztRQUU5QyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7UUFKZSxhQUFRLEdBQVIsUUFBUSxDQUFRO1FBQ0MsY0FBUyxHQUFULFNBQVMsQ0FBaUI7UUFDbEUsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQVh6QyxVQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ2QsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUUzQixhQUFRLEdBQVksS0FBSyxDQUFDO1FBRWhCLFNBQUksR0FBRyxTQUFTLENBQUM7UUF5Q25CLGdCQUFXLEdBQUcsR0FBRyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUM7WUFFeEQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzFDLENBQUMsQ0FBQztRQW5DRSxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ1gsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbEQsQ0FBQztJQUNMLENBQUM7SUFFRCxjQUFjO1FBQ1YsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQztJQUN6QyxDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUMxQixPQUFPO1FBQ1gsQ0FBQztRQUVELE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXBELElBQUksSUFBSSxFQUFFLENBQUM7WUFDUCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsS0FBSyxDQUFDLFNBQVMsR0FBRyxHQUFHLElBQUksSUFBSSxDQUFDO1FBQ3hELENBQUM7SUFDTCxDQUFDO0lBRUQsa0JBQWtCO1FBQ2QsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7WUFFakUsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3ZCLENBQUM7UUFFRCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDM0IsQ0FBQztpSUE3Q1EsT0FBTyw0Q0FVRCxVQUFVLDhCQUNELGtCQUFrQjtxSEFYakMsT0FBTyxpUkFWTixnQkFBZ0I7OzJGQVVqQixPQUFPO2tCQWJuQixTQUFTO2lDQUNNLElBQUksWUFDTixZQUFZLFlBQ1osZ0JBQWdCLG1CQUVULHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksVUFDN0IsQ0FBQyxPQUFPLENBQUMsUUFDWDt3QkFDRixLQUFLLEVBQUUsY0FBYzt3QkFDckIsbUJBQW1CLEVBQUUsK0JBQStCO3FCQUN2RDs7MEJBWUksU0FBUzsyQkFBQyxVQUFVOzswQkFDcEIsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxrQkFBa0I7eUVBVmpDLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlckNvbnRlbnRJbml0LFxuICAgIEF0dHJpYnV0ZSxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIENhbkNvbG9yLFxuICAgIENhbkNvbG9yQ3RvcixcbiAgICBLQlFfRk9STV9GSUVMRF9SRUYsXG4gICAgS2JxQ29tcG9uZW50Q29sb3JzLFxuICAgIEticUZvcm1GaWVsZFJlZixcbiAgICBtaXhpbkNvbG9yXG59IGZyb20gJ0Brb29iaXEvY29tcG9uZW50cy9jb3JlJztcblxuLyoqIEBkb2NzLXByaXZhdGUgKi9cbmV4cG9ydCBjbGFzcyBLYnFJY29uQmFzZSB7XG4gICAgY29uc3RydWN0b3IocHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHt9XG59XG5cbi8qKiBAZG9jcy1wcml2YXRlICovXG5leHBvcnQgY29uc3QgS2JxSWNvbk1peGluQmFzZTogQ2FuQ29sb3JDdG9yICYgdHlwZW9mIEticUljb25CYXNlID0gbWl4aW5Db2xvcihcbiAgICBLYnFJY29uQmFzZSxcbiAgICBLYnFDb21wb25lbnRDb2xvcnMuQ29udHJhc3RGYWRlXG4pO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnW2ticS1pY29uXScsXG4gICAgdGVtcGxhdGU6ICc8bmctY29udGVudCAvPicsXG4gICAgc3R5bGVVcmxzOiBbJ2ljb24uc2NzcycsICdpY29uLXRva2Vucy5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBpbnB1dHM6IFsnY29sb3InXSxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAna2JxIGticS1pY29uJyxcbiAgICAgICAgJ1tjbGFzcy5rYnEtZXJyb3JdJzogJ2NvbG9yID09PSBcImVycm9yXCIgfHwgaGFzRXJyb3InXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBLYnFJY29uIGV4dGVuZHMgS2JxSWNvbk1peGluQmFzZSBpbXBsZW1lbnRzIENhbkNvbG9yLCBBZnRlckNvbnRlbnRJbml0IHtcbiAgICBASW5wdXQoKSBzbWFsbCA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGF1dG9Db2xvciA9IGZhbHNlO1xuXG4gICAgaGFzRXJyb3I6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIHByb3RlY3RlZCBuYW1lID0gJ0ticUljb24nO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIEBBdHRyaWJ1dGUoJ2ticS1pY29uJykgcHJvdGVjdGVkIGljb25OYW1lOiBzdHJpbmcsXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoS0JRX0ZPUk1fRklFTERfUkVGKSBwcm90ZWN0ZWQgZm9ybUZpZWxkOiBLYnFGb3JtRmllbGRSZWYsXG4gICAgICAgIHByb3RlY3RlZCBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgICApIHtcbiAgICAgICAgc3VwZXIoZWxlbWVudFJlZik7XG5cbiAgICAgICAgaWYgKGljb25OYW1lKSB7XG4gICAgICAgICAgICB0aGlzLmdldEhvc3RFbGVtZW50KCkuY2xhc3NMaXN0LmFkZChpY29uTmFtZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXRIb3N0RWxlbWVudCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgIH1cblxuICAgIHVwZGF0ZU1heEhlaWdodCgpIHtcbiAgICAgICAgaWYgKHRoaXMubmFtZSAhPT0gJ0ticUljb24nKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzaXplID0gcGFyc2VJbnQodGhpcy5pY29uTmFtZT8uc3BsaXQoJ18nKVsxXSk7XG5cbiAgICAgICAgaWYgKHNpemUpIHtcbiAgICAgICAgICAgIHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS5zdHlsZS5tYXhIZWlnaHQgPSBgJHtzaXplfXB4YDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuYXV0b0NvbG9yKSB7XG4gICAgICAgICAgICB0aGlzLmZvcm1GaWVsZC5jb250cm9sPy5zdGF0ZUNoYW5nZXMuc3Vic2NyaWJlKHRoaXMudXBkYXRlU3RhdGUpO1xuXG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVN0YXRlKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVwZGF0ZU1heEhlaWdodCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlU3RhdGUgPSAoKSA9PiB7XG4gICAgICAgIHRoaXMuaGFzRXJyb3IgPSB0aGlzLmZvcm1GaWVsZC5zaG91bGRGb3J3YXJkKCdpbnZhbGlkJyk7XG5cbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9O1xufVxuIl19
|
|
@@ -1,38 +1,27 @@
|
|
|
1
|
-
import { A11yModule } from '@angular/cdk/a11y';
|
|
2
|
-
import { PlatformModule } from '@angular/cdk/platform';
|
|
3
1
|
import { NgModule } from '@angular/core';
|
|
4
2
|
import { KbqIconButton } from './icon-button.component';
|
|
5
3
|
import { KbqIconItem } from './icon-item.component';
|
|
6
4
|
import { KbqIcon } from './icon.component';
|
|
7
5
|
import * as i0 from "@angular/core";
|
|
6
|
+
const COMPONENTS = [
|
|
7
|
+
KbqIcon,
|
|
8
|
+
KbqIconButton,
|
|
9
|
+
KbqIconItem
|
|
10
|
+
];
|
|
8
11
|
export class KbqIconModule {
|
|
9
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
10
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.
|
|
12
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqIconModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
13
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: KbqIconModule, imports: [KbqIcon,
|
|
11
14
|
KbqIconButton,
|
|
12
|
-
KbqIconItem],
|
|
13
|
-
PlatformModule], exports: [KbqIcon,
|
|
15
|
+
KbqIconItem], exports: [KbqIcon,
|
|
14
16
|
KbqIconButton,
|
|
15
17
|
KbqIconItem] }); }
|
|
16
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.
|
|
17
|
-
PlatformModule] }); }
|
|
18
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqIconModule }); }
|
|
18
19
|
}
|
|
19
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
20
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqIconModule, decorators: [{
|
|
20
21
|
type: NgModule,
|
|
21
22
|
args: [{
|
|
22
|
-
imports:
|
|
23
|
-
|
|
24
|
-
PlatformModule
|
|
25
|
-
],
|
|
26
|
-
exports: [
|
|
27
|
-
KbqIcon,
|
|
28
|
-
KbqIconButton,
|
|
29
|
-
KbqIconItem
|
|
30
|
-
],
|
|
31
|
-
declarations: [
|
|
32
|
-
KbqIcon,
|
|
33
|
-
KbqIconButton,
|
|
34
|
-
KbqIconItem
|
|
35
|
-
]
|
|
23
|
+
imports: COMPONENTS,
|
|
24
|
+
exports: COMPONENTS
|
|
36
25
|
}]
|
|
37
26
|
}] });
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2ljb24vaWNvbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFFM0MsTUFBTSxVQUFVLEdBQUc7SUFDZixPQUFPO0lBQ1AsYUFBYTtJQUNiLFdBQVc7Q0FDZCxDQUFDO0FBS0YsTUFBTSxPQUFPLGFBQWE7aUlBQWIsYUFBYTtrSUFBYixhQUFhLFlBUnRCLE9BQU87WUFDUCxhQUFhO1lBQ2IsV0FBVyxhQUZYLE9BQU87WUFDUCxhQUFhO1lBQ2IsV0FBVztrSUFNRixhQUFhOzsyRkFBYixhQUFhO2tCQUp6QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxVQUFVO29CQUNuQixPQUFPLEVBQUUsVUFBVTtpQkFDdEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgS2JxSWNvbkJ1dHRvbiB9IGZyb20gJy4vaWNvbi1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IEticUljb25JdGVtIH0gZnJvbSAnLi9pY29uLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IEticUljb24gfSBmcm9tICcuL2ljb24uY29tcG9uZW50JztcblxuY29uc3QgQ09NUE9ORU5UUyA9IFtcbiAgICBLYnFJY29uLFxuICAgIEticUljb25CdXR0b24sXG4gICAgS2JxSWNvbkl0ZW1cbl07XG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IENPTVBPTkVOVFMsXG4gICAgZXhwb3J0czogQ09NUE9ORU5UU1xufSlcbmV4cG9ydCBjbGFzcyBLYnFJY29uTW9kdWxlIHt9XG4iXX0=
|
|
@@ -28,10 +28,10 @@ export class MinValidator {
|
|
|
28
28
|
createValidator() {
|
|
29
29
|
this.validator = Validators.min(parseInt(this.min, 10));
|
|
30
30
|
}
|
|
31
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
32
|
-
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.
|
|
31
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: MinValidator, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
32
|
+
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.6", type: MinValidator, selector: "[min][formControlName],[min][formControl],[min][ngModel]", inputs: { min: "min" }, host: { properties: { "attr.min": "min ? min : null" } }, providers: [MIN_VALIDATOR], usesOnChanges: true, ngImport: i0 }); }
|
|
33
33
|
}
|
|
34
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: MinValidator, decorators: [{
|
|
35
35
|
type: Directive,
|
|
36
36
|
args: [{
|
|
37
37
|
selector: '[min][formControlName],[min][formControl],[min][ngModel]',
|
|
@@ -70,10 +70,10 @@ export class MaxValidator {
|
|
|
70
70
|
createValidator() {
|
|
71
71
|
this.validator = Validators.max(parseInt(this.max, 10));
|
|
72
72
|
}
|
|
73
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
74
|
-
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.
|
|
73
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: MaxValidator, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
74
|
+
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.6", type: MaxValidator, selector: "[max][formControlName],[max][formControl],[max][ngModel]", inputs: { max: "max" }, host: { properties: { "attr.max": "max ? max : null" } }, providers: [MAX_VALIDATOR], usesOnChanges: true, ngImport: i0 }); }
|
|
75
75
|
}
|
|
76
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
76
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: MaxValidator, decorators: [{
|
|
77
77
|
type: Directive,
|
|
78
78
|
args: [{
|
|
79
79
|
selector: '[max][formControlName],[max][formControl],[max][ngModel]',
|
|
@@ -321,13 +321,13 @@ export class KbqNumberInput {
|
|
|
321
321
|
}
|
|
322
322
|
return numberOutput;
|
|
323
323
|
}
|
|
324
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
325
|
-
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.
|
|
324
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqNumberInput, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: 'step', attribute: true }, { token: 'big-step', attribute: true }, { token: 'min', attribute: true }, { token: 'max', attribute: true }, { token: KBQ_LOCALE_SERVICE, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
325
|
+
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.6", type: KbqNumberInput, selector: "input[kbqNumberInput]", inputs: { bigStep: "bigStep", step: "step", min: "min", max: "max", withThousandSeparator: "withThousandSeparator", startFormattingFrom: "startFormattingFrom", value: "value", disabled: "disabled" }, host: { listeners: { "blur": "focusChanged(false)", "focus": "focusChanged(true)", "paste": "onPaste($event)", "keydown": "onKeyDown($event)", "input": "onInput($event)" } }, providers: [KBQ_NUMBER_INPUT_VALUE_ACCESSOR], exportAs: ["kbqNumericalInput"], ngImport: i0 }); }
|
|
326
326
|
}
|
|
327
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
327
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqNumberInput, decorators: [{
|
|
328
328
|
type: Directive,
|
|
329
329
|
args: [{
|
|
330
|
-
selector: `input[
|
|
330
|
+
selector: `input[kbqNumberInput]`,
|
|
331
331
|
exportAs: 'kbqNumericalInput',
|
|
332
332
|
providers: [KBQ_NUMBER_INPUT_VALUE_ACCESSOR],
|
|
333
333
|
host: {
|
|
@@ -372,4 +372,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
|
|
|
372
372
|
}], disabled: [{
|
|
373
373
|
type: Input
|
|
374
374
|
}] } });
|
|
375
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbnVtYmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9pbnB1dC9pbnB1dC1udW1iZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUQsT0FBTyxFQUVILFNBQVMsRUFDVCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFFTCxRQUFRLEVBQ1IsU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBeUMsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxRixPQUFPLEVBQ0gsQ0FBQyxFQUNELFNBQVMsRUFDVCxDQUFDLEVBQ0QsSUFBSSxFQUNKLE1BQU0sRUFDTixVQUFVLEVBQ1YsR0FBRyxFQUNILEtBQUssRUFDTCxNQUFNLEVBQ04sUUFBUSxFQUNSLElBQUksRUFDSixhQUFhLEVBQ2IsV0FBVyxFQUNYLFdBQVcsRUFDWCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFdBQVcsRUFDWCxHQUFHLEVBQ0gsUUFBUSxFQUNSLENBQUMsRUFDRCxDQUFDLEVBQ0QsQ0FBQyxFQUNKLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFL0UsT0FBTyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7OztBQUU3QyxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsRUFBRSxDQUFDO0FBQzNCLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxDQUFDLENBQUM7QUFFNUIsTUFBTSxVQUFVLGlCQUFpQixDQUFDLEtBQWE7SUFDM0MsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcs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RUQsT0FBTyxZQUFZLENBQUM7SUFDeEIsQ0FBQztpSUE1YVEsY0FBYyxxRUFnSFIsTUFBTSw4QkFDTixVQUFVLDhCQUNWLEtBQUssOEJBQ0wsS0FBSyw4QkFDSSxrQkFBa0I7cUhBcEhqQyxjQUFjLGtiQVRaLENBQUMsK0JBQStCLENBQUM7OzJGQVNuQyxjQUFjO2tCQVoxQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxnQ0FBZ0M7b0JBQzFDLFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFNBQVMsRUFBRSxDQUFDLCtCQUErQixDQUFDO29CQUM1QyxJQUFJLEVBQUU7d0JBQ0YsUUFBUSxFQUFFLHFCQUFxQjt3QkFDL0IsU0FBUyxFQUFFLG9CQUFvQjt3QkFDL0IsU0FBUyxFQUFFLGlCQUFpQjt3QkFDNUIsV0FBVyxFQUFFLG1CQUFtQjt3QkFDaEMsU0FBUyxFQUFFLGlCQUFpQjtxQkFDL0I7aUJBQ0o7OzBCQWlIUSxTQUFTOzJCQUFDLE1BQU07OzBCQUNoQixTQUFTOzJCQUFDLFVBQVU7OzBCQUNwQixTQUFTOzJCQUFDLEtBQUs7OzBCQUNmLFNBQVM7MkJBQUMsS0FBSzs7MEJBQ2YsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxrQkFBa0I7eUNBOUYxQyxPQUFPO3NCQUROLEtBQUs7Z0JBSU4sSUFBSTtzQkFESCxLQUFLO2dCQUlOLEdBQUc7c0JBREYsS0FBSztnQkFJTixHQUFHO3NCQURGLEtBQUs7Z0JBSU4scUJBQXFCO3NCQURwQixLQUFLO2dCQU9OLG1CQUFtQjtzQkFEbEIsS0FBSztnQkFJRixLQUFLO3NCQURSLEtBQUs7Z0JBbUJGLFFBQVE7c0JBRFgsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQXR0cmlidXRlLFxuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBmb3J3YXJkUmVmLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT3B0aW9uYWwsXG4gICAgUmVuZGVyZXIyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICAgIEEsXG4gICAgQkFDS1NQQUNFLFxuICAgIEMsXG4gICAgREFTSCxcbiAgICBERUxFVEUsXG4gICAgRE9XTl9BUlJPVyxcbiAgICBFTkQsXG4gICAgRU5URVIsXG4gICAgRVNDQVBFLFxuICAgIEZGX01JTlVTLFxuICAgIEhPTUUsXG4gICAgaXNGdW5jdGlvbktleSxcbiAgICBpc051bWJlcktleSxcbiAgICBpc051bXBhZEtleSxcbiAgICBMRUZUX0FSUk9XLFxuICAgIE5VTVBBRF9NSU5VUyxcbiAgICBSSUdIVF9BUlJPVyxcbiAgICBUQUIsXG4gICAgVVBfQVJST1csXG4gICAgVixcbiAgICBYLFxuICAgIFpcbn0gZnJvbSAnQGtvb2JpcS9jZGsva2V5Y29kZXMnO1xuaW1wb3J0IHsgS0JRX0xPQ0FMRV9TRVJWSUNFLCBLYnFMb2NhbGVTZXJ2aWNlIH0gZnJvbSAnQGtvb2JpcS9jb21wb25lbnRzL2NvcmUnO1xuaW1wb3J0IHsgS2JxRm9ybUZpZWxkQ29udHJvbCB9IGZyb20gJ0Brb29iaXEvY29tcG9uZW50cy9mb3JtLWZpZWxkJztcbmltcG9ydCB7IFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgY29uc3QgQklHX1NURVAgPSAxMDtcbmV4cG9ydCBjb25zdCBTTUFMTF9TVEVQID0gMTtcblxuZXhwb3J0IGZ1bmN0aW9uIG5vcm1hbGl6ZVNwbGl0dGVyKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB2YWx1ZSA/IHZhbHVlLnJlcGxhY2UoLywvZywgJy4nKSA6IHZhbHVlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNGbG9hdCh2YWx1ZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIC9eLT9cXGQrXFwuXFxkKyQvLnRlc3QodmFsdWUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNJbnQodmFsdWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAvXi0/XFxkKyQvLnRlc3QodmFsdWUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNEaWdpdCh2YWx1ZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlzRmxvYXQodmFsdWUpIHx8IGlzSW50KHZhbHVlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFByZWNpc2lvbih2YWx1ZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBjb25zdCBhcnIgPSB2YWx1ZS50b1N0cmluZygpLnNwbGl0KCcuJyk7XG5cbiAgICByZXR1cm4gYXJyLmxlbmd0aCA9PT0gMSA/IDEgOiBNYXRoLnBvdygxMCwgYXJyWzFdLmxlbmd0aCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhZGQodmFsdWUxOiBudW1iZXIsIHZhbHVlMjogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBjb25zdCBwcmVjaXNpb24gPSBNYXRoLm1heChnZXRQcmVjaXNpb24odmFsdWUxKSwgZ2V0UHJlY2lzaW9uKHZhbHVlMikpO1xuXG4gICAgcmV0dXJuICh2YWx1ZTEgKiBwcmVjaXNpb24gKyB2YWx1ZTIgKiBwcmVjaXNpb24pIC8gcHJlY2lzaW9uO1xufVxuXG5leHBvcnQgY29uc3QgS0JRX05VTUJFUl9JTlBVVF9WQUxVRV9BQ0NFU1NPUjogYW55ID0ge1xuICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEticU51bWJlcklucHV0KSxcbiAgICBtdWx0aTogdHJ1ZVxufTtcblxuaW50ZXJmYWNlIE51bWJlckxvY2FsZUNvbmZpZyB7XG4gICAgZ3JvdXBTZXBhcmF0b3I6IHN0cmluZ1tdO1xuICAgIGZyYWN0aW9uU2VwYXJhdG9yOiBzdHJpbmc7XG4gICAgc3RhcnRGb3JtYXR0aW5nRnJvbT86IG51bWJlcjtcbn1cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6IGBpbnB1dFtrYnFJbnB1dF1bdHlwZT1cIm51bWJlclwiXWAsXG4gICAgZXhwb3J0QXM6ICdrYnFOdW1lcmljYWxJbnB1dCcsXG4gICAgcHJvdmlkZXJzOiBbS0JRX05VTUJFUl9JTlBVVF9WQUxVRV9BQ0NFU1NPUl0sXG4gICAgaG9zdDoge1xuICAgICAgICAnKGJsdXIpJzogJ2ZvY3VzQ2hhbmdlZChmYWxzZSknLFxuICAgICAgICAnKGZvY3VzKSc6ICdmb2N1c0NoYW5nZWQodHJ1ZSknLFxuICAgICAgICAnKHBhc3RlKSc6ICdvblBhc3RlKCRldmVudCknLFxuICAgICAgICAnKGtleWRvd24pJzogJ29uS2V5RG93bigkZXZlbnQpJyxcbiAgICAgICAgJyhpbnB1dCknOiAnb25JbnB1dCgkZXZlbnQpJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgS2JxTnVtYmVySW5wdXQgaW1wbGVtZW50cyBLYnFGb3JtRmllbGRDb250cm9sPGFueT4sIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3kge1xuICAgIC8qKiBFbWl0cyB3aGVuIHRoZSB2YWx1ZSBjaGFuZ2VzIChlaXRoZXIgZHVlIHRvIHVzZXIgaW5wdXQgb3IgcHJvZ3JhbW1hdGljIGNoYW5nZSkuICovXG4gICAgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlciB8IG51bGw+KCk7XG5cbiAgICAvKiogRW1pdHMgd2hlbiB0aGUgZGlzYWJsZWQgc3RhdGUgaGFzIGNoYW5nZWQgKi9cbiAgICBkaXNhYmxlZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIHJlYWRvbmx5IHN0YXRlQ2hhbmdlczogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBpZDogc3RyaW5nO1xuXG4gICAgcGxhY2Vob2xkZXI6IHN0cmluZztcblxuICAgIGVtcHR5OiBib29sZWFuO1xuXG4gICAgcmVxdWlyZWQ6IGJvb2xlYW47XG5cbiAgICBlcnJvclN0YXRlOiBib29sZWFuO1xuXG4gICAgY29udHJvbFR5cGU/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgICBASW5wdXQoKVxuICAgIGJpZ1N0ZXA6IG51bWJlcjtcblxuICAgIEBJbnB1dCgpXG4gICAgc3RlcDogbnVtYmVyO1xuXG4gICAgQElucHV0KClcbiAgICBtaW46IG51bWJlcjtcblxuICAgIEBJbnB1dCgpXG4gICAgbWF4OiBudW1iZXI7XG5cbiAgICBASW5wdXQoKVxuICAgIHdpdGhUaG91c2FuZFNlcGFyYXRvcjogYm9vbGVhbiA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiBJbmNsdWRlIHRob3VzYW5kIHNlcGFyYXRvciBmcm9tIGN1c3RvbSBpbmRleC4gRm9yIGV4YW1wbGUsIGl0IHdpbGwgYmUgdXNlZnVsIGluIHRhYmxlcy5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHN0YXJ0Rm9ybWF0dGluZ0Zyb20/OiBudW1iZXI7XG5cbiAgICBASW5wdXQoKVxuICAgIGdldCB2YWx1ZSgpOiBudW1iZXIgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xuICAgIH1cblxuICAgIHNldCB2YWx1ZSh2YWx1ZTogbnVtYmVyIHwgbnVsbCkge1xuICAgICAgICBjb25zdCBvbGRWYWx1ZSA9IHRoaXMudmFsdWU7XG4gICAgICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XG5cbiAgICAgICAgaWYgKG9sZFZhbHVlICE9PSB2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5zZXRWaWV3VmFsdWUodGhpcy5mb3JtYXROdW1iZXIodmFsdWUpKTtcblxuICAgICAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX3ZhbHVlOiBudW1iZXIgfCBudWxsO1xuXG4gICAgQElucHV0KClcbiAgICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZDtcbiAgICB9XG5cbiAgICBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgY29uc3QgbmV3VmFsdWUgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgICAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5uYXRpdmVFbGVtZW50O1xuXG4gICAgICAgIGlmICh0aGlzLl9kaXNhYmxlZCAhPT0gbmV3VmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuX2Rpc2FibGVkID0gbmV3VmFsdWU7XG4gICAgICAgICAgICB0aGlzLmRpc2FibGVkQ2hhbmdlLmVtaXQobmV3VmFsdWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gV2UgbmVlZCB0byBudWxsIGNoZWNrIHRoZSBgYmx1cmAgbWV0aG9kLCBiZWNhdXNlIGl0J3MgdW5kZWZpbmVkIGR1cmluZyBTU1IuXG4gICAgICAgIGlmIChuZXdWYWx1ZSAmJiBlbGVtZW50LmJsdXIpIHtcbiAgICAgICAgICAgIC8vIE5vcm1hbGx5LCBuYXRpdmUgaW5wdXQgZWxlbWVudHMgYXV0b21hdGljYWxseSBibHVyIGlmIHRoZXkgdHVybiBkaXNhYmxlZC4gVGhpcyBiZWhhdmlvclxuICAgICAgICAgICAgLy8gaXMgcHJvYmxlbWF0aWMsIGJlY2F1c2UgaXQgd291bGQgbWVhbiB0aGF0IGl0IHRyaWdnZXJzIGFub3RoZXIgY2hhbmdlIGRldGVjdGlvbiBjeWNsZSxcbiAgICAgICAgICAgIC8vIHdoaWNoIHRoZW4gY2F1c2VzIGEgY2hhbmdlZCBhZnRlciBjaGVja2VkIGVycm9yIGlmIHRoZSBpbnB1dCBlbGVtZW50IHdhcyBmb2N1c2VkIGJlZm9yZS5cbiAgICAgICAgICAgIGVsZW1lbnQuYmx1cigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIGZvY3VzZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIGdldCBuYXRpdmVFbGVtZW50KCk6IEhUTUxJbnB1dEVsZW1lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgfVxuXG4gICAgZ2V0IHZpZXdWYWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmVFbGVtZW50LnZhbHVlO1xuICAgIH1cblxuICAgIGdldCBuZ0NvbnRyb2woKTogYW55IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udHJvbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbDtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgYWxsTnVtYmVyTG9jYWxlQ29uZmlnczogeyBpZDogc3RyaW5nOyBjb25maWc6IE51bWJlckxvY2FsZUNvbmZpZyB9W107XG5cbiAgICBwcml2YXRlIG51bWJlckxvY2FsZUNvbmZpZzogTnVtYmVyTG9jYWxlQ29uZmlnO1xuXG4gICAgcHJpdmF0ZSB2YWx1ZUZyb21QYXN0ZTogbnVtYmVyIHwgbnVsbDtcblxuICAgIHByaXZhdGUgbG9jYWxlU3Vic2NyaXB0aW9uID0gU3Vic2NyaXB0aW9uLkVNUFRZO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICBAQXR0cmlidXRlKCdzdGVwJykgc3RlcDogc3RyaW5nLFxuICAgICAgICBAQXR0cmlidXRlKCdiaWctc3RlcCcpIGJpZ1N0ZXA6IHN0cmluZyxcbiAgICAgICAgQEF0dHJpYnV0ZSgnbWluJykgbWluOiBzdHJpbmcsXG4gICAgICAgIEBBdHRyaWJ1dGUoJ21heCcpIG1heDogc3RyaW5nLFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEtCUV9MT0NBTEVfU0VSVklDRSkgcHJpdmF0ZSBsb2NhbGVTZXJ2aWNlOiBLYnFMb2NhbGVTZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHRoaXMuc3RlcCA9IGlzRGlnaXQoc3RlcCkgPyBwYXJzZUZsb2F0KHN0ZXApIDogU01BTExfU1RFUDtcbiAgICAgICAgdGhpcy5iaWdTdGVwID0gaXNEaWdpdChiaWdTdGVwKSA/IHBhcnNlRmxvYXQoYmlnU3RlcCkgOiBCSUdfU1RFUDtcbiAgICAgICAgdGhpcy5taW4gPSBpc0RpZ2l0KG1pbikgPyBwYXJzZUZsb2F0KG1pbikgOiAtSW5maW5pdHk7XG4gICAgICAgIHRoaXMubWF4ID0gaXNEaWdpdChtYXgpID8gcGFyc2VGbG9hdChtYXgpIDogSW5maW5pdHk7XG5cbiAgICAgICAgaWYgKCd2YWx1ZUFzTnVtYmVyJyBpbiB0aGlzLm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QuZ2V0UHJvdG90eXBlT2YodGhpcy5uYXRpdmVFbGVtZW50KSwgJ3ZhbHVlQXNOdW1iZXInLCB7XG4gICAgICAgICAgICAgICAgZ2V0KCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCByZXMgPSBwYXJzZUZsb2F0KG5vcm1hbGl6ZVNwbGl0dGVyKHRoaXMudmFsdWUpKTtcblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gaXNOYU4ocmVzKSA/IG51bGwgOiByZXM7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmFsbE51bWJlckxvY2FsZUNvbmZpZ3MgPSB0aGlzLmxvY2FsZVNlcnZpY2U/LmxvY2FsZXMuaXRlbXMubWFwKFxuICAgICAgICAgICAgKGxvY2FsZUl0ZW06IHsgaWQ6IHN0cmluZzsgbmFtZTogc3RyaW5nIH0pID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4geyBpZDogbG9jYWxlSXRlbS5pZCwgY29uZmlnOiB0aGlzLmxvY2FsZVNlcnZpY2UubG9jYWxlc1tsb2NhbGVJdGVtLmlkXS5pbnB1dC5udW1iZXIgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLmxvY2FsZVN1YnNjcmlwdGlvbiA9IHRoaXMubG9jYWxlU2VydmljZT8uY2hhbmdlcy5zdWJzY3JpYmUodGhpcy51cGRhdGVMb2NhbGVQYXJhbXMpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLm5hdGl2ZUVsZW1lbnQsICd0eXBlJywgJ3RleHQnKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5sb2NhbGVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5jb21wbGV0ZSgpO1xuICAgICAgICB0aGlzLmRpc2FibGVkQ2hhbmdlLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgb25Db250YWluZXJDbGljaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5mb2N1cygpO1xuICAgIH1cblxuICAgIGZvY3VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG5cbiAgICAvLyBJbXBsZW1lbnRlZCBhcyBwYXJ0IG9mIENvbnRyb2xWYWx1ZUFjY2Vzc29yLlxuICAgIHdyaXRlVmFsdWUodmFsdWU6IG51bWJlciB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8vIEltcGxlbWVudGVkIGFzIHBhcnQgb2YgQ29udHJvbFZhbHVlQWNjZXNzb3IuXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBhbnkpID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jdmFPbkNoYW5nZSA9IGZuO1xuICAgIH1cblxuICAgIC8vIEltcGxlbWVudGVkIGFzIHBhcnQgb2YgQ29udHJvbFZhbHVlQWNjZXNzb3IuXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgICB9XG5cbiAgICAvLyBJbXBsZW1lbnRlZCBhcyBwYXJ0IG9mIENvbnRyb2xWYWx1ZUFjY2Vzc29yLlxuICAgIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICB9XG5cbiAgICBmb2N1c0NoYW5nZWQoaXNGb2N1c2VkOiBib29sZWFuKSB7XG4gICAgICAgIGlmIChpc0ZvY3VzZWQgIT09IHRoaXMuZm9jdXNlZCkge1xuICAgICAgICAgICAgdGhpcy5mb2N1c2VkID0gaXNGb2N1c2VkO1xuICAgICAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Ub3VjaGVkID0gKCkgPT4ge307XG5cbiAgICBvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgY29uc3Qga2V5Q29kZSA9IGV2ZW50LmtleUNvZGU7XG5cbiAgICAgICAgY29uc3QgaXNDdHJsQSA9IChlKSA9PiBlLmtleUNvZGUgPT09IEEgJiYgKGUuY3RybEtleSB8fCBlLm1ldGFLZXkpO1xuICAgICAgICBjb25zdCBpc0N0cmxDID0gKGUpID0+IGUua2V5Q29kZSA9PT0gQyAmJiAoZS5jdHJsS2V5IHx8IGUubWV0YUtleSk7XG4gICAgICAgIGNvbnN0IGlzQ3RybFYgPSAoZSkgPT4gZS5rZXlDb2RlID09PSBWICYmIChlLmN0cmxLZXkgfHwgZS5tZXRhS2V5KTtcbiAgICAgICAgY29uc3QgaXNDdHJsWCA9IChlKSA9PiBlLmtleUNvZGUgPT09IFggJiYgKGUuY3RybEtleSB8fCBlLm1ldGFLZXkpO1xuICAgICAgICBjb25zdCBpc0N0cmxaID0gKGUpID0+IGUua2V5Q29kZSA9PT0gWiAmJiAoZS5jdHJsS2V5IHx8IGUubWV0YUtleSk7XG5cbiAgICAgICAgY29uc3QgaXNQZXJpb2QgPSAoZSkgPT5cbiAgICAgICAgICAgIHRoaXMubnVtYmVyTG9jYWxlQ29uZmlnLmdyb3VwU2VwYXJhdG9yLmluY2x1ZGVzKGUua2V5KSB8fFxuICAgICAgICAgICAgW3RoaXMubnVtYmVyTG9jYWxlQ29uZmlnLmZyYWN0aW9uU2VwYXJhdG9yLCAnLiddLmluY2x1ZGVzKGUua2V5KTtcblxuICAgICAgICBjb25zdCBtaW51c2VzID0gW05VTVBBRF9NSU5VUywgREFTSCwgRkZfTUlOVVNdO1xuICAgICAgICBjb25zdCBzZXJ2aWNlS2V5cyA9IFtERUxFVEUsIEJBQ0tTUEFDRSwgVEFCLCBFU0NBUEUsIEVOVEVSXTtcbiAgICAgICAgY29uc3QgYXJyb3dzID0gW0xFRlRfQVJST1csIFJJR0hUX0FSUk9XXTtcbiAgICAgICAgY29uc3QgYWxsb3dlZEtleXMgPSBbSE9NRSwgRU5EXS5jb25jYXQoYXJyb3dzKS5jb25jYXQoc2VydmljZUtleXMpLmNvbmNhdChtaW51c2VzKTtcblxuICAgICAgICBpZiAobWludXNlcy5pbmNsdWRlcyhrZXlDb2RlKSAmJiAodGhpcy52aWV3VmFsdWUuaW5jbHVkZXMoZXZlbnQua2V5KSB8fCB0aGlzLm1pbiA+PSAwKSkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGlzUGVyaW9kKGV2ZW50KSkge1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIGV2ZW50LmtleSA9PT0gdGhpcy5udW1iZXJMb2NhbGVDb25maWcuZnJhY3Rpb25TZXBhcmF0b3IgJiZcbiAgICAgICAgICAgICAgICB0aGlzLnZpZXdWYWx1ZS5pbmRleE9mKHRoaXMubnVtYmVyTG9jYWxlQ29uZmlnLmZyYWN0aW9uU2VwYXJhdG9yKSAhPT0gLTFcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoYWxsb3dlZEtleXMuaW5kZXhPZihrZXlDb2RlKSAhPT0gLTEgfHwgW1xuICAgICAgICAgICAgICAgIGlzQ3RybEEsXG4gICAgICAgICAgICAgICAgaXNDdHJsQyxcbiAgICAgICAgICAgICAgICBpc0N0cmxWLFxuICAgICAgICAgICAgICAgIGlzQ3RybFgsXG4gICAgICAgICAgICAgICAgaXNDdHJsWixcbiAgICAgICAgICAgICAgICBpc0Z1bmN0aW9uS2V5LFxuICAgICAgICAgICAgICAgIGlzUGVyaW9kXG4gICAgICAgICAgICBdLnNvbWUoKGZuKSA9PiBmbihldmVudCkpKSB7XG4gICAgICAgICAgICAvLyBsZXQgaXQgaGFwcGVuLCBkb24ndCBkbyBhbnl0aGluZ1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIC8vIEVuc3VyZSB0aGF0IGl0IGlzIG5vdCBhIG51bWJlciBhbmQgc3RvcCB0aGUga2V5cHJlc3NcbiAgICAgICAgaWYgKGV2ZW50LnNoaWZ0S2V5IHx8ICghaXNOdW1iZXJLZXkoZXZlbnQpICYmICFpc051bXBhZEtleShldmVudCkpKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICAgICAgICAvLyBwcm9jZXNzIHN0ZXBzXG4gICAgICAgICAgICBjb25zdCBzdGVwID0gZXZlbnQuc2hpZnRLZXkgPyB0aGlzLmJpZ1N0ZXAgOiB0aGlzLnN0ZXA7XG5cbiAgICAgICAgICAgIGlmIChrZXlDb2RlID09PSBVUF9BUlJPVykge1xuICAgICAgICAgICAgICAgIHRoaXMuc3RlcFVwKHN0ZXApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoa2V5Q29kZSA9PT0gRE9XTl9BUlJPVykge1xuICAgICAgICAgICAgICAgIHRoaXMuc3RlcERvd24oc3RlcCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbklucHV0KGV2ZW50OiBJbnB1dEV2ZW50KSB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRWYWx1ZUxlbmd0aCA9IHRoaXMuZm9ybWF0TnVtYmVyKHRoaXMudmFsdWUpPy5sZW5ndGggfHwgMDtcblxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGZyb21QYXN0ZSA9IGV2ZW50LmlucHV0VHlwZSA9PT0gJ2luc2VydEZyb21QYXN0ZSc7XG4gICAgICAgICAgICBsZXQgZm9ybWF0dGVkVmFsdWU6IHN0cmluZyB8IG51bGw7XG4gICAgICAgICAgICBpZiAoZnJvbVBhc3RlKSB7XG4gICAgICAgICAgICAgICAgZm9ybWF0dGVkVmFsdWUgPSB0aGlzLmZvcm1hdE51bWJlcih0aGlzLnZhbHVlRnJvbVBhc3RlKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgLyp0aGlzLnZpZXdWYWx1ZSBpcyByYXcgYW5kIHNob3VsZCBiZSByZWZvcm1hdHRlZCB0byBsb2NhbGl6ZWQgbnVtYmVyICovXG4gICAgICAgICAgICAgICAgZm9ybWF0dGVkVmFsdWUgPSB0aGlzLmZvcm1hdFZpZXdWYWx1ZSgpO1xuXG4gICAgICAgICAgICAgICAgY29uc3Qgb2Zmc2V0V2hlblNlcGFyYXRvckFkZGVkID0gMjtcblxuICAgICAgICAgICAgICAgIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoTWF0aC5hYnModGhpcy52aWV3VmFsdWUubGVuZ3RoIC0gY3VycmVudFZhbHVlTGVuZ3RoKSA9PT0gb2Zmc2V0V2hlblNlcGFyYXRvckFkZGVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjdXJzb3JQb3NpdGlvbiA9IE1hdGgubWF4KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKHRoaXMubmF0aXZlRWxlbWVudC5zZWxlY3Rpb25TdGFydCB8fCAwKSArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1hdGguc2lnbih0aGlzLnZpZXdWYWx1ZS5sZW5ndGggLSBjdXJyZW50VmFsdWVMZW5ndGgpXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMubmF0aXZlRWxlbWVudCwgJ3NlbGVjdGlvblN0YXJ0JywgY3Vyc29yUG9zaXRpb24pO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLm5hdGl2ZUVsZW1lbnQsICdzZWxlY3Rpb25FbmQnLCBjdXJzb3JQb3NpdGlvbik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuc2V0Vmlld1ZhbHVlKGZvcm1hdHRlZFZhbHVlLCAhZnJvbVBhc3RlKTtcbiAgICAgICAgICAgIHRoaXMudmlld1RvTW9kZWxVcGRhdGUoZm9ybWF0dGVkVmFsdWUpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvblBhc3RlKGV2ZW50OiBDbGlwYm9hcmRFdmVudCkge1xuICAgICAgICB0aGlzLnZhbHVlRnJvbVBhc3RlID0gdGhpcy5jaGVja0FuZE5vcm1hbGl6ZUxvY2FsaXplZE51bWJlcihldmVudC5jbGlwYm9hcmREYXRhPy5nZXREYXRhKCd0ZXh0JykpO1xuICAgICAgICBpZiAodGhpcy52YWx1ZUZyb21QYXN0ZSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHN0ZXBVcChzdGVwOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG5cbiAgICAgICAgY29uc3QgcmVzID0gTWF0aC5tYXgoTWF0aC5taW4oYWRkKHRoaXMudmFsdWUgfHwgMCwgc3RlcCksIHRoaXMubWF4KSwgdGhpcy5taW4pO1xuXG4gICAgICAgIHRoaXMuc2V0Vmlld1ZhbHVlKHRoaXMuZm9ybWF0TnVtYmVyKHJlcykpO1xuXG4gICAgICAgIHRoaXMuX3ZhbHVlID0gcmVzO1xuICAgICAgICB0aGlzLmN2YU9uQ2hhbmdlKHJlcyk7XG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdChyZXMpO1xuICAgIH1cblxuICAgIHN0ZXBEb3duKHN0ZXA6IG51bWJlcikge1xuICAgICAgICB0aGlzLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcblxuICAgICAgICBjb25zdCByZXMgPSBNYXRoLm1pbihNYXRoLm1heChhZGQodGhpcy52YWx1ZSB8fCAwLCAtc3RlcCksIHRoaXMubWluKSwgdGhpcy5tYXgpO1xuXG4gICAgICAgIHRoaXMuc2V0Vmlld1ZhbHVlKHRoaXMuZm9ybWF0TnVtYmVyKHJlcykpO1xuXG4gICAgICAgIHRoaXMuX3ZhbHVlID0gcmVzO1xuICAgICAgICB0aGlzLmN2YU9uQ2hhbmdlKHJlcyk7XG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdChyZXMpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3ZhT25DaGFuZ2U6ICh2YWx1ZTogYW55KSA9PiB2b2lkID0gKCkgPT4ge307XG5cbiAgICBwcml2YXRlIHNldFZpZXdWYWx1ZSh2YWx1ZTogc3RyaW5nIHwgbnVsbCwgc2F2ZVBvc2l0aW9uOiBib29sZWFuID0gZmFsc2UpIHtcbiAgICAgICAgY29uc3QgY3Vyc29yUG9zaXRpb24gPSB0aGlzLm5hdGl2ZUVsZW1lbnQuc2VsZWN0aW9uU3RhcnQ7XG5cbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLm5hdGl2ZUVsZW1lbnQsICd2YWx1ZScsIHZhbHVlKTtcblxuICAgICAgICBpZiAoc2F2ZVBvc2l0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMubmF0aXZlRWxlbWVudCwgJ3NlbGVjdGlvblN0YXJ0JywgY3Vyc29yUG9zaXRpb24pO1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLm5hdGl2ZUVsZW1lbnQsICdzZWxlY3Rpb25FbmQnLCBjdXJzb3JQb3NpdGlvbik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHZpZXdUb01vZGVsVXBkYXRlKG5ld1ZhbHVlOiBzdHJpbmcgfCBudWxsKSB7XG4gICAgICAgIGNvbnN0IG5vcm1hbGl6ZWRWYWx1ZSA9IG5ld1ZhbHVlID09PSBudWxsID8gbnVsbCA6ICt0aGlzLm5vcm1hbGl6ZU51bWJlcihuZXdWYWx1ZSk7XG5cbiAgICAgICAgaWYgKG5vcm1hbGl6ZWRWYWx1ZSAhPT0gdGhpcy52YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5fdmFsdWUgPSBub3JtYWxpemVkVmFsdWU7XG4gICAgICAgICAgICB0aGlzLmN2YU9uQ2hhbmdlKG5vcm1hbGl6ZWRWYWx1ZSk7XG4gICAgICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQobm9ybWFsaXplZFZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMubmdDb250cm9sPy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZvcm1hdFZpZXdWYWx1ZSgpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgaWYgKHRoaXMudmlld1ZhbHVlID09PSBudWxsIHx8IHRoaXMudmlld1ZhbHVlID09PSAnJyB8fCBOdW1iZXIuaXNOYU4oK3RoaXMubm9ybWFsaXplTnVtYmVyKHRoaXMudmlld1ZhbHVlKSkpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgc2VwYXJhdG9yID1cbiAgICAgICAgICAgIHRoaXMubnVtYmVyTG9jYWxlQ29uZmlnLmdyb3VwU2VwYXJhdG9yLmluY2x1ZGVzKCcgJykgJiYgdGhpcy5udW1iZXJMb2NhbGVDb25maWcuZnJhY3Rpb25TZXBhcmF0b3IgPT09ICcsJ1xuICAgICAgICAgICAgICAgID8gL1ssLl0vXG4gICAgICAgICAgICAgICAgOiB0aGlzLm51bWJlckxvY2FsZUNvbmZpZy5mcmFjdGlvblNlcGFyYXRvcjtcblxuICAgICAgICBjb25zdCBbaW50UGFydCwgZnJhY3Rpb25QYXJ0XSA9IHRoaXMudmlld1ZhbHVlXG4gICAgICAgICAgICAuc3BsaXQoc2VwYXJhdG9yKVxuICAgICAgICAgICAgLm1hcCgodmFsdWVQYXJ0KSA9PiB0aGlzLm5vcm1hbGl6ZU51bWJlcih2YWx1ZVBhcnQpKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVMb2NhbGl6ZWROdW1iZXJGcm9tUGFydHMoK2ludFBhcnQsIGZyYWN0aW9uUGFydCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb3JtYXROdW1iZXIodmFsdWU6IG51bWJlciB8IG51bGwgfCB1bmRlZmluZWQpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgaWYgKHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgW2ludFBhcnQsIGZyYWN0aW9uUGFydF0gPSB2YWx1ZS50b1N0cmluZygpLnNwbGl0KCcuJyk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlTG9jYWxpemVkTnVtYmVyRnJvbVBhcnRzKCtpbnRQYXJ0LCBmcmFjdGlvblBhcnQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlTG9jYWxpemVkTnVtYmVyRnJvbVBhcnRzKGludFBhcnQ6IG51bWJlciwgZnJhY3Rpb25QYXJ0Pzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgZm9ybWF0T3B0aW9ucyA9IHtcbiAgICAgICAgICAgIHVzZUdyb3VwaW5nOiB0aGlzLndpdGhUaG91c2FuZFNlcGFyYXRvcixcbiAgICAgICAgICAgIG1heGltdW1GcmFjdGlvbkRpZ2l0czogMjBcbiAgICAgICAgfTtcblxuICAgICAgICBpZiAodGhpcy53aXRoVGhvdXNhbmRTZXBhcmF0b3IgJiYgdGhpcy5udW1iZXJMb2NhbGVDb25maWcuc3RhcnRGb3JtYXR0aW5nRnJvbSkge1xuICAgICAgICAgICAgZm9ybWF0T3B0aW9ucy51c2VHcm91cGluZyA9IGludFBhcnQgPj0gTWF0aC5wb3coMTAsIHRoaXMubnVtYmVyTG9jYWxlQ29uZmlnLnN0YXJ0Rm9ybWF0dGluZ0Zyb20pO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbG9jYWxlSWQgPSB0aGlzLmxvY2FsZVNlcnZpY2UuaWQgPT09ICdlcy1MQScgPyAncnUtUlUnIDogdGhpcy5sb2NhbGVTZXJ2aWNlLmlkO1xuXG4gICAgICAgIGNvbnN0IGZvcm1hdHRlciA9IG5ldyBJbnRsLk51bWJlckZvcm1hdChsb2NhbGVJZCwgZm9ybWF0T3B0aW9ucyk7XG4gICAgICAgIGNvbnN0IGZvcm1hdHRlZEZyYWN0aW9uUGFydCA9IGZyYWN0aW9uUGFydFxuICAgICAgICAgICAgPy5zcGxpdCgnJylcbiAgICAgICAgICAgIC5tYXAoKG51bUNoYXIpID0+IGZvcm1hdHRlci5mb3JtYXQoK251bUNoYXIpKVxuICAgICAgICAgICAgLmpvaW4oJycpO1xuXG4gICAgICAgIHJldHVybiBmb3JtYXR0ZWRGcmFjdGlvblBhcnQgPT09IHVuZGVmaW5lZFxuICAgICAgICAgICAgPyBmb3JtYXR0ZXIuZm9ybWF0KGludFBhcnQpXG4gICAgICAgICAgICA6IGAke2Zvcm1hdHRlci5mb3JtYXQoaW50UGFydCl9JHt0aGlzLm51bWJlckxvY2FsZUNvbmZpZy5mcmFjdGlvblNlcGFyYXRvcn0ke2Zvcm1hdHRlZEZyYWN0aW9uUGFydH1gO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE1ldGhvZCB0aGF0IHJldHVybnMgYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgYSBudW1iZXIgd2l0aG91dCBsb2NhbGl6ZWQgc2VwYXJhdG9yc1xuICAgICAqL1xuICAgIHByaXZhdGUgbm9ybWFsaXplTnVtYmVyKHZhbHVlOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkLCBjdXN0b21Db25maWc/OiBOdW1iZXJMb2NhbGVDb25maWcpOiBzdHJpbmcge1xuICAgICAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgeyBncm91cFNlcGFyYXRvciwgZnJhY3Rpb25TZXBhcmF0b3IgfSA9IGN1c3RvbUNvbmZpZyB8fCB0aGlzLm51bWJlckxvY2FsZUNvbmZpZztcbiAgICAgICAgY29uc3QgZ3JvdXBTZXBhcmF0b3JSZWdleHAgPSBuZXcgUmVnRXhwKGBbJHtncm91cFNlcGFyYXRvci5qb2luKCcnKX1dYCwgJ2cnKTtcbiAgICAgICAgY29uc3QgZnJhY3Rpb25TZXBhcmF0b3JSZWdleHAgPSBuZXcgUmVnRXhwKGBcXFxcJHtmcmFjdGlvblNlcGFyYXRvcn1gLCAnZycpO1xuXG4gICAgICAgIHJldHVybiB2YWx1ZS50b1N0cmluZygpLnJlcGxhY2UoZ3JvdXBTZXBhcmF0b3JSZWdleHAsICcnKS5yZXBsYWNlKGZyYWN0aW9uU2VwYXJhdG9yUmVnZXhwLCAnLicpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlTG9jYWxlUGFyYW1zID0gKGlkOiBzdHJpbmcpID0+IHtcbiAgICAgICAgdGhpcy5udW1iZXJMb2NhbGVDb25maWcgPSB0aGlzLmxvY2FsZVNlcnZpY2UubG9jYWxlc1tpZF0uaW5wdXQubnVtYmVyO1xuXG4gICAgICAgIHRoaXMuc2V0Vmlld1ZhbHVlKHRoaXMuZm9ybWF0TnVtYmVyKHRoaXMudmFsdWUpKTtcbiAgICB9O1xuXG4gICAgcHJpdmF0ZSBjaGVja0FuZE5vcm1hbGl6ZUxvY2FsaXplZE51bWJlcihudW06IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQpOiBudW1iZXIgfCBudWxsIHtcbiAgICAgICAgaWYgKG51bSA9PT0gbnVsbCB8fCBudW0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICAvKiBpZiBzb21lIGxvY2FsZSBpbnB1dCBjb25maWcgc2F0aXNmaWVzIHBhc3RlZCBudW1iZXIsIHRyeSB0byBub3JtYWxpemUgd2l0aCBzZWxlY3RlZCBsb2NhbGUgY29uZmlnICovXG4gICAgICAgIGxldCBudW1iZXJPdXRwdXQ6IG51bWJlciB8IG51bGwgPSBudWxsO1xuICAgICAgICBmb3IgKGNvbnN0IHsgY29uZmlnIH0gb2YgdGhpcy5hbGxOdW1iZXJMb2NhbGVDb25maWdzKSB7XG4gICAgICAgICAgICBjb25zdCBub3JtYWxpemVkID0gK3RoaXMubm9ybWFsaXplTnVtYmVyKG51bSwgY29uZmlnKTtcbiAgICAgICAgICAgIGlmICghTnVtYmVyLmlzTmFOKG5vcm1hbGl6ZWQpKSB7XG4gICAgICAgICAgICAgICAgbnVtYmVyT3V0cHV0ID0gbm9ybWFsaXplZDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBudW1iZXJPdXRwdXQ7XG4gICAgfVxufVxuIl19
|
|
375
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbnVtYmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9pbnB1dC9pbnB1dC1udW1iZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUQsT0FBTyxFQUVILFNBQVMsRUFDVCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFFTCxRQUFRLEVBQ1IsU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBeUMsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxRixPQUFPLEVBQ0gsQ0FBQyxFQUNELFNBQVMsRUFDVCxDQUFDLEVBQ0QsSUFBSSxFQUNKLE1BQU0sRUFDTixVQUFVLEVBQ1YsR0FBRyxFQUNILEtBQUssRUFDTCxNQUFNLEVBQ04sUUFBUSxFQUNSLElBQUksRUFDSixhQUFhLEVBQ2IsV0FBVyxFQUNYLFdBQVcsRUFDWCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFdBQVcsRUFDWCxHQUFHLEVBQ0gsUUFBUSxFQUNSLENBQUMsRUFDRCxDQUFDLEVBQ0QsQ0FBQyxFQUNKLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFL0UsT0FBTyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7OztBQUU3QyxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsRUFBRSxDQUFDO0FBQzNCLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxDQUFDLENBQUM7QUFFNUIsTUFBTSxVQUFVLGlCQUFpQixDQUFDLEtBQWE7SUFDM0MsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7QUFDcEQsQ0FBQztBQUVELE1BQU0sVUFBVSxPQUFPLENBQUMsS0FBYTtJQUNqQyxPQUFPLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDdEMsQ0FBQztBQUVELE1BQU0sVUFBVSxLQUFLLENBQUMsS0FBYTtJQUMvQixPQUFPLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDakMsQ0FBQztBQUVELE1BQU0sVUFBVSxPQUFPLENBQUMsS0FBYTtJQUNqQyxPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDMUMsQ0FBQztBQUVELE1BQU0sVUFBVSxZQUFZLENBQUMsS0FBYTtJQUN0QyxNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRXhDLE9BQU8sR0FBRyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQzlELENBQUM7QUFFRCxNQUFNLFVBQVUsR0FBRyxDQUFDLE1BQWMsRUFBRSxNQUFjO0lBQzlDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBRXZFLE9BQU8sQ0FBQyxNQUFNLEdBQUcsU0FBUyxHQUFHLE1BQU0sR0FBRyxTQUFTLENBQUMsR0FBRyxTQUFTLENBQUM7QUFDakUsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUFRO0lBQ2hELE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxjQUFjLENBQUM7SUFDN0MsS0FBSyxFQUFFLElBQUk7Q0FDZCxDQUFDO0FBb0JGLE1BQU0sT0FBTyxjQUFjO0lBMEN2QixJQUNJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQUksS0FBSyxDQUFDLEtBQW9CO1FBQzFCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDNUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFFcEIsSUFBSSxRQUFRLEtBQUssS0FBSyxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFFNUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsQ0FBQztJQUNMLENBQUM7SUFJRCxJQUNJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUksUUFBUSxDQUFDLEtBQWM7UUFDdkIsTUFBTSxRQUFRLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUVuQyxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7WUFDMUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdkMsQ0FBQztRQUVELDhFQUE4RTtRQUM5RSxJQUFJLFFBQVEsSUFBSSxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDM0IsMEZBQTBGO1lBQzFGLHlGQUF5RjtZQUN6RiwyRkFBMkY7WUFDM0YsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ25CLENBQUM7SUFDTCxDQUFDO0lBTUQsSUFBSSxhQUFhO1FBQ2IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQztJQUN6QyxDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1QsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3hCLENBQUM7SUFZRCxZQUNZLFVBQXNCLEVBQ2IsUUFBbUIsRUFDakIsSUFBWSxFQUNSLE9BQWUsRUFDcEIsR0FBVyxFQUNYLEdBQVcsRUFDbUIsYUFBK0I7UUFOdkUsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUNiLGFBQVEsR0FBUixRQUFRLENBQVc7UUFLWSxrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFuSG5GLHNGQUFzRjtRQUN0RixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFpQixDQUFDO1FBRWhELGdEQUFnRDtRQUNoRCxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFFcEMsaUJBQVksR0FBa0IsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQTJCM0QsMEJBQXFCLEdBQVksSUFBSSxDQUFDO1FBaUQ5QixjQUFTLEdBQVksS0FBSyxDQUFDO1FBRW5DLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFzQmpCLHVCQUFrQixHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUM7UUFnRmhELGNBQVMsR0FBRyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFpSWIsZ0JBQVcsR0FBeUIsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBMEY3Qyx1QkFBa0IsR0FBRyxDQUFDLEVBQVUsRUFBRSxFQUFFO1lBQ3hDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO1lBRXRFLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNyRCxDQUFDLENBQUM7UUFwU0UsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDO1FBQzFELElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztRQUNqRSxJQUFJLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztRQUN0RCxJQUFJLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7UUFFckQsSUFBSSxlQUFlLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3hDLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsZUFBZSxFQUFFO2dCQUM5RSxHQUFHO29CQUNDLE1BQU0sR0FBRyxHQUFHLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztvQkFFdEQsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO2dCQUNuQyxDQUFDO2FBQ0osQ0FBQyxDQUFDO1FBQ1AsQ0FBQztRQUVELElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUMvRCxDQUFDLFVBQXdDLEVBQUUsRUFBRTtZQUN6QyxPQUFPLEVBQUUsRUFBRSxFQUFFLFVBQVUsQ0FBQyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDakcsQ0FBQyxDQUNKLENBQUM7UUFFRixJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQzdGLENBQUM7SUFFRCxrQkFBa0I7UUFDZCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN0QyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELGdCQUFnQjtRQUNaLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRUQsS0FBSztRQUNELElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVELCtDQUErQztJQUMvQyxVQUFVLENBQUMsS0FBb0I7UUFDM0IsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDdkIsQ0FBQztJQUVELCtDQUErQztJQUMvQyxnQkFBZ0IsQ0FBQyxFQUF3QjtRQUNyQyxJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsK0NBQStDO0lBQy9DLGlCQUFpQixDQUFDLEVBQWM7UUFDNUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELCtDQUErQztJQUMvQyxnQkFBZ0IsQ0FBQyxVQUFtQjtRQUNoQyxJQUFJLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQztJQUMvQixDQUFDO0lBRUQsWUFBWSxDQUFDLFNBQWtCO1FBQzNCLElBQUksU0FBUyxLQUFLLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsT0FBTyxHQUFHLFNBQVMsQ0FBQztZQUN6QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzdCLENBQUM7SUFDTCxDQUFDO0lBSUQsU0FBUyxDQUFDLEtBQW9CO1FBQzFCLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFFOUIsTUFBTSxPQUFPLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbkUsTUFBTSxPQUFPLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbkUsTUFBTSxPQUFPLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbkUsTUFBTSxPQUFPLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbkUsTUFBTSxPQUFPLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFbkUsTUFBTSxRQUFRLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUNuQixJQUFJLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO1lBQ3RELENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGlCQUFpQixFQUFFLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFckUsTUFBTSxPQUFPLEdBQUcsQ0FBQyxZQUFZLEVBQUUsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQy9DLE1BQU0sV0FBVyxHQUFHLENBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzVELE1BQU0sTUFBTSxHQUFHLENBQUMsVUFBVSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ3pDLE1BQU0sV0FBVyxHQUFHLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRW5GLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDckYsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBRXZCLE9BQU87UUFDWCxDQUFDO1FBRUQsSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNsQixJQUNJLEtBQUssQ0FBQyxHQUFHLEtBQUssSUFBSSxDQUFDLGtCQUFrQixDQUFDLGlCQUFpQjtnQkFDdkQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQzFFLENBQUM7Z0JBQ0MsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUV2QixPQUFPO1lBQ1gsQ0FBQztRQUNMLENBQUM7UUFFRCxJQUFJLFdBQVcsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUk7WUFDbkMsT0FBTztZQUNQLE9BQU87WUFDUCxPQUFPO1lBQ1AsT0FBTztZQUNQLE9BQU87WUFDUCxhQUFhO1lBQ2IsUUFBUTtTQUNYLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQzVCLG1DQUFtQztZQUNuQyxPQUFPO1FBQ1gsQ0FBQztRQUNELHVEQUF1RDtRQUN2RCxJQUFJLEtBQUssQ0FBQyxRQUFRLElBQUksQ0FBQyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDakUsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBRXZCLGdCQUFnQjtZQUNoQixNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBRXZELElBQUksT0FBTyxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUN2QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3RCLENBQUM7WUFFRCxJQUFJLE9BQU8sS0FBSyxVQUFVLEVBQUUsQ0FBQztnQkFDekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN4QixDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7SUFFRCxPQUFPLENBQUMsS0FBaUI7UUFDckIsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxNQUFNLElBQUksQ0FBQyxDQUFDO1FBRXRFLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDWixNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsU0FBUyxLQUFLLGlCQUFpQixDQUFDO1lBQ3hELElBQUksY0FBNkIsQ0FBQztZQUNsQyxJQUFJLFNBQVMsRUFBRSxDQUFDO2dCQUNaLGNBQWMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUM1RCxDQUFDO2lCQUFNLENBQUM7Z0JBQ0osd0VBQXdFO2dCQUN4RSxjQUFjLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO2dCQUV4QyxNQUFNLHdCQUF3QixHQUFHLENBQUMsQ0FBQztnQkFFbkMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7b0JBQ3hCLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxrQkFBa0IsQ0FBQyxLQUFLLHdCQUF3QixFQUFFLENBQUM7d0JBQ3BGLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQzNCLENBQUMsRUFDRCxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsY0FBYyxJQUFJLENBQUMsQ0FBQzs0QkFDcEMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxrQkFBa0IsQ0FBQyxDQUM1RCxDQUFDO3dCQUVGLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxDQUFDLENBQUM7d0JBQ2hGLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsY0FBYyxFQUFFLGNBQWMsQ0FBQyxDQUFDO29CQUNsRixDQUFDO2dCQUNMLENBQUMsQ0FBQyxDQUFDO1lBQ1AsQ0FBQztZQUNELElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDOUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzNDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUFxQjtRQUN6QixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxnQ0FBZ0MsQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ2xHLElBQUksSUFBSSxDQUFDLGNBQWMsS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUMvQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDM0IsQ0FBQztJQUNMLENBQUM7SUFFRCxNQUFNLENBQUMsSUFBWTtRQUNmLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFM0IsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRS9FLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBRTFDLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELFFBQVEsQ0FBQyxJQUFZO1FBQ2pCLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFM0IsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFaEYsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFFMUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUM7UUFDbEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN0QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBSU8sWUFBWSxDQUFDLEtBQW9CLEVBQUUsZUFBd0IsS0FBSztRQUNwRSxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQztRQUV6RCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztRQUU5RCxJQUFJLFlBQVksRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLENBQUMsQ0FBQztZQUNoRixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLGNBQWMsRUFBRSxjQUFjLENBQUMsQ0FBQztRQUNsRixDQUFDO0lBQ0wsQ0FBQztJQUVPLGlCQUFpQixDQUFDLFFBQXVCO1FBQzdDLE1BQU0sZUFBZSxHQUFHLFFBQVEsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRW5GLElBQUksZUFBZSxLQUFLLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNqQyxJQUFJLENBQUMsTUFBTSxHQUFHLGVBQWUsQ0FBQztZQUM5QixJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ2xDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzNDLENBQUM7UUFFRCxJQUFJLENBQUMsU0FBUyxFQUFFLHNCQUFzQixDQUFDLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVPLGVBQWU7UUFDbkIsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLElBQUksSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLEVBQUUsSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQzFHLE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUM7UUFFRCxNQUFNLFNBQVMsR0FDWCxJQUFJLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsaUJBQWlCLEtBQUssR0FBRztZQUNyRyxDQUFDLENBQUMsTUFBTTtZQUNSLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsaUJBQWlCLENBQUM7UUFFcEQsTUFBTSxDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUzthQUN6QyxLQUFLLENBQUMsU0FBUyxDQUFDO2FBQ2hCLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBRXpELE9BQU8sSUFBSSxDQUFDLDhCQUE4QixDQUFDLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFTyxZQUFZLENBQUMsS0FBZ0M7UUFDakQsSUFBSSxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN4QyxPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDO1FBRUQsTUFBTSxDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRTVELE9BQU8sSUFBSSxDQUFDLDhCQUE4QixDQUFDLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFTyw4QkFBOEIsQ0FBQyxPQUFlLEVBQUUsWUFBcUI7UUFDekUsTUFBTSxhQUFhLEdBQUc7WUFDbEIsV0FBVyxFQUFFLElBQUksQ0FBQyxxQkFBcUI7WUFDdkMscUJBQXFCLEVBQUUsRUFBRTtTQUM1QixDQUFDO1FBRUYsSUFBSSxJQUFJLENBQUMscUJBQXFCLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLG1CQUFtQixFQUFFLENBQUM7WUFDNUUsYUFBYSxDQUFDLFdBQVcsR0FBRyxPQUFPLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDckcsQ0FBQztRQUVELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztRQUVyRixNQUFNLFNBQVMsR0FBRyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQ2pFLE1BQU0scUJBQXFCLEdBQUcsWUFBWTtZQUN0QyxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUM7YUFDVixHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUM1QyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFZCxPQUFPLHFCQUFxQixLQUFLLFNBQVM7WUFDdEMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO1lBQzNCLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGlCQUFpQixHQUFHLHFCQUFxQixFQUFFLENBQUM7SUFDN0csQ0FBQztJQUVEOztPQUVHO0lBQ0ssZUFBZSxDQUFDLEtBQWdDLEVBQUUsWUFBaUM7UUFDdkYsSUFBSSxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN4QyxPQUFPLEVBQUUsQ0FBQztRQUNkLENBQUM7UUFFRCxNQUFNLEVBQUUsY0FBYyxFQUFFLGlCQUFpQixFQUFFLEdBQUcsWUFBWSxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztRQUN0RixNQUFNLG9CQUFvQixHQUFHLElBQUksTUFBTSxDQUFDLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzdFLE1BQU0sdUJBQXVCLEdBQUcsSUFBSSxNQUFNLENBQUMsS0FBSyxpQkFBaUIsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRTFFLE9BQU8sS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsdUJBQXVCLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDcEcsQ0FBQztJQVFPLGdDQUFnQyxDQUFDLEdBQThCO1FBQ25FLElBQUksR0FBRyxLQUFLLElBQUksSUFBSSxHQUFHLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDcEMsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQztRQUVELHVHQUF1RztRQUN2RyxJQUFJLFlBQVksR0FBa0IsSUFBSSxDQUFDO1FBQ3ZDLEtBQUssTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1lBQ25ELE1BQU0sVUFBVSxHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDdEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztnQkFDNUIsWUFBWSxHQUFHLFVBQVUsQ0FBQztnQkFDMUIsTUFBTTtZQUNWLENBQUM7UUFDTCxDQUFDO1FBRUQsT0FBTyxZQUFZLENBQUM7SUFDeEIsQ0FBQztpSUE1YVEsY0FBYyxxRUFnSFIsTUFBTSw4QkFDTixVQUFVLDhCQUNWLEtBQUssOEJBQ0wsS0FBSyw4QkFDSSxrQkFBa0I7cUhBcEhqQyxjQUFjLHVhQVRaLENBQUMsK0JBQStCLENBQUM7OzJGQVNuQyxjQUFjO2tCQVoxQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFNBQVMsRUFBRSxDQUFDLCtCQUErQixDQUFDO29CQUM1QyxJQUFJLEVBQUU7d0JBQ0YsUUFBUSxFQUFFLHFCQUFxQjt3QkFDL0IsU0FBUyxFQUFFLG9CQUFvQjt3QkFDL0IsU0FBUyxFQUFFLGlCQUFpQjt3QkFDNUIsV0FBVyxFQUFFLG1CQUFtQjt3QkFDaEMsU0FBUyxFQUFFLGlCQUFpQjtxQkFDL0I7aUJBQ0o7OzBCQWlIUSxTQUFTOzJCQUFDLE1BQU07OzBCQUNoQixTQUFTOzJCQUFDLFVBQVU7OzBCQUNwQixTQUFTOzJCQUFDLEtBQUs7OzBCQUNmLFNBQVM7MkJBQUMsS0FBSzs7MEJBQ2YsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxrQkFBa0I7eUNBOUYxQyxPQUFPO3NCQUROLEtBQUs7Z0JBSU4sSUFBSTtzQkFESCxLQUFLO2dCQUlOLEdBQUc7c0JBREYsS0FBSztnQkFJTixHQUFHO3NCQURGLEtBQUs7Z0JBSU4scUJBQXFCO3NCQURwQixLQUFLO2dCQU9OLG1CQUFtQjtzQkFEbEIsS0FBSztnQkFJRixLQUFLO3NCQURSLEtBQUs7Z0JBbUJGLFFBQVE7c0JBRFgsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQXR0cmlidXRlLFxuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBmb3J3YXJkUmVmLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT3B0aW9uYWwsXG4gICAgUmVuZGVyZXIyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICAgIEEsXG4gICAgQkFDS1NQQUNFLFxuICAgIEMsXG4gICAgREFTSCxcbiAgICBERUxFVEUsXG4gICAgRE9XTl9BUlJPVyxcbiAgICBFTkQsXG4gICAgRU5URVIsXG4gICAgRVNDQVBFLFxuICAgIEZGX01JTlVTLFxuICAgIEhPTUUsXG4gICAgaXNGdW5jdGlvbktleSxcbiAgICBpc051bWJlcktleSxcbiAgICBpc051bXBhZEtleSxcbiAgICBMRUZUX0FSUk9XLFxuICAgIE5VTVBBRF9NSU5VUyxcbiAgICBSSUdIVF9BUlJPVyxcbiAgICBUQUIsXG4gICAgVVBfQVJST1csXG4gICAgVixcbiAgICBYLFxuICAgIFpcbn0gZnJvbSAnQGtvb2JpcS9jZGsva2V5Y29kZXMnO1xuaW1wb3J0IHsgS0JRX0xPQ0FMRV9TRVJWSUNFLCBLYnFMb2NhbGVTZXJ2aWNlIH0gZnJvbSAnQGtvb2JpcS9jb21wb25lbnRzL2NvcmUnO1xuaW1wb3J0IHsgS2JxRm9ybUZpZWxkQ29udHJvbCB9IGZyb20gJ0Brb29iaXEvY29tcG9uZW50cy9mb3JtLWZpZWxkJztcbmltcG9ydCB7IFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgY29uc3QgQklHX1NURVAgPSAxMDtcbmV4cG9ydCBjb25zdCBTTUFMTF9TVEVQID0gMTtcblxuZXhwb3J0IGZ1bmN0aW9uIG5vcm1hbGl6ZVNwbGl0dGVyKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB2YWx1ZSA/IHZhbHVlLnJlcGxhY2UoLywvZywgJy4nKSA6IHZhbHVlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNGbG9hdCh2YWx1ZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIC9eLT9cXGQrXFwuXFxkKyQvLnRlc3QodmFsdWUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNJbnQodmFsdWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAvXi0/XFxkKyQvLnRlc3QodmFsdWUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNEaWdpdCh2YWx1ZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlzRmxvYXQodmFsdWUpIHx8IGlzSW50KHZhbHVlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFByZWNpc2lvbih2YWx1ZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBjb25zdCBhcnIgPSB2YWx1ZS50b1N0cmluZygpLnNwbGl0KCcuJyk7XG5cbiAgICByZXR1cm4gYXJyLmxlbmd0aCA9PT0gMSA/IDEgOiBNYXRoLnBvdygxMCwgYXJyWzFdLmxlbmd0aCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhZGQodmFsdWUxOiBudW1iZXIsIHZhbHVlMjogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBjb25zdCBwcmVjaXNpb24gPSBNYXRoLm1heChnZXRQcmVjaXNpb24odmFsdWUxKSwgZ2V0UHJlY2lzaW9uKHZhbHVlMikpO1xuXG4gICAgcmV0dXJuICh2YWx1ZTEgKiBwcmVjaXNpb24gKyB2YWx1ZTIgKiBwcmVjaXNpb24pIC8gcHJlY2lzaW9uO1xufVxuXG5leHBvcnQgY29uc3QgS0JRX05VTUJFUl9JTlBVVF9WQUxVRV9BQ0NFU1NPUjogYW55ID0ge1xuICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEticU51bWJlcklucHV0KSxcbiAgICBtdWx0aTogdHJ1ZVxufTtcblxuaW50ZXJmYWNlIE51bWJlckxvY2FsZUNvbmZpZyB7XG4gICAgZ3JvdXBTZXBhcmF0b3I6IHN0cmluZ1tdO1xuICAgIGZyYWN0aW9uU2VwYXJhdG9yOiBzdHJpbmc7XG4gICAgc3RhcnRGb3JtYXR0aW5nRnJvbT86IG51bWJlcjtcbn1cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6IGBpbnB1dFtrYnFOdW1iZXJJbnB1dF1gLFxuICAgIGV4cG9ydEFzOiAna2JxTnVtZXJpY2FsSW5wdXQnLFxuICAgIHByb3ZpZGVyczogW0tCUV9OVU1CRVJfSU5QVVRfVkFMVUVfQUNDRVNTT1JdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJyhibHVyKSc6ICdmb2N1c0NoYW5nZWQoZmFsc2UpJyxcbiAgICAgICAgJyhmb2N1cyknOiAnZm9jdXNDaGFuZ2VkKHRydWUpJyxcbiAgICAgICAgJyhwYXN0ZSknOiAnb25QYXN0ZSgkZXZlbnQpJyxcbiAgICAgICAgJyhrZXlkb3duKSc6ICdvbktleURvd24oJGV2ZW50KScsXG4gICAgICAgICcoaW5wdXQpJzogJ29uSW5wdXQoJGV2ZW50KSdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIEticU51bWJlcklucHV0IGltcGxlbWVudHMgS2JxRm9ybUZpZWxkQ29udHJvbDxhbnk+LCBDb250cm9sVmFsdWVBY2Nlc3NvciwgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95IHtcbiAgICAvKiogRW1pdHMgd2hlbiB0aGUgdmFsdWUgY2hhbmdlcyAoZWl0aGVyIGR1ZSB0byB1c2VyIGlucHV0IG9yIHByb2dyYW1tYXRpYyBjaGFuZ2UpLiAqL1xuICAgIHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXIgfCBudWxsPigpO1xuXG4gICAgLyoqIEVtaXRzIHdoZW4gdGhlIGRpc2FibGVkIHN0YXRlIGhhcyBjaGFuZ2VkICovXG4gICAgZGlzYWJsZWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICByZWFkb25seSBzdGF0ZUNoYW5nZXM6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgaWQ6IHN0cmluZztcblxuICAgIHBsYWNlaG9sZGVyOiBzdHJpbmc7XG5cbiAgICBlbXB0eTogYm9vbGVhbjtcblxuICAgIHJlcXVpcmVkOiBib29sZWFuO1xuXG4gICAgZXJyb3JTdGF0ZTogYm9vbGVhbjtcblxuICAgIGNvbnRyb2xUeXBlPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gICAgQElucHV0KClcbiAgICBiaWdTdGVwOiBudW1iZXI7XG5cbiAgICBASW5wdXQoKVxuICAgIHN0ZXA6IG51bWJlcjtcblxuICAgIEBJbnB1dCgpXG4gICAgbWluOiBudW1iZXI7XG5cbiAgICBASW5wdXQoKVxuICAgIG1heDogbnVtYmVyO1xuXG4gICAgQElucHV0KClcbiAgICB3aXRoVGhvdXNhbmRTZXBhcmF0b3I6IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICogSW5jbHVkZSB0aG91c2FuZCBzZXBhcmF0b3IgZnJvbSBjdXN0b20gaW5kZXguIEZvciBleGFtcGxlLCBpdCB3aWxsIGJlIHVzZWZ1bCBpbiB0YWJsZXMuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzdGFydEZvcm1hdHRpbmdGcm9tPzogbnVtYmVyO1xuXG4gICAgQElucHV0KClcbiAgICBnZXQgdmFsdWUoKTogbnVtYmVyIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgICB9XG5cbiAgICBzZXQgdmFsdWUodmFsdWU6IG51bWJlciB8IG51bGwpIHtcbiAgICAgICAgY29uc3Qgb2xkVmFsdWUgPSB0aGlzLnZhbHVlO1xuICAgICAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuXG4gICAgICAgIGlmIChvbGRWYWx1ZSAhPT0gdmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0Vmlld1ZhbHVlKHRoaXMuZm9ybWF0TnVtYmVyKHZhbHVlKSk7XG5cbiAgICAgICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF92YWx1ZTogbnVtYmVyIHwgbnVsbDtcblxuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICAgICAgY29uc3QgZWxlbWVudCA9IHRoaXMubmF0aXZlRWxlbWVudDtcblxuICAgICAgICBpZiAodGhpcy5fZGlzYWJsZWQgIT09IG5ld1ZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLl9kaXNhYmxlZCA9IG5ld1ZhbHVlO1xuICAgICAgICAgICAgdGhpcy5kaXNhYmxlZENoYW5nZS5lbWl0KG5ld1ZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFdlIG5lZWQgdG8gbnVsbCBjaGVjayB0aGUgYGJsdXJgIG1ldGhvZCwgYmVjYXVzZSBpdCdzIHVuZGVmaW5lZCBkdXJpbmcgU1NSLlxuICAgICAgICBpZiAobmV3VmFsdWUgJiYgZWxlbWVudC5ibHVyKSB7XG4gICAgICAgICAgICAvLyBOb3JtYWxseSwgbmF0aXZlIGlucHV0IGVsZW1lbnRzIGF1dG9tYXRpY2FsbHkgYmx1ciBpZiB0aGV5IHR1cm4gZGlzYWJsZWQuIFRoaXMgYmVoYXZpb3JcbiAgICAgICAgICAgIC8vIGlzIHByb2JsZW1hdGljLCBiZWNhdXNlIGl0IHdvdWxkIG1lYW4gdGhhdCBpdCB0cmlnZ2VycyBhbm90aGVyIGNoYW5nZSBkZXRlY3Rpb24gY3ljbGUsXG4gICAgICAgICAgICAvLyB3aGljaCB0aGVuIGNhdXNlcyBhIGNoYW5nZWQgYWZ0ZXIgY2hlY2tlZCBlcnJvciBpZiB0aGUgaW5wdXQgZWxlbWVudCB3YXMgZm9jdXNlZCBiZWZvcmUuXG4gICAgICAgICAgICBlbGVtZW50LmJsdXIoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX2Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBmb2N1c2VkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBnZXQgbmF0aXZlRWxlbWVudCgpOiBIVE1MSW5wdXRFbGVtZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgIH1cblxuICAgIGdldCB2aWV3VmFsdWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlRWxlbWVudC52YWx1ZTtcbiAgICB9XG5cbiAgICBnZXQgbmdDb250cm9sKCk6IGFueSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRyb2w7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjb250cm9sOiBBYnN0cmFjdENvbnRyb2w7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGFsbE51bWJlckxvY2FsZUNvbmZpZ3M6IHsgaWQ6IHN0cmluZzsgY29uZmlnOiBOdW1iZXJMb2NhbGVDb25maWcgfVtdO1xuXG4gICAgcHJpdmF0ZSBudW1iZXJMb2NhbGVDb25maWc6IE51bWJlckxvY2FsZUNvbmZpZztcblxuICAgIHByaXZhdGUgdmFsdWVGcm9tUGFzdGU6IG51bWJlciB8IG51bGw7XG5cbiAgICBwcml2YXRlIGxvY2FsZVN1YnNjcmlwdGlvbiA9IFN1YnNjcmlwdGlvbi5FTVBUWTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgQEF0dHJpYnV0ZSgnc3RlcCcpIHN0ZXA6IHN0cmluZyxcbiAgICAgICAgQEF0dHJpYnV0ZSgnYmlnLXN0ZXAnKSBiaWdTdGVwOiBzdHJpbmcsXG4gICAgICAgIEBBdHRyaWJ1dGUoJ21pbicpIG1pbjogc3RyaW5nLFxuICAgICAgICBAQXR0cmlidXRlKCdtYXgnKSBtYXg6IHN0cmluZyxcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChLQlFfTE9DQUxFX1NFUlZJQ0UpIHByaXZhdGUgbG9jYWxlU2VydmljZTogS2JxTG9jYWxlU2VydmljZVxuICAgICkge1xuICAgICAgICB0aGlzLnN0ZXAgPSBpc0RpZ2l0KHN0ZXApID8gcGFyc2VGbG9hdChzdGVwKSA6IFNNQUxMX1NURVA7XG4gICAgICAgIHRoaXMuYmlnU3RlcCA9IGlzRGlnaXQoYmlnU3RlcCkgPyBwYXJzZUZsb2F0KGJpZ1N0ZXApIDogQklHX1NURVA7XG4gICAgICAgIHRoaXMubWluID0gaXNEaWdpdChtaW4pID8gcGFyc2VGbG9hdChtaW4pIDogLUluZmluaXR5O1xuICAgICAgICB0aGlzLm1heCA9IGlzRGlnaXQobWF4KSA/IHBhcnNlRmxvYXQobWF4KSA6IEluZmluaXR5O1xuXG4gICAgICAgIGlmICgndmFsdWVBc051bWJlcicgaW4gdGhpcy5uYXRpdmVFbGVtZW50KSB7XG4gICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LmdldFByb3RvdHlwZU9mKHRoaXMubmF0aXZlRWxlbWVudCksICd2YWx1ZUFzTnVtYmVyJywge1xuICAgICAgICAgICAgICAgIGdldCgpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVzID0gcGFyc2VGbG9hdChub3JtYWxpemVTcGxpdHRlcih0aGlzLnZhbHVlKSk7XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGlzTmFOKHJlcykgPyBudWxsIDogcmVzO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5hbGxOdW1iZXJMb2NhbGVDb25maWdzID0gdGhpcy5sb2NhbGVTZXJ2aWNlPy5sb2NhbGVzLml0ZW1zLm1hcChcbiAgICAgICAgICAgIChsb2NhbGVJdGVtOiB7IGlkOiBzdHJpbmc7IG5hbWU6IHN0cmluZyB9KSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgaWQ6IGxvY2FsZUl0ZW0uaWQsIGNvbmZpZzogdGhpcy5sb2NhbGVTZXJ2aWNlLmxvY2FsZXNbbG9jYWxlSXRlbS5pZF0uaW5wdXQubnVtYmVyIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5sb2NhbGVTdWJzY3JpcHRpb24gPSB0aGlzLmxvY2FsZVNlcnZpY2U/LmNoYW5nZXMuc3Vic2NyaWJlKHRoaXMudXBkYXRlTG9jYWxlUGFyYW1zKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5uYXRpdmVFbGVtZW50LCAndHlwZScsICd0ZXh0Jyk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMubG9jYWxlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuY29tcGxldGUoKTtcbiAgICAgICAgdGhpcy5kaXNhYmxlZENoYW5nZS5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIG9uQ29udGFpbmVyQ2xpY2soKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZm9jdXMoKTtcbiAgICB9XG5cbiAgICBmb2N1cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuXG4gICAgLy8gSW1wbGVtZW50ZWQgYXMgcGFydCBvZiBDb250cm9sVmFsdWVBY2Nlc3Nvci5cbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBudW1iZXIgfCBudWxsKTogdm9pZCB7XG4gICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICAvLyBJbXBsZW1lbnRlZCBhcyBwYXJ0IG9mIENvbnRyb2xWYWx1ZUFjY2Vzc29yLlxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogYW55KSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY3ZhT25DaGFuZ2UgPSBmbjtcbiAgICB9XG5cbiAgICAvLyBJbXBsZW1lbnRlZCBhcyBwYXJ0IG9mIENvbnRyb2xWYWx1ZUFjY2Vzc29yLlxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gICAgfVxuXG4gICAgLy8gSW1wbGVtZW50ZWQgYXMgcGFydCBvZiBDb250cm9sVmFsdWVBY2Nlc3Nvci5cbiAgICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgZm9jdXNDaGFuZ2VkKGlzRm9jdXNlZDogYm9vbGVhbikge1xuICAgICAgICBpZiAoaXNGb2N1c2VkICE9PSB0aGlzLmZvY3VzZWQpIHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNlZCA9IGlzRm9jdXNlZDtcbiAgICAgICAgICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uVG91Y2hlZCA9ICgpID0+IHt9O1xuXG4gICAgb25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGNvbnN0IGtleUNvZGUgPSBldmVudC5rZXlDb2RlO1xuXG4gICAgICAgIGNvbnN0IGlzQ3RybEEgPSAoZSkgPT4gZS5rZXlDb2RlID09PSBBICYmIChlLmN0cmxLZXkgfHwgZS5tZXRhS2V5KTtcbiAgICAgICAgY29uc3QgaXNDdHJsQyA9IChlKSA9PiBlLmtleUNvZGUgPT09IEMgJiYgKGUuY3RybEtleSB8fCBlLm1ldGFLZXkpO1xuICAgICAgICBjb25zdCBpc0N0cmxWID0gKGUpID0+IGUua2V5Q29kZSA9PT0gViAmJiAoZS5jdHJsS2V5IHx8IGUubWV0YUtleSk7XG4gICAgICAgIGNvbnN0IGlzQ3RybFggPSAoZSkgPT4gZS5rZXlDb2RlID09PSBYICYmIChlLmN0cmxLZXkgfHwgZS5tZXRhS2V5KTtcbiAgICAgICAgY29uc3QgaXNDdHJsWiA9IChlKSA9PiBlLmtleUNvZGUgPT09IFogJiYgKGUuY3RybEtleSB8fCBlLm1ldGFLZXkpO1xuXG4gICAgICAgIGNvbnN0IGlzUGVyaW9kID0gKGUpID0+XG4gICAgICAgICAgICB0aGlzLm51bWJlckxvY2FsZUNvbmZpZy5ncm91cFNlcGFyYXRvci5pbmNsdWRlcyhlLmtleSkgfHxcbiAgICAgICAgICAgIFt0aGlzLm51bWJlckxvY2FsZUNvbmZpZy5mcmFjdGlvblNlcGFyYXRvciwgJy4nXS5pbmNsdWRlcyhlLmtleSk7XG5cbiAgICAgICAgY29uc3QgbWludXNlcyA9IFtOVU1QQURfTUlOVVMsIERBU0gsIEZGX01JTlVTXTtcbiAgICAgICAgY29uc3Qgc2VydmljZUtleXMgPSBbREVMRVRFLCBCQUNLU1BBQ0UsIFRBQiwgRVNDQVBFLCBFTlRFUl07XG4gICAgICAgIGNvbnN0IGFycm93cyA9IFtMRUZUX0FSUk9XLCBSSUdIVF9BUlJPV107XG4gICAgICAgIGNvbnN0IGFsbG93ZWRLZXlzID0gW0hPTUUsIEVORF0uY29uY2F0KGFycm93cykuY29uY2F0KHNlcnZpY2VLZXlzKS5jb25jYXQobWludXNlcyk7XG5cbiAgICAgICAgaWYgKG1pbnVzZXMuaW5jbHVkZXMoa2V5Q29kZSkgJiYgKHRoaXMudmlld1ZhbHVlLmluY2x1ZGVzKGV2ZW50LmtleSkgfHwgdGhpcy5taW4gPj0gMCkpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChpc1BlcmlvZChldmVudCkpIHtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICBldmVudC5rZXkgPT09IHRoaXMubnVtYmVyTG9jYWxlQ29uZmlnLmZyYWN0aW9uU2VwYXJhdG9yICYmXG4gICAgICAgICAgICAgICAgdGhpcy52aWV3VmFsdWUuaW5kZXhPZih0aGlzLm51bWJlckxvY2FsZUNvbmZpZy5mcmFjdGlvblNlcGFyYXRvcikgIT09IC0xXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGFsbG93ZWRLZXlzLmluZGV4T2Yoa2V5Q29kZSkgIT09IC0xIHx8IFtcbiAgICAgICAgICAgICAgICBpc0N0cmxBLFxuICAgICAgICAgICAgICAgIGlzQ3RybEMsXG4gICAgICAgICAgICAgICAgaXNDdHJsVixcbiAgICAgICAgICAgICAgICBpc0N0cmxYLFxuICAgICAgICAgICAgICAgIGlzQ3RybFosXG4gICAgICAgICAgICAgICAgaXNGdW5jdGlvbktleSxcbiAgICAgICAgICAgICAgICBpc1BlcmlvZFxuICAgICAgICAgICAgXS5zb21lKChmbikgPT4gZm4oZXZlbnQpKSkge1xuICAgICAgICAgICAgLy8gbGV0IGl0IGhhcHBlbiwgZG9uJ3QgZG8gYW55dGhpbmdcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICAvLyBFbnN1cmUgdGhhdCBpdCBpcyBub3QgYSBudW1iZXIgYW5kIHN0b3AgdGhlIGtleXByZXNzXG4gICAgICAgIGlmIChldmVudC5zaGlmdEtleSB8fCAoIWlzTnVtYmVyS2V5KGV2ZW50KSAmJiAhaXNOdW1wYWRLZXkoZXZlbnQpKSkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgICAgICAgLy8gcHJvY2VzcyBzdGVwc1xuICAgICAgICAgICAgY29uc3Qgc3RlcCA9IGV2ZW50LnNoaWZ0S2V5ID8gdGhpcy5iaWdTdGVwIDogdGhpcy5zdGVwO1xuXG4gICAgICAgICAgICBpZiAoa2V5Q29kZSA9PT0gVVBfQVJST1cpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnN0ZXBVcChzdGVwKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGtleUNvZGUgPT09IERPV05fQVJST1cpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnN0ZXBEb3duKHN0ZXApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25JbnB1dChldmVudDogSW5wdXRFdmVudCkge1xuICAgICAgICBjb25zdCBjdXJyZW50VmFsdWVMZW5ndGggPSB0aGlzLmZvcm1hdE51bWJlcih0aGlzLnZhbHVlKT8ubGVuZ3RoIHx8IDA7XG5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBmcm9tUGFzdGUgPSBldmVudC5pbnB1dFR5cGUgPT09ICdpbnNlcnRGcm9tUGFzdGUnO1xuICAgICAgICAgICAgbGV0IGZvcm1hdHRlZFZhbHVlOiBzdHJpbmcgfCBudWxsO1xuICAgICAgICAgICAgaWYgKGZyb21QYXN0ZSkge1xuICAgICAgICAgICAgICAgIGZvcm1hdHRlZFZhbHVlID0gdGhpcy5mb3JtYXROdW1iZXIodGhpcy52YWx1ZUZyb21QYXN0ZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIC8qdGhpcy52aWV3VmFsdWUgaXMgcmF3IGFuZCBzaG91bGQgYmUgcmVmb3JtYXR0ZWQgdG8gbG9jYWxpemVkIG51bWJlciAqL1xuICAgICAgICAgICAgICAgIGZvcm1hdHRlZFZhbHVlID0gdGhpcy5mb3JtYXRWaWV3VmFsdWUoKTtcblxuICAgICAgICAgICAgICAgIGNvbnN0IG9mZnNldFdoZW5TZXBhcmF0b3JBZGRlZCA9IDI7XG5cbiAgICAgICAgICAgICAgICBQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKE1hdGguYWJzKHRoaXMudmlld1ZhbHVlLmxlbmd0aCAtIGN1cnJlbnRWYWx1ZUxlbmd0aCkgPT09IG9mZnNldFdoZW5TZXBhcmF0b3JBZGRlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY3Vyc29yUG9zaXRpb24gPSBNYXRoLm1heChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICh0aGlzLm5hdGl2ZUVsZW1lbnQuc2VsZWN0aW9uU3RhcnQgfHwgMCkgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYXRoLnNpZ24odGhpcy52aWV3VmFsdWUubGVuZ3RoIC0gY3VycmVudFZhbHVlTGVuZ3RoKVxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLm5hdGl2ZUVsZW1lbnQsICdzZWxlY3Rpb25TdGFydCcsIGN1cnNvclBvc2l0aW9uKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5uYXRpdmVFbGVtZW50LCAnc2VsZWN0aW9uRW5kJywgY3Vyc29yUG9zaXRpb24pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnNldFZpZXdWYWx1ZShmb3JtYXR0ZWRWYWx1ZSwgIWZyb21QYXN0ZSk7XG4gICAgICAgICAgICB0aGlzLnZpZXdUb01vZGVsVXBkYXRlKGZvcm1hdHRlZFZhbHVlKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25QYXN0ZShldmVudDogQ2xpcGJvYXJkRXZlbnQpIHtcbiAgICAgICAgdGhpcy52YWx1ZUZyb21QYXN0ZSA9IHRoaXMuY2hlY2tBbmROb3JtYWxpemVMb2NhbGl6ZWROdW1iZXIoZXZlbnQuY2xpcGJvYXJkRGF0YT8uZ2V0RGF0YSgndGV4dCcpKTtcbiAgICAgICAgaWYgKHRoaXMudmFsdWVGcm9tUGFzdGUgPT09IG51bGwpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzdGVwVXAoc3RlcDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuXG4gICAgICAgIGNvbnN0IHJlcyA9IE1hdGgubWF4KE1hdGgubWluKGFkZCh0aGlzLnZhbHVlIHx8IDAsIHN0ZXApLCB0aGlzLm1heCksIHRoaXMubWluKTtcblxuICAgICAgICB0aGlzLnNldFZpZXdWYWx1ZSh0aGlzLmZvcm1hdE51bWJlcihyZXMpKTtcblxuICAgICAgICB0aGlzLl92YWx1ZSA9IHJlcztcbiAgICAgICAgdGhpcy5jdmFPbkNoYW5nZShyZXMpO1xuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQocmVzKTtcbiAgICB9XG5cbiAgICBzdGVwRG93bihzdGVwOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG5cbiAgICAgICAgY29uc3QgcmVzID0gTWF0aC5taW4oTWF0aC5tYXgoYWRkKHRoaXMudmFsdWUgfHwgMCwgLXN0ZXApLCB0aGlzLm1pbiksIHRoaXMubWF4KTtcblxuICAgICAgICB0aGlzLnNldFZpZXdWYWx1ZSh0aGlzLmZvcm1hdE51bWJlcihyZXMpKTtcblxuICAgICAgICB0aGlzLl92YWx1ZSA9IHJlcztcbiAgICAgICAgdGhpcy5jdmFPbkNoYW5nZShyZXMpO1xuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQocmVzKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGN2YU9uQ2hhbmdlOiAodmFsdWU6IGFueSkgPT4gdm9pZCA9ICgpID0+IHt9O1xuXG4gICAgcHJpdmF0ZSBzZXRWaWV3VmFsdWUodmFsdWU6IHN0cmluZyB8IG51bGwsIHNhdmVQb3NpdGlvbjogYm9vbGVhbiA9IGZhbHNlKSB7XG4gICAgICAgIGNvbnN0IGN1cnNvclBvc2l0aW9uID0gdGhpcy5uYXRpdmVFbGVtZW50LnNlbGVjdGlvblN0YXJ0O1xuXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5uYXRpdmVFbGVtZW50LCAndmFsdWUnLCB2YWx1ZSk7XG5cbiAgICAgICAgaWYgKHNhdmVQb3NpdGlvbikge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLm5hdGl2ZUVsZW1lbnQsICdzZWxlY3Rpb25TdGFydCcsIGN1cnNvclBvc2l0aW9uKTtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5uYXRpdmVFbGVtZW50LCAnc2VsZWN0aW9uRW5kJywgY3Vyc29yUG9zaXRpb24pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB2aWV3VG9Nb2RlbFVwZGF0ZShuZXdWYWx1ZTogc3RyaW5nIHwgbnVsbCkge1xuICAgICAgICBjb25zdCBub3JtYWxpemVkVmFsdWUgPSBuZXdWYWx1ZSA9PT0gbnVsbCA/IG51bGwgOiArdGhpcy5ub3JtYWxpemVOdW1iZXIobmV3VmFsdWUpO1xuXG4gICAgICAgIGlmIChub3JtYWxpemVkVmFsdWUgIT09IHRoaXMudmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuX3ZhbHVlID0gbm9ybWFsaXplZFZhbHVlO1xuICAgICAgICAgICAgdGhpcy5jdmFPbkNoYW5nZShub3JtYWxpemVkVmFsdWUpO1xuICAgICAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KG5vcm1hbGl6ZWRWYWx1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm5nQ29udHJvbD8udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSh7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb3JtYXRWaWV3VmFsdWUoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgIGlmICh0aGlzLnZpZXdWYWx1ZSA9PT0gbnVsbCB8fCB0aGlzLnZpZXdWYWx1ZSA9PT0gJycgfHwgTnVtYmVyLmlzTmFOKCt0aGlzLm5vcm1hbGl6ZU51bWJlcih0aGlzLnZpZXdWYWx1ZSkpKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHNlcGFyYXRvciA9XG4gICAgICAgICAgICB0aGlzLm51bWJlckxvY2FsZUNvbmZpZy5ncm91cFNlcGFyYXRvci5pbmNsdWRlcygnICcpICYmIHRoaXMubnVtYmVyTG9jYWxlQ29uZmlnLmZyYWN0aW9uU2VwYXJhdG9yID09PSAnLCdcbiAgICAgICAgICAgICAgICA/IC9bLC5dL1xuICAgICAgICAgICAgICAgIDogdGhpcy5udW1iZXJMb2NhbGVDb25maWcuZnJhY3Rpb25TZXBhcmF0b3I7XG5cbiAgICAgICAgY29uc3QgW2ludFBhcnQsIGZyYWN0aW9uUGFydF0gPSB0aGlzLnZpZXdWYWx1ZVxuICAgICAgICAgICAgLnNwbGl0KHNlcGFyYXRvcilcbiAgICAgICAgICAgIC5tYXAoKHZhbHVlUGFydCkgPT4gdGhpcy5ub3JtYWxpemVOdW1iZXIodmFsdWVQYXJ0KSk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlTG9jYWxpemVkTnVtYmVyRnJvbVBhcnRzKCtpbnRQYXJ0LCBmcmFjdGlvblBhcnQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZm9ybWF0TnVtYmVyKHZhbHVlOiBudW1iZXIgfCBudWxsIHwgdW5kZWZpbmVkKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IFtpbnRQYXJ0LCBmcmFjdGlvblBhcnRdID0gdmFsdWUudG9TdHJpbmcoKS5zcGxpdCgnLicpO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmNyZWF0ZUxvY2FsaXplZE51bWJlckZyb21QYXJ0cygraW50UGFydCwgZnJhY3Rpb25QYXJ0KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZUxvY2FsaXplZE51bWJlckZyb21QYXJ0cyhpbnRQYXJ0OiBudW1iZXIsIGZyYWN0aW9uUGFydD86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGZvcm1hdE9wdGlvbnMgPSB7XG4gICAgICAgICAgICB1c2VHcm91cGluZzogdGhpcy53aXRoVGhvdXNhbmRTZXBhcmF0b3IsXG4gICAgICAgICAgICBtYXhpbXVtRnJhY3Rpb25EaWdpdHM6IDIwXG4gICAgICAgIH07XG5cbiAgICAgICAgaWYgKHRoaXMud2l0aFRob3VzYW5kU2VwYXJhdG9yICYmIHRoaXMubnVtYmVyTG9jYWxlQ29uZmlnLnN0YXJ0Rm9ybWF0dGluZ0Zyb20pIHtcbiAgICAgICAgICAgIGZvcm1hdE9wdGlvbnMudXNlR3JvdXBpbmcgPSBpbnRQYXJ0ID49IE1hdGgucG93KDEwLCB0aGlzLm51bWJlckxvY2FsZUNvbmZpZy5zdGFydEZvcm1hdHRpbmdGcm9tKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGxvY2FsZUlkID0gdGhpcy5sb2NhbGVTZXJ2aWNlLmlkID09PSAnZXMtTEEnID8gJ3J1LVJVJyA6IHRoaXMubG9jYWxlU2VydmljZS5pZDtcblxuICAgICAgICBjb25zdCBmb3JtYXR0ZXIgPSBuZXcgSW50bC5OdW1iZXJGb3JtYXQobG9jYWxlSWQsIGZvcm1hdE9wdGlvbnMpO1xuICAgICAgICBjb25zdCBmb3JtYXR0ZWRGcmFjdGlvblBhcnQgPSBmcmFjdGlvblBhcnRcbiAgICAgICAgICAgID8uc3BsaXQoJycpXG4gICAgICAgICAgICAubWFwKChudW1DaGFyKSA9PiBmb3JtYXR0ZXIuZm9ybWF0KCtudW1DaGFyKSlcbiAgICAgICAgICAgIC5qb2luKCcnKTtcblxuICAgICAgICByZXR1cm4gZm9ybWF0dGVkRnJhY3Rpb25QYXJ0ID09PSB1bmRlZmluZWRcbiAgICAgICAgICAgID8gZm9ybWF0dGVyLmZvcm1hdChpbnRQYXJ0KVxuICAgICAgICAgICAgOiBgJHtmb3JtYXR0ZXIuZm9ybWF0KGludFBhcnQpfSR7dGhpcy5udW1iZXJMb2NhbGVDb25maWcuZnJhY3Rpb25TZXBhcmF0b3J9JHtmb3JtYXR0ZWRGcmFjdGlvblBhcnR9YDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBNZXRob2QgdGhhdCByZXR1cm5zIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIGEgbnVtYmVyIHdpdGhvdXQgbG9jYWxpemVkIHNlcGFyYXRvcnNcbiAgICAgKi9cbiAgICBwcml2YXRlIG5vcm1hbGl6ZU51bWJlcih2YWx1ZTogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCwgY3VzdG9tQ29uZmlnPzogTnVtYmVyTG9jYWxlQ29uZmlnKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHsgZ3JvdXBTZXBhcmF0b3IsIGZyYWN0aW9uU2VwYXJhdG9yIH0gPSBjdXN0b21Db25maWcgfHwgdGhpcy5udW1iZXJMb2NhbGVDb25maWc7XG4gICAgICAgIGNvbnN0IGdyb3VwU2VwYXJhdG9yUmVnZXhwID0gbmV3IFJlZ0V4cChgWyR7Z3JvdXBTZXBhcmF0b3Iuam9pbignJyl9XWAsICdnJyk7XG4gICAgICAgIGNvbnN0IGZyYWN0aW9uU2VwYXJhdG9yUmVnZXhwID0gbmV3IFJlZ0V4cChgXFxcXCR7ZnJhY3Rpb25TZXBhcmF0b3J9YCwgJ2cnKTtcblxuICAgICAgICByZXR1cm4gdmFsdWUudG9TdHJpbmcoKS5yZXBsYWNlKGdyb3VwU2VwYXJhdG9yUmVnZXhwLCAnJykucmVwbGFjZShmcmFjdGlvblNlcGFyYXRvclJlZ2V4cCwgJy4nKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUxvY2FsZVBhcmFtcyA9IChpZDogc3RyaW5nKSA9PiB7XG4gICAgICAgIHRoaXMubnVtYmVyTG9jYWxlQ29uZmlnID0gdGhpcy5sb2NhbGVTZXJ2aWNlLmxvY2FsZXNbaWRdLmlucHV0Lm51bWJlcjtcblxuICAgICAgICB0aGlzLnNldFZpZXdWYWx1ZSh0aGlzLmZvcm1hdE51bWJlcih0aGlzLnZhbHVlKSk7XG4gICAgfTtcblxuICAgIHByaXZhdGUgY2hlY2tBbmROb3JtYWxpemVMb2NhbGl6ZWROdW1iZXIobnVtOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKTogbnVtYmVyIHwgbnVsbCB7XG4gICAgICAgIGlmIChudW0gPT09IG51bGwgfHwgbnVtID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgLyogaWYgc29tZSBsb2NhbGUgaW5wdXQgY29uZmlnIHNhdGlzZmllcyBwYXN0ZWQgbnVtYmVyLCB0cnkgdG8gbm9ybWFsaXplIHdpdGggc2VsZWN0ZWQgbG9jYWxlIGNvbmZpZyAqL1xuICAgICAgICBsZXQgbnVtYmVyT3V0cHV0OiBudW1iZXIgfCBudWxsID0gbnVsbDtcbiAgICAgICAgZm9yIChjb25zdCB7IGNvbmZpZyB9IG9mIHRoaXMuYWxsTnVtYmVyTG9jYWxlQ29uZmlncykge1xuICAgICAgICAgICAgY29uc3Qgbm9ybWFsaXplZCA9ICt0aGlzLm5vcm1hbGl6ZU51bWJlcihudW0sIGNvbmZpZyk7XG4gICAgICAgICAgICBpZiAoIU51bWJlci5pc05hTihub3JtYWxpemVkKSkge1xuICAgICAgICAgICAgICAgIG51bWJlck91dHB1dCA9IG5vcm1hbGl6ZWQ7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbnVtYmVyT3V0cHV0O1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -174,15 +174,15 @@ export class KbqInputPassword extends KbqInputMixinBase {
|
|
|
174
174
|
// The `validity` property won't be present on platform-server.
|
|
175
175
|
return this.elementRef.nativeElement.validity?.badInput;
|
|
176
176
|
}
|
|
177
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
178
|
-
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.
|
|
177
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqInputPassword, deps: [{ token: i0.ElementRef }, { token: i1.NgControl, optional: true, self: true }, { token: i1.NgForm, optional: true }, { token: i1.FormGroupDirective, optional: true }, { token: i2.ErrorStateMatcher }, { token: KBQ_INPUT_VALUE_ACCESSOR, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
178
|
+
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.6", type: KbqInputPassword, selector: "input[kbqInputPassword]", inputs: { errorStateMatcher: "errorStateMatcher", placeholder: "placeholder", disabled: "disabled", id: "id", required: "required", value: "value" }, host: { listeners: { "blur": "onBlur()", "focus": "focusChanged(true)", "input": "onInput()" }, properties: { "attr.id": "id", "attr.type": "elementType", "attr.placeholder": "placeholder", "attr.disabled": "disabled || null", "required": "required" }, classAttribute: "kbq-input kbq-input-password" }, providers: [
|
|
179
179
|
{
|
|
180
180
|
provide: KbqFormFieldControl,
|
|
181
181
|
useExisting: KbqInputPassword
|
|
182
182
|
}
|
|
183
183
|
], exportAs: ["kbqInputPassword"], usesInheritance: true, usesOnChanges: true, ngImport: i0 }); }
|
|
184
184
|
}
|
|
185
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
185
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqInputPassword, decorators: [{
|
|
186
186
|
type: Directive,
|
|
187
187
|
args: [{
|
|
188
188
|
selector: `input[kbqInputPassword]`,
|