@seniorsistemas/angular-components 19.3.1 → 19.3.2
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/breadcrumb/lib/dynamic-breadcrumb/dynamic-breadcrumb.component.d.ts +1 -2
- package/calendar-mask/lib/calendar-mask/calendar-mask.directive.d.ts +0 -1
- package/chips/lib/chips/chips/chips.component.d.ts +1 -2
- package/code-editor/lib/code-editor/code-editor.component.d.ts +0 -2
- package/code-editor/lib/code-editor/infra/utils/custom-translations/custom-translations.module.d.ts +1 -3
- package/common/lib/svg-factory/svg-factory.directive.d.ts +1 -2
- package/content-generator/lib/content-generator/content-generator.component.d.ts +1 -6
- package/content-generator/lib/services/IAssist/iassist.service.d.ts +0 -3
- package/country-phone-picker/lib/country-phone-picker/country-phone-picker.component.d.ts +0 -3
- package/country-phone-picker/lib/country-phone-picker/country-phone-picker.service.d.ts +0 -2
- package/currency/lib/currency.service.d.ts +0 -2
- package/custom-fields/lib/custom-fields/custom-fields.component.d.ts +3 -7
- package/custom-fields/lib/custom-fields/custom-fields.service.d.ts +0 -2
- package/dynamic-form/dynamic-form/components/lookup/lookup.component.d.ts +0 -2
- package/dynamic-form/dynamic-form/form-field/fields/autocomplete/autocomplete-field.component.d.ts +1 -2
- package/dynamic-form/dynamic-form/form-field/fields/bignumber/bignumber-field.component.d.ts +1 -3
- package/dynamic-form/dynamic-form/form-field/fields/calendar/calendar-field.component.d.ts +1 -2
- package/dynamic-form/dynamic-form/form-field/fields/chips/chips-field.component.d.ts +1 -3
- package/dynamic-form/dynamic-form/form-field/fields/country-phone-picker/country-phone-picker-field.component.d.ts +1 -2
- package/dynamic-form/dynamic-form/form-field/fields/currency/currency-field.component.d.ts +1 -3
- package/dynamic-form/dynamic-form/form-field/fields/file-picker/file-picker-field.component.d.ts +1 -2
- package/dynamic-form/dynamic-form/form-field/fields/number/number-field.component.d.ts +1 -3
- package/dynamic-form/dynamic-form/form-field/fields/password/password-field.component.d.ts +1 -2
- package/dynamic-form/dynamic-form/form-field/fields/text/text-field.component.d.ts +1 -2
- package/dynamic-form/dynamic-form/form-field/fields/text-area/text-area-field.component.d.ts +1 -2
- package/empty-state/lib/empty-state/go-back/go-back.component.d.ts +0 -2
- package/esm2022/badge/lib/badge/badge.component.mjs +3 -3
- package/esm2022/breadcrumb/lib/dynamic-breadcrumb/dynamic-breadcrumb.component.mjs +10 -13
- package/esm2022/calendar-mask/lib/calendar-mask/calendar-mask.directive.mjs +7 -11
- package/esm2022/chips/lib/chips/chips/chips.component.mjs +5 -8
- package/esm2022/code-editor/lib/code-editor/code-editor.component.mjs +6 -9
- package/esm2022/code-editor/lib/code-editor/infra/utils/custom-translations/custom-translations.module.mjs +8 -13
- package/esm2022/common/lib/svg-factory/svg-factory.directive.mjs +6 -10
- package/esm2022/content-generator/lib/content-generator/content-generator.component.mjs +24 -30
- package/esm2022/content-generator/lib/services/IAssist/iassist.service.mjs +9 -12
- package/esm2022/country-phone-picker/lib/country-phone-picker/country-phone-picker.component.mjs +15 -23
- package/esm2022/country-phone-picker/lib/country-phone-picker/country-phone-picker.service.mjs +6 -9
- package/esm2022/currency/lib/currency.service.mjs +6 -9
- package/esm2022/custom-fields/lib/custom-fields/custom-fields.component.mjs +17 -25
- package/esm2022/custom-fields/lib/custom-fields/custom-fields.service.mjs +6 -9
- package/esm2022/dynamic-form/dynamic-form/components/lookup/lookup.component.mjs +22 -28
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/autocomplete/autocomplete-field.component.mjs +6 -10
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/bignumber/bignumber-field.component.mjs +12 -17
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/calendar/calendar-field.component.mjs +5 -8
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/chips/chips-field.component.mjs +12 -17
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/country-phone-picker/country-phone-picker-field.component.mjs +5 -8
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/currency/currency-field.component.mjs +13 -19
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/file-picker/file-picker-field.component.mjs +6 -10
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/number/number-field.component.mjs +14 -19
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/password/password-field.component.mjs +5 -8
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/text/text-field.component.mjs +5 -8
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/text-area/text-area-field.component.mjs +5 -8
- package/esm2022/empty-state/lib/empty-state/go-back/go-back.component.mjs +8 -11
- package/esm2022/file-picker/lib/file-picker/file-picker.component.mjs +17 -21
- package/esm2022/gantt/lib/gantt/components/gantt/gantt.mjs +6 -2
- package/esm2022/gantt/lib/gantt/gantt.component.mjs +8 -4
- package/esm2022/global-search/lib/global-search/global-search.component.mjs +5 -8
- package/esm2022/image-cropper/lib/image-cropper/image-cropper.service.mjs +7 -12
- package/esm2022/infinite-scroll/lib/infinite-scroll/infinite-scroll.directive.mjs +5 -8
- package/esm2022/info-sign/lib/info-sign/info-sign.directive.mjs +6 -10
- package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-calendar/inline-edit-calendar.component.mjs +9 -12
- package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-number/inline-edit-number.component.mjs +14 -17
- package/esm2022/inline-edit/lib/inline-edit/components/inline-edit-item/inline-edit-item.component.mjs +12 -15
- package/esm2022/insights/lib/insights/components/insights-card/insights-card.component.mjs +15 -19
- package/esm2022/interactive-content/lib/interactive-content/interactive-content.directive.mjs +5 -8
- package/esm2022/kanban/lib/kanban/components/kanban-column/kanban-column.component.mjs +10 -13
- package/esm2022/kanban/lib/kanban/components/kanban-item/kanban-item.component.mjs +10 -13
- package/esm2022/kanban/lib/kanban/kanban.component.mjs +23 -17
- package/esm2022/loading-state/lib/loading-state/loading-state.directive.mjs +10 -16
- package/esm2022/locale/lib/locale/locale.service.mjs +8 -12
- package/esm2022/locale/lib/locale/pipes/localized-bignumber.pipe.mjs +6 -9
- package/esm2022/locale/lib/locale/pipes/localized-currency.pipe.mjs +6 -9
- package/esm2022/locale/lib/locale/pipes/localized-date.pipe.mjs +6 -9
- package/esm2022/locale/lib/locale/pipes/localized-number.pipe.mjs +6 -9
- package/esm2022/locale/lib/locale/pipes/localized-time.pipe.mjs +6 -9
- package/esm2022/localized-number-input/lib/localized-number-input/localized-number-input.directive.mjs +6 -9
- package/esm2022/navigation-button/lib/navigation-button/navigation-button.component.mjs +5 -8
- package/esm2022/numeric/lib/numeric.pipe.mjs +8 -12
- package/esm2022/numeric/lib/numeric.service.mjs +6 -9
- package/esm2022/password-strength/lib/password-strength/password-strength.component.mjs +8 -11
- package/esm2022/password-strength/lib/password-strength/password-strength.directive.mjs +10 -16
- package/esm2022/picklist/lib/picklist/picklist.component.mjs +5 -8
- package/esm2022/profile-picture-picker/lib/profile-picture-picker/profile-picture-picker.component.mjs +15 -19
- package/esm2022/progressbar/lib/progressbar/components/progressbar-determinate/progressbar-determinate.component.mjs +8 -11
- package/esm2022/progressbar/lib/progressbar/progressbar.module.mjs +5 -4
- package/esm2022/select-button/lib/select-button/select-button.component.mjs +3 -3
- package/esm2022/shared/lib/accessibility/paginator-accessibility.directive.mjs +8 -13
- package/esm2022/shared/lib/accessibility/table-checkbox-accessibility.directive.mjs +5 -8
- package/esm2022/slide-in-bar/lib/slide-in-bar/slide-in-bar.component.mjs +9 -12
- package/esm2022/speech-recognition/lib/speech-recognition/speech-recognition/speech-recognition.component.mjs +12 -16
- package/esm2022/speech-recognition/lib/speech-recognition/speech-recognition.service.mjs +12 -16
- package/esm2022/speech-recognition/lib/speech-recognition/text-to-speech.service.mjs +8 -10
- package/esm2022/split-button/lib/split-button/split-button.component.mjs +5 -8
- package/esm2022/table/lib/table/row-toggler/row-toggler.directive.mjs +7 -7
- package/esm2022/table/lib/table/table-column/table-columns.component.mjs +19 -28
- package/esm2022/table/lib/table/table-paging/table-paging.component.mjs +9 -16
- package/esm2022/table-header/lib/table-header/table-header-checkbox.component.mjs +11 -13
- package/esm2022/text-area/lib/text-area/text-area.component.mjs +5 -8
- package/esm2022/thumbnail/lib/thumbnail/thumbnail.component.mjs +8 -11
- package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu/tiered-menu.component.mjs +16 -24
- package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.mjs +8 -11
- package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu-nested/tiered-menu-nested.component.mjs +12 -16
- package/esm2022/tiered-menu/lib/tiered-menu/tiered-menu.directive.mjs +13 -25
- package/esm2022/toast/lib/toast/toast.service.mjs +7 -12
- package/esm2022/tree/lib/tree/components/tree-node-item/tree-node-item.component.mjs +10 -14
- package/esm2022/workspace-switch/lib/workspace-switch/workspace-switch.component.mjs +6 -10
- package/fesm2022/seniorsistemas-angular-components-badge.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-badge.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-breadcrumb.mjs +10 -12
- package/fesm2022/seniorsistemas-angular-components-breadcrumb.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-calendar-mask.mjs +6 -10
- package/fesm2022/seniorsistemas-angular-components-calendar-mask.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-chips.mjs +4 -7
- package/fesm2022/seniorsistemas-angular-components-chips.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-code-editor.mjs +10 -18
- package/fesm2022/seniorsistemas-angular-components-code-editor.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-common.mjs +5 -9
- package/fesm2022/seniorsistemas-angular-components-common.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-content-generator.mjs +29 -40
- package/fesm2022/seniorsistemas-angular-components-content-generator.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-country-phone-picker.mjs +16 -28
- package/fesm2022/seniorsistemas-angular-components-country-phone-picker.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-currency.mjs +5 -8
- package/fesm2022/seniorsistemas-angular-components-currency.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-custom-fields.mjs +45 -59
- package/fesm2022/seniorsistemas-angular-components-custom-fields.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs +108 -157
- package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-empty-state.mjs +4 -8
- package/fesm2022/seniorsistemas-angular-components-empty-state.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-file-picker.mjs +17 -22
- package/fesm2022/seniorsistemas-angular-components-file-picker.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-gantt.mjs +12 -4
- package/fesm2022/seniorsistemas-angular-components-gantt.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-global-search.mjs +4 -7
- package/fesm2022/seniorsistemas-angular-components-global-search.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-image-cropper.mjs +6 -11
- package/fesm2022/seniorsistemas-angular-components-image-cropper.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-infinite-scroll.mjs +4 -7
- package/fesm2022/seniorsistemas-angular-components-infinite-scroll.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-info-sign.mjs +5 -9
- package/fesm2022/seniorsistemas-angular-components-info-sign.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs +29 -38
- package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-insights.mjs +17 -22
- package/fesm2022/seniorsistemas-angular-components-insights.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-interactive-content.mjs +4 -7
- package/fesm2022/seniorsistemas-angular-components-interactive-content.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-kanban.mjs +30 -30
- package/fesm2022/seniorsistemas-angular-components-kanban.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-loading-state.mjs +7 -15
- package/fesm2022/seniorsistemas-angular-components-loading-state.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-locale.mjs +22 -41
- package/fesm2022/seniorsistemas-angular-components-locale.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-localized-number-input.mjs +5 -8
- package/fesm2022/seniorsistemas-angular-components-localized-number-input.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-navigation-button.mjs +4 -7
- package/fesm2022/seniorsistemas-angular-components-navigation-button.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-numeric.mjs +9 -16
- package/fesm2022/seniorsistemas-angular-components-numeric.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-password-strength.mjs +13 -24
- package/fesm2022/seniorsistemas-angular-components-password-strength.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-picklist.mjs +4 -7
- package/fesm2022/seniorsistemas-angular-components-picklist.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-profile-picture-picker.mjs +14 -21
- package/fesm2022/seniorsistemas-angular-components-profile-picture-picker.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-progressbar.mjs +11 -14
- package/fesm2022/seniorsistemas-angular-components-progressbar.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-select-button.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-select-button.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-shared.mjs +10 -18
- package/fesm2022/seniorsistemas-angular-components-shared.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-slide-in-bar.mjs +7 -10
- package/fesm2022/seniorsistemas-angular-components-slide-in-bar.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-speech-recognition.mjs +23 -34
- package/fesm2022/seniorsistemas-angular-components-speech-recognition.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-split-button.mjs +4 -7
- package/fesm2022/seniorsistemas-angular-components-split-button.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-table-header.mjs +10 -12
- package/fesm2022/seniorsistemas-angular-components-table-header.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-table.mjs +29 -46
- package/fesm2022/seniorsistemas-angular-components-table.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-text-area.mjs +4 -7
- package/fesm2022/seniorsistemas-angular-components-text-area.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-thumbnail.mjs +6 -9
- package/fesm2022/seniorsistemas-angular-components-thumbnail.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-tiered-menu.mjs +30 -55
- package/fesm2022/seniorsistemas-angular-components-tiered-menu.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-toast.mjs +6 -11
- package/fesm2022/seniorsistemas-angular-components-toast.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-tree.mjs +9 -14
- package/fesm2022/seniorsistemas-angular-components-tree.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-workspace-switch.mjs +5 -9
- package/fesm2022/seniorsistemas-angular-components-workspace-switch.mjs.map +1 -1
- package/file-picker/lib/file-picker/file-picker.component.d.ts +0 -4
- package/file-upload/README.md +9 -37
- package/gantt/lib/gantt/gantt.component.d.ts +1 -0
- package/global-search/lib/global-search/global-search.component.d.ts +1 -2
- package/ia-insight/README.md +17 -0
- package/image-cropper/lib/image-cropper/image-cropper.service.d.ts +1 -2
- package/infinite-scroll/lib/infinite-scroll/infinite-scroll.directive.d.ts +1 -2
- package/info-sign/lib/info-sign/info-sign.directive.d.ts +1 -2
- package/inline-edit/lib/inline-edit/components/fields/inline-edit-calendar/inline-edit-calendar.component.d.ts +1 -2
- package/inline-edit/lib/inline-edit/components/fields/inline-edit-number/inline-edit-number.component.d.ts +0 -2
- package/inline-edit/lib/inline-edit/components/inline-edit-item/inline-edit-item.component.d.ts +0 -2
- package/insights/lib/insights/components/insights-card/insights-card.component.d.ts +0 -4
- package/interactive-content/lib/interactive-content/interactive-content.directive.d.ts +1 -2
- package/kanban/lib/kanban/components/kanban-column/kanban-column.component.d.ts +0 -2
- package/kanban/lib/kanban/components/kanban-item/kanban-item.component.d.ts +0 -2
- package/kanban/lib/kanban/kanban.component.d.ts +2 -2
- package/loading-state/lib/loading-state/loading-state.directive.d.ts +1 -2
- package/locale/lib/locale/locale.service.d.ts +0 -3
- package/locale/lib/locale/pipes/localized-bignumber.pipe.d.ts +0 -2
- package/locale/lib/locale/pipes/localized-currency.pipe.d.ts +0 -2
- package/locale/lib/locale/pipes/localized-date.pipe.d.ts +0 -2
- package/locale/lib/locale/pipes/localized-number.pipe.d.ts +0 -2
- package/locale/lib/locale/pipes/localized-time.pipe.d.ts +0 -2
- package/localized-number-input/lib/localized-number-input/localized-number-input.directive.d.ts +0 -2
- package/navigation-button/lib/navigation-button/navigation-button.component.d.ts +1 -2
- package/numeric/lib/numeric.pipe.d.ts +0 -3
- package/numeric/lib/numeric.service.d.ts +0 -2
- package/package.json +13 -13
- package/password-strength/lib/password-strength/password-strength.component.d.ts +0 -2
- package/password-strength/lib/password-strength/password-strength.directive.d.ts +1 -2
- package/picklist/lib/picklist/picklist.component.d.ts +1 -2
- package/product-header/README.md +17 -0
- package/profile-picture-picker/lib/profile-picture-picker/profile-picture-picker.component.d.ts +0 -4
- package/progressbar/lib/progressbar/components/progressbar-determinate/progressbar-determinate.component.d.ts +0 -2
- package/progressbar/lib/progressbar/progressbar.module.d.ts +2 -1
- package/shared/lib/accessibility/paginator-accessibility.directive.d.ts +1 -3
- package/shared/lib/accessibility/table-checkbox-accessibility.directive.d.ts +1 -2
- package/slide-in-bar/lib/slide-in-bar/slide-in-bar.component.d.ts +0 -2
- package/speech-recognition/lib/speech-recognition/speech-recognition/speech-recognition.component.d.ts +0 -4
- package/speech-recognition/lib/speech-recognition/speech-recognition.service.d.ts +1 -5
- package/speech-recognition/lib/speech-recognition/text-to-speech.service.d.ts +1 -3
- package/split-button/lib/split-button/split-button.component.d.ts +1 -2
- package/table/lib/table/row-toggler/row-toggler.directive.d.ts +1 -1
- package/table/lib/table/table-column/table-columns.component.d.ts +2 -6
- package/table/lib/table/table-paging/table-paging.component.d.ts +0 -3
- package/table-header/lib/table-header/table-header-checkbox.component.d.ts +1 -1
- package/text-area/lib/text-area/text-area.component.d.ts +1 -2
- package/text-area-ia/README.md +17 -0
- package/thumbnail/lib/thumbnail/thumbnail.component.d.ts +0 -2
- package/tiered-menu/lib/tiered-menu/components/tiered-menu/tiered-menu.component.d.ts +1 -3
- package/tiered-menu/lib/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.d.ts +0 -2
- package/tiered-menu/lib/tiered-menu/components/tiered-menu-nested/tiered-menu-nested.component.d.ts +0 -2
- package/tiered-menu/lib/tiered-menu/tiered-menu.directive.d.ts +1 -5
- package/toast/lib/toast/toast.service.d.ts +0 -2
- package/tree/lib/tree/components/tree-node-item/tree-node-item.component.d.ts +1 -3
- package/workspace-switch/lib/workspace-switch/workspace-switch.component.d.ts +1 -2
- package/confirm-dialog/README.md +0 -226
- package/numeric-mask/README.md +0 -395
- package/pin-code-field/README.md +0 -366
- package/spotlight/README.md +0 -311
|
@@ -1,23 +1,20 @@
|
|
|
1
|
-
import { Component, Input } from "@angular/core";
|
|
1
|
+
import { Component, Input, inject } from "@angular/core";
|
|
2
2
|
import { Subject } from "rxjs";
|
|
3
3
|
import { takeUntil } from "rxjs/operators";
|
|
4
|
+
import { KanbanEventService } from "../../kanban-event.service";
|
|
4
5
|
import { FormControl } from "@angular/forms";
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "
|
|
7
|
-
import * as i2 from "@angular/
|
|
8
|
-
import * as i3 from "@angular/
|
|
9
|
-
import * as i4 from "@seniorsistemas/angular-components/button";
|
|
7
|
+
import * as i1 from "@angular/common";
|
|
8
|
+
import * as i2 from "@angular/forms";
|
|
9
|
+
import * as i3 from "@seniorsistemas/angular-components/button";
|
|
10
10
|
export class KanbanColumnComponent {
|
|
11
|
-
kanbanEventService;
|
|
11
|
+
kanbanEventService = inject(KanbanEventService);
|
|
12
12
|
data;
|
|
13
13
|
showCheckbox = true;
|
|
14
14
|
headerTemplate = null;
|
|
15
15
|
selectionControl = new FormControl(false);
|
|
16
16
|
tieredMenuOptions;
|
|
17
17
|
_unsubscribe$ = new Subject();
|
|
18
|
-
constructor(kanbanEventService) {
|
|
19
|
-
this.kanbanEventService = kanbanEventService;
|
|
20
|
-
}
|
|
21
18
|
ngOnInit() {
|
|
22
19
|
this._validateInputs();
|
|
23
20
|
this._subscriveEvents();
|
|
@@ -83,13 +80,13 @@ export class KanbanColumnComponent {
|
|
|
83
80
|
throw new Error("data parameter is required");
|
|
84
81
|
}
|
|
85
82
|
}
|
|
86
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KanbanColumnComponent, deps: [
|
|
87
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: KanbanColumnComponent, selector: "s-kanban-column", inputs: { data: "data", showCheckbox: "showCheckbox", headerTemplate: "headerTemplate" }, ngImport: i0, template: "<div class=\"kanban-column\">\n <div class=\"kanban-column__header\">\n <div class=\"content\">\n <form>\n @if (showCheckbox) {\n <input\n type=\"checkbox\"\n name=\"checkbox\"\n [formControl]=\"selectionControl\"\n />\n }\n </form>\n\n @if (!headerTemplate) {\n <div class=\"header\">\n <span class=\"title\">{{ data.title }} ({{ data.items.length }})</span>\n </div>\n } @else {\n <ng-container *ngTemplateOutlet=\"headerTemplate; context: { $implicit: data }\"></ng-container>\n }\n </div>\n @if (data.options) {\n <s-button\n priority=\"default\"\n [disabled]=\"false\"\n [auxiliary]=\"true\"\n size=\"small\"\n [menuOptions]=\"tieredMenuOptions\"\n >\n </s-button>\n }\n </div>\n <div class=\"kanban-column__body\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [".kanban-column{align-items:center;background-color:#fbfafc;border:1px solid #dedce5;display:flex;flex-direction:column;height:100%;min-height:120px;-webkit-user-select:none;user-select:none;width:100%}.kanban-column .kanban-column__header{align-items:center;border-bottom:1px solid #dedce5;display:flex;justify-content:space-between;padding:16px 16px 8px;width:100%}.kanban-column .kanban-column__header .content{display:flex;gap:16px}.kanban-column .kanban-column__header .content .teste{display:flex;flex-direction:column;font-family:\"Open Sans\" sans-serif}.kanban-column .kanban-column__header .content .teste .title{font-size:14px;font-weight:800}.kanban-column .kanban-column__header .content .teste .description{font-size:12px}.kanban-column .kanban-column__body{display:flex;height:100%;justify-content:center;width:100%}\n"], dependencies: [{ kind: "directive", type:
|
|
83
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KanbanColumnComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
84
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: KanbanColumnComponent, selector: "s-kanban-column", inputs: { data: "data", showCheckbox: "showCheckbox", headerTemplate: "headerTemplate" }, ngImport: i0, template: "<div class=\"kanban-column\">\n <div class=\"kanban-column__header\">\n <div class=\"content\">\n <form>\n @if (showCheckbox) {\n <input\n type=\"checkbox\"\n name=\"checkbox\"\n [formControl]=\"selectionControl\"\n />\n }\n </form>\n\n @if (!headerTemplate) {\n <div class=\"header\">\n <span class=\"title\">{{ data.title }} ({{ data.items.length }})</span>\n </div>\n } @else {\n <ng-container *ngTemplateOutlet=\"headerTemplate; context: { $implicit: data }\"></ng-container>\n }\n </div>\n @if (data.options) {\n <s-button\n priority=\"default\"\n [disabled]=\"false\"\n [auxiliary]=\"true\"\n size=\"small\"\n [menuOptions]=\"tieredMenuOptions\"\n >\n </s-button>\n }\n </div>\n <div class=\"kanban-column__body\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [".kanban-column{align-items:center;background-color:#fbfafc;border:1px solid #dedce5;display:flex;flex-direction:column;height:100%;min-height:120px;-webkit-user-select:none;user-select:none;width:100%}.kanban-column .kanban-column__header{align-items:center;border-bottom:1px solid #dedce5;display:flex;justify-content:space-between;padding:16px 16px 8px;width:100%}.kanban-column .kanban-column__header .content{display:flex;gap:16px}.kanban-column .kanban-column__header .content .teste{display:flex;flex-direction:column;font-family:\"Open Sans\" sans-serif}.kanban-column .kanban-column__header .content .teste .title{font-size:14px;font-weight:800}.kanban-column .kanban-column__header .content .teste .description{font-size:12px}.kanban-column .kanban-column__body{display:flex;height:100%;justify-content:center;width:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3.ButtonComponent, selector: "s-button", inputs: ["id", "label", "tooltip", "tooltipPosition", "iconClass", "rightIconClass", "caret", "styleClass", "baseZIndex", "disabled", "auxiliary", "type", "priority", "menuOptions", "size", "slide", "animation", "badge", "iconColor", "menuAriaLabel"], outputs: ["clicked"] }] });
|
|
88
85
|
}
|
|
89
86
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KanbanColumnComponent, decorators: [{
|
|
90
87
|
type: Component,
|
|
91
88
|
args: [{ selector: "s-kanban-column", template: "<div class=\"kanban-column\">\n <div class=\"kanban-column__header\">\n <div class=\"content\">\n <form>\n @if (showCheckbox) {\n <input\n type=\"checkbox\"\n name=\"checkbox\"\n [formControl]=\"selectionControl\"\n />\n }\n </form>\n\n @if (!headerTemplate) {\n <div class=\"header\">\n <span class=\"title\">{{ data.title }} ({{ data.items.length }})</span>\n </div>\n } @else {\n <ng-container *ngTemplateOutlet=\"headerTemplate; context: { $implicit: data }\"></ng-container>\n }\n </div>\n @if (data.options) {\n <s-button\n priority=\"default\"\n [disabled]=\"false\"\n [auxiliary]=\"true\"\n size=\"small\"\n [menuOptions]=\"tieredMenuOptions\"\n >\n </s-button>\n }\n </div>\n <div class=\"kanban-column__body\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [".kanban-column{align-items:center;background-color:#fbfafc;border:1px solid #dedce5;display:flex;flex-direction:column;height:100%;min-height:120px;-webkit-user-select:none;user-select:none;width:100%}.kanban-column .kanban-column__header{align-items:center;border-bottom:1px solid #dedce5;display:flex;justify-content:space-between;padding:16px 16px 8px;width:100%}.kanban-column .kanban-column__header .content{display:flex;gap:16px}.kanban-column .kanban-column__header .content .teste{display:flex;flex-direction:column;font-family:\"Open Sans\" sans-serif}.kanban-column .kanban-column__header .content .teste .title{font-size:14px;font-weight:800}.kanban-column .kanban-column__header .content .teste .description{font-size:12px}.kanban-column .kanban-column__body{display:flex;height:100%;justify-content:center;width:100%}\n"] }]
|
|
92
|
-
}],
|
|
89
|
+
}], propDecorators: { data: [{
|
|
93
90
|
type: Input,
|
|
94
91
|
args: [{ required: true }]
|
|
95
92
|
}], showCheckbox: [{
|
|
@@ -97,4 +94,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
97
94
|
}], headerTemplate: [{
|
|
98
95
|
type: Input
|
|
99
96
|
}] } });
|
|
100
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2FuYmFuLWNvbHVtbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMva2FuYmFuL3NyYy9saWIva2FuYmFuL2NvbXBvbmVudHMva2FuYmFuLWNvbHVtbi9rYW5iYW4tY29sdW1uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9rYW5iYW4vc3JjL2xpYi9rYW5iYW4vY29tcG9uZW50cy9rYW5iYW4tY29sdW1uL2thbmJhbi1jb2x1bW4uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWtDLE1BQU0sZUFBZSxDQUFDO0FBRWpGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSTNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0FBUzdDLE1BQU0sT0FBTyxxQkFBcUI7SUFnQlQ7SUFkZCxJQUFJLENBQWdCO0lBR3BCLFlBQVksR0FBRyxJQUFJLENBQUM7SUFHcEIsY0FBYyxHQUE0QixJQUFJLENBQUM7SUFFL0MsZ0JBQWdCLEdBQUcsSUFBSSxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUMsaUJBQWlCLENBQXdCO0lBRXhDLGFBQWEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBRTVDLFlBQ3FCLGtCQUFzQztRQUF0Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO0lBQ3ZELENBQUM7SUFFRSxRQUFRO1FBQ1gsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBRXhCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBRTVCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUErQixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDaEcsQ0FBQztJQUVNLFdBQVc7UUFDZCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVPLG9CQUFvQjtRQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTztRQUUvQixNQUFNLE9BQU8sR0FBeUIsRUFBRSxDQUFDO1FBRXpDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQTBCLEVBQUUsRUFBRTtZQUN2RCxPQUFPLENBQUMsSUFBSSxDQUFDO2dCQUNYLEdBQUcsTUFBTTtnQkFDVCxPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUEsQ0FBQyxDQUFDO2FBQzdDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQ2hDLENBQUM7SUFFTyxnQkFBZ0I7UUFDcEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVk7YUFDN0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7YUFDbkMsU0FBUyxDQUFDLENBQUMsS0FBcUIsRUFBRSxFQUFFO1lBQ2pDLElBQUksS0FBSyxFQUFFLENBQUM7Z0JBQ1IsSUFBSSxDQUFDLGtCQUFrQixDQUFDLDZCQUE2QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNyRSxDQUFDO2lCQUFNLENBQUM7Z0JBQ0osSUFBSSxDQUFDLGtCQUFrQixDQUFDLCtCQUErQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN2RSxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFUCxJQUFJLENBQUMsa0JBQWtCLENBQUMsaUJBQWlCO2FBQ3BDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2FBQ25DLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ2IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNoRSxDQUFDLENBQUMsQ0FBQztRQUVQLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxlQUFlO2FBQ2xDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2FBQ25DLFNBQVMsQ0FBQyxDQUFDLElBQWdCLEVBQUUsRUFBRTtZQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQ2xDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7WUFDaEUsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRVAsSUFBSSxDQUFDLGtCQUFrQixDQUFDLHlCQUF5QjthQUM1QyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQzthQUNuQyxTQUFTLENBQUMsQ0FBQyxNQUFvQixFQUFFLEVBQUU7WUFDaEMsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLE1BQU0sRUFBRSxDQUFDO2dCQUN2QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQ2hFLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVQLElBQUksQ0FBQyxrQkFBa0IsQ0FBQywyQkFBMkI7YUFDOUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7YUFDbkMsU0FBUyxDQUFDLENBQUMsTUFBb0IsRUFBRSxFQUFFO1lBQ2hDLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxNQUFNLEVBQUUsQ0FBQztnQkFDdkIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUNoRSxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUE7SUFDVixDQUFDO0lBRU8sZUFBZTtRQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2IsTUFBTSxJQUFJLEtBQUssQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO1FBQ2xELENBQUM7SUFDTCxDQUFDO3dHQTlGUSxxQkFBcUI7NEZBQXJCLHFCQUFxQixpSkNoQmxDLDRwQ0FvQ0E7OzRGRHBCYSxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0ksaUJBQWlCO3VGQU1wQixJQUFJO3NCQURWLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUlsQixZQUFZO3NCQURsQixLQUFLO2dCQUlDLGNBQWM7c0JBRHBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVGVtcGxhdGVSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuXG5pbXBvcnQgeyBLYW5iYW5Db2x1bW4sIEthbmJhbkl0ZW0gfSBmcm9tIFwiLi4vLi4vdHlwZXNcIjtcbmltcG9ydCB7IEthbmJhbkV2ZW50U2VydmljZSB9IGZyb20gXCIuLi8uLi9rYW5iYW4tZXZlbnQuc2VydmljZVwiO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IEthbmJhbkNvbHVtbk9wdGlvbiB9IGZyb20gXCIuLi8uLi90eXBlcy9rYW5iYW4tZGF0YVwiO1xuaW1wb3J0IHsgVGllcmVkTWVudUl0ZW1EYXRhIH0gZnJvbSBcIkBzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvdGllcmVkLW1lbnVcIjtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IFwicy1rYW5iYW4tY29sdW1uXCIsXG4gICAgdGVtcGxhdGVVcmw6IFwiLi9rYW5iYW4tY29sdW1uLmNvbXBvbmVudC5odG1sXCIsXG4gICAgc3R5bGVVcmxzOiBbXCIuL2thbmJhbi1jb2x1bW4uY29tcG9uZW50LnNjc3NcIl0sXG59KVxuZXhwb3J0IGNsYXNzIEthbmJhbkNvbHVtbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KVxuICAgIHB1YmxpYyBkYXRhITogS2FuYmFuQ29sdW1uO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2hvd0NoZWNrYm94ID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGhlYWRlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbCA9IG51bGw7XG5cbiAgICBwdWJsaWMgc2VsZWN0aW9uQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbChmYWxzZSk7XG4gICAgcHVibGljIHRpZXJlZE1lbnVPcHRpb25zITogVGllcmVkTWVudUl0ZW1EYXRhW107XG5cbiAgICBwcml2YXRlIF91bnN1YnNjcmliZSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkga2FuYmFuRXZlbnRTZXJ2aWNlOiBLYW5iYW5FdmVudFNlcnZpY2UsXG4gICAgKSB7IH1cblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdmFsaWRhdGVJbnB1dHMoKTtcbiAgICAgICAgdGhpcy5fc3Vic2NyaXZlRXZlbnRzKCk7XG5cbiAgICAgICAgdGhpcy5fY3JlYXRlVGllcmVkT3B0aW9ucygpO1xuXG4gICAgICAgIHRoaXMudGllcmVkTWVudU9wdGlvbnMgPSB0aGlzLmRhdGEub3B0aW9ucyA/IHRoaXMuZGF0YS5vcHRpb25zIGFzIFRpZXJlZE1lbnVJdGVtRGF0YVtdIDogW107XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl91bnN1YnNjcmliZSQubmV4dCgpO1xuICAgICAgICB0aGlzLl91bnN1YnNjcmliZSQuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9jcmVhdGVUaWVyZWRPcHRpb25zKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuZGF0YS5vcHRpb25zKSByZXR1cm47XG5cbiAgICAgICAgY29uc3Qgb3B0aW9uczogS2FuYmFuQ29sdW1uT3B0aW9uW10gPSBbXTtcblxuICAgICAgICB0aGlzLmRhdGEub3B0aW9ucy5mb3JFYWNoKChvcHRpb246IEthbmJhbkNvbHVtbk9wdGlvbikgPT4ge1xuICAgICAgICAgIG9wdGlvbnMucHVzaCh7XG4gICAgICAgICAgICAuLi5vcHRpb24sXG4gICAgICAgICAgICBjb21tYW5kOiAoKSA9PiB7IG9wdGlvbi5jb21tYW5kKHRoaXMuZGF0YSkgfSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5kYXRhLm9wdGlvbnMgPSBvcHRpb25zO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3N1YnNjcml2ZUV2ZW50cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3Rpb25Db250cm9sLnZhbHVlQ2hhbmdlc1xuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX3Vuc3Vic2NyaWJlJCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCh2YWx1ZTogYm9vbGVhbiB8IG51bGwpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5rYW5iYW5FdmVudFNlcnZpY2UuZW1pdFNlbGVjdEFsbENvbHVtbkl0ZW1zRXZlbnQodGhpcy5kYXRhKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmthbmJhbkV2ZW50U2VydmljZS5lbWl0VW5zZWxlY3RBbGxDb2x1bW5JdGVtc0V2ZW50KHRoaXMuZGF0YSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5rYW5iYW5FdmVudFNlcnZpY2UudW5zZWxlY3RJdGVtRXZlbnRcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl91bnN1YnNjcmliZSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoXykgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uQ29udHJvbC5zZXRWYWx1ZShmYWxzZSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5rYW5iYW5FdmVudFNlcnZpY2Uuc2VsZWN0SXRlbUV2ZW50XG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fdW5zdWJzY3JpYmUkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGl0ZW06IEthbmJhbkl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuZGF0YS5pdGVtcy5pbmNsdWRlcyhpdGVtKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGlvbkNvbnRyb2wuc2V0VmFsdWUoZmFsc2UsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmthbmJhbkV2ZW50U2VydmljZS5zZWxlY3RBbGxDb2x1bW5JdGVtc0V2ZW50XG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fdW5zdWJzY3JpYmUkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGNvbHVtbjogS2FuYmFuQ29sdW1uKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZGF0YSAhPT0gY29sdW1uKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uQ29udHJvbC5zZXRWYWx1ZShmYWxzZSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMua2FuYmFuRXZlbnRTZXJ2aWNlLnVuc2VsZWN0QWxsQ29sdW1uSXRlbXNFdmVudFxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX3Vuc3Vic2NyaWJlJCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChjb2x1bW46IEthbmJhbkNvbHVtbikgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmRhdGEgIT09IGNvbHVtbikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGlvbkNvbnRyb2wuc2V0VmFsdWUoZmFsc2UsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgIH1cblxuICAgIHByaXZhdGUgX3ZhbGlkYXRlSW5wdXRzKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuZGF0YSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiZGF0YSBwYXJhbWV0ZXIgaXMgcmVxdWlyZWRcIik7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwia2FuYmFuLWNvbHVtblwiPlxuICAgIDxkaXYgY2xhc3M9XCJrYW5iYW4tY29sdW1uX19oZWFkZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnRcIj5cbiAgICAgICAgICAgIDxmb3JtPlxuICAgICAgICAgICAgICAgIEBpZiAoc2hvd0NoZWNrYm94KSB7XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwic2VsZWN0aW9uQ29udHJvbFwiXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9mb3JtPlxuXG4gICAgICAgICAgICBAaWYgKCFoZWFkZXJUZW1wbGF0ZSkge1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aXRsZVwiPnt7IGRhdGEudGl0bGUgfX0gKHt7IGRhdGEuaXRlbXMubGVuZ3RoIH19KTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJoZWFkZXJUZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IGRhdGEgfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgQGlmIChkYXRhLm9wdGlvbnMpIHtcbiAgICAgICAgICAgIDxzLWJ1dHRvblxuICAgICAgICAgICAgICAgIHByaW9yaXR5PVwiZGVmYXVsdFwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICBbYXV4aWxpYXJ5XT1cInRydWVcIlxuICAgICAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgICAgICAgW21lbnVPcHRpb25zXT1cInRpZXJlZE1lbnVPcHRpb25zXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvcy1idXR0b24+XG4gICAgICAgIH1cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwia2FuYmFuLWNvbHVtbl9fYm9keVwiPlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2FuYmFuLWNvbHVtbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMva2FuYmFuL3NyYy9saWIva2FuYmFuL2NvbXBvbmVudHMva2FuYmFuLWNvbHVtbi9rYW5iYW4tY29sdW1uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9rYW5iYW4vc3JjL2xpYi9rYW5iYW4vY29tcG9uZW50cy9rYW5iYW4tY29sdW1uL2thbmJhbi1jb2x1bW4uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWtDLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6RixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUczQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBUzdDLE1BQU0sT0FBTyxxQkFBcUI7SUFDYixrQkFBa0IsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUcxRCxJQUFJLENBQWdCO0lBR3BCLFlBQVksR0FBRyxJQUFJLENBQUM7SUFHcEIsY0FBYyxHQUE0QixJQUFJLENBQUM7SUFFL0MsZ0JBQWdCLEdBQUcsSUFBSSxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUMsaUJBQWlCLENBQXdCO0lBRXhDLGFBQWEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBRXJDLFFBQVE7UUFDWCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENB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Q0FBQyxDQUFDO1FBRVAsSUFBSSxDQUFDLGtCQUFrQixDQUFDLDJCQUEyQjthQUM5QyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQzthQUNuQyxTQUFTLENBQUMsQ0FBQyxNQUFvQixFQUFFLEVBQUU7WUFDaEMsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLE1BQU0sRUFBRSxDQUFDO2dCQUN2QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQ2hFLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQTtJQUNWLENBQUM7SUFFTyxlQUFlO1FBQ25CLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDYixNQUFNLElBQUksS0FBSyxDQUFDLDRCQUE0QixDQUFDLENBQUM7UUFDbEQsQ0FBQztJQUNMLENBQUM7d0dBNUZRLHFCQUFxQjs0RkFBckIscUJBQXFCLGlKQ2hCbEMsNHBDQW9DQTs7NEZEcEJhLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDSSxpQkFBaUI7OEJBUXBCLElBQUk7c0JBRFYsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBSWxCLFlBQVk7c0JBRGxCLEtBQUs7Z0JBSUMsY0FBYztzQkFEcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBUZW1wbGF0ZVJlZiwgaW5qZWN0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcblxuaW1wb3J0IHsgS2FuYmFuQ29sdW1uLCBLYW5iYW5JdGVtIH0gZnJvbSBcIi4uLy4uL3R5cGVzXCI7XG5pbXBvcnQgeyBLYW5iYW5FdmVudFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4va2FuYmFuLWV2ZW50LnNlcnZpY2VcIjtcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBLYW5iYW5Db2x1bW5PcHRpb24gfSBmcm9tIFwiLi4vLi4vdHlwZXMva2FuYmFuLWRhdGFcIjtcbmltcG9ydCB7IFRpZXJlZE1lbnVJdGVtRGF0YSB9IGZyb20gXCJAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL3RpZXJlZC1tZW51XCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBcInMta2FuYmFuLWNvbHVtblwiLFxuICAgIHRlbXBsYXRlVXJsOiBcIi4va2FuYmFuLWNvbHVtbi5jb21wb25lbnQuaHRtbFwiLFxuICAgIHN0eWxlVXJsczogW1wiLi9rYW5iYW4tY29sdW1uLmNvbXBvbmVudC5zY3NzXCJdLFxufSlcbmV4cG9ydCBjbGFzcyBLYW5iYW5Db2x1bW5Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBrYW5iYW5FdmVudFNlcnZpY2UgPSBpbmplY3QoS2FuYmFuRXZlbnRTZXJ2aWNlKTtcblxuICAgIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXG4gICAgcHVibGljIGRhdGEhOiBLYW5iYW5Db2x1bW47XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzaG93Q2hlY2tib3ggPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaGVhZGVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsID0gbnVsbDtcblxuICAgIHB1YmxpYyBzZWxlY3Rpb25Db250cm9sID0gbmV3IEZvcm1Db250cm9sKGZhbHNlKTtcbiAgICBwdWJsaWMgdGllcmVkTWVudU9wdGlvbnMhOiBUaWVyZWRNZW51SXRlbURhdGFbXTtcblxuICAgIHByaXZhdGUgX3Vuc3Vic2NyaWJlJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3ZhbGlkYXRlSW5wdXRzKCk7XG4gICAgICAgIHRoaXMuX3N1YnNjcml2ZUV2ZW50cygpO1xuXG4gICAgICAgIHRoaXMuX2NyZWF0ZVRpZXJlZE9wdGlvbnMoKTtcblxuICAgICAgICB0aGlzLnRpZXJlZE1lbnVPcHRpb25zID0gdGhpcy5kYXRhLm9wdGlvbnMgPyB0aGlzLmRhdGEub3B0aW9ucyBhcyBUaWVyZWRNZW51SXRlbURhdGFbXSA6IFtdO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdW5zdWJzY3JpYmUkLm5leHQoKTtcbiAgICAgICAgdGhpcy5fdW5zdWJzY3JpYmUkLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfY3JlYXRlVGllcmVkT3B0aW9ucygpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmRhdGEub3B0aW9ucykgcmV0dXJuO1xuXG4gICAgICAgIGNvbnN0IG9wdGlvbnM6IEthbmJhbkNvbHVtbk9wdGlvbltdID0gW107XG5cbiAgICAgICAgdGhpcy5kYXRhLm9wdGlvbnMuZm9yRWFjaCgob3B0aW9uOiBLYW5iYW5Db2x1bW5PcHRpb24pID0+IHtcbiAgICAgICAgICBvcHRpb25zLnB1c2goe1xuICAgICAgICAgICAgLi4ub3B0aW9uLFxuICAgICAgICAgICAgY29tbWFuZDogKCkgPT4geyBvcHRpb24uY29tbWFuZCh0aGlzLmRhdGEpIH0sXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuZGF0YS5vcHRpb25zID0gb3B0aW9ucztcbiAgICB9XG5cbiAgICBwcml2YXRlIF9zdWJzY3JpdmVFdmVudHMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VsZWN0aW9uQ29udHJvbC52YWx1ZUNoYW5nZXNcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl91bnN1YnNjcmliZSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgodmFsdWU6IGJvb2xlYW4gfCBudWxsKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMua2FuYmFuRXZlbnRTZXJ2aWNlLmVtaXRTZWxlY3RBbGxDb2x1bW5JdGVtc0V2ZW50KHRoaXMuZGF0YSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5rYW5iYW5FdmVudFNlcnZpY2UuZW1pdFVuc2VsZWN0QWxsQ29sdW1uSXRlbXNFdmVudCh0aGlzLmRhdGEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMua2FuYmFuRXZlbnRTZXJ2aWNlLnVuc2VsZWN0SXRlbUV2ZW50XG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fdW5zdWJzY3JpYmUkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKF8pID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGlvbkNvbnRyb2wuc2V0VmFsdWUoZmFsc2UsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMua2FuYmFuRXZlbnRTZXJ2aWNlLnNlbGVjdEl0ZW1FdmVudFxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX3Vuc3Vic2NyaWJlJCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChpdGVtOiBLYW5iYW5JdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLmRhdGEuaXRlbXMuaW5jbHVkZXMoaXRlbSkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb25Db250cm9sLnNldFZhbHVlKGZhbHNlLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5rYW5iYW5FdmVudFNlcnZpY2Uuc2VsZWN0QWxsQ29sdW1uSXRlbXNFdmVudFxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX3Vuc3Vic2NyaWJlJCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChjb2x1bW46IEthbmJhbkNvbHVtbikgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmRhdGEgIT09IGNvbHVtbikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGlvbkNvbnRyb2wuc2V0VmFsdWUoZmFsc2UsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmthbmJhbkV2ZW50U2VydmljZS51bnNlbGVjdEFsbENvbHVtbkl0ZW1zRXZlbnRcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl91bnN1YnNjcmliZSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoY29sdW1uOiBLYW5iYW5Db2x1bW4pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5kYXRhICE9PSBjb2x1bW4pIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb25Db250cm9sLnNldFZhbHVlKGZhbHNlLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICB9XG5cbiAgICBwcml2YXRlIF92YWxpZGF0ZUlucHV0cygpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmRhdGEpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcImRhdGEgcGFyYW1ldGVyIGlzIHJlcXVpcmVkXCIpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImthbmJhbi1jb2x1bW5cIj5cbiAgICA8ZGl2IGNsYXNzPVwia2FuYmFuLWNvbHVtbl9faGVhZGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50XCI+XG4gICAgICAgICAgICA8Zm9ybT5cbiAgICAgICAgICAgICAgICBAaWYgKHNob3dDaGVja2JveCkge1xuICAgICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cInNlbGVjdGlvbkNvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZm9ybT5cblxuICAgICAgICAgICAgQGlmICghaGVhZGVyVGVtcGxhdGUpIHtcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGl0bGVcIj57eyBkYXRhLnRpdGxlIH19ICh7eyBkYXRhLml0ZW1zLmxlbmd0aCB9fSk8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaGVhZGVyVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBkYXRhIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIEBpZiAoZGF0YS5vcHRpb25zKSB7XG4gICAgICAgICAgICA8cy1idXR0b25cbiAgICAgICAgICAgICAgICBwcmlvcml0eT1cImRlZmF1bHRcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgW2F1eGlsaWFyeV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgICAgIFttZW51T3B0aW9uc109XCJ0aWVyZWRNZW51T3B0aW9uc1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8L3MtYnV0dG9uPlxuICAgICAgICB9XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImthbmJhbi1jb2x1bW5fX2JvZHlcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { Component, Input } from "@angular/core";
|
|
1
|
+
import { Component, Input, inject } from "@angular/core";
|
|
2
|
+
import { KanbanEventService } from "../../kanban-event.service";
|
|
2
3
|
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "
|
|
4
|
-
import * as i2 from "@angular/
|
|
5
|
-
import * as i3 from "@angular/
|
|
6
|
-
import * as i4 from "@seniorsistemas/angular-components/tiered-menu";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
import * as i2 from "@angular/forms";
|
|
6
|
+
import * as i3 from "@seniorsistemas/angular-components/tiered-menu";
|
|
7
7
|
export class KanbanItemComponent {
|
|
8
|
-
_kanbanEventService;
|
|
8
|
+
_kanbanEventService = inject(KanbanEventService);
|
|
9
9
|
item;
|
|
10
10
|
selected = false;
|
|
11
11
|
showCheckbox = true;
|
|
@@ -13,9 +13,6 @@ export class KanbanItemComponent {
|
|
|
13
13
|
bodyTemplate = null;
|
|
14
14
|
footerTemplate = null;
|
|
15
15
|
kanbanItemOptions = [];
|
|
16
|
-
constructor(_kanbanEventService) {
|
|
17
|
-
this._kanbanEventService = _kanbanEventService;
|
|
18
|
-
}
|
|
19
16
|
ngOnInit() {
|
|
20
17
|
this._convertToTieredMenuItemData();
|
|
21
18
|
}
|
|
@@ -39,13 +36,13 @@ export class KanbanItemComponent {
|
|
|
39
36
|
});
|
|
40
37
|
this.kanbanItemOptions = options;
|
|
41
38
|
}
|
|
42
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KanbanItemComponent, deps: [
|
|
43
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: KanbanItemComponent, selector: "s-kanban-item", inputs: { item: "item", selected: "selected", showCheckbox: "showCheckbox", headerTemplate: "headerTemplate", bodyTemplate: "bodyTemplate", footerTemplate: "footerTemplate" }, ngImport: i0, template: "<div\n class=\"kanban-item\"\n [ngClass]=\"{\n 'kanban-item--selected': selected && !item.disabled,\n 'kanban-item--disabled': item.disabled,\n 'kanban-item--frozen': !item.disabled && item.frozen\n }\">\n <div class=\"kanban-item__header\">\n <div class=\"content\">\n <form>\n <input\n *ngIf=\"showCheckbox && !item.disabled && !item.frozen\"\n type=\"checkbox\"\n name=\"checkbox\"\n [(ngModel)]=\"selected\"\n (ngModelChange)=\"onSelectedChange($event)\"\n (click)=\"$event.stopPropagation()\">\n </form>\n <ng-container *ngTemplateOutlet=\"headerTemplate; context: { $implicit: item }\"></ng-container>\n </div>\n <button\n *ngIf=\"item.options && !item.disabled\"\n class=\"options-button\"\n (click)=\"$event.stopPropagation();\"\n sTieredMenu\n [items]=\"kanbanItemOptions\">\n <i class=\"fas fa-ellipsis-v\"></i>\n </button>\n </div>\n <div class=\"kanban-item__body\">\n <ng-container *ngTemplateOutlet=\"bodyTemplate; context: { $implicit: item }\"></ng-container>\n </div>\n <div *ngIf=\"footerTemplate\" class=\"kanban-item__footer\">\n <ng-container *ngTemplateOutlet=\"footerTemplate; context: { $implicit: item }\"></ng-container> \n </div>\n</div>\n", styles: [".kanban-item{background-color:#fff;border-radius:4px;box-shadow:0 1px 5px #00000040;cursor:pointer;display:flex;flex-direction:column;margin:16px;min-width:260px;padding:16px;-webkit-user-select:none;user-select:none}.kanban-item .kanban-item__header{display:flex;justify-content:space-between}.kanban-item .kanban-item__header .content{display:flex;gap:16px}.kanban-item .kanban-item__header .options-button{background-color:transparent;border:none;cursor:pointer;margin-right:-8px;padding:0 8px}.kanban-item .kanban-item__body{margin:16px 0}.kanban-item .kanban-item__footer{border-top:1px solid #dedce5;display:flex;justify-content:space-between}.kanban-item .kanban-item__footer .date-info{align-items:center;color:#6e7280;display:flex;font-family:\"Open Sans\" sans-serif;font-size:12px;gap:4px;line-height:150%}.kanban-item--selected{border:1px solid #428BCA}.kanban-item--disabled{opacity:50%}.kanban-item--frozen{box-shadow:none}\n"], dependencies: [{ kind: "directive", type:
|
|
39
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KanbanItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
40
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: KanbanItemComponent, selector: "s-kanban-item", inputs: { item: "item", selected: "selected", showCheckbox: "showCheckbox", headerTemplate: "headerTemplate", bodyTemplate: "bodyTemplate", footerTemplate: "footerTemplate" }, ngImport: i0, template: "<div\n class=\"kanban-item\"\n [ngClass]=\"{\n 'kanban-item--selected': selected && !item.disabled,\n 'kanban-item--disabled': item.disabled,\n 'kanban-item--frozen': !item.disabled && item.frozen\n }\">\n <div class=\"kanban-item__header\">\n <div class=\"content\">\n <form>\n <input\n *ngIf=\"showCheckbox && !item.disabled && !item.frozen\"\n type=\"checkbox\"\n name=\"checkbox\"\n [(ngModel)]=\"selected\"\n (ngModelChange)=\"onSelectedChange($event)\"\n (click)=\"$event.stopPropagation()\">\n </form>\n <ng-container *ngTemplateOutlet=\"headerTemplate; context: { $implicit: item }\"></ng-container>\n </div>\n <button\n *ngIf=\"item.options && !item.disabled\"\n class=\"options-button\"\n (click)=\"$event.stopPropagation();\"\n sTieredMenu\n [items]=\"kanbanItemOptions\">\n <i class=\"fas fa-ellipsis-v\"></i>\n </button>\n </div>\n <div class=\"kanban-item__body\">\n <ng-container *ngTemplateOutlet=\"bodyTemplate; context: { $implicit: item }\"></ng-container>\n </div>\n <div *ngIf=\"footerTemplate\" class=\"kanban-item__footer\">\n <ng-container *ngTemplateOutlet=\"footerTemplate; context: { $implicit: item }\"></ng-container> \n </div>\n</div>\n", styles: [".kanban-item{background-color:#fff;border-radius:4px;box-shadow:0 1px 5px #00000040;cursor:pointer;display:flex;flex-direction:column;margin:16px;min-width:260px;padding:16px;-webkit-user-select:none;user-select:none}.kanban-item .kanban-item__header{display:flex;justify-content:space-between}.kanban-item .kanban-item__header .content{display:flex;gap:16px}.kanban-item .kanban-item__header .options-button{background-color:transparent;border:none;cursor:pointer;margin-right:-8px;padding:0 8px}.kanban-item .kanban-item__body{margin:16px 0}.kanban-item .kanban-item__footer{border-top:1px solid #dedce5;display:flex;justify-content:space-between}.kanban-item .kanban-item__footer .date-info{align-items:center;color:#6e7280;display:flex;font-family:\"Open Sans\" sans-serif;font-size:12px;gap:4px;line-height:150%}.kanban-item--selected{border:1px solid #428BCA}.kanban-item--disabled{opacity:50%}.kanban-item--frozen{box-shadow:none}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.TieredMenuDirective, selector: "[sTieredMenu]", inputs: ["items", "focusedItem", "triggerEvent", "ariaLabel"], outputs: ["tieredMenuOpened", "tieredMenuClosed"] }] });
|
|
44
41
|
}
|
|
45
42
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KanbanItemComponent, decorators: [{
|
|
46
43
|
type: Component,
|
|
47
44
|
args: [{ selector: "s-kanban-item", template: "<div\n class=\"kanban-item\"\n [ngClass]=\"{\n 'kanban-item--selected': selected && !item.disabled,\n 'kanban-item--disabled': item.disabled,\n 'kanban-item--frozen': !item.disabled && item.frozen\n }\">\n <div class=\"kanban-item__header\">\n <div class=\"content\">\n <form>\n <input\n *ngIf=\"showCheckbox && !item.disabled && !item.frozen\"\n type=\"checkbox\"\n name=\"checkbox\"\n [(ngModel)]=\"selected\"\n (ngModelChange)=\"onSelectedChange($event)\"\n (click)=\"$event.stopPropagation()\">\n </form>\n <ng-container *ngTemplateOutlet=\"headerTemplate; context: { $implicit: item }\"></ng-container>\n </div>\n <button\n *ngIf=\"item.options && !item.disabled\"\n class=\"options-button\"\n (click)=\"$event.stopPropagation();\"\n sTieredMenu\n [items]=\"kanbanItemOptions\">\n <i class=\"fas fa-ellipsis-v\"></i>\n </button>\n </div>\n <div class=\"kanban-item__body\">\n <ng-container *ngTemplateOutlet=\"bodyTemplate; context: { $implicit: item }\"></ng-container>\n </div>\n <div *ngIf=\"footerTemplate\" class=\"kanban-item__footer\">\n <ng-container *ngTemplateOutlet=\"footerTemplate; context: { $implicit: item }\"></ng-container> \n </div>\n</div>\n", styles: [".kanban-item{background-color:#fff;border-radius:4px;box-shadow:0 1px 5px #00000040;cursor:pointer;display:flex;flex-direction:column;margin:16px;min-width:260px;padding:16px;-webkit-user-select:none;user-select:none}.kanban-item .kanban-item__header{display:flex;justify-content:space-between}.kanban-item .kanban-item__header .content{display:flex;gap:16px}.kanban-item .kanban-item__header .options-button{background-color:transparent;border:none;cursor:pointer;margin-right:-8px;padding:0 8px}.kanban-item .kanban-item__body{margin:16px 0}.kanban-item .kanban-item__footer{border-top:1px solid #dedce5;display:flex;justify-content:space-between}.kanban-item .kanban-item__footer .date-info{align-items:center;color:#6e7280;display:flex;font-family:\"Open Sans\" sans-serif;font-size:12px;gap:4px;line-height:150%}.kanban-item--selected{border:1px solid #428BCA}.kanban-item--disabled{opacity:50%}.kanban-item--frozen{box-shadow:none}\n"] }]
|
|
48
|
-
}],
|
|
45
|
+
}], propDecorators: { item: [{
|
|
49
46
|
type: Input,
|
|
50
47
|
args: [{ required: true }]
|
|
51
48
|
}], selected: [{
|
|
@@ -59,4 +56,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
59
56
|
}], footerTemplate: [{
|
|
60
57
|
type: Input
|
|
61
58
|
}] } });
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2FuYmFuLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL2thbmJhbi9zcmMvbGliL2thbmJhbi9jb21wb25lbnRzL2thbmJhbi1pdGVtL2thbmJhbi1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9rYW5iYW4vc3JjL2xpYi9rYW5iYW4vY29tcG9uZW50cy9rYW5iYW4taXRlbS9rYW5iYW4taXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBdUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzlFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7OztBQVNoRSxNQUFNLE9BQU8sbUJBQW1CO0lBQ1gsbUJBQW1CLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFHM0QsSUFBSSxDQUFjO0lBR2xCLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFHakIsWUFBWSxHQUFHLElBQUksQ0FBQztJQUdwQixjQUFjLEdBQTRCLElBQUksQ0FBQztJQUcvQyxZQUFZLEdBQTRCLElBQUksQ0FBQztJQUc3QyxjQUFjLEdBQTRCLElBQUksQ0FBQztJQUUvQyxpQkFBaUIsR0FBeUIsRUFBRSxDQUFDO0lBRTdDLFFBQVE7UUFDWCxJQUFJLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRU0sZ0JBQWdCLENBQUMsS0FBVTtRQUM5QixJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1IsSUFBSSxDQUFDLG1CQUFtQixDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1RCxDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUQsQ0FBQztJQUNMLENBQUM7SUFFTyw0QkFBNEI7UUFDaEMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTztZQUFFLE9BQU87UUFFL0IsTUFBTSxPQUFPLEdBQXlCLEVBQUUsQ0FBQztRQUV6QyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUF3QixFQUFFLEVBQUU7WUFDbkQsT0FBTyxDQUFDLElBQUksQ0FBQztnQkFDVCxHQUFHLE1BQU07Z0JBQ1QsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQzthQUMzQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxpQkFBaUIsR0FBRyxPQUFPLENBQUM7SUFDckMsQ0FBQzt3R0FoRFEsbUJBQW1COzRGQUFuQixtQkFBbUIscU9DWmhDLGs5Q0FvQ0E7OzRGRHhCYSxtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0ksZUFBZTs4QkFRbEIsSUFBSTtzQkFEVixLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFJbEIsUUFBUTtzQkFEZCxLQUFLO2dCQUlDLFlBQVk7c0JBRGxCLEtBQUs7Z0JBSUMsY0FBYztzQkFEcEIsS0FBSztnQkFJQyxZQUFZO3NCQURsQixLQUFLO2dCQUlDLGNBQWM7c0JBRHBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIFRlbXBsYXRlUmVmLCBpbmplY3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5pbXBvcnQgeyBLYW5iYW5JdGVtIH0gZnJvbSBcIi4uLy4uL3R5cGVzXCI7XG5pbXBvcnQgeyBLYW5iYW5FdmVudFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4va2FuYmFuLWV2ZW50LnNlcnZpY2VcIjtcbmltcG9ydCB7IEthbmJhbkl0ZW1PcHRpb24gfSBmcm9tIFwiLi4vLi4vdHlwZXMva2FuYmFuLWRhdGFcIjtcbmltcG9ydCB7IFRpZXJlZE1lbnVJdGVtRGF0YSB9IGZyb20gXCJAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL3RpZXJlZC1tZW51XCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBcInMta2FuYmFuLWl0ZW1cIixcbiAgICB0ZW1wbGF0ZVVybDogXCIuL2thbmJhbi1pdGVtLmNvbXBvbmVudC5odG1sXCIsXG4gICAgc3R5bGVVcmxzOiBbXCIuL2thbmJhbi1pdGVtLmNvbXBvbmVudC5zY3NzXCJdLFxufSlcbmV4cG9ydCBjbGFzcyBLYW5iYW5JdGVtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9rYW5iYW5FdmVudFNlcnZpY2UgPSBpbmplY3QoS2FuYmFuRXZlbnRTZXJ2aWNlKTtcblxuICAgIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXG4gICAgcHVibGljIGl0ZW0hOiBLYW5iYW5JdGVtO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2VsZWN0ZWQgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNob3dDaGVja2JveCA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBoZWFkZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgYm9keVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbCA9IG51bGw7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBmb290ZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IG51bGwgPSBudWxsO1xuXG4gICAgcHVibGljIGthbmJhbkl0ZW1PcHRpb25zOiBUaWVyZWRNZW51SXRlbURhdGFbXSA9IFtdO1xuXG4gICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9jb252ZXJ0VG9UaWVyZWRNZW51SXRlbURhdGEoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25TZWxlY3RlZENoYW5nZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5fa2FuYmFuRXZlbnRTZXJ2aWNlLmVtaXRTZWxlY3RJdGVtRXZlbnQodGhpcy5pdGVtKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX2thbmJhbkV2ZW50U2VydmljZS5lbWl0VW5zZWxlY3RJdGVtRXZlbnQodGhpcy5pdGVtKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX2NvbnZlcnRUb1RpZXJlZE1lbnVJdGVtRGF0YSgpIHtcbiAgICAgICAgaWYgKCF0aGlzLml0ZW0ub3B0aW9ucykgcmV0dXJuO1xuXG4gICAgICAgIGNvbnN0IG9wdGlvbnM6IFRpZXJlZE1lbnVJdGVtRGF0YVtdID0gW107XG5cbiAgICAgICAgdGhpcy5pdGVtLm9wdGlvbnMuZm9yRWFjaCgob3B0aW9uOiBLYW5iYW5JdGVtT3B0aW9uKSA9PiB7XG4gICAgICAgICAgICBvcHRpb25zLnB1c2goe1xuICAgICAgICAgICAgICAgIC4uLm9wdGlvbixcbiAgICAgICAgICAgICAgICBjb21tYW5kOiAoKSA9PiBvcHRpb24uY29tbWFuZCh0aGlzLml0ZW0pLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMua2FuYmFuSXRlbU9wdGlvbnMgPSBvcHRpb25zO1xuICAgIH1cbn1cbiIsIjxkaXZcbiAgICBjbGFzcz1cImthbmJhbi1pdGVtXCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICdrYW5iYW4taXRlbS0tc2VsZWN0ZWQnOiBzZWxlY3RlZCAmJiAhaXRlbS5kaXNhYmxlZCxcbiAgICAgICAgJ2thbmJhbi1pdGVtLS1kaXNhYmxlZCc6IGl0ZW0uZGlzYWJsZWQsXG4gICAgICAgICdrYW5iYW4taXRlbS0tZnJvemVuJzogIWl0ZW0uZGlzYWJsZWQgJiYgaXRlbS5mcm96ZW5cbiAgICB9XCI+XG4gICAgPGRpdiBjbGFzcz1cImthbmJhbi1pdGVtX19oZWFkZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnRcIj5cbiAgICAgICAgICAgIDxmb3JtPlxuICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInNob3dDaGVja2JveCAmJiAhaXRlbS5kaXNhYmxlZCAmJiAhaXRlbS5mcm96ZW5cIlxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgICAgICAgICBuYW1lPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlbGVjdGVkXCJcbiAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25TZWxlY3RlZENoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPlxuICAgICAgICAgICAgPC9mb3JtPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImhlYWRlclRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogaXRlbSB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAqbmdJZj1cIml0ZW0ub3B0aW9ucyAmJiAhaXRlbS5kaXNhYmxlZFwiXG4gICAgICAgICAgICBjbGFzcz1cIm9wdGlvbnMtYnV0dG9uXCJcbiAgICAgICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XCJcbiAgICAgICAgICAgIHNUaWVyZWRNZW51XG4gICAgICAgICAgICBbaXRlbXNdPVwia2FuYmFuSXRlbU9wdGlvbnNcIj5cbiAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLWVsbGlwc2lzLXZcIj48L2k+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJrYW5iYW4taXRlbV9fYm9keVwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYm9keVRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogaXRlbSB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cImZvb3RlclRlbXBsYXRlXCIgY2xhc3M9XCJrYW5iYW4taXRlbV9fZm9vdGVyXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJmb290ZXJUZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IGl0ZW0gfVwiPjwvbmctY29udGFpbmVyPiAgICAgXG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { moveItemInArray, transferArrayItem } from '@angular/cdk/drag-drop';
|
|
2
|
-
import { Component, ContentChildren, EventEmitter, Input, Output, } from '@angular/core';
|
|
2
|
+
import { Component, ContentChildren, EventEmitter, Input, Output, inject } from '@angular/core';
|
|
3
3
|
import { Subject } from 'rxjs';
|
|
4
4
|
import { takeUntil } from 'rxjs/operators';
|
|
5
|
+
import { KanbanEventService } from './kanban-event.service';
|
|
5
6
|
import { TemplateDirective } from '@seniorsistemas/angular-components/template';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "
|
|
8
|
-
import * as i2 from "@angular/
|
|
9
|
-
import * as i3 from "
|
|
10
|
-
import * as i4 from "./components/kanban-
|
|
11
|
-
import * as i5 from "./components/kanban-
|
|
12
|
-
import * as i6 from "
|
|
13
|
-
import * as i7 from "@ngx-translate/core";
|
|
8
|
+
import * as i1 from "@angular/common";
|
|
9
|
+
import * as i2 from "@angular/cdk/drag-drop";
|
|
10
|
+
import * as i3 from "./components/kanban-item/kanban-item.component";
|
|
11
|
+
import * as i4 from "./components/kanban-column/kanban-column.component";
|
|
12
|
+
import * as i5 from "./components/kanban-item-dragging/kanban-item-dragging.component";
|
|
13
|
+
import * as i6 from "@ngx-translate/core";
|
|
14
14
|
/**
|
|
15
15
|
* @description Componente de quadro Kanban com suporte a arrastar e soltar colunas e itens.
|
|
16
16
|
* Permite seleção via checkboxes, templates customizáveis para cabeçalho, corpo e rodapé
|
|
@@ -26,7 +26,7 @@ import * as i7 from "@ngx-translate/core";
|
|
|
26
26
|
* @category Data
|
|
27
27
|
*/
|
|
28
28
|
export class KanbanComponent {
|
|
29
|
-
kanbanEventService;
|
|
29
|
+
kanbanEventService = inject(KanbanEventService);
|
|
30
30
|
/** @description Dados do quadro Kanban com colunas e itens. Campo obrigatório. */
|
|
31
31
|
data;
|
|
32
32
|
/** @description Exibe checkboxes de seleção em cada item Kanban. @default true */
|
|
@@ -47,11 +47,10 @@ export class KanbanComponent {
|
|
|
47
47
|
itemHeaderTemplate = null;
|
|
48
48
|
itemBodyTemplate = null;
|
|
49
49
|
itemFooterTemplate = null;
|
|
50
|
+
_instanceId = `kanban-${Math.random().toString(36).substring(2, 9)}-${Date.now().toString(36)}`;
|
|
51
|
+
_columnIdMap = new Map();
|
|
50
52
|
_unsubscribe$ = new Subject();
|
|
51
53
|
templates = null;
|
|
52
|
-
constructor(kanbanEventService) {
|
|
53
|
-
this.kanbanEventService = kanbanEventService;
|
|
54
|
-
}
|
|
55
54
|
ngOnInit() {
|
|
56
55
|
this._subscribeEvents();
|
|
57
56
|
this._normalizeData();
|
|
@@ -194,7 +193,14 @@ export class KanbanComponent {
|
|
|
194
193
|
}
|
|
195
194
|
_normalizeData() {
|
|
196
195
|
this.data.columns.forEach((column) => {
|
|
197
|
-
|
|
196
|
+
const originalId = column.id || `col-${Math.random().toString(36).substring(2, 9)}`;
|
|
197
|
+
// Não mutar column.id, manter original
|
|
198
|
+
if (!column.id) {
|
|
199
|
+
column.id = originalId;
|
|
200
|
+
}
|
|
201
|
+
// Criar ID único para esta instância
|
|
202
|
+
const uniqueId = `${this._instanceId}-${originalId}`;
|
|
203
|
+
this._columnIdMap.set(originalId, uniqueId);
|
|
198
204
|
});
|
|
199
205
|
}
|
|
200
206
|
_validateInputs() {
|
|
@@ -211,13 +217,13 @@ export class KanbanComponent {
|
|
|
211
217
|
this.itemBodyTemplate = this.getItemBodyTemplate();
|
|
212
218
|
this.itemFooterTemplate = this.getItemFooterTemplate();
|
|
213
219
|
}
|
|
214
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KanbanComponent, deps: [
|
|
215
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: KanbanComponent, selector: "s-kanban", inputs: { data: "data", showItemCheckboxes: "showItemCheckboxes", showColumnCheckboxes: "showColumnCheckboxes" }, outputs: { itemsMoved: "itemsMoved", dataUpdated: "dataUpdated", itemsSelected: "itemsSelected" }, queries: [{ propertyName: "templates", predicate: TemplateDirective }], ngImport: i0, template: "<div class=\"kanban\">\n <s-kanban-column\n *ngFor=\"let column of data.columns\"\n [data]=\"column\"\n [showCheckbox]=\"showColumnCheckboxes\"\n [headerTemplate]=\"columnHeaderTemplate\"\n >\n <div\n [id]=\"column.id + ''\"\n style=\"height: 100%; width: 100%\"\n cdkDropList\n #dynamicList=\"cdkDropList\"\n [cdkDropListData]=\"column.items\"\n [cdkDropListConnectedTo]=\"getLinkedColumns(column)\"\n (cdkDropListDropped)=\"drop($event)\"\n >\n @if (column.items.length === 0) {\n @if (!columnEmptyMessageTemplate) {\n <div class=\"empty-message\">\n <p class=\"text\">\n <span class=\"fas fa-clock\"></span> \n <span>{{\n 'platform.angular_components.count_items_in_target'\n | translate: { count: column.items.length, target: column.title }\n }}</span>\n </p>\n </div>\n } @else {\n <ng-container\n *ngTemplateOutlet=\"columnEmptyMessageTemplate; context: { $implicit: column }\"\n ></ng-container>\n }\n }\n\n <div\n *ngFor=\"let item of column.items\"\n cdkDrag\n [cdkDragData]=\"item\"\n [cdkDragDisabled]=\"item.disabled || item.frozen\"\n (cdkDragStarted)=\"dragStarted()\"\n (cdkDragReleased)=\"dragReleased()\"\n (click)=\"selectItem($event, item, column)\"\n >\n <ng-container *ngTemplateOutlet=\"itemTemplate\"></ng-container>\n\n <ng-container *cdkDragPreview>\n @if (selectedItems.size > 1) {\n <s-kanban-item-dragging [quantityItems]=\"selectedItems.size\"></s-kanban-item-dragging>\n } @else {\n <div class=\"max-w-96\">\n <ng-container *ngTemplateOutlet=\"itemTemplate\"></ng-container>\n </div>\n }\n </ng-container>\n\n <ng-template #itemTemplate>\n <s-kanban-item\n [item]=\"item\"\n [selected]=\"selectedItems.has(item)\"\n [showCheckbox]=\"showItemCheckboxes\"\n [headerTemplate]=\"itemHeaderTemplate\"\n [bodyTemplate]=\"itemBodyTemplate\"\n [footerTemplate]=\"itemFooterTemplate\"\n >\n </s-kanban-item>\n </ng-template>\n\n <div *cdkDragPlaceholder>\n <div class=\"placeholder\">\n <div class=\"placeholder-line\"></div>\n </div>\n </div>\n </div>\n </div>\n </s-kanban-column>\n</div>\n\n", styles: [".kanban{display:flex;gap:16px;overflow:auto;width:100%}.kanban .empty-message{display:flex;justify-content:center;margin:16px}.kanban .empty-message .text{overflow:hidden;text-align:center;text-overflow:ellipsis;width:100%;white-space:nowrap}@media screen and (max-width: 600px){.kanban{flex-direction:column}}s-kanban-column{display:flex;flex-grow:1;min-width:292px}.placeholder{display:flex;justify-content:center}.placeholder .placeholder-line{background-color:#a5a5b2;height:1px;margin:6px 0;width:50%}\n"], dependencies: [{ kind: "directive", type:
|
|
220
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KanbanComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
221
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: KanbanComponent, selector: "s-kanban", inputs: { data: "data", showItemCheckboxes: "showItemCheckboxes", showColumnCheckboxes: "showColumnCheckboxes" }, outputs: { itemsMoved: "itemsMoved", dataUpdated: "dataUpdated", itemsSelected: "itemsSelected" }, queries: [{ propertyName: "templates", predicate: TemplateDirective }], ngImport: i0, template: "<div class=\"kanban\">\n <s-kanban-column\n *ngFor=\"let column of data.columns\"\n [data]=\"column\"\n [showCheckbox]=\"showColumnCheckboxes\"\n [headerTemplate]=\"columnHeaderTemplate\"\n >\n <div\n [id]=\"column.id + ''\"\n style=\"height: 100%; width: 100%\"\n cdkDropList\n #dynamicList=\"cdkDropList\"\n [cdkDropListData]=\"column.items\"\n [cdkDropListConnectedTo]=\"getLinkedColumns(column)\"\n (cdkDropListDropped)=\"drop($event)\"\n >\n @if (column.items.length === 0) {\n @if (!columnEmptyMessageTemplate) {\n <div class=\"empty-message\">\n <p class=\"text\">\n <span class=\"fas fa-clock\"></span> \n <span>{{\n 'platform.angular_components.count_items_in_target'\n | translate: { count: column.items.length, target: column.title }\n }}</span>\n </p>\n </div>\n } @else {\n <ng-container\n *ngTemplateOutlet=\"columnEmptyMessageTemplate; context: { $implicit: column }\"\n ></ng-container>\n }\n }\n\n <div\n *ngFor=\"let item of column.items\"\n cdkDrag\n [cdkDragData]=\"item\"\n [cdkDragDisabled]=\"item.disabled || item.frozen\"\n (cdkDragStarted)=\"dragStarted()\"\n (cdkDragReleased)=\"dragReleased()\"\n (click)=\"selectItem($event, item, column)\"\n >\n <ng-container *ngTemplateOutlet=\"itemTemplate\"></ng-container>\n\n <ng-container *cdkDragPreview>\n @if (selectedItems.size > 1) {\n <s-kanban-item-dragging [quantityItems]=\"selectedItems.size\"></s-kanban-item-dragging>\n } @else {\n <div class=\"max-w-96\">\n <ng-container *ngTemplateOutlet=\"itemTemplate\"></ng-container>\n </div>\n }\n </ng-container>\n\n <ng-template #itemTemplate>\n <s-kanban-item\n [item]=\"item\"\n [selected]=\"selectedItems.has(item)\"\n [showCheckbox]=\"showItemCheckboxes\"\n [headerTemplate]=\"itemHeaderTemplate\"\n [bodyTemplate]=\"itemBodyTemplate\"\n [footerTemplate]=\"itemFooterTemplate\"\n >\n </s-kanban-item>\n </ng-template>\n\n <div *cdkDragPlaceholder>\n <div class=\"placeholder\">\n <div class=\"placeholder-line\"></div>\n </div>\n </div>\n </div>\n </div>\n </s-kanban-column>\n</div>\n\n", styles: [".kanban{display:flex;gap:16px;overflow:auto;width:100%}.kanban .empty-message{display:flex;justify-content:center;margin:16px}.kanban .empty-message .text{overflow:hidden;text-align:center;text-overflow:ellipsis;width:100%;white-space:nowrap}@media screen and (max-width: 600px){.kanban{flex-direction:column}}s-kanban-column{display:flex;flex-grow:1;min-width:292px}.placeholder{display:flex;justify-content:center}.placeholder .placeholder-line{background-color:#a5a5b2;height:1px;margin:6px 0;width:50%}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i2.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i2.CdkDragPreview, selector: "ng-template[cdkDragPreview]", inputs: ["data", "matchSize"] }, { kind: "directive", type: i2.CdkDragPlaceholder, selector: "ng-template[cdkDragPlaceholder]", inputs: ["data"] }, { kind: "component", type: i3.KanbanItemComponent, selector: "s-kanban-item", inputs: ["item", "selected", "showCheckbox", "headerTemplate", "bodyTemplate", "footerTemplate"] }, { kind: "component", type: i4.KanbanColumnComponent, selector: "s-kanban-column", inputs: ["data", "showCheckbox", "headerTemplate"] }, { kind: "component", type: i5.KanbanItemDraggingComponent, selector: "s-kanban-item-dragging", inputs: ["quantityItems"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] });
|
|
216
222
|
}
|
|
217
223
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KanbanComponent, decorators: [{
|
|
218
224
|
type: Component,
|
|
219
225
|
args: [{ selector: 's-kanban', template: "<div class=\"kanban\">\n <s-kanban-column\n *ngFor=\"let column of data.columns\"\n [data]=\"column\"\n [showCheckbox]=\"showColumnCheckboxes\"\n [headerTemplate]=\"columnHeaderTemplate\"\n >\n <div\n [id]=\"column.id + ''\"\n style=\"height: 100%; width: 100%\"\n cdkDropList\n #dynamicList=\"cdkDropList\"\n [cdkDropListData]=\"column.items\"\n [cdkDropListConnectedTo]=\"getLinkedColumns(column)\"\n (cdkDropListDropped)=\"drop($event)\"\n >\n @if (column.items.length === 0) {\n @if (!columnEmptyMessageTemplate) {\n <div class=\"empty-message\">\n <p class=\"text\">\n <span class=\"fas fa-clock\"></span> \n <span>{{\n 'platform.angular_components.count_items_in_target'\n | translate: { count: column.items.length, target: column.title }\n }}</span>\n </p>\n </div>\n } @else {\n <ng-container\n *ngTemplateOutlet=\"columnEmptyMessageTemplate; context: { $implicit: column }\"\n ></ng-container>\n }\n }\n\n <div\n *ngFor=\"let item of column.items\"\n cdkDrag\n [cdkDragData]=\"item\"\n [cdkDragDisabled]=\"item.disabled || item.frozen\"\n (cdkDragStarted)=\"dragStarted()\"\n (cdkDragReleased)=\"dragReleased()\"\n (click)=\"selectItem($event, item, column)\"\n >\n <ng-container *ngTemplateOutlet=\"itemTemplate\"></ng-container>\n\n <ng-container *cdkDragPreview>\n @if (selectedItems.size > 1) {\n <s-kanban-item-dragging [quantityItems]=\"selectedItems.size\"></s-kanban-item-dragging>\n } @else {\n <div class=\"max-w-96\">\n <ng-container *ngTemplateOutlet=\"itemTemplate\"></ng-container>\n </div>\n }\n </ng-container>\n\n <ng-template #itemTemplate>\n <s-kanban-item\n [item]=\"item\"\n [selected]=\"selectedItems.has(item)\"\n [showCheckbox]=\"showItemCheckboxes\"\n [headerTemplate]=\"itemHeaderTemplate\"\n [bodyTemplate]=\"itemBodyTemplate\"\n [footerTemplate]=\"itemFooterTemplate\"\n >\n </s-kanban-item>\n </ng-template>\n\n <div *cdkDragPlaceholder>\n <div class=\"placeholder\">\n <div class=\"placeholder-line\"></div>\n </div>\n </div>\n </div>\n </div>\n </s-kanban-column>\n</div>\n\n", styles: [".kanban{display:flex;gap:16px;overflow:auto;width:100%}.kanban .empty-message{display:flex;justify-content:center;margin:16px}.kanban .empty-message .text{overflow:hidden;text-align:center;text-overflow:ellipsis;width:100%;white-space:nowrap}@media screen and (max-width: 600px){.kanban{flex-direction:column}}s-kanban-column{display:flex;flex-grow:1;min-width:292px}.placeholder{display:flex;justify-content:center}.placeholder .placeholder-line{background-color:#a5a5b2;height:1px;margin:6px 0;width:50%}\n"] }]
|
|
220
|
-
}],
|
|
226
|
+
}], propDecorators: { data: [{
|
|
221
227
|
type: Input,
|
|
222
228
|
args: [{ required: true }]
|
|
223
229
|
}], showItemCheckboxes: [{
|
|
@@ -234,4 +240,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
234
240
|
type: ContentChildren,
|
|
235
241
|
args: [TemplateDirective]
|
|
236
242
|
}] } });
|
|
237
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2FuYmFuLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9rYW5iYW4vc3JjL2xpYi9rYW5iYW4va2FuYmFuLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9rYW5iYW4vc3JjL2xpYi9rYW5iYW4va2FuYmFuLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RixPQUFPLEVBRUgsU0FBUyxFQUNULGVBQWUsRUFDZixZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sR0FHVCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUkzQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQzs7Ozs7Ozs7O0FBRWhGOzs7Ozs7Ozs7Ozs7O0dBYUc7QUFNSCxNQUFNLE9BQU8sZUFBZTtJQXVDSztJQXRDN0Isa0ZBQWtGO0lBRTNFLElBQUksQ0FBYztJQUV6QixrRkFBa0Y7SUFFM0Usa0JBQWtCLEdBQUcsSUFBSSxDQUFDO0lBRWpDLDBGQUEwRjtJQUVuRixvQkFBb0IsR0FBRyxJQUFJLENBQUM7SUFFbkMsb0ZBQW9GO0lBRTdFLFVBQVUsR0FBRyxJQUFJLFlBQVksRUFBdUIsQ0FBQztJQUU1RCxtRkFBbUY7SUFFNUUsV0FBVyxHQUFHLElBQUksWUFBWSxFQUFjLENBQUM7SUFFcEQsOEZBQThGO0lBRXZGLGFBQWEsR0FBRyxJQUFJLFlBQVksRUFBZ0IsQ0FBQztJQUVqRCxjQUFjLEdBQXdCLElBQUksQ0FBQztJQUMzQyxhQUFhLEdBQUcsSUFBSSxH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Q0FBQyxNQUFNLEVBQUUsQ0FBQztZQUM3QyxNQUFNLElBQUksS0FBSyxDQUFDLGdDQUFnQyxDQUFDLENBQUM7UUFDdEQsQ0FBQztJQUNMLENBQUM7SUFFTyxhQUFhO1FBQ2pCLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztRQUMzRCxJQUFJLENBQUMsMEJBQTBCLEdBQUcsSUFBSSxDQUFDLDZCQUE2QixFQUFFLENBQUM7UUFDdkUsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQ3ZELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUNuRCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDM0QsQ0FBQzt3R0E3T1EsZUFBZTs0RkFBZixlQUFlLCtSQXFDUCxpQkFBaUIsNkJDN0V0QyxnbUdBNkVBOzs0RkRyQ2EsZUFBZTtrQkFMM0IsU0FBUzsrQkFDSSxVQUFVO3VGQU9iLElBQUk7c0JBRFYsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBS2xCLGtCQUFrQjtzQkFEeEIsS0FBSztnQkFLQyxvQkFBb0I7c0JBRDFCLEtBQUs7Z0JBS0MsVUFBVTtzQkFEaEIsTUFBTTtnQkFLQSxXQUFXO3NCQURqQixNQUFNO2dCQUtBLGFBQWE7c0JBRG5CLE1BQU07Z0JBZTZCLFNBQVM7c0JBQTVDLGVBQWU7dUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2RrRHJhZ0Ryb3AsIG1vdmVJdGVtSW5BcnJheSwgdHJhbnNmZXJBcnJheUl0ZW0gfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcbmltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBRdWVyeUxpc3QsXG4gICAgVGVtcGxhdGVSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEthbmJhbkV2ZW50U2VydmljZSB9IGZyb20gJy4va2FuYmFuLWV2ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgS2FuYmFuQ29sdW1uLCBLYW5iYW5EYXRhLCBLYW5iYW5JdGVtLCBLYW5iYW5JdGVtTW92ZWREYXRhIH0gZnJvbSAnLi90eXBlcy9pbmRleCc7XG5pbXBvcnQgeyBUZW1wbGF0ZURpcmVjdGl2ZSB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvdGVtcGxhdGUnO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBDb21wb25lbnRlIGRlIHF1YWRybyBLYW5iYW4gY29tIHN1cG9ydGUgYSBhcnJhc3RhciBlIHNvbHRhciBjb2x1bmFzIGUgaXRlbnMuXG4gKiBQZXJtaXRlIHNlbGXDp8OjbyB2aWEgY2hlY2tib3hlcywgdGVtcGxhdGVzIGN1c3RvbWl6w6F2ZWlzIHBhcmEgY2FiZcOnYWxobywgY29ycG8gZSByb2RhcMOpXG4gKiBkb3MgY2FyZHMsIGFsw6ltIGRlIGVtaXRpciBldmVudG9zIGRlIG1vdmnDp8OjbyBlIHNlbGXDp8Ojby5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgaHRtbFxuICogPHMta2FuYmFuXG4gKiAgIFtkYXRhXT1cImRhZG9zS2FuYmFuXCJcbiAqICAgKGl0ZW1zTW92ZWQpPVwib25JdGVtTW92aWRvKCRldmVudClcIiAvPlxuICogYGBgXG4gKlxuICogQGNhdGVnb3J5IERhdGFcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzLWthbmJhbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2thbmJhbi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4va2FuYmFuLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEthbmJhbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95IHtcbiAgICAvKiogQGRlc2NyaXB0aW9uIERhZG9zIGRvIHF1YWRybyBLYW5iYW4gY29tIGNvbHVuYXMgZSBpdGVucy4gQ2FtcG8gb2JyaWdhdMOzcmlvLiAqL1xuICAgIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXG4gICAgcHVibGljIGRhdGEhOiBLYW5iYW5EYXRhO1xuXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBFeGliZSBjaGVja2JveGVzIGRlIHNlbGXDp8OjbyBlbSBjYWRhIGl0ZW0gS2FuYmFuLiBAZGVmYXVsdCB0cnVlICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2hvd0l0ZW1DaGVja2JveGVzID0gdHJ1ZTtcblxuICAgIC8qKiBAZGVzY3JpcHRpb24gRXhpYmUgY2hlY2tib3hlcyBkZSBzZWxlw6fDo28gbm8gY2FiZcOnYWxobyBkZSBjYWRhIGNvbHVuYS4gQGRlZmF1bHQgdHJ1ZSAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNob3dDb2x1bW5DaGVja2JveGVzID0gdHJ1ZTtcblxuICAgIC8qKiBAZGVzY3JpcHRpb24gRW1pdGlkbyBxdWFuZG8gbyB1c3XDoXJpbyBtb3ZlIHVtIGl0ZW0gZW50cmUgY29sdW5hcyBvdSBwb3Npw6fDtWVzLiAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBpdGVtc01vdmVkID0gbmV3IEV2ZW50RW1pdHRlcjxLYW5iYW5JdGVtTW92ZWREYXRhPigpO1xuXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBFbWl0aWRvIHF1YW5kbyBvcyBkYWRvcyBkbyBxdWFkcm8gc8OjbyBhdHVhbGl6YWRvcyBhcMOzcyBtb3Zpw6fDo28uICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGRhdGFVcGRhdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxLYW5iYW5EYXRhPigpO1xuXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBFbWl0aWRvIHF1YW5kbyBhIHNlbGXDp8OjbyBkZSBpdGVucyBtdWRhLCBjb20gYSBsaXN0YSBkZSBpdGVucyBzZWxlY2lvbmFkb3MuICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGl0ZW1zU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEthbmJhbkl0ZW1bXT4oKTtcblxuICAgIHB1YmxpYyBzZWxlY3RlZENvbHVtbjogS2FuYmFuQ29sdW1uIHwgbnVsbCA9IG51bGw7XG4gICAgcHVibGljIHNlbGVjdGVkSXRlbXMgPSBuZXcgU2V0PEthbmJhbkl0ZW0+KCk7XG4gICAgcHVibGljIGRyYWdnaW5nSXRlbXMgPSBuZXcgU2V0PEthbmJhbkl0ZW0+KCk7XG5cbiAgICBwdWJsaWMgY29sdW1uSGVhZGVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsID0gbnVsbDtcbiAgICBwdWJsaWMgY29sdW1uRW1wdHlNZXNzYWdlVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsID0gbnVsbDtcbiAgICBwdWJsaWMgaXRlbUhlYWRlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbCA9IG51bGw7XG4gICAgcHVibGljIGl0ZW1Cb2R5VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsID0gbnVsbDtcbiAgICBwdWJsaWMgaXRlbUZvb3RlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbCA9IG51bGw7XG5cbiAgICBwcml2YXRlIF91bnN1YnNjcmliZSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihUZW1wbGF0ZURpcmVjdGl2ZSkgdGVtcGxhdGVzOiBRdWVyeUxpc3Q8VGVtcGxhdGVEaXJlY3RpdmU+IHwgbnVsbCA9IG51bGw7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGthbmJhbkV2ZW50U2VydmljZTogS2FuYmFuRXZlbnRTZXJ2aWNlKSB7fVxuXG4gICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zdWJzY3JpYmVFdmVudHMoKTtcbiAgICAgICAgdGhpcy5fbm9ybWFsaXplRGF0YSgpO1xuICAgICAgICB0aGlzLl92YWxpZGF0ZUlucHV0cygpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICAgICAgdGhpcy5fZ2V0VGVtcGxhdGVzKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl91bnN1YnNjcmliZSQubmV4dCgpO1xuICAgICAgICB0aGlzLl91bnN1YnNjcmliZSQuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZHJvcChldmVudDogQ2RrRHJhZ0Ryb3A8S2FuYmFuSXRlbVtdPik6IHZvaWQge1xuICAgICAgICBjb25zdCBwcmV2aW91c0NvbHVtbiA9IHRoaXMuZGF0YS5jb2x1bW5zLmZpbmQoXG4gICAgICAgICAgICAoY29sdW1uOiBLYW5iYW5Db2x1bW4pID0+IGNvbHVtbi5pZCA9PT0gZXZlbnQucHJldmlvdXNDb250YWluZXIuaWQsXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IHRhcmdldENvbHVtbiA9IHRoaXMuZGF0YS5jb2x1bW5zLmZpbmQoKGNvbHVtbjogS2FuYmFuQ29sdW1uKSA9PiBjb2x1bW4uaWQgPT09IGV2ZW50LmNvbnRhaW5lci5pZCk7XG5cbiAgICAgICAgaWYgKCFwcmV2aW91c0NvbHVtbiB8fCAhdGFyZ2V0Q29sdW1uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1VuYWJsZSB0byBvYnRhaW4gaW5mb3JtYXRpb24gYWJvdXQgY29sdW1ucyB3aGVuIHBlcmZvcm1pbmcgZHJhZyBhbmQgZHJvcCcpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGV2ZW50LnByZXZpb3VzQ29udGFpbmVyID09PSBldmVudC5jb250YWluZXIpIHtcbiAgICAgICAgICAgIG1vdmVJdGVtSW5BcnJheShldmVudC5jb250YWluZXIuZGF0YSwgZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRyYW5zZmVyQXJyYXlJdGVtKFxuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZpb3VzQ29udGFpbmVyLmRhdGEsXG4gICAgICAgICAgICAgICAgZXZlbnQuY29udGFpbmVyLmRhdGEsXG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmlvdXNJbmRleCxcbiAgICAgICAgICAgICAgICBldmVudC5jdXJyZW50SW5kZXgsXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zLmZvckVhY2goKGl0ZW06IEthbmJhbkl0ZW0pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHByZXZpb3VzSW5kZXggPSBldmVudC5wcmV2aW91c0NvbnRhaW5lci5kYXRhLmluZGV4T2YoaXRlbSk7XG4gICAgICAgICAgICBpZiAocHJldmlvdXNJbmRleCAhPT0gLTEgJiYgaXRlbSAhPT0gZXZlbnQuaXRlbS5kYXRhKSB7XG4gICAgICAgICAgICAgICAgaWYgKGV2ZW50LnByZXZpb3VzQ29udGFpbmVyID09PSBldmVudC5jb250YWluZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgbW92ZUl0ZW1JbkFycmF5KGV2ZW50LmNvbnRhaW5lci5kYXRhLCBwcmV2aW91c0luZGV4LCBldmVudC5jdXJyZW50SW5kZXgpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZmVyQXJyYXlJdGVtKFxuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmlvdXNDb250YWluZXIuZGF0YSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LmNvbnRhaW5lci5kYXRhLFxuICAgICAgICAgICAgICAgICAgICAgICAgcHJldmlvdXNJbmRleCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LmN1cnJlbnRJbmRleCxcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcy5hZGQoZXZlbnQuaXRlbS5kYXRhKTtcblxuICAgICAgICB0aGlzLml0ZW1zTW92ZWQuZW1pdCh7XG4gICAgICAgICAgICBpdGVtczogWy4uLnRoaXMuc2VsZWN0ZWRJdGVtc10sXG4gICAgICAgICAgICBwcmV2aW91c0NvbHVtbixcbiAgICAgICAgICAgIHRhcmdldENvbHVtbixcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKHRoaXMuZGF0YVVwZGF0ZWQub2JzZXJ2ZXJzPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuZGF0YVVwZGF0ZWQuZW1pdCh7IC4uLnRoaXMuZGF0YSB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZGF0YS5jb2x1bW5zLmZvckVhY2goKGNvbHVtbjogS2FuYmFuQ29sdW1uKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmthbmJhbkV2ZW50U2VydmljZS5lbWl0VW5zZWxlY3RBbGxDb2x1bW5JdGVtc0V2ZW50KGNvbHVtbik7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXMuY2xlYXIoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2VsZWN0SXRlbShldmVudDogTW91c2VFdmVudCwgaXRlbTogS2FuYmFuSXRlbSwgY29sdW1uOiBLYW5iYW5Db2x1bW4pOiB2b2lkIHtcbiAgICAgICAgaWYgKGl0ZW0uZGlzYWJsZWQgfHwgaXRlbS5mcm96ZW4pIHJldHVybjtcblxuICAgICAgICBpZiAoZXZlbnQuY3RybEtleSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRJdGVtcy5kZWxldGUoaXRlbSkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmthbmJhbkV2ZW50U2VydmljZS5lbWl0VW5zZWxlY3RJdGVtRXZlbnQoaXRlbSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLnNlbGVjdGVkQ29sdW1uICYmICF0aGlzLnNlbGVjdGVkQ29sdW1uLml0ZW1zLmluY2x1ZGVzKGl0ZW0pKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcy5jbGVhcigpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcy5hZGQoaXRlbSk7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZENvbHVtbiA9IGNvbHVtbjtcbiAgICAgICAgICAgICAgICB0aGlzLmthbmJhbkV2ZW50U2VydmljZS5lbWl0U2VsZWN0SXRlbUV2ZW50KGl0ZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRJdGVtcy5kZWxldGUoaXRlbSkpIHJldHVybjtcblxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zLmNsZWFyKCk7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXMuYWRkKGl0ZW0pO1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZENvbHVtbiA9IGNvbHVtbjtcbiAgICAgICAgICAgIHRoaXMua2FuYmFuRXZlbnRTZXJ2aWNlLmVtaXRTZWxlY3RJdGVtRXZlbnQoaXRlbSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZHJhZ1N0YXJ0ZWQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcy5mb3JFYWNoKChpdGVtOiBLYW5iYW5JdGVtKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmRyYWdnaW5nSXRlbXMuYWRkKGl0ZW0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZHJhZ1JlbGVhc2VkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRyYWdnaW5nSXRlbXMuY2xlYXIoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0TGlua2VkQ29sdW1ucyhjdXJyZW50Q29sdW1uOiBLYW5iYW5Db2x1bW4pOiBzdHJpbmdbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEuY29sdW1uc1xuICAgICAgICAgICAgLmZpbHRlcigoY29sdW1uOiBLYW5iYW5Db2x1bW4pID0+IGNvbHVtbiAhPSBjdXJyZW50Q29sdW1uKVxuICAgICAgICAgICAgLm1hcCgoY29sdW1uOiBLYW5iYW5Db2x1bW4pID0+IGNvbHVtbi5pZCA/PyAnJyk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldENvbHVtbkhlYWRlclRlbXBsYXRlKCk6IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dldEN1c3RvbVRlbXBsYXRlKCdjb2x1bW4taGVhZGVyJykgPz8gbnVsbDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Q29sdW1uRW1wdHlNZXNzYWdlVGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8YW55PiB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0Q3VzdG9tVGVtcGxhdGUoJ2NvbHVtbi1lbXB0eS1tZXNzYWdlJykgPz8gbnVsbDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0SXRlbUhlYWRlclRlbXBsYXRlKCk6IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dldEN1c3RvbVRlbXBsYXRlKCdpdGVtLWhlYWRlcicpID8/IG51bGw7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEl0ZW1Cb2R5VGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8YW55PiB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0Q3VzdG9tVGVtcGxhdGUoJ2l0ZW0tYm9keScpID8/IG51bGw7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEl0ZW1Gb290ZXJUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRDdXN0b21UZW1wbGF0ZSgnaXRlbS1mb290ZXInKSA/PyBudWxsO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2dldEN1c3RvbVRlbXBsYXRlKHR5cGU6IHN0cmluZyk6IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGVtcGxhdGVzPy5maW5kKCh0ZW1wbGF0ZTogVGVtcGxhdGVEaXJlY3RpdmUpID0+IHRlbXBsYXRlLnR5cGUgPT09IHR5cGUpPy50ZW1wbGF0ZSA/PyBudWxsO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3N1YnNjcmliZUV2ZW50cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5rYW5iYW5FdmVudFNlcnZpY2Uuc2VsZWN0QWxsQ29sdW1uSXRlbXNFdmVudFxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX3Vuc3Vic2NyaWJlJCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChjb2x1bW46IEthbmJhbkNvbHVtbikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbHVtbi5pdGVtc1xuICAgICAgICAgICAgICAgICAgICAuZmlsdGVyKChpdGVtOiBLYW5iYW5JdGVtKSA9PiAhaXRlbS5kaXNhYmxlZCAmJiAhaXRlbS5mcm96ZW4pXG4gICAgICAgICAgICAgICAgICAgIC5mb3JFYWNoKChpdGVtOiBLYW5iYW5JdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXMuYWRkKGl0ZW0pO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkQ29sdW1uID0gY29sdW1uO1xuICAgICAgICAgICAgICAgIHRoaXMuaXRlbXNTZWxlY3RlZC5lbWl0KFsuLi50aGlzLnNlbGVjdGVkSXRlbXNdKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMua2FuYmFuRXZlbnRTZXJ2aWNlLnVuc2VsZWN0QWxsQ29sdW1uSXRlbXNFdmVudC5waXBlKHRha2VVbnRpbCh0aGlzLl91bnN1YnNjcmliZSQpKS5zdWJzY3JpYmUoKF8pID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcy5jbGVhcigpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmthbmJhbkV2ZW50U2VydmljZS5zZWxlY3RJdGVtRXZlbnQucGlwZSh0YWtlVW50aWwodGhpcy5fdW5zdWJzY3JpYmUkKSkuc3Vic2NyaWJlKChpdGVtOiBLYW5iYW5JdGVtKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5zZWxlY3RlZENvbHVtbiAmJiAhdGhpcy5zZWxlY3RlZENvbHVtbi5pdGVtcy5pbmNsdWRlcyhpdGVtKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcy5jbGVhcigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zLmFkZChpdGVtKTtcbiAgICAgICAgICAgIHRoaXMuaXRlbXNTZWxlY3RlZC5lbWl0KFsuLi50aGlzLnNlbGVjdGVkSXRlbXNdKTtcblxuICAgICAgICAgICAgLy8gRmluZGluZyB0aGUgaXRlbSBjb2x1bW4gYW5kIHNldHRpbmcgc2VsZWN0ZWRDb2x1bW4uXG4gICAgICAgICAgICB0aGlzLmRhdGEuY29sdW1ucy5mb3JFYWNoKChjb2x1bW46IEthbmJhbkNvbHVtbikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbHVtbi5pdGVtcy5mb3JFYWNoKChjdXJyZW50SXRlbTogS2FuYmFuSXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoY3VycmVudEl0ZW0gPT09IGl0ZW0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRDb2x1bW4gPSBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmthbmJhbkV2ZW50U2VydmljZS51bnNlbGVjdEl0ZW1FdmVudC5waXBlKHRha2VVbnRpbCh0aGlzLl91bnN1YnNjcmliZSQpKS5zdWJzY3JpYmUoKGl0ZW06IEthbmJhbkl0ZW0pID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcy5kZWxldGUoaXRlbSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgX25vcm1hbGl6ZURhdGEoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGF0YS5jb2x1bW5zLmZvckVhY2goKGNvbHVtbjogS2FuYmFuQ29sdW1uKSA9PiB7XG4gICAgICAgICAgICBjb2x1bW4uaWQgPSBjb2x1bW4uaWQgfHwgYGlkLSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIsIDkpfS0ke0RhdGUubm93KCkudG9TdHJpbmcoMzYpfWA7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3ZhbGlkYXRlSW5wdXRzKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBjb2x1bW5zID0gdGhpcy5kYXRhLmNvbHVtbnM7XG4gICAgICAgIGNvbnN0IGNvbHVtbklkcyA9IHRoaXMuZGF0YS5jb2x1bW5zLm1hcCgoY29sdW1uOiBLYW5iYW5Db2x1bW4pID0+IGNvbHVtbi5pZCk7XG5cbiAgICAgICAgaWYgKG5ldyBTZXQoY29sdW1uSWRzKS5zaXplICE9PSBjb2x1bW5zLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdSZXBlYXRlZCBJRHMgYXJlIG5vdCBhY2NlcHRlZC4nKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX2dldFRlbXBsYXRlcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb2x1bW5IZWFkZXJUZW1wbGF0ZSA9IHRoaXMuZ2V0Q29sdW1uSGVhZGVyVGVtcGxhdGUoKTtcbiAgICAgICAgdGhpcy5jb2x1bW5FbXB0eU1lc3NhZ2VUZW1wbGF0ZSA9IHRoaXMuZ2V0Q29sdW1uRW1wdHlNZXNzYWdlVGVtcGxhdGUoKTtcbiAgICAgICAgdGhpcy5pdGVtSGVhZGVyVGVtcGxhdGUgPSB0aGlzLmdldEl0ZW1IZWFkZXJUZW1wbGF0ZSgpO1xuICAgICAgICB0aGlzLml0ZW1Cb2R5VGVtcGxhdGUgPSB0aGlzLmdldEl0ZW1Cb2R5VGVtcGxhdGUoKTtcbiAgICAgICAgdGhpcy5pdGVtRm9vdGVyVGVtcGxhdGUgPSB0aGlzLmdldEl0ZW1Gb290ZXJUZW1wbGF0ZSgpO1xuICAgIH1cbn1cblxuIiwiPGRpdiBjbGFzcz1cImthbmJhblwiPlxuICAgIDxzLWthbmJhbi1jb2x1bW5cbiAgICAgICAgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBkYXRhLmNvbHVtbnNcIlxuICAgICAgICBbZGF0YV09XCJjb2x1bW5cIlxuICAgICAgICBbc2hvd0NoZWNrYm94XT1cInNob3dDb2x1bW5DaGVja2JveGVzXCJcbiAgICAgICAgW2hlYWRlclRlbXBsYXRlXT1cImNvbHVtbkhlYWRlclRlbXBsYXRlXCJcbiAgICA+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIFtpZF09XCJjb2x1bW4uaWQgKyAnJ1wiXG4gICAgICAgICAgICBzdHlsZT1cImhlaWdodDogMTAwJTsgd2lkdGg6IDEwMCVcIlxuICAgICAgICAgICAgY2RrRHJvcExpc3RcbiAgICAgICAgICAgICNkeW5hbWljTGlzdD1cImNka0Ryb3BMaXN0XCJcbiAgICAgICAgICAgIFtjZGtEcm9wTGlzdERhdGFdPVwiY29sdW1uLml0ZW1zXCJcbiAgICAgICAgICAgIFtjZGtEcm9wTGlzdENvbm5lY3RlZFRvXT1cImdldExpbmtlZENvbHVtbnMoY29sdW1uKVwiXG4gICAgICAgICAgICAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyb3AoJGV2ZW50KVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIEBpZiAoY29sdW1uLml0ZW1zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgIEBpZiAoIWNvbHVtbkVtcHR5TWVzc2FnZVRlbXBsYXRlKSB7XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJlbXB0eS1tZXNzYWdlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInRleHRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZhcyBmYS1jbG9ja1wiPjwvc3Bhbj4mbmJzcDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLmNvdW50X2l0ZW1zX2luX3RhcmdldCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgdHJhbnNsYXRlOiB7IGNvdW50OiBjb2x1bW4uaXRlbXMubGVuZ3RoLCB0YXJnZXQ6IGNvbHVtbi50aXRsZSB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cImNvbHVtbkVtcHR5TWVzc2FnZVRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogY29sdW1uIH1cIlxuICAgICAgICAgICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgY29sdW1uLml0ZW1zXCJcbiAgICAgICAgICAgICAgICBjZGtEcmFnXG4gICAgICAgICAgICAgICAgW2Nka0RyYWdEYXRhXT1cIml0ZW1cIlxuICAgICAgICAgICAgICAgIFtjZGtEcmFnRGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlZCB8fCBpdGVtLmZyb3plblwiXG4gICAgICAgICAgICAgICAgKGNka0RyYWdTdGFydGVkKT1cImRyYWdTdGFydGVkKClcIlxuICAgICAgICAgICAgICAgIChjZGtEcmFnUmVsZWFzZWQpPVwiZHJhZ1JlbGVhc2VkKClcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RJdGVtKCRldmVudCwgaXRlbSwgY29sdW1uKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIml0ZW1UZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqY2RrRHJhZ1ByZXZpZXc+XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoc2VsZWN0ZWRJdGVtcy5zaXplID4gMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPHMta2FuYmFuLWl0ZW0tZHJhZ2dpbmcgW3F1YW50aXR5SXRlbXNdPVwic2VsZWN0ZWRJdGVtcy5zaXplXCI+PC9zLWthbmJhbi1pdGVtLWRyYWdnaW5nPlxuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYXgtdy05NlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpdGVtVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2l0ZW1UZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgPHMta2FuYmFuLWl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgIFtpdGVtXT1cIml0ZW1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkXT1cInNlbGVjdGVkSXRlbXMuaGFzKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzaG93Q2hlY2tib3hdPVwic2hvd0l0ZW1DaGVja2JveGVzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtoZWFkZXJUZW1wbGF0ZV09XCJpdGVtSGVhZGVyVGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2JvZHlUZW1wbGF0ZV09XCJpdGVtQm9keVRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtmb290ZXJUZW1wbGF0ZV09XCJpdGVtRm9vdGVyVGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDwvcy1rYW5iYW4taXRlbT5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgICAgICAgICAgPGRpdiAqY2RrRHJhZ1BsYWNlaG9sZGVyPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGxhY2Vob2xkZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwbGFjZWhvbGRlci1saW5lXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvcy1rYW5iYW4tY29sdW1uPlxuPC9kaXY+XG5cbiJdfQ==
|
|
243
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2FuYmFuLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9rYW5iYW4vc3JjL2xpYi9rYW5iYW4va2FuYmFuLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9rYW5iYW4vc3JjL2xpYi9rYW5iYW4va2FuYmFuLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RixPQUFPLEVBQW9CLFNBQVMsRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUEwQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0osT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFNUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7Ozs7Ozs7O0FBRWhGOzs7Ozs7Ozs7Ozs7O0dBYUc7QUFNSCxNQUFNLE9BQU8sZUFBZTtJQUNQLGtCQUFrQixHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBRWpFLGtGQUFrRjtJQUUzRSxJQUFJLENBQWM7SUFFekIsa0ZBQWtGO0lBRTNFLGtCQUFrQixHQUFHLElBQUksQ0FBQztJQUVqQywwRkFBMEY7SUFFbkYsb0JBQW9CLEdBQUcsSUFBSSxDQUFDO0lBRW5DLG9GQUFvRjtJQUU3RSxVQUFVLEdBQUcsSUFBSSxZQUFZLEVBQXVCLENBQUM7SUFFNUQsbUZBQW1GO0lBRTVFLFdBQVcsR0FBRyxJQUFJLFlBQVksRUFBYyxDQUFDO0lBRXBELDhGQUE4RjtJQUV2RixhQUFhLEdBQUcsSUFBSSxZQUFZLEVBQWdCLENBQUM7SUFFakQsY0FBYyxHQUF3QixJQUFJLENBQUM7SUFDM0MsYUFBYSxHQUFHLElBQUksR0FBRyxFQUFjLENBQUM7SUFDdEMsYUFBYSxHQUFHLElBQUksR0FBRyxFQUFjLENBQUM7SUFFdEMsb0JBQW9CLEdBQTRCLElBQUksQ0FBQztJQUNyRCwwQkFBMEIsR0FBNEIsSUFBSSxDQUFDO0lBQzNELGtCQUFrQixHQUE0QixJQUFJLENBQUM7SUFDbkQsZ0JBQWdCLEdBQTRCLElBQUksQ0FBQztJQUNqRCxrQkFBa0IsR0FBNEIsSUFBSSxDQUFDO0lBRXpDLFdBQVcsR0FBRyxVQUFVLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7SUFDaEcsWUFBWSxHQUFHLElBQUksR0FBRyxFQUFrQixDQUFDO0lBQ2xELGFBQWEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBRVIsU0FBUyxHQUF3QyxJQUFJLENBQUM7SUFFbkYsUUFBUTtRQUNYLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELGtCQUFrQjtRQUNkLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRU0sV0FBVztRQUNkLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRU0sSUFBSSxDQUFDLEtBQWdDO1FBQ3hDLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FDekMsQ0FBQyxNQUFvQixFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxLQUFLLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQ3JFLENBQUM7UUFDRixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFvQixFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxLQUFLLEtBQUssQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFeEcsSUFBSSxDQUFDLGNBQWMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMsMEVBQTBFLENBQUMsQ0FBQztRQUNoRyxDQUFDO1FBRUQsSUFBSSxLQUFLLENBQUMsaUJBQWlCLEtBQUssS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQzlDLGVBQWUsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNuRixDQUFDO2FBQU0sQ0FBQztZQUNKLGlCQUFpQixDQUNiLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQzVCLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUNwQixLQUFLLENBQUMsYUFBYSxFQUNuQixLQUFLLENBQUMsWUFBWSxDQUNyQixDQUFDO1FBQ04sQ0FBQztRQUVELElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBZ0IsRUFBRSxFQUFFO1lBQzVDLE1BQU0sYUFBYSxHQUFHLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2pFLElBQUksYUFBYSxLQUFLLENBQUMsQ0FBQyxJQUFJLElBQUksS0FBSyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNuRCxJQUFJLEtBQUssQ0FBQyxpQkFBaUIsS0FBSyxLQUFLLENBQUMsU0FBUyxFQUFFLENBQUM7b0JBQzlDLGVBQWUsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxhQUFhLEVBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUM3RSxDQUFDO3FCQUFNLENBQUM7b0JBQ0osaUJBQWlCLENBQ2IsS0FBSyxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFDNUIsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQ3BCLGFBQWEsRUFDYixLQUFLLENBQUMsWUFBWSxDQUNyQixDQUFDO2dCQUNOLENBQUM7WUFDTCxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXhDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO1lBQ2pCLEtBQUssRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztZQUM5QixjQUFjO1lBQ2QsWUFBWTtTQUNmLENBQUMsQ0FBQztRQUVILElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDckMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzVDLENBQUM7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFvQixFQUFFLEVBQUU7WUFDL0MsSUFBSSxDQUFDLGtCQUFrQixDQUFDLCtCQUErQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3BFLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRU0sVUFBVSxDQUFDLEtBQWlCLEVBQUUsSUFBZ0IsRUFBRSxNQUFvQjtRQUN2RSxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLE1BQU07WUFBRSxPQUFPO1FBRXpDLElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2hCLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDbEMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3hELENBQUM7aUJBQU0sQ0FBQztnQkFDSixJQUFJLElBQUksQ0FBQyxjQUFjLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztvQkFDbkUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDL0IsQ0FBQztnQkFFRCxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDN0IsSUFBSSxDQUFDLGNBQWMsR0FBRyxNQUFNLENBQUM7Z0JBQzdCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN0RCxDQUFDO1FBQ0wsQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztnQkFBRSxPQUFPO1lBRTVDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDN0IsSUFBSSxDQUFDLGNBQWMsR0FBRyxNQUFNLENBQUM7WUFDN0IsSUFBSSxDQUFDLGtCQUFrQixDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RELENBQUM7SUFDTCxDQUFDO0lBRU0sV0FBVztRQUNkLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBZ0IsRUFBRSxFQUFFO1lBQzVDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLFlBQVk7UUFDZixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxhQUEyQjtRQUMvQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTzthQUNuQixNQUFNLENBQUMsQ0FBQyxNQUFvQixFQUFFLEVBQUUsQ0FBQyxNQUFNLElBQUksYUFBYSxDQUFDO2FBQ3pELEdBQUcsQ0FBQyxDQUFDLE1BQW9CLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVNLHVCQUF1QjtRQUMxQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxlQUFlLENBQUMsSUFBSSxJQUFJLENBQUM7SUFDNUQsQ0FBQztJQUVNLDZCQUE2QjtRQUNoQyxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLElBQUksQ0FBQztJQUNuRSxDQUFDO0lBRU0scUJBQXFCO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxJQUFJLElBQUksQ0FBQztJQUMxRCxDQUFDO0lBRU0sbUJBQW1CO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxJQUFJLElBQUksQ0FBQztJQUN4RCxDQUFDO0lBRU0scUJBQXFCO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxJQUFJLElBQUksQ0FBQztJQUMxRCxDQUFDO0lBRU8sa0JBQWtCLENBQUMsSUFBWTtRQUNuQyxPQUFPLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUMsUUFBMkIsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsRUFBRSxRQUFRLElBQUksSUFBSSxDQUFDO0lBQzNHLENBQUM7SUFFTyxnQkFBZ0I7UUFDcEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLHlCQUF5QjthQUM1QyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQzthQUNuQyxTQUFTLENBQUMsQ0FBQyxNQUFvQixFQUFFLEVBQUU7WUFDaEMsTUFBTSxDQUFDLEtBQUs7aUJBQ1AsTUFBTSxDQUFDLENBQUMsSUFBZ0IsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztpQkFDNUQsT0FBTyxDQUFDLENBQUMsSUFBZ0IsRUFBRSxFQUFFO2dCQUMxQixJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNqQyxDQUFDLENBQUMsQ0FBQztZQUNQLElBQUksQ0FBQyxjQUFjLEdBQUcsTUFBTSxDQUFDO1lBQzdCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztRQUNyRCxDQUFDLENBQUMsQ0FBQztRQUVQLElBQUksQ0FBQyxrQkFBa0IsQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3BHLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDL0IsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsa0JBQWtCLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBZ0IsRUFBRSxFQUFFO1lBQ3ZHLElBQUksSUFBSSxDQUFDLGNBQWMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUNuRSxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQy9CLENBQUM7WUFDRCxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM3QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7WUFFakQsc0RBQXNEO1lBQ3RELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQW9CLEVBQUUsRUFBRTtnQkFDL0MsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxXQUF1QixFQUFFLEVBQUU7b0JBQzdDLElBQUksV0FBVyxLQUFLLElBQUksRUFBRSxDQUFDO3dCQUN2QixJQUFJLENBQUMsY0FBYyxHQUFHLE1BQU0sQ0FBQzt3QkFDN0IsT0FBTztvQkFDWCxDQUFDO2dCQUNMLENBQUMsQ0FBQyxDQUFDO1lBQ1AsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQWdCLEVBQUUsRUFBRTtZQUN6RyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxjQUFjO1FBQ2xCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQW9CLEVBQUUsRUFBRTtZQUMvQyxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsRUFBRSxJQUFJLE9BQU8sSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDcEYsdUNBQXVDO1lBQ3ZDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLENBQUM7Z0JBQ2IsTUFBTSxDQUFDLEVBQUUsR0FBRyxVQUFVLENBQUM7WUFDM0IsQ0FBQztZQUNELHFDQUFxQztZQUNyQyxNQUFNLFFBQVEsR0FBRyxHQUFHLElBQUksQ0FBQyxXQUFXLElBQUksVUFBVSxFQUFFLENBQUM7WUFDckQsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ2hELENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLGVBQWU7UUFDbkIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDbEMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBb0IsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRTdFLElBQUksSUFBSSxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxLQUFLLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUM3QyxNQUFNLElBQUksS0FBSyxDQUFDLGdDQUFnQyxDQUFDLENBQUM7UUFDdEQsQ0FBQztJQUNMLENBQUM7SUFFTyxhQUFhO1FBQ2pCLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztRQUMzRCxJQUFJLENBQUMsMEJBQTBCLEdBQUcsSUFBSSxDQUFDLDZCQUE2QixFQUFFLENBQUM7UUFDdkUsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQ3ZELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUNuRCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDM0QsQ0FBQzt3R0F0UFEsZUFBZTs0RkFBZixlQUFlLCtSQXlDUCxpQkFBaUIsNkJDdEV0QyxnbUdBNkVBOzs0RkRoRGEsZUFBZTtrQkFMM0IsU0FBUzsrQkFDSSxVQUFVOzhCQVNiLElBQUk7c0JBRFYsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBS2xCLGtCQUFrQjtzQkFEeEIsS0FBSztnQkFLQyxvQkFBb0I7c0JBRDFCLEtBQUs7Z0JBS0MsVUFBVTtzQkFEaEIsTUFBTTtnQkFLQSxXQUFXO3NCQURqQixNQUFNO2dCQUtBLGFBQWE7c0JBRG5CLE1BQU07Z0JBaUI2QixTQUFTO3NCQUE1QyxlQUFlO3VCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENka0RyYWdEcm9wLCBtb3ZlSXRlbUluQXJyYXksIHRyYW5zZmVyQXJyYXlJdGVtIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQgeyBBZnRlckNvbnRlbnRJbml0LCBDb21wb25lbnQsIENvbnRlbnRDaGlsZHJlbiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgUXVlcnlMaXN0LCBUZW1wbGF0ZVJlZiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgS2FuYmFuRXZlbnRTZXJ2aWNlIH0gZnJvbSAnLi9rYW5iYW4tZXZlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBLYW5iYW5Db2x1bW4sIEthbmJhbkRhdGEsIEthbmJhbkl0ZW0sIEthbmJhbkl0ZW1Nb3ZlZERhdGEgfSBmcm9tICcuL3R5cGVzL2luZGV4JztcbmltcG9ydCB7IFRlbXBsYXRlRGlyZWN0aXZlIH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy90ZW1wbGF0ZSc7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIENvbXBvbmVudGUgZGUgcXVhZHJvIEthbmJhbiBjb20gc3Vwb3J0ZSBhIGFycmFzdGFyIGUgc29sdGFyIGNvbHVuYXMgZSBpdGVucy5cbiAqIFBlcm1pdGUgc2VsZcOnw6NvIHZpYSBjaGVja2JveGVzLCB0ZW1wbGF0ZXMgY3VzdG9taXrDoXZlaXMgcGFyYSBjYWJlw6dhbGhvLCBjb3JwbyBlIHJvZGFww6lcbiAqIGRvcyBjYXJkcywgYWzDqW0gZGUgZW1pdGlyIGV2ZW50b3MgZGUgbW92acOnw6NvIGUgc2VsZcOnw6NvLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGBodG1sXG4gKiA8cy1rYW5iYW5cbiAqICAgW2RhdGFdPVwiZGFkb3NLYW5iYW5cIlxuICogICAoaXRlbXNNb3ZlZCk9XCJvbkl0ZW1Nb3ZpZG8oJGV2ZW50KVwiIC8+XG4gKiBgYGBcbiAqXG4gKiBAY2F0ZWdvcnkgRGF0YVxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3Mta2FuYmFuJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4va2FuYmFuLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9rYW5iYW4uY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgS2FuYmFuQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3kge1xuICAgIHByaXZhdGUgcmVhZG9ubHkga2FuYmFuRXZlbnRTZXJ2aWNlID0gaW5qZWN0KEthbmJhbkV2ZW50U2VydmljZSk7XG5cbiAgICAvKiogQGRlc2NyaXB0aW9uIERhZG9zIGRvIHF1YWRybyBLYW5iYW4gY29tIGNvbHVuYXMgZSBpdGVucy4gQ2FtcG8gb2JyaWdhdMOzcmlvLiAqL1xuICAgIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXG4gICAgcHVibGljIGRhdGEhOiBLYW5iYW5EYXRhO1xuXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBFeGliZSBjaGVja2JveGVzIGRlIHNlbGXDp8OjbyBlbSBjYWRhIGl0ZW0gS2FuYmFuLiBAZGVmYXVsdCB0cnVlICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2hvd0l0ZW1DaGVja2JveGVzID0gdHJ1ZTtcblxuICAgIC8qKiBAZGVzY3JpcHRpb24gRXhpYmUgY2hlY2tib3hlcyBkZSBzZWxlw6fDo28gbm8gY2FiZcOnYWxobyBkZSBjYWRhIGNvbHVuYS4gQGRlZmF1bHQgdHJ1ZSAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNob3dDb2x1bW5DaGVja2JveGVzID0gdHJ1ZTtcblxuICAgIC8qKiBAZGVzY3JpcHRpb24gRW1pdGlkbyBxdWFuZG8gbyB1c3XDoXJpbyBtb3ZlIHVtIGl0ZW0gZW50cmUgY29sdW5hcyBvdSBwb3Npw6fDtWVzLiAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBpdGVtc01vdmVkID0gbmV3IEV2ZW50RW1pdHRlcjxLYW5iYW5JdGVtTW92ZWREYXRhPigpO1xuXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBFbWl0aWRvIHF1YW5kbyBvcyBkYWRvcyBkbyBxdWFkcm8gc8OjbyBhdHVhbGl6YWRvcyBhcMOzcyBtb3Zpw6fDo28uICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGRhdGFVcGRhdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxLYW5iYW5EYXRhPigpO1xuXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBFbWl0aWRvIHF1YW5kbyBhIHNlbGXDp8OjbyBkZSBpdGVucyBtdWRhLCBjb20gYSBsaXN0YSBkZSBpdGVucyBzZWxlY2lvbmFkb3MuICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGl0ZW1zU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEthbmJhbkl0ZW1bXT4oKTtcblxuICAgIHB1YmxpYyBzZWxlY3RlZENvbHVtbjogS2FuYmFuQ29sdW1uIHwgbnVsbCA9IG51bGw7XG4gICAgcHVibGljIHNlbGVjdGVkSXRlbXMgPSBuZXcgU2V0PEthbmJhbkl0ZW0+KCk7XG4gICAgcHVibGljIGRyYWdnaW5nSXRlbXMgPSBuZXcgU2V0PEthbmJhbkl0ZW0+KCk7XG5cbiAgICBwdWJsaWMgY29sdW1uSGVhZGVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsID0gbnVsbDtcbiAgICBwdWJsaWMgY29sdW1uRW1wdHlNZXNzYWdlVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsID0gbnVsbDtcbiAgICBwdWJsaWMgaXRlbUhlYWRlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbCA9IG51bGw7XG4gICAgcHVibGljIGl0ZW1Cb2R5VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsID0gbnVsbDtcbiAgICBwdWJsaWMgaXRlbUZvb3RlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbCA9IG51bGw7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9pbnN0YW5jZUlkID0gYGthbmJhbi0ke01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZygyLCA5KX0tJHtEYXRlLm5vdygpLnRvU3RyaW5nKDM2KX1gO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2NvbHVtbklkTWFwID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oKTtcbiAgICBwcml2YXRlIF91bnN1YnNjcmliZSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihUZW1wbGF0ZURpcmVjdGl2ZSkgdGVtcGxhdGVzOiBRdWVyeUxpc3Q8VGVtcGxhdGVEaXJlY3RpdmU+IHwgbnVsbCA9IG51bGw7XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3N1YnNjcmliZUV2ZW50cygpO1xuICAgICAgICB0aGlzLl9ub3JtYWxpemVEYXRhKCk7XG4gICAgICAgIHRoaXMuX3ZhbGlkYXRlSW5wdXRzKCk7XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgICAgICB0aGlzLl9nZXRUZW1wbGF0ZXMoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3Vuc3Vic2NyaWJlJC5uZXh0KCk7XG4gICAgICAgIHRoaXMuX3Vuc3Vic2NyaWJlJC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBkcm9wKGV2ZW50OiBDZGtEcmFnRHJvcDxLYW5iYW5JdGVtW10+KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHByZXZpb3VzQ29sdW1uID0gdGhpcy5kYXRhLmNvbHVtbnMuZmluZChcbiAgICAgICAgICAgIChjb2x1bW46IEthbmJhbkNvbHVtbikgPT4gY29sdW1uLmlkID09PSBldmVudC5wcmV2aW91c0NvbnRhaW5lci5pZCxcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgdGFyZ2V0Q29sdW1uID0gdGhpcy5kYXRhLmNvbHVtbnMuZmluZCgoY29sdW1uOiBLYW5iYW5Db2x1bW4pID0+IGNvbHVtbi5pZCA9PT0gZXZlbnQuY29udGFpbmVyLmlkKTtcblxuICAgICAgICBpZiAoIXByZXZpb3VzQ29sdW1uIHx8ICF0YXJnZXRDb2x1bW4pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVW5hYmxlIHRvIG9idGFpbiBpbmZvcm1hdGlvbiBhYm91dCBjb2x1bW5zIHdoZW4gcGVyZm9ybWluZyBkcmFnIGFuZCBkcm9wJyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZXZlbnQucHJldmlvdXNDb250YWluZXIgPT09IGV2ZW50LmNvbnRhaW5lcikge1xuICAgICAgICAgICAgbW92ZUl0ZW1JbkFycmF5KGV2ZW50LmNvbnRhaW5lci5kYXRhLCBldmVudC5wcmV2aW91c0luZGV4LCBldmVudC5jdXJyZW50SW5kZXgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdHJhbnNmZXJBcnJheUl0ZW0oXG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmlvdXNDb250YWluZXIuZGF0YSxcbiAgICAgICAgICAgICAgICBldmVudC5jb250YWluZXIuZGF0YSxcbiAgICAgICAgICAgICAgICBldmVudC5wcmV2aW91c0luZGV4LFxuICAgICAgICAgICAgICAgIGV2ZW50LmN1cnJlbnRJbmRleCxcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXMuZm9yRWFjaCgoaXRlbTogS2FuYmFuSXRlbSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcHJldmlvdXNJbmRleCA9IGV2ZW50LnByZXZpb3VzQ29udGFpbmVyLmRhdGEuaW5kZXhPZihpdGVtKTtcbiAgICAgICAgICAgIGlmIChwcmV2aW91c0luZGV4ICE9PSAtMSAmJiBpdGVtICE9PSBldmVudC5pdGVtLmRhdGEpIHtcbiAgICAgICAgICAgICAgICBpZiAoZXZlbnQucHJldmlvdXNDb250YWluZXIgPT09IGV2ZW50LmNvbnRhaW5lcikge1xuICAgICAgICAgICAgICAgICAgICBtb3ZlSXRlbUluQXJyYXkoZXZlbnQuY29udGFpbmVyLmRhdGEsIHByZXZpb3VzSW5kZXgsIGV2ZW50LmN1cnJlbnRJbmRleCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmZXJBcnJheUl0ZW0oXG4gICAgICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2aW91c0NvbnRhaW5lci5kYXRhLFxuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQuY29udGFpbmVyLmRhdGEsXG4gICAgICAgICAgICAgICAgICAgICAgICBwcmV2aW91c0luZGV4LFxuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQuY3VycmVudEluZGV4LFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zLmFkZChldmVudC5pdGVtLmRhdGEpO1xuXG4gICAgICAgIHRoaXMuaXRlbXNNb3ZlZC5lbWl0KHtcbiAgICAgICAgICAgIGl0ZW1zOiBbLi4udGhpcy5zZWxlY3RlZEl0ZW1zXSxcbiAgICAgICAgICAgIHByZXZpb3VzQ29sdW1uLFxuICAgICAgICAgICAgdGFyZ2V0Q29sdW1uLFxuICAgICAgICB9KTtcblxuICAgICAgICBpZiAodGhpcy5kYXRhVXBkYXRlZC5vYnNlcnZlcnM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5kYXRhVXBkYXRlZC5lbWl0KHsgLi4udGhpcy5kYXRhIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5kYXRhLmNvbHVtbnMuZm9yRWFjaCgoY29sdW1uOiBLYW5iYW5Db2x1bW4pID0+IHtcbiAgICAgICAgICAgIHRoaXMua2FuYmFuRXZlbnRTZXJ2aWNlLmVtaXRVbnNlbGVjdEFsbENvbHVtbkl0ZW1zRXZlbnQoY29sdW1uKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcy5jbGVhcigpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZWxlY3RJdGVtKGV2ZW50OiBNb3VzZUV2ZW50LCBpdGVtOiBLYW5iYW5JdGVtLCBjb2x1bW46IEthbmJhbkNvbHVtbik6IHZvaWQge1xuICAgICAgICBpZiAoaXRlbS5kaXNhYmxlZCB8fCBpdGVtLmZyb3plbikgcmV0dXJuO1xuXG4gICAgICAgIGlmIChldmVudC5jdHJsS2V5KSB7XG4gICAgICAgICAgICBpZiAodGhpcy5zZWxlY3RlZEl0ZW1zLmRlbGV0ZShpdGVtKSkge1xuICAgICAgICAgICAgICAgIHRoaXMua2FuYmFuRXZlbnRTZXJ2aWNlLmVtaXRVbnNlbGVjdEl0ZW1FdmVudChpdGVtKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRDb2x1bW4gJiYgIXRoaXMuc2VsZWN0ZWRDb2x1bW4uaXRlbXMuaW5jbHVkZXMoaXRlbSkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zLmNsZWFyKCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zLmFkZChpdGVtKTtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkQ29sdW1uID0gY29sdW1uO1xuICAgICAgICAgICAgICAgIHRoaXMua2FuYmFuRXZlbnRTZXJ2aWNlLmVtaXRTZWxlY3RJdGVtRXZlbnQoaXRlbSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAodGhpcy5zZWxlY3RlZEl0ZW1zLmRlbGV0ZShpdGVtKSkgcmV0dXJuO1xuXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXMuY2xlYXIoKTtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcy5hZGQoaXRlbSk7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkQ29sdW1uID0gY29sdW1uO1xuICAgICAgICAgICAgdGhpcy5rYW5iYW5FdmVudFNlcnZpY2UuZW1pdFNlbGVjdEl0ZW1FdmVudChpdGVtKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBkcmFnU3RhcnRlZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zLmZvckVhY2goKGl0ZW06IEthbmJhbkl0ZW0pID0+IHtcbiAgICAgICAgICAgIHRoaXMuZHJhZ2dpbmdJdGVtcy5hZGQoaXRlbSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBkcmFnUmVsZWFzZWQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZHJhZ2dpbmdJdGVtcy5jbGVhcigpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRMaW5rZWRDb2x1bW5zKGN1cnJlbnRDb2x1bW46IEthbmJhbkNvbHVtbik6IHN0cmluZ1tdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YS5jb2x1bW5zXG4gICAgICAgICAgICAuZmlsdGVyKChjb2x1bW46IEthbmJhbkNvbHVtbikgPT4gY29sdW1uICE9IGN1cnJlbnRDb2x1bW4pXG4gICAgICAgICAgICAubWFwKChjb2x1bW46IEthbmJhbkNvbHVtbikgPT4gY29sdW1uLmlkID8/ICcnKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Q29sdW1uSGVhZGVyVGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8YW55PiB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0Q3VzdG9tVGVtcGxhdGUoJ2NvbHVtbi1oZWFkZXInKSA/PyBudWxsO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRDb2x1bW5FbXB0eU1lc3NhZ2VUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRDdXN0b21UZW1wbGF0ZSgnY29sdW1uLWVtcHR5LW1lc3NhZ2UnKSA/PyBudWxsO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRJdGVtSGVhZGVyVGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8YW55PiB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0Q3VzdG9tVGVtcGxhdGUoJ2l0ZW0taGVhZGVyJykgPz8gbnVsbDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0SXRlbUJvZHlUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRDdXN0b21UZW1wbGF0ZSgnaXRlbS1ib2R5JykgPz8gbnVsbDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0SXRlbUZvb3RlclRlbXBsYXRlKCk6IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dldEN1c3RvbVRlbXBsYXRlKCdpdGVtLWZvb3RlcicpID8/IG51bGw7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZ2V0Q3VzdG9tVGVtcGxhdGUodHlwZTogc3RyaW5nKTogVGVtcGxhdGVSZWY8YW55PiB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy50ZW1wbGF0ZXM/LmZpbmQoKHRlbXBsYXRlOiBUZW1wbGF0ZURpcmVjdGl2ZSkgPT4gdGVtcGxhdGUudHlwZSA9PT0gdHlwZSk/LnRlbXBsYXRlID8/IG51bGw7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfc3Vic2NyaWJlRXZlbnRzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmthbmJhbkV2ZW50U2VydmljZS5zZWxlY3RBbGxDb2x1bW5JdGVtc0V2ZW50XG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fdW5zdWJzY3JpYmUkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGNvbHVtbjogS2FuYmFuQ29sdW1uKSA9PiB7XG4gICAgICAgICAgICAgICAgY29sdW1uLml0ZW1zXG4gICAgICAgICAgICAgICAgICAgIC5maWx0ZXIoKGl0ZW06IEthbmJhbkl0ZW0pID0+ICFpdGVtLmRpc2FibGVkICYmICFpdGVtLmZyb3plbilcbiAgICAgICAgICAgICAgICAgICAgLmZvckVhY2goKGl0ZW06IEthbmJhbkl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcy5hZGQoaXRlbSk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRDb2x1bW4gPSBjb2x1bW47XG4gICAgICAgICAgICAgICAgdGhpcy5pdGVtc1NlbGVjdGVkLmVtaXQoWy4uLnRoaXMuc2VsZWN0ZWRJdGVtc10pO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5rYW5iYW5FdmVudFNlcnZpY2UudW5zZWxlY3RBbGxDb2x1bW5JdGVtc0V2ZW50LnBpcGUodGFrZVVudGlsKHRoaXMuX3Vuc3Vic2NyaWJlJCkpLnN1YnNjcmliZSgoXykgPT4ge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zLmNsZWFyKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMua2FuYmFuRXZlbnRTZXJ2aWNlLnNlbGVjdEl0ZW1FdmVudC5waXBlKHRha2VVbnRpbCh0aGlzLl91bnN1YnNjcmliZSQpKS5zdWJzY3JpYmUoKGl0ZW06IEthbmJhbkl0ZW0pID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLnNlbGVjdGVkQ29sdW1uICYmICF0aGlzLnNlbGVjdGVkQ29sdW1uLml0ZW1zLmluY2x1ZGVzKGl0ZW0pKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zLmNsZWFyKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXMuYWRkKGl0ZW0pO1xuICAgICAgICAgICAgdGhpcy5pdGVtc1NlbGVjdGVkLmVtaXQoWy4uLnRoaXMuc2VsZWN0ZWRJdGVtc10pO1xuXG4gICAgICAgICAgICAvLyBGaW5kaW5nIHRoZSBpdGVtIGNvbHVtbiBhbmQgc2V0dGluZyBzZWxlY3RlZENvbHVtbi5cbiAgICAgICAgICAgIHRoaXMuZGF0YS5jb2x1bW5zLmZvckVhY2goKGNvbHVtbjogS2FuYmFuQ29sdW1uKSA9PiB7XG4gICAgICAgICAgICAgICAgY29sdW1uLml0ZW1zLmZvckVhY2goKGN1cnJlbnRJdGVtOiBLYW5iYW5JdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChjdXJyZW50SXRlbSA9PT0gaXRlbSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZENvbHVtbiA9IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMua2FuYmFuRXZlbnRTZXJ2aWNlLnVuc2VsZWN0SXRlbUV2ZW50LnBpcGUodGFrZVVudGlsKHRoaXMuX3Vuc3Vic2NyaWJlJCkpLnN1YnNjcmliZSgoaXRlbTogS2FuYmFuSXRlbSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zLmRlbGV0ZShpdGVtKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfbm9ybWFsaXplRGF0YSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kYXRhLmNvbHVtbnMuZm9yRWFjaCgoY29sdW1uOiBLYW5iYW5Db2x1bW4pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG9yaWdpbmFsSWQgPSBjb2x1bW4uaWQgfHwgYGNvbC0ke01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZygyLCA5KX1gO1xuICAgICAgICAgICAgLy8gTsOjbyBtdXRhciBjb2x1bW4uaWQsIG1hbnRlciBvcmlnaW5hbFxuICAgICAgICAgICAgaWYgKCFjb2x1bW4uaWQpIHtcbiAgICAgICAgICAgICAgICBjb2x1bW4uaWQgPSBvcmlnaW5hbElkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gQ3JpYXIgSUQgw7puaWNvIHBhcmEgZXN0YSBpbnN0w6JuY2lhXG4gICAgICAgICAgICBjb25zdCB1bmlxdWVJZCA9IGAke3RoaXMuX2luc3RhbmNlSWR9LSR7b3JpZ2luYWxJZH1gO1xuICAgICAgICAgICAgdGhpcy5fY29sdW1uSWRNYXAuc2V0KG9yaWdpbmFsSWQsIHVuaXF1ZUlkKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfdmFsaWRhdGVJbnB1dHMoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNvbHVtbnMgPSB0aGlzLmRhdGEuY29sdW1ucztcbiAgICAgICAgY29uc3QgY29sdW1uSWRzID0gdGhpcy5kYXRhLmNvbHVtbnMubWFwKChjb2x1bW46IEthbmJhbkNvbHVtbikgPT4gY29sdW1uLmlkKTtcblxuICAgICAgICBpZiAobmV3IFNldChjb2x1bW5JZHMpLnNpemUgIT09IGNvbHVtbnMubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1JlcGVhdGVkIElEcyBhcmUgbm90IGFjY2VwdGVkLicpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZ2V0VGVtcGxhdGVzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbHVtbkhlYWRlclRlbXBsYXRlID0gdGhpcy5nZXRDb2x1bW5IZWFkZXJUZW1wbGF0ZSgpO1xuICAgICAgICB0aGlzLmNvbHVtbkVtcHR5TWVzc2FnZVRlbXBsYXRlID0gdGhpcy5nZXRDb2x1bW5FbXB0eU1lc3NhZ2VUZW1wbGF0ZSgpO1xuICAgICAgICB0aGlzLml0ZW1IZWFkZXJUZW1wbGF0ZSA9IHRoaXMuZ2V0SXRlbUhlYWRlclRlbXBsYXRlKCk7XG4gICAgICAgIHRoaXMuaXRlbUJvZHlUZW1wbGF0ZSA9IHRoaXMuZ2V0SXRlbUJvZHlUZW1wbGF0ZSgpO1xuICAgICAgICB0aGlzLml0ZW1Gb290ZXJUZW1wbGF0ZSA9IHRoaXMuZ2V0SXRlbUZvb3RlclRlbXBsYXRlKCk7XG4gICAgfVxufVxuXG4iLCI8ZGl2IGNsYXNzPVwia2FuYmFuXCI+XG4gICAgPHMta2FuYmFuLWNvbHVtblxuICAgICAgICAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGRhdGEuY29sdW1uc1wiXG4gICAgICAgIFtkYXRhXT1cImNvbHVtblwiXG4gICAgICAgIFtzaG93Q2hlY2tib3hdPVwic2hvd0NvbHVtbkNoZWNrYm94ZXNcIlxuICAgICAgICBbaGVhZGVyVGVtcGxhdGVdPVwiY29sdW1uSGVhZGVyVGVtcGxhdGVcIlxuICAgID5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgW2lkXT1cImNvbHVtbi5pZCArICcnXCJcbiAgICAgICAgICAgIHN0eWxlPVwiaGVpZ2h0OiAxMDAlOyB3aWR0aDogMTAwJVwiXG4gICAgICAgICAgICBjZGtEcm9wTGlzdFxuICAgICAgICAgICAgI2R5bmFtaWNMaXN0PVwiY2RrRHJvcExpc3RcIlxuICAgICAgICAgICAgW2Nka0Ryb3BMaXN0RGF0YV09XCJjb2x1bW4uaXRlbXNcIlxuICAgICAgICAgICAgW2Nka0Ryb3BMaXN0Q29ubmVjdGVkVG9dPVwiZ2V0TGlua2VkQ29sdW1ucyhjb2x1bW4pXCJcbiAgICAgICAgICAgIChjZGtEcm9wTGlzdERyb3BwZWQpPVwiZHJvcCgkZXZlbnQpXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgQGlmIChjb2x1bW4uaXRlbXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgQGlmICghY29sdW1uRW1wdHlNZXNzYWdlVGVtcGxhdGUpIHtcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImVtcHR5LW1lc3NhZ2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwidGV4dFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmFzIGZhLWNsb2NrXCI+PC9zcGFuPiZuYnNwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMuY291bnRfaXRlbXNfaW5fdGFyZ2V0J1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCB0cmFuc2xhdGU6IHsgY291bnQ6IGNvbHVtbi5pdGVtcy5sZW5ndGgsIHRhcmdldDogY29sdW1uLnRpdGxlIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29sdW1uRW1wdHlNZXNzYWdlVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBjb2x1bW4gfVwiXG4gICAgICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBjb2x1bW4uaXRlbXNcIlxuICAgICAgICAgICAgICAgIGNka0RyYWdcbiAgICAgICAgICAgICAgICBbY2RrRHJhZ0RhdGFdPVwiaXRlbVwiXG4gICAgICAgICAgICAgICAgW2Nka0RyYWdEaXNhYmxlZF09XCJpdGVtLmRpc2FibGVkIHx8IGl0ZW0uZnJvemVuXCJcbiAgICAgICAgICAgICAgICAoY2RrRHJhZ1N0YXJ0ZWQpPVwiZHJhZ1N0YXJ0ZWQoKVwiXG4gICAgICAgICAgICAgICAgKGNka0RyYWdSZWxlYXNlZCk9XCJkcmFnUmVsZWFzZWQoKVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdEl0ZW0oJGV2ZW50LCBpdGVtLCBjb2x1bW4pXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaXRlbVRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpjZGtEcmFnUHJldmlldz5cbiAgICAgICAgICAgICAgICAgICAgQGlmIChzZWxlY3RlZEl0ZW1zLnNpemUgPiAxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8cy1rYW5iYW4taXRlbS1kcmFnZ2luZyBbcXVhbnRpdHlJdGVtc109XCJzZWxlY3RlZEl0ZW1zLnNpemVcIj48L3Mta2FuYmFuLWl0ZW0tZHJhZ2dpbmc+XG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1heC13LTk2XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIml0ZW1UZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjaXRlbVRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICA8cy1rYW5iYW4taXRlbVxuICAgICAgICAgICAgICAgICAgICAgICAgW2l0ZW1dPVwiaXRlbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWRdPVwic2VsZWN0ZWRJdGVtcy5oYXMoaXRlbSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3Nob3dDaGVja2JveF09XCJzaG93SXRlbUNoZWNrYm94ZXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2hlYWRlclRlbXBsYXRlXT1cIml0ZW1IZWFkZXJUZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYm9keVRlbXBsYXRlXT1cIml0ZW1Cb2R5VGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2Zvb3RlclRlbXBsYXRlXT1cIml0ZW1Gb290ZXJUZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPC9zLWthbmJhbi1pdGVtPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgICAgICAgICAgICA8ZGl2ICpjZGtEcmFnUGxhY2Vob2xkZXI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwbGFjZWhvbGRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBsYWNlaG9sZGVyLWxpbmVcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9zLWthbmJhbi1jb2x1bW4+XG48L2Rpdj5cblxuIl19
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ChangeDetectorRef,
|
|
2
|
+
// NOSONAR - 'ComponentFactoryResolver' is deprecated.
|
|
3
|
+
ComponentFactoryResolver, Directive, Input, TemplateRef, ViewContainerRef, inject } from '@angular/core';
|
|
2
4
|
import { LoadingStateComponent } from './loading-state.component';
|
|
3
5
|
import { LoadingStateIndicators } from './components/loading-state-indicators';
|
|
4
6
|
import * as i0 from "@angular/core";
|
|
@@ -19,10 +21,10 @@ import * as i0 from "@angular/core";
|
|
|
19
21
|
* @category Feedback
|
|
20
22
|
*/
|
|
21
23
|
export class LoadingStateDirective {
|
|
22
|
-
target;
|
|
23
|
-
template;
|
|
24
|
-
componentFactoryResolver;
|
|
25
|
-
cdr;
|
|
24
|
+
target = inject(ViewContainerRef);
|
|
25
|
+
template = inject(TemplateRef);
|
|
26
|
+
componentFactoryResolver = inject(ComponentFactoryResolver);
|
|
27
|
+
cdr = inject(ChangeDetectorRef);
|
|
26
28
|
/**
|
|
27
29
|
* @description Controla o estado de carregamento da diretiva.
|
|
28
30
|
* Aceita:
|
|
@@ -47,14 +49,6 @@ export class LoadingStateDirective {
|
|
|
47
49
|
_loading = false;
|
|
48
50
|
indicator = LoadingStateIndicators.Dots;
|
|
49
51
|
loaderComponent = null;
|
|
50
|
-
constructor(target, template,
|
|
51
|
-
// NOSONAR - 'ComponentFactoryResolver' is deprecated.
|
|
52
|
-
componentFactoryResolver, cdr) {
|
|
53
|
-
this.target = target;
|
|
54
|
-
this.template = template;
|
|
55
|
-
this.componentFactoryResolver = componentFactoryResolver;
|
|
56
|
-
this.cdr = cdr;
|
|
57
|
-
}
|
|
58
52
|
ngAfterViewInit() {
|
|
59
53
|
this.createComponent();
|
|
60
54
|
}
|
|
@@ -71,7 +65,7 @@ export class LoadingStateDirective {
|
|
|
71
65
|
this.loaderComponent.destroy();
|
|
72
66
|
}
|
|
73
67
|
}
|
|
74
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LoadingStateDirective, deps: [
|
|
68
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LoadingStateDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
75
69
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: LoadingStateDirective, selector: "[sLoadingState]", inputs: { sLoadingState: "sLoadingState" }, ngImport: i0 });
|
|
76
70
|
}
|
|
77
71
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LoadingStateDirective, decorators: [{
|
|
@@ -79,7 +73,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
79
73
|
args: [{
|
|
80
74
|
selector: '[sLoadingState]',
|
|
81
75
|
}]
|
|
82
|
-
}],
|
|
76
|
+
}], propDecorators: { sLoadingState: [{
|
|
83
77
|
type: Input
|
|
84
78
|
}] } });
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy1zdGF0ZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvbG9hZGluZy1zdGF0ZS9zcmMvbGliL2xvYWRpbmctc3RhdGUvbG9hZGluZy1zdGF0ZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixpQkFBaUI7QUFDekMsc0RBQXNEO0FBQ3RELHdCQUF3QixFQUFnQixTQUFTLEVBQUUsS0FBSyxFQUFhLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbEksT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7O0FBRS9FOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUlILE1BQU0sT0FBTyxxQkFBcUI7SUFDYixNQUFNLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDbEMsUUFBUSxHQUFHLE1BQU0sQ0FBbUIsV0FBVyxDQUFDLENBQUM7SUFDakQsd0JBQXdCLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQUM7SUFDNUQsR0FBRyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBRWpEOzs7Ozs7T0FNRztJQUNILElBQ1csYUFBYSxDQUFDLEtBQXlFO1FBQzlGLElBQUksT0FBTyxLQUFLLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7WUFDdEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxzQkFBc0IsQ0FBQyxJQUFJLENBQUM7UUFDakQsQ0FBQzthQUFNLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDbkMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1lBQzlCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLFNBQVMsSUFBSSxzQkFBc0IsQ0FBQyxJQUFJLENBQUM7UUFDcEUsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQ3RELElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQzdELENBQUM7SUFDTCxDQUFDO0lBRU8sUUFBUSxHQUFHLEtBQUssQ0FBQztJQUNqQixTQUFTLEdBQUcsc0JBQXNCLENBQUMsSUFBSSxDQUFDO0lBQ3hDLGVBQWUsR0FBK0MsSUFBSSxDQUFDO0lBRXBFLGVBQWU7UUFDbEIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFTyxlQUFlO1FBQ25CLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyx1QkFBdUIsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQzdGLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDNUQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDdkQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDdEQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDekQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRU0sV0FBVztRQUNkLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDbkMsQ0FBQztJQUNMLENBQUM7d0dBbERRLHFCQUFxQjs0RkFBckIscUJBQXFCOzs0RkFBckIscUJBQXFCO2tCQUhqQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxpQkFBaUI7aUJBQzlCOzhCQWVjLGFBQWE7c0JBRHZCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3RvclJlZiwgXG4vLyBOT1NPTkFSIC0gJ0NvbXBvbmVudEZhY3RvcnlSZXNvbHZlcicgaXMgZGVwcmVjYXRlZC5cbkNvbXBvbmVudEZhY3RvcnlSZXNvbHZlciwgQ29tcG9uZW50UmVmLCBEaXJlY3RpdmUsIElucHV0LCBPbkRlc3Ryb3ksIFRlbXBsYXRlUmVmLCBWaWV3Q29udGFpbmVyUmVmLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTG9hZGluZ1N0YXRlQ29tcG9uZW50IH0gZnJvbSAnLi9sb2FkaW5nLXN0YXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMb2FkaW5nU3RhdGVJbmRpY2F0b3JzIH0gZnJvbSAnLi9jb21wb25lbnRzL2xvYWRpbmctc3RhdGUtaW5kaWNhdG9ycyc7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIERpcmV0aXZhIGVzdHJ1dHVyYWwgcXVlIGVudm9sdmUgbyBjb250ZcO6ZG8gZGEgdmlldyBjb20gdW0gaW5kaWNhZG9yIGRlIGNhcnJlZ2FtZW50by5cbiAqIMOJIHVtYSBhbHRlcm5hdGl2YSBpbmxpbmUgYW8gYExvYWRpbmdTdGF0ZUNvbXBvbmVudGAsIHBvZGVuZG8gc2VyIGFwbGljYWRhIGRpcmV0YW1lbnRlXG4gKiBlbSBjb250YWluZXJzIGV4aXN0ZW50ZXMgc2VtIGEgbmVjZXNzaWRhZGUgZGUgY3JpYXIgdW0gd3JhcHBlciBleHBsw61jaXRvIG5vIHRlbXBsYXRlLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGBodG1sXG4gKiA8IS0tIEZvcm1hIHNpbXBsZXMgKGJvb2xlYW4pIC0tPlxuICogPGRpdiAqc0xvYWRpbmdTdGF0ZT1cImlzTG9hZGluZ1wiPkNvbnRlw7pkbzwvZGl2PlxuICpcbiAqIDwhLS0gRm9ybWEgY29tIGNvbmZpZ3VyYcOnw6NvIC0tPlxuICogPGRpdiAqc0xvYWRpbmdTdGF0ZT1cInsgbG9hZGluZzogaXNMb2FkaW5nLCBpbmRpY2F0b3I6ICdsb2dvJyB9XCI+Q29udGXDumRvPC9kaXY+XG4gKiBgYGBcbiAqXG4gKiBAY2F0ZWdvcnkgRmVlZGJhY2tcbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbc0xvYWRpbmdTdGF0ZV0nLFxufSlcbmV4cG9ydCBjbGFzcyBMb2FkaW5nU3RhdGVEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdGFyZ2V0ID0gaW5qZWN0KFZpZXdDb250YWluZXJSZWYpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdGVtcGxhdGUgPSBpbmplY3Q8VGVtcGxhdGVSZWY8YW55Pj4oVGVtcGxhdGVSZWYpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyID0gaW5qZWN0KENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcik7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIENvbnRyb2xhIG8gZXN0YWRvIGRlIGNhcnJlZ2FtZW50byBkYSBkaXJldGl2YS5cbiAgICAgKiBBY2VpdGE6XG4gICAgICogLSBgYm9vbGVhbmA6IGF0aXZhL2Rlc2F0aXZhIG8gY2FycmVnYW1lbnRvIGNvbSBvIGluZGljYWRvciBwYWRyw6NvIChgZG90c2ApLlxuICAgICAqIC0gYHsgbG9hZGluZzogYm9vbGVhbjsgaW5kaWNhdG9yPzogTG9hZGluZ1N0YXRlSW5kaWNhdG9ycyB9YDogcGVybWl0ZSBjb25maWd1cmFyXG4gICAgICogICBvIHRpcG8gZGUgaW5kaWNhZG9yIGp1bnRvIGNvbSBvIGVzdGFkbyBkZSBjYXJyZWdhbWVudG8uXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IHNMb2FkaW5nU3RhdGUodmFsdWU6IGJvb2xlYW4gfCB7IGxvYWRpbmc6IGJvb2xlYW47IGluZGljYXRvcj86IExvYWRpbmdTdGF0ZUluZGljYXRvcnMgfSkge1xuICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnYm9vbGVhbicpIHtcbiAgICAgICAgICAgIHRoaXMuX2xvYWRpbmcgPSB2YWx1ZTtcbiAgICAgICAgICAgIHRoaXMuaW5kaWNhdG9yID0gTG9hZGluZ1N0YXRlSW5kaWNhdG9ycy5Eb3RzO1xuICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgIHRoaXMuX2xvYWRpbmcgPSB2YWx1ZS5sb2FkaW5nO1xuICAgICAgICAgICAgdGhpcy5pbmRpY2F0b3IgPSB2YWx1ZS5pbmRpY2F0b3IgPz8gTG9hZGluZ1N0YXRlSW5kaWNhdG9ycy5Eb3RzO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMubG9hZGVyQ29tcG9uZW50KSB7XG4gICAgICAgICAgICB0aGlzLmxvYWRlckNvbXBvbmVudC5pbnN0YW5jZS5sb2FkaW5nID0gdGhpcy5fbG9hZGluZztcbiAgICAgICAgICAgIHRoaXMubG9hZGVyQ29tcG9uZW50Lmluc3RhbmNlLmluZGljYXRvciA9IHRoaXMuaW5kaWNhdG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfbG9hZGluZyA9IGZhbHNlO1xuICAgIHByaXZhdGUgaW5kaWNhdG9yID0gTG9hZGluZ1N0YXRlSW5kaWNhdG9ycy5Eb3RzO1xuICAgIHByaXZhdGUgbG9hZGVyQ29tcG9uZW50OiBDb21wb25lbnRSZWY8TG9hZGluZ1N0YXRlQ29tcG9uZW50PiB8IG51bGwgPSBudWxsO1xuXG4gICAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgdGhpcy5jcmVhdGVDb21wb25lbnQoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZUNvbXBvbmVudCgpIHtcbiAgICAgICAgY29uc3QgZmFjdG9yeSA9IHRoaXMuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KExvYWRpbmdTdGF0ZUNvbXBvbmVudCk7XG4gICAgICAgIHRoaXMubG9hZGVyQ29tcG9uZW50ID0gdGhpcy50YXJnZXQuY3JlYXRlQ29tcG9uZW50KGZhY3RvcnkpO1xuICAgICAgICB0aGlzLmxvYWRlckNvbXBvbmVudC5pbnN0YW5jZS5jb250ZW50cyA9IHRoaXMudGVtcGxhdGU7XG4gICAgICAgIHRoaXMubG9hZGVyQ29tcG9uZW50Lmluc3RhbmNlLmxvYWRpbmcgPSB0aGlzLl9sb2FkaW5nO1xuICAgICAgICB0aGlzLmxvYWRlckNvbXBvbmVudC5pbnN0YW5jZS5pbmRpY2F0b3IgPSB0aGlzLmluZGljYXRvcjtcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgaWYgKHRoaXMubG9hZGVyQ29tcG9uZW50KSB7XG4gICAgICAgICAgICB0aGlzLmxvYWRlckNvbXBvbmVudC5kZXN0cm95KCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiJdfQ==
|