@sebgroup/green-angular 6.8.0 → 7.0.0-rc.20251125130141487
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/fesm2022/sebgroup-green-angular-src-lib-accordion.mjs +13 -13
- package/fesm2022/sebgroup-green-angular-src-lib-accordion.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-lib-badge.mjs +9 -8
- package/fesm2022/sebgroup-green-angular-src-lib-badge.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-lib-button.mjs +9 -8
- package/fesm2022/sebgroup-green-angular-src-lib-button.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-lib-cell-table.mjs +17 -15
- package/fesm2022/sebgroup-green-angular-src-lib-cell-table.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-lib-context-menu.mjs +9 -9
- package/fesm2022/sebgroup-green-angular-src-lib-context-menu.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-lib-datepicker.mjs +9 -9
- package/fesm2022/sebgroup-green-angular-src-lib-datepicker.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-lib-dropdown.mjs +17 -15
- package/fesm2022/sebgroup-green-angular-src-lib-dropdown.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-lib-in-page-wizard.mjs +9 -9
- package/fesm2022/sebgroup-green-angular-src-lib-in-page-wizard.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-lib-modal.mjs +30 -28
- package/fesm2022/sebgroup-green-angular-src-lib-modal.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-lib-pagination.mjs +9 -9
- package/fesm2022/sebgroup-green-angular-src-lib-pagination.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-lib-progress-circle.mjs +9 -9
- package/fesm2022/sebgroup-green-angular-src-lib-progress-circle.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-lib-segmented-control.mjs +9 -9
- package/fesm2022/sebgroup-green-angular-src-lib-segmented-control.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-lib-shared.mjs +43 -38
- package/fesm2022/sebgroup-green-angular-src-lib-shared.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-lib-slider.mjs +9 -9
- package/fesm2022/sebgroup-green-angular-src-lib-slider.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-lib-sortable-list.mjs +9 -9
- package/fesm2022/sebgroup-green-angular-src-lib-sortable-list.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-v-angular-account-number.mjs +7 -7
- package/fesm2022/sebgroup-green-angular-src-v-angular-account-number.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-v-angular-alert.mjs +9 -9
- package/fesm2022/sebgroup-green-angular-src-v-angular-alert.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-v-angular-base-control-value-accessor.mjs +13 -10
- package/fesm2022/sebgroup-green-angular-src-v-angular-base-control-value-accessor.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-v-angular-breadcrumbs.mjs +9 -9
- package/fesm2022/sebgroup-green-angular-src-v-angular-breadcrumbs.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-v-angular-button.mjs +9 -9
- package/fesm2022/sebgroup-green-angular-src-v-angular-button.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-v-angular-card.mjs +8 -8
- package/fesm2022/sebgroup-green-angular-src-v-angular-card.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-v-angular-character-countdown.mjs +9 -8
- package/fesm2022/sebgroup-green-angular-src-v-angular-character-countdown.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-v-angular-checkbox.mjs +9 -9
- package/fesm2022/sebgroup-green-angular-src-v-angular-checkbox.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-v-angular-core.mjs +3 -3
- package/fesm2022/sebgroup-green-angular-src-v-angular-core.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-v-angular-datepicker.mjs +52 -43
- package/fesm2022/sebgroup-green-angular-src-v-angular-datepicker.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-v-angular-drag-drop.mjs +19 -16
- package/fesm2022/sebgroup-green-angular-src-v-angular-drag-drop.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-v-angular-dropdown.mjs +32 -32
- package/fesm2022/sebgroup-green-angular-src-v-angular-dropdown.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-v-angular-external-link.mjs +9 -8
- package/fesm2022/sebgroup-green-angular-src-v-angular-external-link.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-v-angular-i18n.mjs +19 -16
- package/fesm2022/sebgroup-green-angular-src-v-angular-i18n.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-v-angular-info-circle.mjs +9 -9
- package/fesm2022/sebgroup-green-angular-src-v-angular-info-circle.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-v-angular-input-mask.mjs +13 -11
- package/fesm2022/sebgroup-green-angular-src-v-angular-input-mask.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-v-angular-input.mjs +9 -9
- package/fesm2022/sebgroup-green-angular-src-v-angular-input.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-v-angular-modal.mjs +22 -21
- package/fesm2022/sebgroup-green-angular-src-v-angular-modal.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-v-angular-pagination.mjs +9 -9
- package/fesm2022/sebgroup-green-angular-src-v-angular-pagination.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-v-angular-radio.mjs +16 -16
- package/fesm2022/sebgroup-green-angular-src-v-angular-radio.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-v-angular-slug.mjs +8 -7
- package/fesm2022/sebgroup-green-angular-src-v-angular-slug.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-v-angular-table.mjs +28 -24
- package/fesm2022/sebgroup-green-angular-src-v-angular-table.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-v-angular-tabs.mjs +13 -12
- package/fesm2022/sebgroup-green-angular-src-v-angular-tabs.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-v-angular-textarea.mjs +9 -9
- package/fesm2022/sebgroup-green-angular-src-v-angular-textarea.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-v-angular-toast.mjs +12 -12
- package/fesm2022/sebgroup-green-angular-src-v-angular-toast.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-v-angular-tooltip.mjs +9 -8
- package/fesm2022/sebgroup-green-angular-src-v-angular-tooltip.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-v-angular.mjs +347 -317
- package/fesm2022/sebgroup-green-angular-v-angular.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular.mjs +201 -188
- package/fesm2022/sebgroup-green-angular.mjs.map +1 -1
- package/package.json +8 -94
- package/src/v-angular/datepicker/date-control-value-accessor/date-control-value-accessor.component.d.ts +1 -1
- package/src/v-angular/drag-drop/drag-drop.component.d.ts +3 -3
- package/v-angular/datepicker/date-control-value-accessor/date-control-value-accessor.component.d.ts +1 -1
- package/v-angular/drag-drop/drag-drop.component.d.ts +3 -3
- package/esm2022/index.mjs +0 -18
- package/esm2022/lib/accordion/accordion-list-item.component.mjs +0 -50
- package/esm2022/lib/accordion/accordion.component.mjs +0 -77
- package/esm2022/lib/accordion/accordion.module.mjs +0 -24
- package/esm2022/lib/accordion/index.mjs +0 -4
- package/esm2022/lib/badge/badge.component.mjs +0 -85
- package/esm2022/lib/badge/badge.module.mjs +0 -23
- package/esm2022/lib/badge/index.mjs +0 -3
- package/esm2022/lib/button/button.component.mjs +0 -28
- package/esm2022/lib/button/button.module.mjs +0 -18
- package/esm2022/lib/button/index.mjs +0 -3
- package/esm2022/lib/cell-table/cell-table-item.component.mjs +0 -91
- package/esm2022/lib/cell-table/cell-table.component.mjs +0 -97
- package/esm2022/lib/cell-table/cell-table.module.mjs +0 -26
- package/esm2022/lib/cell-table/cell-table.types.mjs +0 -7
- package/esm2022/lib/cell-table/cell-underline.directive.mjs +0 -55
- package/esm2022/lib/cell-table/index.mjs +0 -4
- package/esm2022/lib/context-menu/context-menu.component.mjs +0 -79
- package/esm2022/lib/context-menu/context-menu.module.mjs +0 -37
- package/esm2022/lib/context-menu/index.mjs +0 -3
- package/esm2022/lib/datepicker/datepicker.component.mjs +0 -144
- package/esm2022/lib/datepicker/datepicker.module.mjs +0 -37
- package/esm2022/lib/datepicker/index.mjs +0 -3
- package/esm2022/lib/dropdown/dropdown-button.directive.mjs +0 -16
- package/esm2022/lib/dropdown/dropdown-option.directive.mjs +0 -16
- package/esm2022/lib/dropdown/dropdown.component.mjs +0 -248
- package/esm2022/lib/dropdown/dropdown.module.mjs +0 -51
- package/esm2022/lib/dropdown/index.mjs +0 -5
- package/esm2022/lib/green-angular.module.mjs +0 -72
- package/esm2022/lib/in-page-wizard/in-page-wizard-step-card.component.mjs +0 -61
- package/esm2022/lib/in-page-wizard/in-page-wizard.module.mjs +0 -18
- package/esm2022/lib/in-page-wizard/index.mjs +0 -3
- package/esm2022/lib/modal/index.mjs +0 -5
- package/esm2022/lib/modal/modal-footer.directive.mjs +0 -16
- package/esm2022/lib/modal/modal-header.directive.mjs +0 -16
- package/esm2022/lib/modal/modal.component.mjs +0 -317
- package/esm2022/lib/modal/modal.module.mjs +0 -44
- package/esm2022/lib/pagination/index.mjs +0 -3
- package/esm2022/lib/pagination/pagination.component.mjs +0 -175
- package/esm2022/lib/pagination/pagination.module.mjs +0 -18
- package/esm2022/lib/progress-circle/index.mjs +0 -3
- package/esm2022/lib/progress-circle/progress-circle.component.mjs +0 -41
- package/esm2022/lib/progress-circle/progress-circle.module.mjs +0 -18
- package/esm2022/lib/segmented-control/index.mjs +0 -3
- package/esm2022/lib/segmented-control/segmented-control.component.mjs +0 -38
- package/esm2022/lib/segmented-control/segmented-control.module.mjs +0 -22
- package/esm2022/lib/shared/core-control/core-checkbox.directive.mjs +0 -39
- package/esm2022/lib/shared/core-control/core-control.directive.mjs +0 -94
- package/esm2022/lib/shared/core-control/core-control.module.mjs +0 -20
- package/esm2022/lib/shared/core-control/index.mjs +0 -4
- package/esm2022/lib/shared/core-element/core-element.directive.mjs +0 -34
- package/esm2022/lib/shared/core-element/core-element.module.mjs +0 -18
- package/esm2022/lib/shared/core-element/index.mjs +0 -3
- package/esm2022/lib/shared/core-renderer/core-renderer.mjs +0 -152
- package/esm2022/lib/shared/core-renderer/index.mjs +0 -2
- package/esm2022/lib/shared/core-router-link/core-router-link.directive.mjs +0 -53
- package/esm2022/lib/shared/core-router-link/core-router-link.module.mjs +0 -16
- package/esm2022/lib/shared/core-router-link/index.mjs +0 -3
- package/esm2022/lib/shared/index.mjs +0 -7
- package/esm2022/lib/shared/on-scroll.directive.mjs +0 -47
- package/esm2022/lib/shared/scope-resolver.mjs +0 -9
- package/esm2022/lib/shared/shared.module.mjs +0 -19
- package/esm2022/lib/slider/index.mjs +0 -3
- package/esm2022/lib/slider/slider.component.mjs +0 -116
- package/esm2022/lib/slider/slider.module.mjs +0 -19
- package/esm2022/lib/sortable-list/index.mjs +0 -3
- package/esm2022/lib/sortable-list/sortable-list.component.mjs +0 -181
- package/esm2022/lib/sortable-list/sortable-list.module.mjs +0 -20
- package/esm2022/sebgroup-green-angular.mjs +0 -5
- package/esm2022/src/lib/accordion/accordion-list-item.component.mjs +0 -50
- package/esm2022/src/lib/accordion/accordion.component.mjs +0 -77
- package/esm2022/src/lib/accordion/accordion.module.mjs +0 -24
- package/esm2022/src/lib/accordion/index.mjs +0 -4
- package/esm2022/src/lib/accordion/sebgroup-green-angular-src-lib-accordion.mjs +0 -5
- package/esm2022/src/lib/badge/badge.component.mjs +0 -85
- package/esm2022/src/lib/badge/badge.module.mjs +0 -23
- package/esm2022/src/lib/badge/index.mjs +0 -3
- package/esm2022/src/lib/badge/sebgroup-green-angular-src-lib-badge.mjs +0 -5
- package/esm2022/src/lib/button/button.component.mjs +0 -28
- package/esm2022/src/lib/button/button.module.mjs +0 -18
- package/esm2022/src/lib/button/index.mjs +0 -3
- package/esm2022/src/lib/button/sebgroup-green-angular-src-lib-button.mjs +0 -5
- package/esm2022/src/lib/cell-table/cell-table-item.component.mjs +0 -91
- package/esm2022/src/lib/cell-table/cell-table.component.mjs +0 -97
- package/esm2022/src/lib/cell-table/cell-table.module.mjs +0 -26
- package/esm2022/src/lib/cell-table/cell-table.types.mjs +0 -7
- package/esm2022/src/lib/cell-table/cell-underline.directive.mjs +0 -55
- package/esm2022/src/lib/cell-table/index.mjs +0 -4
- package/esm2022/src/lib/cell-table/sebgroup-green-angular-src-lib-cell-table.mjs +0 -5
- package/esm2022/src/lib/context-menu/context-menu.component.mjs +0 -79
- package/esm2022/src/lib/context-menu/context-menu.module.mjs +0 -37
- package/esm2022/src/lib/context-menu/index.mjs +0 -3
- package/esm2022/src/lib/context-menu/sebgroup-green-angular-src-lib-context-menu.mjs +0 -5
- package/esm2022/src/lib/datepicker/datepicker.component.mjs +0 -144
- package/esm2022/src/lib/datepicker/datepicker.module.mjs +0 -37
- package/esm2022/src/lib/datepicker/index.mjs +0 -3
- package/esm2022/src/lib/datepicker/sebgroup-green-angular-src-lib-datepicker.mjs +0 -5
- package/esm2022/src/lib/dropdown/dropdown-button.directive.mjs +0 -16
- package/esm2022/src/lib/dropdown/dropdown-option.directive.mjs +0 -16
- package/esm2022/src/lib/dropdown/dropdown.component.mjs +0 -248
- package/esm2022/src/lib/dropdown/dropdown.module.mjs +0 -51
- package/esm2022/src/lib/dropdown/index.mjs +0 -5
- package/esm2022/src/lib/dropdown/sebgroup-green-angular-src-lib-dropdown.mjs +0 -5
- package/esm2022/src/lib/in-page-wizard/in-page-wizard-step-card.component.mjs +0 -61
- package/esm2022/src/lib/in-page-wizard/in-page-wizard.module.mjs +0 -18
- package/esm2022/src/lib/in-page-wizard/index.mjs +0 -3
- package/esm2022/src/lib/in-page-wizard/sebgroup-green-angular-src-lib-in-page-wizard.mjs +0 -5
- package/esm2022/src/lib/modal/index.mjs +0 -5
- package/esm2022/src/lib/modal/modal-footer.directive.mjs +0 -16
- package/esm2022/src/lib/modal/modal-header.directive.mjs +0 -16
- package/esm2022/src/lib/modal/modal.component.mjs +0 -317
- package/esm2022/src/lib/modal/modal.module.mjs +0 -44
- package/esm2022/src/lib/modal/sebgroup-green-angular-src-lib-modal.mjs +0 -5
- package/esm2022/src/lib/pagination/index.mjs +0 -3
- package/esm2022/src/lib/pagination/pagination.component.mjs +0 -175
- package/esm2022/src/lib/pagination/pagination.module.mjs +0 -18
- package/esm2022/src/lib/pagination/sebgroup-green-angular-src-lib-pagination.mjs +0 -5
- package/esm2022/src/lib/progress-circle/index.mjs +0 -3
- package/esm2022/src/lib/progress-circle/progress-circle.component.mjs +0 -41
- package/esm2022/src/lib/progress-circle/progress-circle.module.mjs +0 -18
- package/esm2022/src/lib/progress-circle/sebgroup-green-angular-src-lib-progress-circle.mjs +0 -5
- package/esm2022/src/lib/segmented-control/index.mjs +0 -3
- package/esm2022/src/lib/segmented-control/sebgroup-green-angular-src-lib-segmented-control.mjs +0 -5
- package/esm2022/src/lib/segmented-control/segmented-control.component.mjs +0 -38
- package/esm2022/src/lib/segmented-control/segmented-control.module.mjs +0 -22
- package/esm2022/src/lib/shared/core-control/core-checkbox.directive.mjs +0 -39
- package/esm2022/src/lib/shared/core-control/core-control.directive.mjs +0 -94
- package/esm2022/src/lib/shared/core-control/core-control.module.mjs +0 -20
- package/esm2022/src/lib/shared/core-control/index.mjs +0 -4
- package/esm2022/src/lib/shared/core-element/core-element.directive.mjs +0 -34
- package/esm2022/src/lib/shared/core-element/core-element.module.mjs +0 -18
- package/esm2022/src/lib/shared/core-element/index.mjs +0 -3
- package/esm2022/src/lib/shared/core-renderer/core-renderer.mjs +0 -152
- package/esm2022/src/lib/shared/core-renderer/index.mjs +0 -2
- package/esm2022/src/lib/shared/core-router-link/core-router-link.directive.mjs +0 -53
- package/esm2022/src/lib/shared/core-router-link/core-router-link.module.mjs +0 -16
- package/esm2022/src/lib/shared/core-router-link/index.mjs +0 -3
- package/esm2022/src/lib/shared/index.mjs +0 -7
- package/esm2022/src/lib/shared/on-scroll.directive.mjs +0 -47
- package/esm2022/src/lib/shared/scope-resolver.mjs +0 -9
- package/esm2022/src/lib/shared/sebgroup-green-angular-src-lib-shared.mjs +0 -5
- package/esm2022/src/lib/shared/shared.module.mjs +0 -19
- package/esm2022/src/lib/slider/index.mjs +0 -3
- package/esm2022/src/lib/slider/sebgroup-green-angular-src-lib-slider.mjs +0 -5
- package/esm2022/src/lib/slider/slider.component.mjs +0 -116
- package/esm2022/src/lib/slider/slider.module.mjs +0 -19
- package/esm2022/src/lib/sortable-list/index.mjs +0 -3
- package/esm2022/src/lib/sortable-list/sebgroup-green-angular-src-lib-sortable-list.mjs +0 -5
- package/esm2022/src/lib/sortable-list/sortable-list.component.mjs +0 -181
- package/esm2022/src/lib/sortable-list/sortable-list.module.mjs +0 -20
- package/esm2022/src/v-angular/account-number/account-number.module.mjs +0 -18
- package/esm2022/src/v-angular/account-number/account-number.pipe.mjs +0 -55
- package/esm2022/src/v-angular/account-number/index.mjs +0 -3
- package/esm2022/src/v-angular/account-number/sebgroup-green-angular-src-v-angular-account-number.mjs +0 -5
- package/esm2022/src/v-angular/alert/alert.component.mjs +0 -49
- package/esm2022/src/v-angular/alert/alert.models.mjs +0 -8
- package/esm2022/src/v-angular/alert/alert.module.mjs +0 -18
- package/esm2022/src/v-angular/alert/index.mjs +0 -4
- package/esm2022/src/v-angular/alert/sebgroup-green-angular-src-v-angular-alert.mjs +0 -5
- package/esm2022/src/v-angular/base-control-value-accessor/base-control-value-accessor.component.mjs +0 -300
- package/esm2022/src/v-angular/base-control-value-accessor/base-control-value-accessor.module.mjs +0 -17
- package/esm2022/src/v-angular/base-control-value-accessor/index.mjs +0 -3
- package/esm2022/src/v-angular/base-control-value-accessor/sebgroup-green-angular-src-v-angular-base-control-value-accessor.mjs +0 -5
- package/esm2022/src/v-angular/breadcrumbs/breadcrumbs.component.mjs +0 -25
- package/esm2022/src/v-angular/breadcrumbs/breadcrumbs.module.mjs +0 -20
- package/esm2022/src/v-angular/breadcrumbs/index.mjs +0 -3
- package/esm2022/src/v-angular/breadcrumbs/sebgroup-green-angular-src-v-angular-breadcrumbs.mjs +0 -5
- package/esm2022/src/v-angular/button/button.component.mjs +0 -108
- package/esm2022/src/v-angular/button/button.module.mjs +0 -20
- package/esm2022/src/v-angular/button/index.mjs +0 -3
- package/esm2022/src/v-angular/button/sebgroup-green-angular-src-v-angular-button.mjs +0 -5
- package/esm2022/src/v-angular/card/card.component.mjs +0 -11
- package/esm2022/src/v-angular/card/card.module.mjs +0 -18
- package/esm2022/src/v-angular/card/index.mjs +0 -3
- package/esm2022/src/v-angular/card/sebgroup-green-angular-src-v-angular-card.mjs +0 -5
- package/esm2022/src/v-angular/character-countdown/character-countdown.directive.mjs +0 -51
- package/esm2022/src/v-angular/character-countdown/character-countdown.module.mjs +0 -18
- package/esm2022/src/v-angular/character-countdown/index.mjs +0 -3
- package/esm2022/src/v-angular/character-countdown/sebgroup-green-angular-src-v-angular-character-countdown.mjs +0 -5
- package/esm2022/src/v-angular/checkbox/checkbox.component.mjs +0 -94
- package/esm2022/src/v-angular/checkbox/checkbox.module.mjs +0 -21
- package/esm2022/src/v-angular/checkbox/index.mjs +0 -3
- package/esm2022/src/v-angular/checkbox/sebgroup-green-angular-src-v-angular-checkbox.mjs +0 -5
- package/esm2022/src/v-angular/core/core.globals.mjs +0 -20
- package/esm2022/src/v-angular/core/core.utils.mjs +0 -62
- package/esm2022/src/v-angular/core/index.mjs +0 -3
- package/esm2022/src/v-angular/core/sebgroup-green-angular-src-v-angular-core.mjs +0 -5
- package/esm2022/src/v-angular/datepicker/components/calendar/calendar.component.mjs +0 -200
- package/esm2022/src/v-angular/datepicker/components/calendar-control/calendar-control.component.mjs +0 -115
- package/esm2022/src/v-angular/datepicker/components/date-input/date-input.component.mjs +0 -238
- package/esm2022/src/v-angular/datepicker/components/datepicker/datepicker.component.mjs +0 -192
- package/esm2022/src/v-angular/datepicker/date-control-value-accessor/date-control-value-accessor.component.mjs +0 -411
- package/esm2022/src/v-angular/datepicker/datepicker.globals.mjs +0 -20
- package/esm2022/src/v-angular/datepicker/datepicker.models.mjs +0 -56
- package/esm2022/src/v-angular/datepicker/datepicker.module.mjs +0 -63
- package/esm2022/src/v-angular/datepicker/datepicker.utils.mjs +0 -196
- package/esm2022/src/v-angular/datepicker/directives/calendar-date.directive.mjs +0 -47
- package/esm2022/src/v-angular/datepicker/index.mjs +0 -17
- package/esm2022/src/v-angular/datepicker/models/dates.mjs +0 -291
- package/esm2022/src/v-angular/datepicker/pipes/date-thook.pipe.mjs +0 -30
- package/esm2022/src/v-angular/datepicker/pipes/is-disabled.pipe.mjs +0 -37
- package/esm2022/src/v-angular/datepicker/pipes/matches.pipe.mjs +0 -17
- package/esm2022/src/v-angular/datepicker/sebgroup-green-angular-src-v-angular-datepicker.mjs +0 -5
- package/esm2022/src/v-angular/drag-drop/drag-drop.component.mjs +0 -497
- package/esm2022/src/v-angular/drag-drop/drag-drop.models.mjs +0 -2
- package/esm2022/src/v-angular/drag-drop/drag-drop.module.mjs +0 -49
- package/esm2022/src/v-angular/drag-drop/drag-drop.pipes.mjs +0 -70
- package/esm2022/src/v-angular/drag-drop/drag-drop.utils.mjs +0 -76
- package/esm2022/src/v-angular/drag-drop/index.mjs +0 -5
- package/esm2022/src/v-angular/drag-drop/sebgroup-green-angular-src-v-angular-drag-drop.mjs +0 -5
- package/esm2022/src/v-angular/dropdown/dropdown-list/dropdown-list.component.mjs +0 -380
- package/esm2022/src/v-angular/dropdown/dropdown-list/index.mjs +0 -2
- package/esm2022/src/v-angular/dropdown/dropdown.component.mjs +0 -303
- package/esm2022/src/v-angular/dropdown/dropdown.module.mjs +0 -38
- package/esm2022/src/v-angular/dropdown/index.mjs +0 -6
- package/esm2022/src/v-angular/dropdown/sebgroup-green-angular-src-v-angular-dropdown.mjs +0 -5
- package/esm2022/src/v-angular/dropdown/typeahead/index.mjs +0 -6
- package/esm2022/src/v-angular/dropdown/typeahead/typeahead-dropdown-list/typeahead-dropdown-list.component.mjs +0 -110
- package/esm2022/src/v-angular/dropdown/typeahead/typeahead-highlight/typeahead-highlight.component.mjs +0 -85
- package/esm2022/src/v-angular/dropdown/typeahead/typeahead-input/typeahead-input.component.mjs +0 -138
- package/esm2022/src/v-angular/dropdown/typeahead/typeahead.directive.mjs +0 -186
- package/esm2022/src/v-angular/dropdown/typeahead/typeahead.module.mjs +0 -33
- package/esm2022/src/v-angular/external-link/external-link.directive.mjs +0 -37
- package/esm2022/src/v-angular/external-link/external-link.module.mjs +0 -18
- package/esm2022/src/v-angular/external-link/index.mjs +0 -3
- package/esm2022/src/v-angular/external-link/sebgroup-green-angular-src-v-angular-external-link.mjs +0 -5
- package/esm2022/src/v-angular/i18n/i18n.json +0 -13
- package/esm2022/src/v-angular/i18n/i18n.module.mjs +0 -89
- package/esm2022/src/v-angular/i18n/i18n.test.module.mjs +0 -89
- package/esm2022/src/v-angular/i18n/index.mjs +0 -3
- package/esm2022/src/v-angular/i18n/sebgroup-green-angular-src-v-angular-i18n.mjs +0 -5
- package/esm2022/src/v-angular/info-circle/index.mjs +0 -3
- package/esm2022/src/v-angular/info-circle/info-circle.component.mjs +0 -28
- package/esm2022/src/v-angular/info-circle/info-circle.module.mjs +0 -21
- package/esm2022/src/v-angular/info-circle/sebgroup-green-angular-src-v-angular-info-circle.mjs +0 -5
- package/esm2022/src/v-angular/input/index.mjs +0 -3
- package/esm2022/src/v-angular/input/input.component.mjs +0 -248
- package/esm2022/src/v-angular/input/input.module.mjs +0 -41
- package/esm2022/src/v-angular/input/sebgroup-green-angular-src-v-angular-input.mjs +0 -5
- package/esm2022/src/v-angular/input-mask/config.mjs +0 -9
- package/esm2022/src/v-angular/input-mask/constants.mjs +0 -2
- package/esm2022/src/v-angular/input-mask/index.mjs +0 -6
- package/esm2022/src/v-angular/input-mask/input-mask-format.pipe.mjs +0 -21
- package/esm2022/src/v-angular/input-mask/input-mask.directive.mjs +0 -165
- package/esm2022/src/v-angular/input-mask/input-mask.module.mjs +0 -35
- package/esm2022/src/v-angular/input-mask/input-mask.types.mjs +0 -2
- package/esm2022/src/v-angular/input-mask/sebgroup-green-angular-src-v-angular-input-mask.mjs +0 -5
- package/esm2022/src/v-angular/modal/dialog/dialog.component.mjs +0 -242
- package/esm2022/src/v-angular/modal/fold-out/fold-out.component.mjs +0 -167
- package/esm2022/src/v-angular/modal/fold-out/fold-out.directive.mjs +0 -19
- package/esm2022/src/v-angular/modal/fold-out/keyboard-key.enum.mjs +0 -10
- package/esm2022/src/v-angular/modal/index.mjs +0 -6
- package/esm2022/src/v-angular/modal/modal.globals.mjs +0 -20
- package/esm2022/src/v-angular/modal/modal.module.mjs +0 -53
- package/esm2022/src/v-angular/modal/modal.types.mjs +0 -2
- package/esm2022/src/v-angular/modal/sebgroup-green-angular-src-v-angular-modal.mjs +0 -5
- package/esm2022/src/v-angular/modal/slide-out/slide-out.component.mjs +0 -253
- package/esm2022/src/v-angular/pagination/index.mjs +0 -3
- package/esm2022/src/v-angular/pagination/pagination.component.mjs +0 -144
- package/esm2022/src/v-angular/pagination/pagination.module.mjs +0 -37
- package/esm2022/src/v-angular/pagination/sebgroup-green-angular-src-v-angular-pagination.mjs +0 -5
- package/esm2022/src/v-angular/radio/index.mjs +0 -4
- package/esm2022/src/v-angular/radio/radio-group/radio-group.component.mjs +0 -86
- package/esm2022/src/v-angular/radio/radio.component.mjs +0 -153
- package/esm2022/src/v-angular/radio/radio.module.mjs +0 -22
- package/esm2022/src/v-angular/radio/sebgroup-green-angular-src-v-angular-radio.mjs +0 -5
- package/esm2022/src/v-angular/slug/index.mjs +0 -3
- package/esm2022/src/v-angular/slug/sebgroup-green-angular-src-v-angular-slug.mjs +0 -5
- package/esm2022/src/v-angular/slug/slug.module.mjs +0 -18
- package/esm2022/src/v-angular/slug/slug.pipe.mjs +0 -27
- package/esm2022/src/v-angular/table/index.mjs +0 -9
- package/esm2022/src/v-angular/table/sebgroup-green-angular-src-v-angular-table.mjs +0 -5
- package/esm2022/src/v-angular/table/table.component.mjs +0 -426
- package/esm2022/src/v-angular/table/table.directive.mjs +0 -110
- package/esm2022/src/v-angular/table/table.models.mjs +0 -2
- package/esm2022/src/v-angular/table/table.module.mjs +0 -40
- package/esm2022/src/v-angular/table/table.tools.mjs +0 -29
- package/esm2022/src/v-angular/table/tr-thook.pipe.mjs +0 -22
- package/esm2022/src/v-angular/tabs/index.mjs +0 -8
- package/esm2022/src/v-angular/tabs/sebgroup-green-angular-src-v-angular-tabs.mjs +0 -5
- package/esm2022/src/v-angular/tabs/tab.directive.mjs +0 -81
- package/esm2022/src/v-angular/tabs/tabs.component.mjs +0 -262
- package/esm2022/src/v-angular/tabs/tabs.models.mjs +0 -2
- package/esm2022/src/v-angular/tabs/tabs.module.mjs +0 -21
- package/esm2022/src/v-angular/textarea/index.mjs +0 -3
- package/esm2022/src/v-angular/textarea/sebgroup-green-angular-src-v-angular-textarea.mjs +0 -5
- package/esm2022/src/v-angular/textarea/textarea.component.mjs +0 -129
- package/esm2022/src/v-angular/textarea/textarea.module.mjs +0 -34
- package/esm2022/src/v-angular/toast/index.mjs +0 -8
- package/esm2022/src/v-angular/toast/sebgroup-green-angular-src-v-angular-toast.mjs +0 -5
- package/esm2022/src/v-angular/toast/toast-message.service.mjs +0 -82
- package/esm2022/src/v-angular/toast/toast.component.mjs +0 -66
- package/esm2022/src/v-angular/toast/toast.models.mjs +0 -8
- package/esm2022/src/v-angular/toast/toast.module.mjs +0 -21
- package/esm2022/src/v-angular/tooltip/index.mjs +0 -3
- package/esm2022/src/v-angular/tooltip/sebgroup-green-angular-src-v-angular-tooltip.mjs +0 -5
- package/esm2022/src/v-angular/tooltip/tooltip.directive.mjs +0 -293
- package/esm2022/src/v-angular/tooltip/tooltip.module.mjs +0 -18
- package/esm2022/src/v-angular/tooltip/tooltip.styles.mjs +0 -60
- package/esm2022/v-angular/account-number/account-number.module.mjs +0 -18
- package/esm2022/v-angular/account-number/account-number.pipe.mjs +0 -55
- package/esm2022/v-angular/account-number/index.mjs +0 -3
- package/esm2022/v-angular/alert/alert.component.mjs +0 -49
- package/esm2022/v-angular/alert/alert.models.mjs +0 -8
- package/esm2022/v-angular/alert/alert.module.mjs +0 -18
- package/esm2022/v-angular/alert/index.mjs +0 -4
- package/esm2022/v-angular/base-control-value-accessor/base-control-value-accessor.component.mjs +0 -300
- package/esm2022/v-angular/base-control-value-accessor/base-control-value-accessor.module.mjs +0 -17
- package/esm2022/v-angular/base-control-value-accessor/index.mjs +0 -3
- package/esm2022/v-angular/breadcrumbs/breadcrumbs.component.mjs +0 -25
- package/esm2022/v-angular/breadcrumbs/breadcrumbs.module.mjs +0 -20
- package/esm2022/v-angular/breadcrumbs/index.mjs +0 -3
- package/esm2022/v-angular/button/button.component.mjs +0 -108
- package/esm2022/v-angular/button/button.module.mjs +0 -20
- package/esm2022/v-angular/button/index.mjs +0 -3
- package/esm2022/v-angular/card/card.component.mjs +0 -11
- package/esm2022/v-angular/card/card.module.mjs +0 -18
- package/esm2022/v-angular/card/index.mjs +0 -3
- package/esm2022/v-angular/character-countdown/character-countdown.directive.mjs +0 -51
- package/esm2022/v-angular/character-countdown/character-countdown.module.mjs +0 -18
- package/esm2022/v-angular/character-countdown/index.mjs +0 -3
- package/esm2022/v-angular/checkbox/checkbox.component.mjs +0 -94
- package/esm2022/v-angular/checkbox/checkbox.module.mjs +0 -21
- package/esm2022/v-angular/checkbox/index.mjs +0 -3
- package/esm2022/v-angular/core/core.globals.mjs +0 -20
- package/esm2022/v-angular/core/core.utils.mjs +0 -62
- package/esm2022/v-angular/core/index.mjs +0 -3
- package/esm2022/v-angular/datepicker/components/calendar/calendar.component.mjs +0 -200
- package/esm2022/v-angular/datepicker/components/calendar-control/calendar-control.component.mjs +0 -115
- package/esm2022/v-angular/datepicker/components/date-input/date-input.component.mjs +0 -238
- package/esm2022/v-angular/datepicker/components/datepicker/datepicker.component.mjs +0 -192
- package/esm2022/v-angular/datepicker/date-control-value-accessor/date-control-value-accessor.component.mjs +0 -411
- package/esm2022/v-angular/datepicker/datepicker.globals.mjs +0 -20
- package/esm2022/v-angular/datepicker/datepicker.models.mjs +0 -56
- package/esm2022/v-angular/datepicker/datepicker.module.mjs +0 -63
- package/esm2022/v-angular/datepicker/datepicker.utils.mjs +0 -196
- package/esm2022/v-angular/datepicker/directives/calendar-date.directive.mjs +0 -47
- package/esm2022/v-angular/datepicker/index.mjs +0 -17
- package/esm2022/v-angular/datepicker/models/dates.mjs +0 -291
- package/esm2022/v-angular/datepicker/pipes/date-thook.pipe.mjs +0 -30
- package/esm2022/v-angular/datepicker/pipes/is-disabled.pipe.mjs +0 -37
- package/esm2022/v-angular/datepicker/pipes/matches.pipe.mjs +0 -17
- package/esm2022/v-angular/drag-drop/drag-drop.component.mjs +0 -497
- package/esm2022/v-angular/drag-drop/drag-drop.models.mjs +0 -2
- package/esm2022/v-angular/drag-drop/drag-drop.module.mjs +0 -49
- package/esm2022/v-angular/drag-drop/drag-drop.pipes.mjs +0 -70
- package/esm2022/v-angular/drag-drop/drag-drop.utils.mjs +0 -76
- package/esm2022/v-angular/drag-drop/index.mjs +0 -5
- package/esm2022/v-angular/dropdown/dropdown-list/dropdown-list.component.mjs +0 -380
- package/esm2022/v-angular/dropdown/dropdown-list/index.mjs +0 -2
- package/esm2022/v-angular/dropdown/dropdown.component.mjs +0 -303
- package/esm2022/v-angular/dropdown/dropdown.module.mjs +0 -38
- package/esm2022/v-angular/dropdown/index.mjs +0 -6
- package/esm2022/v-angular/dropdown/typeahead/index.mjs +0 -6
- package/esm2022/v-angular/dropdown/typeahead/typeahead-dropdown-list/typeahead-dropdown-list.component.mjs +0 -110
- package/esm2022/v-angular/dropdown/typeahead/typeahead-highlight/typeahead-highlight.component.mjs +0 -85
- package/esm2022/v-angular/dropdown/typeahead/typeahead-input/typeahead-input.component.mjs +0 -138
- package/esm2022/v-angular/dropdown/typeahead/typeahead.directive.mjs +0 -186
- package/esm2022/v-angular/dropdown/typeahead/typeahead.module.mjs +0 -33
- package/esm2022/v-angular/external-link/external-link.directive.mjs +0 -37
- package/esm2022/v-angular/external-link/external-link.module.mjs +0 -18
- package/esm2022/v-angular/external-link/index.mjs +0 -3
- package/esm2022/v-angular/i18n/i18n.json +0 -13
- package/esm2022/v-angular/i18n/i18n.module.mjs +0 -89
- package/esm2022/v-angular/i18n/i18n.test.module.mjs +0 -89
- package/esm2022/v-angular/i18n/index.mjs +0 -3
- package/esm2022/v-angular/index.mjs +0 -29
- package/esm2022/v-angular/info-circle/index.mjs +0 -3
- package/esm2022/v-angular/info-circle/info-circle.component.mjs +0 -28
- package/esm2022/v-angular/info-circle/info-circle.module.mjs +0 -21
- package/esm2022/v-angular/input/index.mjs +0 -3
- package/esm2022/v-angular/input/input.component.mjs +0 -248
- package/esm2022/v-angular/input/input.module.mjs +0 -41
- package/esm2022/v-angular/input-mask/config.mjs +0 -9
- package/esm2022/v-angular/input-mask/constants.mjs +0 -2
- package/esm2022/v-angular/input-mask/index.mjs +0 -6
- package/esm2022/v-angular/input-mask/input-mask-format.pipe.mjs +0 -21
- package/esm2022/v-angular/input-mask/input-mask.directive.mjs +0 -165
- package/esm2022/v-angular/input-mask/input-mask.module.mjs +0 -35
- package/esm2022/v-angular/input-mask/input-mask.types.mjs +0 -2
- package/esm2022/v-angular/modal/dialog/dialog.component.mjs +0 -242
- package/esm2022/v-angular/modal/fold-out/fold-out.component.mjs +0 -167
- package/esm2022/v-angular/modal/fold-out/fold-out.directive.mjs +0 -19
- package/esm2022/v-angular/modal/fold-out/keyboard-key.enum.mjs +0 -10
- package/esm2022/v-angular/modal/index.mjs +0 -6
- package/esm2022/v-angular/modal/modal.globals.mjs +0 -20
- package/esm2022/v-angular/modal/modal.module.mjs +0 -53
- package/esm2022/v-angular/modal/modal.types.mjs +0 -2
- package/esm2022/v-angular/modal/slide-out/slide-out.component.mjs +0 -253
- package/esm2022/v-angular/pagination/index.mjs +0 -3
- package/esm2022/v-angular/pagination/pagination.component.mjs +0 -144
- package/esm2022/v-angular/pagination/pagination.module.mjs +0 -37
- package/esm2022/v-angular/radio/index.mjs +0 -4
- package/esm2022/v-angular/radio/radio-group/radio-group.component.mjs +0 -86
- package/esm2022/v-angular/radio/radio.component.mjs +0 -153
- package/esm2022/v-angular/radio/radio.module.mjs +0 -22
- package/esm2022/v-angular/sebgroup-green-angular-v-angular.mjs +0 -5
- package/esm2022/v-angular/slug/index.mjs +0 -3
- package/esm2022/v-angular/slug/slug.module.mjs +0 -18
- package/esm2022/v-angular/slug/slug.pipe.mjs +0 -27
- package/esm2022/v-angular/table/index.mjs +0 -9
- package/esm2022/v-angular/table/table.component.mjs +0 -426
- package/esm2022/v-angular/table/table.directive.mjs +0 -110
- package/esm2022/v-angular/table/table.models.mjs +0 -2
- package/esm2022/v-angular/table/table.module.mjs +0 -40
- package/esm2022/v-angular/table/table.tools.mjs +0 -29
- package/esm2022/v-angular/table/tr-thook.pipe.mjs +0 -22
- package/esm2022/v-angular/tabs/index.mjs +0 -8
- package/esm2022/v-angular/tabs/tab.directive.mjs +0 -81
- package/esm2022/v-angular/tabs/tabs.component.mjs +0 -262
- package/esm2022/v-angular/tabs/tabs.models.mjs +0 -2
- package/esm2022/v-angular/tabs/tabs.module.mjs +0 -21
- package/esm2022/v-angular/textarea/index.mjs +0 -3
- package/esm2022/v-angular/textarea/textarea.component.mjs +0 -129
- package/esm2022/v-angular/textarea/textarea.module.mjs +0 -34
- package/esm2022/v-angular/toast/index.mjs +0 -8
- package/esm2022/v-angular/toast/toast-message.service.mjs +0 -82
- package/esm2022/v-angular/toast/toast.component.mjs +0 -66
- package/esm2022/v-angular/toast/toast.models.mjs +0 -8
- package/esm2022/v-angular/toast/toast.module.mjs +0 -21
- package/esm2022/v-angular/tooltip/index.mjs +0 -3
- package/esm2022/v-angular/tooltip/tooltip.directive.mjs +0 -293
- package/esm2022/v-angular/tooltip/tooltip.module.mjs +0 -18
- package/esm2022/v-angular/tooltip/tooltip.styles.mjs +0 -60
- package/esm2022/v-angular/v-angular.module.mjs +0 -132
|
@@ -1,411 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectorRef, ContentChild, Directive, ElementRef, EventEmitter, HostBinding, Inject, Input, Optional, Output, Self, TemplateRef, ViewChild, } from '@angular/core';
|
|
2
|
-
import { NgControl, Validators, } from '@angular/forms';
|
|
3
|
-
import { TRANSLOCO_SCOPE, TranslocoService, } from '@jsverse/transloco';
|
|
4
|
-
import { Observable, Subject } from 'rxjs';
|
|
5
|
-
import { takeUntil } from 'rxjs/operators';
|
|
6
|
-
import { getFormatDateMask, getLocaleDateMask, getLocaleDateString, setDateFormatCharacters, } from '../models/dates';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "@angular/forms";
|
|
9
|
-
import * as i2 from "@jsverse/transloco";
|
|
10
|
-
// eslint-disable-next-line @angular-eslint/directive-class-suffix
|
|
11
|
-
export class DateControlValueAccessorComponent {
|
|
12
|
-
/** Text shown before input has a written value. Default current date format by locale of transloco */
|
|
13
|
-
set placeholder(value) {
|
|
14
|
-
this._placeholder = value
|
|
15
|
-
? setDateFormatCharacters(value, this.dateCharacters)
|
|
16
|
-
: value;
|
|
17
|
-
this.defaultPlaceholder = value
|
|
18
|
-
? setDateFormatCharacters(value, this.dateCharacters)
|
|
19
|
-
: value;
|
|
20
|
-
}
|
|
21
|
-
get placeholder() {
|
|
22
|
-
return this._placeholder;
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Settings for input mask for dates based on locale
|
|
26
|
-
* @see {@link getLocaleDateMask} use this tool to generate settings for `dateInputMask`
|
|
27
|
-
*/
|
|
28
|
-
set dateInputMask(dateMask) {
|
|
29
|
-
// Hide input field
|
|
30
|
-
this.showInputDateSrc.next(false);
|
|
31
|
-
this.cdr.detectChanges();
|
|
32
|
-
this._dateInputMask = dateMask;
|
|
33
|
-
// Show input field to reload input-mask settings upon update
|
|
34
|
-
setTimeout(() => {
|
|
35
|
-
this.showInputDateSrc.next(true);
|
|
36
|
-
this.cdr.detectChanges();
|
|
37
|
-
}, 200);
|
|
38
|
-
}
|
|
39
|
-
get dateInputMask() {
|
|
40
|
-
return this._dateInputMask;
|
|
41
|
-
}
|
|
42
|
-
/** Hides the input borders and displays current value as a text. */
|
|
43
|
-
set locked(value) {
|
|
44
|
-
this._locked = value;
|
|
45
|
-
this.cdr.detectChanges();
|
|
46
|
-
}
|
|
47
|
-
get locked() {
|
|
48
|
-
return this._locked;
|
|
49
|
-
}
|
|
50
|
-
/** Override the required flag of the component. */
|
|
51
|
-
set required(value) {
|
|
52
|
-
this._required = value;
|
|
53
|
-
}
|
|
54
|
-
/** Child input element is considered required and changes default label template accordingly. */
|
|
55
|
-
get required() {
|
|
56
|
-
// if required is set => return required
|
|
57
|
-
if (this._required !== undefined)
|
|
58
|
-
return this._required;
|
|
59
|
-
// if required can be determined from the control => return control.required
|
|
60
|
-
if (this.ngControl?.control?.validator) {
|
|
61
|
-
const validator = this.ngControl?.control?.validator({});
|
|
62
|
-
return validator && validator.required;
|
|
63
|
-
}
|
|
64
|
-
return;
|
|
65
|
-
}
|
|
66
|
-
/** Override the invalid state of the component. */
|
|
67
|
-
set invalid(value) {
|
|
68
|
-
this._invalid = value;
|
|
69
|
-
}
|
|
70
|
-
/** The component has the invalid state, usually decorating the elements red and shows the first error. */
|
|
71
|
-
get invalid() {
|
|
72
|
-
if (this._invalid === true || this._invalid === false)
|
|
73
|
-
return this._invalid;
|
|
74
|
-
return (!!this.ngControl?.control?.invalid && this.ngControl?.control?.touched);
|
|
75
|
-
}
|
|
76
|
-
/** Override the valid state of the component. */
|
|
77
|
-
set valid(value) {
|
|
78
|
-
this._valid = value;
|
|
79
|
-
}
|
|
80
|
-
/** The component has the valid state, usually decorating the elements green. */
|
|
81
|
-
get valid() {
|
|
82
|
-
if (this._valid === true || this._valid === false)
|
|
83
|
-
return this._valid;
|
|
84
|
-
return !!this.ngControl?.control?.valid && this.ngControl?.control?.touched;
|
|
85
|
-
}
|
|
86
|
-
/**
|
|
87
|
-
* Creates a new BaseControlValueAccessorComponent.
|
|
88
|
-
* @param ngControl optional FormControl provided when component is used in a form, through dependency injection.
|
|
89
|
-
*/
|
|
90
|
-
constructor(ngControl, translocoScope, elementRef, cdr, _transloco) {
|
|
91
|
-
this.ngControl = ngControl;
|
|
92
|
-
this.translocoScope = translocoScope;
|
|
93
|
-
this.elementRef = elementRef;
|
|
94
|
-
this.cdr = cdr;
|
|
95
|
-
this._transloco = _transloco;
|
|
96
|
-
/* ATTRIBUTES */
|
|
97
|
-
/** Id of the host element and is accessible by the children, automatically generated if not provided. */
|
|
98
|
-
this.id = window.ngv?.nextId('datepicker');
|
|
99
|
-
/** Adds an icon before each error message. */
|
|
100
|
-
this.withErrorIcon = false;
|
|
101
|
-
/** If set to true, the browser will try to automatically set focus to the child input element. */
|
|
102
|
-
this.autofocus = false;
|
|
103
|
-
this._locked = undefined;
|
|
104
|
-
/* STATES */
|
|
105
|
-
this._required = undefined;
|
|
106
|
-
this._invalid = undefined;
|
|
107
|
-
this._valid = undefined;
|
|
108
|
-
/** The component has the focused state, updated by the child input element's focus state. */
|
|
109
|
-
this.focused = false;
|
|
110
|
-
/** The component has the disabled state, usually muting the colors and removes interaction. */
|
|
111
|
-
this.disabled = false;
|
|
112
|
-
/** Toggler for showing or hiding the input field */
|
|
113
|
-
this.showInputDateSrc = new Subject();
|
|
114
|
-
/* TRIGGERS */
|
|
115
|
-
/** Emits focus events triggered by the child elements. */
|
|
116
|
-
this.ngvFocus = new EventEmitter();
|
|
117
|
-
/** Emits focus events triggered by the child elements. */
|
|
118
|
-
this.ngvBlur = new EventEmitter();
|
|
119
|
-
/* VALUE HANDLERS */
|
|
120
|
-
/** @internal */
|
|
121
|
-
this.onChange = (_) => { }; // eslint-disable-line @typescript-eslint/no-empty-function
|
|
122
|
-
/** @internal */
|
|
123
|
-
this.onTouched = () => { }; // eslint-disable-line @typescript-eslint/no-empty-function
|
|
124
|
-
/** @internal */
|
|
125
|
-
this.onValidatorChange = () => null;
|
|
126
|
-
this._state = null;
|
|
127
|
-
/** @internal */
|
|
128
|
-
// warningIcon = faTriangleExclamation;
|
|
129
|
-
/* LIFE CYCLE VARIABLES */
|
|
130
|
-
this._onDestroy$ = new Subject();
|
|
131
|
-
if (this.ngControl) {
|
|
132
|
-
// Note: we provide the value accessor through here, instead of
|
|
133
|
-
// the `providers` to avoid running into a circular import.
|
|
134
|
-
this.ngControl.valueAccessor = this;
|
|
135
|
-
}
|
|
136
|
-
if (this.translocoScope)
|
|
137
|
-
this.scope = this.translocoScope.toString();
|
|
138
|
-
}
|
|
139
|
-
static parseDateLike(value) {
|
|
140
|
-
try {
|
|
141
|
-
// if value is type of string,
|
|
142
|
-
if (value && typeof value === 'string')
|
|
143
|
-
value = new Date(value);
|
|
144
|
-
switch (true) {
|
|
145
|
-
// remove instances where the value will not correctly be parsed to a date string
|
|
146
|
-
case value == null:
|
|
147
|
-
case value?.toString() === 'Invalid Date':
|
|
148
|
-
return null;
|
|
149
|
-
// if value-as-date is a valid date object, parse the value to YYYY-MM-DD format
|
|
150
|
-
case typeof value?.getMonth === 'function':
|
|
151
|
-
return new Intl.DateTimeFormat('sv-SE').format(value);
|
|
152
|
-
default:
|
|
153
|
-
return value;
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
catch (_e) {
|
|
157
|
-
return;
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
// eslint-disable-next-line @angular-eslint/contextual-lifecycle
|
|
161
|
-
ngOnInit() {
|
|
162
|
-
if (this.ngControl && this.ngControl.control) {
|
|
163
|
-
this.ngControl.control.setValidators(Validators.compose([this.ngControl.control.validator, this.validate]));
|
|
164
|
-
}
|
|
165
|
-
this._transloco.langChanges$.pipe(takeUntil(this._onDestroy$)).subscribe({
|
|
166
|
-
next: () => {
|
|
167
|
-
if (!this.locale && !this.dateFormat) {
|
|
168
|
-
return this.updatePlaceholderAndMask();
|
|
169
|
-
}
|
|
170
|
-
},
|
|
171
|
-
});
|
|
172
|
-
// if reset observable has been passed, subscribe after updates
|
|
173
|
-
this.reset?.pipe(takeUntil(this._onDestroy$)).subscribe({
|
|
174
|
-
next: () => {
|
|
175
|
-
// reset value of controller
|
|
176
|
-
this.updateValue('');
|
|
177
|
-
},
|
|
178
|
-
});
|
|
179
|
-
}
|
|
180
|
-
// eslint-disable-next-line @angular-eslint/contextual-lifecycle
|
|
181
|
-
ngAfterViewInit() {
|
|
182
|
-
// if default value is set, then don't alter it. Otherwise, use
|
|
183
|
-
// current value of controller after initiation as default value
|
|
184
|
-
this.defaultValue = this.defaultValue ?? this.ngControl?.value;
|
|
185
|
-
}
|
|
186
|
-
ngOnChanges(changes) {
|
|
187
|
-
if (changes.defaultValue?.currentValue) {
|
|
188
|
-
this.updateValue(changes.defaultValue.currentValue);
|
|
189
|
-
}
|
|
190
|
-
if (changes.locale?.currentValue &&
|
|
191
|
-
!this.dateFormat &&
|
|
192
|
-
!changes.dateFormat?.currentValue) {
|
|
193
|
-
this.updatePlaceholderAndMask();
|
|
194
|
-
}
|
|
195
|
-
if (changes.dateFormat?.currentValue) {
|
|
196
|
-
this.updateFormat();
|
|
197
|
-
}
|
|
198
|
-
if (changes.dateCharacters?.currentValue) {
|
|
199
|
-
if (this.dateFormat) {
|
|
200
|
-
this.updateFormat();
|
|
201
|
-
}
|
|
202
|
-
else {
|
|
203
|
-
this.updatePlaceholderAndMask();
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
if (!!changes.dateLocale?.currentValue && !this.dateFormat) {
|
|
207
|
-
this.updatePlaceholderAndMask();
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
ngOnDestroy() {
|
|
211
|
-
this._onDestroy$.next(true);
|
|
212
|
-
this._onDestroy$.complete();
|
|
213
|
-
}
|
|
214
|
-
/** @internal */
|
|
215
|
-
onFocus(event) {
|
|
216
|
-
event.stopPropagation
|
|
217
|
-
? event.stopPropagation()
|
|
218
|
-
: (event.cancelBubble = true);
|
|
219
|
-
this.focused = true;
|
|
220
|
-
this.ngvFocus.emit(event);
|
|
221
|
-
}
|
|
222
|
-
/** @internal */
|
|
223
|
-
onBlur(event) {
|
|
224
|
-
event.stopPropagation
|
|
225
|
-
? event.stopPropagation()
|
|
226
|
-
: (event.cancelBubble = true);
|
|
227
|
-
this.onTouched();
|
|
228
|
-
this.focused = false;
|
|
229
|
-
this.ngvBlur.emit(event);
|
|
230
|
-
}
|
|
231
|
-
detectChanges() {
|
|
232
|
-
this.cdr.detectChanges();
|
|
233
|
-
}
|
|
234
|
-
/** Sets the focus on the actual input element. */
|
|
235
|
-
setFocus() {
|
|
236
|
-
if (this.inputRef)
|
|
237
|
-
this.inputRef.nativeElement.focus();
|
|
238
|
-
}
|
|
239
|
-
/**
|
|
240
|
-
* @internal
|
|
241
|
-
* Update placeholder and input mask to match locale.
|
|
242
|
-
* Order if choice for locale:
|
|
243
|
-
* 1. dateLocale - Used for specifying which locale to be used for formatting date
|
|
244
|
-
* 2. locale - Unless dateLocale is not provided, use locale form current translation
|
|
245
|
-
* 3. transloco.getActiveLang - as last resort, get active language form trnasloco
|
|
246
|
-
* If locale is undefined, transloco.activeLang will be used instead.
|
|
247
|
-
*/
|
|
248
|
-
updatePlaceholderAndMask() {
|
|
249
|
-
const locale = this.dateLocale ?? this.locale ?? this._transloco.getActiveLang();
|
|
250
|
-
this._placeholder = this.defaultPlaceholder
|
|
251
|
-
? setDateFormatCharacters(this.defaultPlaceholder, this.dateCharacters)
|
|
252
|
-
: setDateFormatCharacters(getLocaleDateString(locale).toLowerCase(), this.dateCharacters);
|
|
253
|
-
this.dateInputMask = getLocaleDateMask(this.dateCharacters, locale);
|
|
254
|
-
}
|
|
255
|
-
updateFormat() {
|
|
256
|
-
if (this.dateFormat) {
|
|
257
|
-
this._placeholder = this.defaultPlaceholder
|
|
258
|
-
? setDateFormatCharacters(this.defaultPlaceholder, this.dateCharacters)
|
|
259
|
-
: setDateFormatCharacters(this.dateFormat.toLowerCase(), this.dateCharacters);
|
|
260
|
-
this.dateInputMask = getFormatDateMask(this.dateFormat, this.dateCharacters);
|
|
261
|
-
}
|
|
262
|
-
}
|
|
263
|
-
// ----------------------------------------------------------------------------
|
|
264
|
-
// CONTROL VALUE ACCESSOR
|
|
265
|
-
// ----------------------------------------------------------------------------
|
|
266
|
-
/** Internal state/value that the native input element has. */
|
|
267
|
-
get state() {
|
|
268
|
-
return this._state;
|
|
269
|
-
}
|
|
270
|
-
/**
|
|
271
|
-
* Internal state/value that the native input element has.
|
|
272
|
-
*/
|
|
273
|
-
set state(value) {
|
|
274
|
-
this._state = value;
|
|
275
|
-
}
|
|
276
|
-
/** Writes a new value to the child input element. */
|
|
277
|
-
writeValue(value) {
|
|
278
|
-
this.state = value;
|
|
279
|
-
this.onChange(this.state);
|
|
280
|
-
}
|
|
281
|
-
/** Registers a callback function that is called when the child input element's value changes. */
|
|
282
|
-
registerOnChange(fn) {
|
|
283
|
-
this.onChange = (value) => {
|
|
284
|
-
// ensure emitted value is a string | null | undefined
|
|
285
|
-
const emitValue = DateControlValueAccessorComponent.parseDateLike(value);
|
|
286
|
-
fn(emitValue);
|
|
287
|
-
};
|
|
288
|
-
}
|
|
289
|
-
/** Registers a callback function that is called when the child input element triggers on blur. */
|
|
290
|
-
registerOnTouched(fn) {
|
|
291
|
-
this.onTouched = fn;
|
|
292
|
-
}
|
|
293
|
-
/** Function that is called by the forms API when the control status changes to or from 'DISABLED'. */
|
|
294
|
-
setDisabledState(isDisabled) {
|
|
295
|
-
this.disabled = isDisabled;
|
|
296
|
-
// if displayDisabledAsLocked is enabled - update locked state based on disabled state
|
|
297
|
-
if (this.displayDisabledAsLocked) {
|
|
298
|
-
this.locked = isDisabled;
|
|
299
|
-
}
|
|
300
|
-
}
|
|
301
|
-
// ----------------------------------------------------------------------------
|
|
302
|
-
// VALIDATORS
|
|
303
|
-
// ----------------------------------------------------------------------------
|
|
304
|
-
/** Method that performs synchronous validation against the provided control. Used for internal validation. */
|
|
305
|
-
validate(_control) {
|
|
306
|
-
return null;
|
|
307
|
-
}
|
|
308
|
-
/** Registers a callback function to call when the validator inputs change. */
|
|
309
|
-
registerOnValidatorChange(fn) {
|
|
310
|
-
this.onValidatorChange = fn;
|
|
311
|
-
}
|
|
312
|
-
// ----------------------------------------------------------------------------
|
|
313
|
-
// HELPERS
|
|
314
|
-
// ----------------------------------------------------------------------------
|
|
315
|
-
/** Returns the first entry in an error object. */
|
|
316
|
-
get firstError() {
|
|
317
|
-
const errors = this.ngControl.errors;
|
|
318
|
-
if (!errors)
|
|
319
|
-
return null;
|
|
320
|
-
const code = Object.keys(errors)[0];
|
|
321
|
-
return { code, params: errors[code] };
|
|
322
|
-
}
|
|
323
|
-
updateValue(value = this.defaultValue) {
|
|
324
|
-
this.state = value;
|
|
325
|
-
this.onChange(this.state);
|
|
326
|
-
this.cdr.detectChanges();
|
|
327
|
-
}
|
|
328
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DateControlValueAccessorComponent, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: TRANSLOCO_SCOPE, optional: true }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i2.TranslocoService }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
329
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: DateControlValueAccessorComponent, inputs: { id: "id", name: "name", label: "label", placeholder: "placeholder", dateCharacters: "dateCharacters", role: "role", value: "value", error: "error", errorList: "errorList", withErrorIcon: "withErrorIcon", description: "description", autofocus: "autofocus", defaultValue: "defaultValue", reset: "reset", optional: "optional", dateInputMask: "dateInputMask", locked: "locked", displayDisabledAsLocked: "displayDisabledAsLocked", required: "required", invalid: "invalid", valid: "valid", focused: "focused", disabled: "disabled", locale: "locale", dateFormat: "dateFormat", dateLocale: "dateLocale" }, outputs: { ngvFocus: "ngvFocus", ngvBlur: "ngvBlur" }, host: { properties: { "attr.id": "this.id" } }, queries: [{ propertyName: "labelContentTpl", first: true, predicate: ["labelTpl"], descendants: true, read: TemplateRef }, { propertyName: "lockedTpl", first: true, predicate: ["lockedTpl"], descendants: true, read: TemplateRef }], viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["input"], descendants: true, read: ElementRef }], usesOnChanges: true, ngImport: i0 }); }
|
|
330
|
-
}
|
|
331
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DateControlValueAccessorComponent, decorators: [{
|
|
332
|
-
type: Directive
|
|
333
|
-
}], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
|
|
334
|
-
type: Self
|
|
335
|
-
}, {
|
|
336
|
-
type: Optional
|
|
337
|
-
}] }, { type: undefined, decorators: [{
|
|
338
|
-
type: Optional
|
|
339
|
-
}, {
|
|
340
|
-
type: Inject,
|
|
341
|
-
args: [TRANSLOCO_SCOPE]
|
|
342
|
-
}] }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i2.TranslocoService }], propDecorators: { labelContentTpl: [{
|
|
343
|
-
type: ContentChild,
|
|
344
|
-
args: ['labelTpl', { read: TemplateRef }]
|
|
345
|
-
}], lockedTpl: [{
|
|
346
|
-
type: ContentChild,
|
|
347
|
-
args: ['lockedTpl', { read: TemplateRef }]
|
|
348
|
-
}], inputRef: [{
|
|
349
|
-
type: ViewChild,
|
|
350
|
-
args: ['input', { read: ElementRef }]
|
|
351
|
-
}], id: [{
|
|
352
|
-
type: HostBinding,
|
|
353
|
-
args: ['attr.id']
|
|
354
|
-
}, {
|
|
355
|
-
type: Input
|
|
356
|
-
}], name: [{
|
|
357
|
-
type: Input
|
|
358
|
-
}], label: [{
|
|
359
|
-
type: Input
|
|
360
|
-
}], placeholder: [{
|
|
361
|
-
type: Input
|
|
362
|
-
}], dateCharacters: [{
|
|
363
|
-
type: Input
|
|
364
|
-
}], role: [{
|
|
365
|
-
type: Input
|
|
366
|
-
}], value: [{
|
|
367
|
-
type: Input
|
|
368
|
-
}], error: [{
|
|
369
|
-
type: Input
|
|
370
|
-
}], errorList: [{
|
|
371
|
-
type: Input
|
|
372
|
-
}], withErrorIcon: [{
|
|
373
|
-
type: Input
|
|
374
|
-
}], description: [{
|
|
375
|
-
type: Input
|
|
376
|
-
}], autofocus: [{
|
|
377
|
-
type: Input
|
|
378
|
-
}], defaultValue: [{
|
|
379
|
-
type: Input
|
|
380
|
-
}], reset: [{
|
|
381
|
-
type: Input
|
|
382
|
-
}], optional: [{
|
|
383
|
-
type: Input
|
|
384
|
-
}], dateInputMask: [{
|
|
385
|
-
type: Input
|
|
386
|
-
}], locked: [{
|
|
387
|
-
type: Input
|
|
388
|
-
}], displayDisabledAsLocked: [{
|
|
389
|
-
type: Input
|
|
390
|
-
}], required: [{
|
|
391
|
-
type: Input
|
|
392
|
-
}], invalid: [{
|
|
393
|
-
type: Input
|
|
394
|
-
}], valid: [{
|
|
395
|
-
type: Input
|
|
396
|
-
}], focused: [{
|
|
397
|
-
type: Input
|
|
398
|
-
}], disabled: [{
|
|
399
|
-
type: Input
|
|
400
|
-
}], locale: [{
|
|
401
|
-
type: Input
|
|
402
|
-
}], dateFormat: [{
|
|
403
|
-
type: Input
|
|
404
|
-
}], dateLocale: [{
|
|
405
|
-
type: Input
|
|
406
|
-
}], ngvFocus: [{
|
|
407
|
-
type: Output
|
|
408
|
-
}], ngvBlur: [{
|
|
409
|
-
type: Output
|
|
410
|
-
}] } });
|
|
411
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1jb250cm9sLXZhbHVlLWFjY2Vzc29yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvdi1hbmd1bGFyL2RhdGVwaWNrZXIvZGF0ZS1jb250cm9sLXZhbHVlLWFjY2Vzc29yL2RhdGUtY29udHJvbC12YWx1ZS1hY2Nlc3Nvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLGlCQUFpQixFQUNqQixZQUFZLEVBQ1osU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBSUwsUUFBUSxFQUNSLE1BQU0sRUFDTixJQUFJLEVBRUosV0FBVyxFQUNYLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBR0wsU0FBUyxFQUdULFVBQVUsR0FDWCxNQUFNLGdCQUFnQixDQUFBO0FBQ3ZCLE9BQU8sRUFDTCxlQUFlLEVBRWYsZ0JBQWdCLEdBQ2pCLE1BQU0sb0JBQW9CLENBQUE7QUFDM0IsT0FBTyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDMUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBSTFDLE9BQU8sRUFFTCxpQkFBaUIsRUFDakIsaUJBQWlCLEVBQ2pCLG1CQUFtQixFQUNuQix1QkFBdUIsR0FDeEIsTUFBTSxpQkFBaUIsQ0FBQTs7OztBQUd4QixrRUFBa0U7QUFDbEUsTUFBTSxPQUFnQixpQ0FBaUM7SUFvQ3JELHNHQUFzRztJQUN0RyxJQUFhLFdBQVcsQ0FBQyxLQUF5QjtRQUNoRCxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUs7WUFDdkIsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDO1lBQ3JELENBQUMsQ0FBQyxLQUFLLENBQUE7UUFDVCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsS0FBSztZQUM3QixDQUFDLENBQUMsdUJBQXVCLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUM7WUFDckQsQ0FBQyxDQUFDLEtBQUssQ0FBQTtJQUNYLENBQUM7SUFDRCxJQUFJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUE7SUFDMUIsQ0FBQztJQXlCRDs7O09BR0c7SUFDSCxJQUFhLGFBQWEsQ0FBQyxRQUFnQztRQUN6RCxtQkFBbUI7UUFDbkIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUNqQyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFBO1FBQ3hCLElBQUksQ0FBQyxjQUFjLEdBQUcsUUFBUSxDQUFBO1FBRTlCLDZEQUE2RDtRQUM3RCxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUNoQyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFBO1FBQzFCLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQTtJQUNULENBQUM7SUFDRCxJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUE7SUFDNUIsQ0FBQztJQUlELG9FQUFvRTtJQUNwRSxJQUFhLE1BQU0sQ0FBQyxLQUFpQztRQUNuRCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQTtRQUNwQixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFBO0lBQzFCLENBQUM7SUFDRCxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUE7SUFDckIsQ0FBQztJQU9ELG1EQUFtRDtJQUNuRCxJQUFhLFFBQVEsQ0FBQyxLQUFpQztRQUNyRCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQTtJQUN4QixDQUFDO0lBQ0QsaUdBQWlHO0lBQ2pHLElBQUksUUFBUTtRQUNWLHdDQUF3QztRQUN4QyxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssU0FBUztZQUFFLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQTtRQUV2RCw0RUFBNEU7UUFDNUUsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsQ0FBQztZQUN2QyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxTQUFTLENBQ2xELEVBQXFCLENBQ3RCLENBQUE7WUFDRCxPQUFPLFNBQVMsSUFBSSxTQUFTLENBQUMsUUFBUSxDQUFBO1FBQ3hDLENBQUM7UUFFRCxPQUFNO0lBQ1IsQ0FBQztJQUdELG1EQUFtRDtJQUNuRCxJQUFhLE9BQU8sQ0FBQyxLQUFjO1FBQ2pDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFBO0lBQ3ZCLENBQUM7SUFDRCwwR0FBMEc7SUFDMUcsSUFBSSxPQUFPO1FBQ1QsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLElBQUksSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLEtBQUs7WUFBRSxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUE7UUFDM0UsT0FBTyxDQUNMLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxPQUFPLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUN2RSxDQUFBO0lBQ0gsQ0FBQztJQUdELGlEQUFpRDtJQUNqRCxJQUFhLEtBQUssQ0FBQyxLQUFjO1FBQy9CLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFBO0lBQ3JCLENBQUM7SUFDRCxnRkFBZ0Y7SUFDaEYsSUFBSSxLQUFLO1FBQ1AsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLElBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLEtBQUs7WUFBRSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUE7UUFDckUsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsS0FBSyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQTtJQUM3RSxDQUFDO0lBd0NEOzs7T0FHRztJQUNILFlBQzZCLFNBQW9CLEVBR3JDLGNBQThCLEVBQzlCLFVBQXNCLEVBQ3RCLEdBQXNCLEVBQ3hCLFVBQTRCO1FBTlQsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUdyQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN4QixlQUFVLEdBQVYsVUFBVSxDQUFrQjtRQWpMdEMsZ0JBQWdCO1FBRWhCLHlHQUF5RztRQUN4RSxPQUFFLEdBQUksTUFBYyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQy9ELFlBQVksQ0FDYixDQUFBO1FBK0JELDhDQUE4QztRQUNyQyxrQkFBYSxHQUFhLEtBQUssQ0FBQTtRQUd4QyxrR0FBa0c7UUFDekYsY0FBUyxHQUFHLEtBQUssQ0FBQTtRQTRCbEIsWUFBTyxHQUErQixTQUFTLENBQUE7UUFZdkQsWUFBWTtRQUVKLGNBQVMsR0FBK0IsU0FBUyxDQUFBO1FBcUJqRCxhQUFRLEdBQXdCLFNBQVMsQ0FBQTtRQWF6QyxXQUFNLEdBQXdCLFNBQVMsQ0FBQTtRQVcvQyw2RkFBNkY7UUFDcEYsWUFBTyxHQUFHLEtBQUssQ0FBQTtRQUN4QiwrRkFBK0Y7UUFDdEYsYUFBUSxHQUFHLEtBQUssQ0FBQTtRQVF6QixvREFBb0Q7UUFDMUMscUJBQWdCLEdBQUcsSUFBSSxPQUFPLEVBQVcsQ0FBQTtRQUVuRCxjQUFjO1FBRWQsMERBQTBEO1FBQ3ZDLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFBO1FBQ2hELDBEQUEwRDtRQUN2QyxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQTtRQUUvQyxvQkFBb0I7UUFDcEIsZ0JBQWdCO1FBQ04sYUFBUSxHQUFHLENBQUMsQ0FBTSxFQUFRLEVBQUUsR0FBRSxDQUFDLENBQUEsQ0FBQywyREFBMkQ7UUFDckcsZ0JBQWdCO1FBQ04sY0FBUyxHQUFHLEdBQVMsRUFBRSxHQUFFLENBQUMsQ0FBQSxDQUFDLDJEQUEyRDtRQUNoRyxnQkFBZ0I7UUFDTixzQkFBaUIsR0FBZSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUE7UUFDNUMsV0FBTSxHQUFRLElBQUksQ0FBQTtRQUkxQixnQkFBZ0I7UUFDaEIsdUNBQXVDO1FBRXZDLDBCQUEwQjtRQUNsQixnQkFBVyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUE7UUFldkMsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDbkIsK0RBQStEO1lBQy9ELDJEQUEyRDtZQUMzRCxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUE7UUFDckMsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLGNBQWM7WUFBRSxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLENBQUE7SUFDdEUsQ0FBQztJQUVELE1BQU0sQ0FBQyxhQUFhLENBQUMsS0FBVTtRQUM3QixJQUFJLENBQUM7WUFDSCw4QkFBOEI7WUFDOUIsSUFBSSxLQUFLLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUTtnQkFBRSxLQUFLLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7WUFDL0QsUUFBUSxJQUFJLEVBQUUsQ0FBQztnQkFDYixpRkFBaUY7Z0JBQ2pGLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQztnQkFDbkIsS0FBSyxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssY0FBYztvQkFDdkMsT0FBTyxJQUFJLENBQUE7Z0JBQ2IsZ0ZBQWdGO2dCQUNoRixLQUFLLE9BQU8sS0FBSyxFQUFFLFFBQVEsS0FBSyxVQUFVO29CQUN4QyxPQUFPLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUE7Z0JBQ3ZEO29CQUNFLE9BQU8sS0FBZSxDQUFBO1lBQzFCLENBQUM7UUFDSCxDQUFDO1FBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztZQUNaLE9BQU07UUFDUixDQUFDO0lBQ0gsQ0FBQztJQUVELGdFQUFnRTtJQUNoRSxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDN0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUNsQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUN0RSxDQUFBO1FBQ0gsQ0FBQztRQUVELElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ3ZFLElBQUksRUFBRSxHQUFHLEVBQUU7Z0JBQ1QsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7b0JBQ3JDLE9BQU8sSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUE7Z0JBQ3hDLENBQUM7WUFDSCxDQUFDO1NBQ0YsQ0FBQyxDQUFBO1FBRUYsK0RBQStEO1FBQy9ELElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDdEQsSUFBSSxFQUFFLEdBQUcsRUFBRTtnQkFDVCw0QkFBNEI7Z0JBQzVCLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUE7WUFDdEIsQ0FBQztTQUNGLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxnRUFBZ0U7SUFDaEUsZUFBZTtRQUNiLCtEQUErRDtRQUMvRCxnRUFBZ0U7UUFDaEUsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFBO0lBQ2hFLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsWUFBWSxFQUFFLFlBQVksRUFBRSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQTtRQUNyRCxDQUFDO1FBRUQsSUFDRSxPQUFPLENBQUMsTUFBTSxFQUFFLFlBQVk7WUFDNUIsQ0FBQyxJQUFJLENBQUMsVUFBVTtZQUNoQixDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsWUFBWSxFQUNqQyxDQUFDO1lBQ0QsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUE7UUFDakMsQ0FBQztRQUVELElBQUksT0FBTyxDQUFDLFVBQVUsRUFBRSxZQUFZLEVBQUUsQ0FBQztZQUNyQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUE7UUFDckIsQ0FBQztRQUVELElBQUksT0FBTyxDQUFDLGNBQWMsRUFBRSxZQUFZLEVBQUUsQ0FBQztZQUN6QyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDcEIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFBO1lBQ3JCLENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQTtZQUNqQyxDQUFDO1FBQ0gsQ0FBQztRQUVELElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsWUFBWSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQzNELElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFBO1FBQ2pDLENBQUM7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQzNCLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUE7SUFDN0IsQ0FBQztJQUVELGdCQUFnQjtJQUNoQixPQUFPLENBQUMsS0FBWTtRQUNsQixLQUFLLENBQUMsZUFBZTtZQUNuQixDQUFDLENBQUMsS0FBSyxDQUFDLGVBQWUsRUFBRTtZQUN6QixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxDQUFBO1FBQy9CLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFBO1FBQ25CLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQzNCLENBQUM7SUFFRCxnQkFBZ0I7SUFDaEIsTUFBTSxDQUFDLEtBQVk7UUFDakIsS0FBSyxDQUFDLGVBQWU7WUFDbkIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxlQUFlLEVBQUU7WUFDekIsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsQ0FBQTtRQUMvQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUE7UUFDaEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUE7UUFDcEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDMUIsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFBO0lBQzFCLENBQUM7SUFFRCxrREFBa0Q7SUFDbEQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLFFBQVE7WUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQTtJQUN4RCxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSCx3QkFBd0I7UUFDdEIsTUFBTSxNQUFNLEdBQ1YsSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLENBQUE7UUFFbkUsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsa0JBQWtCO1lBQ3pDLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQztZQUN2RSxDQUFDLENBQUMsdUJBQXVCLENBQ3JCLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUN6QyxJQUFJLENBQUMsY0FBYyxDQUNwQixDQUFBO1FBQ0wsSUFBSSxDQUFDLGFBQWEsR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLE1BQU0sQ0FBQyxDQUFBO0lBQ3JFLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsa0JBQWtCO2dCQUN6QyxDQUFDLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLElBQUksQ0FBQyxjQUFjLENBQUM7Z0JBQ3ZFLENBQUMsQ0FBQyx1QkFBdUIsQ0FDckIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsRUFDN0IsSUFBSSxDQUFDLGNBQWMsQ0FDcEIsQ0FBQTtZQUNMLElBQUksQ0FBQyxhQUFhLEdBQUcsaUJBQWlCLENBQ3BDLElBQUksQ0FBQyxVQUFVLEVBQ2YsSUFBSSxDQUFDLGNBQWMsQ0FDcEIsQ0FBQTtRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsK0VBQStFO0lBQy9FLHlCQUF5QjtJQUN6QiwrRUFBK0U7SUFFL0UsOERBQThEO0lBQzlELElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQTtJQUNwQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLEtBQUssQ0FBQyxLQUFLO1FBQ2IsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUE7SUFDckIsQ0FBQztJQUVELHFEQUFxRDtJQUNyRCxVQUFVLENBQUMsS0FBVTtRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQTtRQUNsQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUMzQixDQUFDO0lBRUQsaUdBQWlHO0lBQ2pHLGdCQUFnQixDQUFDLEVBQXdCO1FBQ3ZDLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUN4QixzREFBc0Q7WUFDdEQsTUFBTSxTQUFTLEdBQUcsaUNBQWlDLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFBO1lBQ3hFLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUNmLENBQUMsQ0FBQTtJQUNILENBQUM7SUFFRCxrR0FBa0c7SUFDbEcsaUJBQWlCLENBQUMsRUFBYztRQUM5QixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQTtJQUNyQixDQUFDO0lBRUQsc0dBQXNHO0lBQ3RHLGdCQUFnQixDQUFDLFVBQW1CO1FBQ2xDLElBQUksQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFBO1FBRTFCLHNGQUFzRjtRQUN0RixJQUFJLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxNQUFNLEdBQUcsVUFBVSxDQUFBO1FBQzFCLENBQUM7SUFDSCxDQUFDO0lBRUQsK0VBQStFO0lBQy9FLGFBQWE7SUFDYiwrRUFBK0U7SUFFL0UsOEdBQThHO0lBQzlHLFFBQVEsQ0FBQyxRQUF5QjtRQUNoQyxPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7SUFFRCw4RUFBOEU7SUFDOUUseUJBQXlCLENBQUMsRUFBYztRQUN0QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsRUFBRSxDQUFBO0lBQzdCLENBQUM7SUFFRCwrRUFBK0U7SUFDL0UsVUFBVTtJQUNWLCtFQUErRTtJQUUvRSxrREFBa0Q7SUFDbEQsSUFBSSxVQUFVO1FBQ1osTUFBTSxNQUFNLEdBQTRCLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFBO1FBQzdELElBQUksQ0FBQyxNQUFNO1lBQUUsT0FBTyxJQUFJLENBQUE7UUFDeEIsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUNuQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQTtJQUN2QyxDQUFDO0lBRU8sV0FBVyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsWUFBWTtRQUMzQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQTtRQUNsQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUN6QixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFBO0lBQzFCLENBQUM7K0dBeGJtQixpQ0FBaUMsdUVBcU0zQyxlQUFlO21HQXJNTCxpQ0FBaUMscXpCQVluQixXQUFXLGlHQU1WLFdBQVcsMkdBSWxCLFVBQVU7OzRGQXRCbEIsaUNBQWlDO2tCQUZ0RCxTQUFTOzswQkFxTUwsSUFBSTs7MEJBQUksUUFBUTs7MEJBQ2hCLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsZUFBZTtpSUF4THpCLGVBQWU7c0JBRGQsWUFBWTt1QkFBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFO2dCQU8vQyxTQUFTO3NCQURSLFlBQVk7dUJBQUMsV0FBVyxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtnQkFJTixRQUFRO3NCQUFqRCxTQUFTO3VCQUFDLE9BQU8sRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBS1AsRUFBRTtzQkFBbEMsV0FBVzt1QkFBQyxTQUFTOztzQkFBRyxLQUFLO2dCQUlyQixJQUFJO3NCQUFaLEtBQUs7Z0JBSUcsS0FBSztzQkFBYixLQUFLO2dCQUVPLFdBQVc7c0JBQXZCLEtBQUs7Z0JBY0csY0FBYztzQkFBdEIsS0FBSztnQkFFRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsS0FBSztzQkFBYixLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBRUcsV0FBVztzQkFBbkIsS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUcsS0FBSztzQkFBYixLQUFLO2dCQUVHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBS08sYUFBYTtzQkFBekIsS0FBSztnQkFtQk8sTUFBTTtzQkFBbEIsS0FBSztnQkFRRyx1QkFBdUI7c0JBQS9CLEtBQUs7Z0JBTU8sUUFBUTtzQkFBcEIsS0FBSztnQkFxQk8sT0FBTztzQkFBbkIsS0FBSztnQkFhTyxLQUFLO3NCQUFqQixLQUFLO2dCQVVHLE9BQU87c0JBQWYsS0FBSztnQkFFRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVHLE1BQU07c0JBQWQsS0FBSztnQkFFRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBUWEsUUFBUTtzQkFBMUIsTUFBTTtnQkFFWSxPQUFPO3NCQUF6QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbnRlbnRDaGlsZCxcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RCaW5kaW5nLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPcHRpb25hbCxcbiAgT3V0cHV0LFxuICBTZWxmLFxuICBTaW1wbGVDaGFuZ2VzLFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgTmdDb250cm9sLFxuICBWYWxpZGF0aW9uRXJyb3JzLFxuICBWYWxpZGF0b3IsXG4gIFZhbGlkYXRvcnMsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJ1xuaW1wb3J0IHtcbiAgVFJBTlNMT0NPX1NDT1BFLFxuICBUcmFuc2xvY29TY29wZSxcbiAgVHJhbnNsb2NvU2VydmljZSxcbn0gZnJvbSAnQGpzdmVyc2UvdHJhbnNsb2NvJ1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcblxuaW1wb3J0IHR5cGUgeyBJbnB1dG1hc2tPcHRpb25zIH0gZnJvbSAnQHNlYmdyb3VwL2dyZWVuLWFuZ3VsYXIvc3JjL3YtYW5ndWxhci9pbnB1dC1tYXNrJ1xuXG5pbXBvcnQge1xuICBEYXRlQ2hhcmFjdGVycyxcbiAgZ2V0Rm9ybWF0RGF0ZU1hc2ssXG4gIGdldExvY2FsZURhdGVNYXNrLFxuICBnZXRMb2NhbGVEYXRlU3RyaW5nLFxuICBzZXREYXRlRm9ybWF0Q2hhcmFjdGVycyxcbn0gZnJvbSAnLi4vbW9kZWxzL2RhdGVzJ1xuXG5ARGlyZWN0aXZlKCkgLy8gUmVxdWlyZWQgd2l0aCBBbmd1bGFyIGl2eSBjb21waWxlclxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtY2xhc3Mtc3VmZml4XG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRGF0ZUNvbnRyb2xWYWx1ZUFjY2Vzc29yQ29tcG9uZW50XG4gIGltcGxlbWVudHNcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIE9uSW5pdCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25EZXN0cm95LFxuICAgIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICAgIFZhbGlkYXRvclxue1xuICAvKiogQ3VzdG9tIHRlbXBsYXRlIGZvciBkaXNwbGF5aW5nIHRoZSBjb250ZW50IG9mIHRoZSBsYWJlbC5cbiAgICogU3BlY2lmaWVkIGJ5IG5lc3RpbmcgYW4gYDxuZy10ZW1wbGF0ZSAjbGFiZWxUcGw+Q3VzdG9tIExhYmVsPC9uZy10ZW1wbGF0ZT5gLlxuICAgKi9cbiAgQENvbnRlbnRDaGlsZCgnbGFiZWxUcGwnLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pXG4gIGxhYmVsQ29udGVudFRwbD86IFRlbXBsYXRlUmVmPHVuZGVmaW5lZD5cblxuICAvKiogQ3VzdG9tIHRlbXBsYXRlIGZvciBkaXNwbGF5aW5nIHZhbHVlIHdoZW4gdGhlIGlucHV0IGlzIGxvY2tlZC5cbiAgICogU3BlY2lmaWVkIGJ5IG5lc3RpbmcgYW4gYDxuZy10ZW1wbGF0ZSAjbG9ja2VkVHBsIGxldC1zZWxlY3RlZERhdGU+Q3VzdG9tIGxvY2tlZCBjb250ZW50IGRhdGU6IHt7IHNlbGVjdGVkRGF0ZSB9fTwvbmctdGVtcGxhdGU+YC5cbiAgICovXG4gIEBDb250ZW50Q2hpbGQoJ2xvY2tlZFRwbCcsIHsgcmVhZDogVGVtcGxhdGVSZWYgfSlcbiAgbG9ja2VkVHBsPzogVGVtcGxhdGVSZWY8dW5kZWZpbmVkPlxuXG4gIC8qKiBSZWZlcmVuY2UgdG8gdGhlIG5hdGl2ZSBjaGlsZCBpbnB1dCBlbGVtZW50LiAqL1xuICBAVmlld0NoaWxkKCdpbnB1dCcsIHsgcmVhZDogRWxlbWVudFJlZiB9KSBpbnB1dFJlZj86IEVsZW1lbnRSZWZcblxuICAvKiBBVFRSSUJVVEVTICovXG5cbiAgLyoqIElkIG9mIHRoZSBob3N0IGVsZW1lbnQgYW5kIGlzIGFjY2Vzc2libGUgYnkgdGhlIGNoaWxkcmVuLCBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBpZiBub3QgcHJvdmlkZWQuICovXG4gIEBIb3N0QmluZGluZygnYXR0ci5pZCcpIEBJbnB1dCgpIGlkID0gKHdpbmRvdyBhcyBhbnkpLm5ndj8ubmV4dElkKFxuICAgICdkYXRlcGlja2VyJyxcbiAgKVxuICAvKiogTmFtZSBvZiB0aGUgY2hpbGQgaW5wdXQgZWxlbWVudC4gKi9cbiAgQElucHV0KCkgbmFtZT86IHN0cmluZ1xuICAvKiogTGFiZWwgb2YgdGhlIGNoaWxkIGlucHV0IGVsZW1lbnQgdXNpbmcgdGhlIGRlZmF1bHQgdGVtcGxhdGUuXG4gICAqIENhbiBiZSBvdmVyd3JpdHRlbiBieSBzcGVjaWZ5aW5nIGFuIGA8bmctdGVtcGxhdGUgI2xhYmVsVHBsPkN1c3RvbSBMYWJlbDwvbmctdGVtcGxhdGU+YC5cbiAgICovXG4gIEBJbnB1dCgpIGxhYmVsPzogc3RyaW5nXG4gIC8qKiBUZXh0IHNob3duIGJlZm9yZSBpbnB1dCBoYXMgYSB3cml0dGVuIHZhbHVlLiBEZWZhdWx0IGN1cnJlbnQgZGF0ZSBmb3JtYXQgYnkgbG9jYWxlIG9mIHRyYW5zbG9jbyAqL1xuICBASW5wdXQoKSBzZXQgcGxhY2Vob2xkZXIodmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuX3BsYWNlaG9sZGVyID0gdmFsdWVcbiAgICAgID8gc2V0RGF0ZUZvcm1hdENoYXJhY3RlcnModmFsdWUsIHRoaXMuZGF0ZUNoYXJhY3RlcnMpXG4gICAgICA6IHZhbHVlXG4gICAgdGhpcy5kZWZhdWx0UGxhY2Vob2xkZXIgPSB2YWx1ZVxuICAgICAgPyBzZXREYXRlRm9ybWF0Q2hhcmFjdGVycyh2YWx1ZSwgdGhpcy5kYXRlQ2hhcmFjdGVycylcbiAgICAgIDogdmFsdWVcbiAgfVxuICBnZXQgcGxhY2Vob2xkZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3BsYWNlaG9sZGVyXG4gIH1cbiAgcHJpdmF0ZSBfcGxhY2Vob2xkZXI6IHN0cmluZyB8IHVuZGVmaW5lZFxuICBkZWZhdWx0UGxhY2Vob2xkZXI/OiBzdHJpbmdcbiAgLyoqIFdoYXQgY2hhcmFjdGVycyB0byB1c2UgaW4gZGF0ZSBwbGFjZWhvbGRlciwgZS5nLiB7eWVhcjogJ1knLCBtb250aDogJ00nLCBkYXk6ICdEJ30gKi9cbiAgQElucHV0KCkgZGF0ZUNoYXJhY3RlcnM/OiBEYXRlQ2hhcmFjdGVyc1xuICAvKiogUm9sZSBvZiB0aGUgY2hpbGQgaW5wdXQgZWxlbWVudC4gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQWNjZXNzaWJpbGl0eS9BUklBL1JvbGVzICovXG4gIEBJbnB1dCgpIHJvbGU/OiBzdHJpbmdcbiAgLyoqIFZhbHVlIG9mIHRoZSBjaGlsZCBpbnB1dCBlbGVtZW50LiBNb3N0bHkgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHJhZGlvIGFuZCBjaGVja2JveGVzLiAqL1xuICBASW5wdXQoKSB2YWx1ZTogYW55XG4gIC8qKiBBbiBlcnJvciBzdHJpbmcgdG8gYmUgc2hvd24gdW5kZXIgaW52YWxpZCBpbnB1dHMuIE92ZXJ3cml0ZXMgYW55IGZvcm0gZXJyb3JzLiAqL1xuICBASW5wdXQoKSBlcnJvcj86IHN0cmluZ1xuICAvKiogQSBsaXN0IG9mIGVycm9ycyBzdHJpbmcgdG8gYmUgc2hvd24gdW5kZXIgaW52YWxpZCBpbnB1dHMuIE92ZXJ3cml0ZXMgYW55IGZvcm0gZXJyb3JzLiAqL1xuICBASW5wdXQoKSBlcnJvckxpc3Q/OiBzdHJpbmdbXVxuICAvKiogQWRkcyBhbiBpY29uIGJlZm9yZSBlYWNoIGVycm9yIG1lc3NhZ2UuICovXG4gIEBJbnB1dCgpIHdpdGhFcnJvckljb24/OiBib29sZWFuID0gZmFsc2VcbiAgLyoqIERlc2NyaXB0aW9uIG9mIHRoZSBjaGlsZCBpbnB1dCBlbGVtZW50LiBCb3RoIHZpc2libHkgYW5kIGFzIGBhcmlhLWxhYmVsYC4gKi9cbiAgQElucHV0KCkgZGVzY3JpcHRpb24/OiBzdHJpbmdcbiAgLyoqIElmIHNldCB0byB0cnVlLCB0aGUgYnJvd3NlciB3aWxsIHRyeSB0byBhdXRvbWF0aWNhbGx5IHNldCBmb2N1cyB0byB0aGUgY2hpbGQgaW5wdXQgZWxlbWVudC4gKi9cbiAgQElucHV0KCkgYXV0b2ZvY3VzID0gZmFsc2VcbiAgLyoqIERlZmF1bHQgdmFsdWUgb2YgdGhlIGNoaWxkIGlucHV0IGVsZW1lbnQuICovXG4gIEBJbnB1dCgpIGRlZmF1bHRWYWx1ZT86IGFueVxuICAvKiogSWYgcGFzc2VkLCB0aGUgY29tcG9uZW50IHdpbGwgbGlzdGVuIGZvciB1cGRhdGVzIGFuZCB3aWxsIHJlc2V0IGl0cyB2YWx1ZS4gKi9cbiAgQElucHV0KCkgcmVzZXQ/OiBPYnNlcnZhYmxlPGFueT5cbiAgLyoqIEFkZHMgKE9wdGlvbmFsKSB0byBpbnB1dCBsYWJlbC4gKi9cbiAgQElucHV0KCkgb3B0aW9uYWw/OiBib29sZWFuIHwgbnVsbCB8IHVuZGVmaW5lZFxuICAvKipcbiAgICogU2V0dGluZ3MgZm9yIGlucHV0IG1hc2sgZm9yIGRhdGVzIGJhc2VkIG9uIGxvY2FsZVxuICAgKiBAc2VlIHtAbGluayBnZXRMb2NhbGVEYXRlTWFza30gdXNlIHRoaXMgdG9vbCB0byBnZW5lcmF0ZSBzZXR0aW5ncyBmb3IgYGRhdGVJbnB1dE1hc2tgXG4gICAqL1xuICBASW5wdXQoKSBzZXQgZGF0ZUlucHV0TWFzayhkYXRlTWFzazogSW5wdXRtYXNrT3B0aW9uczxEYXRlPikge1xuICAgIC8vIEhpZGUgaW5wdXQgZmllbGRcbiAgICB0aGlzLnNob3dJbnB1dERhdGVTcmMubmV4dChmYWxzZSlcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKClcbiAgICB0aGlzLl9kYXRlSW5wdXRNYXNrID0gZGF0ZU1hc2tcblxuICAgIC8vIFNob3cgaW5wdXQgZmllbGQgdG8gcmVsb2FkIGlucHV0LW1hc2sgc2V0dGluZ3MgdXBvbiB1cGRhdGVcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuc2hvd0lucHV0RGF0ZVNyYy5uZXh0KHRydWUpXG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKClcbiAgICB9LCAyMDApXG4gIH1cbiAgZ2V0IGRhdGVJbnB1dE1hc2soKTogSW5wdXRtYXNrT3B0aW9uczxEYXRlPiB7XG4gICAgcmV0dXJuIHRoaXMuX2RhdGVJbnB1dE1hc2tcbiAgfVxuICBwcml2YXRlIF9kYXRlSW5wdXRNYXNrITogSW5wdXRtYXNrT3B0aW9uczxEYXRlPlxuXG4gIHByaXZhdGUgX2xvY2tlZDogYm9vbGVhbiB8IG51bGwgfCB1bmRlZmluZWQgPSB1bmRlZmluZWRcbiAgLyoqIEhpZGVzIHRoZSBpbnB1dCBib3JkZXJzIGFuZCBkaXNwbGF5cyBjdXJyZW50IHZhbHVlIGFzIGEgdGV4dC4gKi9cbiAgQElucHV0KCkgc2V0IGxvY2tlZCh2YWx1ZTogYm9vbGVhbiB8IG51bGwgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLl9sb2NrZWQgPSB2YWx1ZVxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKVxuICB9XG4gIGdldCBsb2NrZWQoKTogYm9vbGVhbiB8IG51bGwgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9sb2NrZWRcbiAgfVxuICAvKiogSWYgc2V0IHRvIHRydWUsIHVzaW5nIGEgY29udHJvbHMgZGlzYWJsZWQgc3RhdGUgd2lsbCBkaXNwbGF5IGlucHV0IGFzIGxvY2tlZC4gKi9cbiAgQElucHV0KCkgZGlzcGxheURpc2FibGVkQXNMb2NrZWQ/OiBib29sZWFuIHwgbnVsbCB8IHVuZGVmaW5lZFxuXG4gIC8qIFNUQVRFUyAqL1xuXG4gIHByaXZhdGUgX3JlcXVpcmVkOiBib29sZWFuIHwgbnVsbCB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZFxuICAvKiogT3ZlcnJpZGUgdGhlIHJlcXVpcmVkIGZsYWcgb2YgdGhlIGNvbXBvbmVudC4gKi9cbiAgQElucHV0KCkgc2V0IHJlcXVpcmVkKHZhbHVlOiBib29sZWFuIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuX3JlcXVpcmVkID0gdmFsdWVcbiAgfVxuICAvKiogQ2hpbGQgaW5wdXQgZWxlbWVudCBpcyBjb25zaWRlcmVkIHJlcXVpcmVkIGFuZCBjaGFuZ2VzIGRlZmF1bHQgbGFiZWwgdGVtcGxhdGUgYWNjb3JkaW5nbHkuICovXG4gIGdldCByZXF1aXJlZCgpOiBib29sZWFuIHwgbnVsbCB8IHVuZGVmaW5lZCB7XG4gICAgLy8gaWYgcmVxdWlyZWQgaXMgc2V0ID0+IHJldHVybiByZXF1aXJlZFxuICAgIGlmICh0aGlzLl9yZXF1aXJlZCAhPT0gdW5kZWZpbmVkKSByZXR1cm4gdGhpcy5fcmVxdWlyZWRcblxuICAgIC8vIGlmIHJlcXVpcmVkIGNhbiBiZSBkZXRlcm1pbmVkIGZyb20gdGhlIGNvbnRyb2wgPT4gcmV0dXJuIGNvbnRyb2wucmVxdWlyZWRcbiAgICBpZiAodGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2w/LnZhbGlkYXRvcikge1xuICAgICAgY29uc3QgdmFsaWRhdG9yID0gdGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2w/LnZhbGlkYXRvcihcbiAgICAgICAge30gYXMgQWJzdHJhY3RDb250cm9sLFxuICAgICAgKVxuICAgICAgcmV0dXJuIHZhbGlkYXRvciAmJiB2YWxpZGF0b3IucmVxdWlyZWRcbiAgICB9XG5cbiAgICByZXR1cm5cbiAgfVxuXG4gIHByaXZhdGUgX2ludmFsaWQ6IGJvb2xlYW4gfCB1bmRlZmluZWQgPSB1bmRlZmluZWRcbiAgLyoqIE92ZXJyaWRlIHRoZSBpbnZhbGlkIHN0YXRlIG9mIHRoZSBjb21wb25lbnQuICovXG4gIEBJbnB1dCgpIHNldCBpbnZhbGlkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5faW52YWxpZCA9IHZhbHVlXG4gIH1cbiAgLyoqIFRoZSBjb21wb25lbnQgaGFzIHRoZSBpbnZhbGlkIHN0YXRlLCB1c3VhbGx5IGRlY29yYXRpbmcgdGhlIGVsZW1lbnRzIHJlZCBhbmQgc2hvd3MgdGhlIGZpcnN0IGVycm9yLiAqL1xuICBnZXQgaW52YWxpZCgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5faW52YWxpZCA9PT0gdHJ1ZSB8fCB0aGlzLl9pbnZhbGlkID09PSBmYWxzZSkgcmV0dXJuIHRoaXMuX2ludmFsaWRcbiAgICByZXR1cm4gKFxuICAgICAgISF0aGlzLm5nQ29udHJvbD8uY29udHJvbD8uaW52YWxpZCAmJiB0aGlzLm5nQ29udHJvbD8uY29udHJvbD8udG91Y2hlZFxuICAgIClcbiAgfVxuXG4gIHByaXZhdGUgX3ZhbGlkOiBib29sZWFuIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkXG4gIC8qKiBPdmVycmlkZSB0aGUgdmFsaWQgc3RhdGUgb2YgdGhlIGNvbXBvbmVudC4gKi9cbiAgQElucHV0KCkgc2V0IHZhbGlkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fdmFsaWQgPSB2YWx1ZVxuICB9XG4gIC8qKiBUaGUgY29tcG9uZW50IGhhcyB0aGUgdmFsaWQgc3RhdGUsIHVzdWFsbHkgZGVjb3JhdGluZyB0aGUgZWxlbWVudHMgZ3JlZW4uICovXG4gIGdldCB2YWxpZCgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5fdmFsaWQgPT09IHRydWUgfHwgdGhpcy5fdmFsaWQgPT09IGZhbHNlKSByZXR1cm4gdGhpcy5fdmFsaWRcbiAgICByZXR1cm4gISF0aGlzLm5nQ29udHJvbD8uY29udHJvbD8udmFsaWQgJiYgdGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2w/LnRvdWNoZWRcbiAgfVxuXG4gIC8qKiBUaGUgY29tcG9uZW50IGhhcyB0aGUgZm9jdXNlZCBzdGF0ZSwgdXBkYXRlZCBieSB0aGUgY2hpbGQgaW5wdXQgZWxlbWVudCdzIGZvY3VzIHN0YXRlLiAqL1xuICBASW5wdXQoKSBmb2N1c2VkID0gZmFsc2VcbiAgLyoqIFRoZSBjb21wb25lbnQgaGFzIHRoZSBkaXNhYmxlZCBzdGF0ZSwgdXN1YWxseSBtdXRpbmcgdGhlIGNvbG9ycyBhbmQgcmVtb3ZlcyBpbnRlcmFjdGlvbi4gKi9cbiAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZVxuICAvKiogTG9jYWxlIGZvciB1c2luZyBjb3JyZWN0IGxhbmd1YWdlIGluIHRoZSBkYXRlcGlja2VyLiAqL1xuICBASW5wdXQoKSBsb2NhbGU6IHN0cmluZyB8IHVuZGVmaW5lZFxuICAvKiogRGF0ZSBmb3JtYXQgdXNlZCBmb3IgcGxhY2Vob2xkZXIgYW5kIGlucHV0IG1hc2suIFNob3VsZCBiZSBpbiBsb3dlciBjYXNlIHt5ZWFyOiAneScsIG1vbnRoOiAnbScsIGRheTogJ2QnfSAqL1xuICBASW5wdXQoKSBkYXRlRm9ybWF0OiBzdHJpbmcgfCB1bmRlZmluZWRcbiAgLyoqIERhdGUgbG9jYWxlIHVzZWQgZm9yIHBsYWNlaG9sZGVyIGFuZCBpbnB1dCBtYXNrLiAqL1xuICBASW5wdXQoKSBkYXRlTG9jYWxlOiBzdHJpbmcgfCB1bmRlZmluZWRcblxuICAvKiogVG9nZ2xlciBmb3Igc2hvd2luZyBvciBoaWRpbmcgdGhlIGlucHV0IGZpZWxkICovXG4gIHByb3RlY3RlZCBzaG93SW5wdXREYXRlU3JjID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKVxuXG4gIC8qIFRSSUdHRVJTICovXG5cbiAgLyoqIEVtaXRzIGZvY3VzIGV2ZW50cyB0cmlnZ2VyZWQgYnkgdGhlIGNoaWxkIGVsZW1lbnRzLiAqL1xuICBAT3V0cHV0KCkgcmVhZG9ubHkgbmd2Rm9jdXMgPSBuZXcgRXZlbnRFbWl0dGVyKClcbiAgLyoqIEVtaXRzIGZvY3VzIGV2ZW50cyB0cmlnZ2VyZWQgYnkgdGhlIGNoaWxkIGVsZW1lbnRzLiAqL1xuICBAT3V0cHV0KCkgcmVhZG9ubHkgbmd2Qmx1ciA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuXG4gIC8qIFZBTFVFIEhBTkRMRVJTICovXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgcHJvdGVjdGVkIG9uQ2hhbmdlID0gKF86IGFueSk6IHZvaWQgPT4ge30gLy8gZXNsaW50LWRpc2FibGUtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBwcm90ZWN0ZWQgb25Ub3VjaGVkID0gKCk6IHZvaWQgPT4ge30gLy8gZXNsaW50LWRpc2FibGUtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBwcm90ZWN0ZWQgb25WYWxpZGF0b3JDaGFuZ2U6ICgpID0+IHZvaWQgPSAoKSA9PiBudWxsXG4gIHByaXZhdGUgX3N0YXRlOiBhbnkgPSBudWxsXG5cbiAgLyogT1RIRVIgVkFSSUFCTEVTICovXG4gIHNjb3BlOiBzdHJpbmcgfCB1bmRlZmluZWRcbiAgLyoqIEBpbnRlcm5hbCAqL1xuICAvLyB3YXJuaW5nSWNvbiA9IGZhVHJpYW5nbGVFeGNsYW1hdGlvbjtcblxuICAvKiBMSUZFIENZQ0xFIFZBUklBQkxFUyAqL1xuICBwcml2YXRlIF9vbkRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dHJ1ZT4oKVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IEJhc2VDb250cm9sVmFsdWVBY2Nlc3NvckNvbXBvbmVudC5cbiAgICogQHBhcmFtIG5nQ29udHJvbCBvcHRpb25hbCBGb3JtQ29udHJvbCBwcm92aWRlZCB3aGVuIGNvbXBvbmVudCBpcyB1c2VkIGluIGEgZm9ybSwgdGhyb3VnaCBkZXBlbmRlbmN5IGluamVjdGlvbi5cbiAgICovXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBTZWxmKCkgQE9wdGlvbmFsKCkgcHVibGljIG5nQ29udHJvbDogTmdDb250cm9sLFxuICAgIEBPcHRpb25hbCgpXG4gICAgQEluamVjdChUUkFOU0xPQ09fU0NPUEUpXG4gICAgcHJvdGVjdGVkIHRyYW5zbG9jb1Njb3BlOiBUcmFuc2xvY29TY29wZSxcbiAgICBwcm90ZWN0ZWQgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwcm90ZWN0ZWQgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIF90cmFuc2xvY286IFRyYW5zbG9jb1NlcnZpY2UsXG4gICkge1xuICAgIGlmICh0aGlzLm5nQ29udHJvbCkge1xuICAgICAgLy8gTm90ZTogd2UgcHJvdmlkZSB0aGUgdmFsdWUgYWNjZXNzb3IgdGhyb3VnaCBoZXJlLCBpbnN0ZWFkIG9mXG4gICAgICAvLyB0aGUgYHByb3ZpZGVyc2AgdG8gYXZvaWQgcnVubmluZyBpbnRvIGEgY2lyY3VsYXIgaW1wb3J0LlxuICAgICAgdGhpcy5uZ0NvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXNcbiAgICB9XG5cbiAgICBpZiAodGhpcy50cmFuc2xvY29TY29wZSkgdGhpcy5zY29wZSA9IHRoaXMudHJhbnNsb2NvU2NvcGUudG9TdHJpbmcoKVxuICB9XG5cbiAgc3RhdGljIHBhcnNlRGF0ZUxpa2UodmFsdWU6IGFueSk6IG51bGwgfCB1bmRlZmluZWQgfCBzdHJpbmcge1xuICAgIHRyeSB7XG4gICAgICAvLyBpZiB2YWx1ZSBpcyB0eXBlIG9mIHN0cmluZyxcbiAgICAgIGlmICh2YWx1ZSAmJiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB2YWx1ZSA9IG5ldyBEYXRlKHZhbHVlKVxuICAgICAgc3dpdGNoICh0cnVlKSB7XG4gICAgICAgIC8vIHJlbW92ZSBpbnN0YW5jZXMgd2hlcmUgdGhlIHZhbHVlIHdpbGwgbm90IGNvcnJlY3RseSBiZSBwYXJzZWQgdG8gYSBkYXRlIHN0cmluZ1xuICAgICAgICBjYXNlIHZhbHVlID09IG51bGw6XG4gICAgICAgIGNhc2UgdmFsdWU/LnRvU3RyaW5nKCkgPT09ICdJbnZhbGlkIERhdGUnOlxuICAgICAgICAgIHJldHVybiBudWxsXG4gICAgICAgIC8vIGlmIHZhbHVlLWFzLWRhdGUgaXMgYSB2YWxpZCBkYXRlIG9iamVjdCwgcGFyc2UgdGhlIHZhbHVlIHRvIFlZWVktTU0tREQgZm9ybWF0XG4gICAgICAgIGNhc2UgdHlwZW9mIHZhbHVlPy5nZXRNb250aCA9PT0gJ2Z1bmN0aW9uJzpcbiAgICAgICAgICByZXR1cm4gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQoJ3N2LVNFJykuZm9ybWF0KHZhbHVlKVxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHJldHVybiB2YWx1ZSBhcyBzdHJpbmdcbiAgICAgIH1cbiAgICB9IGNhdGNoIChfZSkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb250ZXh0dWFsLWxpZmVjeWNsZVxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5uZ0NvbnRyb2wgJiYgdGhpcy5uZ0NvbnRyb2wuY29udHJvbCkge1xuICAgICAgdGhpcy5uZ0NvbnRyb2wuY29udHJvbC5zZXRWYWxpZGF0b3JzKFxuICAgICAgICBWYWxpZGF0b3JzLmNvbXBvc2UoW3RoaXMubmdDb250cm9sLmNvbnRyb2wudmFsaWRhdG9yLCB0aGlzLnZhbGlkYXRlXSksXG4gICAgICApXG4gICAgfVxuXG4gICAgdGhpcy5fdHJhbnNsb2NvLmxhbmdDaGFuZ2VzJC5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6ICgpID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLmxvY2FsZSAmJiAhdGhpcy5kYXRlRm9ybWF0KSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMudXBkYXRlUGxhY2Vob2xkZXJBbmRNYXNrKClcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICB9KVxuXG4gICAgLy8gaWYgcmVzZXQgb2JzZXJ2YWJsZSBoYXMgYmVlbiBwYXNzZWQsIHN1YnNjcmliZSBhZnRlciB1cGRhdGVzXG4gICAgdGhpcy5yZXNldD8ucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAoKSA9PiB7XG4gICAgICAgIC8vIHJlc2V0IHZhbHVlIG9mIGNvbnRyb2xsZXJcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZSgnJylcbiAgICAgIH0sXG4gICAgfSlcbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29udGV4dHVhbC1saWZlY3ljbGVcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIC8vIGlmIGRlZmF1bHQgdmFsdWUgaXMgc2V0LCB0aGVuIGRvbid0IGFsdGVyIGl0LiBPdGhlcndpc2UsIHVzZVxuICAgIC8vIGN1cnJlbnQgdmFsdWUgb2YgY29udHJvbGxlciBhZnRlciBpbml0aWF0aW9uIGFzIGRlZmF1bHQgdmFsdWVcbiAgICB0aGlzLmRlZmF1bHRWYWx1ZSA9IHRoaXMuZGVmYXVsdFZhbHVlID8/IHRoaXMubmdDb250cm9sPy52YWx1ZVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzLmRlZmF1bHRWYWx1ZT8uY3VycmVudFZhbHVlKSB7XG4gICAgICB0aGlzLnVwZGF0ZVZhbHVlKGNoYW5nZXMuZGVmYXVsdFZhbHVlLmN1cnJlbnRWYWx1ZSlcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBjaGFuZ2VzLmxvY2FsZT8uY3VycmVudFZhbHVlICYmXG4gICAgICAhdGhpcy5kYXRlRm9ybWF0ICYmXG4gICAgICAhY2hhbmdlcy5kYXRlRm9ybWF0Py5jdXJyZW50VmFsdWVcbiAgICApIHtcbiAgICAgIHRoaXMudXBkYXRlUGxhY2Vob2xkZXJBbmRNYXNrKClcbiAgICB9XG5cbiAgICBpZiAoY2hhbmdlcy5kYXRlRm9ybWF0Py5jdXJyZW50VmFsdWUpIHtcbiAgICAgIHRoaXMudXBkYXRlRm9ybWF0KClcbiAgICB9XG5cbiAgICBpZiAoY2hhbmdlcy5kYXRlQ2hhcmFjdGVycz8uY3VycmVudFZhbHVlKSB7XG4gICAgICBpZiAodGhpcy5kYXRlRm9ybWF0KSB7XG4gICAgICAgIHRoaXMudXBkYXRlRm9ybWF0KClcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMudXBkYXRlUGxhY2Vob2xkZXJBbmRNYXNrKClcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoISFjaGFuZ2VzLmRhdGVMb2NhbGU/LmN1cnJlbnRWYWx1ZSAmJiAhdGhpcy5kYXRlRm9ybWF0KSB7XG4gICAgICB0aGlzLnVwZGF0ZVBsYWNlaG9sZGVyQW5kTWFzaygpXG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fb25EZXN0cm95JC5uZXh0KHRydWUpXG4gICAgdGhpcy5fb25EZXN0cm95JC5jb21wbGV0ZSgpXG4gIH1cblxuICAvKiogQGludGVybmFsICovXG4gIG9uRm9jdXMoZXZlbnQ6IEV2ZW50KSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uXG4gICAgICA/IGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICA6IChldmVudC5jYW5jZWxCdWJibGUgPSB0cnVlKVxuICAgIHRoaXMuZm9jdXNlZCA9IHRydWVcbiAgICB0aGlzLm5ndkZvY3VzLmVtaXQoZXZlbnQpXG4gIH1cblxuICAvKiogQGludGVybmFsICovXG4gIG9uQmx1cihldmVudDogRXZlbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb25cbiAgICAgID8gZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcbiAgICAgIDogKGV2ZW50LmNhbmNlbEJ1YmJsZSA9IHRydWUpXG4gICAgdGhpcy5vblRvdWNoZWQoKVxuICAgIHRoaXMuZm9jdXNlZCA9IGZhbHNlXG4gICAgdGhpcy5uZ3ZCbHVyLmVtaXQoZXZlbnQpXG4gIH1cblxuICBkZXRlY3RDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKVxuICB9XG5cbiAgLyoqIFNldHMgdGhlIGZvY3VzIG9uIHRoZSBhY3R1YWwgaW5wdXQgZWxlbWVudC4gKi9cbiAgc2V0Rm9jdXMoKSB7XG4gICAgaWYgKHRoaXMuaW5wdXRSZWYpIHRoaXMuaW5wdXRSZWYubmF0aXZlRWxlbWVudC5mb2N1cygpXG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqIFVwZGF0ZSBwbGFjZWhvbGRlciAgYW5kIGlucHV0IG1hc2sgdG8gbWF0Y2ggbG9jYWxlLlxuICAgKiBPcmRlciBpZiBjaG9pY2UgZm9yIGxvY2FsZTpcbiAgICogMS4gZGF0ZUxvY2FsZSAtIFVzZWQgZm9yIHNwZWNpZnlpbmcgd2hpY2ggbG9jYWxlIHRvIGJlIHVzZWQgZm9yIGZvcm1hdHRpbmcgZGF0ZVxuICAgKiAyLiBsb2NhbGUgLSBVbmxlc3MgZGF0ZUxvY2FsZSBpcyBub3QgcHJvdmlkZWQsIHVzZSBsb2NhbGUgZm9ybSBjdXJyZW50IHRyYW5zbGF0aW9uXG4gICAqIDMuIHRyYW5zbG9jby5nZXRBY3RpdmVMYW5nIC0gYXMgbGFzdCByZXNvcnQsIGdldCBhY3RpdmUgbGFuZ3VhZ2UgZm9ybSB0cm5hc2xvY29cbiAgICogSWYgbG9jYWxlIGlzIHVuZGVmaW5lZCwgdHJhbnNsb2NvLmFjdGl2ZUxhbmcgd2lsbCBiZSB1c2VkIGluc3RlYWQuXG4gICAqL1xuICB1cGRhdGVQbGFjZWhvbGRlckFuZE1hc2soKSB7XG4gICAgY29uc3QgbG9jYWxlID1cbiAgICAgIHRoaXMuZGF0ZUxvY2FsZSA/PyB0aGlzLmxvY2FsZSA/PyB0aGlzLl90cmFuc2xvY28uZ2V0QWN0aXZlTGFuZygpXG5cbiAgICB0aGlzLl9wbGFjZWhvbGRlciA9IHRoaXMuZGVmYXVsdFBsYWNlaG9sZGVyXG4gICAgICA/IHNldERhdGVGb3JtYXRDaGFyYWN0ZXJzKHRoaXMuZGVmYXVsdFBsYWNlaG9sZGVyLCB0aGlzLmRhdGVDaGFyYWN0ZXJzKVxuICAgICAgOiBzZXREYXRlRm9ybWF0Q2hhcmFjdGVycyhcbiAgICAgICAgICBnZXRMb2NhbGVEYXRlU3RyaW5nKGxvY2FsZSkudG9Mb3dlckNhc2UoKSxcbiAgICAgICAgICB0aGlzLmRhdGVDaGFyYWN0ZXJzLFxuICAgICAgICApXG4gICAgdGhpcy5kYXRlSW5wdXRNYXNrID0gZ2V0TG9jYWxlRGF0ZU1hc2sodGhpcy5kYXRlQ2hhcmFjdGVycywgbG9jYWxlKVxuICB9XG5cbiAgdXBkYXRlRm9ybWF0KCkge1xuICAgIGlmICh0aGlzLmRhdGVGb3JtYXQpIHtcbiAgICAgIHRoaXMuX3BsYWNlaG9sZGVyID0gdGhpcy5kZWZhdWx0UGxhY2Vob2xkZXJcbiAgICAgICAgPyBzZXREYXRlRm9ybWF0Q2hhcmFjdGVycyh0aGlzLmRlZmF1bHRQbGFjZWhvbGRlciwgdGhpcy5kYXRlQ2hhcmFjdGVycylcbiAgICAgICAgOiBzZXREYXRlRm9ybWF0Q2hhcmFjdGVycyhcbiAgICAgICAgICAgIHRoaXMuZGF0ZUZvcm1hdC50b0xvd2VyQ2FzZSgpLFxuICAgICAgICAgICAgdGhpcy5kYXRlQ2hhcmFjdGVycyxcbiAgICAgICAgICApXG4gICAgICB0aGlzLmRhdGVJbnB1dE1hc2sgPSBnZXRGb3JtYXREYXRlTWFzayhcbiAgICAgICAgdGhpcy5kYXRlRm9ybWF0LFxuICAgICAgICB0aGlzLmRhdGVDaGFyYWN0ZXJzLFxuICAgICAgKVxuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gQ09OVFJPTCBWQUxVRSBBQ0NFU1NPUlxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLyoqIEludGVybmFsIHN0YXRlL3ZhbHVlIHRoYXQgdGhlIG5hdGl2ZSBpbnB1dCBlbGVtZW50IGhhcy4gKi9cbiAgZ2V0IHN0YXRlKCkge1xuICAgIHJldHVybiB0aGlzLl9zdGF0ZVxuICB9XG5cbiAgLyoqXG4gICAqIEludGVybmFsIHN0YXRlL3ZhbHVlIHRoYXQgdGhlIG5hdGl2ZSBpbnB1dCBlbGVtZW50IGhhcy5cbiAgICovXG4gIHNldCBzdGF0ZSh2YWx1ZSkge1xuICAgIHRoaXMuX3N0YXRlID0gdmFsdWVcbiAgfVxuXG4gIC8qKiBXcml0ZXMgYSBuZXcgdmFsdWUgdG8gdGhlIGNoaWxkIGlucHV0IGVsZW1lbnQuICovXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGUgPSB2YWx1ZVxuICAgIHRoaXMub25DaGFuZ2UodGhpcy5zdGF0ZSlcbiAgfVxuXG4gIC8qKiBSZWdpc3RlcnMgYSBjYWxsYmFjayBmdW5jdGlvbiB0aGF0IGlzIGNhbGxlZCB3aGVuIHRoZSBjaGlsZCBpbnB1dCBlbGVtZW50J3MgdmFsdWUgY2hhbmdlcy4gKi9cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBhbnkpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gKHZhbHVlKSA9PiB7XG4gICAgICAvLyBlbnN1cmUgZW1pdHRlZCB2YWx1ZSBpcyBhIHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWRcbiAgICAgIGNvbnN0IGVtaXRWYWx1ZSA9IERhdGVDb250cm9sVmFsdWVBY2Nlc3NvckNvbXBvbmVudC5wYXJzZURhdGVMaWtlKHZhbHVlKVxuICAgICAgZm4oZW1pdFZhbHVlKVxuICAgIH1cbiAgfVxuXG4gIC8qKiBSZWdpc3RlcnMgYSBjYWxsYmFjayBmdW5jdGlvbiB0aGF0IGlzIGNhbGxlZCB3aGVuIHRoZSBjaGlsZCBpbnB1dCBlbGVtZW50IHRyaWdnZXJzIG9uIGJsdXIuICovXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmblxuICB9XG5cbiAgLyoqIEZ1bmN0aW9uIHRoYXQgaXMgY2FsbGVkIGJ5IHRoZSBmb3JtcyBBUEkgd2hlbiB0aGUgY29udHJvbCBzdGF0dXMgY2hhbmdlcyB0byBvciBmcm9tICdESVNBQkxFRCcuICovXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkXG5cbiAgICAvLyBpZiBkaXNwbGF5RGlzYWJsZWRBc0xvY2tlZCBpcyBlbmFibGVkIC0gdXBkYXRlIGxvY2tlZCBzdGF0ZSBiYXNlZCBvbiBkaXNhYmxlZCBzdGF0ZVxuICAgIGlmICh0aGlzLmRpc3BsYXlEaXNhYmxlZEFzTG9ja2VkKSB7XG4gICAgICB0aGlzLmxvY2tlZCA9IGlzRGlzYWJsZWRcbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFZBTElEQVRPUlNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8qKiBNZXRob2QgdGhhdCBwZXJmb3JtcyBzeW5jaHJvbm91cyB2YWxpZGF0aW9uIGFnYWluc3QgdGhlIHByb3ZpZGVkIGNvbnRyb2wuIFVzZWQgZm9yIGludGVybmFsIHZhbGlkYXRpb24uICovXG4gIHZhbGlkYXRlKF9jb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfSB8IG51bGwge1xuICAgIHJldHVybiBudWxsXG4gIH1cblxuICAvKiogUmVnaXN0ZXJzIGEgY2FsbGJhY2sgZnVuY3Rpb24gdG8gY2FsbCB3aGVuIHRoZSB2YWxpZGF0b3IgaW5wdXRzIGNoYW5nZS4gKi9cbiAgcmVnaXN0ZXJPblZhbGlkYXRvckNoYW5nZShmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25WYWxpZGF0b3JDaGFuZ2UgPSBmblxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBIRUxQRVJTXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvKiogUmV0dXJucyB0aGUgZmlyc3QgZW50cnkgaW4gYW4gZXJyb3Igb2JqZWN0LiAqL1xuICBnZXQgZmlyc3RFcnJvcigpOiB7IGNvZGU6IHN0cmluZzsgcGFyYW1zOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IH0gfCBudWxsIHtcbiAgICBjb25zdCBlcnJvcnM6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0gdGhpcy5uZ0NvbnRyb2wuZXJyb3JzXG4gICAgaWYgKCFlcnJvcnMpIHJldHVybiBudWxsXG4gICAgY29uc3QgY29kZSA9IE9iamVjdC5rZXlzKGVycm9ycylbMF1cbiAgICByZXR1cm4geyBjb2RlLCBwYXJhbXM6IGVycm9yc1tjb2RlXSB9XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVZhbHVlKHZhbHVlID0gdGhpcy5kZWZhdWx0VmFsdWUpIHtcbiAgICB0aGlzLnN0YXRlID0gdmFsdWVcbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuc3RhdGUpXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpXG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
;
|
|
2
|
-
(() => {
|
|
3
|
-
// Make sure there is an incremental ID each component can use
|
|
4
|
-
if (typeof window !== 'undefined' && !window.ngv) {
|
|
5
|
-
window.ngv = {
|
|
6
|
-
ids: { default: -1 },
|
|
7
|
-
nextId(namespace = 'default') {
|
|
8
|
-
let id = this.ids[namespace] || 0;
|
|
9
|
-
if (typeof this.ids[namespace] === 'number')
|
|
10
|
-
id++;
|
|
11
|
-
this.ids[namespace] = id;
|
|
12
|
-
return namespace === 'default'
|
|
13
|
-
? `nggv-${id}`
|
|
14
|
-
: `nggv-${namespace}-${id}`;
|
|
15
|
-
},
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
})();
|
|
19
|
-
export {};
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5nbG9iYWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy92LWFuZ3VsYXIvZGF0ZXBpY2tlci9kYXRlcGlja2VyLmdsb2JhbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBY0EsQ0FBQztBQUFBLENBQUMsR0FBRyxFQUFFO0lBQ0wsOERBQThEO0lBQzlELElBQUksT0FBTyxNQUFNLEtBQUssV0FBVyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ2pELE1BQU0sQ0FBQyxHQUFHLEdBQUc7WUFDWCxHQUFHLEVBQUUsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEVBQUU7WUFDcEIsTUFBTSxDQUFDLFNBQVMsR0FBRyxTQUFTO2dCQUMxQixJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQTtnQkFDakMsSUFBSSxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEtBQUssUUFBUTtvQkFBRSxFQUFFLEVBQUUsQ0FBQTtnQkFDakQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUE7Z0JBQ3hCLE9BQU8sU0FBUyxLQUFLLFNBQVM7b0JBQzVCLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtvQkFDZCxDQUFDLENBQUMsUUFBUSxTQUFTLElBQUksRUFBRSxFQUFFLENBQUE7WUFDL0IsQ0FBQztTQUNGLENBQUE7SUFDSCxDQUFDO0FBQ0gsQ0FBQyxDQUFDLEVBQUUsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8vIFdlIG11c3QgZm9yY2UgdHNjIHRvIGludGVycHJldCB0aGlzIGZpbGUgYXMgYSBtb2R1bGUsIHJlc29sdmVzXG4vLyBcIkF1Z21lbnRhdGlvbnMgZm9yIHRoZSBnbG9iYWwgc2NvcGUgY2FuIG9ubHkgYmUgZGlyZWN0bHkgbmVzdGVkIGluIGV4dGVybmFsIG1vZHVsZXMgb3IgYW1iaWVudCBtb2R1bGUgZGVjbGFyYXRpb25zLlwiXG5leHBvcnQge31cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgV2luZG93IHtcbiAgICAvKiogQ291bnRlciBmb3IgdW5pcXVlIGlkZW50aWZpZXJzICovXG4gICAgbmd2OiB7XG4gICAgICBpZHM6IHsgW25hbWVzcGFjZTogc3RyaW5nXTogbnVtYmVyOyBkZWZhdWx0OiBudW1iZXIgfVxuICAgICAgbmV4dElkOiAobmFtZXNwYWNlPzogc3RyaW5nKSA9PiBzdHJpbmdcbiAgICB9XG4gIH1cbn1cblxuOygoKSA9PiB7XG4gIC8vIE1ha2Ugc3VyZSB0aGVyZSBpcyBhbiBpbmNyZW1lbnRhbCBJRCBlYWNoIGNvbXBvbmVudCBjYW4gdXNlXG4gIGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyAmJiAhd2luZG93Lm5ndikge1xuICAgIHdpbmRvdy5uZ3YgPSB7XG4gICAgICBpZHM6IHsgZGVmYXVsdDogLTEgfSxcbiAgICAgIG5leHRJZChuYW1lc3BhY2UgPSAnZGVmYXVsdCcpOiBzdHJpbmcge1xuICAgICAgICBsZXQgaWQgPSB0aGlzLmlkc1tuYW1lc3BhY2VdIHx8IDBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmlkc1tuYW1lc3BhY2VdID09PSAnbnVtYmVyJykgaWQrK1xuICAgICAgICB0aGlzLmlkc1tuYW1lc3BhY2VdID0gaWRcbiAgICAgICAgcmV0dXJuIG5hbWVzcGFjZSA9PT0gJ2RlZmF1bHQnXG4gICAgICAgICAgPyBgbmdndi0ke2lkfWBcbiAgICAgICAgICA6IGBuZ2d2LSR7bmFtZXNwYWNlfS0ke2lkfWBcbiAgICAgIH0sXG4gICAgfVxuICB9XG59KSgpXG4iXX0=
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import { formatDate } from '@angular/common';
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class CalendarMonth {
|
|
5
|
-
constructor(date) {
|
|
6
|
-
this._date = date ? new Date(date) : new Date();
|
|
7
|
-
this._date.setDate(1);
|
|
8
|
-
this._date.setHours(0, 0, 0, 0);
|
|
9
|
-
this.year = this._date.getFullYear();
|
|
10
|
-
this.month = this._date.getMonth();
|
|
11
|
-
this.id = formatDate(this._date, 'yyyyMM', 'en');
|
|
12
|
-
}
|
|
13
|
-
/** Creates an instance based of input year and month. */
|
|
14
|
-
static fromObject(obj) {
|
|
15
|
-
const objectDate = new Date(obj.year, obj.month, 1);
|
|
16
|
-
return new CalendarMonth(objectDate);
|
|
17
|
-
}
|
|
18
|
-
/** Returns a Date representation for the instance. */
|
|
19
|
-
get date() {
|
|
20
|
-
return new Date(this._date);
|
|
21
|
-
}
|
|
22
|
-
/** Returns the string id representing the instance in form of 'yyyyMM'. */
|
|
23
|
-
valueOf() {
|
|
24
|
-
return this.id;
|
|
25
|
-
}
|
|
26
|
-
/** Returns a new instance for next month. */
|
|
27
|
-
nextMonth() {
|
|
28
|
-
const next = this.date;
|
|
29
|
-
next.setMonth(this.month + 1);
|
|
30
|
-
return new CalendarMonth(next);
|
|
31
|
-
}
|
|
32
|
-
/** Returns a new instance for previous month. */
|
|
33
|
-
previousMonth() {
|
|
34
|
-
const previous = this.date;
|
|
35
|
-
previous.setMonth(this.month - 1);
|
|
36
|
-
return new CalendarMonth(previous);
|
|
37
|
-
}
|
|
38
|
-
/** Returns a new instance for next year. */
|
|
39
|
-
nextYear() {
|
|
40
|
-
const nextYear = this.date;
|
|
41
|
-
nextYear.setFullYear(nextYear.getFullYear() + 1);
|
|
42
|
-
return new CalendarMonth(nextYear);
|
|
43
|
-
}
|
|
44
|
-
/** Returns a new instance for previous year. */
|
|
45
|
-
previousYear() {
|
|
46
|
-
const previousYear = this.date;
|
|
47
|
-
previousYear.setFullYear(previousYear.getFullYear() - 1);
|
|
48
|
-
return new CalendarMonth(previousYear);
|
|
49
|
-
}
|
|
50
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalendarMonth, deps: [{ token: Date }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
51
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalendarMonth }); }
|
|
52
|
-
}
|
|
53
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalendarMonth, decorators: [{
|
|
54
|
-
type: Injectable
|
|
55
|
-
}], ctorParameters: () => [{ type: Date }] });
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5tb2RlbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL3YtYW5ndWxhci9kYXRlcGlja2VyL2RhdGVwaWNrZXIubW9kZWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQVcsTUFBTSxpQkFBaUIsQ0FBQTtBQUNyRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBOztBQTRCMUMsTUFBTSxPQUFPLGFBQWE7SUFNeEIsWUFBWSxJQUFXO1FBQ3JCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQTtRQUMvQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUNyQixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtRQUMvQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUE7UUFDcEMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFBO1FBQ2xDLElBQUksQ0FBQyxFQUFFLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFBO0lBQ2xELENBQUM7SUFFRCx5REFBeUQ7SUFDekQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFvQztRQUNwRCxNQUFNLFVBQVUsR0FBRyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUE7UUFDbkQsT0FBTyxJQUFJLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUN0QyxDQUFDO0lBRUQsc0RBQXNEO0lBQ3RELElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQzdCLENBQUM7SUFFRCwyRUFBMkU7SUFDM0UsT0FBTztRQUNMLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQTtJQUNoQixDQUFDO0lBRUQsNkNBQTZDO0lBQzdDLFNBQVM7UUFDUCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFBO1FBQ3RCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQTtRQUM3QixPQUFPLElBQUksYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQ2hDLENBQUM7SUFFRCxpREFBaUQ7SUFDakQsYUFBYTtRQUNYLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUE7UUFDMUIsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFBO1FBQ2pDLE9BQU8sSUFBSSxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDcEMsQ0FBQztJQUVELDRDQUE0QztJQUM1QyxRQUFRO1FBQ04sTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQTtRQUMxQixRQUFRLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQTtRQUNoRCxPQUFPLElBQUksYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQ3BDLENBQUM7SUFFRCxnREFBZ0Q7SUFDaEQsWUFBWTtRQUNWLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUE7UUFDOUIsWUFBWSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUE7UUFDeEQsT0FBTyxJQUFJLGFBQWEsQ0FBQyxZQUFZLENBQUMsQ0FBQTtJQUN4QyxDQUFDOytHQXpEVSxhQUFhO21IQUFiLGFBQWE7OzRGQUFiLGFBQWE7a0JBRHpCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmb3JtYXREYXRlLCBXZWVrRGF5IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5cbmV4cG9ydCB0eXBlIENhbGVuZGFyVHlwZSA9ICdub3JtYWwnIHwgJ2V4dGVuZGVkJ1xuXG5leHBvcnQgY29uc3QgZW51bSBNb250aCB7XG4gIEphbnVhcnksXG4gIEZlYnJ1YXJ5LFxuICBNYXJjaCxcbiAgQXByaWwsXG4gIE1heSxcbiAgSnVuZSxcbiAgSnVseSxcbiAgQXVndXN0LFxuICBTZXB0ZW1iZXIsXG4gIE9jdG9iZXIsXG4gIE5vdmVtYmVyLFxuICBEZWNlbWJlcixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNhYmxlRGF0ZUNvbmZpZyB7XG4gIGZyb21EYXRlPzogRGF0ZSB8IHVuZGVmaW5lZFxuICB0b0RhdGU/OiBEYXRlIHwgdW5kZWZpbmVkXG4gIGV4Y2x1ZGVEYXRlcz86IERhdGVbXSB8IHVuZGVmaW5lZFxuICBleGNsdWRlRGF5cz86IFdlZWtEYXlbXSB8IHVuZGVmaW5lZFxuICBjbG9zaW5nVGltZT86IERhdGUgfCB1bmRlZmluZWRcbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENhbGVuZGFyTW9udGgge1xuICB5ZWFyOiBudW1iZXJcbiAgbW9udGg6IG51bWJlclxuICBpZDogc3RyaW5nXG4gIF9kYXRlOiBEYXRlXG5cbiAgY29uc3RydWN0b3IoZGF0ZT86IERhdGUpIHtcbiAgICB0aGlzLl9kYXRlID0gZGF0ZSA/IG5ldyBEYXRlKGRhdGUpIDogbmV3IERhdGUoKVxuICAgIHRoaXMuX2RhdGUuc2V0RGF0ZSgxKVxuICAgIHRoaXMuX2RhdGUuc2V0SG91cnMoMCwgMCwgMCwgMClcbiAgICB0aGlzLnllYXIgPSB0aGlzLl9kYXRlLmdldEZ1bGxZZWFyKClcbiAgICB0aGlzLm1vbnRoID0gdGhpcy5fZGF0ZS5nZXRNb250aCgpXG4gICAgdGhpcy5pZCA9IGZvcm1hdERhdGUodGhpcy5fZGF0ZSwgJ3l5eXlNTScsICdlbicpXG4gIH1cblxuICAvKiogQ3JlYXRlcyBhbiBpbnN0YW5jZSBiYXNlZCBvZiBpbnB1dCB5ZWFyIGFuZCBtb250aC4gKi9cbiAgc3RhdGljIGZyb21PYmplY3Qob2JqOiB7IHllYXI6IG51bWJlcjsgbW9udGg6IG51bWJlciB9KTogQ2FsZW5kYXJNb250aCB7XG4gICAgY29uc3Qgb2JqZWN0RGF0ZSA9IG5ldyBEYXRlKG9iai55ZWFyLCBvYmoubW9udGgsIDEpXG4gICAgcmV0dXJuIG5ldyBDYWxlbmRhck1vbnRoKG9iamVjdERhdGUpXG4gIH1cblxuICAvKiogUmV0dXJucyBhIERhdGUgcmVwcmVzZW50YXRpb24gZm9yIHRoZSBpbnN0YW5jZS4gKi9cbiAgZ2V0IGRhdGUoKTogRGF0ZSB7XG4gICAgcmV0dXJuIG5ldyBEYXRlKHRoaXMuX2RhdGUpXG4gIH1cblxuICAvKiogUmV0dXJucyB0aGUgc3RyaW5nIGlkIHJlcHJlc2VudGluZyB0aGUgaW5zdGFuY2UgaW4gZm9ybSBvZiAneXl5eU1NJy4gKi9cbiAgdmFsdWVPZigpIHtcbiAgICByZXR1cm4gdGhpcy5pZFxuICB9XG5cbiAgLyoqIFJldHVybnMgYSBuZXcgaW5zdGFuY2UgZm9yIG5leHQgbW9udGguICovXG4gIG5leHRNb250aCgpOiBDYWxlbmRhck1vbnRoIHtcbiAgICBjb25zdCBuZXh0ID0gdGhpcy5kYXRlXG4gICAgbmV4dC5zZXRNb250aCh0aGlzLm1vbnRoICsgMSlcbiAgICByZXR1cm4gbmV3IENhbGVuZGFyTW9udGgobmV4dClcbiAgfVxuXG4gIC8qKiBSZXR1cm5zIGEgbmV3IGluc3RhbmNlIGZvciBwcmV2aW91cyBtb250aC4gKi9cbiAgcHJldmlvdXNNb250aCgpOiBDYWxlbmRhck1vbnRoIHtcbiAgICBjb25zdCBwcmV2aW91cyA9IHRoaXMuZGF0ZVxuICAgIHByZXZpb3VzLnNldE1vbnRoKHRoaXMubW9udGggLSAxKVxuICAgIHJldHVybiBuZXcgQ2FsZW5kYXJNb250aChwcmV2aW91cylcbiAgfVxuXG4gIC8qKiBSZXR1cm5zIGEgbmV3IGluc3RhbmNlIGZvciBuZXh0IHllYXIuICovXG4gIG5leHRZZWFyKCk6IENhbGVuZGFyTW9udGgge1xuICAgIGNvbnN0IG5leHRZZWFyID0gdGhpcy5kYXRlXG4gICAgbmV4dFllYXIuc2V0RnVsbFllYXIobmV4dFllYXIuZ2V0RnVsbFllYXIoKSArIDEpXG4gICAgcmV0dXJuIG5ldyBDYWxlbmRhck1vbnRoKG5leHRZZWFyKVxuICB9XG5cbiAgLyoqIFJldHVybnMgYSBuZXcgaW5zdGFuY2UgZm9yIHByZXZpb3VzIHllYXIuICovXG4gIHByZXZpb3VzWWVhcigpOiBDYWxlbmRhck1vbnRoIHtcbiAgICBjb25zdCBwcmV2aW91c1llYXIgPSB0aGlzLmRhdGVcbiAgICBwcmV2aW91c1llYXIuc2V0RnVsbFllYXIocHJldmlvdXNZZWFyLmdldEZ1bGxZZWFyKCkgLSAxKVxuICAgIHJldHVybiBuZXcgQ2FsZW5kYXJNb250aChwcmV2aW91c1llYXIpXG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
|
|
3
|
-
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
4
|
-
import { TranslocoModule } from '@jsverse/transloco';
|
|
5
|
-
import { NggCoreWrapperModule } from '@sebgroup/green-angular/src/lib/shared';
|
|
6
|
-
import { NggvInputMaskModule } from '@sebgroup/green-angular/src/v-angular/input-mask';
|
|
7
|
-
import { CalendarControlComponent } from './components/calendar-control/calendar-control.component';
|
|
8
|
-
import { CalendarComponent } from './components/calendar/calendar.component';
|
|
9
|
-
import { DateInputComponent } from './components/date-input/date-input.component';
|
|
10
|
-
import { DatepickerComponent } from './components/datepicker/datepicker.component';
|
|
11
|
-
import { CalendarDateDirective } from './directives/calendar-date.directive';
|
|
12
|
-
import { DateThookPipe } from './pipes/date-thook.pipe';
|
|
13
|
-
import { IsDisabledPipe } from './pipes/is-disabled.pipe';
|
|
14
|
-
import { MatchesPipe } from './pipes/matches.pipe';
|
|
15
|
-
import * as i0 from "@angular/core";
|
|
16
|
-
export class NggvDatepickerModule {
|
|
17
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NggvDatepickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
18
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: NggvDatepickerModule, declarations: [CalendarComponent,
|
|
19
|
-
CalendarDateDirective,
|
|
20
|
-
IsDisabledPipe,
|
|
21
|
-
DateThookPipe,
|
|
22
|
-
CalendarControlComponent,
|
|
23
|
-
DatepickerComponent,
|
|
24
|
-
DateInputComponent,
|
|
25
|
-
MatchesPipe], imports: [CommonModule,
|
|
26
|
-
FormsModule,
|
|
27
|
-
ReactiveFormsModule,
|
|
28
|
-
TranslocoModule,
|
|
29
|
-
NggvInputMaskModule,
|
|
30
|
-
NggCoreWrapperModule], exports: [DateInputComponent, DatepickerComponent] }); }
|
|
31
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NggvDatepickerModule, imports: [CommonModule,
|
|
32
|
-
FormsModule,
|
|
33
|
-
ReactiveFormsModule,
|
|
34
|
-
TranslocoModule,
|
|
35
|
-
NggvInputMaskModule,
|
|
36
|
-
NggCoreWrapperModule] }); }
|
|
37
|
-
}
|
|
38
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NggvDatepickerModule, decorators: [{
|
|
39
|
-
type: NgModule,
|
|
40
|
-
args: [{
|
|
41
|
-
declarations: [
|
|
42
|
-
CalendarComponent,
|
|
43
|
-
CalendarDateDirective,
|
|
44
|
-
IsDisabledPipe,
|
|
45
|
-
DateThookPipe,
|
|
46
|
-
CalendarControlComponent,
|
|
47
|
-
DatepickerComponent,
|
|
48
|
-
DateInputComponent,
|
|
49
|
-
MatchesPipe,
|
|
50
|
-
],
|
|
51
|
-
imports: [
|
|
52
|
-
CommonModule,
|
|
53
|
-
FormsModule,
|
|
54
|
-
ReactiveFormsModule,
|
|
55
|
-
TranslocoModule,
|
|
56
|
-
NggvInputMaskModule,
|
|
57
|
-
NggCoreWrapperModule,
|
|
58
|
-
],
|
|
59
|
-
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
60
|
-
exports: [DateInputComponent, DatepickerComponent],
|
|
61
|
-
}]
|
|
62
|
-
}] });
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL3YtYW5ndWxhci9kYXRlcGlja2VyL2RhdGVwaWNrZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ2hFLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUNqRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFFcEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0NBQXdDLENBQUE7QUFDN0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0RBQWtELENBQUE7QUFDdEYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMERBQTBELENBQUE7QUFDbkcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMENBQTBDLENBQUE7QUFDNUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOENBQThDLENBQUE7QUFDakYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOENBQThDLENBQUE7QUFDbEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0NBQXNDLENBQUE7QUFDNUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUN6RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUE7O0FBd0JsRCxNQUFNLE9BQU8sb0JBQW9COytHQUFwQixvQkFBb0I7Z0hBQXBCLG9CQUFvQixpQkFwQjdCLGlCQUFpQjtZQUNqQixxQkFBcUI7WUFDckIsY0FBYztZQUNkLGFBQWE7WUFDYix3QkFBd0I7WUFDeEIsbUJBQW1CO1lBQ25CLGtCQUFrQjtZQUNsQixXQUFXLGFBR1gsWUFBWTtZQUNaLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsZUFBZTtZQUNmLG1CQUFtQjtZQUNuQixvQkFBb0IsYUFHWixrQkFBa0IsRUFBRSxtQkFBbUI7Z0hBRXRDLG9CQUFvQixZQVY3QixZQUFZO1lBQ1osV0FBVztZQUNYLG1CQUFtQjtZQUNuQixlQUFlO1lBQ2YsbUJBQW1CO1lBQ25CLG9CQUFvQjs7NEZBS1gsb0JBQW9CO2tCQXRCaEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osaUJBQWlCO3dCQUNqQixxQkFBcUI7d0JBQ3JCLGNBQWM7d0JBQ2QsYUFBYTt3QkFDYix3QkFBd0I7d0JBQ3hCLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQixXQUFXO3FCQUNaO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixlQUFlO3dCQUNmLG1CQUFtQjt3QkFDbkIsb0JBQW9CO3FCQUNyQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztvQkFDakMsT0FBTyxFQUFFLENBQUMsa0JBQWtCLEVBQUUsbUJBQW1CLENBQUM7aUJBQ25EIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3JtcydcbmltcG9ydCB7IFRyYW5zbG9jb01vZHVsZSB9IGZyb20gJ0Bqc3ZlcnNlL3RyYW5zbG9jbydcblxuaW1wb3J0IHsgTmdnQ29yZVdyYXBwZXJNb2R1bGUgfSBmcm9tICdAc2ViZ3JvdXAvZ3JlZW4tYW5ndWxhci9zcmMvbGliL3NoYXJlZCdcbmltcG9ydCB7IE5nZ3ZJbnB1dE1hc2tNb2R1bGUgfSBmcm9tICdAc2ViZ3JvdXAvZ3JlZW4tYW5ndWxhci9zcmMvdi1hbmd1bGFyL2lucHV0LW1hc2snXG5pbXBvcnQgeyBDYWxlbmRhckNvbnRyb2xDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY2FsZW5kYXItY29udHJvbC9jYWxlbmRhci1jb250cm9sLmNvbXBvbmVudCdcbmltcG9ydCB7IENhbGVuZGFyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NhbGVuZGFyL2NhbGVuZGFyLmNvbXBvbmVudCdcbmltcG9ydCB7IERhdGVJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9kYXRlLWlucHV0L2RhdGUtaW5wdXQuY29tcG9uZW50J1xuaW1wb3J0IHsgRGF0ZXBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9kYXRlcGlja2VyL2RhdGVwaWNrZXIuY29tcG9uZW50J1xuaW1wb3J0IHsgQ2FsZW5kYXJEYXRlRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2NhbGVuZGFyLWRhdGUuZGlyZWN0aXZlJ1xuaW1wb3J0IHsgRGF0ZVRob29rUGlwZSB9IGZyb20gJy4vcGlwZXMvZGF0ZS10aG9vay5waXBlJ1xuaW1wb3J0IHsgSXNEaXNhYmxlZFBpcGUgfSBmcm9tICcuL3BpcGVzL2lzLWRpc2FibGVkLnBpcGUnXG5pbXBvcnQgeyBNYXRjaGVzUGlwZSB9IGZyb20gJy4vcGlwZXMvbWF0Y2hlcy5waXBlJ1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBDYWxlbmRhckNvbXBvbmVudCxcbiAgICBDYWxlbmRhckRhdGVEaXJlY3RpdmUsXG4gICAgSXNEaXNhYmxlZFBpcGUsXG4gICAgRGF0ZVRob29rUGlwZSxcbiAgICBDYWxlbmRhckNvbnRyb2xDb21wb25lbnQsXG4gICAgRGF0ZXBpY2tlckNvbXBvbmVudCxcbiAgICBEYXRlSW5wdXRDb21wb25lbnQsXG4gICAgTWF0Y2hlc1BpcGUsXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBUcmFuc2xvY29Nb2R1bGUsXG4gICAgTmdndklucHV0TWFza01vZHVsZSxcbiAgICBOZ2dDb3JlV3JhcHBlck1vZHVsZSxcbiAgXSxcbiAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxuICBleHBvcnRzOiBbRGF0ZUlucHV0Q29tcG9uZW50LCBEYXRlcGlja2VyQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgTmdndkRhdGVwaWNrZXJNb2R1bGUge31cbiJdfQ==
|