@seniorsistemas/angular-components 19.0.4 → 19.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/accordion/lib/accordion/accordion.component.d.ts +25 -0
- package/accordion/lib/accordion/components/accordion-panel/accordion-panel.component.d.ts +60 -0
- package/alert/lib/alert/alert.component.d.ts +40 -0
- package/autocomplete/lib/autocomplete/autocomplete.component.d.ts +51 -0
- package/badge/lib/badge/badge.component.d.ts +20 -0
- package/bignumber-input/lib/bignumber-input/bignumber-input.directive.d.ts +46 -1
- package/breadcrumb/lib/breadcrumb/breadcrumb-models.d.ts +11 -0
- package/breadcrumb/lib/breadcrumb/breadcrumb.component.d.ts +19 -23
- package/breadcrumb/lib/dynamic-breadcrumb/dynamic-breadcrumb.component.d.ts +25 -0
- package/breadcrumb/lib/dynamic-breadcrumb/dynamic-breadcrumb.module.d.ts +10 -0
- package/breadcrumb/public-api.d.ts +4 -2
- package/button/lib/button/button.component.d.ts +103 -1
- package/calendar-mask/lib/calendar-mask/calendar-mask.directive.d.ts +24 -0
- package/card/lib/card/card.component.d.ts +18 -0
- package/chat/lib/chat/chat.component.d.ts +20 -2
- package/chat/lib/chat/components/chat-message/chat-message.component.d.ts +18 -2
- package/checkbox/lib/checkbox/checkbox.component.d.ts +23 -3
- package/checkbox-list/lib/checkbox-list/checkbox-list.component.d.ts +20 -0
- package/chips/lib/chips/chip-item/chip-item.component.d.ts +15 -0
- package/chips/lib/chips/chips/chips.component.d.ts +41 -0
- package/code-editor/lib/code-editor/code-editor.component.d.ts +40 -0
- package/collapse-link/lib/collapse-link/collapse-link.component.d.ts +18 -0
- package/common/lib/svg-factory/components/iassist-icon/iassist-icon.component.d.ts +5 -0
- package/confirm-dialog/lib/popup-confirm-dialog/popup-confirm-dialog.component.d.ts +19 -0
- package/content-generator/lib/content-generator/content-generator.component.d.ts +30 -0
- package/control-errors/lib/control-errors/control-errors.component.d.ts +36 -0
- package/country-phone-picker/lib/country-phone-picker/country-phone-picker.component.d.ts +36 -0
- package/currency/lib/currency.service.d.ts +15 -2
- package/custom-fields/lib/custom-fields/custom-fields.component.d.ts +31 -0
- package/dialog/lib/src/dialog/dialog.component.d.ts +51 -0
- package/dialog/lib/src/dialog/services/dialog.service.d.ts +2 -2
- package/dialog/lib/src/dialog/services/internal-dialog.service.d.ts +1 -1
- package/dynamic-form/dynamic-form/components/lookup/lookup.component.d.ts +6 -5
- package/dynamic-form/dynamic-form/components/lookup/models/lookup-api.model.d.ts +5 -0
- package/dynamic-form/dynamic-form/configurations/structure/fieldset.d.ts +14 -0
- package/dynamic-form/dynamic-form/configurations/structure/row.d.ts +67 -0
- package/dynamic-form/dynamic-form/configurations/structure/section.d.ts +8 -0
- package/dynamic-form/dynamic-form/configurations/structure/structure.d.ts +19 -0
- package/dynamic-form/dynamic-form/dynamic-form.component.d.ts +21 -1
- package/dynamic-form/dynamic-form/form-field/configurations/fields/autocomplete-field.d.ts +45 -0
- package/dynamic-form/dynamic-form/form-field/configurations/fields/bignumber-field.d.ts +59 -0
- package/dynamic-form/dynamic-form/form-field/configurations/fields/blob-field.d.ts +55 -0
- package/dynamic-form/dynamic-form/form-field/configurations/fields/boolean-field.d.ts +35 -0
- package/dynamic-form/dynamic-form/form-field/configurations/fields/boolean-switch-field.d.ts +17 -0
- package/dynamic-form/dynamic-form/form-field/configurations/fields/button-field.d.ts +23 -0
- package/dynamic-form/dynamic-form/form-field/configurations/fields/calendar-field.d.ts +66 -0
- package/dynamic-form/dynamic-form/form-field/configurations/fields/checkbox-field.d.ts +15 -0
- package/dynamic-form/dynamic-form/form-field/configurations/fields/chips-field.d.ts +30 -0
- package/dynamic-form/dynamic-form/form-field/configurations/fields/content-generator-field.d.ts +47 -2
- package/dynamic-form/dynamic-form/form-field/configurations/fields/country-phone-picker-field.d.ts +26 -0
- package/dynamic-form/dynamic-form/form-field/configurations/fields/currency-field.d.ts +18 -1
- package/dynamic-form/dynamic-form/form-field/configurations/fields/field.d.ts +44 -0
- package/dynamic-form/dynamic-form/form-field/configurations/fields/lookup-field.d.ts +112 -4
- package/dynamic-form/dynamic-form/form-field/configurations/fields/number-field.d.ts +42 -3
- package/dynamic-form/dynamic-form/form-field/configurations/fields/password-field.d.ts +48 -0
- package/dynamic-form/dynamic-form/form-field/configurations/fields/profile-picture.d.ts +62 -0
- package/dynamic-form/dynamic-form/form-field/configurations/fields/radio-button-field.d.ts +34 -0
- package/dynamic-form/dynamic-form/form-field/configurations/fields/select-field.d.ts +63 -0
- package/dynamic-form/dynamic-form/form-field/configurations/fields/slider-field.d.ts +47 -1
- package/dynamic-form/dynamic-form/form-field/configurations/fields/star-rating-field.d.ts +23 -0
- package/dynamic-form/dynamic-form/form-field/configurations/fields/text-area-field.d.ts +37 -1
- package/dynamic-form/dynamic-form/form-field/configurations/fields/text-field.d.ts +65 -2
- package/dynamic-form/public-api.d.ts +1 -0
- package/editable-overlay/lib/editable-overlay/editable-overlay.directive.d.ts +16 -0
- package/empty-state/lib/empty-state/empty-state.component.d.ts +59 -0
- package/esm2022/accordion/lib/accordion/accordion.component.mjs +26 -1
- package/esm2022/accordion/lib/accordion/components/accordion-panel/accordion-panel.component.mjs +61 -1
- package/esm2022/alert/lib/alert/alert.component.mjs +41 -1
- package/esm2022/autocomplete/lib/autocomplete/autocomplete.component.mjs +52 -1
- package/esm2022/badge/lib/badge/badge.component.mjs +21 -1
- package/esm2022/bignumber-input/lib/bignumber-input/bignumber-input.directive.mjs +47 -2
- package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb-models.mjs +2 -0
- package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb.component.mjs +39 -98
- package/esm2022/breadcrumb/lib/dynamic-breadcrumb/dynamic-breadcrumb.component.mjs +120 -0
- package/esm2022/breadcrumb/lib/dynamic-breadcrumb/dynamic-breadcrumb.module.mjs +19 -0
- package/esm2022/breadcrumb/public-api.mjs +4 -3
- package/esm2022/button/lib/button/button.component.mjs +107 -3
- package/esm2022/calendar-mask/lib/calendar-mask/calendar-mask.directive.mjs +72 -47
- package/esm2022/card/lib/card/card.component.mjs +21 -6
- package/esm2022/chat/lib/chat/chat.component.mjs +23 -5
- package/esm2022/chat/lib/chat/components/chat-message/chat-message.component.mjs +20 -4
- package/esm2022/checkbox/lib/checkbox/checkbox.component.mjs +24 -4
- package/esm2022/checkbox-list/lib/checkbox-list/checkbox-list.component.mjs +22 -2
- package/esm2022/chips/lib/chips/chip-item/chip-item.component.mjs +17 -2
- package/esm2022/chips/lib/chips/chips/chips.component.mjs +42 -1
- package/esm2022/code-editor/lib/code-editor/code-editor.component.mjs +41 -1
- package/esm2022/collapse-link/lib/collapse-link/collapse-link.component.mjs +19 -1
- package/esm2022/common/lib/svg-factory/components/iassist-icon/iassist-icon.component.mjs +6 -1
- package/esm2022/confirm-dialog/lib/popup-confirm-dialog/popup-confirm-dialog.component.mjs +21 -2
- package/esm2022/content-generator/lib/content-generator/content-generator.component.mjs +32 -2
- package/esm2022/control-errors/lib/control-errors/control-errors.component.mjs +37 -1
- package/esm2022/country-phone-picker/lib/country-phone-picker/country-phone-picker.component.mjs +37 -1
- package/esm2022/currency/lib/currency.service.mjs +21 -8
- package/esm2022/custom-fields/lib/custom-fields/custom-fields.component.mjs +32 -1
- package/esm2022/dialog/lib/src/dialog/dialog.component.mjs +66 -11
- package/esm2022/dialog/lib/src/dialog/services/dialog.service.mjs +13 -10
- package/esm2022/dialog/lib/src/dialog/services/internal-dialog.service.mjs +3 -3
- package/esm2022/dynamic-form/dynamic-form/components/grid/row/row.component.mjs +2 -2
- package/esm2022/dynamic-form/dynamic-form/components/lookup/lookup.component.mjs +2 -2
- package/esm2022/dynamic-form/dynamic-form/components/lookup/models/lookup-api.model.mjs +2 -0
- package/esm2022/dynamic-form/dynamic-form/configurations/structure/fieldset.mjs +1 -1
- package/esm2022/dynamic-form/dynamic-form/configurations/structure/row.mjs +1 -1
- package/esm2022/dynamic-form/dynamic-form/configurations/structure/section.mjs +1 -1
- package/esm2022/dynamic-form/dynamic-form/configurations/structure/structure.mjs +1 -1
- package/esm2022/dynamic-form/dynamic-form/dynamic-form.component.mjs +22 -2
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/autocomplete-field.mjs +1 -1
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/bignumber-field.mjs +1 -1
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/blob-field.mjs +1 -1
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/boolean-field.mjs +1 -1
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/boolean-switch-field.mjs +1 -1
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/button-field.mjs +1 -1
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/calendar-field.mjs +1 -1
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/checkbox-field.mjs +1 -1
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/chips-field.mjs +1 -1
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/content-generator-field.mjs +1 -1
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/country-phone-picker-field.mjs +1 -1
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/currency-field.mjs +1 -1
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/field.mjs +1 -2
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/lookup-field.mjs +1 -1
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/number-field.mjs +1 -1
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/password-field.mjs +1 -1
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/profile-picture.mjs +1 -1
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/radio-button-field.mjs +6 -1
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/select-field.mjs +1 -1
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/slider-field.mjs +1 -1
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/star-rating-field.mjs +1 -1
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/text-area-field.mjs +1 -1
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/text-field.mjs +1 -1
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/bignumber/bignumber-field.component.mjs +2 -2
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/boolean/boolean-radio-field/boolean-field.component.mjs +1 -1
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/button-field/button-field.component.mjs +1 -1
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/number/number-field.component.mjs +2 -2
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/password/password-field.component.mjs +2 -2
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/radio-button/radio-button-field.component.mjs +2 -2
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/text/text-field.component.mjs +2 -2
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/text-area/text-area-field.component.mjs +3 -3
- package/esm2022/dynamic-form/public-api.mjs +2 -2
- package/esm2022/editable-overlay/lib/editable-overlay/editable-overlay.directive.mjs +17 -1
- package/esm2022/empty-state/lib/empty-state/empty-state.component.mjs +61 -2
- package/esm2022/fieldset/lib/fieldset/fieldset.component.mjs +25 -5
- package/esm2022/file-picker/lib/file-picker/file-picker.component.mjs +49 -2
- package/esm2022/gantt/lib/gantt/gantt.component.mjs +32 -1
- package/esm2022/global-search/lib/global-search/components/dropdown/global-search-dropdown-item.component.mjs +1 -1
- package/esm2022/global-search/lib/global-search/global-search.component.mjs +31 -2
- package/esm2022/grid-menu/lib/grid-menu/grid-menu.component.mjs +40 -1
- package/esm2022/help-popover/lib/help-popover/help-popover/help-popover.component.mjs +1 -1
- package/esm2022/help-popover/lib/help-popover/help-popover.directive.mjs +83 -27
- package/esm2022/image-cropper/lib/image-cropper/image-cropper.component.mjs +41 -4
- package/esm2022/infinite-scroll/lib/infinite-scroll/infinite-scroll.directive.mjs +18 -2
- package/esm2022/info-sign/lib/info-sign/info-sign.directive.mjs +33 -4
- package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-number/inline-edit-number.component.mjs +1 -1
- package/esm2022/inline-edit/lib/inline-edit/components/inline-edit-item/inline-edit-item.component.mjs +1 -1
- package/esm2022/inline-edit/lib/inline-edit/inline-edit.component.mjs +16 -1
- package/esm2022/insights/lib/insights/insights.component.mjs +23 -1
- package/esm2022/interactive-content/lib/interactive-content/interactive-content.directive.mjs +21 -1
- package/esm2022/kanban/lib/kanban/components/kanban-column/kanban-column.component.mjs +1 -1
- package/esm2022/kanban/lib/kanban/components/kanban-item/kanban-item.component.mjs +1 -1
- package/esm2022/kanban/lib/kanban/kanban.component.mjs +34 -16
- package/esm2022/label-value/lib/label-value/label-value.component.mjs +14 -1
- package/esm2022/lib/locale/fallback.mjs +4 -2
- package/esm2022/loading-state/lib/loading-state/loading-state.component.mjs +37 -1
- package/esm2022/loading-state/lib/loading-state/loading-state.directive.mjs +24 -1
- package/esm2022/locale/lib/locale/locale.service.mjs +8 -1
- package/esm2022/localized-number-input/lib/localized-number-input/localized-number-input.directive.mjs +17 -1
- package/esm2022/mask/lib/mask/mask-formatter.pipe.mjs +13 -1
- package/esm2022/mouse-events/lib/mouse-events/double-click.directive.mjs +16 -3
- package/esm2022/mouse-events/lib/mouse-events/long-press.directive.mjs +24 -10
- package/esm2022/navigation-button/lib/navigation-button/navigation-button.component.mjs +21 -2
- package/esm2022/number-input/lib/number-input/number-input.directive.mjs +32 -12
- package/esm2022/numeric/lib/numeric.pipe.mjs +16 -1
- package/esm2022/numeric/lib/numeric.service.mjs +21 -1
- package/esm2022/numeric-mask/lib/numeric-mask/numeric-mask.directive.mjs +9 -6
- package/esm2022/object-card/lib/object-card/elements/field/object-card-field.component.mjs +1 -1
- package/esm2022/object-card/lib/object-card/elements/main/object-card-main.component.mjs +1 -1
- package/esm2022/object-card/lib/object-card/object-card.component.mjs +24 -1
- package/esm2022/optional-fields/editor/editor-field.mjs +1 -1
- package/esm2022/paginator/lib/paginator/paginator.component.mjs +20 -1
- package/esm2022/panel/lib/panel/panel.component.mjs +44 -23
- package/esm2022/password-strength/lib/password-strength/password-strength.component.mjs +25 -1
- package/esm2022/password-strength/lib/password-strength/password-strength.directive.mjs +54 -1
- package/esm2022/picklist/lib/picklist/picklist.component.mjs +34 -3
- package/esm2022/pin-code-field/lib/pin-code-field/pin-code-field.component.mjs +29 -34
- package/esm2022/profile-picture-picker/lib/profile-picture-picker/profile-picture-picker.component.mjs +87 -3
- package/esm2022/progressbar/lib/progressbar/progressbar.component.mjs +53 -3
- package/esm2022/radio-button/lib/radio-button/radio-button.component.mjs +28 -1
- package/esm2022/radio-button/lib/radio-button-group/radio-button-group.component.mjs +27 -1
- package/esm2022/rating-scale/lib/rating-scale/rating-scale.component.mjs +39 -7
- package/esm2022/select/lib/select/select.component.mjs +35 -1
- package/esm2022/select-button/lib/select-button/select-button.component.mjs +35 -1
- package/esm2022/shared/lib/shared/border-button/border-button.component.mjs +11 -3
- package/esm2022/sidebar/lib/sidebar/sidebar.component.mjs +54 -1
- package/esm2022/slide-in-bar/lib/slide-in-bar/slide-in-bar.component.mjs +76 -36
- package/esm2022/slider/lib/slider/slider.component.mjs +90 -9
- package/esm2022/speech-recognition/lib/speech-recognition/speech-recognition/speech-recognition.component.mjs +25 -4
- package/esm2022/split-button/lib/split-button/split-button.component.mjs +24 -2
- package/esm2022/star-rating/star-rating/star-rating.component.mjs +17 -1
- package/esm2022/stats-card/lib/stats-card/stats-card.component.mjs +32 -10
- package/esm2022/stepper/lib/stepper/stepper.component.mjs +20 -1
- package/esm2022/structure/lib/structure/footer.component.mjs +11 -1
- package/esm2022/switch/lib/switch/switch.component.mjs +22 -2
- package/esm2022/table/lib/table/table-column/table-columns.component.mjs +16 -1
- package/esm2022/table/lib/table/table-paging/table-paging.component.mjs +1 -1
- package/esm2022/table-header/lib/table-header/table-header-checkbox.component.mjs +29 -3
- package/esm2022/tabs/lib/tab-item/tab-item.component.mjs +33 -2
- package/esm2022/tabs/lib/tabs/tabs.component.mjs +35 -3
- package/esm2022/template/lib/template/template.directive.mjs +14 -2
- package/esm2022/text-area/lib/text-area/text-area.component.mjs +28 -1
- package/esm2022/thumbnail/lib/thumbnail/thumbnail.component.mjs +25 -1
- package/esm2022/thumbnails/lib/thumbnails/thumbnails.component.mjs +28 -3
- package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu/tiered-menu.component.mjs +65 -46
- package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.mjs +3 -3
- package/esm2022/tiered-menu/lib/tiered-menu/tiered-menu.directive.mjs +35 -2
- package/esm2022/tile/lib/tile/tile.component.mjs +26 -1
- package/esm2022/timeline/lib/timeline/timeline.component.mjs +26 -3
- package/esm2022/toast/lib/toast/toast.component.mjs +24 -4
- package/esm2022/token-list/lib/token-list/token-list.component.mjs +22 -1
- package/esm2022/tooltip/lib/tooltip/tooltip.directive.mjs +66 -1
- package/esm2022/topbar/lib/topbar/topbar.component.mjs +18 -1
- package/esm2022/tree/lib/tree/tree.component.mjs +28 -1
- package/esm2022/workspace-switch/lib/workspace-switch/workspace-switch.component.mjs +47 -1
- package/fesm2022/seniorsistemas-angular-components-accordion.mjs +85 -0
- package/fesm2022/seniorsistemas-angular-components-accordion.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-alert.mjs +40 -0
- package/fesm2022/seniorsistemas-angular-components-alert.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-autocomplete.mjs +51 -0
- package/fesm2022/seniorsistemas-angular-components-autocomplete.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-badge.mjs +20 -0
- package/fesm2022/seniorsistemas-angular-components-badge.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-bignumber-input.mjs +46 -1
- package/fesm2022/seniorsistemas-angular-components-bignumber-input.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-breadcrumb.mjs +93 -37
- package/fesm2022/seniorsistemas-angular-components-breadcrumb.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-button.mjs +106 -2
- package/fesm2022/seniorsistemas-angular-components-button.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-calendar-mask.mjs +71 -46
- package/fesm2022/seniorsistemas-angular-components-calendar-mask.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-card.mjs +19 -4
- package/fesm2022/seniorsistemas-angular-components-card.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-chat.mjs +39 -5
- package/fesm2022/seniorsistemas-angular-components-chat.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-checkbox-list.mjs +21 -1
- package/fesm2022/seniorsistemas-angular-components-checkbox-list.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-checkbox.mjs +23 -3
- package/fesm2022/seniorsistemas-angular-components-checkbox.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-chips.mjs +57 -1
- package/fesm2022/seniorsistemas-angular-components-chips.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-code-editor.mjs +40 -0
- package/fesm2022/seniorsistemas-angular-components-code-editor.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-collapse-link.mjs +18 -0
- package/fesm2022/seniorsistemas-angular-components-collapse-link.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-common.mjs +5 -0
- package/fesm2022/seniorsistemas-angular-components-common.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-confirm-dialog.mjs +20 -1
- package/fesm2022/seniorsistemas-angular-components-confirm-dialog.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-content-generator.mjs +31 -1
- package/fesm2022/seniorsistemas-angular-components-content-generator.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-control-errors.mjs +36 -0
- package/fesm2022/seniorsistemas-angular-components-control-errors.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-country-phone-picker.mjs +36 -0
- package/fesm2022/seniorsistemas-angular-components-country-phone-picker.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-currency.mjs +19 -6
- package/fesm2022/seniorsistemas-angular-components-currency.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-custom-fields.mjs +31 -0
- package/fesm2022/seniorsistemas-angular-components-custom-fields.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-dialog.mjs +74 -16
- package/fesm2022/seniorsistemas-angular-components-dialog.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs +38 -13
- package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-editable-overlay.mjs +16 -0
- package/fesm2022/seniorsistemas-angular-components-editable-overlay.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-empty-state.mjs +60 -1
- package/fesm2022/seniorsistemas-angular-components-empty-state.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-fieldset.mjs +21 -1
- package/fesm2022/seniorsistemas-angular-components-fieldset.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-file-picker.mjs +48 -1
- package/fesm2022/seniorsistemas-angular-components-file-picker.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-gantt.mjs +31 -0
- package/fesm2022/seniorsistemas-angular-components-gantt.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-global-search.mjs +31 -2
- package/fesm2022/seniorsistemas-angular-components-global-search.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-grid-menu.mjs +39 -0
- package/fesm2022/seniorsistemas-angular-components-grid-menu.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-help-popover.mjs +81 -25
- package/fesm2022/seniorsistemas-angular-components-help-popover.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-image-cropper.mjs +39 -2
- package/fesm2022/seniorsistemas-angular-components-image-cropper.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-infinite-scroll.mjs +17 -1
- package/fesm2022/seniorsistemas-angular-components-infinite-scroll.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-info-sign.mjs +30 -1
- package/fesm2022/seniorsistemas-angular-components-info-sign.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs +17 -2
- package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-insights.mjs +22 -0
- package/fesm2022/seniorsistemas-angular-components-insights.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-interactive-content.mjs +20 -0
- package/fesm2022/seniorsistemas-angular-components-interactive-content.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-kanban.mjs +30 -12
- package/fesm2022/seniorsistemas-angular-components-kanban.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-label-value.mjs +13 -0
- package/fesm2022/seniorsistemas-angular-components-label-value.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-loading-state.mjs +59 -0
- package/fesm2022/seniorsistemas-angular-components-loading-state.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-locale.mjs +7 -0
- package/fesm2022/seniorsistemas-angular-components-locale.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-localized-number-input.mjs +16 -0
- package/fesm2022/seniorsistemas-angular-components-localized-number-input.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-mask.mjs +12 -0
- package/fesm2022/seniorsistemas-angular-components-mask.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-mouse-events.mjs +35 -8
- package/fesm2022/seniorsistemas-angular-components-mouse-events.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-navigation-button.mjs +20 -1
- package/fesm2022/seniorsistemas-angular-components-navigation-button.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-number-input.mjs +31 -11
- package/fesm2022/seniorsistemas-angular-components-number-input.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-numeric-mask.mjs +8 -5
- package/fesm2022/seniorsistemas-angular-components-numeric-mask.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-numeric.mjs +35 -0
- package/fesm2022/seniorsistemas-angular-components-numeric.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-object-card.mjs +25 -2
- package/fesm2022/seniorsistemas-angular-components-object-card.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-optional-fields-editor.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-paginator.mjs +19 -0
- package/fesm2022/seniorsistemas-angular-components-paginator.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-panel.mjs +39 -18
- package/fesm2022/seniorsistemas-angular-components-panel.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-password-strength.mjs +77 -0
- package/fesm2022/seniorsistemas-angular-components-password-strength.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-picklist.mjs +33 -2
- package/fesm2022/seniorsistemas-angular-components-picklist.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-pin-code-field.mjs +28 -33
- package/fesm2022/seniorsistemas-angular-components-pin-code-field.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-profile-picture-picker.mjs +86 -2
- package/fesm2022/seniorsistemas-angular-components-profile-picture-picker.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-progressbar.mjs +52 -2
- package/fesm2022/seniorsistemas-angular-components-progressbar.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-radio-button.mjs +53 -0
- package/fesm2022/seniorsistemas-angular-components-radio-button.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-rating-scale.mjs +36 -4
- package/fesm2022/seniorsistemas-angular-components-rating-scale.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-select-button.mjs +34 -0
- package/fesm2022/seniorsistemas-angular-components-select-button.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-select.mjs +34 -0
- package/fesm2022/seniorsistemas-angular-components-select.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-shared.mjs +9 -1
- package/fesm2022/seniorsistemas-angular-components-shared.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-sidebar.mjs +53 -0
- package/fesm2022/seniorsistemas-angular-components-sidebar.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-slide-in-bar.mjs +71 -31
- package/fesm2022/seniorsistemas-angular-components-slide-in-bar.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-slider.mjs +89 -8
- package/fesm2022/seniorsistemas-angular-components-slider.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-speech-recognition.mjs +24 -3
- package/fesm2022/seniorsistemas-angular-components-speech-recognition.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-split-button.mjs +22 -0
- package/fesm2022/seniorsistemas-angular-components-split-button.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-star-rating.mjs +16 -0
- package/fesm2022/seniorsistemas-angular-components-star-rating.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-stats-card.mjs +30 -8
- package/fesm2022/seniorsistemas-angular-components-stats-card.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-stepper.mjs +19 -0
- package/fesm2022/seniorsistemas-angular-components-stepper.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-structure.mjs +10 -0
- package/fesm2022/seniorsistemas-angular-components-structure.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-switch.mjs +20 -0
- package/fesm2022/seniorsistemas-angular-components-switch.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-table-header.mjs +28 -2
- package/fesm2022/seniorsistemas-angular-components-table-header.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-table.mjs +16 -1
- package/fesm2022/seniorsistemas-angular-components-table.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-tabs.mjs +65 -2
- package/fesm2022/seniorsistemas-angular-components-tabs.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-template.mjs +13 -1
- package/fesm2022/seniorsistemas-angular-components-template.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-text-area.mjs +27 -0
- package/fesm2022/seniorsistemas-angular-components-text-area.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-thumbnail.mjs +24 -0
- package/fesm2022/seniorsistemas-angular-components-thumbnail.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-thumbnails.mjs +26 -1
- package/fesm2022/seniorsistemas-angular-components-thumbnails.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-tiered-menu.mjs +99 -47
- package/fesm2022/seniorsistemas-angular-components-tiered-menu.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-tile.mjs +25 -0
- package/fesm2022/seniorsistemas-angular-components-tile.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-timeline.mjs +25 -2
- package/fesm2022/seniorsistemas-angular-components-timeline.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-toast.mjs +22 -2
- package/fesm2022/seniorsistemas-angular-components-toast.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-token-list.mjs +21 -0
- package/fesm2022/seniorsistemas-angular-components-token-list.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-tooltip.mjs +65 -0
- package/fesm2022/seniorsistemas-angular-components-tooltip.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-topbar.mjs +17 -0
- package/fesm2022/seniorsistemas-angular-components-topbar.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-tree.mjs +27 -0
- package/fesm2022/seniorsistemas-angular-components-tree.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-workspace-switch.mjs +46 -0
- package/fesm2022/seniorsistemas-angular-components-workspace-switch.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components.mjs +3 -1
- package/fesm2022/seniorsistemas-angular-components.mjs.map +1 -1
- package/fieldset/lib/fieldset/fieldset.component.d.ts +23 -3
- package/file-picker/lib/file-picker/file-picker.component.d.ts +47 -0
- package/gantt/lib/gantt/gantt.component.d.ts +31 -0
- package/global-search/lib/global-search/global-search.component.d.ts +29 -0
- package/grid-menu/lib/grid-menu/grid-menu.component.d.ts +39 -0
- package/help-popover/lib/help-popover/help-popover.directive.d.ts +67 -17
- package/image-cropper/lib/image-cropper/image-cropper.component.d.ts +38 -0
- package/infinite-scroll/lib/infinite-scroll/infinite-scroll.directive.d.ts +15 -0
- package/info-sign/lib/info-sign/info-sign.directive.d.ts +30 -1
- package/inline-edit/lib/inline-edit/inline-edit.component.d.ts +15 -0
- package/insights/lib/insights/insights.component.d.ts +22 -0
- package/interactive-content/lib/interactive-content/interactive-content.directive.d.ts +20 -0
- package/kanban/lib/kanban/kanban.component.d.ts +25 -5
- package/label-value/lib/label-value/label-value.component.d.ts +13 -0
- package/loading-state/lib/loading-state/loading-state.component.d.ts +36 -0
- package/loading-state/lib/loading-state/loading-state.directive.d.ts +23 -0
- package/locale/lib/locale/locale.service.d.ts +7 -0
- package/localized-number-input/lib/localized-number-input/localized-number-input.directive.d.ts +16 -0
- package/mask/lib/mask/mask-formatter.pipe.d.ts +12 -0
- package/mouse-events/lib/mouse-events/double-click.directive.d.ts +13 -0
- package/mouse-events/lib/mouse-events/long-press.directive.d.ts +16 -2
- package/navigation-button/lib/navigation-button/navigation-button.component.d.ts +19 -0
- package/number-input/lib/number-input/number-input.directive.d.ts +19 -1
- package/numeric/lib/numeric.pipe.d.ts +15 -0
- package/numeric/lib/numeric.service.d.ts +20 -0
- package/numeric-mask/lib/numeric-mask/numeric-mask.directive.d.ts +5 -4
- package/object-card/lib/object-card/object-card.component.d.ts +23 -0
- package/optional-fields/editor/editor-field.d.ts +19 -0
- package/package.json +7 -7
- package/paginator/lib/paginator/paginator.component.d.ts +19 -0
- package/panel/lib/panel/panel.component.d.ts +24 -3
- package/password-strength/lib/password-strength/password-strength.component.d.ts +24 -0
- package/password-strength/lib/password-strength/password-strength.directive.d.ts +53 -0
- package/picklist/lib/picklist/picklist.component.d.ts +29 -0
- package/pin-code-field/lib/pin-code-field/pin-code-field.component.d.ts +28 -33
- package/profile-picture-picker/lib/profile-picture-picker/profile-picture-picker.component.d.ts +85 -1
- package/progressbar/lib/progressbar/progressbar.component.d.ts +50 -0
- package/radio-button/lib/radio-button/radio-button.component.d.ts +27 -0
- package/radio-button/lib/radio-button-group/radio-button-group.component.d.ts +26 -0
- package/rating-scale/lib/rating-scale/rating-scale.component.d.ts +30 -2
- package/select/lib/select/select.component.d.ts +34 -0
- package/select-button/lib/select-button/select-button.component.d.ts +34 -0
- package/shared/lib/shared/border-button/border-button.component.d.ts +10 -2
- package/sidebar/lib/sidebar/sidebar.component.d.ts +53 -0
- package/slide-in-bar/lib/slide-in-bar/slide-in-bar.component.d.ts +53 -2
- package/slider/lib/slider/slider.component.d.ts +72 -0
- package/speech-recognition/lib/speech-recognition/speech-recognition/speech-recognition.component.d.ts +18 -0
- package/split-button/lib/split-button/split-button.component.d.ts +22 -0
- package/star-rating/star-rating/star-rating.component.d.ts +16 -0
- package/stats-card/lib/stats-card/stats-card.component.d.ts +28 -0
- package/stepper/lib/stepper/stepper.component.d.ts +19 -0
- package/structure/lib/structure/footer.component.d.ts +10 -0
- package/switch/lib/switch/switch.component.d.ts +20 -0
- package/table/lib/table/table-column/table-columns.component.d.ts +15 -0
- package/table-header/lib/table-header/table-header-checkbox.component.d.ts +18 -0
- package/tabs/lib/tab-item/tab-item.component.d.ts +31 -0
- package/tabs/lib/tabs/tabs.component.d.ts +28 -0
- package/template/lib/template/template.directive.d.ts +12 -0
- package/text-area/lib/text-area/text-area.component.d.ts +27 -0
- package/thumbnail/lib/thumbnail/thumbnail.component.d.ts +24 -0
- package/thumbnails/lib/thumbnails/thumbnails.component.d.ts +27 -2
- package/tiered-menu/lib/tiered-menu/components/tiered-menu/tiered-menu.component.d.ts +3 -1
- package/tiered-menu/lib/tiered-menu/tiered-menu.directive.d.ts +31 -1
- package/tile/lib/tile/tile.component.d.ts +25 -0
- package/timeline/lib/timeline/timeline.component.d.ts +24 -0
- package/toast/lib/toast/toast.component.d.ts +22 -2
- package/token-list/lib/token-list/token-list.component.d.ts +21 -0
- package/tooltip/lib/tooltip/tooltip.directive.d.ts +65 -0
- package/topbar/lib/topbar/topbar.component.d.ts +17 -0
- package/tree/lib/tree/tree.component.d.ts +27 -0
- package/workspace-switch/lib/workspace-switch/workspace-switch.component.d.ts +46 -0
- package/breadcrumb/lib/breadcrumb/breadcrumb.module.d.ts +0 -10
- package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb.module.mjs +0 -20
|
@@ -5,13 +5,30 @@ import * as i0 from "@angular/core";
|
|
|
5
5
|
import * as i1 from "../speech-recognition.service";
|
|
6
6
|
import * as i2 from "../text-to-speech.service";
|
|
7
7
|
import * as i3 from "@ngx-translate/core";
|
|
8
|
+
/**
|
|
9
|
+
* @description Componente de reconhecimento de voz que integra a Web Speech API para
|
|
10
|
+
* transcrever a fala do usuário em texto, inserída diretamente em um `<textarea>` fornecido.
|
|
11
|
+
* Suporta também text-to-speech para leitura em voz alta do conteúdo do campo.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```html
|
|
15
|
+
* <s-speech-recognition
|
|
16
|
+
* [textAreaElement]="textAreaRef.nativeElement"
|
|
17
|
+
* (recognizedText)="onTextoReconhecido($event)" />
|
|
18
|
+
* ```
|
|
19
|
+
*
|
|
20
|
+
* @category Inputs
|
|
21
|
+
*/
|
|
8
22
|
export class SpeechRecognitionComponent {
|
|
9
23
|
speechRecognitionService;
|
|
10
24
|
textToSpeechService;
|
|
11
25
|
translateService;
|
|
12
26
|
static TOOLBAR_ACTIVE = false;
|
|
27
|
+
/** @description Referência ao elemento `<textarea>` nativo que receberá o texto transcrito. Campo obrigatório. */
|
|
13
28
|
textAreaElement;
|
|
29
|
+
/** @description Quando `true`, mantém o texto existente no campo ao iniciar novo reconhecimento. @default false */
|
|
14
30
|
keepContext = false;
|
|
31
|
+
/** @description Placeholder exibido no textarea durante o reconhecimento de voz. @default '' */
|
|
15
32
|
speechRecognitionPlaceholder = '';
|
|
16
33
|
_recognizedText = '';
|
|
17
34
|
originalTextAreaElementText = '';
|
|
@@ -34,6 +51,7 @@ export class SpeechRecognitionComponent {
|
|
|
34
51
|
canRenderAprove = false;
|
|
35
52
|
canRenderTextToSpeechToolbar = false;
|
|
36
53
|
isPlayingTextToSpeech = false;
|
|
54
|
+
/** @description Emitido quando o reconhecimento de voz é concluído, com o texto transcrito. */
|
|
37
55
|
recognizedText = new EventEmitter();
|
|
38
56
|
constructor(speechRecognitionService, textToSpeechService, translateService) {
|
|
39
57
|
this.speechRecognitionService = speechRecognitionService;
|
|
@@ -47,7 +65,9 @@ export class SpeechRecognitionComponent {
|
|
|
47
65
|
if (!this.textAreaElement) {
|
|
48
66
|
throw new Error('textAreaElement is required');
|
|
49
67
|
}
|
|
50
|
-
this.textAreaElement.placeholder = this.speechRecognitionPlaceholder
|
|
68
|
+
this.textAreaElement.placeholder = this.speechRecognitionPlaceholder
|
|
69
|
+
? this.speechRecognitionPlaceholder
|
|
70
|
+
: this.translateService.instant('platform.angular_components.text_area_speech_recognition_placeholder');
|
|
51
71
|
this.textAreaElement.addEventListener('keydown', this.keydownEventListener);
|
|
52
72
|
this.speechRecognitionService.microphoneStatus$.pipe(takeUntil(this.onDestroy$)).subscribe((status) => {
|
|
53
73
|
if (status === 'active') {
|
|
@@ -65,7 +85,8 @@ export class SpeechRecognitionComponent {
|
|
|
65
85
|
this.originalTextAreaElementText = this.textAreaElement.value;
|
|
66
86
|
this.textAreaElement.value = '';
|
|
67
87
|
this.isListeningUserVoice = true;
|
|
68
|
-
this.speechRecognitionService
|
|
88
|
+
this.speechRecognitionService
|
|
89
|
+
.listen()
|
|
69
90
|
.pipe(takeUntil(this.onDestroy$))
|
|
70
91
|
.subscribe(({ text, isFinal }) => {
|
|
71
92
|
this._recognizedText = text;
|
|
@@ -178,7 +199,7 @@ export class SpeechRecognitionComponent {
|
|
|
178
199
|
}
|
|
179
200
|
get isDisabledTextToSpeech() {
|
|
180
201
|
const hasTextToSpeechVoice = this.textToSpeechService.hasVoice;
|
|
181
|
-
return !this.textToSpeech || !hasTextToSpeechVoice || this.isListening || SpeechRecognitionComponent.TOOLBAR_ACTIVE;
|
|
202
|
+
return (!this.textToSpeech || !hasTextToSpeechVoice || this.isListening || SpeechRecognitionComponent.TOOLBAR_ACTIVE);
|
|
182
203
|
}
|
|
183
204
|
setTextAreaValue(value) {
|
|
184
205
|
this.textAreaElement.value = value;
|
|
@@ -214,4 +235,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
214
235
|
}], recognizedText: [{
|
|
215
236
|
type: Output
|
|
216
237
|
}] } });
|
|
217
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlZWNoLXJlY29nbml0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zcGVlY2gtcmVjb2duaXRpb24vc3JjL2xpYi9zcGVlY2gtcmVjb2duaXRpb24vc3BlZWNoLXJlY29nbml0aW9uL3NwZWVjaC1yZWNvZ25pdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3BlZWNoLXJlY29nbml0aW9uL3NyYy9saWIvc3BlZWNoLXJlY29nbml0aW9uL3NwZWVjaC1yZWNvZ25pdGlvbi9zcGVlY2gtcmVjb2duaXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBUzNDLE1BQU0sT0FBTywwQkFBMEI7SUFnQ2xCO0lBQ0E7SUFDQTtJQWpDWCxNQUFNLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztJQUNYLGVBQWUsQ0FBdUI7SUFDeEQsV0FBVyxHQUFHLEtBQUssQ0FBQztJQUNwQiw0QkFBNEIsR0FBRyxFQUFFLENBQUM7SUFDbkMsZUFBZSxHQUFHLEVBQUUsQ0FBQztJQUNyQiwyQkFBMkIsR0FBRyxFQUFFLENBQUM7SUFDakMsa0JBQWtCLEdBQUcsS0FBSyxDQUFDO0lBQ2xCLFVBQVUsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBQ2pDLFlBQVksR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2hDLG9CQUFvQixH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Q0FBQyxxQkFBcUIsR0FBRyxLQUFLLENBQUM7UUFDbkMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFTyxLQUFLO1FBQ1gsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQztRQUNoQyxJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUMzRSxJQUFJLENBQUMscUJBQXFCLEdBQUcsS0FBSyxDQUFDO1lBQ25DLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUM7UUFDakMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsSUFBWSxZQUFZO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUM7SUFDcEMsQ0FBQzt3R0FoTlUsMEJBQTBCOzRGQUExQiwwQkFBMEIscVBDWnZDLHErRkEwRUE7OzRGRDlEYSwwQkFBMEI7a0JBTHRDLFNBQVM7K0JBQ0Usc0JBQXNCOzhKQU1MLGVBQWU7c0JBQXpDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUNoQixXQUFXO3NCQUFuQixLQUFLO2dCQUNHLDRCQUE0QjtzQkFBcEMsS0FBSztnQkEwQkksY0FBYztzQkFBdkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgU3BlZWNoUmVjb2duaXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vc3BlZWNoLXJlY29nbml0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgVGV4dFRvU3BlZWNoU2VydmljZSB9IGZyb20gJy4uL3RleHQtdG8tc3BlZWNoLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzLXNwZWVjaC1yZWNvZ25pdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zcGVlY2gtcmVjb2duaXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zcGVlY2gtcmVjb2duaXRpb24uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBTcGVlY2hSZWNvZ25pdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBzdGF0aWMgVE9PTEJBUl9BQ1RJVkUgPSBmYWxzZTtcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgdGV4dEFyZWFFbGVtZW50ITogSFRNTFRleHRBcmVhRWxlbWVudDtcbiAgQElucHV0KCkga2VlcENvbnRleHQgPSBmYWxzZTtcbiAgQElucHV0KCkgc3BlZWNoUmVjb2duaXRpb25QbGFjZWhvbGRlciA9ICcnO1xuICBwcml2YXRlIF9yZWNvZ25pemVkVGV4dCA9ICcnO1xuICBwcml2YXRlIG9yaWdpbmFsVGV4dEFyZWFFbGVtZW50VGV4dCA9ICcnO1xuICBwcml2YXRlIGlzRG9uZVRleHRUb1NwZWVjaCA9IGZhbHNlO1xuICBwcml2YXRlIHJlYWRvbmx5IG9uRGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIHJlYWRvbmx5IFZPSUNFX1NQRUVEUyA9IFswLjUsIDEsIDEuNSwgMl07XG4gIHByaXZhdGUgcmVhZG9ubHkga2V5ZG93bkV2ZW50TGlzdGVuZXIgPSAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG4gIH1cblxuICBkaXNhYmxlZCA9IGZhbHNlO1xuICBpc0xpc3RlbmluZ1VzZXJWb2ljZSA9IGZhbHNlO1xuICB2b2ljZVNwZWVkID0gMTtcbiAgaXNEaXNhYmxlZE1pY3JvcGhvbmUgPSBmYWxzZTtcblxuICBjYW5SZW5kZXJNaWNyb3Bob25lID0gdHJ1ZTtcbiAgY2FuUmVuZGVyVGV4dFRvU3BlZWNoID0gdHJ1ZTtcbiAgY2FuUmVuZGVyTGlzdGVuaW5nVGV4dCA9IGZhbHNlO1xuICBjYW5SZW5kZXJEaXNjYXJkID0gZmFsc2U7XG4gIGNhblJlbmRlckFwcm92ZSA9IGZhbHNlO1xuICBjYW5SZW5kZXJUZXh0VG9TcGVlY2hUb29sYmFyID0gZmFsc2U7XG5cbiAgaXNQbGF5aW5nVGV4dFRvU3BlZWNoID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpIHJlY29nbml6ZWRUZXh0ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3BlZWNoUmVjb2duaXRpb25TZXJ2aWNlOiBTcGVlY2hSZWNvZ25pdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB0ZXh0VG9TcGVlY2hTZXJ2aWNlOiBUZXh0VG9TcGVlY2hTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZVxuICApIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5oYXNTcGVlY2hSZWNvZ25pdGlvbkJyb3dzZXJBcGkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKCF0aGlzLnRleHRBcmVhRWxlbWVudCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCd0ZXh0QXJlYUVsZW1lbnQgaXMgcmVxdWlyZWQnKTtcbiAgICB9XG4gICAgdGhpcy50ZXh0QXJlYUVsZW1lbnQucGxhY2Vob2xkZXIgPSB0aGlzLnNwZWVjaFJlY29nbml0aW9uUGxhY2Vob2xkZXIgPyB0aGlzLnNwZWVjaFJlY29nbml0aW9uUGxhY2Vob2xkZXIgOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcInBsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy50ZXh0X2FyZWFfc3BlZWNoX3JlY29nbml0aW9uX3BsYWNlaG9sZGVyXCIpO1xuICAgIHRoaXMudGV4dEFyZWFFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCB0aGlzLmtleWRvd25FdmVudExpc3RlbmVyKVxuICAgIHRoaXMuc3BlZWNoUmVjb2duaXRpb25TZXJ2aWNlLm1pY3JvcGhvbmVTdGF0dXMkLnBpcGUodGFrZVVudGlsKHRoaXMub25EZXN0cm95JCkpLnN1YnNjcmliZSgoc3RhdHVzKSA9PiB7XG4gICAgICBpZiAoc3RhdHVzID09PSAnYWN0aXZlJykge1xuICAgICAgICB0aGlzLm9uQ2xvc2VUb29sYmFyKCk7XG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG4gIG9uTGlzdGVuKCkge1xuICAgIGlmICh0aGlzLmlzRGlzYWJsZWRNaWNyb3Bob25lIHx8IHRoaXMuaXNMaXN0ZW5pbmcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5kaXNhYmxlZCA9IHRydWU7XG4gICAgdGhpcy5jYW5SZW5kZXJNaWNyb3Bob25lID0gZmFsc2U7XG4gICAgdGhpcy5jYW5SZW5kZXJMaXN0ZW5pbmdUZXh0ID0gdHJ1ZTtcbiAgICB0aGlzLm9yaWdpbmFsVGV4dEFyZWFFbGVtZW50VGV4dCA9IHRoaXMudGV4dEFyZWFFbGVtZW50LnZhbHVlO1xuICAgIHRoaXMudGV4dEFyZWFFbGVtZW50LnZhbHVlID0gJyc7XG4gICAgdGhpcy5pc0xpc3RlbmluZ1VzZXJWb2ljZSA9IHRydWU7XG4gICAgdGhpcy5zcGVlY2hSZWNvZ25pdGlvblNlcnZpY2UubGlzdGVuKClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSgoeyB0ZXh0LCBpc0ZpbmFsIH0pID0+IHtcbiAgICAgICAgdGhpcy5fcmVjb2duaXplZFRleHQgPSB0ZXh0O1xuICAgICAgICB0aGlzLnNldFRleHRBcmVhVmFsdWUodGV4dCk7XG4gICAgICAgIHRoaXMuc2Nyb2xsVGV4dEFyZWFCb3R0b20oKTtcbiAgICAgICAgaWYgKGlzRmluYWwpIHtcbiAgICAgICAgICB0aGlzLmNhblJlbmRlckFwcm92ZSA9IHRydWU7XG4gICAgICAgICAgdGhpcy5jYW5SZW5kZXJEaXNjYXJkID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLmNhblJlbmRlckxpc3RlbmluZ1RleHQgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLmlzTGlzdGVuaW5nVXNlclZvaWNlID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH0sICgpID0+IHtcbiAgICAgICAgdGhpcy5pc0xpc3RlbmluZ1VzZXJWb2ljZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLmNhblJlbmRlck1pY3JvcGhvbmUgPSB0cnVlO1xuICAgICAgICB0aGlzLmlzRGlzYWJsZWRNaWNyb3Bob25lID0gZmFsc2U7XG4gICAgICAgIHRoaXMuY2FuUmVuZGVyTGlzdGVuaW5nVGV4dCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmRpc2FibGVkID0gZmFsc2U7XG4gICAgICB9KVxuICB9XG5cbiAgcHJpdmF0ZSBzY3JvbGxUZXh0QXJlYUJvdHRvbSgpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMudGV4dEFyZWFFbGVtZW50LnNjcm9sbFRvcCA9IHRoaXMudGV4dEFyZWFFbGVtZW50LnNjcm9sbEhlaWdodDtcbiAgICB9LCAxMjApXG4gIH1cblxuICBvbk9wZW5Ub29sYmFyKCkge1xuICAgIGlmICh0aGlzLmlzRGlzYWJsZWRUZXh0VG9TcGVlY2gpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5jYW5SZW5kZXJUZXh0VG9TcGVlY2hUb29sYmFyID0gdHJ1ZTtcbiAgICB0aGlzLmNhblJlbmRlclRleHRUb1NwZWVjaCA9IGZhbHNlO1xuICAgIFNwZWVjaFJlY29nbml0aW9uQ29tcG9uZW50LlRPT0xCQVJfQUNUSVZFID0gdHJ1ZTtcbiAgICB0aGlzLnNwZWFrKCk7XG4gIH1cblxuICBvbkNsb3NlVG9vbGJhcigpIHtcbiAgICB0aGlzLmNhblJlbmRlclRleHRUb1NwZWVjaFRvb2xiYXIgPSBmYWxzZTtcbiAgICB0aGlzLmNhblJlbmRlclRleHRUb1NwZWVjaCA9IHRydWU7XG4gICAgdGhpcy5zdG9wVGV4dFRvU3BlZWNoKCk7XG4gICAgdGhpcy52b2ljZVNwZWVkID0gMTtcbiAgICBTcGVlY2hSZWNvZ25pdGlvbkNvbXBvbmVudC5UT09MQkFSX0FDVElWRSA9IGZhbHNlO1xuICB9XG4gIG9uRGlzY2FyZCgpIHtcbiAgICB0aGlzLmNhblJlbmRlckFwcm92ZSA9IGZhbHNlO1xuICAgIHRoaXMuY2FuUmVuZGVyRGlzY2FyZCA9IGZhbHNlO1xuICAgIHRoaXMuY2FuUmVuZGVyTWljcm9waG9uZSA9IHRydWU7XG4gICAgdGhpcy5jYW5SZW5kZXJUZXh0VG9TcGVlY2hUb29sYmFyID0gZmFsc2U7XG4gICAgdGhpcy5jYW5SZW5kZXJUZXh0VG9TcGVlY2ggPSB0cnVlO1xuICAgIHRoaXMuX3JlY29nbml6ZWRUZXh0ID0gJyc7XG4gICAgdGhpcy5zZXRUZXh0QXJlYVZhbHVlKHRoaXMub3JpZ2luYWxUZXh0QXJlYUVsZW1lbnRUZXh0KTtcbiAgICB0aGlzLmRpc2FibGVkID0gZmFsc2U7XG4gICAgdGhpcy5zdG9wVGV4dFRvU3BlZWNoKCk7XG4gICAgU3BlZWNoUmVjb2duaXRpb25Db21wb25lbnQuVE9PTEJBUl9BQ1RJVkUgPSBmYWxzZTtcbiAgfVxuXG4gIG9uQXByb3ZlKCkge1xuICAgIHRoaXMuY2FuUmVuZGVyQXByb3ZlID0gZmFsc2U7XG4gICAgdGhpcy5jYW5SZW5kZXJEaXNjYXJkID0gZmFsc2U7XG4gICAgdGhpcy5jYW5SZW5kZXJNaWNyb3Bob25lID0gdHJ1ZTtcbiAgICB0aGlzLmNhblJlbmRlclRleHRUb1NwZWVjaFRvb2xiYXIgPSBmYWxzZTtcbiAgICB0aGlzLmNhblJlbmRlclRleHRUb1NwZWVjaCA9IHRydWU7XG4gICAgaWYgKHRoaXMua2VlcENvbnRleHQpIHtcbiAgICAgIGNvbnN0IGJyZWFrTGluZSA9IHRoaXMub3JpZ2luYWxUZXh0QXJlYUVsZW1lbnRUZXh0Lmxlbmd0aCA+IDAgPyAnXFxuJyA6ICcnO1xuICAgICAgdGhpcy5vcmlnaW5hbFRleHRBcmVhRWxlbWVudFRleHQgKz0gYCR7YnJlYWtMaW5lfSR7dGhpcy5fcmVjb2duaXplZFRleHR9YFxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm9yaWdpbmFsVGV4dEFyZWFFbGVtZW50VGV4dCA9IHRoaXMuX3JlY29nbml6ZWRUZXh0XG4gICAgfVxuICAgIHRoaXMucmVjb2duaXplZFRleHQuZW1pdCh0aGlzLmtlZXBDb250ZXh0ID8gdGhpcy5vcmlnaW5hbFRleHRBcmVhRWxlbWVudFRleHQgOiB0aGlzLl9yZWNvZ25pemVkVGV4dCk7XG4gICAgdGhpcy5zY3JvbGxUZXh0QXJlYUJvdHRvbSgpO1xuICAgIHRoaXMuX3JlY29nbml6ZWRUZXh0ID0gJyc7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGZhbHNlO1xuICAgIHRoaXMudGV4dFRvU3BlZWNoU2VydmljZS5jYW5jZWwoKTtcbiAgICBTcGVlY2hSZWNvZ25pdGlvbkNvbXBvbmVudC5UT09MQkFSX0FDVElWRSA9IGZhbHNlO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5vbkRlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLm9uRGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHRvZ2dsZVRleHRUb1NwZWVjaCgpIHtcbiAgICBpZiAodGhpcy5pc1BsYXlpbmdUZXh0VG9TcGVlY2gpIHtcbiAgICAgIHRoaXMudGV4dFRvU3BlZWNoU2VydmljZS5wYXVzZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5pc0RvbmVUZXh0VG9TcGVlY2gpIHtcbiAgICAgICAgdGhpcy5zcGVhaygpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy50ZXh0VG9TcGVlY2hTZXJ2aWNlLnJlc3VtZSgpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmlzUGxheWluZ1RleHRUb1NwZWVjaCA9ICF0aGlzLmlzUGxheWluZ1RleHRUb1NwZWVjaDtcbiAgfVxuXG4gIHJlc3RhcnRUZXh0VG9TcGVlY2goKSB7XG4gICAgdGhpcy50ZXh0VG9TcGVlY2hTZXJ2aWNlLmNhbmNlbCgpO1xuICAgIHRoaXMuc3BlYWsoKTtcbiAgfVxuXG4gIHVwZGF0ZVZvaWNlU3BlZWQoKSB7XG4gICAgY29uc3Qgdm9pY2VTcGVlZEluZGV4ID0gdGhpcy5WT0lDRV9TUEVFRFMuaW5kZXhPZih0aGlzLnZvaWNlU3BlZWQpO1xuICAgIGNvbnN0IG5leHRWb2ljZVNwZWVkSW5kZXggPSB0aGlzLlZPSUNFX1NQRUVEU1t2b2ljZVNwZWVkSW5kZXggKyAxXSA/IHZvaWNlU3BlZWRJbmRleCArIDEgOiAwO1xuICAgIHRoaXMudm9pY2VTcGVlZCA9IHRoaXMuVk9JQ0VfU1BFRURTW25leHRWb2ljZVNwZWVkSW5kZXhdO1xuICAgIHRoaXMudGV4dFRvU3BlZWNoU2VydmljZS5jYW5jZWwoKTtcbiAgICB0aGlzLnNwZWFrKClcbiAgfVxuXG4gIHN0b3BMaXN0ZW5pbmcoKSB7XG4gICAgdGhpcy5zcGVlY2hSZWNvZ25pdGlvblNlcnZpY2Uuc3RvcCgpO1xuICB9XG5cbiAgZ2V0IGlzTGlzdGVuaW5nKCkge1xuICAgIHJldHVybiB0aGlzLnNwZWVjaFJlY29nbml0aW9uU2VydmljZS5pc0xpc3RlbmluZ1xuICB9XG5cbiAgZ2V0IGhhc1NwZWVjaFJlY29nbml0aW9uQnJvd3NlckFwaSgpIHtcbiAgICByZXR1cm4gdGhpcy5zcGVlY2hSZWNvZ25pdGlvblNlcnZpY2UuaGFzU3VwcG9ydFNwZWVjaFJlY29nbml0aW9uO1xuICB9XG5cbiAgZ2V0IGlzRGlzYWJsZWRUZXh0VG9TcGVlY2goKSB7XG4gICAgY29uc3QgaGFzVGV4dFRvU3BlZWNoVm9pY2UgPSB0aGlzLnRleHRUb1NwZWVjaFNlcnZpY2UuaGFzVm9pY2U7XG4gICAgcmV0dXJuICF0aGlzLnRleHRUb1NwZWVjaCB8fCAhaGFzVGV4dFRvU3BlZWNoVm9pY2UgfHwgdGhpcy5pc0xpc3RlbmluZyB8fCBTcGVlY2hSZWNvZ25pdGlvbkNvbXBvbmVudC5UT09MQkFSX0FDVElWRTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0VGV4dEFyZWFWYWx1ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy50ZXh0QXJlYUVsZW1lbnQudmFsdWUgPSB2YWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgc3RvcFRleHRUb1NwZWVjaCgpIHtcbiAgICB0aGlzLmlzUGxheWluZ1RleHRUb1NwZWVjaCA9IGZhbHNlO1xuICAgIHRoaXMudGV4dFRvU3BlZWNoU2VydmljZS5jYW5jZWwoKTtcbiAgfVxuXG4gIHByaXZhdGUgc3BlYWsoKSB7XG4gICAgdGhpcy5pc0RvbmVUZXh0VG9TcGVlY2ggPSBmYWxzZTtcbiAgICB0aGlzLmlzUGxheWluZ1RleHRUb1NwZWVjaCA9IHRydWU7XG4gICAgdGhpcy50ZXh0VG9TcGVlY2hTZXJ2aWNlLnNwZWFrKHRoaXMudGV4dFRvU3BlZWNoLCB0aGlzLnZvaWNlU3BlZWQpLnRoZW4oKCkgPT4ge1xuICAgICAgdGhpcy5pc1BsYXlpbmdUZXh0VG9TcGVlY2ggPSBmYWxzZTtcbiAgICAgIHRoaXMuaXNEb25lVGV4dFRvU3BlZWNoID0gdHJ1ZTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IHRleHRUb1NwZWVjaCgpIHtcbiAgICByZXR1cm4gdGhpcy50ZXh0QXJlYUVsZW1lbnQudmFsdWU7XG4gIH1cblxufVxuIiwiQGlmKGhhc1NwZWVjaFJlY29nbml0aW9uQnJvd3NlckFwaSkge1xuICAgIDxzZWN0aW9uIGNsYXNzPVwic3BlZWNoLXJlY29nbml0aW9uXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzcGVlY2gtcmVjb2duaXRpb24tdGV4dFwiPlxuICAgICAgICAgICAgQGlmKGNhblJlbmRlck1pY3JvcGhvbmUpIHtcbiAgICAgICAgICAgICAgICB7eyAncGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLnRleHRfYXJlYV9iZWZvcmVfc3BlZWNoJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYoaXNMaXN0ZW5pbmdVc2VyVm9pY2UpIHtcbiAgICAgICAgICAgICAgICB7eyAncGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLnRleHRfYXJlYV93aGlsZV9zcGVlY2gnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZihjYW5SZW5kZXJBcHJvdmUgJiYgY2FuUmVuZGVyRGlzY2FyZCkge1xuICAgICAgICAgICAgICAgIHt7ICdwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMudGV4dF9hcmVhX2VuZF9zcGVlY2gnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwic3BlZWNoLXJlY29nbml0aW9uLWJ1dHRvbnNcIj5cbiAgICAgICAgICAgIEBpZihjYW5SZW5kZXJMaXN0ZW5pbmdUZXh0KSB7XG4gICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInN0b3BMaXN0ZW5pbmcoKVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic3BlZWNoLXJlY29nbml0aW9uLWl0ZW0gc3BlZWNoLXJlY29nbml0aW9uLWl0ZW0tcmVndWxhclwiPlxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhciBmYS1lbGxpcHNpcy1oXCI+PC9pPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmKGNhblJlbmRlck1pY3JvcGhvbmUpIHtcbiAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25MaXN0ZW4oKVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic3BlZWNoLXJlY29nbml0aW9uLWl0ZW0gc3BlZWNoLXJlY29nbml0aW9uLWl0ZW0tbWljcm9waG9uZVwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5zcGVlY2gtcmVjb2duaXRpb24taXRlbS1kaXNhYmxlZF09XCJpc0Rpc2FibGVkTWljcm9waG9uZSB8fCBpc0xpc3RlbmluZyB8fCBkaXNhYmxlZFwiPlxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhcyBmYS1taWNyb3Bob25lXCI+PC9pPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIH1cblxuXG4gICAgICAgICAgICBAaWYoY2FuUmVuZGVyQXByb3ZlKSB7XG4gICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQXByb3ZlKClcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNwZWVjaC1yZWNvZ25pdGlvbi1pdGVtIHNwZWVjaC1yZWNvZ25pdGlvbi1pdGVtLWFwcm92ZVwiPlxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhcyBmYS1jaGVja1wiPjwvaT5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZihjYW5SZW5kZXJEaXNjYXJkKSB7XG4gICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uRGlzY2FyZCgpXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzcGVlY2gtcmVjb2duaXRpb24taXRlbSBzcGVlY2gtcmVjb2duaXRpb24taXRlbS1kaXNjYXJkXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLXRpbWVzXCI+PC9pPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmKGNhblJlbmRlclRleHRUb1NwZWVjaCkge1xuICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbk9wZW5Ub29sYmFyKClcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNwZWVjaC1yZWNvZ25pdGlvbi1pdGVtIHNwZWVjaC1yZWNvZ25pdGlvbi1pdGVtLXJlZ3VsYXJcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3Muc3BlZWNoLXJlY29nbml0aW9uLWl0ZW0tZGlzYWJsZWRdPVwiaXNEaXNhYmxlZFRleHRUb1NwZWVjaFwiPlxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhcyBmYS12b2x1bWUtZG93blwiPjwvaT5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZihjYW5SZW5kZXJUZXh0VG9TcGVlY2hUb29sYmFyKSB7XG4gICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzcGVlY2gtcmVjb2duaXRpb24taXRlbS10b29sYmFyXCI+XG4gICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhc1wiIFtjbGFzcy5mYS1wYXVzZV09XCJpc1BsYXlpbmdUZXh0VG9TcGVlY2hcIiBbY2xhc3MuZmEtcGxheV09XCIhaXNQbGF5aW5nVGV4dFRvU3BlZWNoXCJcbiAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVUZXh0VG9TcGVlY2goKVwiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLWJhY2t3YXJkXCIgKGNsaWNrKT1cInJlc3RhcnRUZXh0VG9TcGVlY2goKVwiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIChjbGljayk9XCJ1cGRhdGVWb2ljZVNwZWVkKClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyB2b2ljZVNwZWVkIH19eFxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtdGltZXNcIiAoY2xpY2spPVwib25DbG9zZVRvb2xiYXIoKVwiPjwvaT5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgIDwvc2VjdGlvbj5cbn1cbiJdfQ==
|
|
238
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlZWNoLXJlY29nbml0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zcGVlY2gtcmVjb2duaXRpb24vc3JjL2xpYi9zcGVlY2gtcmVjb2duaXRpb24vc3BlZWNoLXJlY29nbml0aW9uL3NwZWVjaC1yZWNvZ25pdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3BlZWNoLXJlY29nbml0aW9uL3NyYy9saWIvc3BlZWNoLXJlY29nbml0aW9uL3NwZWVjaC1yZWNvZ25pdGlvbi9zcGVlY2gtcmVjb2duaXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBSTNDOzs7Ozs7Ozs7Ozs7O0dBYUc7QUFNSCxNQUFNLE9BQU8sMEJBQTBCO0lBb0NkO0lBQ0E7SUFDQTtJQXJDYixNQUFNLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztJQUN0QyxrSEFBa0g7SUFDdkYsZUFBZSxDQUF1QjtJQUNqRSxtSEFBbUg7SUFDMUcsV0FBVyxHQUFHLEtBQUssQ0FBQztJQUM3QixnR0FBZ0c7SUFDdkYsNEJBQTRCLEdBQUcsRUFBRSxDQUFDO0lBQ25DLGVBQWUsR0FBRyxFQUFFLENBQUM7SUFDckIsMkJBQTJCLEdBQUcsRUFBRSxDQUFDO0lBQ2pDLGtCQUFrQixHQUFHLEtBQUssQ0FBQztJQUNsQixVQUFVLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUNqQyxZQUFZLEdBQUcsQ0FB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QUMsS0FBYTtRQUNsQyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDdkMsQ0FBQztJQUVPLGdCQUFnQjtRQUNwQixJQUFJLENBQUMscUJBQXFCLEdBQUcsS0FBSyxDQUFDO1FBQ25DLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRU8sS0FBSztRQUNULElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUM7UUFDaEMsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQztRQUNsQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDekUsSUFBSSxDQUFDLHFCQUFxQixHQUFHLEtBQUssQ0FBQztZQUNuQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDO1FBQ25DLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELElBQVksWUFBWTtRQUNwQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDO0lBQ3RDLENBQUM7d0dBNU5RLDBCQUEwQjs0RkFBMUIsMEJBQTBCLHFQQzFCdkMscStGQTBFQTs7NEZEaERhLDBCQUEwQjtrQkFMdEMsU0FBUzsrQkFDSSxzQkFBc0I7OEpBT0wsZUFBZTtzQkFBekMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBRWhCLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcsNEJBQTRCO3NCQUFwQyxLQUFLO2dCQTJCSSxjQUFjO3NCQUF2QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBTcGVlY2hSZWNvZ25pdGlvblNlcnZpY2UgfSBmcm9tICcuLi9zcGVlY2gtcmVjb2duaXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBUZXh0VG9TcGVlY2hTZXJ2aWNlIH0gZnJvbSAnLi4vdGV4dC10by1zcGVlY2guc2VydmljZSc7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIENvbXBvbmVudGUgZGUgcmVjb25oZWNpbWVudG8gZGUgdm96IHF1ZSBpbnRlZ3JhIGEgV2ViIFNwZWVjaCBBUEkgcGFyYVxuICogdHJhbnNjcmV2ZXIgYSBmYWxhIGRvIHVzdcOhcmlvIGVtIHRleHRvLCBpbnNlcsOtZGEgZGlyZXRhbWVudGUgZW0gdW0gYDx0ZXh0YXJlYT5gIGZvcm5lY2lkby5cbiAqIFN1cG9ydGEgdGFtYsOpbSB0ZXh0LXRvLXNwZWVjaCBwYXJhIGxlaXR1cmEgZW0gdm96IGFsdGEgZG8gY29udGXDumRvIGRvIGNhbXBvLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGBodG1sXG4gKiA8cy1zcGVlY2gtcmVjb2duaXRpb25cbiAqICAgW3RleHRBcmVhRWxlbWVudF09XCJ0ZXh0QXJlYVJlZi5uYXRpdmVFbGVtZW50XCJcbiAqICAgKHJlY29nbml6ZWRUZXh0KT1cIm9uVGV4dG9SZWNvbmhlY2lkbygkZXZlbnQpXCIgLz5cbiAqIGBgYFxuICpcbiAqIEBjYXRlZ29yeSBJbnB1dHNcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzLXNwZWVjaC1yZWNvZ25pdGlvbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NwZWVjaC1yZWNvZ25pdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc3BlZWNoLXJlY29nbml0aW9uLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNwZWVjaFJlY29nbml0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIHByaXZhdGUgc3RhdGljIFRPT0xCQVJfQUNUSVZFID0gZmFsc2U7XG4gICAgLyoqIEBkZXNjcmlwdGlvbiBSZWZlcsOqbmNpYSBhbyBlbGVtZW50byBgPHRleHRhcmVhPmAgbmF0aXZvIHF1ZSByZWNlYmVyw6EgbyB0ZXh0byB0cmFuc2NyaXRvLiBDYW1wbyBvYnJpZ2F0w7NyaW8uICovXG4gICAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgdGV4dEFyZWFFbGVtZW50ITogSFRNTFRleHRBcmVhRWxlbWVudDtcbiAgICAvKiogQGRlc2NyaXB0aW9uIFF1YW5kbyBgdHJ1ZWAsIG1hbnTDqW0gbyB0ZXh0byBleGlzdGVudGUgbm8gY2FtcG8gYW8gaW5pY2lhciBub3ZvIHJlY29uaGVjaW1lbnRvLiBAZGVmYXVsdCBmYWxzZSAqL1xuICAgIEBJbnB1dCgpIGtlZXBDb250ZXh0ID0gZmFsc2U7XG4gICAgLyoqIEBkZXNjcmlwdGlvbiBQbGFjZWhvbGRlciBleGliaWRvIG5vIHRleHRhcmVhIGR1cmFudGUgbyByZWNvbmhlY2ltZW50byBkZSB2b3ouIEBkZWZhdWx0ICcnICovXG4gICAgQElucHV0KCkgc3BlZWNoUmVjb2duaXRpb25QbGFjZWhvbGRlciA9ICcnO1xuICAgIHByaXZhdGUgX3JlY29nbml6ZWRUZXh0ID0gJyc7XG4gICAgcHJpdmF0ZSBvcmlnaW5hbFRleHRBcmVhRWxlbWVudFRleHQgPSAnJztcbiAgICBwcml2YXRlIGlzRG9uZVRleHRUb1NwZWVjaCA9IGZhbHNlO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgb25EZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBWT0lDRV9TUEVFRFMgPSBbMC41LCAxLCAxLjUsIDJdO1xuICAgIHByaXZhdGUgcmVhZG9ubHkga2V5ZG93bkV2ZW50TGlzdGVuZXIgPSAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgZGlzYWJsZWQgPSBmYWxzZTtcbiAgICBpc0xpc3RlbmluZ1VzZXJWb2ljZSA9IGZhbHNlO1xuICAgIHZvaWNlU3BlZWQgPSAxO1xuICAgIGlzRGlzYWJsZWRNaWNyb3Bob25lID0gZmFsc2U7XG5cbiAgICBjYW5SZW5kZXJNaWNyb3Bob25lID0gdHJ1ZTtcbiAgICBjYW5SZW5kZXJUZXh0VG9TcGVlY2ggPSB0cnVlO1xuICAgIGNhblJlbmRlckxpc3RlbmluZ1RleHQgPSBmYWxzZTtcbiAgICBjYW5SZW5kZXJEaXNjYXJkID0gZmFsc2U7XG4gICAgY2FuUmVuZGVyQXByb3ZlID0gZmFsc2U7XG4gICAgY2FuUmVuZGVyVGV4dFRvU3BlZWNoVG9vbGJhciA9IGZhbHNlO1xuXG4gICAgaXNQbGF5aW5nVGV4dFRvU3BlZWNoID0gZmFsc2U7XG5cbiAgICAvKiogQGRlc2NyaXB0aW9uIEVtaXRpZG8gcXVhbmRvIG8gcmVjb25oZWNpbWVudG8gZGUgdm96IMOpIGNvbmNsdcOtZG8sIGNvbSBvIHRleHRvIHRyYW5zY3JpdG8uICovXG4gICAgQE91dHB1dCgpIHJlY29nbml6ZWRUZXh0ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgc3BlZWNoUmVjb2duaXRpb25TZXJ2aWNlOiBTcGVlY2hSZWNvZ25pdGlvblNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdGV4dFRvU3BlZWNoU2VydmljZTogVGV4dFRvU3BlZWNoU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICkge31cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuaGFzU3BlZWNoUmVjb2duaXRpb25Ccm93c2VyQXBpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0aGlzLnRleHRBcmVhRWxlbWVudCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCd0ZXh0QXJlYUVsZW1lbnQgaXMgcmVxdWlyZWQnKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnRleHRBcmVhRWxlbWVudC5wbGFjZWhvbGRlciA9IHRoaXMuc3BlZWNoUmVjb2duaXRpb25QbGFjZWhvbGRlclxuICAgICAgICAgICAgPyB0aGlzLnNwZWVjaFJlY29nbml0aW9uUGxhY2Vob2xkZXJcbiAgICAgICAgICAgIDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3BsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy50ZXh0X2FyZWFfc3BlZWNoX3JlY29nbml0aW9uX3BsYWNlaG9sZGVyJyk7XG4gICAgICAgIHRoaXMudGV4dEFyZWFFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCB0aGlzLmtleWRvd25FdmVudExpc3RlbmVyKTtcbiAgICAgICAgdGhpcy5zcGVlY2hSZWNvZ25pdGlvblNlcnZpY2UubWljcm9waG9uZVN0YXR1cyQucGlwZSh0YWtlVW50aWwodGhpcy5vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKChzdGF0dXMpID0+IHtcbiAgICAgICAgICAgIGlmIChzdGF0dXMgPT09ICdhY3RpdmUnKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vbkNsb3NlVG9vbGJhcigpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvbkxpc3RlbigpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNEaXNhYmxlZE1pY3JvcGhvbmUgfHwgdGhpcy5pc0xpc3RlbmluZykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLmNhblJlbmRlck1pY3JvcGhvbmUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5jYW5SZW5kZXJMaXN0ZW5pbmdUZXh0ID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5vcmlnaW5hbFRleHRBcmVhRWxlbWVudFRleHQgPSB0aGlzLnRleHRBcmVhRWxlbWVudC52YWx1ZTtcbiAgICAgICAgdGhpcy50ZXh0QXJlYUVsZW1lbnQudmFsdWUgPSAnJztcbiAgICAgICAgdGhpcy5pc0xpc3RlbmluZ1VzZXJWb2ljZSA9IHRydWU7XG4gICAgICAgIHRoaXMuc3BlZWNoUmVjb2duaXRpb25TZXJ2aWNlXG4gICAgICAgICAgICAubGlzdGVuKClcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgICAoeyB0ZXh0LCBpc0ZpbmFsIH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fcmVjb2duaXplZFRleHQgPSB0ZXh0O1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFRleHRBcmVhVmFsdWUodGV4dCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2Nyb2xsVGV4dEFyZWFCb3R0b20oKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGlzRmluYWwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2FuUmVuZGVyQXByb3ZlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2FuUmVuZGVyRGlzY2FyZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNhblJlbmRlckxpc3RlbmluZ1RleHQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaXNMaXN0ZW5pbmdVc2VyVm9pY2UgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzTGlzdGVuaW5nVXNlclZvaWNlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2FuUmVuZGVyTWljcm9waG9uZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNEaXNhYmxlZE1pY3JvcGhvbmUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jYW5SZW5kZXJMaXN0ZW5pbmdUZXh0ID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNjcm9sbFRleHRBcmVhQm90dG9tKCkge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMudGV4dEFyZWFFbGVtZW50LnNjcm9sbFRvcCA9IHRoaXMudGV4dEFyZWFFbGVtZW50LnNjcm9sbEhlaWdodDtcbiAgICAgICAgfSwgMTIwKTtcbiAgICB9XG5cbiAgICBvbk9wZW5Ub29sYmFyKCkge1xuICAgICAgICBpZiAodGhpcy5pc0Rpc2FibGVkVGV4dFRvU3BlZWNoKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jYW5SZW5kZXJUZXh0VG9TcGVlY2hUb29sYmFyID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5jYW5SZW5kZXJUZXh0VG9TcGVlY2ggPSBmYWxzZTtcbiAgICAgICAgU3BlZWNoUmVjb2duaXRpb25Db21wb25lbnQuVE9PTEJBUl9BQ1RJVkUgPSB0cnVlO1xuICAgICAgICB0aGlzLnNwZWFrKCk7XG4gICAgfVxuXG4gICAgb25DbG9zZVRvb2xiYXIoKSB7XG4gICAgICAgIHRoaXMuY2FuUmVuZGVyVGV4dFRvU3BlZWNoVG9vbGJhciA9IGZhbHNlO1xuICAgICAgICB0aGlzLmNhblJlbmRlclRleHRUb1NwZWVjaCA9IHRydWU7XG4gICAgICAgIHRoaXMuc3RvcFRleHRUb1NwZWVjaCgpO1xuICAgICAgICB0aGlzLnZvaWNlU3BlZWQgPSAxO1xuICAgICAgICBTcGVlY2hSZWNvZ25pdGlvbkNvbXBvbmVudC5UT09MQkFSX0FDVElWRSA9IGZhbHNlO1xuICAgIH1cbiAgICBvbkRpc2NhcmQoKSB7XG4gICAgICAgIHRoaXMuY2FuUmVuZGVyQXByb3ZlID0gZmFsc2U7XG4gICAgICAgIHRoaXMuY2FuUmVuZGVyRGlzY2FyZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmNhblJlbmRlck1pY3JvcGhvbmUgPSB0cnVlO1xuICAgICAgICB0aGlzLmNhblJlbmRlclRleHRUb1NwZWVjaFRvb2xiYXIgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5jYW5SZW5kZXJUZXh0VG9TcGVlY2ggPSB0cnVlO1xuICAgICAgICB0aGlzLl9yZWNvZ25pemVkVGV4dCA9ICcnO1xuICAgICAgICB0aGlzLnNldFRleHRBcmVhVmFsdWUodGhpcy5vcmlnaW5hbFRleHRBcmVhRWxlbWVudFRleHQpO1xuICAgICAgICB0aGlzLmRpc2FibGVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMuc3RvcFRleHRUb1NwZWVjaCgpO1xuICAgICAgICBTcGVlY2hSZWNvZ25pdGlvbkNvbXBvbmVudC5UT09MQkFSX0FDVElWRSA9IGZhbHNlO1xuICAgIH1cblxuICAgIG9uQXByb3ZlKCkge1xuICAgICAgICB0aGlzLmNhblJlbmRlckFwcm92ZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLmNhblJlbmRlckRpc2NhcmQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5jYW5SZW5kZXJNaWNyb3Bob25lID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5jYW5SZW5kZXJUZXh0VG9TcGVlY2hUb29sYmFyID0gZmFsc2U7XG4gICAgICAgIHRoaXMuY2FuUmVuZGVyVGV4dFRvU3BlZWNoID0gdHJ1ZTtcbiAgICAgICAgaWYgKHRoaXMua2VlcENvbnRleHQpIHtcbiAgICAgICAgICAgIGNvbnN0IGJyZWFrTGluZSA9IHRoaXMub3JpZ2luYWxUZXh0QXJlYUVsZW1lbnRUZXh0Lmxlbmd0aCA+IDAgPyAnXFxuJyA6ICcnO1xuICAgICAgICAgICAgdGhpcy5vcmlnaW5hbFRleHRBcmVhRWxlbWVudFRleHQgKz0gYCR7YnJlYWtMaW5lfSR7dGhpcy5fcmVjb2duaXplZFRleHR9YDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMub3JpZ2luYWxUZXh0QXJlYUVsZW1lbnRUZXh0ID0gdGhpcy5fcmVjb2duaXplZFRleHQ7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5yZWNvZ25pemVkVGV4dC5lbWl0KHRoaXMua2VlcENvbnRleHQgPyB0aGlzLm9yaWdpbmFsVGV4dEFyZWFFbGVtZW50VGV4dCA6IHRoaXMuX3JlY29nbml6ZWRUZXh0KTtcbiAgICAgICAgdGhpcy5zY3JvbGxUZXh0QXJlYUJvdHRvbSgpO1xuICAgICAgICB0aGlzLl9yZWNvZ25pemVkVGV4dCA9ICcnO1xuICAgICAgICB0aGlzLmRpc2FibGVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMudGV4dFRvU3BlZWNoU2VydmljZS5jYW5jZWwoKTtcbiAgICAgICAgU3BlZWNoUmVjb2duaXRpb25Db21wb25lbnQuVE9PTEJBUl9BQ1RJVkUgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkRlc3Ryb3kkLm5leHQoKTtcbiAgICAgICAgdGhpcy5vbkRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgdG9nZ2xlVGV4dFRvU3BlZWNoKCkge1xuICAgICAgICBpZiAodGhpcy5pc1BsYXlpbmdUZXh0VG9TcGVlY2gpIHtcbiAgICAgICAgICAgIHRoaXMudGV4dFRvU3BlZWNoU2VydmljZS5wYXVzZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKHRoaXMuaXNEb25lVGV4dFRvU3BlZWNoKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zcGVhaygpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnRleHRUb1NwZWVjaFNlcnZpY2UucmVzdW1lKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pc1BsYXlpbmdUZXh0VG9TcGVlY2ggPSAhdGhpcy5pc1BsYXlpbmdUZXh0VG9TcGVlY2g7XG4gICAgfVxuXG4gICAgcmVzdGFydFRleHRUb1NwZWVjaCgpIHtcbiAgICAgICAgdGhpcy50ZXh0VG9TcGVlY2hTZXJ2aWNlLmNhbmNlbCgpO1xuICAgICAgICB0aGlzLnNwZWFrKCk7XG4gICAgfVxuXG4gICAgdXBkYXRlVm9pY2VTcGVlZCgpIHtcbiAgICAgICAgY29uc3Qgdm9pY2VTcGVlZEluZGV4ID0gdGhpcy5WT0lDRV9TUEVFRFMuaW5kZXhPZih0aGlzLnZvaWNlU3BlZWQpO1xuICAgICAgICBjb25zdCBuZXh0Vm9pY2VTcGVlZEluZGV4ID0gdGhpcy5WT0lDRV9TUEVFRFNbdm9pY2VTcGVlZEluZGV4ICsgMV0gPyB2b2ljZVNwZWVkSW5kZXggKyAxIDogMDtcbiAgICAgICAgdGhpcy52b2ljZVNwZWVkID0gdGhpcy5WT0lDRV9TUEVFRFNbbmV4dFZvaWNlU3BlZWRJbmRleF07XG4gICAgICAgIHRoaXMudGV4dFRvU3BlZWNoU2VydmljZS5jYW5jZWwoKTtcbiAgICAgICAgdGhpcy5zcGVhaygpO1xuICAgIH1cblxuICAgIHN0b3BMaXN0ZW5pbmcoKSB7XG4gICAgICAgIHRoaXMuc3BlZWNoUmVjb2duaXRpb25TZXJ2aWNlLnN0b3AoKTtcbiAgICB9XG5cbiAgICBnZXQgaXNMaXN0ZW5pbmcoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNwZWVjaFJlY29nbml0aW9uU2VydmljZS5pc0xpc3RlbmluZztcbiAgICB9XG5cbiAgICBnZXQgaGFzU3BlZWNoUmVjb2duaXRpb25Ccm93c2VyQXBpKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zcGVlY2hSZWNvZ25pdGlvblNlcnZpY2UuaGFzU3VwcG9ydFNwZWVjaFJlY29nbml0aW9uO1xuICAgIH1cblxuICAgIGdldCBpc0Rpc2FibGVkVGV4dFRvU3BlZWNoKCkge1xuICAgICAgICBjb25zdCBoYXNUZXh0VG9TcGVlY2hWb2ljZSA9IHRoaXMudGV4dFRvU3BlZWNoU2VydmljZS5oYXNWb2ljZTtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICF0aGlzLnRleHRUb1NwZWVjaCB8fCAhaGFzVGV4dFRvU3BlZWNoVm9pY2UgfHwgdGhpcy5pc0xpc3RlbmluZyB8fCBTcGVlY2hSZWNvZ25pdGlvbkNvbXBvbmVudC5UT09MQkFSX0FDVElWRVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0VGV4dEFyZWFWYWx1ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMudGV4dEFyZWFFbGVtZW50LnZhbHVlID0gdmFsdWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdG9wVGV4dFRvU3BlZWNoKCkge1xuICAgICAgICB0aGlzLmlzUGxheWluZ1RleHRUb1NwZWVjaCA9IGZhbHNlO1xuICAgICAgICB0aGlzLnRleHRUb1NwZWVjaFNlcnZpY2UuY2FuY2VsKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzcGVhaygpIHtcbiAgICAgICAgdGhpcy5pc0RvbmVUZXh0VG9TcGVlY2ggPSBmYWxzZTtcbiAgICAgICAgdGhpcy5pc1BsYXlpbmdUZXh0VG9TcGVlY2ggPSB0cnVlO1xuICAgICAgICB0aGlzLnRleHRUb1NwZWVjaFNlcnZpY2Uuc3BlYWsodGhpcy50ZXh0VG9TcGVlY2gsIHRoaXMudm9pY2VTcGVlZCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmlzUGxheWluZ1RleHRUb1NwZWVjaCA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5pc0RvbmVUZXh0VG9TcGVlY2ggPSB0cnVlO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCB0ZXh0VG9TcGVlY2goKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRleHRBcmVhRWxlbWVudC52YWx1ZTtcbiAgICB9XG59XG5cbiIsIkBpZihoYXNTcGVlY2hSZWNvZ25pdGlvbkJyb3dzZXJBcGkpIHtcbiAgICA8c2VjdGlvbiBjbGFzcz1cInNwZWVjaC1yZWNvZ25pdGlvblwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic3BlZWNoLXJlY29nbml0aW9uLXRleHRcIj5cbiAgICAgICAgICAgIEBpZihjYW5SZW5kZXJNaWNyb3Bob25lKSB7XG4gICAgICAgICAgICAgICAge3sgJ3BsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy50ZXh0X2FyZWFfYmVmb3JlX3NwZWVjaCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmKGlzTGlzdGVuaW5nVXNlclZvaWNlKSB7XG4gICAgICAgICAgICAgICAge3sgJ3BsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy50ZXh0X2FyZWFfd2hpbGVfc3BlZWNoJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYoY2FuUmVuZGVyQXByb3ZlICYmIGNhblJlbmRlckRpc2NhcmQpIHtcbiAgICAgICAgICAgICAgICB7eyAncGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLnRleHRfYXJlYV9lbmRfc3BlZWNoJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNwZWVjaC1yZWNvZ25pdGlvbi1idXR0b25zXCI+XG4gICAgICAgICAgICBAaWYoY2FuUmVuZGVyTGlzdGVuaW5nVGV4dCkge1xuICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzdG9wTGlzdGVuaW5nKClcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNwZWVjaC1yZWNvZ25pdGlvbi1pdGVtIHNwZWVjaC1yZWNvZ25pdGlvbi1pdGVtLXJlZ3VsYXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXIgZmEtZWxsaXBzaXMtaFwiPjwvaT5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZihjYW5SZW5kZXJNaWNyb3Bob25lKSB7XG4gICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uTGlzdGVuKClcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNwZWVjaC1yZWNvZ25pdGlvbi1pdGVtIHNwZWVjaC1yZWNvZ25pdGlvbi1pdGVtLW1pY3JvcGhvbmVcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3Muc3BlZWNoLXJlY29nbml0aW9uLWl0ZW0tZGlzYWJsZWRdPVwiaXNEaXNhYmxlZE1pY3JvcGhvbmUgfHwgaXNMaXN0ZW5pbmcgfHwgZGlzYWJsZWRcIj5cbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtbWljcm9waG9uZVwiPjwvaT5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICB9XG5cblxuICAgICAgICAgICAgQGlmKGNhblJlbmRlckFwcm92ZSkge1xuICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkFwcm92ZSgpXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzcGVlY2gtcmVjb2duaXRpb24taXRlbSBzcGVlY2gtcmVjb2duaXRpb24taXRlbS1hcHJvdmVcIj5cbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtY2hlY2tcIj48L2k+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYoY2FuUmVuZGVyRGlzY2FyZCkge1xuICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkRpc2NhcmQoKVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic3BlZWNoLXJlY29nbml0aW9uLWl0ZW0gc3BlZWNoLXJlY29nbml0aW9uLWl0ZW0tZGlzY2FyZFwiPlxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhcyBmYS10aW1lc1wiPjwvaT5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZihjYW5SZW5kZXJUZXh0VG9TcGVlY2gpIHtcbiAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25PcGVuVG9vbGJhcigpXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzcGVlY2gtcmVjb2duaXRpb24taXRlbSBzcGVlY2gtcmVjb2duaXRpb24taXRlbS1yZWd1bGFyXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnNwZWVjaC1yZWNvZ25pdGlvbi1pdGVtLWRpc2FibGVkXT1cImlzRGlzYWJsZWRUZXh0VG9TcGVlY2hcIj5cbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtdm9sdW1lLWRvd25cIj48L2k+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYoY2FuUmVuZGVyVGV4dFRvU3BlZWNoVG9vbGJhcikge1xuICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic3BlZWNoLXJlY29nbml0aW9uLWl0ZW0tdG9vbGJhclwiPlxuICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXNcIiBbY2xhc3MuZmEtcGF1c2VdPVwiaXNQbGF5aW5nVGV4dFRvU3BlZWNoXCIgW2NsYXNzLmZhLXBsYXldPVwiIWlzUGxheWluZ1RleHRUb1NwZWVjaFwiXG4gICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlVGV4dFRvU3BlZWNoKClcIj48L2k+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhcyBmYS1iYWNrd2FyZFwiIChjbGljayk9XCJyZXN0YXJ0VGV4dFRvU3BlZWNoKClcIj48L2k+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAoY2xpY2spPVwidXBkYXRlVm9pY2VTcGVlZCgpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgdm9pY2VTcGVlZCB9fXhcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLXRpbWVzXCIgKGNsaWNrKT1cIm9uQ2xvc2VUb29sYmFyKClcIj48L2k+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICA8L3NlY3Rpb24+XG59XG4iXX0=
|
|
@@ -1,13 +1,35 @@
|
|
|
1
|
-
import { Component, Input, Output, EventEmitter, HostListener
|
|
1
|
+
import { Component, Input, Output, EventEmitter, HostListener } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
import * as i1 from "@angular/common";
|
|
4
|
+
/**
|
|
5
|
+
* @description Botão composto com ação principal e dropdown de opções adicionais.
|
|
6
|
+
* Ao clicar no botão principal emite `buttonClicked`; ao clicar no ícone de seta
|
|
7
|
+
* abre/fecha o dropdown com a lista de `options`.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```html
|
|
11
|
+
* <s-split-button
|
|
12
|
+
* label="Salvar"
|
|
13
|
+
* iconClass="fas fa-save"
|
|
14
|
+
* [options]="menuOpcoes"
|
|
15
|
+
* (buttonClicked)="onSalvar()" />
|
|
16
|
+
* ```
|
|
17
|
+
*
|
|
18
|
+
* @category Inputs
|
|
19
|
+
*/
|
|
4
20
|
export class SplitButtonComponent {
|
|
5
21
|
_eRef;
|
|
22
|
+
/** @description Desabilita o botão principal e o dropdown. @default false */
|
|
6
23
|
disabled = false;
|
|
24
|
+
/** @description Classe do ícone exibido no botão principal. Campo obrigatório. */
|
|
7
25
|
iconClass;
|
|
26
|
+
/** @description Rótulo do botão principal. Campo obrigatório. */
|
|
8
27
|
label;
|
|
28
|
+
/** @description Estilo visual do botão (`'primary'` ou `'secondary'`). @default 'primary' */
|
|
9
29
|
type = 'primary';
|
|
30
|
+
/** @description Lista de opções exibidas no dropdown. Campo obrigatório. */
|
|
10
31
|
options;
|
|
32
|
+
/** @description Emitido quando o usuário clica no botão principal (não no dropdown). */
|
|
11
33
|
buttonClicked = new EventEmitter();
|
|
12
34
|
open = false;
|
|
13
35
|
constructor(_eRef) {
|
|
@@ -61,4 +83,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
61
83
|
type: HostListener,
|
|
62
84
|
args: ['document:click', ['$event']]
|
|
63
85
|
}] } });
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BsaXQtYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zcGxpdC1idXR0b24vc3JjL2xpYi9zcGxpdC1idXR0b24vc3BsaXQtYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zcGxpdC1idXR0b24vc3JjL2xpYi9zcGxpdC1idXR0b24vc3BsaXQtYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFjLE1BQU0sZUFBZSxDQUFDOzs7QUFLakc7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBTUgsTUFBTSxPQUFPLG9CQUFvQjtJQTJCQTtJQTFCN0IsNkVBQTZFO0lBRXRFLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFFeEIsa0ZBQWtGO0lBRTNFLFNBQVMsQ0FBVTtJQUUxQixpRUFBaUU7SUFFMUQsS0FBSyxDQUFVO0lBRXRCLDZGQUE2RjtJQUV0RixJQUFJLEdBQW9CLFNBQVMsQ0FBQztJQUV6Qyw0RUFBNEU7SUFFckUsT0FBTyxDQUF1QjtJQUVyQyx3RkFBd0Y7SUFFakYsYUFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFFbkMsSUFBSSxHQUFHLEtBQUssQ0FBQztJQUVwQixZQUE2QixLQUFpQjtRQUFqQixVQUFLLEdBQUwsS0FBSyxDQUFZO0lBQUcsQ0FBQztJQUczQyxVQUFVLENBQUMsS0FBaUI7UUFDL0IsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUNuRCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDMUIsQ0FBQztJQUNMLENBQUM7SUFFTSxhQUFhO1FBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDMUIsQ0FBQztJQUNMLENBQUM7SUFFTSxlQUFlO1FBQ2xCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDM0IsQ0FBQztJQUNMLENBQUM7SUFFTSxhQUFhLENBQUMsTUFBeUI7UUFDMUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFTyxjQUFjO1FBQ2xCLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO0lBQ3RCLENBQUM7d0dBeERRLG9CQUFvQjs0RkFBcEIsb0JBQW9CLGdSQzFCakMsbW1DQTRDQTs7NEZEbEJhLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDSSxnQkFBZ0I7K0VBT25CLFFBQVE7c0JBRGQsS0FBSztnQkFLQyxTQUFTO3NCQURmLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUtsQixLQUFLO3NCQURYLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUtsQixJQUFJO3NCQURWLEtBQUs7Z0JBS0MsT0FBTztzQkFEYixLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFLbEIsYUFBYTtzQkFEbkIsTUFBTTtnQkFRQSxVQUFVO3NCQURoQixZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTcGxpdEJ1dHRvbk9wdGlvbiB9IGZyb20gJy4vbW9kZWxzL3NwbGl0LWJ1dHRvbi1vcHRpb24nO1xuaW1wb3J0IHsgU3BsaXRCdXR0b25UeXBlIH0gZnJvbSAnLi9tb2RlbHMvc3BsaXQtYnV0dG9uLXR5cGUnO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBCb3TDo28gY29tcG9zdG8gY29tIGHDp8OjbyBwcmluY2lwYWwgZSBkcm9wZG93biBkZSBvcMOnw7VlcyBhZGljaW9uYWlzLlxuICogQW8gY2xpY2FyIG5vIGJvdMOjbyBwcmluY2lwYWwgZW1pdGUgYGJ1dHRvbkNsaWNrZWRgOyBhbyBjbGljYXIgbm8gw61jb25lIGRlIHNldGFcbiAqIGFicmUvZmVjaGEgbyBkcm9wZG93biBjb20gYSBsaXN0YSBkZSBgb3B0aW9uc2AuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYGh0bWxcbiAqIDxzLXNwbGl0LWJ1dHRvblxuICogICBsYWJlbD1cIlNhbHZhclwiXG4gKiAgIGljb25DbGFzcz1cImZhcyBmYS1zYXZlXCJcbiAqICAgW29wdGlvbnNdPVwibWVudU9wY29lc1wiXG4gKiAgIChidXR0b25DbGlja2VkKT1cIm9uU2FsdmFyKClcIiAvPlxuICogYGBgXG4gKlxuICogQGNhdGVnb3J5IElucHV0c1xuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3Mtc3BsaXQtYnV0dG9uJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc3BsaXQtYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zcGxpdC1idXR0b24uY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3BsaXRCdXR0b25Db21wb25lbnQge1xuICAgIC8qKiBAZGVzY3JpcHRpb24gRGVzYWJpbGl0YSBvIGJvdMOjbyBwcmluY2lwYWwgZSBvIGRyb3Bkb3duLiBAZGVmYXVsdCBmYWxzZSAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgICAvKiogQGRlc2NyaXB0aW9uIENsYXNzZSBkbyDDrWNvbmUgZXhpYmlkbyBubyBib3TDo28gcHJpbmNpcGFsLiBDYW1wbyBvYnJpZ2F0w7NyaW8uICovXG4gICAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSlcbiAgICBwdWJsaWMgaWNvbkNsYXNzITogc3RyaW5nO1xuXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBSw7N0dWxvIGRvIGJvdMOjbyBwcmluY2lwYWwuIENhbXBvIG9icmlnYXTDs3Jpby4gKi9cbiAgICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KVxuICAgIHB1YmxpYyBsYWJlbCE6IHN0cmluZztcblxuICAgIC8qKiBAZGVzY3JpcHRpb24gRXN0aWxvIHZpc3VhbCBkbyBib3TDo28gKGAncHJpbWFyeSdgIG91IGAnc2Vjb25kYXJ5J2ApLiBAZGVmYXVsdCAncHJpbWFyeScgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB0eXBlOiBTcGxpdEJ1dHRvblR5cGUgPSAncHJpbWFyeSc7XG5cbiAgICAvKiogQGRlc2NyaXB0aW9uIExpc3RhIGRlIG9ww6fDtWVzIGV4aWJpZGFzIG5vIGRyb3Bkb3duLiBDYW1wbyBvYnJpZ2F0w7NyaW8uICovXG4gICAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSlcbiAgICBwdWJsaWMgb3B0aW9ucyE6IFNwbGl0QnV0dG9uT3B0aW9uW107XG5cbiAgICAvKiogQGRlc2NyaXB0aW9uIEVtaXRpZG8gcXVhbmRvIG8gdXN1w6FyaW8gY2xpY2Egbm8gYm90w6NvIHByaW5jaXBhbCAobsOjbyBubyBkcm9wZG93bikuICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGJ1dHRvbkNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBwdWJsaWMgb3BlbiA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBfZVJlZjogRWxlbWVudFJlZikge31cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQnXSlcbiAgICBwdWJsaWMgb25DbGlja291dChldmVudDogTW91c2VFdmVudCkge1xuICAgICAgICBpZiAoIXRoaXMuX2VSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQpKSB7XG4gICAgICAgICAgICB0aGlzLl9jbG9zZURyb3Bkb3duKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgb25CdXR0b25DbGljaygpIHtcbiAgICAgICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICB0aGlzLmJ1dHRvbkNsaWNrZWQuZW1pdCgpO1xuICAgICAgICAgICAgdGhpcy5fY2xvc2VEcm9wZG93bigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG9uRHJvcGRvd25DbGljaygpIHtcbiAgICAgICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICB0aGlzLm9wZW4gPSAhdGhpcy5vcGVuO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG9uT3B0aW9uQ2xpY2sob3B0aW9uOiBTcGxpdEJ1dHRvbk9wdGlvbikge1xuICAgICAgICBvcHRpb24uYWN0aW9uPy4oKTtcbiAgICAgICAgdGhpcy5fY2xvc2VEcm9wZG93bigpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2Nsb3NlRHJvcGRvd24oKSB7XG4gICAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgIH1cbn1cblxuIiwiPGRpdlxuICAgIGNsYXNzPVwic3BsaXQtYnV0dG9uXCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICdzcGxpdC1idXR0b24tLXByaW1hcnknOiB0eXBlID09PSAncHJpbWFyeScsXG4gICAgICAgICdzcGxpdC1idXR0b24tLXNlY29uZGFyeSc6IHR5cGUgPT09ICdzZWNvbmRhcnknLFxuICAgICAgICAnc3BsaXQtYnV0dG9uLS1kZWZhdWx0JzogdHlwZSA9PT0gJ2RlZmF1bHQnLFxuICAgICAgICAnc3BsaXQtYnV0dG9uLS1kaXNhYmxlZCc6IGRpc2FibGVkLFxuICAgIH1cIlxuPlxuICAgIDxidXR0b25cbiAgICAgICAgY2xhc3M9XCJidXR0b25cIlxuICAgICAgICAoY2xpY2spPVwib25CdXR0b25DbGljaygpXCJcbiAgICA+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgICBjbGFzcz1cImJ1dHRvbl9faWNvblwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJpY29uQ2xhc3NcIlxuICAgICAgICA+PC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImJ1dHRvbl9fbGFiZWxcIj57eyBsYWJlbCB9fTwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uXG4gICAgICAgIGNsYXNzPVwiZHJvcGRvd25cIlxuICAgICAgICAoY2xpY2spPVwib25Ecm9wZG93bkNsaWNrKClcIlxuICAgID5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICAgIGNsYXNzPVwiZHJvcGRvd25fX2ljb25cIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgIGZhcjogdHJ1ZSxcbiAgICAgICAgICAgICAgICAnZmEtY2hldnJvbi1kb3duJzogIW9wZW4sXG4gICAgICAgICAgICAgICAgJ2ZhLWNoZXZyb24tdXAnOiBvcGVuLFxuICAgICAgICAgICAgfVwiXG4gICAgICAgID5cbiAgICAgICAgPC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuPC9kaXY+XG5cbkBpZiAodGhpcy5vcGVuKSB7XG4gICAgPHVsIGNsYXNzPVwib3B0aW9uc1wiPlxuICAgICAgICBAZm9yIChvcHRpb24gb2Ygb3B0aW9uczsgdHJhY2sgb3B0aW9uLnRpdGxlKSB7XG4gICAgICAgICAgICA8bGkgKGNsaWNrKT1cIm9uT3B0aW9uQ2xpY2sob3B0aW9uKVwiPlxuICAgICAgICAgICAgICAgIHt7IG9wdGlvbi50aXRsZSB9fVxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgfVxuICAgIDwvdWw+XG59XG4iXX0=
|
|
@@ -2,12 +2,28 @@ import { Component, computed, input, model } from '@angular/core';
|
|
|
2
2
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
3
|
import { InteractiveContentDirective } from '@seniorsistemas/angular-components/interactive-content';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
|
+
/**
|
|
6
|
+
* @description Componente de avaliação por estrelas com suporte a `ControlValueAccessor`
|
|
7
|
+
* para integração com formulários Angular. Permite configurar o número de estrelas,
|
|
8
|
+
* alinhamento e estado desabilitado. Clicar na estrela já selecionada a deseleciona.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```html
|
|
12
|
+
* <s-star-rating [starsRange]="5" formControlName="avaliacao" />
|
|
13
|
+
* ```
|
|
14
|
+
*
|
|
15
|
+
* @category Inputs
|
|
16
|
+
*/
|
|
5
17
|
export class StarRatingComponent {
|
|
6
18
|
onChange = () => { };
|
|
7
19
|
onTouched = () => { };
|
|
20
|
+
/** @description Índice da estrela atualmente selecionada (1-based). @default 0 */
|
|
8
21
|
selectedStar = model(0);
|
|
22
|
+
/** @description Número total de estrelas exibidas. @default 5 */
|
|
9
23
|
starsRange = input(5);
|
|
24
|
+
/** @description Alinhamento horizontal das estrelas. @default 'center' */
|
|
10
25
|
justifyContent = input('center');
|
|
26
|
+
/** @description Desabilita a seleção de estrelas. @default false */
|
|
11
27
|
disabled = model(false);
|
|
12
28
|
elementsRender = computed(() => {
|
|
13
29
|
const elements = this.starsRange();
|
|
@@ -60,4 +76,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
60
76
|
},
|
|
61
77
|
], template: "@let justifyContentClassName = 'justify-' + justifyContent();\n<section [class]=\"justifyContentClassName\" class=\"flex gap-2\" [class.opacity-50]=\"disabled()\">\n @for(item of elementsRender(); track item) {\n @let isActivated = selectedStar() <= item;\n <i\n [class.fas]=\"!isActivated\"\n [class.far]=\"isActivated\"\n [class.cursor-pointer]=\"!disabled()\"\n class=\"fa-star text-[#F5A319] cursor-pointer\"\n (sInteractiveContent)=\"onSelectStar(item + 1)\">\n </i>\n }\n</section>\n" }]
|
|
62
78
|
}] });
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Rhci1yYXRpbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL3N0YXItcmF0aW5nL3NyYy9zdGFyLXJhdGluZy9zdGFyLXJhdGluZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3Rhci1yYXRpbmcvc3JjL3N0YXItcmF0aW5nL3N0YXItcmF0aW5nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEUsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDOztBQUdyRzs7Ozs7Ozs7Ozs7R0FXRztBQWVILE1BQU0sT0FBTyxtQkFBbUI7SUFDNUIsUUFBUSxHQUE0QixHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7SUFDN0MsU0FBUyxHQUE0QixHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7SUFFOUMsa0ZBQWtGO0lBQ2xGLFlBQVksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDeEIsaUVBQWlFO0lBQ2pFLFVBQVUsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdEIsMEVBQTBFO0lBQzFFLGNBQWMsR0FBRyxLQUFLLENBQWUsUUFBUSxDQUFDLENBQUM7SUFDL0Msb0VBQW9FO0lBQ3BFLFFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFTCxjQUFjLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtRQUM5QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDbkMsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDeEUsQ0FBQyxDQUFDLENBQUM7SUFFSCxVQUFVLENBQUMsR0FBVztRQUNsQixJQUFJLEdBQUcsS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQy9CLENBQUM7SUFDTCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsRUFBMkI7UUFDeEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQWM7UUFDNUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELGdCQUFnQixDQUFDLFVBQW1CO1FBQ2hDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxZQUFZLENBQUMsYUFBcUI7UUFDOUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRU8sVUFBVSxDQUFDLGFBQXFCO1FBQ3BDLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUM7WUFDbEIsT0FBTztRQUNYLENBQUM7UUFDRCxJQUFJLGFBQWEsS0FBSyxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQztZQUN4QyxhQUFhLEdBQUcsQ0FBQyxDQUFDO1FBQ3RCLENBQUM7UUFDRCxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNsQyxDQUFDO3dHQWxEUSxtQkFBbUI7NEZBQW5CLG1CQUFtQiw2ckJBUmpCO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLG1CQUFtQjtnQkFDaEMsS0FBSyxFQUFFLElBQUk7YUFDZDtTQUNKLDBCQzdCTCw2akJBYUEsMERET2MsMkJBQTJCOzs0RkFXNUIsbUJBQW1CO2tCQWQvQixTQUFTOytCQUNJLGVBQWUsY0FDYixJQUFJLFdBQ1AsQ0FBQywyQkFBMkIsQ0FBQyxhQUczQjt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLHFCQUFxQjs0QkFDaEMsS0FBSyxFQUFFLElBQUk7eUJBQ2Q7cUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBpbnB1dCwgbW9kZWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEludGVyYWN0aXZlQ29udGVudERpcmVjdGl2ZSB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvaW50ZXJhY3RpdmUtY29udGVudCc7XG5pbXBvcnQgeyBKdXN0aWZ5VHlwZXMgfSBmcm9tICcuL3N0YXItcmF0aW5nLW1vZGVscyc7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIENvbXBvbmVudGUgZGUgYXZhbGlhw6fDo28gcG9yIGVzdHJlbGFzIGNvbSBzdXBvcnRlIGEgYENvbnRyb2xWYWx1ZUFjY2Vzc29yYFxuICogcGFyYSBpbnRlZ3Jhw6fDo28gY29tIGZvcm11bMOhcmlvcyBBbmd1bGFyLiBQZXJtaXRlIGNvbmZpZ3VyYXIgbyBuw7ptZXJvIGRlIGVzdHJlbGFzLFxuICogYWxpbmhhbWVudG8gZSBlc3RhZG8gZGVzYWJpbGl0YWRvLiBDbGljYXIgbmEgZXN0cmVsYSBqw6Egc2VsZWNpb25hZGEgYSBkZXNlbGVjaW9uYS5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgaHRtbFxuICogPHMtc3Rhci1yYXRpbmcgW3N0YXJzUmFuZ2VdPVwiNVwiIGZvcm1Db250cm9sTmFtZT1cImF2YWxpYWNhb1wiIC8+XG4gKiBgYGBcbiAqXG4gKiBAY2F0ZWdvcnkgSW5wdXRzXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncy1zdGFyLXJhdGluZycsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbSW50ZXJhY3RpdmVDb250ZW50RGlyZWN0aXZlXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc3Rhci1yYXRpbmcuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9zdGFyLXJhdGluZy5jb21wb25lbnQuc2NzcycsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IFN0YXJSYXRpbmdDb21wb25lbnQsXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTdGFyUmF0aW5nQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICAgIG9uQ2hhbmdlOiAodmFsdWU6IG51bWJlcikgPT4gdm9pZCA9ICgpID0+IHt9O1xuICAgIG9uVG91Y2hlZDogKHZhbHVlOiBudW1iZXIpID0+IHZvaWQgPSAoKSA9PiB7fTtcblxuICAgIC8qKiBAZGVzY3JpcHRpb24gw41uZGljZSBkYSBlc3RyZWxhIGF0dWFsbWVudGUgc2VsZWNpb25hZGEgKDEtYmFzZWQpLiBAZGVmYXVsdCAwICovXG4gICAgc2VsZWN0ZWRTdGFyID0gbW9kZWwoMCk7XG4gICAgLyoqIEBkZXNjcmlwdGlvbiBOw7ptZXJvIHRvdGFsIGRlIGVzdHJlbGFzIGV4aWJpZGFzLiBAZGVmYXVsdCA1ICovXG4gICAgc3RhcnNSYW5nZSA9IGlucHV0KDUpO1xuICAgIC8qKiBAZGVzY3JpcHRpb24gQWxpbmhhbWVudG8gaG9yaXpvbnRhbCBkYXMgZXN0cmVsYXMuIEBkZWZhdWx0ICdjZW50ZXInICovXG4gICAganVzdGlmeUNvbnRlbnQgPSBpbnB1dDxKdXN0aWZ5VHlwZXM+KCdjZW50ZXInKTtcbiAgICAvKiogQGRlc2NyaXB0aW9uIERlc2FiaWxpdGEgYSBzZWxlw6fDo28gZGUgZXN0cmVsYXMuIEBkZWZhdWx0IGZhbHNlICovXG4gICAgZGlzYWJsZWQgPSBtb2RlbChmYWxzZSk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZWxlbWVudHNSZW5kZXIgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnRzID0gdGhpcy5zdGFyc1JhbmdlKCk7XG4gICAgICAgIHJldHVybiBBcnJheS5mcm9tKHsgbGVuZ3RoOiBlbGVtZW50cyB9KS5tYXAoKF94LCAkaW5kZXgpID0+ICRpbmRleCk7XG4gICAgfSk7XG5cbiAgICB3cml0ZVZhbHVlKG9iajogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmIChvYmogIT09IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRTdGFyLnNldChvYmopO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBudW1iZXIpID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gICAgfVxuXG4gICAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQuc2V0KGlzRGlzYWJsZWQpO1xuICAgIH1cblxuICAgIG9uU2VsZWN0U3RhcihzZWxlY3RlZEluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5zdG9yZVZhbHVlKHNlbGVjdGVkSW5kZXgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RvcmVWYWx1ZShzZWxlY3RlZEluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQoKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzZWxlY3RlZEluZGV4ID09PSB0aGlzLnNlbGVjdGVkU3RhcigpKSB7XG4gICAgICAgICAgICBzZWxlY3RlZEluZGV4ID0gMDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLndyaXRlVmFsdWUoc2VsZWN0ZWRJbmRleCk7XG4gICAgICAgIHRoaXMub25DaGFuZ2Uoc2VsZWN0ZWRJbmRleCk7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkKHNlbGVjdGVkSW5kZXgpO1xuICAgIH1cbn1cblxuIiwiQGxldCBqdXN0aWZ5Q29udGVudENsYXNzTmFtZSA9ICdqdXN0aWZ5LScgKyBqdXN0aWZ5Q29udGVudCgpO1xuPHNlY3Rpb24gW2NsYXNzXT1cImp1c3RpZnlDb250ZW50Q2xhc3NOYW1lXCIgY2xhc3M9XCJmbGV4IGdhcC0yXCIgW2NsYXNzLm9wYWNpdHktNTBdPVwiZGlzYWJsZWQoKVwiPlxuICAgIEBmb3IoaXRlbSBvZiBlbGVtZW50c1JlbmRlcigpOyB0cmFjayBpdGVtKSB7XG4gICAgICAgIEBsZXQgaXNBY3RpdmF0ZWQgPSBzZWxlY3RlZFN0YXIoKSA8PSBpdGVtO1xuICAgICAgICA8aVxuICAgICAgICAgICAgW2NsYXNzLmZhc109XCIhaXNBY3RpdmF0ZWRcIlxuICAgICAgICAgICAgW2NsYXNzLmZhcl09XCJpc0FjdGl2YXRlZFwiXG4gICAgICAgICAgICBbY2xhc3MuY3Vyc29yLXBvaW50ZXJdPVwiIWRpc2FibGVkKClcIlxuICAgICAgICAgICAgY2xhc3M9XCJmYS1zdGFyIHRleHQtWyNGNUEzMTldIGN1cnNvci1wb2ludGVyXCJcbiAgICAgICAgICAgIChzSW50ZXJhY3RpdmVDb250ZW50KT1cIm9uU2VsZWN0U3RhcihpdGVtICsgMSlcIj5cbiAgICAgICAgPC9pPlxuICAgIH1cbjwvc2VjdGlvbj5cbiJdfQ==
|
|
@@ -1,20 +1,47 @@
|
|
|
1
|
-
import { Component, Input, ViewEncapsulation, Output, EventEmitter
|
|
1
|
+
import { Component, Input, ViewEncapsulation, Output, EventEmitter } from '@angular/core';
|
|
2
2
|
import { BigNumber } from 'bignumber.js';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "@angular/common";
|
|
5
5
|
import * as i2 from "@seniorsistemas/angular-components/tooltip";
|
|
6
|
+
/**
|
|
7
|
+
* @description Card de estatística que exibe um valor numérico com ícone,
|
|
8
|
+
* rótulo e animação de contagem. Suporta diferentes estilos visuais
|
|
9
|
+
* (borda, versão leve) e pode emitir evento ao ser clicado.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```html
|
|
13
|
+
* <s-stats-card
|
|
14
|
+
* label="Vendas"
|
|
15
|
+
* [value]="'1.234'"
|
|
16
|
+
* iconClass="fas fa-shopping-cart"
|
|
17
|
+
* color="#3399ff" />
|
|
18
|
+
* ```
|
|
19
|
+
*
|
|
20
|
+
* @category Summary
|
|
21
|
+
*/
|
|
6
22
|
export class StatsCardComponent {
|
|
7
23
|
static nextId = 0;
|
|
24
|
+
/** @description Identificador único do card no DOM. Gerado automaticamente se não informado. */
|
|
8
25
|
id = `s-stats-card-${StatsCardComponent.nextId++}`;
|
|
26
|
+
/** @description Rótulo descritivo da estatística exibida. Campo obrigatório. */
|
|
9
27
|
label;
|
|
28
|
+
/** @description Exibe borda mesmo quando o card não está em destaque. @default false */
|
|
10
29
|
alwaysWithBorder = false;
|
|
30
|
+
/** @description Ativa a versão visual leve (sem sombra e com fundo claro). @default false */
|
|
11
31
|
lightVersion = false;
|
|
32
|
+
/** @description Ativa o modo de cores claras para o card. @default true */
|
|
12
33
|
lightMode = true;
|
|
34
|
+
/** @description Classe do ícone exibido no card. @default 'fa fa-bar-chart' */
|
|
13
35
|
iconClass = 'fa fa-bar-chart';
|
|
36
|
+
/** @description Cor de destaque do card em formato CSS. @default '#339966' */
|
|
14
37
|
color = '#339966';
|
|
38
|
+
/** @description Habilita a animação de contagem ao atualizar o valor. @default true */
|
|
15
39
|
animateNumbers = true;
|
|
40
|
+
/** @description Habilita o cursor de ponteiro e o evento de clique. @default false */
|
|
16
41
|
clickable = false;
|
|
42
|
+
/** @description Texto do tooltip exibido ao passar o mouse sobre o card. @default '' */
|
|
17
43
|
tooltip = '';
|
|
44
|
+
/** @description Emitido quando o usuário clica no card (requer `clickable = true`). */
|
|
18
45
|
clicked = new EventEmitter();
|
|
19
46
|
displayValue;
|
|
20
47
|
_ANIMATION_DURATION_MS = 200;
|
|
@@ -25,6 +52,7 @@ export class StatsCardComponent {
|
|
|
25
52
|
get value() {
|
|
26
53
|
return this._value;
|
|
27
54
|
}
|
|
55
|
+
/** @description Valor numérico exibido no card. Quando `animateNumbers` está ativo, a contagem é animada. */
|
|
28
56
|
set value(value) {
|
|
29
57
|
this._previousValue = this._value;
|
|
30
58
|
this._value = String(value);
|
|
@@ -36,10 +64,7 @@ export class StatsCardComponent {
|
|
|
36
64
|
replaceNumericPositions(value, newValue) {
|
|
37
65
|
const rawValue = value.replace(/[^\d]/g, '');
|
|
38
66
|
const newValueString = newValue ? newValue.toString() : '';
|
|
39
|
-
const formattedNewValue = newValueString
|
|
40
|
-
.toString()
|
|
41
|
-
.replace(/\D/g, '')
|
|
42
|
-
.padStart(rawValue.length, '0');
|
|
67
|
+
const formattedNewValue = newValueString.toString().replace(/\D/g, '').padStart(rawValue.length, '0');
|
|
43
68
|
let newValueIndex = 0;
|
|
44
69
|
return value
|
|
45
70
|
.split('')
|
|
@@ -57,10 +82,7 @@ export class StatsCardComponent {
|
|
|
57
82
|
const animationCount = animationDuration.dividedBy(stepDuration);
|
|
58
83
|
const previousRawValue = new BigNumber(this._previousValue.replace(/\D/g, ''));
|
|
59
84
|
const rawValue = new BigNumber(this.value.replace(/\D/g, ''));
|
|
60
|
-
const incrementValue = rawValue
|
|
61
|
-
.minus(previousRawValue)
|
|
62
|
-
.absoluteValue()
|
|
63
|
-
.dividedBy(animationCount);
|
|
85
|
+
const incrementValue = rawValue.minus(previousRawValue).absoluteValue().dividedBy(animationCount);
|
|
64
86
|
const incremental = previousRawValue.isLessThan(rawValue);
|
|
65
87
|
clearInterval(this._intervalId);
|
|
66
88
|
this.displayValue = this.replaceNumericPositions(this.value);
|
|
@@ -116,4 +138,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
116
138
|
}], value: [{
|
|
117
139
|
type: Input
|
|
118
140
|
}] } });
|
|
119
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHMtY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3RhdHMtY2FyZC9zcmMvbGliL3N0YXRzLWNhcmQvc3RhdHMtY2FyZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3RhdHMtY2FyZC9zcmMvbGliL3N0YXRzLWNhcmQvc3RhdHMtY2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULEtBQUssRUFDTCxpQkFBaUIsRUFDakIsTUFBTSxFQUNOLFlBQVksR0FDZixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7O0FBUXpDLE1BQU0sT0FBTyxrQkFBa0I7SUFDcEIsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFHbEIsRUFBRSxHQUFHLGdCQUFnQixrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDO0lBR25ELEtBQUssQ0FBVTtJQUdmLGdCQUFnQixHQUFHLEtBQUssQ0FBQztJQUd6QixZQUFZLEdBQUcsS0FBSyxDQUFDO0lBR3JCLFNBQVMsR0FBRyxJQUFJLENBQUM7SUFHakIsU0FBUyxHQUFHLGlCQUFpQixDQUFDO0lBRzlCLEtBQUssR0FBRyxTQUFTLENBQUM7SUFHbEIsY0FBYyxHQUFHLElBQUksQ0FBQztJQUd0QixTQUFTLEdBQUcsS0FBSyxDQUFDO0lBR2xCLE9BQU8sR0FBRyxFQUFFLENBQUM7SUFHYixPQUFPLEdBQUcsSUFBSSxZQUFZLEVBQWMsQ0FBQztJQUV6QyxZQUFZLENBQVU7SUFFckIsc0JBQXNCLEdBQUcsR0FBRyxDQUFDO0lBQzdCLGlCQUFpQixHQUFHLEVBQUUsQ0FBQztJQUN2QixjQUFjLEdBQUcsR0FBRyxDQUFDO0lB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S0FBSztnQkFJQyxTQUFTO3NCQURmLEtBQUs7Z0JBSUMsT0FBTztzQkFEYixLQUFLO2dCQUlDLE9BQU87c0JBRGIsTUFBTTtnQkFnQkksS0FBSztzQkFEZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgSW5wdXQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG4gICAgT3V0cHV0LFxuICAgIEV2ZW50RW1pdHRlcixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEJpZ051bWJlciB9IGZyb20gJ2JpZ251bWJlci5qcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncy1zdGF0cy1jYXJkJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc3RhdHMtY2FyZC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc3RhdHMtY2FyZC5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIFN0YXRzQ2FyZENvbXBvbmVudCB7XG4gICAgcHVibGljIHN0YXRpYyBuZXh0SWQgPSAwO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaWQgPSBgcy1zdGF0cy1jYXJkLSR7U3RhdHNDYXJkQ29tcG9uZW50Lm5leHRJZCsrfWA7XG5cbiAgICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KVxuICAgIHB1YmxpYyBsYWJlbCE6IHN0cmluZztcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGFsd2F5c1dpdGhCb3JkZXIgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGxpZ2h0VmVyc2lvbiA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbGlnaHRNb2RlID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGljb25DbGFzcyA9ICdmYSBmYS1iYXItY2hhcnQnO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgY29sb3IgPSAnIzMzOTk2Nic7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBhbmltYXRlTnVtYmVycyA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBjbGlja2FibGUgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHRvb2x0aXAgPSAnJztcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBjbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xuXG4gICAgcHVibGljIGRpc3BsYXlWYWx1ZT86IHN0cmluZztcblxuICAgIHByaXZhdGUgX0FOSU1BVElPTl9EVVJBVElPTl9NUyA9IDIwMDtcbiAgICBwcml2YXRlIF9TVEVQX0RVUkFUSU9OX01TID0gMjA7XG4gICAgcHJpdmF0ZSBfcHJldmlvdXNWYWx1ZSA9ICcwJztcbiAgICBwcml2YXRlIF9pbnRlcnZhbElkOiBhbnk7XG4gICAgcHJpdmF0ZSBfdmFsdWUgPSAnMCc7XG5cbiAgICBwdWJsaWMgZ2V0IHZhbHVlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IHZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fcHJldmlvdXNWYWx1ZSA9IHRoaXMuX3ZhbHVlO1xuICAgICAgICB0aGlzLl92YWx1ZSA9IFN0cmluZyh2YWx1ZSk7XG4gICAgICAgIGlmICh0aGlzLmFuaW1hdGVOdW1iZXJzKSB0aGlzLl91cGRhdGVEaXNwbGF5VmFsdWUoKTtcbiAgICAgICAgZWxzZSB0aGlzLmRpc3BsYXlWYWx1ZSA9IHRoaXMudmFsdWU7XG4gICAgfVxuXG4gICAgcHVibGljIHJlcGxhY2VOdW1lcmljUG9zaXRpb25zKHZhbHVlOiBzdHJpbmcsIG5ld1ZhbHVlPzogQmlnTnVtYmVyKSB7XG4gICAgICAgIGNvbnN0IHJhd1ZhbHVlID0gdmFsdWUucmVwbGFjZSgvW15cXGRdL2csICcnKTtcbiAgICAgICAgY29uc3QgbmV3VmFsdWVTdHJpbmcgPSBuZXdWYWx1ZSA/IG5ld1ZhbHVlLnRvU3RyaW5nKCkgOiAnJztcbiAgICAgICAgY29uc3QgZm9ybWF0dGVkTmV3VmFsdWUgPSBuZXdWYWx1ZVN0cmluZ1xuICAgICAgICAgICAgLnRvU3RyaW5nKClcbiAgICAgICAgICAgIC5yZXBsYWNlKC9cXEQvZywgJycpXG4gICAgICAgICAgICAucGFkU3RhcnQocmF3VmFsdWUubGVuZ3RoLCAnMCcpO1xuICAgICAgICBsZXQgbmV3VmFsdWVJbmRleCA9IDA7XG5cbiAgICAgICAgcmV0dXJuIHZhbHVlXG4gICAgICAgICAgICAuc3BsaXQoJycpXG4gICAgICAgICAgICAubWFwKChjaGFyKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgbnVtYmVyID0gTnVtYmVyKGNoYXIpO1xuICAgICAgICAgICAgICAgIGlmIChudW1iZXIgfHwgY2hhciA9PT0gJzAnKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZm9ybWF0dGVkTmV3VmFsdWVbbmV3VmFsdWVJbmRleCsrXTtcbiAgICAgICAgICAgICAgICByZXR1cm4gY2hhcjtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuam9pbignJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfdXBkYXRlRGlzcGxheVZhbHVlKCkge1xuICAgICAgICBjb25zdCBhbmltYXRpb25EdXJhdGlvbiA9IG5ldyBCaWdOdW1iZXIodGhpcy5fQU5JTUFUSU9OX0RVUkFUSU9OX01TKTtcbiAgICAgICAgY29uc3Qgc3RlcER1cmF0aW9uID0gbmV3IEJpZ051bWJlcih0aGlzLl9TVEVQX0RVUkFUSU9OX01TKTtcbiAgICAgICAgY29uc3QgYW5pbWF0aW9uQ291bnQgPSBhbmltYXRpb25EdXJhdGlvbi5kaXZpZGVkQnkoc3RlcER1cmF0aW9uKTtcblxuICAgICAgICBjb25zdCBwcmV2aW91c1Jhd1ZhbHVlID0gbmV3IEJpZ051bWJlcihcbiAgICAgICAgICAgIHRoaXMuX3ByZXZpb3VzVmFsdWUucmVwbGFjZSgvXFxEL2csICcnKSxcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgcmF3VmFsdWUgPSBuZXcgQmlnTnVtYmVyKHRoaXMudmFsdWUucmVwbGFjZSgvXFxEL2csICcnKSk7XG5cbiAgICAgICAgY29uc3QgaW5jcmVtZW50VmFsdWUgPSByYXdWYWx1ZVxuICAgICAgICAgICAgLm1pbnVzKHByZXZpb3VzUmF3VmFsdWUpXG4gICAgICAgICAgICAuYWJzb2x1dGVWYWx1ZSgpXG4gICAgICAgICAgICAuZGl2aWRlZEJ5KGFuaW1hdGlvbkNvdW50KTtcbiAgICAgICAgY29uc3QgaW5jcmVtZW50YWwgPSBwcmV2aW91c1Jhd1ZhbHVlLmlzTGVzc1RoYW4ocmF3VmFsdWUpO1xuXG4gICAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy5faW50ZXJ2YWxJZCk7XG5cbiAgICAgICAgdGhpcy5kaXNwbGF5VmFsdWUgPSB0aGlzLnJlcGxhY2VOdW1lcmljUG9zaXRpb25zKHRoaXMudmFsdWUpO1xuXG4gICAgICAgIGxldCBjb3VudGVyID0gcHJldmlvdXNSYXdWYWx1ZTtcblxuICAgICAgICB0aGlzLl9pbnRlcnZhbElkID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKGluY3JlbWVudGFsICYmIGNvdW50ZXIuaXNMZXNzVGhhbihyYXdWYWx1ZSkpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5kaXNwbGF5VmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kaXNwbGF5VmFsdWUgPSB0aGlzLnJlcGxhY2VOdW1lcmljUG9zaXRpb25zKFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kaXNwbGF5VmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb3VudGVyLFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb3VudGVyID0gY291bnRlci5wbHVzKGluY3JlbWVudFZhbHVlKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoIWluY3JlbWVudGFsICYmIGNvdW50ZXIuaXNHcmVhdGVyVGhhbihyYXdWYWx1ZSkpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5kaXNwbGF5VmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kaXNwbGF5VmFsdWUgPSB0aGlzLnJlcGxhY2VOdW1lcmljUG9zaXRpb25zKFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kaXNwbGF5VmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb3VudGVyLFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb3VudGVyID0gY291bnRlci5taW51cyhpbmNyZW1lbnRWYWx1ZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuZGlzcGxheVZhbHVlID0gdGhpcy52YWx1ZTtcblxuICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy5faW50ZXJ2YWxJZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIHRoaXMuX1NURVBfRFVSQVRJT05fTVMpO1xuICAgIH1cbn1cbiIsIjxkaXZcbiAgICBbaWRdPVwiaWRcIlxuICAgIGNsYXNzPVwicy1zdGF0cy1jYXJkXCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICdzLXN0YXRzLWNhcmQtLWFsd2F5cy1ib3JkZXInOiBhbHdheXNXaXRoQm9yZGVyLFxuICAgICAgICAncy1zdGF0cy1jYXJkLS1saWdodCc6IGxpZ2h0TW9kZSxcbiAgICAgICAgJ3Mtc3RhdHMtY2FyZC0tY29sb3InOiAhbGlnaHRNb2RlLFxuICAgICAgICAncy1zdGF0cy1jYXJkLS1saWdodC12ZXJzaW9uJzogbGlnaHRWZXJzaW9uLFxuICAgICAgICAncy1zdGF0cy1jYXJkLS1jbGlja2FibGUnOiBjbGlja2FibGUsXG4gICAgfVwiXG4gICAgKGNsaWNrKT1cImNsaWNrYWJsZSAmJiBjbGlja2VkLm5leHQoJGV2ZW50KVwiXG4+XG4gICAgPGRpdlxuICAgICAgICBbaWRdPVwiaWQgKyAnLWJhY2tncm91bmQnXCJcbiAgICAgICAgY2xhc3M9XCJzLXN0YXRzLWNhcmQtYmFja2dyb3VuZFwiXG4gICAgICAgIFtuZ1N0eWxlXT1cInsgJ2JhY2tncm91bmQtY29sb3InOiAoIWxpZ2h0TW9kZSAmJiBjb2xvcikgfHwgJycgfVwiXG4gICAgPjwvZGl2PlxuICAgIDxkaXZcbiAgICAgICAgW2lkXT1cImlkICsgJy1vdmVybGF5J1wiXG4gICAgICAgIGNsYXNzPVwicy1zdGF0cy1jYXJkLW92ZXJsYXlcIlxuICAgID48L2Rpdj5cblxuICAgIDxkaXZcbiAgICAgICAgW2lkXT1cImlkICsgJy1pbmZvLWNvbnRhaW5lcidcIlxuICAgICAgICBjbGFzcz1cInMtc3RhdHMtY2FyZC1pbmZvLWNvbnRhaW5lclwiXG4gICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicy1zdGF0cy1jYXJkLWluZm8taW5uZXItY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgW2lkXT1cImlkICsgJy1pY29uLWNvbnRhaW5lcidcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwicy1zdGF0cy1jYXJkLWljb24tY29udGFpbmVyXCJcbiAgICAgICAgICAgICAgICBbbmdTdHlsZV09XCJ7ICdiYWNrZ3JvdW5kLWNvbG9yJzogKGxpZ2h0TW9kZSAmJiBjb2xvcikgfHwgJycgfVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgW2lkXT1cImlkICsgJy1pY29uJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzc109XCJpY29uQ2xhc3NcIlxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdzLXN0YXRzLWNhcmQtaWNvbic6IHRydWUgfVwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ1N0eWxlXT1cInsgY29sb3I6ICghbGlnaHRNb2RlICYmIGNvbG9yKSB8fCAnJyB9XCJcbiAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICA+PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBbaWRdPVwiaWQgKyAnLXRleHQtY29udGFpbmVyJ1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzLXN0YXRzLWNhcmQtdGV4dC1jb250YWluZXJcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxoNFxuICAgICAgICAgICAgICAgICAgICBbaWRdPVwiaWQgKyAnLWxhYmVsJ1wiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicy1zdGF0cy1jYXJkLWxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgW3NUb29sdGlwXT1cImxhYmVsXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHt7IGxhYmVsIH19XG4gICAgICAgICAgICAgICAgPC9oND5cbiAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICBbaWRdPVwiaWQgKyAnLXZhbHVlJ1wiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicy1zdGF0cy1jYXJkLXZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgW3NUb29sdGlwXT1cImRpc3BsYXlWYWx1ZVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7eyBkaXNwbGF5VmFsdWUgfX1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzLXN0YXRzLWNhcmQtY29udGVudC1pbm5lci1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAjY29udGVudFxuICAgICAgICAgICAgICAgIGNsYXNzPVwicy1zdGF0cy1jYXJkLWNvbnRlbnQtY29udGFpbmVyXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIEBpZiAoY29udGVudC5jaGlsZHJlbi5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicy1zdGF0cy1jYXJkLWNvbnRlbnQtc2VwYXJhdG9yXCI+PC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICBAaWYgKHRvb2x0aXApIHtcbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzLXN0YXR1cy1jYXJkLXRvb2x0aXBcIlxuICAgICAgICAgICAgICAgIFtzVG9vbHRpcF09XCJ0b29sdGlwXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWluZm8tY2lyY2xlIHMtc3RhdHVzLWNhcmQtdG9vbHRpcC1pY29uXCI+PC9pPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICB9XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
141
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHMtY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3RhdHMtY2FyZC9zcmMvbGliL3N0YXRzLWNhcmQvc3RhdHMtY2FyZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3RhdHMtY2FyZC9zcmMvbGliL3N0YXRzLWNhcmQvc3RhdHMtY2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7QUFFekM7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBT0gsTUFBTSxPQUFPLGtCQUFrQjtJQUNwQixNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUV6QixnR0FBZ0c7SUFFekYsRUFBRSxHQUFHLGdCQUFnQixrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDO0lBRTFELGdGQUFnRjtJQUV6RSxLQUFLLENBQVU7SUFFdEIsd0ZBQXdGO0lBRWpGLGdCQUFnQixHQUFHLEtBQUssQ0FBQztJQUVoQyw2RkFBNkY7SUFFdEYsWUFBWSxHQUFHLEtBQUssQ0FBQztJQUU1QiwyRUFBMkU7SUFFcEUsU0FBUyxHQUFHLElBQUksQ0FBQztJQUV4QiwrRUFBK0U7SUFFeEUsU0FBUyxHQUFHLGlCQUFpQixDQUFDO0lBRXJDLDhFQUE4RTtJQUV2RSxLQUFLLEdBQUcsU0FBUyxDQUFDO0lBRXpCLHVGQUF1RjtJQUVoRixjQUFjLEdBQUcsSUFBSSxDQUFDO0lBRTdCLHNGQUFzRjtJQUUvRSxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBRXpCLHdGQUF3RjtJQUVqRixP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QURYLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUtsQixnQkFBZ0I7c0JBRHRCLEtBQUs7Z0JBS0MsWUFBWTtzQkFEbEIsS0FBSztnQkFLQyxTQUFTO3NCQURmLEtBQUs7Z0JBS0MsU0FBUztzQkFEZixLQUFLO2dCQUtDLEtBQUs7c0JBRFgsS0FBSztnQkFLQyxjQUFjO3NCQURwQixLQUFLO2dCQUtDLFNBQVM7c0JBRGYsS0FBSztnQkFLQyxPQUFPO3NCQURiLEtBQUs7Z0JBS0MsT0FBTztzQkFEYixNQUFNO2dCQWlCSSxLQUFLO3NCQURmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBWaWV3RW5jYXBzdWxhdGlvbiwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQmlnTnVtYmVyIH0gZnJvbSAnYmlnbnVtYmVyLmpzJztcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gQ2FyZCBkZSBlc3RhdMOtc3RpY2EgcXVlIGV4aWJlIHVtIHZhbG9yIG51bcOpcmljbyBjb20gw61jb25lLFxuICogcsOzdHVsbyBlIGFuaW1hw6fDo28gZGUgY29udGFnZW0uIFN1cG9ydGEgZGlmZXJlbnRlcyBlc3RpbG9zIHZpc3VhaXNcbiAqIChib3JkYSwgdmVyc8OjbyBsZXZlKSBlIHBvZGUgZW1pdGlyIGV2ZW50byBhbyBzZXIgY2xpY2Fkby5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgaHRtbFxuICogPHMtc3RhdHMtY2FyZFxuICogICBsYWJlbD1cIlZlbmRhc1wiXG4gKiAgIFt2YWx1ZV09XCInMS4yMzQnXCJcbiAqICAgaWNvbkNsYXNzPVwiZmFzIGZhLXNob3BwaW5nLWNhcnRcIlxuICogICBjb2xvcj1cIiMzMzk5ZmZcIiAvPlxuICogYGBgXG4gKlxuICogQGNhdGVnb3J5IFN1bW1hcnlcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzLXN0YXRzLWNhcmQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zdGF0cy1jYXJkLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zdGF0cy1jYXJkLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgU3RhdHNDYXJkQ29tcG9uZW50IHtcbiAgICBwdWJsaWMgc3RhdGljIG5leHRJZCA9IDA7XG5cbiAgICAvKiogQGRlc2NyaXB0aW9uIElkZW50aWZpY2Fkb3Igw7puaWNvIGRvIGNhcmQgbm8gRE9NLiBHZXJhZG8gYXV0b21hdGljYW1lbnRlIHNlIG7Do28gaW5mb3JtYWRvLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGlkID0gYHMtc3RhdHMtY2FyZC0ke1N0YXRzQ2FyZENvbXBvbmVudC5uZXh0SWQrK31gO1xuXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBSw7N0dWxvIGRlc2NyaXRpdm8gZGEgZXN0YXTDrXN0aWNhIGV4aWJpZGEuIENhbXBvIG9icmlnYXTDs3Jpby4gKi9cbiAgICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KVxuICAgIHB1YmxpYyBsYWJlbCE6IHN0cmluZztcblxuICAgIC8qKiBAZGVzY3JpcHRpb24gRXhpYmUgYm9yZGEgbWVzbW8gcXVhbmRvIG8gY2FyZCBuw6NvIGVzdMOhIGVtIGRlc3RhcXVlLiBAZGVmYXVsdCBmYWxzZSAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGFsd2F5c1dpdGhCb3JkZXIgPSBmYWxzZTtcblxuICAgIC8qKiBAZGVzY3JpcHRpb24gQXRpdmEgYSB2ZXJzw6NvIHZpc3VhbCBsZXZlIChzZW0gc29tYnJhIGUgY29tIGZ1bmRvIGNsYXJvKS4gQGRlZmF1bHQgZmFsc2UgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBsaWdodFZlcnNpb24gPSBmYWxzZTtcblxuICAgIC8qKiBAZGVzY3JpcHRpb24gQXRpdmEgbyBtb2RvIGRlIGNvcmVzIGNsYXJhcyBwYXJhIG8gY2FyZC4gQGRlZmF1bHQgdHJ1ZSAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGxpZ2h0TW9kZSA9IHRydWU7XG5cbiAgICAvKiogQGRlc2NyaXB0aW9uIENsYXNzZSBkbyDDrWNvbmUgZXhpYmlkbyBubyBjYXJkLiBAZGVmYXVsdCAnZmEgZmEtYmFyLWNoYXJ0JyAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGljb25DbGFzcyA9ICdmYSBmYS1iYXItY2hhcnQnO1xuXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBDb3IgZGUgZGVzdGFxdWUgZG8gY2FyZCBlbSBmb3JtYXRvIENTUy4gQGRlZmF1bHQgJyMzMzk5NjYnICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgY29sb3IgPSAnIzMzOTk2Nic7XG5cbiAgICAvKiogQGRlc2NyaXB0aW9uIEhhYmlsaXRhIGEgYW5pbWHDp8OjbyBkZSBjb250YWdlbSBhbyBhdHVhbGl6YXIgbyB2YWxvci4gQGRlZmF1bHQgdHJ1ZSAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGFuaW1hdGVOdW1iZXJzID0gdHJ1ZTtcblxuICAgIC8qKiBAZGVzY3JpcHRpb24gSGFiaWxpdGEgbyBjdXJzb3IgZGUgcG9udGVpcm8gZSBvIGV2ZW50byBkZSBjbGlxdWUuIEBkZWZhdWx0IGZhbHNlICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgY2xpY2thYmxlID0gZmFsc2U7XG5cbiAgICAvKiogQGRlc2NyaXB0aW9uIFRleHRvIGRvIHRvb2x0aXAgZXhpYmlkbyBhbyBwYXNzYXIgbyBtb3VzZSBzb2JyZSBvIGNhcmQuIEBkZWZhdWx0ICcnICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgdG9vbHRpcCA9ICcnO1xuXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBFbWl0aWRvIHF1YW5kbyBvIHVzdcOhcmlvIGNsaWNhIG5vIGNhcmQgKHJlcXVlciBgY2xpY2thYmxlID0gdHJ1ZWApLiAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBjbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xuXG4gICAgcHVibGljIGRpc3BsYXlWYWx1ZT86IHN0cmluZztcblxuICAgIHByaXZhdGUgX0FOSU1BVElPTl9EVVJBVElPTl9NUyA9IDIwMDtcbiAgICBwcml2YXRlIF9TVEVQX0RVUkFUSU9OX01TID0gMjA7XG4gICAgcHJpdmF0ZSBfcHJldmlvdXNWYWx1ZSA9ICcwJztcbiAgICBwcml2YXRlIF9pbnRlcnZhbElkOiBhbnk7XG4gICAgcHJpdmF0ZSBfdmFsdWUgPSAnMCc7XG5cbiAgICBwdWJsaWMgZ2V0IHZhbHVlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBWYWxvciBudW3DqXJpY28gZXhpYmlkbyBubyBjYXJkLiBRdWFuZG8gYGFuaW1hdGVOdW1iZXJzYCBlc3TDoSBhdGl2bywgYSBjb250YWdlbSDDqSBhbmltYWRhLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCB2YWx1ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX3ByZXZpb3VzVmFsdWUgPSB0aGlzLl92YWx1ZTtcbiAgICAgICAgdGhpcy5fdmFsdWUgPSBTdHJpbmcodmFsdWUpO1xuICAgICAgICBpZiAodGhpcy5hbmltYXRlTnVtYmVycykgdGhpcy5fdXBkYXRlRGlzcGxheVZhbHVlKCk7XG4gICAgICAgIGVsc2UgdGhpcy5kaXNwbGF5VmFsdWUgPSB0aGlzLnZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyByZXBsYWNlTnVtZXJpY1Bvc2l0aW9ucyh2YWx1ZTogc3RyaW5nLCBuZXdWYWx1ZT86IEJpZ051bWJlcikge1xuICAgICAgICBjb25zdCByYXdWYWx1ZSA9IHZhbHVlLnJlcGxhY2UoL1teXFxkXS9nLCAnJyk7XG4gICAgICAgIGNvbnN0IG5ld1ZhbHVlU3RyaW5nID0gbmV3VmFsdWUgPyBuZXdWYWx1ZS50b1N0cmluZygpIDogJyc7XG4gICAgICAgIGNvbnN0IGZvcm1hdHRlZE5ld1ZhbHVlID0gbmV3VmFsdWVTdHJpbmcudG9TdHJpbmcoKS5yZXBsYWNlKC9cXEQvZywgJycpLnBhZFN0YXJ0KHJhd1ZhbHVlLmxlbmd0aCwgJzAnKTtcbiAgICAgICAgbGV0IG5ld1ZhbHVlSW5kZXggPSAwO1xuXG4gICAgICAgIHJldHVybiB2YWx1ZVxuICAgICAgICAgICAgLnNwbGl0KCcnKVxuICAgICAgICAgICAgLm1hcCgoY2hhcikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG51bWJlciA9IE51bWJlcihjaGFyKTtcbiAgICAgICAgICAgICAgICBpZiAobnVtYmVyIHx8IGNoYXIgPT09ICcwJykgcmV0dXJuIGZvcm1hdHRlZE5ld1ZhbHVlW25ld1ZhbHVlSW5kZXgrK107XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNoYXI7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmpvaW4oJycpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3VwZGF0ZURpc3BsYXlWYWx1ZSgpIHtcbiAgICAgICAgY29uc3QgYW5pbWF0aW9uRHVyYXRpb24gPSBuZXcgQmlnTnVtYmVyKHRoaXMuX0FOSU1BVElPTl9EVVJBVElPTl9NUyk7XG4gICAgICAgIGNvbnN0IHN0ZXBEdXJhdGlvbiA9IG5ldyBCaWdOdW1iZXIodGhpcy5fU1RFUF9EVVJBVElPTl9NUyk7XG4gICAgICAgIGNvbnN0IGFuaW1hdGlvbkNvdW50ID0gYW5pbWF0aW9uRHVyYXRpb24uZGl2aWRlZEJ5KHN0ZXBEdXJhdGlvbik7XG5cbiAgICAgICAgY29uc3QgcHJldmlvdXNSYXdWYWx1ZSA9IG5ldyBCaWdOdW1iZXIodGhpcy5fcHJldmlvdXNWYWx1ZS5yZXBsYWNlKC9cXEQvZywgJycpKTtcbiAgICAgICAgY29uc3QgcmF3VmFsdWUgPSBuZXcgQmlnTnVtYmVyKHRoaXMudmFsdWUucmVwbGFjZSgvXFxEL2csICcnKSk7XG5cbiAgICAgICAgY29uc3QgaW5jcmVtZW50VmFsdWUgPSByYXdWYWx1ZS5taW51cyhwcmV2aW91c1Jhd1ZhbHVlKS5hYnNvbHV0ZVZhbHVlKCkuZGl2aWRlZEJ5KGFuaW1hdGlvbkNvdW50KTtcbiAgICAgICAgY29uc3QgaW5jcmVtZW50YWwgPSBwcmV2aW91c1Jhd1ZhbHVlLmlzTGVzc1RoYW4ocmF3VmFsdWUpO1xuXG4gICAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy5faW50ZXJ2YWxJZCk7XG5cbiAgICAgICAgdGhpcy5kaXNwbGF5VmFsdWUgPSB0aGlzLnJlcGxhY2VOdW1lcmljUG9zaXRpb25zKHRoaXMudmFsdWUpO1xuXG4gICAgICAgIGxldCBjb3VudGVyID0gcHJldmlvdXNSYXdWYWx1ZTtcblxuICAgICAgICB0aGlzLl9pbnRlcnZhbElkID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKGluY3JlbWVudGFsICYmIGNvdW50ZXIuaXNMZXNzVGhhbihyYXdWYWx1ZSkpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5kaXNwbGF5VmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kaXNwbGF5VmFsdWUgPSB0aGlzLnJlcGxhY2VOdW1lcmljUG9zaXRpb25zKHRoaXMuZGlzcGxheVZhbHVlLCBjb3VudGVyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY291bnRlciA9IGNvdW50ZXIucGx1cyhpbmNyZW1lbnRWYWx1ZSk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKCFpbmNyZW1lbnRhbCAmJiBjb3VudGVyLmlzR3JlYXRlclRoYW4ocmF3VmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZGlzcGxheVZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGlzcGxheVZhbHVlID0gdGhpcy5yZXBsYWNlTnVtZXJpY1Bvc2l0aW9ucyh0aGlzLmRpc3BsYXlWYWx1ZSwgY291bnRlcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvdW50ZXIgPSBjb3VudGVyLm1pbnVzKGluY3JlbWVudFZhbHVlKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kaXNwbGF5VmFsdWUgPSB0aGlzLnZhbHVlO1xuXG4gICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLl9pbnRlcnZhbElkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwgdGhpcy5fU1RFUF9EVVJBVElPTl9NUyk7XG4gICAgfVxufVxuXG4iLCI8ZGl2XG4gICAgW2lkXT1cImlkXCJcbiAgICBjbGFzcz1cInMtc3RhdHMtY2FyZFwiXG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAncy1zdGF0cy1jYXJkLS1hbHdheXMtYm9yZGVyJzogYWx3YXlzV2l0aEJvcmRlcixcbiAgICAgICAgJ3Mtc3RhdHMtY2FyZC0tbGlnaHQnOiBsaWdodE1vZGUsXG4gICAgICAgICdzLXN0YXRzLWNhcmQtLWNvbG9yJzogIWxpZ2h0TW9kZSxcbiAgICAgICAgJ3Mtc3RhdHMtY2FyZC0tbGlnaHQtdmVyc2lvbic6IGxpZ2h0VmVyc2lvbixcbiAgICAgICAgJ3Mtc3RhdHMtY2FyZC0tY2xpY2thYmxlJzogY2xpY2thYmxlLFxuICAgIH1cIlxuICAgIChjbGljayk9XCJjbGlja2FibGUgJiYgY2xpY2tlZC5uZXh0KCRldmVudClcIlxuPlxuICAgIDxkaXZcbiAgICAgICAgW2lkXT1cImlkICsgJy1iYWNrZ3JvdW5kJ1wiXG4gICAgICAgIGNsYXNzPVwicy1zdGF0cy1jYXJkLWJhY2tncm91bmRcIlxuICAgICAgICBbbmdTdHlsZV09XCJ7ICdiYWNrZ3JvdW5kLWNvbG9yJzogKCFsaWdodE1vZGUgJiYgY29sb3IpIHx8ICcnIH1cIlxuICAgID48L2Rpdj5cbiAgICA8ZGl2XG4gICAgICAgIFtpZF09XCJpZCArICctb3ZlcmxheSdcIlxuICAgICAgICBjbGFzcz1cInMtc3RhdHMtY2FyZC1vdmVybGF5XCJcbiAgICA+PC9kaXY+XG5cbiAgICA8ZGl2XG4gICAgICAgIFtpZF09XCJpZCArICctaW5mby1jb250YWluZXInXCJcbiAgICAgICAgY2xhc3M9XCJzLXN0YXRzLWNhcmQtaW5mby1jb250YWluZXJcIlxuICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cInMtc3RhdHMtY2FyZC1pbmZvLWlubmVyLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIFtpZF09XCJpZCArICctaWNvbi1jb250YWluZXInXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInMtc3RhdHMtY2FyZC1pY29uLWNvbnRhaW5lclwiXG4gICAgICAgICAgICAgICAgW25nU3R5bGVdPVwieyAnYmFja2dyb3VuZC1jb2xvcic6IChsaWdodE1vZGUgJiYgY29sb3IpIHx8ICcnIH1cIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgIFtpZF09XCJpZCArICctaWNvbidcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3NdPVwiaWNvbkNsYXNzXCJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAncy1zdGF0cy1jYXJkLWljb24nOiB0cnVlIH1cIlxuICAgICAgICAgICAgICAgICAgICBbbmdTdHlsZV09XCJ7IGNvbG9yOiAoIWxpZ2h0TW9kZSAmJiBjb2xvcikgfHwgJycgfVwiXG4gICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgPjwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgW2lkXT1cImlkICsgJy10ZXh0LWNvbnRhaW5lcidcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwicy1zdGF0cy1jYXJkLXRleHQtY29udGFpbmVyXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8aDRcbiAgICAgICAgICAgICAgICAgICAgW2lkXT1cImlkICsgJy1sYWJlbCdcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInMtc3RhdHMtY2FyZC1sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgIFtzVG9vbHRpcF09XCJsYWJlbFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7eyBsYWJlbCB9fVxuICAgICAgICAgICAgICAgIDwvaDQ+XG4gICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgW2lkXT1cImlkICsgJy12YWx1ZSdcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInMtc3RhdHMtY2FyZC12YWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgIFtzVG9vbHRpcF09XCJkaXNwbGF5VmFsdWVcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3sgZGlzcGxheVZhbHVlIH19XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwicy1zdGF0cy1jYXJkLWNvbnRlbnQtaW5uZXItY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgI2NvbnRlbnRcbiAgICAgICAgICAgICAgICBjbGFzcz1cInMtc3RhdHMtY2FyZC1jb250ZW50LWNvbnRhaW5lclwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICBAaWYgKGNvbnRlbnQuY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInMtc3RhdHMtY2FyZC1jb250ZW50LXNlcGFyYXRvclwiPjwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgQGlmICh0b29sdGlwKSB7XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgIGNsYXNzPVwicy1zdGF0dXMtY2FyZC10b29sdGlwXCJcbiAgICAgICAgICAgICAgICBbc1Rvb2x0aXBdPVwidG9vbHRpcFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1pbmZvLWNpcmNsZSBzLXN0YXR1cy1jYXJkLXRvb2x0aXAtaWNvblwiPjwvaT5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgfVxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -7,11 +7,30 @@ import * as i0 from "@angular/core";
|
|
|
7
7
|
import * as i1 from "@seniorsistemas/angular-components/common/deprecated-selector";
|
|
8
8
|
import * as i2 from "@angular/common";
|
|
9
9
|
import * as i3 from "@seniorsistemas/angular-components/tooltip";
|
|
10
|
+
/**
|
|
11
|
+
* @description Componente de progresso em etapas (stepper) com animações.
|
|
12
|
+
* Exibe uma linha do tempo horizontal de passos, permitindo navegar entre eles.
|
|
13
|
+
* Suporta passos ocultos e desabilitados. Também responde ao seletor legado `s-steps`.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```html
|
|
17
|
+
* <s-stepper
|
|
18
|
+
* [steps]="etapas"
|
|
19
|
+
* [activeIndex]="etapaAtiva"
|
|
20
|
+
* (stepSelected)="onEtapaSelecionada($event)" />
|
|
21
|
+
* ```
|
|
22
|
+
*
|
|
23
|
+
* @category Structure
|
|
24
|
+
*/
|
|
10
25
|
export class StepperComponent {
|
|
11
26
|
static nextId = 0;
|
|
27
|
+
/** @description Identificador único do componente no DOM. Gerado automaticamente se não informado. */
|
|
12
28
|
id = `s-steps-${StepperComponent.nextId++}`;
|
|
29
|
+
/** @description Lista de etapas exibidas no stepper. Campo obrigatório. */
|
|
13
30
|
steps;
|
|
31
|
+
/** @description Índice (0-based) da etapa atualmente ativa. Campo obrigatório. */
|
|
14
32
|
activeIndex = 0;
|
|
33
|
+
/** @description Emitido quando o usuário clica em uma etapa não desabilitada. */
|
|
15
34
|
stepSelected = new EventEmitter();
|
|
16
35
|
get stepState() {
|
|
17
36
|
return StepState;
|
|
@@ -135,4 +154,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
135
154
|
}], stepSelected: [{
|
|
136
155
|
type: Output
|
|
137
156
|
}] } });
|
|
138
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHBlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3RlcHBlci9zcmMvbGliL3N0ZXBwZXIvc3RlcHBlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3RlcHBlci9zcmMvbGliL3N0ZXBwZXIvc3RlcHBlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0RBQStELENBQUM7QUFDbEcsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sK0RBQStELENBQUM7QUFJNUcsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7OztBQXlFaEQsTUFBTSxPQUFPLGdCQUFnQjtJQUNsQixNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUdsQixFQUFFLEdBQUcsV0FBVyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDO0lBRzVDLEtBQUssQ0FBVTtJQUdmLFdBQVcsR0FBRyxDQUFDLENBQUM7SUFHaEIsWUFBWSxHQUFxQyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBRTNFLElBQVcsU0FBUztRQUNoQixPQUFPLFNBQVMsQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFBVyxZQUFZO1FBQ25CLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFVLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFD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Q0FDRixxQkFBcUIsRUFBRSxhQUFhOzZCQUN2QyxDQUFDLENBQ0w7NEJBQ0QsS0FBSyxDQUNELFdBQVcsRUFDWCxLQUFLLENBQUM7Z0NBQ0YscUJBQXFCLEVBQUUsY0FBYzs2QkFDeEMsQ0FBQyxDQUNMOzRCQUNELFVBQVUsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7NEJBQ2pFLFVBQVUsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7eUJBQ3BFLENBQUM7cUJBQ0w7OEJBTU0sRUFBRTtzQkFEUixLQUFLO2dCQUlDLEtBQUs7c0JBRFgsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBSWxCLFdBQVc7c0JBRGpCLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUlsQixZQUFZO3NCQURsQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBERVBSRUNBVEVEX0NPTkZJRyB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvY29tbW9uL2RlcHJlY2F0ZWQtc2VsZWN0b3InO1xuaW1wb3J0IHsgRGVwcmVjYXRlZFNlbGVjdG9yRGlyZWN0aXZlIH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy9jb21tb24vZGVwcmVjYXRlZC1zZWxlY3Rvcic7XG5cbmltcG9ydCB7IFN0ZXAgfSBmcm9tICcuL21vZGVscy9zdGVwJztcbmltcG9ydCB7IFN0ZXBTZWxlY3Rpb25FdmVudCB9IGZyb20gJy4vbW9kZWxzL3N0ZXAtc2VsZWN0aW9uLWV2ZW50JztcbmltcG9ydCB7IFN0ZXBTdGF0ZSB9IGZyb20gJy4vbW9kZWxzL3N0ZXAtc3RhdGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3Mtc3RlcHBlciwgcy1zdGVwcycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3N0ZXBwZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3N0ZXBwZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBob3N0RGlyZWN0aXZlczogW0RlcHJlY2F0ZWRTZWxlY3RvckRpcmVjdGl2ZV0sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IERFUFJFQ0FURURfQ09ORklHLFxuICAgICAgICAgICAgdXNlVmFsdWU6IHtcbiAgICAgICAgICAgICAgICBvbGRTZWxlY3RvcjogJ3Mtc3RlcHMnLFxuICAgICAgICAgICAgICAgIG5ld1NlbGVjdG9yOiAncy1zdGVwcGVyJyxcbiAgICAgICAgICAgICAgICByZW1vdmFsVmVyc2lvbjogJzIwLjAuMCcsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgIF0sXG4gICAgaG9zdDoge1xuICAgICAgICAnYXJpYS1vcmllbnRhdGlvbic6ICdob3Jpem9udGFsJyxcbiAgICAgICAgcm9sZTogJ3RhYmxpc3QnLFxuICAgICAgICAndGFiLWluZGV4JzogJzAnLFxuICAgIH0sXG4gICAgYW5pbWF0aW9uczogW1xuICAgICAgICB0cmlnZ2VyKCdiZWZvcmVBY3RpdmVEZXNhdGl2ZScsIFtcbiAgICAgICAgICAgIHN0YXRlKFxuICAgICAgICAgICAgICAgICdhY3RpdmUnLFxuICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgJ2JhY2tncm91bmQtcG9zaXRpb24nOiAnbGVmdCBib3R0b20nLFxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHN0YXRlKFxuICAgICAgICAgICAgICAgICdkZXNhY3RpdmUnLFxuICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgJ2JhY2tncm91bmQtcG9zaXRpb24nOiAncmlnaHQgYm90dG9tJyxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCdhY3RpdmUgPT4gZGVzYWN0aXZlJywgW2FuaW1hdGUoJzUwbXMgMTAwbXMgbGluZWFyJyldKSxcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJ2Rlc2FjdGl2ZSA9PiBhY3RpdmUnLCBbYW5pbWF0ZSgnNTBtcyAyNTBtcyBsaW5lYXInKV0pLFxuICAgICAgICBdKSxcbiAgICAgICAgdHJpZ2dlcignYWN0aXZlRGVzYXRpdmUnLCBbXG4gICAgICAgICAgICBzdGF0ZShcbiAgICAgICAgICAgICAgICAnYWN0aXZlJyxcbiAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgICdiYWNrZ3JvdW5kLXBvc2l0aW9uJzogJ2xlZnQgYm90dG9tJyxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBzdGF0ZShcbiAgICAgICAgICAgICAgICAnZGVzYWN0aXZlJyxcbiAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgICdiYWNrZ3JvdW5kLXBvc2l0aW9uJzogJ3JpZ2h0IGJvdHRvbScsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgdHJhbnNpdGlvbignYWN0aXZlID0+IGRlc2FjdGl2ZScsIFthbmltYXRlKCcxMDBtcyAxNTBtcyBsaW5lYXInKV0pLFxuICAgICAgICAgICAgdHJhbnNpdGlvbignZGVzYWN0aXZlID0+IGFjdGl2ZScsIFthbmltYXRlKCcxMDBtcyAxNTBtcyBsaW5lYXInKV0pLFxuICAgICAgICBdKSxcbiAgICAgICAgdHJpZ2dlcignYWZ0ZXJBY3RpdmVEZXNhdGl2ZScsIFtcbiAgICAgICAgICAgIHN0YXRlKFxuICAgICAgICAgICAgICAgICdhY3RpdmUnLFxuICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgJ2JhY2tncm91bmQtcG9zaXRpb24nOiAnbGVmdCBib3R0b20nLFxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHN0YXRlKFxuICAgICAgICAgICAgICAgICdkZXNhY3RpdmUnLFxuICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgJ2JhY2tncm91bmQtcG9zaXRpb24nOiAncmlnaHQgYm90dG9tJyxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCdhY3RpdmUgPT4gZGVzYWN0aXZlJywgW2FuaW1hdGUoJzUwbXMgMjUwbXMgbGluZWFyJyldKSxcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJ2Rlc2FjdGl2ZSA9PiBhY3RpdmUnLCBbYW5pbWF0ZSgnNTBtcyAxMDBtcyBsaW5lYXInKV0pLFxuICAgICAgICBdKSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTdGVwcGVyQ29tcG9uZW50IHtcbiAgICBwdWJsaWMgc3RhdGljIG5leHRJZCA9IDA7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpZCA9IGBzLXN0ZXBzLSR7U3RlcHBlckNvbXBvbmVudC5uZXh0SWQrK31gO1xuXG4gICAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSlcbiAgICBwdWJsaWMgc3RlcHMhOiBTdGVwW107XG5cbiAgICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KVxuICAgIHB1YmxpYyBhY3RpdmVJbmRleCA9IDA7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgc3RlcFNlbGVjdGVkOiBFdmVudEVtaXR0ZXI8U3RlcFNlbGVjdGlvbkV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIHB1YmxpYyBnZXQgc3RlcFN0YXRlKCkge1xuICAgICAgICByZXR1cm4gU3RlcFN0YXRlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgdmlzaWJsZWRTdGVwKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zdGVwcy5maWx0ZXIoKHN0ZXA6IFN0ZXApID0+ICFzdGVwLmhpZGRlbik7XG4gICAgfVxuXG4gICAgcHVibGljIHN0ZXBDbGljayhzdGVwOiBTdGVwLCBpbmRleDogbnVtYmVyLCBldmVudDogYW55KSB7XG4gICAgICAgIGlmIChzdGVwLmRpc2FibGVkIHx8IGluZGV4ID09PSB0aGlzLmFjdGl2ZUluZGV4KSByZXR1cm47XG4gICAgICAgIHRoaXMuc3RlcFNlbGVjdGVkLmVtaXQoeyBzdGVwLCBpbmRleCwgZXZlbnQgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGJhckFuaW1hdGlvbihpbmRleDogbnVtYmVyLCBhY3RpdmVJbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHZpc2l0ZWQgPSBpbmRleCA8IGFjdGl2ZUluZGV4O1xuICAgICAgICBjb25zdCBhY3RpdmF0ZWQgPSBpbmRleCA9PT0gYWN0aXZlSW5kZXg7XG4gICAgICAgIHJldHVybiB2aXNpdGVkIHx8IGFjdGl2YXRlZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgYWZ0ZXJCYXJBbmltYXRpb24oaW5kZXg6IG51bWJlciwgYWN0aXZlSW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCB2aXNpdGVkID0gaW5kZXggPCBhY3RpdmVJbmRleDtcbiAgICAgICAgY29uc3QgYWN0aXZhdGVkID0gaW5kZXggPT09IGFjdGl2ZUluZGV4IC0gMTtcbiAgICAgICAgcmV0dXJuIHZpc2l0ZWQgfHwgYWN0aXZhdGVkO1xuICAgIH1cbn1cblxuIiwiPGRpdlxuICAgIFtpZF09XCJpZFwiXG4gICAgY2xhc3M9XCJzLXN0ZXBwZXItY29udGFpbmVyXCJcbj5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICAgICpuZ0Zvcj1cIlxuICAgICAgICAgICAgbGV0IHN0ZXAgb2YgdmlzaWJsZWRTdGVwO1xuICAgICAgICAgICAgbGV0IGkgPSBpbmRleDtcbiAgICAgICAgICAgIGxldCBpc0ZpcnN0ID0gZmlyc3Q7XG4gICAgICAgICAgICBsZXQgaXNMYXN0ID0gbGFzdFxuICAgICAgICBcIlxuICAgID5cbiAgICAgICAgQGlmICghaXNGaXJzdCkge1xuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwicy1zdGVwLXByb2dyZXNzLWJhclwiXG4gICAgICAgICAgICAgICAgW0BhY3RpdmVEZXNhdGl2ZV09XCJcbiAgICAgICAgICAgICAgICAgICAgYmFyQW5pbWF0aW9uKGksIGFjdGl2ZUluZGV4KSA/ICdhY3RpdmUnIDogJ2Rlc2FjdGl2ZSdcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgJ3Mtc3RlcC1zdWNjZXNzJzogc3RlcC5zdGF0ZSA9PT0gc3RlcFN0YXRlLlN1Y2Nlc3MsXG4gICAgICAgICAgICAgICAgICAgICdzLXN0ZXAtd2FybmluZyc6IHN0ZXAuc3RhdGUgPT09IHN0ZXBTdGF0ZS5XYXJuaW5nLFxuICAgICAgICAgICAgICAgICAgICAncy1zdGVwLWRpc2FibGVkJzogc3RlcC5kaXNhYmxlZCxcbiAgICAgICAgICAgICAgICAgICAgJ3Mtc3RlcC12aXNpdGVkJzogaSA8IGFjdGl2ZUluZGV4LFxuICAgICAgICAgICAgICAgICAgICAncy1zdGVwLWFjdGl2ZSc6IGkgPT09IGFjdGl2ZUluZGV4LFxuICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgPjwvZGl2PlxuICAgICAgICB9XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIFtpZF09XCJpZCArICctc3RlcC0nICsgKHN0ZXAuaWQgfHwgaSlcIlxuICAgICAgICAgICAgY2xhc3M9XCJzLXN0ZXAtaGVhZGVyXCJcbiAgICAgICAgICAgIChjbGljayk9XCJzdGVwQ2xpY2soc3RlcCwgaSwgJGV2ZW50KVwiXG4gICAgICAgICAgICByb2xlPVwidGFiXCJcbiAgICAgICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInN0ZXAuYXJpYUxhYmVsIHx8IG51bGxcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJzdGVwLmFyaWFDb250cm9sc1wiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiIXN0ZXAuYXJpYUxhYmVsID8gJ3N0ZXAtbGFiZWwtJyArIGkgOiBudWxsXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtcG9zaW5zZXRdPVwiaSArIDFcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1zZXRzaXplXT1cInZpc2libGVkU3RlcC5sZW5ndGhcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1zZWxlY3RlZF09XCJhY3RpdmVJbmRleCA9PT0gaVwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgJ3Mtc3RlcC1zdWNjZXNzJzogc3RlcC5zdGF0ZSA9PT0gc3RlcFN0YXRlLlN1Y2Nlc3MsXG4gICAgICAgICAgICAgICAgJ3Mtc3RlcC13YXJuaW5nJzogc3RlcC5zdGF0ZSA9PT0gc3RlcFN0YXRlLldhcm5pbmcsXG4gICAgICAgICAgICAgICAgJ3Mtc3RlcC12aXNpdGVkJzogaSA8IGFjdGl2ZUluZGV4LFxuICAgICAgICAgICAgICAgICdzLXN0ZXAtYWN0aXZlJzogaSA9PT0gYWN0aXZlSW5kZXgsXG4gICAgICAgICAgICAgICAgJ3Mtc3RlcC1wcmV2aW91cyc6IGkgPT09IGFjdGl2ZUluZGV4IC0gMSxcbiAgICAgICAgICAgIH1cIlxuICAgICAgICA+XG4gICAgICAgICAgICBAaWYgKCFpc0ZpcnN0KSB7XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBbQGJlZm9yZUFjdGl2ZURlc2F0aXZlXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgYmFyQW5pbWF0aW9uKGksIGFjdGl2ZUluZGV4KSA/ICdhY3RpdmUnIDogJ2Rlc2FjdGl2ZSdcbiAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzLXN0ZXAtcHJvZ3Jlc3MtYmFyLWJlZm9yZVwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAgICdzLXN0ZXAtc3VjY2Vzcyc6IHN0ZXAuc3RhdGUgPT09IHN0ZXBTdGF0ZS5TdWNjZXNzLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3Mtc3RlcC13YXJuaW5nJzogc3RlcC5zdGF0ZSA9PT0gc3RlcFN0YXRlLldhcm5pbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICAncy1zdGVwLWRpc2FibGVkJzogc3RlcC5kaXNhYmxlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICdzLXN0ZXAtdmlzaXRlZCc6IGkgPCBhY3RpdmVJbmRleCxcbiAgICAgICAgICAgICAgICAgICAgICAgICdzLXN0ZXAtYWN0aXZlJzogaSA9PT0gYWN0aXZlSW5kZXgsXG4gICAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgID48L2Rpdj5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmICghaXNMYXN0KSB7XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBbQGFmdGVyQWN0aXZlRGVzYXRpdmVdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBhZnRlckJhckFuaW1hdGlvbihpLCBhY3RpdmVJbmRleClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/ICdhY3RpdmUnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAnZGVzYWN0aXZlJ1xuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInMtc3RlcC1wcm9ncmVzcy1iYXItYWZ0ZXJcIlxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAncy1zdGVwLXN1Y2Nlc3MnOiBzdGVwLnN0YXRlID09PSBzdGVwU3RhdGUuU3VjY2VzcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdzLXN0ZXAtd2FybmluZyc6IHN0ZXAuc3RhdGUgPT09IHN0ZXBTdGF0ZS5XYXJuaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3Mtc3RlcC1kaXNhYmxlZCc6IHZpc2libGVkU3RlcFtpICsgMV0uZGlzYWJsZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAncy1zdGVwLXZpc2l0ZWQnOiBpICsgMSA8IGFjdGl2ZUluZGV4LFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3Mtc3RlcC1hY3RpdmUnOiBpID09PSBhY3RpdmVJbmRleCAtIDEsXG4gICAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgID48L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cInMtc3RlcC1pbmRleFwiXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAncy1zdGVwLWRpc2FibGVkJzogc3RlcC5kaXNhYmxlZCB9XCJcbiAgICAgICAgICAgICAgICBbc1Rvb2x0aXBdPVwic3RlcC50b29sdGlwXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicy1zdGVwLWluZGV4LWNvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgQGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0ZXAuc3RhdGUgIT09IHN0ZXBTdGF0ZS5XYXJuaW5nICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAoc3RlcC5zdGF0ZSA9PT0gc3RlcFN0YXRlLlN1Y2Nlc3MgfHwgYWN0aXZlSW5kZXggPiBpKVxuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmYXMgZmEtY2hlY2tcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJpICsgMVwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgQGlmIChzdGVwLnN0YXRlID09PSBzdGVwU3RhdGUuV2FybmluZykge1xuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZhcyBmYS1leGNsYW1hdGlvbi10cmlhbmdsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImkgKyAxXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBAaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgc3RlcC5zdGF0ZSAhPT0gc3RlcFN0YXRlLlN1Y2Nlc3MgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0ZXAuc3RhdGUgIT09IHN0ZXBTdGF0ZS5XYXJuaW5nICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBhY3RpdmVJbmRleCA8PSBpXG4gICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgaSArIDEgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIFtpZF09XCInc3RlcC1sYWJlbC0nICsgaVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzLXN0ZXAtbGFiZWxcIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ3Mtc3RlcC1kaXNhYmxlZCc6IHN0ZXAuZGlzYWJsZWQgfVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgICAgICAgIHt7IHN0ZXAubGFiZWwgfX1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cbiJdfQ==
|
|
157
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHBlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3RlcHBlci9zcmMvbGliL3N0ZXBwZXIvc3RlcHBlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3RlcHBlci9zcmMvbGliL3N0ZXBwZXIvc3RlcHBlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0RBQStELENBQUM7QUFDbEcsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sK0RBQStELENBQUM7QUFJNUcsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7OztBQUVoRDs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQXdFSCxNQUFNLE9BQU8sZ0JBQWdCO0lBQ2xCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBRXpCLHNHQUFzRztJQUUvRixFQUFFLEdBQUcsV0FBVyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDO0lBRW5ELDJFQUEyRTtJQUVwRSxLQUFLLENBQVU7SUFFdEIsa0ZBQWtGO0lBRTNFLFdBQVcsR0FBRyxDQUFDLENBQUM7SUFFdkIsaUZBQWlGO0lBRTFFLFlBQVksR0FBcUMsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUUzRSxJQUFXLFNBQVM7UUFDaEIsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQztJQUVELElBQVcsWUFBWTtRQUNu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QUNyRSxDQUFDO3dCQUNGLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRTs0QkFDM0IsS0FBSyxDQUNELFFBQVEsRUFDUixLQUFLLENBQUM7Z0NBQ0YscUJBQXFCLEVBQUUsYUFBYTs2QkFDdkMsQ0FBQyxDQUNMOzRCQUNELEtBQUssQ0FDRCxXQUFXLEVBQ1gsS0FBSyxDQUFDO2dDQUNGLHFCQUFxQixFQUFFLGNBQWM7NkJBQ3hDLENBQUMsQ0FDTDs0QkFDRCxVQUFVLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDOzRCQUNqRSxVQUFVLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDO3lCQUNwRSxDQUFDO3FCQUNMOzhCQU9NLEVBQUU7c0JBRFIsS0FBSztnQkFLQyxLQUFLO3NCQURYLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUtsQixXQUFXO3NCQURqQixLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFLbEIsWUFBWTtzQkFEbEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgREVQUkVDQVRFRF9DT05GSUcgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL2NvbW1vbi9kZXByZWNhdGVkLXNlbGVjdG9yJztcbmltcG9ydCB7IERlcHJlY2F0ZWRTZWxlY3RvckRpcmVjdGl2ZSB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvY29tbW9uL2RlcHJlY2F0ZWQtc2VsZWN0b3InO1xuXG5pbXBvcnQgeyBTdGVwIH0gZnJvbSAnLi9tb2RlbHMvc3RlcCc7XG5pbXBvcnQgeyBTdGVwU2VsZWN0aW9uRXZlbnQgfSBmcm9tICcuL21vZGVscy9zdGVwLXNlbGVjdGlvbi1ldmVudCc7XG5pbXBvcnQgeyBTdGVwU3RhdGUgfSBmcm9tICcuL21vZGVscy9zdGVwLXN0YXRlJztcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gQ29tcG9uZW50ZSBkZSBwcm9ncmVzc28gZW0gZXRhcGFzIChzdGVwcGVyKSBjb20gYW5pbWHDp8O1ZXMuXG4gKiBFeGliZSB1bWEgbGluaGEgZG8gdGVtcG8gaG9yaXpvbnRhbCBkZSBwYXNzb3MsIHBlcm1pdGluZG8gbmF2ZWdhciBlbnRyZSBlbGVzLlxuICogU3Vwb3J0YSBwYXNzb3Mgb2N1bHRvcyBlIGRlc2FiaWxpdGFkb3MuIFRhbWLDqW0gcmVzcG9uZGUgYW8gc2VsZXRvciBsZWdhZG8gYHMtc3RlcHNgLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGBodG1sXG4gKiA8cy1zdGVwcGVyXG4gKiAgIFtzdGVwc109XCJldGFwYXNcIlxuICogICBbYWN0aXZlSW5kZXhdPVwiZXRhcGFBdGl2YVwiXG4gKiAgIChzdGVwU2VsZWN0ZWQpPVwib25FdGFwYVNlbGVjaW9uYWRhKCRldmVudClcIiAvPlxuICogYGBgXG4gKlxuICogQGNhdGVnb3J5IFN0cnVjdHVyZVxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3Mtc3RlcHBlciwgcy1zdGVwcycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3N0ZXBwZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3N0ZXBwZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBob3N0RGlyZWN0aXZlczogW0RlcHJlY2F0ZWRTZWxlY3RvckRpcmVjdGl2ZV0sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IERFUFJFQ0FURURfQ09ORklHLFxuICAgICAgICAgICAgdXNlVmFsdWU6IHtcbiAgICAgICAgICAgICAgICBvbGRTZWxlY3RvcjogJ3Mtc3RlcHMnLFxuICAgICAgICAgICAgICAgIG5ld1NlbGVjdG9yOiAncy1zdGVwcGVyJyxcbiAgICAgICAgICAgICAgICByZW1vdmFsVmVyc2lvbjogJzIwLjAuMCcsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgIF0sXG4gICAgaG9zdDoge1xuICAgICAgICAnYXJpYS1vcmllbnRhdGlvbic6ICdob3Jpem9udGFsJyxcbiAgICAgICAgcm9sZTogJ3RhYmxpc3QnLFxuICAgICAgICAndGFiLWluZGV4JzogJzAnLFxuICAgIH0sXG4gICAgYW5pbWF0aW9uczogW1xuICAgICAgICB0cmlnZ2VyKCdiZWZvcmVBY3RpdmVEZXNhdGl2ZScsIFtcbiAgICAgICAgICAgIHN0YXRlKFxuICAgICAgICAgICAgICAgICdhY3RpdmUnLFxuICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgJ2JhY2tncm91bmQtcG9zaXRpb24nOiAnbGVmdCBib3R0b20nLFxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHN0YXRlKFxuICAgICAgICAgICAgICAgICdkZXNhY3RpdmUnLFxuICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgJ2JhY2tncm91bmQtcG9zaXRpb24nOiAncmlnaHQgYm90dG9tJyxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCdhY3RpdmUgPT4gZGVzYWN0aXZlJywgW2FuaW1hdGUoJzUwbXMgMTAwbXMgbGluZWFyJyldKSxcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJ2Rlc2FjdGl2ZSA9PiBhY3RpdmUnLCBbYW5pbWF0ZSgnNTBtcyAyNTBtcyBsaW5lYXInKV0pLFxuICAgICAgICBdKSxcbiAgICAgICAgdHJpZ2dlcignYWN0aXZlRGVzYXRpdmUnLCBbXG4gICAgICAgICAgICBzdGF0ZShcbiAgICAgICAgICAgICAgICAnYWN0aXZlJyxcbiAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgICdiYWNrZ3JvdW5kLXBvc2l0aW9uJzogJ2xlZnQgYm90dG9tJyxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBzdGF0ZShcbiAgICAgICAgICAgICAgICAnZGVzYWN0aXZlJyxcbiAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgICdiYWNrZ3JvdW5kLXBvc2l0aW9uJzogJ3JpZ2h0IGJvdHRvbScsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgdHJhbnNpdGlvbignYWN0aXZlID0+IGRlc2FjdGl2ZScsIFthbmltYXRlKCcxMDBtcyAxNTBtcyBsaW5lYXInKV0pLFxuICAgICAgICAgICAgdHJhbnNpdGlvbignZGVzYWN0aXZlID0+IGFjdGl2ZScsIFthbmltYXRlKCcxMDBtcyAxNTBtcyBsaW5lYXInKV0pLFxuICAgICAgICBdKSxcbiAgICAgICAgdHJpZ2dlcignYWZ0ZXJBY3RpdmVEZXNhdGl2ZScsIFtcbiAgICAgICAgICAgIHN0YXRlKFxuICAgICAgICAgICAgICAgICdhY3RpdmUnLFxuICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgJ2JhY2tncm91bmQtcG9zaXRpb24nOiAnbGVmdCBib3R0b20nLFxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHN0YXRlKFxuICAgICAgICAgICAgICAgICdkZXNhY3RpdmUnLFxuICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgJ2JhY2tncm91bmQtcG9zaXRpb24nOiAncmlnaHQgYm90dG9tJyxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCdhY3RpdmUgPT4gZGVzYWN0aXZlJywgW2FuaW1hdGUoJzUwbXMgMjUwbXMgbGluZWFyJyldKSxcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJ2Rlc2FjdGl2ZSA9PiBhY3RpdmUnLCBbYW5pbWF0ZSgnNTBtcyAxMDBtcyBsaW5lYXInKV0pLFxuICAgICAgICBdKSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTdGVwcGVyQ29tcG9uZW50IHtcbiAgICBwdWJsaWMgc3RhdGljIG5leHRJZCA9IDA7XG5cbiAgICAvKiogQGRlc2NyaXB0aW9uIElkZW50aWZpY2Fkb3Igw7puaWNvIGRvIGNvbXBvbmVudGUgbm8gRE9NLiBHZXJhZG8gYXV0b21hdGljYW1lbnRlIHNlIG7Do28gaW5mb3JtYWRvLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGlkID0gYHMtc3RlcHMtJHtTdGVwcGVyQ29tcG9uZW50Lm5leHRJZCsrfWA7XG5cbiAgICAvKiogQGRlc2NyaXB0aW9uIExpc3RhIGRlIGV0YXBhcyBleGliaWRhcyBubyBzdGVwcGVyLiBDYW1wbyBvYnJpZ2F0w7NyaW8uICovXG4gICAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSlcbiAgICBwdWJsaWMgc3RlcHMhOiBTdGVwW107XG5cbiAgICAvKiogQGRlc2NyaXB0aW9uIMONbmRpY2UgKDAtYmFzZWQpIGRhIGV0YXBhIGF0dWFsbWVudGUgYXRpdmEuIENhbXBvIG9icmlnYXTDs3Jpby4gKi9cbiAgICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KVxuICAgIHB1YmxpYyBhY3RpdmVJbmRleCA9IDA7XG5cbiAgICAvKiogQGRlc2NyaXB0aW9uIEVtaXRpZG8gcXVhbmRvIG8gdXN1w6FyaW8gY2xpY2EgZW0gdW1hIGV0YXBhIG7Do28gZGVzYWJpbGl0YWRhLiAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBzdGVwU2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxTdGVwU2VsZWN0aW9uRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgcHVibGljIGdldCBzdGVwU3RhdGUoKSB7XG4gICAgICAgIHJldHVybiBTdGVwU3RhdGU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCB2aXNpYmxlZFN0ZXAoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0ZXBzLmZpbHRlcigoc3RlcDogU3RlcCkgPT4gIXN0ZXAuaGlkZGVuKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RlcENsaWNrKHN0ZXA6IFN0ZXAsIGluZGV4OiBudW1iZXIsIGV2ZW50OiBhbnkpIHtcbiAgICAgICAgaWYgKHN0ZXAuZGlzYWJsZWQgfHwgaW5kZXggPT09IHRoaXMuYWN0aXZlSW5kZXgpIHJldHVybjtcbiAgICAgICAgdGhpcy5zdGVwU2VsZWN0ZWQuZW1pdCh7IHN0ZXAsIGluZGV4LCBldmVudCB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYmFyQW5pbWF0aW9uKGluZGV4OiBudW1iZXIsIGFjdGl2ZUluZGV4OiBudW1iZXIpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgdmlzaXRlZCA9IGluZGV4IDwgYWN0aXZlSW5kZXg7XG4gICAgICAgIGNvbnN0IGFjdGl2YXRlZCA9IGluZGV4ID09PSBhY3RpdmVJbmRleDtcbiAgICAgICAgcmV0dXJuIHZpc2l0ZWQgfHwgYWN0aXZhdGVkO1xuICAgIH1cblxuICAgIHB1YmxpYyBhZnRlckJhckFuaW1hdGlvbihpbmRleDogbnVtYmVyLCBhY3RpdmVJbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHZpc2l0ZWQgPSBpbmRleCA8IGFjdGl2ZUluZGV4O1xuICAgICAgICBjb25zdCBhY3RpdmF0ZWQgPSBpbmRleCA9PT0gYWN0aXZlSW5kZXggLSAxO1xuICAgICAgICByZXR1cm4gdmlzaXRlZCB8fCBhY3RpdmF0ZWQ7XG4gICAgfVxufVxuXG4iLCI8ZGl2XG4gICAgW2lkXT1cImlkXCJcbiAgICBjbGFzcz1cInMtc3RlcHBlci1jb250YWluZXJcIlxuPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgKm5nRm9yPVwiXG4gICAgICAgICAgICBsZXQgc3RlcCBvZiB2aXNpYmxlZFN0ZXA7XG4gICAgICAgICAgICBsZXQgaSA9IGluZGV4O1xuICAgICAgICAgICAgbGV0IGlzRmlyc3QgPSBmaXJzdDtcbiAgICAgICAgICAgIGxldCBpc0xhc3QgPSBsYXN0XG4gICAgICAgIFwiXG4gICAgPlxuICAgICAgICBAaWYgKCFpc0ZpcnN0KSB7XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzLXN0ZXAtcHJvZ3Jlc3MtYmFyXCJcbiAgICAgICAgICAgICAgICBbQGFjdGl2ZURlc2F0aXZlXT1cIlxuICAgICAgICAgICAgICAgICAgICBiYXJBbmltYXRpb24oaSwgYWN0aXZlSW5kZXgpID8gJ2FjdGl2ZScgOiAnZGVzYWN0aXZlJ1xuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgICAncy1zdGVwLXN1Y2Nlc3MnOiBzdGVwLnN0YXRlID09PSBzdGVwU3RhdGUuU3VjY2VzcyxcbiAgICAgICAgICAgICAgICAgICAgJ3Mtc3RlcC13YXJuaW5nJzogc3RlcC5zdGF0ZSA9PT0gc3RlcFN0YXRlLldhcm5pbmcsXG4gICAgICAgICAgICAgICAgICAgICdzLXN0ZXAtZGlzYWJsZWQnOiBzdGVwLmRpc2FibGVkLFxuICAgICAgICAgICAgICAgICAgICAncy1zdGVwLXZpc2l0ZWQnOiBpIDwgYWN0aXZlSW5kZXgsXG4gICAgICAgICAgICAgICAgICAgICdzLXN0ZXAtYWN0aXZlJzogaSA9PT0gYWN0aXZlSW5kZXgsXG4gICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICA+PC9kaXY+XG4gICAgICAgIH1cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgW2lkXT1cImlkICsgJy1zdGVwLScgKyAoc3RlcC5pZCB8fCBpKVwiXG4gICAgICAgICAgICBjbGFzcz1cInMtc3RlcC1oZWFkZXJcIlxuICAgICAgICAgICAgKGNsaWNrKT1cInN0ZXBDbGljayhzdGVwLCBpLCAkZXZlbnQpXCJcbiAgICAgICAgICAgIHJvbGU9XCJ0YWJcIlxuICAgICAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwic3RlcC5hcmlhTGFiZWwgfHwgbnVsbFwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cInN0ZXAuYXJpYUNvbnRyb2xzXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCIhc3RlcC5hcmlhTGFiZWwgPyAnc3RlcC1sYWJlbC0nICsgaSA6IG51bGxcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1wb3NpbnNldF09XCJpICsgMVwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLXNldHNpemVdPVwidmlzaWJsZWRTdGVwLmxlbmd0aFwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLXNlbGVjdGVkXT1cImFjdGl2ZUluZGV4ID09PSBpXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAncy1zdGVwLXN1Y2Nlc3MnOiBzdGVwLnN0YXRlID09PSBzdGVwU3RhdGUuU3VjY2VzcyxcbiAgICAgICAgICAgICAgICAncy1zdGVwLXdhcm5pbmcnOiBzdGVwLnN0YXRlID09PSBzdGVwU3RhdGUuV2FybmluZyxcbiAgICAgICAgICAgICAgICAncy1zdGVwLXZpc2l0ZWQnOiBpIDwgYWN0aXZlSW5kZXgsXG4gICAgICAgICAgICAgICAgJ3Mtc3RlcC1hY3RpdmUnOiBpID09PSBhY3RpdmVJbmRleCxcbiAgICAgICAgICAgICAgICAncy1zdGVwLXByZXZpb3VzJzogaSA9PT0gYWN0aXZlSW5kZXggLSAxLFxuICAgICAgICAgICAgfVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIEBpZiAoIWlzRmlyc3QpIHtcbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIFtAYmVmb3JlQWN0aXZlRGVzYXRpdmVdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBiYXJBbmltYXRpb24oaSwgYWN0aXZlSW5kZXgpID8gJ2FjdGl2ZScgOiAnZGVzYWN0aXZlJ1xuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInMtc3RlcC1wcm9ncmVzcy1iYXItYmVmb3JlXCJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgJ3Mtc3RlcC1zdWNjZXNzJzogc3RlcC5zdGF0ZSA9PT0gc3RlcFN0YXRlLlN1Y2Nlc3MsXG4gICAgICAgICAgICAgICAgICAgICAgICAncy1zdGVwLXdhcm5pbmcnOiBzdGVwLnN0YXRlID09PSBzdGVwU3RhdGUuV2FybmluZyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdzLXN0ZXAtZGlzYWJsZWQnOiBzdGVwLmRpc2FibGVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3Mtc3RlcC12aXNpdGVkJzogaSA8IGFjdGl2ZUluZGV4LFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3Mtc3RlcC1hY3RpdmUnOiBpID09PSBhY3RpdmVJbmRleCxcbiAgICAgICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgICAgPjwvZGl2PlxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgKCFpc0xhc3QpIHtcbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIFtAYWZ0ZXJBY3RpdmVEZXNhdGl2ZV09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFmdGVyQmFyQW5pbWF0aW9uKGksIGFjdGl2ZUluZGV4KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gJ2FjdGl2ZSdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICdkZXNhY3RpdmUnXG4gICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicy1zdGVwLXByb2dyZXNzLWJhci1hZnRlclwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAgICdzLXN0ZXAtc3VjY2Vzcyc6IHN0ZXAuc3RhdGUgPT09IHN0ZXBTdGF0ZS5TdWNjZXNzLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3Mtc3RlcC13YXJuaW5nJzogc3RlcC5zdGF0ZSA9PT0gc3RlcFN0YXRlLldhcm5pbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICAncy1zdGVwLWRpc2FibGVkJzogdmlzaWJsZWRTdGVwW2kgKyAxXS5kaXNhYmxlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICdzLXN0ZXAtdmlzaXRlZCc6IGkgKyAxIDwgYWN0aXZlSW5kZXgsXG4gICAgICAgICAgICAgICAgICAgICAgICAncy1zdGVwLWFjdGl2ZSc6IGkgPT09IGFjdGl2ZUluZGV4IC0gMSxcbiAgICAgICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgICAgPjwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwicy1zdGVwLWluZGV4XCJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdzLXN0ZXAtZGlzYWJsZWQnOiBzdGVwLmRpc2FibGVkIH1cIlxuICAgICAgICAgICAgICAgIFtzVG9vbHRpcF09XCJzdGVwLnRvb2x0aXBcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzLXN0ZXAtaW5kZXgtY29udGVudFwiPlxuICAgICAgICAgICAgICAgICAgICBAaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgc3RlcC5zdGF0ZSAhPT0gc3RlcFN0YXRlLldhcm5pbmcgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIChzdGVwLnN0YXRlID09PSBzdGVwU3RhdGUuU3VjY2VzcyB8fCBhY3RpdmVJbmRleCA+IGkpXG4gICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZhcyBmYS1jaGVja1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImkgKyAxXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBAaWYgKHN0ZXAuc3RhdGUgPT09IHN0ZXBTdGF0ZS5XYXJuaW5nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmFzIGZhLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiaSArIDFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICBzdGVwLnN0YXRlICE9PSBzdGVwU3RhdGUuU3VjY2VzcyAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgc3RlcC5zdGF0ZSAhPT0gc3RlcFN0YXRlLldhcm5pbmcgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIGFjdGl2ZUluZGV4IDw9IGlcbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyBpICsgMSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgW2lkXT1cIidzdGVwLWxhYmVsLScgKyBpXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInMtc3RlcC1sYWJlbFwiXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAncy1zdGVwLWRpc2FibGVkJzogc3RlcC5kaXNhYmxlZCB9XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgICAgICAgICAge3sgc3RlcC5sYWJlbCB9fVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuIl19
|
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
import { Component } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* @description Componente de rodapé da estrutura da página. Projeta conteúdo via ng-content.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```html
|
|
8
|
+
* <s-footer>Rodapé da aplicação</s-footer>
|
|
9
|
+
* ```
|
|
10
|
+
*
|
|
11
|
+
* @category Structure
|
|
12
|
+
*/
|
|
3
13
|
export class FooterComponent {
|
|
4
14
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
5
15
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: FooterComponent, selector: "s-footer", ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
|
|
@@ -11,4 +21,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
11
21
|
template: '<ng-content></ng-content>',
|
|
12
22
|
}]
|
|
13
23
|
}] });
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zdHJ1Y3R1cmUvc3JjL2xpYi9zdHJ1Y3R1cmUvZm9vdGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUUxQzs7Ozs7Ozs7O0dBU0c7QUFLSCxNQUFNLE9BQU8sZUFBZTt3R0FBZixlQUFlOzRGQUFmLGVBQWUsZ0RBRmQsMkJBQTJCOzs0RkFFNUIsZUFBZTtrQkFKM0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsVUFBVTtvQkFDcEIsUUFBUSxFQUFFLDJCQUEyQjtpQkFDeEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gQ29tcG9uZW50ZSBkZSByb2RhcMOpIGRhIGVzdHJ1dHVyYSBkYSBww6FnaW5hLiBQcm9qZXRhIGNvbnRlw7pkbyB2aWEgbmctY29udGVudC5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgaHRtbFxuICogPHMtZm9vdGVyPlJvZGFww6kgZGEgYXBsaWNhw6fDo288L3MtZm9vdGVyPlxuICogYGBgXG4gKlxuICogQGNhdGVnb3J5IFN0cnVjdHVyZVxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3MtZm9vdGVyJyxcbiAgICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxufSlcbmV4cG9ydCBjbGFzcyBGb290ZXJDb21wb25lbnQge31cblxuIl19
|