@elderbyte/ngx-starter 18.14.2 → 18.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/common/enums/elder-enum-translation.service.mjs +4 -4
- package/esm2022/lib/common/forms/elder-form-field-control-base.directive.mjs +45 -48
- package/esm2022/lib/common/forms/elder-from-field-base.mjs +4 -4
- package/esm2022/lib/common/forms/elder-from-field-customizable-base.mjs +4 -4
- package/esm2022/lib/common/forms/elder-from-field-entity-base.mjs +4 -4
- package/esm2022/lib/common/forms/elder-from-field-multi-entity-base.mjs +4 -4
- package/esm2022/lib/common/forms/form-field-base.component.mjs +4 -4
- package/esm2022/lib/common/forms/multi-model-base.component.mjs +4 -4
- package/esm2022/lib/common/forms/template-composite-control.mjs +4 -4
- package/esm2022/lib/common/forms/value-accessor-base.mjs +4 -4
- package/esm2022/lib/common/http/http-client-builder.service.mjs +4 -4
- package/esm2022/lib/common/http/http-client-pristine.mjs +4 -4
- package/esm2022/lib/common/http/transfer/data-transfer-factory.mjs +4 -4
- package/esm2022/lib/common/url/elder-router.service.mjs +4 -4
- package/esm2022/lib/common/url/elder-url-fragment-params.service.mjs +4 -4
- package/esm2022/lib/components/access-denied/elder-access-denied.component.mjs +4 -4
- package/esm2022/lib/components/access-denied/elder-access-denied.module.mjs +5 -5
- package/esm2022/lib/components/auditing/audited-entity/elder-audited-entity.component.mjs +4 -4
- package/esm2022/lib/components/auditing/elder-audit.module.mjs +5 -5
- package/esm2022/lib/components/badge/elder-badge/elder-badge.component.mjs +10 -10
- package/esm2022/lib/components/badge/elder-badge.directive.mjs +4 -4
- package/esm2022/lib/components/badge/elder-badge.module.mjs +5 -5
- package/esm2022/lib/components/button-group/elder-button-group/elder-button-group.component.mjs +4 -4
- package/esm2022/lib/components/button-group/elder-button-group.module.mjs +5 -5
- package/esm2022/lib/components/card-organizer/card-organizer/elder-card-organizer.component.mjs +4 -4
- package/esm2022/lib/components/card-organizer/card-organizer/elder-stack-card.directive.mjs +4 -4
- package/esm2022/lib/components/card-organizer/card-stack/elder-card-stack.component.mjs +4 -4
- package/esm2022/lib/components/card-organizer/elder-card-organizer.module.mjs +5 -5
- package/esm2022/lib/components/cards/elder-card/elder-card-header/elder-card-header.component.mjs +4 -4
- package/esm2022/lib/components/cards/elder-card/elder-card.component.mjs +19 -19
- package/esm2022/lib/components/cards/elder-card/elder-card.module.mjs +5 -5
- package/esm2022/lib/components/chips/elder-chip-label.directive.mjs +4 -4
- package/esm2022/lib/components/chips/elder-chips.module.mjs +5 -5
- package/esm2022/lib/components/connectivity/elder-connectivity.module.mjs +5 -5
- package/esm2022/lib/components/connectivity/elder-connectivity.service.mjs +4 -4
- package/esm2022/lib/components/connectivity/offline-indicator/elder-offline-indicator.component.mjs +4 -4
- package/esm2022/lib/components/containers/elder-containers.module.mjs +5 -5
- package/esm2022/lib/components/containers/elder-scroll-container/elder-scroll-container.component.mjs +4 -4
- package/esm2022/lib/components/csv/elder-csv-export-btn/elder-csv-export-btn.component.mjs +4 -4
- package/esm2022/lib/components/csv/elder-csv-stream-exporter-builder.service.mjs +4 -4
- package/esm2022/lib/components/csv/elder-csv.module.mjs +5 -5
- package/esm2022/lib/components/currency/elder-currency.module.mjs +5 -5
- package/esm2022/lib/components/currency/elder-currency.pipe.mjs +4 -4
- package/esm2022/lib/components/data-transfer/elder-data-transfer.module.mjs +5 -5
- package/esm2022/lib/components/data-transfer/elder-data-transfer.service.mjs +4 -4
- package/esm2022/lib/components/data-transfer/http-data-transfer/http-data-transfer.component.mjs +4 -4
- package/esm2022/lib/components/data-transfer/http-data-transfer-aggregate/http-data-transfer-aggregate.component.mjs +4 -4
- package/esm2022/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.mjs +4 -4
- package/esm2022/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.mjs +4 -4
- package/esm2022/lib/components/data-view/base/elder-data-view-base.mjs +4 -4
- package/esm2022/lib/components/data-view/common/composite-sort/composite-sort-dc.directive.mjs +4 -4
- package/esm2022/lib/components/data-view/common/composite-sort/elder-composite-sort/elder-composite-sort.component.mjs +4 -4
- package/esm2022/lib/components/data-view/common/data-context-state-indicator/data-context-state-indicator.component.mjs +4 -4
- package/esm2022/lib/components/data-view/common/elder-data-common.module.mjs +5 -5
- package/esm2022/lib/components/data-view/common/elder-data-toolbar/elder-data-toolbar.component.mjs +7 -7
- package/esm2022/lib/components/data-view/common/elder-single-sort/elder-single-sort.component.mjs +4 -4
- package/esm2022/lib/components/data-view/common/selection/data-context-selection.directive.mjs +4 -4
- package/esm2022/lib/components/data-view/common/selection/elder-selection-master-checkbox/elder-selection-master-checkbox.component.mjs +4 -4
- package/esm2022/lib/components/data-view/grid/elder-grid/elder-grid.component.mjs +10 -10
- package/esm2022/lib/components/data-view/grid/elder-grid.module.mjs +5 -5
- package/esm2022/lib/components/data-view/master-detail/elder-detail-dialog/elder-detail-dialog.component.mjs +4 -4
- package/esm2022/lib/components/data-view/master-detail/elder-detail.directive.mjs +4 -4
- package/esm2022/lib/components/data-view/master-detail/elder-master-activation.directive.mjs +4 -4
- package/esm2022/lib/components/data-view/master-detail/elder-master-detail.component.mjs +4 -4
- package/esm2022/lib/components/data-view/master-detail/elder-master-detail.module.mjs +5 -5
- package/esm2022/lib/components/data-view/master-detail/elder-master-detail.service.mjs +4 -4
- package/esm2022/lib/components/data-view/master-detail/elder-master.directive.mjs +4 -4
- package/esm2022/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.component.mjs +4 -4
- package/esm2022/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.module.mjs +5 -5
- package/esm2022/lib/components/data-view/table/activation/elder-delete-active.directive.mjs +4 -4
- package/esm2022/lib/components/data-view/table/activation/elder-table-activation.directive.mjs +4 -4
- package/esm2022/lib/components/data-view/table/elder-center-cell.directive.mjs +4 -4
- package/esm2022/lib/components/data-view/table/elder-number-cell.directive.mjs +4 -4
- package/esm2022/lib/components/data-view/table/elder-paginator-intl.mjs +4 -4
- package/esm2022/lib/components/data-view/table/elder-table/elder-table-toolbar.directive.mjs +4 -4
- package/esm2022/lib/components/data-view/table/elder-table/elder-table.component.mjs +4 -4
- package/esm2022/lib/components/data-view/table/elder-table-column.directive.mjs +4 -4
- package/esm2022/lib/components/data-view/table/elder-table-extension.directive.mjs +4 -4
- package/esm2022/lib/components/data-view/table/elder-table-root.directive.mjs +4 -4
- package/esm2022/lib/components/data-view/table/elder-table-row.directive.mjs +4 -4
- package/esm2022/lib/components/data-view/table/elder-table-sort.directive.mjs +4 -4
- package/esm2022/lib/components/data-view/table/elder-table.module.mjs +5 -5
- package/esm2022/lib/components/data-view/table/model/elder-table-model.mjs +4 -4
- package/esm2022/lib/components/dialogs/confirm-dialog/elder-confirm-dialog.component.mjs +4 -4
- package/esm2022/lib/components/dialogs/elder-dialog.module.mjs +5 -5
- package/esm2022/lib/components/dialogs/elder-dialog.service.mjs +4 -4
- package/esm2022/lib/components/dialogs/question-dialog/elder-question-dialog.component.mjs +4 -4
- package/esm2022/lib/components/dialogs/selection-dialog/elder-selection-dialog/elder-selection-dialog.component.mjs +4 -4
- package/esm2022/lib/components/dialogs/selection-dialog/elder-selection-dialog.directive.mjs +4 -4
- package/esm2022/lib/components/errors/elder-error.module.mjs +5 -5
- package/esm2022/lib/components/errors/exception-detail/elder-exception-detail.component.mjs +4 -4
- package/esm2022/lib/components/expand-toggle-button/elder-expand-toggle-button.component.mjs +4 -4
- package/esm2022/lib/components/expand-toggle-button/elder-expand-toggle-button.module.mjs +5 -5
- package/esm2022/lib/components/files/blob-viewer/elder-blob-viewer.component.mjs +4 -4
- package/esm2022/lib/components/files/drag-n-drop/elder-drop-zone/elder-drop-zone.component.mjs +4 -4
- package/esm2022/lib/components/files/drag-n-drop/global-drag-drop.service.mjs +4 -4
- package/esm2022/lib/components/files/elder-file-drop-zone.directive.mjs +4 -4
- package/esm2022/lib/components/files/elder-file-select.directive.mjs +4 -4
- package/esm2022/lib/components/files/elder-file.module.mjs +5 -5
- package/esm2022/lib/components/files/file-select/file-select.component.mjs +4 -4
- package/esm2022/lib/components/files/file-upload/file-upload.component.mjs +4 -4
- package/esm2022/lib/components/forms/clipboard/elder-clipboard.service.mjs +4 -4
- package/esm2022/lib/components/forms/directives/base/elder-class-hostbinding-base.mjs +4 -4
- package/esm2022/lib/components/forms/directives/checkbox/elder-single-state-checkbox.directive.mjs +4 -4
- package/esm2022/lib/components/forms/directives/checkbox/elder-triple-state-checkbox.directive.mjs +4 -4
- package/esm2022/lib/components/forms/directives/elder-clipboard-put.directive.mjs +4 -4
- package/esm2022/lib/components/forms/directives/elder-delayed-focus.directive.mjs +4 -4
- package/esm2022/lib/components/forms/directives/elder-form-field-dense.directive.mjs +4 -4
- package/esm2022/lib/components/forms/directives/elder-form-field-label.directive.mjs +4 -4
- package/esm2022/lib/components/forms/directives/elder-form-field-no-hint.directive.mjs +4 -4
- package/esm2022/lib/components/forms/directives/elder-form-field-no-spinner.directive.mjs +4 -4
- package/esm2022/lib/components/forms/directives/elder-forms-directives.module.mjs +5 -5
- package/esm2022/lib/components/forms/directives/elder-initial-value.directive.mjs +4 -4
- package/esm2022/lib/components/forms/directives/elder-input-pattern.directive.mjs +4 -4
- package/esm2022/lib/components/forms/directives/elder-key-event.directive.mjs +4 -4
- package/esm2022/lib/components/forms/directives/elder-next-focusable.directive.mjs +4 -4
- package/esm2022/lib/components/forms/directives/elder-plug-parent-form.directive.mjs +4 -4
- package/esm2022/lib/components/forms/directives/elder-stop-event-propagation.directive.mjs +4 -4
- package/esm2022/lib/components/forms/directives/elder-tab-focus-trap.directive.mjs +4 -4
- package/esm2022/lib/components/forms/directives/elder-touched.directive.mjs +4 -4
- package/esm2022/lib/components/forms/directives/validation/elder-validation-error.directive.mjs +4 -4
- package/esm2022/lib/components/forms/directives/validation/strategies/common-validation-message-strategy.mjs +4 -4
- package/esm2022/lib/components/forms/directives/validation/strategies/dynamic-validation-message-strategy.mjs +4 -4
- package/esm2022/lib/components/forms/directives/validation/validation-message-renderer.service.mjs +4 -4
- package/esm2022/lib/components/forms/directives/validation/validators/elder-max.validator.mjs +4 -4
- package/esm2022/lib/components/forms/directives/validation/validators/elder-min.validator.mjs +4 -4
- package/esm2022/lib/components/forms/directives/validation/validators/elder-multiple-of.validator.mjs +4 -4
- package/esm2022/lib/components/forms/directives/validation/validators/elder-required-ignore-zero.validator.mjs +4 -4
- package/esm2022/lib/components/forms/elder-forms.module.mjs +5 -5
- package/esm2022/lib/components/forms/search/domain/context/search-context.service.mjs +4 -4
- package/esm2022/lib/components/forms/search/domain/url/elder-search-url.directive.mjs +4 -4
- package/esm2022/lib/components/forms/search/domain/url/elder-search-url.service.mjs +4 -4
- package/esm2022/lib/components/forms/search/elder-search-context.directive.mjs +4 -4
- package/esm2022/lib/components/forms/search/elder-search-input.directive.mjs +4 -4
- package/esm2022/lib/components/forms/search/elder-search.module.mjs +5 -5
- package/esm2022/lib/components/forms/search/search-box/elder-search-box.component.mjs +4 -4
- package/esm2022/lib/components/forms/search/search-box/elder-search-panel.component.mjs +4 -4
- package/esm2022/lib/components/global-search/elder-global-search.component.mjs +4 -4
- package/esm2022/lib/components/global-search/elder-global-search.module.mjs +5 -5
- package/esm2022/lib/components/global-search/elder-global-search.service.mjs +4 -4
- package/esm2022/lib/components/graph/elder-progress-bar/elder-progress-bar.component.mjs +4 -4
- package/esm2022/lib/components/graph/elder-progress-bar/elder-progress-bar.module.mjs +5 -5
- package/esm2022/lib/components/headers/elder-header/elder-header.component.mjs +4 -4
- package/esm2022/lib/components/headers/elder-header.module.mjs +5 -5
- package/esm2022/lib/components/http-support/elder-http-client.service.mjs +4 -4
- package/esm2022/lib/components/i18n/entities/elder-i18n-entities.module.mjs +5 -5
- package/esm2022/lib/components/i18n/entities/elder-localized-input/elder-localized-input.component.mjs +4 -4
- package/esm2022/lib/components/i18n/entities/elder-localized-input-dialog/elder-localized-input-dialog.component.mjs +4 -4
- package/esm2022/lib/components/i18n/entities/elder-localized-input-dialog.service.mjs +4 -4
- package/esm2022/lib/components/i18n/entities/elder-localized-input-table/elder-localized-input-table.component.mjs +4 -4
- package/esm2022/lib/components/i18n/entities/elder-localized-text-column.directive.mjs +4 -4
- package/esm2022/lib/components/i18n/entities/elder-localized-texts.directive.mjs +4 -4
- package/esm2022/lib/components/i18n/entities/picker/i18n-pick-async.pipe.mjs +4 -4
- package/esm2022/lib/components/i18n/entities/picker/i18n-pick.pipe.mjs +4 -4
- package/esm2022/lib/components/i18n/entities/picker/localisation-picker.service.mjs +4 -4
- package/esm2022/lib/components/i18n/language/elder-language-interceptor.mjs +4 -4
- package/esm2022/lib/components/i18n/language/elder-language.module.mjs +5 -5
- package/esm2022/lib/components/i18n/language/elder-language.service.mjs +4 -4
- package/esm2022/lib/components/i18n/language/language-switcher/elder-language-switcher.component.mjs +4 -4
- package/esm2022/lib/components/i18n/locales/elder-locales-de-ch.module.mjs +5 -5
- package/esm2022/lib/components/iframes/data-view/data-view-iframe/data-view-iframe.component.mjs +4 -4
- package/esm2022/lib/components/iframes/data-view/data-view-iframe-adapter.directive.mjs +4 -4
- package/esm2022/lib/components/iframes/elder-iframe.module.mjs +5 -5
- package/esm2022/lib/components/iframes/iframe-close.directive.mjs +4 -4
- package/esm2022/lib/components/iframes/iframe-dialog/iframe-dialog.component.mjs +4 -4
- package/esm2022/lib/components/iframes/iframe-host/iframe-host.component.mjs +4 -4
- package/esm2022/lib/components/iframes/iframe-side-content/iframe-side-content.component.mjs +4 -4
- package/esm2022/lib/components/iframes/iframe.service.mjs +4 -4
- package/esm2022/lib/components/infinitescroll/elder-infinite-autocomplete.directive.mjs +4 -4
- package/esm2022/lib/components/infinitescroll/elder-infinite-scroll.directive.mjs +4 -4
- package/esm2022/lib/components/infinitescroll/elder-infinite-scroll.module.mjs +5 -5
- package/esm2022/lib/components/input/autocomplete/elder-autocomplete/elder-suggestion-panel.component.mjs +5 -5
- package/esm2022/lib/components/input/autocomplete/elder-autocomplete-many.directive.mjs +4 -4
- package/esm2022/lib/components/input/autocomplete/elder-autocomplete.directive.mjs +4 -4
- package/esm2022/lib/components/input/autocomplete/elder-autocomplete.module.mjs +5 -5
- package/esm2022/lib/components/labels/elder-labels.module.mjs +5 -5
- package/esm2022/lib/components/labels/labels-input/labels-input.component.mjs +4 -4
- package/esm2022/lib/components/measures/dimensions/dimensions-input/elder-dimensions-input.component.mjs +9 -16
- package/esm2022/lib/components/measures/dimensions/validation/elder-required-dimensions.validator.mjs +4 -4
- package/esm2022/lib/components/measures/directives/elder-unit-select.directive.mjs +4 -4
- package/esm2022/lib/components/measures/elder-measures.module.mjs +9 -9
- package/esm2022/lib/components/measures/elder-quantity-transform.pipe.mjs +4 -4
- package/esm2022/lib/components/measures/elder-quantity.pipe.mjs +4 -4
- package/esm2022/lib/components/measures/elder-unit.service.mjs +4 -4
- package/esm2022/lib/components/measures/quantity-input/quantity-form-field/elder-quantity-form-field.component.mjs +4 -4
- package/esm2022/lib/components/measures/quantity-input/quantity-input-control/elder-quantity-input-control.component.mjs +12 -18
- package/esm2022/lib/components/measures/quantity-input/validation/elder-quantity-range.validator.mjs +4 -4
- package/esm2022/lib/components/measures/quantity-input/validation/elder-required-quantity.validator.mjs +4 -4
- package/esm2022/lib/components/measures/util/elder-quantity.service.mjs +4 -4
- package/esm2022/lib/components/navigation/bread-crumbs/bread-crumbs/elder-bread-crumbs.component.mjs +4 -4
- package/esm2022/lib/components/navigation/bread-crumbs/elder-bread-crumbs.module.mjs +5 -5
- package/esm2022/lib/components/navigation/nav/elder-nav.module.mjs +5 -5
- package/esm2022/lib/components/navigation/nav/nav-group/elder-nav-group.component.mjs +4 -4
- package/esm2022/lib/components/navigation/nav/nav-link/elder-nav-link.component.mjs +4 -4
- package/esm2022/lib/components/navigation/nav/nav-list/elder-nav-list.component.mjs +4 -4
- package/esm2022/lib/components/navigation/toolbar/elder-toolbar-column.directive.mjs +4 -4
- package/esm2022/lib/components/navigation/toolbar/elder-toolbar.module.mjs +5 -5
- package/esm2022/lib/components/navigation/toolbar/elder-toolbar.service.mjs +4 -4
- package/esm2022/lib/components/navigation/toolbar/toolbar/elder-toolbar.component.mjs +4 -4
- package/esm2022/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.component.mjs +4 -4
- package/esm2022/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.service.mjs +4 -4
- package/esm2022/lib/components/overlays/elder-overlay-origin.directive.mjs +4 -4
- package/esm2022/lib/components/overlays/elder-overlay-ref.mjs +4 -4
- package/esm2022/lib/components/overlays/elder-overlay-trigger.directive.mjs +4 -4
- package/esm2022/lib/components/overlays/elder-overlay.component.mjs +4 -4
- package/esm2022/lib/components/overlays/elder-overlay.module.mjs +5 -5
- package/esm2022/lib/components/page/exit-guard/page-exit-guard.module.mjs +5 -5
- package/esm2022/lib/components/page/exit-guard/page-exit-guard.service.mjs +4 -4
- package/esm2022/lib/components/page/exit-guard/page-exit-lock/page-exit-lock.component.mjs +4 -4
- package/esm2022/lib/components/page/exit-guard/page-exit-lock-indicator/page-exit-lock-indicator.component.mjs +4 -4
- package/esm2022/lib/components/page/exit-guard/page-exit-lock-overview/page-exit-lock-overview.component.mjs +4 -4
- package/esm2022/lib/components/panels/card-panel/elder-card-panel.component.mjs +4 -4
- package/esm2022/lib/components/panels/elder-dialog-panel/elder-dialog-panel.component.mjs +4 -4
- package/esm2022/lib/components/panels/elder-panel.module.mjs +5 -5
- package/esm2022/lib/components/panels/flat/elder-panel.component.mjs +4 -4
- package/esm2022/lib/components/panels/toggle-panel/elder-toggle-panel-trigger.directive.mjs +4 -4
- package/esm2022/lib/components/panels/toggle-panel/elder-toggle-panel.component.mjs +10 -10
- package/esm2022/lib/components/scrollbar/elder-scrollbar.directive.mjs +4 -4
- package/esm2022/lib/components/scrollbar/elder-scrollbar.module.mjs +5 -5
- package/esm2022/lib/components/select/auto/elder-auto-select-first.directive.mjs +4 -4
- package/esm2022/lib/components/select/auto/elder-auto-select-first.service.mjs +4 -4
- package/esm2022/lib/components/select/auto/elder-auto-select-suggest-first.directive.mjs +4 -4
- package/esm2022/lib/components/select/elder-select-base.mjs +40 -24
- package/esm2022/lib/components/select/elder-select-chip.directive.mjs +10 -10
- package/esm2022/lib/components/select/elder-select-on-tab.directive.mjs +4 -4
- package/esm2022/lib/components/select/elder-select-value.directive.mjs +4 -4
- package/esm2022/lib/components/select/elder-select.module.mjs +5 -5
- package/esm2022/lib/components/select/filter/elder-chips-include-exclude.directive.mjs +4 -4
- package/esm2022/lib/components/select/filter/elder-filter-chip-template/elder-filter-chip-template.component.mjs +4 -4
- package/esm2022/lib/components/select/multi/elder-chip-select-option/elder-select-option.component.mjs +4 -4
- package/esm2022/lib/components/select/multi/elder-multi-select-base.mjs +10 -13
- package/esm2022/lib/components/select/multi/elder-multi-select-chip-options/chip-options-provider.mjs +4 -3
- package/esm2022/lib/components/select/multi/elder-multi-select-chip-options/elder-multi-select-chip-options.component.mjs +22 -31
- package/esm2022/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.mjs +24 -37
- package/esm2022/lib/components/select/multi/elder-multi-select-form-field.mjs +4 -4
- package/esm2022/lib/components/select/multi/elder-mutli-select-all-directive.mjs +4 -4
- package/esm2022/lib/components/select/multi/elder-search-include-exclude.directive.mjs +4 -4
- package/esm2022/lib/components/select/popup/selection-model-popup-trigger-adapter.directive.mjs +4 -4
- package/esm2022/lib/components/select/popup/selection-model-popup.directive.mjs +4 -4
- package/esm2022/lib/components/select/popup/templated-selection-dialog/templated-selection-dialog.component.mjs +4 -4
- package/esm2022/lib/components/select/single/elder-clear-select.directive.mjs +4 -4
- package/esm2022/lib/components/select/single/elder-select/elder-select.component.mjs +30 -49
- package/esm2022/lib/components/select/single/elder-select-form-field.mjs +4 -4
- package/esm2022/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.mjs +4 -4
- package/esm2022/lib/components/select-chip-list/elder-chip-list-select.module.mjs +5 -5
- package/esm2022/lib/components/shell/drawers/elder-route-outlet-drawer.service.mjs +4 -4
- package/esm2022/lib/components/shell/drawers/elder-router-outlet.service.mjs +4 -4
- package/esm2022/lib/components/shell/elder-shell-slot.directive.mjs +4 -4
- package/esm2022/lib/components/shell/elder-shell.module.mjs +5 -5
- package/esm2022/lib/components/shell/elder-shell.service.mjs +4 -4
- package/esm2022/lib/components/shell/header/elder-app-header/elder-app-header.component.mjs +4 -4
- package/esm2022/lib/components/shell/shell/elder-shell.component.mjs +13 -13
- package/esm2022/lib/components/shell/shell-navigation-toggle/elder-shell-navigation-toggle.component.mjs +4 -4
- package/esm2022/lib/components/tabs/elder-tab/elder-tab.directive.mjs +4 -4
- package/esm2022/lib/components/tabs/elder-tab-group-routing/elder-tab-group-routing.directive.mjs +4 -4
- package/esm2022/lib/components/tabs/elder-tab.module.mjs +5 -5
- package/esm2022/lib/components/theme/elder-theme-applier.directive.mjs +4 -4
- package/esm2022/lib/components/theme/elder-theme-preference.service.mjs +4 -4
- package/esm2022/lib/components/theme/elder-theme-toggle/elder-theme-toggle.component.mjs +4 -4
- package/esm2022/lib/components/theme/elder-theme.directive.mjs +4 -4
- package/esm2022/lib/components/theme/elder-theme.module.mjs +5 -5
- package/esm2022/lib/components/theme/elder-theme.service.mjs +4 -4
- package/esm2022/lib/components/time/date-adapters/custom-date-adapter.mjs +4 -4
- package/esm2022/lib/components/time/duration/elder-duration-input/elder-duration-input.component.mjs +9 -16
- package/esm2022/lib/components/time/elder-date-switcher/elder-date-switcher.component.mjs +4 -4
- package/esm2022/lib/components/time/elder-date-time-input/elder-date-time-input.component.mjs +10 -16
- package/esm2022/lib/components/time/elder-interval-input/elder-interval-input.component.mjs +12 -17
- package/esm2022/lib/components/time/elder-interval-picker/elder-interval-picker.component.mjs +4 -4
- package/esm2022/lib/components/time/elder-interval-picker/interval-picker-binding/elder-interval-picker-binding.directive.mjs +4 -4
- package/esm2022/lib/components/time/elder-interval-picker/interval-picker-toggle/elder-interval-picker-toggle.component.mjs +4 -4
- package/esm2022/lib/components/time/elder-local-date-input/elder-local-date-input.component.mjs +10 -16
- package/esm2022/lib/components/time/elder-local-time-input/elder-local-time-input.component.mjs +10 -16
- package/esm2022/lib/components/time/elder-time.module.mjs +5 -5
- package/esm2022/lib/components/time/period/elder-period-input/elder-period-input.component.mjs +9 -16
- package/esm2022/lib/components/time/pipes/to-iso-date-string.pipe.mjs +4 -4
- package/esm2022/lib/components/toasts/elder-toast.module.mjs +5 -5
- package/esm2022/lib/components/toasts/elder-toast.service.mjs +4 -4
- package/esm2022/lib/components/toasts/standard-toast/standard-toast.component.mjs +4 -4
- package/esm2022/lib/components/url-fragment/elder-url-fragment.module.mjs +5 -5
- package/esm2022/lib/components/url-fragment/url-fragment-switcher/elder-url-fragment-switcher.component.mjs +4 -4
- package/esm2022/lib/components/viewers/elder-svg-viewer/elder-svg-viewer.component.mjs +4 -4
- package/esm2022/lib/components/viewers/elder-viewers.module.mjs +5 -5
- package/esm2022/lib/features/event-source/fetch/reactive-fetch-event-source.service.mjs +4 -4
- package/esm2022/lib/features/event-source/standard/elder-event-source.service.mjs +4 -4
- package/esm2022/lib/features/kafent/access-token-provider.mjs +4 -4
- package/esm2022/lib/features/kafent/kafent-config.mjs +4 -4
- package/esm2022/lib/features/kafent/kafent-event-stream.mjs +4 -4
- package/esm2022/lib/features/kafent/kafent-event.service.mjs +4 -4
- package/esm2022/lib/features/kafent/kafent.module.mjs +5 -5
- package/esm2022/lib/features/kafent/sse/kafent-event-stream-sse.service.mjs +4 -4
- package/esm2022/lib/pipes/bytes.pipe.mjs +4 -4
- package/esm2022/lib/pipes/elder-pipes.module.mjs +11 -11
- package/esm2022/lib/pipes/elder-repeat.pipe.mjs +4 -4
- package/esm2022/lib/pipes/elder-round.pipe.mjs +4 -4
- package/esm2022/lib/pipes/elder-safe-url.pipe.mjs +4 -4
- package/esm2022/lib/pipes/elder-truncate.pipe.mjs +4 -4
- package/esm2022/lib/pipes/iso-duration.pipe.mjs +4 -4
- package/esm2022/lib/pipes/iso-interval-parse.pipe.mjs +4 -4
- package/esm2022/lib/pipes/iso-interval.pipe.mjs +4 -4
- package/esm2022/lib/pipes/time-ago.pipe.mjs +4 -4
- package/esm2022/lib/pipes/time-duration.pipe.mjs +4 -4
- package/esm2022/lib/pipes/weight.pipe.mjs +4 -4
- package/fesm2022/elderbyte-ngx-starter.mjs +1256 -1313
- package/fesm2022/elderbyte-ngx-starter.mjs.map +1 -1
- package/lib/common/forms/elder-form-field-control-base.directive.d.ts +14 -18
- package/lib/components/measures/dimensions/dimensions-input/elder-dimensions-input.component.d.ts +3 -7
- package/lib/components/measures/quantity-input/quantity-input-control/elder-quantity-input-control.component.d.ts +3 -7
- package/lib/components/select/elder-select-base.d.ts +13 -12
- package/lib/components/select/multi/elder-multi-select-base.d.ts +2 -7
- package/lib/components/select/multi/elder-multi-select-chip-options/chip-options-provider.d.ts +2 -1
- package/lib/components/select/multi/elder-multi-select-chip-options/elder-multi-select-chip-options.component.d.ts +5 -9
- package/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.d.ts +7 -11
- package/lib/components/select/single/elder-select/elder-select.component.d.ts +8 -15
- package/lib/components/time/duration/elder-duration-input/elder-duration-input.component.d.ts +2 -7
- package/lib/components/time/elder-date-time-input/elder-date-time-input.component.d.ts +3 -7
- package/lib/components/time/elder-interval-input/elder-interval-input.component.d.ts +3 -7
- package/lib/components/time/elder-local-date-input/elder-local-date-input.component.d.ts +3 -7
- package/lib/components/time/elder-local-time-input/elder-local-time-input.component.d.ts +3 -7
- package/lib/components/time/period/elder-period-input/elder-period-input.component.d.ts +2 -7
- package/package.json +1 -1
- package/src/lib/components/select/multi/elder-select-include-exclude-chip/elder-select-include-exclude-chip.component.scss +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, ContentChild, forwardRef, Input,
|
|
1
|
+
import { ChangeDetectionStrategy, Component, ContentChild, forwardRef, Input, TemplateRef, ViewChild, } from '@angular/core';
|
|
2
2
|
import { ElderMultiSelectBase } from '../elder-multi-select-base';
|
|
3
3
|
import { BehaviorSubject, combineLatest } from 'rxjs';
|
|
4
4
|
import { map } from 'rxjs/operators';
|
|
@@ -17,14 +17,12 @@ import { ElderChipLabelDirective } from '../../../chips/elder-chip-label.directi
|
|
|
17
17
|
import { MatIcon } from '@angular/material/icon';
|
|
18
18
|
import { MatChipSet, MatChipRow, MatChipAvatar, MatChipTrailingIcon, MatChipRemove, } from '@angular/material/chips';
|
|
19
19
|
import { MatTooltip } from '@angular/material/tooltip';
|
|
20
|
-
import {
|
|
20
|
+
import { NgTemplateOutlet } from '@angular/common';
|
|
21
|
+
import { toObservable, toSignal } from '@angular/core/rxjs-interop';
|
|
21
22
|
import * as i0 from "@angular/core";
|
|
22
|
-
import * as i1 from "@angular/cdk/a11y";
|
|
23
|
-
import * as i2 from "@ngx-translate/core";
|
|
24
|
-
import * as i3 from "../../../dialogs/elder-dialog.service";
|
|
25
|
-
import * as i4 from "@angular/forms";
|
|
26
23
|
class ChipModel {
|
|
27
|
-
constructor(value, displayText, colorSpec, removable, avatarSpec, trailingSpec) {
|
|
24
|
+
constructor(id, value, displayText, colorSpec, removable, avatarSpec, trailingSpec) {
|
|
25
|
+
this.id = id;
|
|
28
26
|
this.value = value;
|
|
29
27
|
this.displayText = displayText;
|
|
30
28
|
this.colorSpec = colorSpec;
|
|
@@ -39,8 +37,8 @@ export class ElderMultiSelectChipsComponent extends ElderMultiSelectBase {
|
|
|
39
37
|
* Constructor *
|
|
40
38
|
* *
|
|
41
39
|
**************************************************************************/
|
|
42
|
-
constructor(
|
|
43
|
-
super(
|
|
40
|
+
constructor() {
|
|
41
|
+
super('multi-select-chips');
|
|
44
42
|
this.defaultChipSpec = SelectChipSpecUtil.DefaultChipSpec;
|
|
45
43
|
/**
|
|
46
44
|
* Allows to customize each chip individually (Color, Removable, Avatar).
|
|
@@ -57,26 +55,22 @@ export class ElderMultiSelectChipsComponent extends ElderMultiSelectBase {
|
|
|
57
55
|
this.refresh$ = new BehaviorSubject(true);
|
|
58
56
|
this.log = LoggerFactory.getLogger(this.constructor.name);
|
|
59
57
|
this.placeholder = '...';
|
|
60
|
-
this.selectChips
|
|
58
|
+
this.selectChips = toSignal(combineLatest([
|
|
61
59
|
this.entities$,
|
|
62
60
|
this.entityIds$,
|
|
63
|
-
this.state
|
|
64
|
-
this.
|
|
65
|
-
this.
|
|
66
|
-
this.
|
|
61
|
+
toObservable(this.state),
|
|
62
|
+
toObservable(this.displayPropertyResolverS),
|
|
63
|
+
toObservable(this.readonlyS),
|
|
64
|
+
toObservable(this.disabledS),
|
|
67
65
|
this.refresh$,
|
|
68
|
-
]).pipe(map(([entities, entityIds, state, dPR]) => this.buildChipModelsOrFallback(entities, entityIds, state, dPR)), map((models) => this.maxDisplayCount ? this.reduceDisplayedChips(models, this.maxDisplayCount) : models));
|
|
69
|
-
this.templates
|
|
70
|
-
this.chipTemplate$,
|
|
71
|
-
this.chipAvatarTemplate$,
|
|
72
|
-
this.customInputTemplate$,
|
|
73
|
-
]).pipe(map(([chip, avatar, input]) => {
|
|
66
|
+
]).pipe(map(([entities, entityIds, state, dPR]) => this.buildChipModelsOrFallback(entities, entityIds, state, dPR)), map((models) => this.maxDisplayCount ? this.reduceDisplayedChips(models, this.maxDisplayCount) : models)));
|
|
67
|
+
this.templates = toSignal(combineLatest([this.chipTemplate$, this.chipAvatarTemplate$, this.customInputTemplate$]).pipe(map(([chip, avatar, input]) => {
|
|
74
68
|
return {
|
|
75
69
|
chip,
|
|
76
70
|
avatar,
|
|
77
71
|
input,
|
|
78
72
|
};
|
|
79
|
-
}));
|
|
73
|
+
})));
|
|
80
74
|
}
|
|
81
75
|
/***************************************************************************
|
|
82
76
|
* *
|
|
@@ -192,7 +186,7 @@ export class ElderMultiSelectChipsComponent extends ElderMultiSelectBase {
|
|
|
192
186
|
removable = true;
|
|
193
187
|
}
|
|
194
188
|
}
|
|
195
|
-
return new ChipModel(e, dPR(e), chipSpec?.colorSpec, removable, chipSpec.avatarSpec, chipSpec.trailingSpec);
|
|
189
|
+
return new ChipModel(this.getEntityId(e), e, dPR(e), chipSpec?.colorSpec, removable, chipSpec.avatarSpec, chipSpec.trailingSpec);
|
|
196
190
|
}
|
|
197
191
|
reduceDisplayedChips(models, count) {
|
|
198
192
|
const reducedChips = models.slice(0, count);
|
|
@@ -204,18 +198,18 @@ export class ElderMultiSelectChipsComponent extends ElderMultiSelectBase {
|
|
|
204
198
|
return reducedChips;
|
|
205
199
|
}
|
|
206
200
|
buildIndicatorChip(deltaCount) {
|
|
207
|
-
return new ChipModel(undefined, '+' + deltaCount, {}, false, { hide: true }, {});
|
|
201
|
+
return new ChipModel('overflow-indicator', undefined, '+' + deltaCount, {}, false, { hide: true }, {});
|
|
208
202
|
}
|
|
209
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
210
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
203
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElderMultiSelectChipsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
204
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ElderMultiSelectChipsComponent, isStandalone: true, selector: "elder-multi-select-chips", inputs: { defaultChipSpec: "defaultChipSpec", chipSpecFn: "chipSpecFn", allowRemove: "allowRemove", allowSorting: "allowSorting", stacked: "stacked", maxDisplayCount: "maxDisplayCount", chipTemplate: "chipTemplate", chipAvatarTemplate: "chipAvatarTemplate", customInputTemplate: "customInputTemplate" }, providers: [
|
|
211
205
|
{ provide: MatFormFieldControl, useExisting: ElderMultiSelectChipsComponent },
|
|
212
206
|
{
|
|
213
207
|
provide: ELDER_SELECT_BASE,
|
|
214
208
|
useExisting: forwardRef(() => ElderMultiSelectChipsComponent),
|
|
215
209
|
},
|
|
216
|
-
], queries: [{ propertyName: "_customChipInput", first: true, predicate: MatFormFieldControl, descendants: true }, { propertyName: "chipTemplateQuery", first: true, predicate: ElderSelectChipDirective, descendants: true, read: TemplateRef }, { propertyName: "chipAvatarTemplateQuery", first: true, predicate: ElderSelectChipAvatarDirective, descendants: true, read: TemplateRef }, { propertyName: "customInputTemplateQuery", first: true, predicate: ElderSelectCustomInputDirective, descendants: true, read: TemplateRef }], viewQueries: [{ propertyName: "_chipInput", first: true, predicate: ElderSelectComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div
|
|
210
|
+
], queries: [{ propertyName: "_customChipInput", first: true, predicate: MatFormFieldControl, descendants: true }, { propertyName: "chipTemplateQuery", first: true, predicate: ElderSelectChipDirective, descendants: true, read: TemplateRef }, { propertyName: "chipAvatarTemplateQuery", first: true, predicate: ElderSelectChipAvatarDirective, descendants: true, read: TemplateRef }, { propertyName: "customInputTemplateQuery", first: true, predicate: ElderSelectCustomInputDirective, descendants: true, read: TemplateRef }], viewQueries: [{ propertyName: "_chipInput", first: true, predicate: ElderSelectComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"elder-flex-control\" [matTooltip]=\"state()?.error\">\n <mat-chip-set\n #chips\n [class.mat-mdc-chip-set-stacked]=\"stacked\"\n cdkDropList\n [cdkDropListOrientation]=\"stacked ? 'vertical' : 'horizontal'\"\n (cdkDropListDropped)=\"drop($event)\"\n [cdkDropListDisabled]=\"!allowSorting\"\n >\n @if (icon) {\n <div class=\"elder-input-prefix-icon-container flex-none\">\n <mat-icon\n disabled\n class=\"elder-prefix-icon elder-mdc-control-icon elder-icon-small noselect\"\n [class.loading]=\"state()?.loading\"\n >\n {{ icon }}\n </mat-icon>\n </div>\n }\n\n @for (chipModel of selectChips(); track chipModel.id) {\n <mat-chip-row\n elderChipLabel\n class=\"noselect clickable-chip\"\n [value]=\"resolveChipValue(chipModel.value)\"\n [color]=\"chipModel.colorSpec?.themeColor\"\n [levelColor]=\"chipModel.colorSpec?.levelColor\"\n [stateColor]=\"chipModel.colorSpec?.stateColor\"\n [removable]=\"chipModel.removable\"\n (keydown)=\"onChipKeyDown($event, chipModel.value)\"\n (click)=\"onCurrentClicked(chipModel.value)\"\n cdkDrag\n [cdkDragData]=\"chipModel.value\"\n [cdkDragDisabled]=\"!allowSorting\"\n >\n @if (templates()?.avatar && !chipModel.avatarSpec?.hide) {\n <mat-chip-avatar [class.chip-avatar-xl]=\"chipModel.avatarSpec?.large\">\n <ng-container *ngTemplateOutlet=\"templates().avatar; context: { $implicit: chipModel }\">\n </ng-container>\n </mat-chip-avatar>\n }\n\n <ng-container\n *ngTemplateOutlet=\"\n templates()?.chip || simpleChipTemplate;\n context: { $implicit: chipModel }\n \"\n >\n </ng-container>\n\n @if (chipModel.trailingSpec?.icon; as trailingIcon) {\n <mat-icon\n matChipTrailingIcon\n class=\"elder-trailing-icon\"\n [fontSet]=\"chipModel.trailingSpec?.iconFontSet\"\n >{{ trailingIcon }}</mat-icon\n >\n }\n\n @if (chipModel.removable) {\n <mat-icon matChipRemove (click)=\"onClickRemoveChip($event, chipModel.value)\">\n cancel\n </mat-icon>\n }\n </mat-chip-row>\n }\n\n <div class=\"layout-row place-start-center elder-chip-input\">\n <!-- [matChipInputFor]=\"chips\" -->\n <ng-container *ngTemplateOutlet=\"templates()?.input || selectInput\"> </ng-container>\n\n @if (selectionPopup) {\n <button\n mat-icon-button\n type=\"button\"\n class=\"elder-control-icon-button elder-browse-icon\"\n [disabled]=\"isLocked\"\n (click)=\"openSelectionPopup($event)\"\n aria-label=\"Search\"\n elderStopEventPropagation\n tabIndex=\"-1\"\n >\n <mat-icon class=\"elder-mdc-control-icon\">search</mat-icon>\n </button>\n }\n </div>\n </mat-chip-set>\n</div>\n\n<ng-template #selectInput>\n <!-- mat-mdc-chip-input -->\n <elder-select\n autocomplete\n elderClearSelect\n class=\"elder-chip-input-select flex\"\n [data]=\"dataContextS()\"\n [disabled]=\"!!disabled\"\n [required]=\"!!required\"\n [readonly]=\"!!readonly\"\n [placeholder]=\"placeholderS()\"\n (entityUpdated)=\"appendEntity($event)\"\n [displayPropertyResolver]=\"displayPropertyResolverS()\"\n [valueTemplate]=\"valueTemplate\"\n [queryFilter]=\"queryFilter\"\n [filters]=\"filters\"\n [sorts]=\"sorts\"\n [isOptionDisabledFn]=\"isOptionDisabledInternalFn\"\n [isOptionHiddenFn]=\"isOptionHiddenInternalFn\"\n ></elder-select>\n</ng-template>\n\n<ng-template #simpleChipTemplate let-chipModel>\n <span class=\"elder-chip-text\">{{ chipModel.displayText | elderTruncate: 20 }}</span>\n</ng-template>\n", styles: [".elder-chip-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.elder-trailing-icon{color:var(--mdc-chip-with-trailing-icon-trailing-icon-color);opacity:.54}.cdk-drag-preview{box-sizing:border-box;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}\n"], dependencies: [{ kind: "directive", type: MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: MatChipSet, selector: "mat-chip-set", inputs: ["disabled", "role", "tabIndex"] }, { kind: "directive", type: CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["editable"], outputs: ["edited"] }, { kind: "directive", type: ElderChipLabelDirective, selector: "[elderChipLabel]", inputs: ["appearance", "color", "stateColor", "levelColor"] }, { kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: MatChipAvatar, selector: "mat-chip-avatar, [matChipAvatar]" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: MatChipTrailingIcon, selector: "mat-chip-trailing-icon, [matChipTrailingIcon]" }, { kind: "directive", type: MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: ElderStopEventPropagationDirective, selector: "[elderStopEventPropagation]" }, { kind: "component", type: ElderSelectComponent, selector: "elder-select", inputs: ["nullDisplay", "autocomplete", "allowNull", "entity", "entityId"], outputs: ["entityIdChange", "entityIdUpdated", "entityChange", "entityUpdated"] }, { kind: "directive", type: ElderClearSelectDirective, selector: "[elderClearSelect]" }, { kind: "pipe", type: ElderTruncatePipe, name: "elderTruncate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
217
211
|
}
|
|
218
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
212
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElderMultiSelectChipsComponent, decorators: [{
|
|
219
213
|
type: Component,
|
|
220
214
|
args: [{ selector: 'elder-multi-select-chips', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
221
215
|
{ provide: MatFormFieldControl, useExisting: ElderMultiSelectChipsComponent },
|
|
@@ -224,12 +218,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
|
|
|
224
218
|
useExisting: forwardRef(() => ElderMultiSelectChipsComponent),
|
|
225
219
|
},
|
|
226
220
|
], standalone: true, imports: [
|
|
227
|
-
NgIf,
|
|
228
221
|
MatTooltip,
|
|
229
222
|
MatChipSet,
|
|
230
223
|
CdkDropList,
|
|
231
224
|
MatIcon,
|
|
232
|
-
NgFor,
|
|
233
225
|
MatChipRow,
|
|
234
226
|
ElderChipLabelDirective,
|
|
235
227
|
CdkDrag,
|
|
@@ -241,14 +233,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
|
|
|
241
233
|
ElderStopEventPropagationDirective,
|
|
242
234
|
ElderSelectComponent,
|
|
243
235
|
ElderClearSelectDirective,
|
|
244
|
-
AsyncPipe,
|
|
245
236
|
ElderTruncatePipe,
|
|
246
|
-
], template: "<div
|
|
247
|
-
}], ctorParameters: () => [
|
|
248
|
-
type: Optional
|
|
249
|
-
}, {
|
|
250
|
-
type: Self
|
|
251
|
-
}] }], propDecorators: { defaultChipSpec: [{
|
|
237
|
+
], template: "<div class=\"elder-flex-control\" [matTooltip]=\"state()?.error\">\n <mat-chip-set\n #chips\n [class.mat-mdc-chip-set-stacked]=\"stacked\"\n cdkDropList\n [cdkDropListOrientation]=\"stacked ? 'vertical' : 'horizontal'\"\n (cdkDropListDropped)=\"drop($event)\"\n [cdkDropListDisabled]=\"!allowSorting\"\n >\n @if (icon) {\n <div class=\"elder-input-prefix-icon-container flex-none\">\n <mat-icon\n disabled\n class=\"elder-prefix-icon elder-mdc-control-icon elder-icon-small noselect\"\n [class.loading]=\"state()?.loading\"\n >\n {{ icon }}\n </mat-icon>\n </div>\n }\n\n @for (chipModel of selectChips(); track chipModel.id) {\n <mat-chip-row\n elderChipLabel\n class=\"noselect clickable-chip\"\n [value]=\"resolveChipValue(chipModel.value)\"\n [color]=\"chipModel.colorSpec?.themeColor\"\n [levelColor]=\"chipModel.colorSpec?.levelColor\"\n [stateColor]=\"chipModel.colorSpec?.stateColor\"\n [removable]=\"chipModel.removable\"\n (keydown)=\"onChipKeyDown($event, chipModel.value)\"\n (click)=\"onCurrentClicked(chipModel.value)\"\n cdkDrag\n [cdkDragData]=\"chipModel.value\"\n [cdkDragDisabled]=\"!allowSorting\"\n >\n @if (templates()?.avatar && !chipModel.avatarSpec?.hide) {\n <mat-chip-avatar [class.chip-avatar-xl]=\"chipModel.avatarSpec?.large\">\n <ng-container *ngTemplateOutlet=\"templates().avatar; context: { $implicit: chipModel }\">\n </ng-container>\n </mat-chip-avatar>\n }\n\n <ng-container\n *ngTemplateOutlet=\"\n templates()?.chip || simpleChipTemplate;\n context: { $implicit: chipModel }\n \"\n >\n </ng-container>\n\n @if (chipModel.trailingSpec?.icon; as trailingIcon) {\n <mat-icon\n matChipTrailingIcon\n class=\"elder-trailing-icon\"\n [fontSet]=\"chipModel.trailingSpec?.iconFontSet\"\n >{{ trailingIcon }}</mat-icon\n >\n }\n\n @if (chipModel.removable) {\n <mat-icon matChipRemove (click)=\"onClickRemoveChip($event, chipModel.value)\">\n cancel\n </mat-icon>\n }\n </mat-chip-row>\n }\n\n <div class=\"layout-row place-start-center elder-chip-input\">\n <!-- [matChipInputFor]=\"chips\" -->\n <ng-container *ngTemplateOutlet=\"templates()?.input || selectInput\"> </ng-container>\n\n @if (selectionPopup) {\n <button\n mat-icon-button\n type=\"button\"\n class=\"elder-control-icon-button elder-browse-icon\"\n [disabled]=\"isLocked\"\n (click)=\"openSelectionPopup($event)\"\n aria-label=\"Search\"\n elderStopEventPropagation\n tabIndex=\"-1\"\n >\n <mat-icon class=\"elder-mdc-control-icon\">search</mat-icon>\n </button>\n }\n </div>\n </mat-chip-set>\n</div>\n\n<ng-template #selectInput>\n <!-- mat-mdc-chip-input -->\n <elder-select\n autocomplete\n elderClearSelect\n class=\"elder-chip-input-select flex\"\n [data]=\"dataContextS()\"\n [disabled]=\"!!disabled\"\n [required]=\"!!required\"\n [readonly]=\"!!readonly\"\n [placeholder]=\"placeholderS()\"\n (entityUpdated)=\"appendEntity($event)\"\n [displayPropertyResolver]=\"displayPropertyResolverS()\"\n [valueTemplate]=\"valueTemplate\"\n [queryFilter]=\"queryFilter\"\n [filters]=\"filters\"\n [sorts]=\"sorts\"\n [isOptionDisabledFn]=\"isOptionDisabledInternalFn\"\n [isOptionHiddenFn]=\"isOptionHiddenInternalFn\"\n ></elder-select>\n</ng-template>\n\n<ng-template #simpleChipTemplate let-chipModel>\n <span class=\"elder-chip-text\">{{ chipModel.displayText | elderTruncate: 20 }}</span>\n</ng-template>\n", styles: [".elder-chip-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.elder-trailing-icon{color:var(--mdc-chip-with-trailing-icon-trailing-icon-color);opacity:.54}.cdk-drag-preview{box-sizing:border-box;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}\n"] }]
|
|
238
|
+
}], ctorParameters: () => [], propDecorators: { defaultChipSpec: [{
|
|
252
239
|
type: Input
|
|
253
240
|
}], chipSpecFn: [{
|
|
254
241
|
type: Input
|
|
@@ -282,4 +269,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
|
|
|
282
269
|
}], customInputTemplate: [{
|
|
283
270
|
type: Input
|
|
284
271
|
}] } });
|
|
285
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItbXVsdGktc2VsZWN0LWNoaXBzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0L211bHRpL2VsZGVyLW11bHRpLXNlbGVjdC1jaGlwcy9lbGRlci1tdWx0aS1zZWxlY3QtY2hpcHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9zZWxlY3QvbXVsdGkvZWxkZXItbXVsdGktc2VsZWN0LWNoaXBzL2VsZGVyLW11bHRpLXNlbGVjdC1jaGlwcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBRVosVUFBVSxFQUNWLEtBQUssRUFFTCxRQUFRLEVBQ1IsSUFBSSxFQUNKLFdBQVcsRUFDWCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNEJBQTRCLENBQUE7QUFDakUsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQWMsTUFBTSxNQUFNLENBQUE7QUFDakUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ3BDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUNwRCxPQUFPLEVBQ0wsOEJBQThCLEVBQzlCLHdCQUF3QixFQUN4QiwrQkFBK0IsR0FDaEMsTUFBTSxtQ0FBbUMsQ0FBQTtBQUUxQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQTtBQUNsRSxPQUFPLEVBQ0wsaUJBQWlCLEdBR2xCLE1BQU0seUJBQXlCLENBQUE7QUFJaEMsT0FB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YixLQUFLO2dCQUlDLGVBQWU7c0JBRHJCLEtBQUs7Z0JBRzZCLGdCQUFnQjtzQkFBbEQsWUFBWTt1QkFBQyxtQkFBbUI7Z0JBQ0EsVUFBVTtzQkFBMUMsU0FBUzt1QkFBQyxvQkFBb0I7Z0JBNkVwQixpQkFBaUI7c0JBRDNCLFlBQVk7dUJBQUMsd0JBQXdCLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBTWpFLFlBQVk7c0JBRHRCLEtBQUs7Z0JBVUssdUJBQXVCO3NCQURqQyxZQUFZO3VCQUFDLDhCQUE4QixFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQVF2RSxrQkFBa0I7c0JBRDVCLEtBQUs7Z0JBVUssd0JBQXdCO3NCQURsQyxZQUFZO3VCQUFDLCtCQUErQixFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQVF4RSxtQkFBbUI7c0JBRDdCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIEVsZW1lbnRSZWYsXG4gIGZvcndhcmRSZWYsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE9wdGlvbmFsLFxuICBTZWxmLFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgRWxkZXJNdWx0aVNlbGVjdEJhc2UgfSBmcm9tICcuLi9lbGRlci1tdWx0aS1zZWxlY3QtYmFzZSdcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcbmltcG9ydCB7IExvZ2dlckZhY3RvcnkgfSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcidcbmltcG9ydCB7XG4gIEVsZGVyU2VsZWN0Q2hpcEF2YXRhckRpcmVjdGl2ZSxcbiAgRWxkZXJTZWxlY3RDaGlwRGlyZWN0aXZlLFxuICBFbGRlclNlbGVjdEN1c3RvbUlucHV0RGlyZWN0aXZlLFxufSBmcm9tICcuLi8uLi9lbGRlci1zZWxlY3QtY2hpcC5kaXJlY3RpdmUnXG5pbXBvcnQgeyBOZ0NvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3JtcydcbmltcG9ydCB7IE1hdEZvcm1GaWVsZENvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJ1xuaW1wb3J0IHtcbiAgRUxERVJfU0VMRUNUX0JBU0UsXG4gIEVsZGVyU2VsZWN0Q29tcG9uZW50U3RhdGUsXG4gIFRleHRSZXNvbHZlckZuLFxufSBmcm9tICcuLi8uLi9lbGRlci1zZWxlY3QtYmFzZSdcbmltcG9ydCB7IEZvY3VzTW9uaXRvciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5J1xuaW1wb3J0IHsgRWxkZXJEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vZGlhbG9ncy9lbGRlci1kaWFsb2cuc2VydmljZSdcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHsgRWxkZXJTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuLi8uLi9zaW5nbGUvZWxkZXItc2VsZWN0L2VsZGVyLXNlbGVjdC5jb21wb25lbnQnXG5pbXBvcnQgeyBDZGtEcmFnRHJvcCwgbW92ZUl0ZW1JbkFycmF5LCBDZGtEcm9wTGlzdCwgQ2RrRHJhZyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnXG5pbXBvcnQge1xuICBDaGlwQXZhdGFyU3BlYyxcbiAgQ2hpcENvbG9yU3BlYyxcbiAgU2VsZWN0Q2hpcFNwZWMsXG4gIFNlbGVjdENoaXBTcGVjVXRpbCxcbiAgVHJhaWxpbmdTcGVjLFxufSBmcm9tICcuL3NlbGVjdC1jaGlwLXNwZWMnXG5pbXBvcnQgeyBFbGRlclRydW5jYXRlUGlwZSB9IGZyb20gJy4uLy4uLy4uLy4uL3BpcGVzL2VsZGVyLXRydW5jYXRlLnBpcGUnXG5pbXBvcnQgeyBFbGRlckNsZWFyU2VsZWN0RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vc2luZ2xlL2VsZGVyLWNsZWFyLXNlbGVjdC5kaXJlY3RpdmUnXG5pbXBvcnQgeyBFbGRlclN0b3BFdmVudFByb3BhZ2F0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vZm9ybXMvZGlyZWN0aXZlcy9lbGRlci1zdG9wLWV2ZW50LXByb3BhZ2F0aW9uLmRpcmVjdGl2ZSdcbmltcG9ydCB7IE1hdEljb25CdXR0b24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nXG5pbXBvcnQgeyBFbGRlckNoaXBMYWJlbERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL2NoaXBzL2VsZGVyLWNoaXAtbGFiZWwuZGlyZWN0aXZlJ1xuaW1wb3J0IHsgTWF0SWNvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nXG5pbXBvcnQge1xuICBNYXRDaGlwU2V0LFxuICBNYXRDaGlwUm93LFxuICBNYXRDaGlwQXZhdGFyLFxuICBNYXRDaGlwVHJhaWxpbmdJY29uLFxuICBNYXRDaGlwUmVtb3ZlLFxufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGlwcydcbmltcG9ydCB7IE1hdFRvb2x0aXAgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJ1xuaW1wb3J0IHsgTmdJZiwgTmdGb3IsIE5nVGVtcGxhdGVPdXRsZXQsIEFzeW5jUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcblxuY2xhc3MgQ2hpcE1vZGVsPFQ+IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IHZhbHVlOiBULFxuICAgIHB1YmxpYyByZWFkb25seSBkaXNwbGF5VGV4dDogc3RyaW5nLFxuICAgIHB1YmxpYyByZWFkb25seSBjb2xvclNwZWM6IENoaXBDb2xvclNwZWMsXG4gICAgcHVibGljIHJlYWRvbmx5IHJlbW92YWJsZTogYm9vbGVhbixcbiAgICBwdWJsaWMgcmVhZG9ubHkgYXZhdGFyU3BlYzogQ2hpcEF2YXRhclNwZWMsXG4gICAgcHVibGljIHJlYWRvbmx5IHRyYWlsaW5nU3BlYzogVHJhaWxpbmdTcGVjXG4gICkge31cbn1cblxuaW50ZXJmYWNlIFRlbXBsYXRlV3JhcHBlciB7XG4gIGNoaXA6IFRlbXBsYXRlUmVmPGFueT5cbiAgYXZhdGFyOiBUZW1wbGF0ZVJlZjxhbnk+XG5cbiAgaW5wdXQ6IFRlbXBsYXRlUmVmPGFueT5cbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWxkZXItbXVsdGktc2VsZWN0LWNoaXBzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2VsZGVyLW11bHRpLXNlbGVjdC1jaGlwcy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2VsZGVyLW11bHRpLXNlbGVjdC1jaGlwcy5jb21wb25lbnQuc2NzcyddLFxuICAvLyBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBNYXRGb3JtRmllbGRDb250cm9sLCB1c2VFeGlzdGluZzogRWxkZXJNdWx0aVNlbGVjdENoaXBzQ29tcG9uZW50IH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogRUxERVJfU0VMRUNUX0JBU0UsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBFbGRlck11bHRpU2VsZWN0Q2hpcHNDb21wb25lbnQpLFxuICAgIH0sXG4gIF0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBOZ0lmLFxuICAgIE1hdFRvb2x0aXAsXG4gICAgTWF0Q2hpcFNldCxcbiAgICBDZGtEcm9wTGlzdCxcbiAgICBNYXRJY29uLFxuICAgIE5nRm9yLFxuICAgIE1hdENoaXBSb3csXG4gICAgRWxkZXJDaGlwTGFiZWxEaXJlY3RpdmUsXG4gICAgQ2RrRHJhZyxcbiAgICBNYXRDaGlwQXZhdGFyLFxuICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgTWF0Q2hpcFRyYWlsaW5nSWNvbixcbiAgICBNYXRDaGlwUmVtb3ZlLFxuICAgIE1hdEljb25CdXR0b24sXG4gICAgRWxkZXJTdG9wRXZlbnRQcm9wYWdhdGlvbkRpcmVjdGl2ZSxcbiAgICBFbGRlclNlbGVjdENvbXBvbmVudCxcbiAgICBFbGRlckNsZWFyU2VsZWN0RGlyZWN0aXZlLFxuICAgIEFzeW5jUGlwZSxcbiAgICBFbGRlclRydW5jYXRlUGlwZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJNdWx0aVNlbGVjdENoaXBzQ29tcG9uZW50PFxuICBUSWQgPSBhbnksXG4gIFRFbnRpdHkgPSBhbnksXG4gIFRWYWx1ZSA9IGFueSxcbj4gZXh0ZW5kcyBFbGRlck11bHRpU2VsZWN0QmFzZTxUSWQsIFRFbnRpdHksIFRWYWx1ZT4ge1xuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgcmVhZG9ubHkgc2VsZWN0Q2hpcHMkOiBPYnNlcnZhYmxlPENoaXBNb2RlbDxURW50aXR5PltdPlxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBkZWZhdWx0Q2hpcFNwZWM6IFNlbGVjdENoaXBTcGVjID0gU2VsZWN0Q2hpcFNwZWNVdGlsLkRlZmF1bHRDaGlwU3BlY1xuXG4gIC8qKlxuICAgKiBBbGxvd3MgdG8gY3VzdG9taXplIGVhY2ggY2hpcCBpbmRpdmlkdWFsbHkgKENvbG9yLCBSZW1vdmFibGUsIEF2YXRhcikuXG4gICAqXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgY2hpcFNwZWNGbjogKGU6IFRFbnRpdHkpID0+IFNlbGVjdENoaXBTcGVjID0gKGUpID0+IHRoaXMuZGVmYXVsdENoaXBTcGVjXG5cbiAgcHVibGljIHNlbGVjdGFibGUgPSB0cnVlXG5cbiAgQElucHV0KClcbiAgcHVibGljIGFsbG93UmVtb3ZlID0gdHJ1ZVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhbGxvd1NvcnRpbmcgPSBmYWxzZVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzdGFja2VkID0gZmFsc2VcblxuICBASW5wdXQoKVxuICBwdWJsaWMgbWF4RGlzcGxheUNvdW50OiBudW1iZXJcblxuICBAQ29udGVudENoaWxkKE1hdEZvcm1GaWVsZENvbnRyb2wpIF9jdXN0b21DaGlwSW5wdXQ6IE1hdEZvcm1GaWVsZENvbnRyb2w8YW55PlxuICBAVmlld0NoaWxkKEVsZGVyU2VsZWN0Q29tcG9uZW50KSBfY2hpcElucHV0OiBNYXRGb3JtRmllbGRDb250cm9sPGFueT5cblxuICByZWFkb25seSB0ZW1wbGF0ZXMkOiBPYnNlcnZhYmxlPFRlbXBsYXRlV3JhcHBlcj5cblxuICBwcml2YXRlIHJlYWRvbmx5IGNoaXBUZW1wbGF0ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFRlbXBsYXRlUmVmPGFueT4+KG51bGwpXG4gIHByaXZhdGUgcmVhZG9ubHkgY2hpcEF2YXRhclRlbXBsYXRlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VGVtcGxhdGVSZWY8YW55Pj4obnVsbClcbiAgcHJpdmF0ZSByZWFkb25seSBjdXN0b21JbnB1dFRlbXBsYXRlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VGVtcGxhdGVSZWY8YW55Pj4obnVsbClcblxuICBwcml2YXRlIHJlYWRvbmx5IHJlZnJlc2gkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0cnVlKVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGhvc3RSZWY6IEVsZW1lbnRSZWYsXG4gICAgem9uZTogTmdab25lLFxuICAgIGZvY3VzTW9uaXRvcjogRm9jdXNNb25pdG9yLFxuICAgIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgZGlhbG9nU2VydmljZTogRWxkZXJEaWFsb2dTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIEBTZWxmKCkgbmdDb250cm9sOiBOZ0NvbnRyb2xcbiAgKSB7XG4gICAgc3VwZXIoXG4gICAgICB6b25lLFxuICAgICAgaG9zdFJlZixcbiAgICAgICdtdWx0aS1zZWxlY3QtY2hpcHMnLFxuICAgICAgZm9jdXNNb25pdG9yLFxuICAgICAgdHJhbnNsYXRlU2VydmljZSxcbiAgICAgIGRpYWxvZ1NlcnZpY2UsXG4gICAgICBuZ0NvbnRyb2xcbiAgICApXG5cbiAgICB0aGlzLnBsYWNlaG9sZGVyID0gJy4uLidcblxuICAgIHRoaXMuc2VsZWN0Q2hpcHMkID0gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLmVudGl0aWVzJCxcbiAgICAgIHRoaXMuZW50aXR5SWRzJCxcbiAgICAgIHRoaXMuc3RhdGUkLFxuICAgICAgdGhpcy5kaXNwbGF5UHJvcGVydHlSZXNvbHZlciQsXG4gICAgICB0aGlzLnJlYWRvbmx5JCxcbiAgICAgIHRoaXMuZGlzYWJsZWQkLFxuICAgICAgdGhpcy5yZWZyZXNoJCxcbiAgICBdKS5waXBlKFxuICAgICAgbWFwKChbZW50aXRpZXMsIGVudGl0eUlkcywgc3RhdGUsIGRQUl0pID0+XG4gICAgICAgIHRoaXMuYnVpbGRDaGlwTW9kZWxzT3JGYWxsYmFjayhlbnRpdGllcywgZW50aXR5SWRzLCBzdGF0ZSwgZFBSKVxuICAgICAgKSxcbiAgICAgIG1hcCgobW9kZWxzKSA9PlxuICAgICAgICB0aGlzLm1heERpc3BsYXlDb3VudCA/IHRoaXMucmVkdWNlRGlzcGxheWVkQ2hpcHMobW9kZWxzLCB0aGlzLm1heERpc3BsYXlDb3VudCkgOiBtb2RlbHNcbiAgICAgIClcbiAgICApXG5cbiAgICB0aGlzLnRlbXBsYXRlcyQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuY2hpcFRlbXBsYXRlJCxcbiAgICAgIHRoaXMuY2hpcEF2YXRhclRlbXBsYXRlJCxcbiAgICAgIHRoaXMuY3VzdG9tSW5wdXRUZW1wbGF0ZSQsXG4gICAgXSkucGlwZShcbiAgICAgIG1hcCgoW2NoaXAsIGF2YXRhciwgaW5wdXRdKSA9PiB7XG4gICAgICAgIHJldHVybiA8VGVtcGxhdGVXcmFwcGVyPntcbiAgICAgICAgICBjaGlwLFxuICAgICAgICAgIGF2YXRhcixcbiAgICAgICAgICBpbnB1dCxcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApXG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBAQ29udGVudENoaWxkKEVsZGVyU2VsZWN0Q2hpcERpcmVjdGl2ZSwgeyByZWFkOiBUZW1wbGF0ZVJlZiwgc3RhdGljOiBmYWxzZSB9KVxuICBwdWJsaWMgc2V0IGNoaXBUZW1wbGF0ZVF1ZXJ5KHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+KSB7XG4gICAgdGhpcy5jaGlwVGVtcGxhdGUgPSB0ZW1wbGF0ZVxuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBjaGlwVGVtcGxhdGUodGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4pIHtcbiAgICB0aGlzLmNoaXBUZW1wbGF0ZSQubmV4dCh0ZW1wbGF0ZSlcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2hpcFRlbXBsYXRlKCk6IFRlbXBsYXRlUmVmPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmNoaXBUZW1wbGF0ZSQuZ2V0VmFsdWUoKVxuICB9XG5cbiAgQENvbnRlbnRDaGlsZChFbGRlclNlbGVjdENoaXBBdmF0YXJEaXJlY3RpdmUsIHsgcmVhZDogVGVtcGxhdGVSZWYsIHN0YXRpYzogZmFsc2UgfSlcbiAgcHVibGljIHNldCBjaGlwQXZhdGFyVGVtcGxhdGVRdWVyeSh0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55Pikge1xuICAgIGlmICh0ZW1wbGF0ZSkge1xuICAgICAgdGhpcy5jaGlwQXZhdGFyVGVtcGxhdGUgPSB0ZW1wbGF0ZVxuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgY2hpcEF2YXRhclRlbXBsYXRlKHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+KSB7XG4gICAgdGhpcy5jaGlwQXZhdGFyVGVtcGxhdGUkLm5leHQodGVtcGxhdGUpXG4gIH1cblxuICBwdWJsaWMgZ2V0IGNoaXBBdmF0YXJUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5jaGlwQXZhdGFyVGVtcGxhdGUkLmdldFZhbHVlKClcbiAgfVxuXG4gIEBDb250ZW50Q2hpbGQoRWxkZXJTZWxlY3RDdXN0b21JbnB1dERpcmVjdGl2ZSwgeyByZWFkOiBUZW1wbGF0ZVJlZiwgc3RhdGljOiBmYWxzZSB9KVxuICBwdWJsaWMgc2V0IGN1c3RvbUlucHV0VGVtcGxhdGVRdWVyeSh0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55Pikge1xuICAgIGlmICh0ZW1wbGF0ZSkge1xuICAgICAgdGhpcy5jdXN0b21JbnB1dFRlbXBsYXRlID0gdGVtcGxhdGVcbiAgICB9XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGN1c3RvbUlucHV0VGVtcGxhdGUodGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4pIHtcbiAgICB0aGlzLmN1c3RvbUlucHV0VGVtcGxhdGUkLm5leHQodGVtcGxhdGUpXG4gIH1cblxuICBwdWJsaWMgZ2V0IGN1c3RvbUlucHV0VGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuY3VzdG9tSW5wdXRUZW1wbGF0ZSQuZ2V0VmFsdWUoKVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGRyb3AoZXZlbnQ6IENka0RyYWdEcm9wPGFueT4pOiB2b2lkIHtcbiAgICBjb25zdCByZW9yZGVyZWQgPSBbLi4udGhpcy5lbnRpdGllc11cbiAgICBtb3ZlSXRlbUluQXJyYXkocmVvcmRlcmVkLCBldmVudC5wcmV2aW91c0luZGV4LCBldmVudC5jdXJyZW50SW5kZXgpXG4gICAgdGhpcy5lbnRpdGllcyA9IHJlb3JkZXJlZFxuICB9XG5cbiAgcHVibGljIHJlc29sdmVDaGlwVmFsdWUoZTE6IFRFbnRpdHkpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLmdldEVudGl0eUlkKGUxKVxuICB9XG5cbiAgcHVibGljIG9uQ2hpcEtleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQsIHRvUmVtb3ZlOiBURW50aXR5KTogdm9pZCB7XG4gICAgdGhpcy5sb2cud2Fybignb25DaGlwS2V5RG93bicsIGV2ZW50KVxuICAgIGlmIChldmVudC5rZXkgPT09ICdCYWNrc3BhY2UnIHx8IGV2ZW50LmtleSA9PT0gJ0RlbGV0ZScpIHtcbiAgICAgIHRoaXMucmVxdWVzdFJlbW92ZUVudGl0eSh0b1JlbW92ZSwgZXZlbnQuc2hpZnRLZXkpXG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uQ2xpY2tSZW1vdmVDaGlwKGV2ZW50OiBNb3VzZUV2ZW50LCB0b1JlbW92ZTogVEVudGl0eSk6IHZvaWQge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgIHRoaXMucmVxdWVzdFJlbW92ZUVudGl0eSh0b1JlbW92ZSwgZXZlbnQuc2hpZnRLZXkpXG4gIH1cblxuICBwdWJsaWMgZm9jdXMob3B0aW9ucz86IEZvY3VzT3B0aW9ucykge1xuICAgIGNvbnN0IGlucHV0ID0gdGhpcy5fY3VzdG9tQ2hpcElucHV0ID8/IHRoaXMuX2NoaXBJbnB1dFxuXG4gICAgaWYgKGlucHV0KSB7XG4gICAgICBpbnB1dC5vbkNvbnRhaW5lckNsaWNrKG5ldyBNb3VzZUV2ZW50KCcnKSlcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5sb2cud2FybignQ2FudCBmb2N1cyBzaW5jZSBubyBjaGlwLWlucHV0LWNvbnRyb2wgZm91bmQhJylcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYmx1cigpIHtcbiAgICB0aGlzLmxvZy53YXJuKCdibHVyKCkgbm90IHlldCBzdXBwb3J0ZWQhJylcbiAgICAvLyBUT0RPIHRoaXMuaW5wdXRDb250cm9sPy5ibHVyKCk7XG4gICAgLy8gdGhpcy5jdXN0b21JbnB1dFRlbXBsYXRlLmJsdXIoKVxuICB9XG5cbiAgcHVibGljIHJlZnJlc2goKTogdm9pZCB7XG4gICAgdGhpcy5yZWZyZXNoJC5uZXh0KHRydWUpXG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIGJ1aWxkQ2hpcE1vZGVsc09yRmFsbGJhY2soXG4gICAgZW50aXRpZXM6IFRFbnRpdHlbXSxcbiAgICBlbnRpdHlJZHM6IFRJZFtdLFxuICAgIHN0YXRlOiBFbGRlclNlbGVjdENvbXBvbmVudFN0YXRlLFxuICAgIGRQUjogVGV4dFJlc29sdmVyRm5cbiAgKTogQ2hpcE1vZGVsPFRFbnRpdHk+W10ge1xuICAgIGlmIChzdGF0ZS5lcnJvcikge1xuICAgICAgcmV0dXJuIHRoaXMuYnVpbGRDaGlwRmFsbGJhY2tNb2RlbHMoZW50aXR5SWRzKVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5idWlsZENoaXBNb2RlbHMoZW50aXRpZXMsIGRQUilcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRDaGlwRmFsbGJhY2tNb2RlbHMoZW50aXR5SWRzOiBUSWRbXSk6IENoaXBNb2RlbDxURW50aXR5PltdIHtcbiAgICByZXR1cm4gZW50aXR5SWRzLm1hcCgoaWQpID0+XG4gICAgICB0aGlzLmJ1aWxkQ2hpcEJ5U3BlYyg8YW55PnsgaWQ6IGlkIH0sICgpID0+IFN0cmluZyhpZCksIHtcbiAgICAgICAgY29sb3JTcGVjOiB7XG4gICAgICAgICAgdGhlbWVDb2xvcjogJ3dhcm4nLFxuICAgICAgICB9LFxuICAgICAgICBhdmF0YXJTcGVjOiB7XG4gICAgICAgICAgaGlkZTogZmFsc2UsXG4gICAgICAgICAgbGFyZ2U6IGZhbHNlLFxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICApXG4gIH1cblxuICBwcml2YXRlIGJ1aWxkQ2hpcE1vZGVscyhlbnRpdGllczogVEVudGl0eVtdLCBkUFI6IFRleHRSZXNvbHZlckZuKTogQ2hpcE1vZGVsPFRFbnRpdHk+W10ge1xuICAgIGlmIChlbnRpdGllcykge1xuICAgICAgcmV0dXJuIGVudGl0aWVzLm1hcCgoZSkgPT5cbiAgICAgICAgdGhpcy5idWlsZENoaXBCeVNwZWMoZSwgZFBSLCB0aGlzLmNoaXBTcGVjRm4oZSkgPz8gdGhpcy5kZWZhdWx0Q2hpcFNwZWMpXG4gICAgICApXG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiA8Q2hpcE1vZGVsPFRFbnRpdHk+W10+W11cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkQ2hpcEJ5U3BlYyhcbiAgICBlOiBURW50aXR5LFxuICAgIGRQUjogVGV4dFJlc29sdmVyRm4sXG4gICAgY2hpcFNwZWM6IFNlbGVjdENoaXBTcGVjXG4gICk6IENoaXBNb2RlbDxURW50aXR5PiB7XG4gICAgbGV0IHJlbW92YWJsZSA9IGZhbHNlXG4gICAgaWYgKHRoaXMuYWxsb3dSZW1vdmUgJiYgIXRoaXMuaXNMb2NrZWQpIHtcbiAgICAgIGlmIChjaGlwU3BlYy5yZW1vdmFibGUgIT09IGZhbHNlKSB7XG4gICAgICAgIHJlbW92YWJsZSA9IHRydWVcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG5ldyBDaGlwTW9kZWw8VEVudGl0eT4oXG4gICAgICBlLFxuICAgICAgZFBSKGUpLFxuICAgICAgY2hpcFNwZWM/LmNvbG9yU3BlYyxcbiAgICAgIHJlbW92YWJsZSxcbiAgICAgIGNoaXBTcGVjLmF2YXRhclNwZWMsXG4gICAgICBjaGlwU3BlYy50cmFpbGluZ1NwZWNcbiAgICApXG4gIH1cblxuICBwcml2YXRlIHJlZHVjZURpc3BsYXllZENoaXBzKG1vZGVsczogQ2hpcE1vZGVsPFRFbnRpdHk+W10sIGNvdW50OiBudW1iZXIpOiBDaGlwTW9kZWw8VEVudGl0eT5bXSB7XG4gICAgY29uc3QgcmVkdWNlZENoaXBzID0gbW9kZWxzLnNsaWNlKDAsIGNvdW50KVxuICAgIGNvbnN0IGRlbHRhQ291bnQgPSBtb2RlbHMubGVuZ3RoIC0gcmVkdWNlZENoaXBzLmxlbmd0aFxuICAgIGlmIChkZWx0YUNvdW50ID4gMCkge1xuICAgICAgY29uc3QgaW5kaWNhdG9yQ2hpcCA9IHRoaXMuYnVpbGRJbmRpY2F0b3JDaGlwKGRlbHRhQ291bnQpXG4gICAgICByZWR1Y2VkQ2hpcHMucHVzaChpbmRpY2F0b3JDaGlwKVxuICAgIH1cbiAgICByZXR1cm4gcmVkdWNlZENoaXBzXG4gIH1cblxuICBwcml2YXRlIGJ1aWxkSW5kaWNhdG9yQ2hpcChkZWx0YUNvdW50OiBudW1iZXIpOiBDaGlwTW9kZWw8VEVudGl0eT4ge1xuICAgIHJldHVybiBuZXcgQ2hpcE1vZGVsKHVuZGVmaW5lZCwgJysnICsgZGVsdGFDb3VudCwge30sIGZhbHNlLCB7IGhpZGU6IHRydWUgfSwge30pXG4gIH1cbn1cbiIsIjxkaXZcbiAgKm5nSWY9XCJzZWxlY3RDaGlwcyQgfCBhc3luYyBhcyBjaGlwVmFsdWVzXCJcbiAgY2xhc3M9XCJlbGRlci1mbGV4LWNvbnRyb2xcIlxuICBbbWF0VG9vbHRpcF09XCIoc3RhdGUkIHwgYXN5bmMpPy5lcnJvclwiXG4+XG4gIDxtYXQtY2hpcC1zZXRcbiAgICAjY2hpcHNcbiAgICBbY2xhc3MubWF0LW1kYy1jaGlwLXNldC1zdGFja2VkXT1cInN0YWNrZWRcIlxuICAgIGNka0Ryb3BMaXN0XG4gICAgW2Nka0Ryb3BMaXN0T3JpZW50YXRpb25dPVwic3RhY2tlZCA/ICd2ZXJ0aWNhbCcgOiAnaG9yaXpvbnRhbCdcIlxuICAgIChjZGtEcm9wTGlzdERyb3BwZWQpPVwiZHJvcCgkZXZlbnQpXCJcbiAgICBbY2RrRHJvcExpc3REaXNhYmxlZF09XCIhYWxsb3dTb3J0aW5nXCJcbiAgPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzdGF0ZSQgfCBhc3luYyBhcyBzdGF0ZVwiPlxuICAgICAgPGRpdiAqbmdJZj1cImljb25cIiBjbGFzcz1cImVsZGVyLWlucHV0LXByZWZpeC1pY29uLWNvbnRhaW5lciBmbGV4LW5vbmVcIj5cbiAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgKm5nSWY9XCJpY29uXCJcbiAgICAgICAgICBkaXNhYmxlZFxuICAgICAgICAgIGNsYXNzPVwiZWxkZXItcHJlZml4LWljb24gZWxkZXItbWRjLWNvbnRyb2wtaWNvbiBlbGRlci1pY29uLXNtYWxsIG5vc2VsZWN0XCJcbiAgICAgICAgICBbY2xhc3MubG9hZGluZ109XCJzdGF0ZS5sb2FkaW5nXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IGljb24gfX1cbiAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRlbXBsYXRlcyQgfCBhc3luYyBhcyB0ZW1wbGF0ZXNcIj5cbiAgICAgIDxtYXQtY2hpcC1yb3dcbiAgICAgICAgZWxkZXJDaGlwTGFiZWxcbiAgICAgICAgKm5nRm9yPVwibGV0IGNoaXBNb2RlbCBvZiBjaGlwVmFsdWVzXCJcbiAgICAgICAgY2xhc3M9XCJub3NlbGVjdCBjbGlja2FibGUtY2hpcFwiXG4gICAgICAgIFt2YWx1ZV09XCJyZXNvbHZlQ2hpcFZhbHVlKGNoaXBNb2RlbC52YWx1ZSlcIlxuICAgICAgICBbY29sb3JdPVwiY2hpcE1vZGVsLmNvbG9yU3BlYz8udGhlbWVDb2xvclwiXG4gICAgICAgIFtsZXZlbENvbG9yXT1cImNoaXBNb2RlbC5jb2xvclNwZWM/LmxldmVsQ29sb3JcIlxuICAgICAgICBbc3RhdGVDb2xvcl09XCJjaGlwTW9kZWwuY29sb3JTcGVjPy5zdGF0ZUNvbG9yXCJcbiAgICAgICAgW3JlbW92YWJsZV09XCJjaGlwTW9kZWwucmVtb3ZhYmxlXCJcbiAgICAgICAgKGtleWRvd24pPVwib25DaGlwS2V5RG93bigkZXZlbnQsIGNoaXBNb2RlbC52YWx1ZSlcIlxuICAgICAgICAoY2xpY2spPVwib25DdXJyZW50Q2xpY2tlZChjaGlwTW9kZWwudmFsdWUpXCJcbiAgICAgICAgY2RrRHJhZ1xuICAgICAgICBbY2RrRHJhZ0RhdGFdPVwiY2hpcE1vZGVsLnZhbHVlXCJcbiAgICAgICAgW2Nka0RyYWdEaXNhYmxlZF09XCIhYWxsb3dTb3J0aW5nXCJcbiAgICAgID5cbiAgICAgICAgPG1hdC1jaGlwLWF2YXRhclxuICAgICAgICAgICpuZ0lmPVwidGVtcGxhdGVzLmF2YXRhciAmJiAhY2hpcE1vZGVsLmF2YXRhclNwZWM/LmhpZGVcIlxuICAgICAgICAgIFtjbGFzcy5jaGlwLWF2YXRhci14bF09XCJjaGlwTW9kZWwuYXZhdGFyU3BlYz8ubGFyZ2VcIlxuICAgICAgICA+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRlbXBsYXRlcy5hdmF0YXI7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBjaGlwTW9kZWwgfVwiPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L21hdC1jaGlwLWF2YXRhcj5cblxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgIHRlbXBsYXRlcy5jaGlwIHx8IHNpbXBsZUNoaXBUZW1wbGF0ZTtcbiAgICAgICAgICAgIGNvbnRleHQ6IHsgJGltcGxpY2l0OiBjaGlwTW9kZWwgfVxuICAgICAgICAgIFwiXG4gICAgICAgID5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgbWF0Q2hpcFRyYWlsaW5nSWNvblxuICAgICAgICAgIGNsYXNzPVwiZWxkZXItdHJhaWxpbmctaWNvblwiXG4gICAgICAgICAgKm5nSWY9XCJjaGlwTW9kZWwudHJhaWxpbmdTcGVjPy5pY29uXCJcbiAgICAgICAgICBbZm9udFNldF09XCJjaGlwTW9kZWwudHJhaWxpbmdTcGVjPy5pY29uRm9udFNldFwiXG4gICAgICAgICAgPnt7IGNoaXBNb2RlbC50cmFpbGluZ1NwZWM/Lmljb24gfX08L21hdC1pY29uXG4gICAgICAgID5cblxuICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICBtYXRDaGlwUmVtb3ZlXG4gICAgICAgICAgKm5nSWY9XCJjaGlwTW9kZWwucmVtb3ZhYmxlXCJcbiAgICAgICAgICAoY2xpY2spPVwib25DbGlja1JlbW92ZUNoaXAoJGV2ZW50LCBjaGlwTW9kZWwudmFsdWUpXCJcbiAgICAgICAgPlxuICAgICAgICAgIGNhbmNlbFxuICAgICAgICA8L21hdC1pY29uPlxuICAgICAgPC9tYXQtY2hpcC1yb3c+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJsYXlvdXQtcm93IHBsYWNlLXN0YXJ0LWNlbnRlciBlbGRlci1jaGlwLWlucHV0XCI+XG4gICAgICAgIDwhLS0gW21hdENoaXBJbnB1dEZvcl09XCJjaGlwc1wiIC0tPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGVtcGxhdGVzLmlucHV0IHx8IHNlbGVjdElucHV0XCI+IDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBjbGFzcz1cImVsZGVyLWNvbnRyb2wtaWNvbi1idXR0b24gZWxkZXItYnJvd3NlLWljb25cIlxuICAgICAgICAgICpuZ0lmPVwic2VsZWN0aW9uUG9wdXBcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJpc0xvY2tlZFwiXG4gICAgICAgICAgKGNsaWNrKT1cIm9wZW5TZWxlY3Rpb25Qb3B1cCgkZXZlbnQpXCJcbiAgICAgICAgICBhcmlhLWxhYmVsPVwiU2VhcmNoXCJcbiAgICAgICAgICBlbGRlclN0b3BFdmVudFByb3BhZ2F0aW9uXG4gICAgICAgICAgdGFiSW5kZXg9XCItMVwiXG4gICAgICAgID5cbiAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJlbGRlci1tZGMtY29udHJvbC1pY29uXCI+c2VhcmNoPC9tYXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9tYXQtY2hpcC1zZXQ+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNzZWxlY3RJbnB1dD5cbiAgPCEtLSBtYXQtbWRjLWNoaXAtaW5wdXQgLS0+XG4gIDxlbGRlci1zZWxlY3RcbiAgICBhdXRvY29tcGxldGVcbiAgICBlbGRlckNsZWFyU2VsZWN0XG4gICAgY2xhc3M9XCJlbGRlci1jaGlwLWlucHV0LXNlbGVjdCBmbGV4XCJcbiAgICBbZGF0YV09XCJkYXRhQ29udGV4dCQgfCBhc3luY1wiXG4gICAgW2Rpc2FibGVkXT1cIiEhZGlzYWJsZWRcIlxuICAgIFtyZXF1aXJlZF09XCIhIXJlcXVpcmVkXCJcbiAgICBbcmVhZG9ubHldPVwiISFyZWFkb25seVwiXG4gICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICAoZW50aXR5VXBkYXRlZCk9XCJhcHBlbmRFbnRpdHkoJGV2ZW50KVwiXG4gICAgW2Rpc3BsYXlQcm9wZXJ0eVJlc29sdmVyXT1cImRpc3BsYXlQcm9wZXJ0eVJlc29sdmVyJCB8IGFzeW5jXCJcbiAgICBbdmFsdWVUZW1wbGF0ZV09XCJ2YWx1ZVRlbXBsYXRlXCJcbiAgICBbcXVlcnlGaWx0ZXJdPVwicXVlcnlGaWx0ZXJcIlxuICAgIFtmaWx0ZXJzXT1cImZpbHRlcnNcIlxuICAgIFtzb3J0c109XCJzb3J0c1wiXG4gICAgW2lzT3B0aW9uRGlzYWJsZWRGbl09XCJpc09wdGlvbkRpc2FibGVkSW50ZXJuYWxGblwiXG4gICAgW2lzT3B0aW9uSGlkZGVuRm5dPVwiaXNPcHRpb25IaWRkZW5JbnRlcm5hbEZuXCJcbiAgPjwvZWxkZXItc2VsZWN0PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNzaW1wbGVDaGlwVGVtcGxhdGUgbGV0LWNoaXBNb2RlbD5cbiAgPHNwYW4gY2xhc3M9XCJlbGRlci1jaGlwLXRleHRcIj57eyBjaGlwTW9kZWwuZGlzcGxheVRleHQgfCBlbGRlclRydW5jYXRlOiAyMCB9fTwvc3Bhbj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
272
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItbXVsdGktc2VsZWN0LWNoaXBzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0L211bHRpL2VsZGVyLW11bHRpLXNlbGVjdC1jaGlwcy9lbGRlci1tdWx0aS1zZWxlY3QtY2hpcHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9zZWxlY3QvbXVsdGkvZWxkZXItbXVsdGktc2VsZWN0LWNoaXBzL2VsZGVyLW11bHRpLXNlbGVjdC1jaGlwcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBRVosVUFBVSxFQUNWLEtBQUssRUFLTCxXQUFXLEVBQ1gsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRCQUE0QixDQUFBO0FBQ2pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFjLE1BQU0sTUFBTSxDQUFBO0FBQ2pFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUNwQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDcEQsT0FBTyxFQUNMLDhCQUE4QixFQUM5Qix3QkFBd0IsRUFDeEIsK0JBQStCLEdBQ2hDLE1BQU0sbUNBQW1DLENBQUE7QUFFMUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUE7QUFDbEUsT0FBTyxFQUNMLGlCQUFpQixHQUdsQixNQUFNLHlCQUF5QixDQUFBO0FBSWhDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxN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LFlBQVk7dUJBQUMsbUJBQW1CO2dCQUNBLFVBQVU7c0JBQTFDLFNBQVM7dUJBQUMsb0JBQW9CO2dCQThEcEIsaUJBQWlCO3NCQUQzQixZQUFZO3VCQUFDLHdCQUF3QixFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQU1qRSxZQUFZO3NCQUR0QixLQUFLO2dCQVVLLHVCQUF1QjtzQkFEakMsWUFBWTt1QkFBQyw4QkFBOEIsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFRdkUsa0JBQWtCO3NCQUQ1QixLQUFLO2dCQVVLLHdCQUF3QjtzQkFEbEMsWUFBWTt1QkFBQywrQkFBK0IsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFReEUsbUJBQW1CO3NCQUQ3QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBFbGVtZW50UmVmLFxuICBmb3J3YXJkUmVmLFxuICBJbnB1dCxcbiAgTmdab25lLFxuICBPcHRpb25hbCxcbiAgU2VsZixcbiAgU2lnbmFsLFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgRWxkZXJNdWx0aVNlbGVjdEJhc2UgfSBmcm9tICcuLi9lbGRlci1tdWx0aS1zZWxlY3QtYmFzZSdcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcbmltcG9ydCB7IExvZ2dlckZhY3RvcnkgfSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcidcbmltcG9ydCB7XG4gIEVsZGVyU2VsZWN0Q2hpcEF2YXRhckRpcmVjdGl2ZSxcbiAgRWxkZXJTZWxlY3RDaGlwRGlyZWN0aXZlLFxuICBFbGRlclNlbGVjdEN1c3RvbUlucHV0RGlyZWN0aXZlLFxufSBmcm9tICcuLi8uLi9lbGRlci1zZWxlY3QtY2hpcC5kaXJlY3RpdmUnXG5pbXBvcnQgeyBOZ0NvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3JtcydcbmltcG9ydCB7IE1hdEZvcm1GaWVsZENvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJ1xuaW1wb3J0IHtcbiAgRUxERVJfU0VMRUNUX0JBU0UsXG4gIEVsZGVyU2VsZWN0Q29tcG9uZW50U3RhdGUsXG4gIFRleHRSZXNvbHZlckZuLFxufSBmcm9tICcuLi8uLi9lbGRlci1zZWxlY3QtYmFzZSdcbmltcG9ydCB7IEZvY3VzTW9uaXRvciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5J1xuaW1wb3J0IHsgRWxkZXJEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vZGlhbG9ncy9lbGRlci1kaWFsb2cuc2VydmljZSdcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHsgRWxkZXJTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuLi8uLi9zaW5nbGUvZWxkZXItc2VsZWN0L2VsZGVyLXNlbGVjdC5jb21wb25lbnQnXG5pbXBvcnQgeyBDZGtEcmFnRHJvcCwgbW92ZUl0ZW1JbkFycmF5LCBDZGtEcm9wTGlzdCwgQ2RrRHJhZyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnXG5pbXBvcnQge1xuICBDaGlwQXZhdGFyU3BlYyxcbiAgQ2hpcENvbG9yU3BlYyxcbiAgU2VsZWN0Q2hpcFNwZWMsXG4gIFNlbGVjdENoaXBTcGVjVXRpbCxcbiAgVHJhaWxpbmdTcGVjLFxufSBmcm9tICcuL3NlbGVjdC1jaGlwLXNwZWMnXG5pbXBvcnQgeyBFbGRlclRydW5jYXRlUGlwZSB9IGZyb20gJy4uLy4uLy4uLy4uL3BpcGVzL2VsZGVyLXRydW5jYXRlLnBpcGUnXG5pbXBvcnQgeyBFbGRlckNsZWFyU2VsZWN0RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vc2luZ2xlL2VsZGVyLWNsZWFyLXNlbGVjdC5kaXJlY3RpdmUnXG5pbXBvcnQgeyBFbGRlclN0b3BFdmVudFByb3BhZ2F0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vZm9ybXMvZGlyZWN0aXZlcy9lbGRlci1zdG9wLWV2ZW50LXByb3BhZ2F0aW9uLmRpcmVjdGl2ZSdcbmltcG9ydCB7IE1hdEljb25CdXR0b24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nXG5pbXBvcnQgeyBFbGRlckNoaXBMYWJlbERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL2NoaXBzL2VsZGVyLWNoaXAtbGFiZWwuZGlyZWN0aXZlJ1xuaW1wb3J0IHsgTWF0SWNvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nXG5pbXBvcnQge1xuICBNYXRDaGlwU2V0LFxuICBNYXRDaGlwUm93LFxuICBNYXRDaGlwQXZhdGFyLFxuICBNYXRDaGlwVHJhaWxpbmdJY29uLFxuICBNYXRDaGlwUmVtb3ZlLFxufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGlwcydcbmltcG9ydCB7IE1hdFRvb2x0aXAgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJ1xuaW1wb3J0IHsgTmdJZiwgTmdGb3IsIE5nVGVtcGxhdGVPdXRsZXQsIEFzeW5jUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7IHRvT2JzZXJ2YWJsZSwgdG9TaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCdcblxuY2xhc3MgQ2hpcE1vZGVsPFQ+IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IGlkOiBhbnksXG4gICAgcHVibGljIHJlYWRvbmx5IHZhbHVlOiBULFxuICAgIHB1YmxpYyByZWFkb25seSBkaXNwbGF5VGV4dDogc3RyaW5nLFxuICAgIHB1YmxpYyByZWFkb25seSBjb2xvclNwZWM6IENoaXBDb2xvclNwZWMsXG4gICAgcHVibGljIHJlYWRvbmx5IHJlbW92YWJsZTogYm9vbGVhbixcbiAgICBwdWJsaWMgcmVhZG9ubHkgYXZhdGFyU3BlYzogQ2hpcEF2YXRhclNwZWMsXG4gICAgcHVibGljIHJlYWRvbmx5IHRyYWlsaW5nU3BlYzogVHJhaWxpbmdTcGVjXG4gICkge31cbn1cblxuaW50ZXJmYWNlIFRlbXBsYXRlV3JhcHBlciB7XG4gIGNoaXA6IFRlbXBsYXRlUmVmPGFueT5cbiAgYXZhdGFyOiBUZW1wbGF0ZVJlZjxhbnk+XG5cbiAgaW5wdXQ6IFRlbXBsYXRlUmVmPGFueT5cbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWxkZXItbXVsdGktc2VsZWN0LWNoaXBzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2VsZGVyLW11bHRpLXNlbGVjdC1jaGlwcy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2VsZGVyLW11bHRpLXNlbGVjdC1jaGlwcy5jb21wb25lbnQuc2NzcyddLFxuICAvLyBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBNYXRGb3JtRmllbGRDb250cm9sLCB1c2VFeGlzdGluZzogRWxkZXJNdWx0aVNlbGVjdENoaXBzQ29tcG9uZW50IH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogRUxERVJfU0VMRUNUX0JBU0UsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBFbGRlck11bHRpU2VsZWN0Q2hpcHNDb21wb25lbnQpLFxuICAgIH0sXG4gIF0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBNYXRUb29sdGlwLFxuICAgIE1hdENoaXBTZXQsXG4gICAgQ2RrRHJvcExpc3QsXG4gICAgTWF0SWNvbixcbiAgICBNYXRDaGlwUm93LFxuICAgIEVsZGVyQ2hpcExhYmVsRGlyZWN0aXZlLFxuICAgIENka0RyYWcsXG4gICAgTWF0Q2hpcEF2YXRhcixcbiAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgIE1hdENoaXBUcmFpbGluZ0ljb24sXG4gICAgTWF0Q2hpcFJlbW92ZSxcbiAgICBNYXRJY29uQnV0dG9uLFxuICAgIEVsZGVyU3RvcEV2ZW50UHJvcGFnYXRpb25EaXJlY3RpdmUsXG4gICAgRWxkZXJTZWxlY3RDb21wb25lbnQsXG4gICAgRWxkZXJDbGVhclNlbGVjdERpcmVjdGl2ZSxcbiAgICBFbGRlclRydW5jYXRlUGlwZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJNdWx0aVNlbGVjdENoaXBzQ29tcG9uZW50PFxuICBUSWQgPSBhbnksXG4gIFRFbnRpdHkgPSBhbnksXG4gIFRWYWx1ZSA9IGFueSxcbj4gZXh0ZW5kcyBFbGRlck11bHRpU2VsZWN0QmFzZTxUSWQsIFRFbnRpdHksIFRWYWx1ZT4ge1xuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgcmVhZG9ubHkgc2VsZWN0Q2hpcHM6IFNpZ25hbDxDaGlwTW9kZWw8VEVudGl0eT5bXT5cblxuICBASW5wdXQoKVxuICBwdWJsaWMgZGVmYXVsdENoaXBTcGVjOiBTZWxlY3RDaGlwU3BlYyA9IFNlbGVjdENoaXBTcGVjVXRpbC5EZWZhdWx0Q2hpcFNwZWNcblxuICAvKipcbiAgICogQWxsb3dzIHRvIGN1c3RvbWl6ZSBlYWNoIGNoaXAgaW5kaXZpZHVhbGx5IChDb2xvciwgUmVtb3ZhYmxlLCBBdmF0YXIpLlxuICAgKlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGNoaXBTcGVjRm46IChlOiBURW50aXR5KSA9PiBTZWxlY3RDaGlwU3BlYyA9IChlKSA9PiB0aGlzLmRlZmF1bHRDaGlwU3BlY1xuXG4gIHB1YmxpYyBzZWxlY3RhYmxlID0gdHJ1ZVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhbGxvd1JlbW92ZSA9IHRydWVcblxuICBASW5wdXQoKVxuICBwdWJsaWMgYWxsb3dTb3J0aW5nID0gZmFsc2VcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc3RhY2tlZCA9IGZhbHNlXG5cbiAgQElucHV0KClcbiAgcHVibGljIG1heERpc3BsYXlDb3VudDogbnVtYmVyXG5cbiAgQENvbnRlbnRDaGlsZChNYXRGb3JtRmllbGRDb250cm9sKSBfY3VzdG9tQ2hpcElucHV0OiBNYXRGb3JtRmllbGRDb250cm9sPGFueT5cbiAgQFZpZXdDaGlsZChFbGRlclNlbGVjdENvbXBvbmVudCkgX2NoaXBJbnB1dDogTWF0Rm9ybUZpZWxkQ29udHJvbDxhbnk+XG5cbiAgcmVhZG9ubHkgdGVtcGxhdGVzOiBTaWduYWw8VGVtcGxhdGVXcmFwcGVyPlxuXG4gIHByaXZhdGUgcmVhZG9ubHkgY2hpcFRlbXBsYXRlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VGVtcGxhdGVSZWY8YW55Pj4obnVsbClcbiAgcHJpdmF0ZSByZWFkb25seSBjaGlwQXZhdGFyVGVtcGxhdGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUZW1wbGF0ZVJlZjxhbnk+PihudWxsKVxuICBwcml2YXRlIHJlYWRvbmx5IGN1c3RvbUlucHV0VGVtcGxhdGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUZW1wbGF0ZVJlZjxhbnk+PihudWxsKVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgcmVmcmVzaCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRydWUpXG5cbiAgcHJpdmF0ZSByZWFkb25seSBsb2cgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcih0aGlzLmNvbnN0cnVjdG9yLm5hbWUpXG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoJ211bHRpLXNlbGVjdC1jaGlwcycpXG5cbiAgICB0aGlzLnBsYWNlaG9sZGVyID0gJy4uLidcblxuICAgIHRoaXMuc2VsZWN0Q2hpcHMgPSB0b1NpZ25hbChcbiAgICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICB0aGlzLmVudGl0aWVzJCxcbiAgICAgICAgdGhpcy5lbnRpdHlJZHMkLFxuICAgICAgICB0b09ic2VydmFibGUodGhpcy5zdGF0ZSksXG4gICAgICAgIHRvT2JzZXJ2YWJsZSh0aGlzLmRpc3BsYXlQcm9wZXJ0eVJlc29sdmVyUyksXG4gICAgICAgIHRvT2JzZXJ2YWJsZSh0aGlzLnJlYWRvbmx5UyksXG4gICAgICAgIHRvT2JzZXJ2YWJsZSh0aGlzLmRpc2FibGVkUyksXG4gICAgICAgIHRoaXMucmVmcmVzaCQsXG4gICAgICBdKS5waXBlKFxuICAgICAgICBtYXAoKFtlbnRpdGllcywgZW50aXR5SWRzLCBzdGF0ZSwgZFBSXSkgPT5cbiAgICAgICAgICB0aGlzLmJ1aWxkQ2hpcE1vZGVsc09yRmFsbGJhY2soZW50aXRpZXMsIGVudGl0eUlkcywgc3RhdGUsIGRQUilcbiAgICAgICAgKSxcbiAgICAgICAgbWFwKChtb2RlbHMpID0+XG4gICAgICAgICAgdGhpcy5tYXhEaXNwbGF5Q291bnQgPyB0aGlzLnJlZHVjZURpc3BsYXllZENoaXBzKG1vZGVscywgdGhpcy5tYXhEaXNwbGF5Q291bnQpIDogbW9kZWxzXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG5cbiAgICB0aGlzLnRlbXBsYXRlcyA9IHRvU2lnbmFsKFxuICAgICAgY29tYmluZUxhdGVzdChbdGhpcy5jaGlwVGVtcGxhdGUkLCB0aGlzLmNoaXBBdmF0YXJUZW1wbGF0ZSQsIHRoaXMuY3VzdG9tSW5wdXRUZW1wbGF0ZSRdKS5waXBlKFxuICAgICAgICBtYXAoKFtjaGlwLCBhdmF0YXIsIGlucHV0XSkgPT4ge1xuICAgICAgICAgIHJldHVybiA8VGVtcGxhdGVXcmFwcGVyPntcbiAgICAgICAgICAgIGNoaXAsXG4gICAgICAgICAgICBhdmF0YXIsXG4gICAgICAgICAgICBpbnB1dCxcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgKVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgQENvbnRlbnRDaGlsZChFbGRlclNlbGVjdENoaXBEaXJlY3RpdmUsIHsgcmVhZDogVGVtcGxhdGVSZWYsIHN0YXRpYzogZmFsc2UgfSlcbiAgcHVibGljIHNldCBjaGlwVGVtcGxhdGVRdWVyeSh0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55Pikge1xuICAgIHRoaXMuY2hpcFRlbXBsYXRlID0gdGVtcGxhdGVcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgY2hpcFRlbXBsYXRlKHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+KSB7XG4gICAgdGhpcy5jaGlwVGVtcGxhdGUkLm5leHQodGVtcGxhdGUpXG4gIH1cblxuICBwdWJsaWMgZ2V0IGNoaXBUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5jaGlwVGVtcGxhdGUkLmdldFZhbHVlKClcbiAgfVxuXG4gIEBDb250ZW50Q2hpbGQoRWxkZXJTZWxlY3RDaGlwQXZhdGFyRGlyZWN0aXZlLCB7IHJlYWQ6IFRlbXBsYXRlUmVmLCBzdGF0aWM6IGZhbHNlIH0pXG4gIHB1YmxpYyBzZXQgY2hpcEF2YXRhclRlbXBsYXRlUXVlcnkodGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4pIHtcbiAgICBpZiAodGVtcGxhdGUpIHtcbiAgICAgIHRoaXMuY2hpcEF2YXRhclRlbXBsYXRlID0gdGVtcGxhdGVcbiAgICB9XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGNoaXBBdmF0YXJUZW1wbGF0ZSh0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55Pikge1xuICAgIHRoaXMuY2hpcEF2YXRhclRlbXBsYXRlJC5uZXh0KHRlbXBsYXRlKVxuICB9XG5cbiAgcHVibGljIGdldCBjaGlwQXZhdGFyVGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuY2hpcEF2YXRhclRlbXBsYXRlJC5nZXRWYWx1ZSgpXG4gIH1cblxuICBAQ29udGVudENoaWxkKEVsZGVyU2VsZWN0Q3VzdG9tSW5wdXREaXJlY3RpdmUsIHsgcmVhZDogVGVtcGxhdGVSZWYsIHN0YXRpYzogZmFsc2UgfSlcbiAgcHVibGljIHNldCBjdXN0b21JbnB1dFRlbXBsYXRlUXVlcnkodGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4pIHtcbiAgICBpZiAodGVtcGxhdGUpIHtcbiAgICAgIHRoaXMuY3VzdG9tSW5wdXRUZW1wbGF0ZSA9IHRlbXBsYXRlXG4gICAgfVxuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBjdXN0b21JbnB1dFRlbXBsYXRlKHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+KSB7XG4gICAgdGhpcy5jdXN0b21JbnB1dFRlbXBsYXRlJC5uZXh0KHRlbXBsYXRlKVxuICB9XG5cbiAgcHVibGljIGdldCBjdXN0b21JbnB1dFRlbXBsYXRlKCk6IFRlbXBsYXRlUmVmPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmN1c3RvbUlucHV0VGVtcGxhdGUkLmdldFZhbHVlKClcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBkcm9wKGV2ZW50OiBDZGtEcmFnRHJvcDxhbnk+KTogdm9pZCB7XG4gICAgY29uc3QgcmVvcmRlcmVkID0gWy4uLnRoaXMuZW50aXRpZXNdXG4gICAgbW92ZUl0ZW1JbkFycmF5KHJlb3JkZXJlZCwgZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KVxuICAgIHRoaXMuZW50aXRpZXMgPSByZW9yZGVyZWRcbiAgfVxuXG4gIHB1YmxpYyByZXNvbHZlQ2hpcFZhbHVlKGUxOiBURW50aXR5KTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5nZXRFbnRpdHlJZChlMSlcbiAgfVxuXG4gIHB1YmxpYyBvbkNoaXBLZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50LCB0b1JlbW92ZTogVEVudGl0eSk6IHZvaWQge1xuICAgIHRoaXMubG9nLndhcm4oJ29uQ2hpcEtleURvd24nLCBldmVudClcbiAgICBpZiAoZXZlbnQua2V5ID09PSAnQmFja3NwYWNlJyB8fCBldmVudC5rZXkgPT09ICdEZWxldGUnKSB7XG4gICAgICB0aGlzLnJlcXVlc3RSZW1vdmVFbnRpdHkodG9SZW1vdmUsIGV2ZW50LnNoaWZ0S2V5KVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbkNsaWNrUmVtb3ZlQ2hpcChldmVudDogTW91c2VFdmVudCwgdG9SZW1vdmU6IFRFbnRpdHkpOiB2b2lkIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKVxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICB0aGlzLnJlcXVlc3RSZW1vdmVFbnRpdHkodG9SZW1vdmUsIGV2ZW50LnNoaWZ0S2V5KVxuICB9XG5cbiAgcHVibGljIGZvY3VzKG9wdGlvbnM/OiBGb2N1c09wdGlvbnMpIHtcbiAgICBjb25zdCBpbnB1dCA9IHRoaXMuX2N1c3RvbUNoaXBJbnB1dCA/PyB0aGlzLl9jaGlwSW5wdXRcblxuICAgIGlmIChpbnB1dCkge1xuICAgICAgaW5wdXQub25Db250YWluZXJDbGljayhuZXcgTW91c2VFdmVudCgnJykpXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubG9nLndhcm4oJ0NhbnQgZm9jdXMgc2luY2Ugbm8gY2hpcC1pbnB1dC1jb250cm9sIGZvdW5kIScpXG4gICAgfVxuICB9XG5cbiAgcHVibGljIGJsdXIoKSB7XG4gICAgdGhpcy5sb2cud2FybignYmx1cigpIG5vdCB5ZXQgc3VwcG9ydGVkIScpXG4gICAgLy8gVE9ETyB0aGlzLmlucHV0Q29udHJvbD8uYmx1cigpO1xuICAgIC8vIHRoaXMuY3VzdG9tSW5wdXRUZW1wbGF0ZS5ibHVyKClcbiAgfVxuXG4gIHB1YmxpYyByZWZyZXNoKCk6IHZvaWQge1xuICAgIHRoaXMucmVmcmVzaCQubmV4dCh0cnVlKVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgbWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSBidWlsZENoaXBNb2RlbHNPckZhbGxiYWNrKFxuICAgIGVudGl0aWVzOiBURW50aXR5W10sXG4gICAgZW50aXR5SWRzOiBUSWRbXSxcbiAgICBzdGF0ZTogRWxkZXJTZWxlY3RDb21wb25lbnRTdGF0ZSxcbiAgICBkUFI6IFRleHRSZXNvbHZlckZuXG4gICk6IENoaXBNb2RlbDxURW50aXR5PltdIHtcbiAgICBpZiAoc3RhdGUuZXJyb3IpIHtcbiAgICAgIHJldHVybiB0aGlzLmJ1aWxkQ2hpcEZhbGxiYWNrTW9kZWxzKGVudGl0eUlkcylcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuYnVpbGRDaGlwTW9kZWxzKGVudGl0aWVzLCBkUFIpXG4gIH1cblxuICBwcml2YXRlIGJ1aWxkQ2hpcEZhbGxiYWNrTW9kZWxzKGVudGl0eUlkczogVElkW10pOiBDaGlwTW9kZWw8VEVudGl0eT5bXSB7XG4gICAgcmV0dXJuIGVudGl0eUlkcy5tYXAoKGlkKSA9PlxuICAgICAgdGhpcy5idWlsZENoaXBCeVNwZWMoPGFueT57IGlkOiBpZCB9LCAoKSA9PiBTdHJpbmcoaWQpLCB7XG4gICAgICAgIGNvbG9yU3BlYzoge1xuICAgICAgICAgIHRoZW1lQ29sb3I6ICd3YXJuJyxcbiAgICAgICAgfSxcbiAgICAgICAgYXZhdGFyU3BlYzoge1xuICAgICAgICAgIGhpZGU6IGZhbHNlLFxuICAgICAgICAgIGxhcmdlOiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgKVxuICB9XG5cbiAgcHJpdmF0ZSBidWlsZENoaXBNb2RlbHMoZW50aXRpZXM6IFRFbnRpdHlbXSwgZFBSOiBUZXh0UmVzb2x2ZXJGbik6IENoaXBNb2RlbDxURW50aXR5PltdIHtcbiAgICBpZiAoZW50aXRpZXMpIHtcbiAgICAgIHJldHVybiBlbnRpdGllcy5tYXAoKGUpID0+XG4gICAgICAgIHRoaXMuYnVpbGRDaGlwQnlTcGVjKGUsIGRQUiwgdGhpcy5jaGlwU3BlY0ZuKGUpID8/IHRoaXMuZGVmYXVsdENoaXBTcGVjKVxuICAgICAgKVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gPENoaXBNb2RlbDxURW50aXR5PltdPltdXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBidWlsZENoaXBCeVNwZWMoXG4gICAgZTogVEVudGl0eSxcbiAgICBkUFI6IFRleHRSZXNvbHZlckZuLFxuICAgIGNoaXBTcGVjOiBTZWxlY3RDaGlwU3BlY1xuICApOiBDaGlwTW9kZWw8VEVudGl0eT4ge1xuICAgIGxldCByZW1vdmFibGUgPSBmYWxzZVxuICAgIGlmICh0aGlzLmFsbG93UmVtb3ZlICYmICF0aGlzLmlzTG9ja2VkKSB7XG4gICAgICBpZiAoY2hpcFNwZWMucmVtb3ZhYmxlICE9PSBmYWxzZSkge1xuICAgICAgICByZW1vdmFibGUgPSB0cnVlXG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBuZXcgQ2hpcE1vZGVsPFRFbnRpdHk+KFxuICAgICAgdGhpcy5nZXRFbnRpdHlJZChlKSxcbiAgICAgIGUsXG4gICAgICBkUFIoZSksXG4gICAgICBjaGlwU3BlYz8uY29sb3JTcGVjLFxuICAgICAgcmVtb3ZhYmxlLFxuICAgICAgY2hpcFNwZWMuYXZhdGFyU3BlYyxcbiAgICAgIGNoaXBTcGVjLnRyYWlsaW5nU3BlY1xuICAgIClcbiAgfVxuXG4gIHByaXZhdGUgcmVkdWNlRGlzcGxheWVkQ2hpcHMobW9kZWxzOiBDaGlwTW9kZWw8VEVudGl0eT5bXSwgY291bnQ6IG51bWJlcik6IENoaXBNb2RlbDxURW50aXR5PltdIHtcbiAgICBjb25zdCByZWR1Y2VkQ2hpcHMgPSBtb2RlbHMuc2xpY2UoMCwgY291bnQpXG4gICAgY29uc3QgZGVsdGFDb3VudCA9IG1vZGVscy5sZW5ndGggLSByZWR1Y2VkQ2hpcHMubGVuZ3RoXG4gICAgaWYgKGRlbHRhQ291bnQgPiAwKSB7XG4gICAgICBjb25zdCBpbmRpY2F0b3JDaGlwID0gdGhpcy5idWlsZEluZGljYXRvckNoaXAoZGVsdGFDb3VudClcbiAgICAgIHJlZHVjZWRDaGlwcy5wdXNoKGluZGljYXRvckNoaXApXG4gICAgfVxuICAgIHJldHVybiByZWR1Y2VkQ2hpcHNcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRJbmRpY2F0b3JDaGlwKGRlbHRhQ291bnQ6IG51bWJlcik6IENoaXBNb2RlbDxURW50aXR5PiB7XG4gICAgcmV0dXJuIG5ldyBDaGlwTW9kZWwoXG4gICAgICAnb3ZlcmZsb3ctaW5kaWNhdG9yJyxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgICcrJyArIGRlbHRhQ291bnQsXG4gICAgICB7fSxcbiAgICAgIGZhbHNlLFxuICAgICAgeyBoaWRlOiB0cnVlIH0sXG4gICAgICB7fVxuICAgIClcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImVsZGVyLWZsZXgtY29udHJvbFwiIFttYXRUb29sdGlwXT1cInN0YXRlKCk/LmVycm9yXCI+XG4gIDxtYXQtY2hpcC1zZXRcbiAgICAjY2hpcHNcbiAgICBbY2xhc3MubWF0LW1kYy1jaGlwLXNldC1zdGFja2VkXT1cInN0YWNrZWRcIlxuICAgIGNka0Ryb3BMaXN0XG4gICAgW2Nka0Ryb3BMaXN0T3JpZW50YXRpb25dPVwic3RhY2tlZCA/ICd2ZXJ0aWNhbCcgOiAnaG9yaXpvbnRhbCdcIlxuICAgIChjZGtEcm9wTGlzdERyb3BwZWQpPVwiZHJvcCgkZXZlbnQpXCJcbiAgICBbY2RrRHJvcExpc3REaXNhYmxlZF09XCIhYWxsb3dTb3J0aW5nXCJcbiAgPlxuICAgIEBpZiAoaWNvbikge1xuICAgICAgPGRpdiBjbGFzcz1cImVsZGVyLWlucHV0LXByZWZpeC1pY29uLWNvbnRhaW5lciBmbGV4LW5vbmVcIj5cbiAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgZGlzYWJsZWRcbiAgICAgICAgICBjbGFzcz1cImVsZGVyLXByZWZpeC1pY29uIGVsZGVyLW1kYy1jb250cm9sLWljb24gZWxkZXItaWNvbi1zbWFsbCBub3NlbGVjdFwiXG4gICAgICAgICAgW2NsYXNzLmxvYWRpbmddPVwic3RhdGUoKT8ubG9hZGluZ1wiXG4gICAgICAgID5cbiAgICAgICAgICB7eyBpY29uIH19XG4gICAgICAgIDwvbWF0LWljb24+XG4gICAgICA8L2Rpdj5cbiAgICB9XG5cbiAgICBAZm9yIChjaGlwTW9kZWwgb2Ygc2VsZWN0Q2hpcHMoKTsgdHJhY2sgY2hpcE1vZGVsLmlkKSB7XG4gICAgICA8bWF0LWNoaXAtcm93XG4gICAgICAgIGVsZGVyQ2hpcExhYmVsXG4gICAgICAgIGNsYXNzPVwibm9zZWxlY3QgY2xpY2thYmxlLWNoaXBcIlxuICAgICAgICBbdmFsdWVdPVwicmVzb2x2ZUNoaXBWYWx1ZShjaGlwTW9kZWwudmFsdWUpXCJcbiAgICAgICAgW2NvbG9yXT1cImNoaXBNb2RlbC5jb2xvclNwZWM/LnRoZW1lQ29sb3JcIlxuICAgICAgICBbbGV2ZWxDb2xvcl09XCJjaGlwTW9kZWwuY29sb3JTcGVjPy5sZXZlbENvbG9yXCJcbiAgICAgICAgW3N0YXRlQ29sb3JdPVwiY2hpcE1vZGVsLmNvbG9yU3BlYz8uc3RhdGVDb2xvclwiXG4gICAgICAgIFtyZW1vdmFibGVdPVwiY2hpcE1vZGVsLnJlbW92YWJsZVwiXG4gICAgICAgIChrZXlkb3duKT1cIm9uQ2hpcEtleURvd24oJGV2ZW50LCBjaGlwTW9kZWwudmFsdWUpXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uQ3VycmVudENsaWNrZWQoY2hpcE1vZGVsLnZhbHVlKVwiXG4gICAgICAgIGNka0RyYWdcbiAgICAgICAgW2Nka0RyYWdEYXRhXT1cImNoaXBNb2RlbC52YWx1ZVwiXG4gICAgICAgIFtjZGtEcmFnRGlzYWJsZWRdPVwiIWFsbG93U29ydGluZ1wiXG4gICAgICA+XG4gICAgICAgIEBpZiAodGVtcGxhdGVzKCk/LmF2YXRhciAmJiAhY2hpcE1vZGVsLmF2YXRhclNwZWM/LmhpZGUpIHtcbiAgICAgICAgICA8bWF0LWNoaXAtYXZhdGFyIFtjbGFzcy5jaGlwLWF2YXRhci14bF09XCJjaGlwTW9kZWwuYXZhdGFyU3BlYz8ubGFyZ2VcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0ZW1wbGF0ZXMoKS5hdmF0YXI7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBjaGlwTW9kZWwgfVwiPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9tYXQtY2hpcC1hdmF0YXI+XG4gICAgICAgIH1cblxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgIHRlbXBsYXRlcygpPy5jaGlwIHx8IHNpbXBsZUNoaXBUZW1wbGF0ZTtcbiAgICAgICAgICAgIGNvbnRleHQ6IHsgJGltcGxpY2l0OiBjaGlwTW9kZWwgfVxuICAgICAgICAgIFwiXG4gICAgICAgID5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgQGlmIChjaGlwTW9kZWwudHJhaWxpbmdTcGVjPy5pY29uOyBhcyB0cmFpbGluZ0ljb24pIHtcbiAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgIG1hdENoaXBUcmFpbGluZ0ljb25cbiAgICAgICAgICAgIGNsYXNzPVwiZWxkZXItdHJhaWxpbmctaWNvblwiXG4gICAgICAgICAgICBbZm9udFNldF09XCJjaGlwTW9kZWwudHJhaWxpbmdTcGVjPy5pY29uRm9udFNldFwiXG4gICAgICAgICAgICA+e3sgdHJhaWxpbmdJY29uIH19PC9tYXQtaWNvblxuICAgICAgICAgID5cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoY2hpcE1vZGVsLnJlbW92YWJsZSkge1xuICAgICAgICAgIDxtYXQtaWNvbiBtYXRDaGlwUmVtb3ZlIChjbGljayk9XCJvbkNsaWNrUmVtb3ZlQ2hpcCgkZXZlbnQsIGNoaXBNb2RlbC52YWx1ZSlcIj5cbiAgICAgICAgICAgIGNhbmNlbFxuICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgIH1cbiAgICAgIDwvbWF0LWNoaXAtcm93PlxuICAgIH1cblxuICAgIDxkaXYgY2xhc3M9XCJsYXlvdXQtcm93IHBsYWNlLXN0YXJ0LWNlbnRlciBlbGRlci1jaGlwLWlucHV0XCI+XG4gICAgICA8IS0tIFttYXRDaGlwSW5wdXRGb3JdPVwiY2hpcHNcIiAtLT5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0ZW1wbGF0ZXMoKT8uaW5wdXQgfHwgc2VsZWN0SW5wdXRcIj4gPC9uZy1jb250YWluZXI+XG5cbiAgICAgIEBpZiAoc2VsZWN0aW9uUG9wdXApIHtcbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGNsYXNzPVwiZWxkZXItY29udHJvbC1pY29uLWJ1dHRvbiBlbGRlci1icm93c2UtaWNvblwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImlzTG9ja2VkXCJcbiAgICAgICAgICAoY2xpY2spPVwib3BlblNlbGVjdGlvblBvcHVwKCRldmVudClcIlxuICAgICAgICAgIGFyaWEtbGFiZWw9XCJTZWFyY2hcIlxuICAgICAgICAgIGVsZGVyU3RvcEV2ZW50UHJvcGFnYXRpb25cbiAgICAgICAgICB0YWJJbmRleD1cIi0xXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImVsZGVyLW1kYy1jb250cm9sLWljb25cIj5zZWFyY2g8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgPC9tYXQtY2hpcC1zZXQ+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNzZWxlY3RJbnB1dD5cbiAgPCEtLSBtYXQtbWRjLWNoaXAtaW5wdXQgLS0+XG4gIDxlbGRlci1zZWxlY3RcbiAgICBhdXRvY29tcGxldGVcbiAgICBlbGRlckNsZWFyU2VsZWN0XG4gICAgY2xhc3M9XCJlbGRlci1jaGlwLWlucHV0LXNlbGVjdCBmbGV4XCJcbiAgICBbZGF0YV09XCJkYXRhQ29udGV4dFMoKVwiXG4gICAgW2Rpc2FibGVkXT1cIiEhZGlzYWJsZWRcIlxuICAgIFtyZXF1aXJlZF09XCIhIXJlcXVpcmVkXCJcbiAgICBbcmVhZG9ubHldPVwiISFyZWFkb25seVwiXG4gICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyUygpXCJcbiAgICAoZW50aXR5VXBkYXRlZCk9XCJhcHBlbmRFbnRpdHkoJGV2ZW50KVwiXG4gICAgW2Rpc3BsYXlQcm9wZXJ0eVJlc29sdmVyXT1cImRpc3BsYXlQcm9wZXJ0eVJlc29sdmVyUygpXCJcbiAgICBbdmFsdWVUZW1wbGF0ZV09XCJ2YWx1ZVRlbXBsYXRlXCJcbiAgICBbcXVlcnlGaWx0ZXJdPVwicXVlcnlGaWx0ZXJcIlxuICAgIFtmaWx0ZXJzXT1cImZpbHRlcnNcIlxuICAgIFtzb3J0c109XCJzb3J0c1wiXG4gICAgW2lzT3B0aW9uRGlzYWJsZWRGbl09XCJpc09wdGlvbkRpc2FibGVkSW50ZXJuYWxGblwiXG4gICAgW2lzT3B0aW9uSGlkZGVuRm5dPVwiaXNPcHRpb25IaWRkZW5JbnRlcm5hbEZuXCJcbiAgPjwvZWxkZXItc2VsZWN0PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNzaW1wbGVDaGlwVGVtcGxhdGUgbGV0LWNoaXBNb2RlbD5cbiAgPHNwYW4gY2xhc3M9XCJlbGRlci1jaGlwLXRleHRcIj57eyBjaGlwTW9kZWwuZGlzcGxheVRleHQgfCBlbGRlclRydW5jYXRlOiAyMCB9fTwvc3Bhbj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -62,10 +62,10 @@ export class ElderMultiSelectFormField extends ElderFromFieldMultiEntityBase {
|
|
|
62
62
|
control.customInputTemplate = dir?.templateRef;
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
66
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.
|
|
65
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElderMultiSelectFormField, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive }); }
|
|
66
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: ElderMultiSelectFormField, viewQueries: [{ propertyName: "selectValueTemplate", first: true, predicate: ElderSelectValueDirective, descendants: true }, { propertyName: "selectionModelPopupDirective", first: true, predicate: SelectionModelPopupDirective, descendants: true }, { propertyName: "selectChipDirective", first: true, predicate: ElderSelectChipDirective, descendants: true }, { propertyName: "selectChipAvatarDirective", first: true, predicate: ElderSelectChipAvatarDirective, descendants: true }, { propertyName: "selectCustomInputDirective", first: true, predicate: ElderSelectCustomInputDirective, descendants: true }], usesInheritance: true, ngImport: i0 }); }
|
|
67
67
|
}
|
|
68
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
68
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElderMultiSelectFormField, decorators: [{
|
|
69
69
|
type: Directive
|
|
70
70
|
}], ctorParameters: () => [{ type: undefined }], propDecorators: { selectValueTemplate: [{
|
|
71
71
|
type: ViewChild,
|
|
@@ -83,4 +83,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
|
|
|
83
83
|
type: ViewChild,
|
|
84
84
|
args: [ElderSelectCustomInputDirective]
|
|
85
85
|
}] } });
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItbXVsdGktc2VsZWN0LWZvcm0tZmllbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC9tdWx0aS9lbGRlci1tdWx0aS1zZWxlY3QtZm9ybS1maWVsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDbkUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUNBQWlDLENBQUE7QUFHM0UsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sMERBQTBELENBQUE7QUFDeEcsT0FBTyxFQUNMLDhCQUE4QixFQUM5Qix3QkFBd0IsRUFDeEIsK0JBQStCLEdBQ2hDLE1BQU0sZ0NBQWdDLENBQUE7QUFDdkMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQ3RELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLCtEQUErRCxDQUFBO0FBQzlHLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDBDQUEwQyxDQUFBO0FBQ3ZGLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLDZFQUE2RSxDQUFBOztBQUdsSSxNQUFNLE9BQWdCLHlCQUNwQixTQUFRLDZCQUtQO0lBZUQ7Ozs7Z0ZBSTRFO0lBRTVFLFlBQ0UsWUFBNkU7UUFFN0UsS0FBSyxFQUFFLENBQUE7UUFDUCxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxDQUFBO0lBQ25DLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFckUsZUFBZTtRQUNwQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLENBQUE7UUFFakQsSUFBSSxPQUFPLFlBQVksZUFBZSxFQUFFLENBQUM7WUFDdkMsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztnQkFDN0IsT0FBTyxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsV0FBVyxDQUFBO1lBQzlELENBQUM7WUFDRCxJQUFJLElBQUksQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO2dCQUN0QyxPQUFPLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyw0QkFBNEIsQ0FBQTtZQUM1RCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRDs7OztnRkFJNEU7SUFFNUUsSUFDVyxtQkFBbUIsQ0FBQyxHQUE2QjtRQUMxRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLENBQUE7UUFDakQsSUFBSSxPQUFPLFlBQVksOEJBQThCLEVBQUUsQ0FBQztZQUN0RCxPQUFPLENBQUMsWUFBWSxHQUFHLEdBQUcsRUFBRSxXQUFXLENBQUE7UUFDekMsQ0FBQztRQUNELElBQUksT0FBTyxZQUFZLG9DQUFvQyxFQUFFLENBQUM7WUFDNUQsT0FBTyxDQUFDLFlBQVksR0FBRyxHQUFHLEVBQUUsV0FBVyxDQUFBO1FBQ3pDLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFDVyx5QkFBeUIsQ0FBQyxHQUFtQztRQUN0RSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLENBQUE7UUFDakQsSUFBSSxPQUFPLFlBQVksOEJBQThCLEVBQUUsQ0FBQztZQUN0RCxPQUFPLENBQUMsa0JBQWtCLEdBQUcsR0FBRyxFQUFFLFdBQVcsQ0FBQTtRQUMvQyxDQUFDO1FBQ0QsSUFBSSxPQUFPLFlBQVksb0NBQW9DLEVBQUUsQ0FBQztZQUM1RCxPQUFPLENBQUMsa0JBQWtCLEdBQUcsR0FBRyxFQUFFLFdBQVcsQ0FBQTtRQUMvQyxDQUFDO0lBQ0gsQ0FBQztJQUVELElBQ1csMEJBQTBCLENBQUMsR0FBbUM7UUFDdkUsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsRUFBRSxDQUFBO1FBQ2pELElBQUksT0FBTyxZQUFZLDhCQUE4QixFQUFFLENBQUM7WUFDdEQsT0FBTyxDQUFDLG1CQUFtQixHQUFHLEdBQUcsRUFBRSxXQUFXLENBQUE7UUFDaEQsQ0FBQztJQUNILENBQUM7K0dBdkZtQix5QkFBeUI7bUdBQXpCLHlCQUF5QiwrRUFlbEMseUJBQXlCLCtGQUd6Qiw0QkFBNEIsc0ZBeUM1Qix3QkFBd0IsNEZBV3hCLDhCQUE4Qiw2RkFXOUIsK0JBQStCOzs0RkFqRnRCLHlCQUF5QjtrQkFEOUMsU0FBUzsyRUFpQkQsbUJBQW1CO3NCQUR6QixTQUFTO3VCQUFDLHlCQUF5QjtnQkFJN0IsNEJBQTRCO3NCQURsQyxTQUFTO3VCQUFDLDRCQUE0QjtnQkEwQzVCLG1CQUFtQjtzQkFEN0IsU0FBUzt1QkFBQyx3QkFBd0I7Z0JBWXhCLHlCQUF5QjtzQkFEbkMsU0FBUzt1QkFBQyw4QkFBOEI7Z0JBWTlCLDBCQUEwQjtzQkFEcEMsU0FBUzt1QkFBQywrQkFBK0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBEaXJlY3RpdmUsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBFbGRlclNlbGVjdFZhbHVlRGlyZWN0aXZlIH0gZnJvbSAnLi4vZWxkZXItc2VsZWN0LXZhbHVlLmRpcmVjdGl2ZSdcbmltcG9ydCB7IEVsZGVyQXBwbHlDb250cm9sRm4gfSBmcm9tICcuLi8uLi8uLi9jb21tb24vZm9ybXMvZWxkZXItZnJvbS1maWVsZC1iYXNlJ1xuaW1wb3J0IHsgRWxkZXJNdWx0aVNlbGVjdEJhc2UgfSBmcm9tICcuL2VsZGVyLW11bHRpLXNlbGVjdC1iYXNlJ1xuaW1wb3J0IHsgRWxkZXJGcm9tRmllbGRNdWx0aUVudGl0eUJhc2UgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vZm9ybXMvZWxkZXItZnJvbS1maWVsZC1tdWx0aS1lbnRpdHktYmFzZSdcbmltcG9ydCB7XG4gIEVsZGVyU2VsZWN0Q2hpcEF2YXRhckRpcmVjdGl2ZSxcbiAgRWxkZXJTZWxlY3RDaGlwRGlyZWN0aXZlLFxuICBFbGRlclNlbGVjdEN1c3RvbUlucHV0RGlyZWN0aXZlLFxufSBmcm9tICcuLi9lbGRlci1zZWxlY3QtY2hpcC5kaXJlY3RpdmUnXG5pbXBvcnQgeyBFbGRlclNlbGVjdEJhc2UgfSBmcm9tICcuLi9lbGRlci1zZWxlY3QtYmFzZSdcbmltcG9ydCB7IEVsZGVyTXVsdGlTZWxlY3RDaGlwc0NvbXBvbmVudCB9IGZyb20gJy4vZWxkZXItbXVsdGktc2VsZWN0LWNoaXBzL2VsZGVyLW11bHRpLXNlbGVjdC1jaGlwcy5jb21wb25lbnQnXG5pbXBvcnQgeyBTZWxlY3Rpb25Nb2RlbFBvcHVwRGlyZWN0aXZlIH0gZnJvbSAnLi4vcG9wdXAvc2VsZWN0aW9uLW1vZGVsLXBvcHVwLmRpcmVjdGl2ZSdcbmltcG9ydCB7IEVsZGVyTXVsdGlTZWxlY3RDaGlwT3B0aW9uc0NvbXBvbmVudCB9IGZyb20gJy4vZWxkZXItbXVsdGktc2VsZWN0LWNoaXAtb3B0aW9ucy9lbGRlci1tdWx0aS1zZWxlY3QtY2hpcC1vcHRpb25zLmNvbXBvbmVudCdcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRWxkZXJNdWx0aVNlbGVjdEZvcm1GaWVsZDxURW50aXR5LCBUSWQsIFRWYWx1ZSA9IFRFbnRpdHkgfCBUSWQ+XG4gIGV4dGVuZHMgRWxkZXJGcm9tRmllbGRNdWx0aUVudGl0eUJhc2U8XG4gICAgVEVudGl0eSxcbiAgICBUSWQsXG4gICAgVFZhbHVlLFxuICAgIEVsZGVyTXVsdGlTZWxlY3RCYXNlPFRJZCwgVEVudGl0eSwgVFZhbHVlPlxuICA+XG4gIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdFxue1xuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBAVmlld0NoaWxkKEVsZGVyU2VsZWN0VmFsdWVEaXJlY3RpdmUpXG4gIHB1YmxpYyBzZWxlY3RWYWx1ZVRlbXBsYXRlOiBFbGRlclNlbGVjdFZhbHVlRGlyZWN0aXZlXG5cbiAgQFZpZXdDaGlsZChTZWxlY3Rpb25Nb2RlbFBvcHVwRGlyZWN0aXZlKVxuICBwdWJsaWMgc2VsZWN0aW9uTW9kZWxQb3B1cERpcmVjdGl2ZTogU2VsZWN0aW9uTW9kZWxQb3B1cERpcmVjdGl2ZVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihcbiAgICBpbml0U2VsZWN0Rm46IEVsZGVyQXBwbHlDb250cm9sRm48RWxkZXJNdWx0aVNlbGVjdEJhc2U8VElkLCBURW50aXR5LCBUVmFsdWU+PlxuICApIHtcbiAgICBzdXBlcigpXG4gICAgdGhpcy5hcHBseVRvQ29udHJvbChpbml0U2VsZWN0Rm4pXG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogTGlmZSBDeWNsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmZvcm1GaWVsZENvbnRyb2wkLmdldFZhbHVlKClcblxuICAgIGlmIChjb250cm9sIGluc3RhbmNlb2YgRWxkZXJTZWxlY3RCYXNlKSB7XG4gICAgICBpZiAodGhpcy5zZWxlY3RWYWx1ZVRlbXBsYXRlKSB7XG4gICAgICAgIGNvbnRyb2wudmFsdWVUZW1wbGF0ZSA9IHRoaXMuc2VsZWN0VmFsdWVUZW1wbGF0ZS50ZW1wbGF0ZVJlZlxuICAgICAgfVxuICAgICAgaWYgKHRoaXMuc2VsZWN0aW9uTW9kZWxQb3B1cERpcmVjdGl2ZSkge1xuICAgICAgICBjb250cm9sLnNlbGVjdGlvblBvcHVwID0gdGhpcy5zZWxlY3Rpb25Nb2RlbFBvcHVwRGlyZWN0aXZlXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgQFZpZXdDaGlsZChFbGRlclNlbGVjdENoaXBEaXJlY3RpdmUpXG4gIHB1YmxpYyBzZXQgc2VsZWN0Q2hpcERpcmVjdGl2ZShkaXI6IEVsZGVyU2VsZWN0Q2hpcERpcmVjdGl2ZSkge1xuICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmZvcm1GaWVsZENvbnRyb2wkLmdldFZhbHVlKClcbiAgICBpZiAoY29udHJvbCBpbnN0YW5jZW9mIEVsZGVyTXVsdGlTZWxlY3RDaGlwc0NvbXBvbmVudCkge1xuICAgICAgY29udHJvbC5jaGlwVGVtcGxhdGUgPSBkaXI/LnRlbXBsYXRlUmVmXG4gICAgfVxuICAgIGlmIChjb250cm9sIGluc3RhbmNlb2YgRWxkZXJNdWx0aVNlbGVjdENoaXBPcHRpb25zQ29tcG9uZW50KSB7XG4gICAgICBjb250cm9sLmNoaXBUZW1wbGF0ZSA9IGRpcj8udGVtcGxhdGVSZWZcbiAgICB9XG4gIH1cblxuICBAVmlld0NoaWxkKEVsZGVyU2VsZWN0Q2hpcEF2YXRhckRpcmVjdGl2ZSlcbiAgcHVibGljIHNldCBzZWxlY3RDaGlwQXZhdGFyRGlyZWN0aXZlKGRpcjogRWxkZXJTZWxlY3RDaGlwQXZhdGFyRGlyZWN0aXZlKSB7XG4gICAgY29uc3QgY29udHJvbCA9IHRoaXMuZm9ybUZpZWxkQ29udHJvbCQuZ2V0VmFsdWUoKVxuICAgIGlmIChjb250cm9sIGluc3RhbmNlb2YgRWxkZXJNdWx0aVNlbGVjdENoaXBzQ29tcG9uZW50KSB7XG4gICAgICBjb250cm9sLmNoaXBBdmF0YXJUZW1wbGF0ZSA9IGRpcj8udGVtcGxhdGVSZWZcbiAgICB9XG4gICAgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBFbGRlck11bHRpU2VsZWN0Q2hpcE9wdGlvbnNDb21wb25lbnQpIHtcbiAgICAgIGNvbnRyb2wuY2hpcEF2YXRhclRlbXBsYXRlID0gZGlyPy50ZW1wbGF0ZVJlZlxuICAgIH1cbiAgfVxuXG4gIEBWaWV3Q2hpbGQoRWxkZXJTZWxlY3RDdXN0b21JbnB1dERpcmVjdGl2ZSlcbiAgcHVibGljIHNldCBzZWxlY3RDdXN0b21JbnB1dERpcmVjdGl2ZShkaXI6IEVsZGVyU2VsZWN0Q2hpcEF2YXRhckRpcmVjdGl2ZSkge1xuICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmZvcm1GaWVsZENvbnRyb2wkLmdldFZhbHVlKClcbiAgICBpZiAoY29udHJvbCBpbnN0YW5jZW9mIEVsZGVyTXVsdGlTZWxlY3RDaGlwc0NvbXBvbmVudCkge1xuICAgICAgY29udHJvbC5jdXN0b21JbnB1dFRlbXBsYXRlID0gZGlyPy50ZW1wbGF0ZVJlZlxuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -19,10 +19,10 @@ export class ElderMultiSelectAllInitialDirective {
|
|
|
19
19
|
.pipe(takeUntilDestroyed(destroyRef), filter(([data, templateEntities]) => data.length > 0), first())
|
|
20
20
|
.subscribe(([entities, templateEntities]) => this.select.appendEntities([...entities, ...templateEntities]));
|
|
21
21
|
}
|
|
22
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
23
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.
|
|
22
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElderMultiSelectAllInitialDirective, deps: [{ token: i1.ElderMultiSelectChipOptionsComponent, optional: true }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
23
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: ElderMultiSelectAllInitialDirective, isStandalone: true, selector: "[elderMultiSelectAllInitial]", ngImport: i0 }); }
|
|
24
24
|
}
|
|
25
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
25
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElderMultiSelectAllInitialDirective, decorators: [{
|
|
26
26
|
type: Directive,
|
|
27
27
|
args: [{
|
|
28
28
|
selector: '[elderMultiSelectAllInitial]',
|
|
@@ -31,4 +31,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
|
|
|
31
31
|
}], ctorParameters: () => [{ type: i1.ElderMultiSelectChipOptionsComponent, decorators: [{
|
|
32
32
|
type: Optional
|
|
33
33
|
}] }, { type: i0.DestroyRef }] });
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItbXV0bGktc2VsZWN0LWFsbC1kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC9tdWx0aS9lbGRlci1tdXRsaS1zZWxlY3QtYWxsLWRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUUvRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUMvRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQ3BDLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTs7O0FBTTlELE1BQU0sT0FBTyxtQ0FBbUM7SUFDOUM7Ozs7Z0ZBSTRFO0lBRTVFLFlBQ3FCLE1BQTBELEVBQ3RFLFVBQXNCO1FBRFYsV0FBTSxHQUFOLE1BQU0sQ0FBb0Q7UUFDdEUsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUU3QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQ3pDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUNwQixTQUFTLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FDM0IsQ0FBQTtRQUVELE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQ3hELEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQ3hELENBQUE7UUFFRCxhQUFhLENBQUMsQ0FBQyxLQUFLLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQzthQUNyQyxJQUFJLENBQ0gsa0JBQWtCLENBQUMsVUFBVSxDQUFDLEVBQzlCLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLGdCQUFnQixDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEVBQ3JELEtBQUssRUFBRSxDQUNSO2FBQ0EsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsZ0JBQWdCLENBQUMsRUFBRSxFQUFFLENBQzFDLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUMsR0FBRyxRQUFRLEVBQUUsR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDLENBQy9ELENBQUE7SUFDTCxDQUFDOytHQTdCVSxtQ0FBbUM7bUdBQW5DLG1DQUFtQzs7NEZBQW5DLG1DQUFtQztrQkFKL0MsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsOEJBQThCO29CQUN4QyxVQUFVLEVBQUUsSUFBSTtpQkFDakI7OzBCQVNJLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZXN0cm95UmVmLCBEaXJlY3RpdmUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IEVsZGVyTXVsdGlTZWxlY3RDaGlwT3B0aW9uc0NvbXBvbmVudCB9IGZyb20gJy4vZWxkZXItbXVsdGktc2VsZWN0LWNoaXAtb3B0aW9ucy9lbGRlci1tdWx0aS1zZWxlY3QtY2hpcC1vcHRpb25zLmNvbXBvbmVudCdcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJ1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBmaWx0ZXIsIGZpcnN0LCBtYXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZWxkZXJNdWx0aVNlbGVjdEFsbEluaXRpYWxdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJNdWx0aVNlbGVjdEFsbEluaXRpYWxEaXJlY3RpdmU8VElkLCBURW50aXR5PiB7XG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIHB1YmxpYyBzZWxlY3Q6IEVsZGVyTXVsdGlTZWxlY3RDaGlwT3B0aW9uc0NvbXBvbmVudDxUSWQsIFRFbnRpdHk+LFxuICAgIHB1YmxpYyBkZXN0cm95UmVmOiBEZXN0cm95UmVmXG4gICkge1xuICAgIGNvbnN0IGRhdGEkID0gdGhpcy5zZWxlY3QuZGF0YUNvbnRleHQkLnBpcGUoXG4gICAgICBmaWx0ZXIoKGRjKSA9PiAhIWRjKSxcbiAgICAgIHN3aXRjaE1hcCgoZGMpID0+IGRjLmRhdGEpXG4gICAgKVxuXG4gICAgY29uc3QgdGVtcGxhdGVPcHRpb25zJCA9IHRoaXMuc2VsZWN0LnRlbXBsYXRlT3B0aW9ucyQucGlwZShcbiAgICAgIG1hcCgob3B0aW9ucykgPT4gb3B0aW9ucy5tYXAoKG9wdGlvbikgPT4gb3B0aW9uLnZhbHVlKSlcbiAgICApXG5cbiAgICBjb21iaW5lTGF0ZXN0KFtkYXRhJCwgdGVtcGxhdGVPcHRpb25zJF0pXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKGRlc3Ryb3lSZWYpLFxuICAgICAgICBmaWx0ZXIoKFtkYXRhLCB0ZW1wbGF0ZUVudGl0aWVzXSkgPT4gZGF0YS5sZW5ndGggPiAwKSxcbiAgICAgICAgZmlyc3QoKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoW2VudGl0aWVzLCB0ZW1wbGF0ZUVudGl0aWVzXSkgPT5cbiAgICAgICAgdGhpcy5zZWxlY3QuYXBwZW5kRW50aXRpZXMoWy4uLmVudGl0aWVzLCAuLi50ZW1wbGF0ZUVudGl0aWVzXSlcbiAgICAgIClcbiAgfVxufVxuIl19
|
|
@@ -121,10 +121,10 @@ export class ElderSearchIncludeExcludeDirective {
|
|
|
121
121
|
extractName() {
|
|
122
122
|
return this.ngModel?.name;
|
|
123
123
|
}
|
|
124
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
125
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.
|
|
124
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElderSearchIncludeExcludeDirective, deps: [{ token: i1.ElderSearchContextDirective }, { token: i0.DestroyRef }, { token: i2.IncludeExcludeSelectionModel }, { token: i3.NgModel, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
125
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: ElderSearchIncludeExcludeDirective, isStandalone: true, selector: "[elderSearchIncludeExclude]", inputs: { includeSuffix: "includeSuffix", excludeSuffix: "excludeSuffix", queryKey: "queryKey" }, exportAs: ["elderSearchInput"], ngImport: i0 }); }
|
|
126
126
|
}
|
|
127
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
127
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElderSearchIncludeExcludeDirective, decorators: [{
|
|
128
128
|
type: Directive,
|
|
129
129
|
args: [{
|
|
130
130
|
selector: '[elderSearchIncludeExclude]',
|
|
@@ -143,4 +143,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
|
|
|
143
143
|
}], queryKey: [{
|
|
144
144
|
type: Input
|
|
145
145
|
}] } });
|
|
146
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItc2VhcmNoLWluY2x1ZGUtZXhjbHVkZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC9tdWx0aS9lbGRlci1zZWFyY2gtaW5jbHVkZS1leGNsdWRlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsU0FBUyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQVUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRXBGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFjLEVBQUUsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQ2xGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9EQUFvRCxDQUFBO0FBQ3JGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUlwRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUUvRCxPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ3JFLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLGdEQUFnRCxDQUFBOzs7OztBQUVqRzs7R0FFRztBQU1ILE1BQU0sT0FBTyxrQ0FBa0M7SUF5QjdDOzs7O2dGQUk0RTtJQUU1RSxZQUNVLGFBQTBDLEVBQzFDLFVBQXNCLEVBQ2IsY0FBNEMsRUFDakMsT0FBZ0I7UUFIcEMsa0JBQWEsR0FBYixhQUFhLENBQTZCO1FBQzFDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDYixtQkFBYyxHQUFkLGNBQWMsQ0FBOEI7UUFDakMsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQWxDOUM7Ozs7b0ZBSTRFO1FBRTNELFFBQUcs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QzNCLENBQUM7OEdBcEtVLGtDQUFrQztrR0FBbEMsa0NBQWtDOzsyRkFBbEMsa0NBQWtDO2tCQUw5QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSw2QkFBNkI7b0JBQ3ZDLFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs7MEJBb0NJLFFBQVE7OzBCQUFJLElBQUk7eUNBckJaLGFBQWE7c0JBRG5CLEtBQUs7Z0JBSUMsYUFBYTtzQkFEbkIsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBd0RkLFFBQVE7c0JBRGxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZXN0cm95UmVmLCBEaXJlY3RpdmUsIEhvc3QsIElucHV0LCBPbkluaXQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IFNlYXJjaElucHV0IH0gZnJvbSAnLi4vLi4vZm9ybXMvc2VhcmNoL2RvbWFpbi9pbnB1dC9zZWFyY2gtaW5wdXQnXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbmNhdCwgT2JzZXJ2YWJsZSwgb2YsIHNraXBVbnRpbCwgU3ViamVjdCB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBTZWFyY2hJbnB1dFN0YXRlIH0gZnJvbSAnLi4vLi4vZm9ybXMvc2VhcmNoL2RvbWFpbi9pbnB1dC9zZWFyY2gtaW5wdXQtc3RhdGUnXG5pbXBvcnQgeyBMb2dnZXJGYWN0b3J5IH0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInXG5pbXBvcnQgeyBFbGRlclNlYXJjaENvbnRleHREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9mb3Jtcy9zZWFyY2gvZWxkZXItc2VhcmNoLWNvbnRleHQuZGlyZWN0aXZlJ1xuaW1wb3J0IHsgTmdNb2RlbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJ1xuaW1wb3J0IHsgRmlsdGVyIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2RhdGEvZmlsdGVycy9maWx0ZXInXG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCdcbmltcG9ydCB7IEluY2x1ZGVFeGNsdWRlU2VsZWN0aW9uTW9kZWwgfSBmcm9tICcuLi9maWx0ZXIvaW5jbHVkZS1leGNsdWRlLXNlbGVjdGlvbi1tb2RlbCdcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGVsYXksIGZpcnN0LCBtYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuaW1wb3J0IHsgSW5jbHVkZUV4Y2x1ZGVNb2RlbEZpbHRlckFkYXB0ZXIgfSBmcm9tICcuLi9maWx0ZXIvaW5jbHVkZS1leGNsdWRlLW1vZGVsLWZpbHRlci1hZGFwdGVyJ1xuXG4vKipcbiAqIEJpbmRzIGEgSW5jbHVkZUV4Y2x1ZGVNb2RlbCB0byBhIFNlYXJjaENvbnRleHRzIEZpbHRlci5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2VsZGVyU2VhcmNoSW5jbHVkZUV4Y2x1ZGVdJyxcbiAgZXhwb3J0QXM6ICdlbGRlclNlYXJjaElucHV0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJTZWFyY2hJbmNsdWRlRXhjbHVkZURpcmVjdGl2ZSBpbXBsZW1lbnRzIFNlYXJjaElucHV0LCBPbkluaXQge1xuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IGxvZyA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSlcblxuICBwcml2YXRlIHJlYWRvbmx5IF9xdWVyeUtleSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4obnVsbClcbiAgcHJpdmF0ZSBfZXh0cmFjdGVkTmFtZTogc3RyaW5nIHwgbnVsbFxuICBwcml2YXRlIF91c2VyUXVlcnlLZXk6IHN0cmluZyB8IG51bGxcblxuICBASW5wdXQoKVxuICBwdWJsaWMgaW5jbHVkZVN1ZmZpeCA9ICcnXG5cbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSlcbiAgcHVibGljIGV4Y2x1ZGVTdWZmaXg6IHN0cmluZ1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3N0YXRlJDogT2JzZXJ2YWJsZTxTZWFyY2hJbnB1dFN0YXRlPlxuXG4gIHByaXZhdGUgaW5jbHVkZUV4Y2x1ZGVBZGFwdGVyOiBJbmNsdWRlRXhjbHVkZU1vZGVsRmlsdGVyQWRhcHRlclxuXG4gIHB1YmxpYyByZWFkb25seSBpbml0aWFsRG9uZSQgPSBuZXcgU3ViamVjdDx2b2lkPigpXG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzZWFyY2hDb250ZXh0OiBFbGRlclNlYXJjaENvbnRleHREaXJlY3RpdmUsXG4gICAgcHJpdmF0ZSBkZXN0cm95UmVmOiBEZXN0cm95UmVmLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2VsZWN0aW9uTW9kZWw6IEluY2x1ZGVFeGNsdWRlU2VsZWN0aW9uTW9kZWwsXG4gICAgQE9wdGlvbmFsKCkgQEhvc3QoKSBwcml2YXRlIG5nTW9kZWw6IE5nTW9kZWxcbiAgKSB7XG4gICAgdGhpcy5fc3RhdGUkID0gdGhpcy5idWlsZElucHV0U3RhdGVPYnNlcnZhYmxlKClcbiAgICAgIC5waXBlXG4gICAgICAvLyB0YXAoc3RhdGUgPT4gdGhpcy5sb2cuZXJyb3IoJ0VNSVQgU0VBUkNIIElOUFVUIFNUQVRFIFsnICsgc3RhdGUucXVlcnlLZXkgKyAnXTogJyArIHN0YXRlLnF1ZXJ5VmFsdWUgKyAoc3RhdGUucHJpc3RpbmUgPyAnKHByaXN0aW5lKScgOiAnJyksIHN0YXRlKSlcbiAgICAgICgpXG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogTGlmZSBDeWNsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5fZXh0cmFjdGVkTmFtZSA9IHRoaXMuZXh0cmFjdE5hbWUoKVxuICAgIHRoaXMudXBkYXRlUXVlcnlLZXkoKVxuXG4gICAgdGhpcy5pbmNsdWRlRXhjbHVkZUFkYXB0ZXIgPSBuZXcgSW5jbHVkZUV4Y2x1ZGVNb2RlbEZpbHRlckFkYXB0ZXIoXG4gICAgICB0aGlzLnNlbGVjdGlvbk1vZGVsLFxuICAgICAgdGhpcy5xdWVyeUtleSArIHRoaXMuaW5jbHVkZVN1ZmZpeCxcbiAgICAgIHRoaXMucXVlcnlLZXkgKyB0aGlzLmV4Y2x1ZGVTdWZmaXhcbiAgICApXG5cbiAgICB0aGlzLnNlYXJjaENvbnRleHQucmVnaXN0ZXIodGhpcylcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcm9wZXJ0aWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIC8qKlxuICAgKiAoT3B0aW9uYWwpIFVzdWFsbHkgdGhlIGNvbnRyb2wgbmFtZSBpcyB1c2VkLCB0aGlzIGFsbG93cyBhIGN1c3RvbSBxdWVyeSBrZXlcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgcXVlcnlLZXkodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX3VzZXJRdWVyeUtleSA9IHZhbHVlXG4gICAgdGhpcy51cGRhdGVRdWVyeUtleSgpXG4gIH1cblxuICBwdWJsaWMgZ2V0IHF1ZXJ5S2V5KCkge1xuICAgIHJldHVybiB0aGlzLl9xdWVyeUtleSQuZ2V0VmFsdWUoKVxuICB9XG5cbiAgcHVibGljIGdldCBxdWVyeUtleSQoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5fcXVlcnlLZXkkXG4gIH1cblxuICBwdWJsaWMgZ2V0IHN0YXRlJCgpOiBPYnNlcnZhYmxlPFNlYXJjaElucHV0U3RhdGU+IHtcbiAgICByZXR1cm4gdGhpcy5fc3RhdGUkXG4gIH1cblxuICBwdWJsaWMgZ2V0IHJlYWRvbmx5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm5nTW9kZWw/LmlzRGlzYWJsZWRcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBhcHBseUZpbHRlcnMoZmlsdGVyczogRmlsdGVyW10pIHtcbiAgICB0aGlzLmluY2x1ZGVFeGNsdWRlQWRhcHRlci5hcHBseUZpbHRlcnMoZmlsdGVycylcbiAgfVxuXG4gIHB1YmxpYyByZXNldCgpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGlvbk1vZGVsLnJlcGxhY2VTZWxlY3Rpb24oW10pXG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHVwZGF0ZVF1ZXJ5S2V5KCk6IHZvaWQge1xuICAgIGNvbnN0IG5ld0tleSA9IHRoaXMuX3VzZXJRdWVyeUtleSA/PyB0aGlzLl9leHRyYWN0ZWROYW1lXG4gICAgaWYgKHRoaXMuX3F1ZXJ5S2V5JC5nZXRWYWx1ZSgpICE9PSBuZXdLZXkpIHtcbiAgICAgIHRoaXMuX3F1ZXJ5S2V5JC5uZXh0KG5ld0tleSlcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkSW5wdXRTdGF0ZU9ic2VydmFibGUoKTogT2JzZXJ2YWJsZTxTZWFyY2hJbnB1dFN0YXRlPiB7XG4gICAgY29uc3Qgdmlld1N0YWJpbGl6ZWQkID0gb2YoJ3N0YWJpbGl6ZWQkJykucGlwZShkZWxheSgyMCksIGZpcnN0KCkpXG5cbiAgICBjb25zdCBpbnB1dFN0YXRlQ2hhbmdlcyQgPSB0aGlzLnNlbGVjdGlvbk1vZGVsLnNlbGVjdGlvbiQucGlwZShcbiAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpLFxuICAgICAgbWFwKCh2YWx1ZSkgPT4gdGhpcy5idWlsZElucHV0U3RhdGUodHJ1ZSkpLFxuICAgICAgc2tpcFVudGlsKHZpZXdTdGFiaWxpemVkJCksXG4gICAgICB0YXAoKCkgPT4gdGhpcy5pbml0aWFsRG9uZSQubmV4dCgpKSxcbiAgICAgIGRlYm91bmNlVGltZSgyMClcbiAgICApXG5cbiAgICBjb25zdCBzdGFydERlbGF5ZWQkID0gb2YoJ3N0YXJ0JykucGlwZShcbiAgICAgIGRlbGF5KDE1KSxcbiAgICAgIG1hcCgoc3RhcnQpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYnVpbGRJbnB1dFN0YXRlKGZhbHNlKVxuICAgICAgfSlcbiAgICApXG5cbiAgICByZXR1cm4gY29uY2F0KHN0YXJ0RGVsYXllZCQsIGlucHV0U3RhdGVDaGFuZ2VzJClcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRJbnB1dFN0YXRlKHVzZXJFdmVudDogYm9vbGVhbik6IFNlYXJjaElucHV0U3RhdGUge1xuICAgIGNvbnN0IGZpbHRlcnMgPSB0aGlzLmluY2x1ZGVFeGNsdWRlQWRhcHRlci50b0ZpbHRlcnMoKVxuICAgIHJldHVybiBuZXcgU2VhcmNoSW5wdXRTdGF0ZSh0aGlzLnF1ZXJ5S2V5LCBmaWx0ZXJzLCB0aGlzLmFyZUFsbFByaXN0aW5lKGZpbHRlcnMpLCB1c2VyRXZlbnQpXG4gIH1cblxuICBwcml2YXRlIGFyZUFsbFByaXN0aW5lKGZpbHRlcnM6IEZpbHRlcltdKTogYm9vbGVhbiB7XG4gICAgaWYgKGZpbHRlcnMubGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuIGZpbHRlcnMuZXZlcnkoKGYpID0+IHRoaXMuaXNQcmlzdGluZShmKSlcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGlzUHJpc3RpbmUoZmlsdGVyOiBGaWx0ZXIpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuaXNBdHRyaWJ1dGVWYWx1ZVByZXNlbnQoZmlsdGVyLnZhbHVlKVxuICB9XG5cbiAgcHJpdmF0ZSBpc0F0dHJpYnV0ZVZhbHVlUHJlc2VudCh2YWx1ZTogYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIFNlYXJjaElucHV0U3RhdGUuaXNWYWx1ZURlZmluZWQodmFsdWUpICYmICh2YWx1ZSArICcnKS5sZW5ndGggIT09IDBcbiAgfVxuXG4gIHByaXZhdGUgZXh0cmFjdE5hbWUoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMubmdNb2RlbD8ubmFtZVxuICB9XG59XG4iXX0=
|
|
146
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItc2VhcmNoLWluY2x1ZGUtZXhjbHVkZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC9tdWx0aS9lbGRlci1zZWFyY2gtaW5jbHVkZS1leGNsdWRlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsU0FBUyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQVUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRXBGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFjLEVBQUUsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQ2xGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9EQUFvRCxDQUFBO0FBQ3JGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUlwRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUUvRCxPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ3JFLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLGdEQUFnRCxDQUFBOzs7OztBQUVqRzs7R0FFRztBQU1ILE1BQU0sT0FBTyxrQ0FBa0M7SUF5QjdDOzs7O2dGQUk0RTtJQUU1RSxZQUNVLGFBQTBDLEVBQzFDLFVBQXNCLEVBQ2IsY0FBNEMsRUFDakMsT0FBZ0I7UUFIcEMsa0JBQWEsR0FBYixhQUFhLENBQTZCO1FBQzFDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDYixtQkFBYyxHQUFkLGNBQWMsQ0FBOEI7UUFDakMsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQWxDOUM7Ozs7b0ZBSTRFO1FBRTNELFFBQUcs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QzNCLENBQUM7K0dBcEtVLGtDQUFrQzttR0FBbEMsa0NBQWtDOzs0RkFBbEMsa0NBQWtDO2tCQUw5QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSw2QkFBNkI7b0JBQ3ZDLFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs7MEJBb0NJLFFBQVE7OzBCQUFJLElBQUk7eUNBckJaLGFBQWE7c0JBRG5CLEtBQUs7Z0JBSUMsYUFBYTtzQkFEbkIsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBd0RkLFFBQVE7c0JBRGxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZXN0cm95UmVmLCBEaXJlY3RpdmUsIEhvc3QsIElucHV0LCBPbkluaXQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IFNlYXJjaElucHV0IH0gZnJvbSAnLi4vLi4vZm9ybXMvc2VhcmNoL2RvbWFpbi9pbnB1dC9zZWFyY2gtaW5wdXQnXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbmNhdCwgT2JzZXJ2YWJsZSwgb2YsIHNraXBVbnRpbCwgU3ViamVjdCB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBTZWFyY2hJbnB1dFN0YXRlIH0gZnJvbSAnLi4vLi4vZm9ybXMvc2VhcmNoL2RvbWFpbi9pbnB1dC9zZWFyY2gtaW5wdXQtc3RhdGUnXG5pbXBvcnQgeyBMb2dnZXJGYWN0b3J5IH0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInXG5pbXBvcnQgeyBFbGRlclNlYXJjaENvbnRleHREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9mb3Jtcy9zZWFyY2gvZWxkZXItc2VhcmNoLWNvbnRleHQuZGlyZWN0aXZlJ1xuaW1wb3J0IHsgTmdNb2RlbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJ1xuaW1wb3J0IHsgRmlsdGVyIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2RhdGEvZmlsdGVycy9maWx0ZXInXG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCdcbmltcG9ydCB7IEluY2x1ZGVFeGNsdWRlU2VsZWN0aW9uTW9kZWwgfSBmcm9tICcuLi9maWx0ZXIvaW5jbHVkZS1leGNsdWRlLXNlbGVjdGlvbi1tb2RlbCdcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGVsYXksIGZpcnN0LCBtYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuaW1wb3J0IHsgSW5jbHVkZUV4Y2x1ZGVNb2RlbEZpbHRlckFkYXB0ZXIgfSBmcm9tICcuLi9maWx0ZXIvaW5jbHVkZS1leGNsdWRlLW1vZGVsLWZpbHRlci1hZGFwdGVyJ1xuXG4vKipcbiAqIEJpbmRzIGEgSW5jbHVkZUV4Y2x1ZGVNb2RlbCB0byBhIFNlYXJjaENvbnRleHRzIEZpbHRlci5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2VsZGVyU2VhcmNoSW5jbHVkZUV4Y2x1ZGVdJyxcbiAgZXhwb3J0QXM6ICdlbGRlclNlYXJjaElucHV0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJTZWFyY2hJbmNsdWRlRXhjbHVkZURpcmVjdGl2ZSBpbXBsZW1lbnRzIFNlYXJjaElucHV0LCBPbkluaXQge1xuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IGxvZyA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSlcblxuICBwcml2YXRlIHJlYWRvbmx5IF9xdWVyeUtleSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4obnVsbClcbiAgcHJpdmF0ZSBfZXh0cmFjdGVkTmFtZTogc3RyaW5nIHwgbnVsbFxuICBwcml2YXRlIF91c2VyUXVlcnlLZXk6IHN0cmluZyB8IG51bGxcblxuICBASW5wdXQoKVxuICBwdWJsaWMgaW5jbHVkZVN1ZmZpeCA9ICcnXG5cbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSlcbiAgcHVibGljIGV4Y2x1ZGVTdWZmaXg6IHN0cmluZ1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3N0YXRlJDogT2JzZXJ2YWJsZTxTZWFyY2hJbnB1dFN0YXRlPlxuXG4gIHByaXZhdGUgaW5jbHVkZUV4Y2x1ZGVBZGFwdGVyOiBJbmNsdWRlRXhjbHVkZU1vZGVsRmlsdGVyQWRhcHRlclxuXG4gIHB1YmxpYyByZWFkb25seSBpbml0aWFsRG9uZSQgPSBuZXcgU3ViamVjdDx2b2lkPigpXG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzZWFyY2hDb250ZXh0OiBFbGRlclNlYXJjaENvbnRleHREaXJlY3RpdmUsXG4gICAgcHJpdmF0ZSBkZXN0cm95UmVmOiBEZXN0cm95UmVmLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2VsZWN0aW9uTW9kZWw6IEluY2x1ZGVFeGNsdWRlU2VsZWN0aW9uTW9kZWwsXG4gICAgQE9wdGlvbmFsKCkgQEhvc3QoKSBwcml2YXRlIG5nTW9kZWw6IE5nTW9kZWxcbiAgKSB7XG4gICAgdGhpcy5fc3RhdGUkID0gdGhpcy5idWlsZElucHV0U3RhdGVPYnNlcnZhYmxlKClcbiAgICAgIC5waXBlXG4gICAgICAvLyB0YXAoc3RhdGUgPT4gdGhpcy5sb2cuZXJyb3IoJ0VNSVQgU0VBUkNIIElOUFVUIFNUQVRFIFsnICsgc3RhdGUucXVlcnlLZXkgKyAnXTogJyArIHN0YXRlLnF1ZXJ5VmFsdWUgKyAoc3RhdGUucHJpc3RpbmUgPyAnKHByaXN0aW5lKScgOiAnJyksIHN0YXRlKSlcbiAgICAgICgpXG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogTGlmZSBDeWNsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5fZXh0cmFjdGVkTmFtZSA9IHRoaXMuZXh0cmFjdE5hbWUoKVxuICAgIHRoaXMudXBkYXRlUXVlcnlLZXkoKVxuXG4gICAgdGhpcy5pbmNsdWRlRXhjbHVkZUFkYXB0ZXIgPSBuZXcgSW5jbHVkZUV4Y2x1ZGVNb2RlbEZpbHRlckFkYXB0ZXIoXG4gICAgICB0aGlzLnNlbGVjdGlvbk1vZGVsLFxuICAgICAgdGhpcy5xdWVyeUtleSArIHRoaXMuaW5jbHVkZVN1ZmZpeCxcbiAgICAgIHRoaXMucXVlcnlLZXkgKyB0aGlzLmV4Y2x1ZGVTdWZmaXhcbiAgICApXG5cbiAgICB0aGlzLnNlYXJjaENvbnRleHQucmVnaXN0ZXIodGhpcylcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcm9wZXJ0aWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIC8qKlxuICAgKiAoT3B0aW9uYWwpIFVzdWFsbHkgdGhlIGNvbnRyb2wgbmFtZSBpcyB1c2VkLCB0aGlzIGFsbG93cyBhIGN1c3RvbSBxdWVyeSBrZXlcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgcXVlcnlLZXkodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX3VzZXJRdWVyeUtleSA9IHZhbHVlXG4gICAgdGhpcy51cGRhdGVRdWVyeUtleSgpXG4gIH1cblxuICBwdWJsaWMgZ2V0IHF1ZXJ5S2V5KCkge1xuICAgIHJldHVybiB0aGlzLl9xdWVyeUtleSQuZ2V0VmFsdWUoKVxuICB9XG5cbiAgcHVibGljIGdldCBxdWVyeUtleSQoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5fcXVlcnlLZXkkXG4gIH1cblxuICBwdWJsaWMgZ2V0IHN0YXRlJCgpOiBPYnNlcnZhYmxlPFNlYXJjaElucHV0U3RhdGU+IHtcbiAgICByZXR1cm4gdGhpcy5fc3RhdGUkXG4gIH1cblxuICBwdWJsaWMgZ2V0IHJlYWRvbmx5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm5nTW9kZWw/LmlzRGlzYWJsZWRcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBhcHBseUZpbHRlcnMoZmlsdGVyczogRmlsdGVyW10pIHtcbiAgICB0aGlzLmluY2x1ZGVFeGNsdWRlQWRhcHRlci5hcHBseUZpbHRlcnMoZmlsdGVycylcbiAgfVxuXG4gIHB1YmxpYyByZXNldCgpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGlvbk1vZGVsLnJlcGxhY2VTZWxlY3Rpb24oW10pXG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHVwZGF0ZVF1ZXJ5S2V5KCk6IHZvaWQge1xuICAgIGNvbnN0IG5ld0tleSA9IHRoaXMuX3VzZXJRdWVyeUtleSA/PyB0aGlzLl9leHRyYWN0ZWROYW1lXG4gICAgaWYgKHRoaXMuX3F1ZXJ5S2V5JC5nZXRWYWx1ZSgpICE9PSBuZXdLZXkpIHtcbiAgICAgIHRoaXMuX3F1ZXJ5S2V5JC5uZXh0KG5ld0tleSlcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkSW5wdXRTdGF0ZU9ic2VydmFibGUoKTogT2JzZXJ2YWJsZTxTZWFyY2hJbnB1dFN0YXRlPiB7XG4gICAgY29uc3Qgdmlld1N0YWJpbGl6ZWQkID0gb2YoJ3N0YWJpbGl6ZWQkJykucGlwZShkZWxheSgyMCksIGZpcnN0KCkpXG5cbiAgICBjb25zdCBpbnB1dFN0YXRlQ2hhbmdlcyQgPSB0aGlzLnNlbGVjdGlvbk1vZGVsLnNlbGVjdGlvbiQucGlwZShcbiAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpLFxuICAgICAgbWFwKCh2YWx1ZSkgPT4gdGhpcy5idWlsZElucHV0U3RhdGUodHJ1ZSkpLFxuICAgICAgc2tpcFVudGlsKHZpZXdTdGFiaWxpemVkJCksXG4gICAgICB0YXAoKCkgPT4gdGhpcy5pbml0aWFsRG9uZSQubmV4dCgpKSxcbiAgICAgIGRlYm91bmNlVGltZSgyMClcbiAgICApXG5cbiAgICBjb25zdCBzdGFydERlbGF5ZWQkID0gb2YoJ3N0YXJ0JykucGlwZShcbiAgICAgIGRlbGF5KDE1KSxcbiAgICAgIG1hcCgoc3RhcnQpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYnVpbGRJbnB1dFN0YXRlKGZhbHNlKVxuICAgICAgfSlcbiAgICApXG5cbiAgICByZXR1cm4gY29uY2F0KHN0YXJ0RGVsYXllZCQsIGlucHV0U3RhdGVDaGFuZ2VzJClcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRJbnB1dFN0YXRlKHVzZXJFdmVudDogYm9vbGVhbik6IFNlYXJjaElucHV0U3RhdGUge1xuICAgIGNvbnN0IGZpbHRlcnMgPSB0aGlzLmluY2x1ZGVFeGNsdWRlQWRhcHRlci50b0ZpbHRlcnMoKVxuICAgIHJldHVybiBuZXcgU2VhcmNoSW5wdXRTdGF0ZSh0aGlzLnF1ZXJ5S2V5LCBmaWx0ZXJzLCB0aGlzLmFyZUFsbFByaXN0aW5lKGZpbHRlcnMpLCB1c2VyRXZlbnQpXG4gIH1cblxuICBwcml2YXRlIGFyZUFsbFByaXN0aW5lKGZpbHRlcnM6IEZpbHRlcltdKTogYm9vbGVhbiB7XG4gICAgaWYgKGZpbHRlcnMubGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuIGZpbHRlcnMuZXZlcnkoKGYpID0+IHRoaXMuaXNQcmlzdGluZShmKSlcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGlzUHJpc3RpbmUoZmlsdGVyOiBGaWx0ZXIpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuaXNBdHRyaWJ1dGVWYWx1ZVByZXNlbnQoZmlsdGVyLnZhbHVlKVxuICB9XG5cbiAgcHJpdmF0ZSBpc0F0dHJpYnV0ZVZhbHVlUHJlc2VudCh2YWx1ZTogYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIFNlYXJjaElucHV0U3RhdGUuaXNWYWx1ZURlZmluZWQodmFsdWUpICYmICh2YWx1ZSArICcnKS5sZW5ndGggIT09IDBcbiAgfVxuXG4gIHByaXZhdGUgZXh0cmFjdE5hbWUoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMubmdNb2RlbD8ubmFtZVxuICB9XG59XG4iXX0=
|