@elderbyte/ngx-starter 14.12.0-beta4 → 15.0.0-mdc
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/_index.scss +4 -3
- package/esm2020/lib/common/enums/elder-enum-translation.service.mjs +4 -4
- package/esm2020/lib/common/forms/elder-form-field-control-base.directive.mjs +4 -4
- package/esm2020/lib/common/forms/elder-from-field-base.mjs +4 -4
- package/esm2020/lib/common/forms/elder-from-field-customizable-base.mjs +52 -0
- package/esm2020/lib/common/forms/elder-from-field-entity-base.mjs +4 -4
- package/esm2020/lib/common/forms/elder-from-field-multi-entity-base.mjs +4 -4
- package/esm2020/lib/common/forms/form-field-base.component.mjs +10 -4
- package/esm2020/lib/common/forms/multi-model-base.component.mjs +4 -4
- package/esm2020/lib/common/forms/template-composite-control.mjs +4 -4
- package/esm2020/lib/common/forms/value-accessor-base.mjs +4 -4
- package/esm2020/lib/common/http/http-client-builder.service.mjs +4 -4
- package/esm2020/lib/common/http/http-client-pristine.mjs +4 -4
- package/esm2020/lib/common/http/transfer/data-transfer-factory.mjs +4 -4
- package/esm2020/lib/common/url/elder-router.service.mjs +4 -4
- package/esm2020/lib/common/url/elder-url-fragment-params.service.mjs +4 -4
- package/esm2020/lib/components/access-denied/elder-access-denied.component.mjs +5 -5
- package/esm2020/lib/components/access-denied/elder-access-denied.module.mjs +5 -5
- package/esm2020/lib/components/auditing/audited-entity/elder-audited-entity.component.mjs +6 -6
- package/esm2020/lib/components/auditing/elder-audit.module.mjs +5 -5
- package/esm2020/lib/components/button-group/elder-button-group/elder-button-group.component.mjs +4 -4
- package/esm2020/lib/components/button-group/elder-button-group.module.mjs +5 -5
- package/esm2020/lib/components/card-organizer/card-organizer/elder-card-organizer.component.mjs +4 -4
- package/esm2020/lib/components/card-organizer/card-organizer/elder-stack-card.directive.mjs +5 -5
- package/esm2020/lib/components/card-organizer/card-stack/elder-card-stack.component.mjs +5 -5
- package/esm2020/lib/components/card-organizer/elder-card-organizer.module.mjs +5 -5
- package/esm2020/lib/components/cards/elder-card/elder-card-header/elder-card-header.component.mjs +4 -4
- package/esm2020/lib/components/cards/elder-card/elder-card.component.mjs +40 -51
- package/esm2020/lib/components/cards/elder-card/elder-card.module.mjs +9 -8
- package/esm2020/lib/components/connectivity/elder-connectivity.module.mjs +5 -5
- package/esm2020/lib/components/connectivity/elder-connectivity.service.mjs +4 -4
- package/esm2020/lib/components/connectivity/offline-indicator/elder-offline-indicator.component.mjs +4 -4
- package/esm2020/lib/components/containers/elder-containers.module.mjs +5 -5
- package/esm2020/lib/components/containers/elder-scroll-container/elder-scroll-container.component.mjs +4 -4
- package/esm2020/lib/components/csv/elder-csv-export-btn/elder-csv-export-btn.component.mjs +4 -4
- package/esm2020/lib/components/csv/elder-csv-stream-exporter-builder.service.mjs +4 -4
- package/esm2020/lib/components/csv/elder-csv.module.mjs +5 -5
- package/esm2020/lib/components/currency/elder-currency.module.mjs +5 -5
- package/esm2020/lib/components/currency/elder-currency.pipe.mjs +4 -4
- package/esm2020/lib/components/data-transfer/elder-data-transfer.module.mjs +5 -5
- package/esm2020/lib/components/data-transfer/elder-data-transfer.service.mjs +4 -4
- package/esm2020/lib/components/data-transfer/http-data-transfer/http-data-transfer.component.mjs +5 -5
- package/esm2020/lib/components/data-transfer/http-data-transfer-aggregate/http-data-transfer-aggregate.component.mjs +4 -4
- package/esm2020/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.mjs +4 -4
- package/esm2020/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.mjs +5 -5
- package/esm2020/lib/components/data-view/base/elder-data-view-base.mjs +17 -10
- package/esm2020/lib/components/data-view/common/data-context-state-indicator/data-context-state-indicator.component.mjs +5 -5
- package/esm2020/lib/components/data-view/common/elder-data-common.module.mjs +5 -5
- package/esm2020/lib/components/data-view/common/elder-data-toolbar/elder-data-toolbar.component.mjs +8 -8
- package/esm2020/lib/components/data-view/common/elder-single-sort/elder-single-sort.component.mjs +5 -5
- package/esm2020/lib/components/data-view/common/selection/data-context-selection.directive.mjs +4 -4
- package/esm2020/lib/components/data-view/common/selection/elder-selection-master-checkbox/elder-selection-master-checkbox.component.mjs +5 -5
- package/esm2020/lib/components/data-view/grid/elder-grid/elder-grid.component.mjs +13 -12
- package/esm2020/lib/components/data-view/grid/elder-grid.module.mjs +9 -8
- package/esm2020/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.component.mjs +4 -4
- package/esm2020/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.module.mjs +5 -5
- package/esm2020/lib/components/data-view/table/activation/elder-table-activation.directive.mjs +4 -4
- package/esm2020/lib/components/data-view/table/elder-number-cell.directive.mjs +4 -4
- package/esm2020/lib/components/data-view/table/elder-paginator-intl.mjs +4 -4
- package/esm2020/lib/components/data-view/table/elder-table/elder-table-toolbar.directive.mjs +4 -4
- package/esm2020/lib/components/data-view/table/elder-table/elder-table.component.mjs +9 -8
- package/esm2020/lib/components/data-view/table/elder-table-column.directive.mjs +4 -4
- package/esm2020/lib/components/data-view/table/elder-table-extension.directive.mjs +4 -4
- package/esm2020/lib/components/data-view/table/elder-table-root.directive.mjs +4 -4
- package/esm2020/lib/components/data-view/table/elder-table-row.directive.mjs +4 -4
- package/esm2020/lib/components/data-view/table/elder-table-sort.directive.mjs +4 -4
- package/esm2020/lib/components/data-view/table/elder-table.module.mjs +9 -8
- package/esm2020/lib/components/data-view/table/model/elder-table-model.mjs +4 -4
- package/esm2020/lib/components/dialogs/confirm-dialog/elder-confirm-dialog.component.mjs +5 -5
- package/esm2020/lib/components/dialogs/elder-dialog.module.mjs +6 -26
- package/esm2020/lib/components/dialogs/elder-dialog.service.mjs +5 -5
- package/esm2020/lib/components/dialogs/question-dialog/elder-question-dialog.component.mjs +7 -7
- package/esm2020/lib/components/dialogs/selection-dialog/elder-selection-dialog/elder-selection-dialog.component.mjs +4 -4
- package/esm2020/lib/components/dialogs/selection-dialog/elder-selection-dialog.directive.mjs +4 -4
- package/esm2020/lib/components/errors/elder-error.module.mjs +5 -5
- package/esm2020/lib/components/errors/exception-detail/elder-exception-detail.component.mjs +6 -6
- package/esm2020/lib/components/expand-toggle-button/elder-expand-toggle-button.component.mjs +5 -5
- package/esm2020/lib/components/expand-toggle-button/elder-expand-toggle-button.module.mjs +5 -5
- package/esm2020/lib/components/files/blob-viewer/elder-blob-viewer.component.mjs +4 -4
- package/esm2020/lib/components/files/elder-file-drop-zone.directive.mjs +4 -4
- package/esm2020/lib/components/files/elder-file-select.directive.mjs +4 -4
- package/esm2020/lib/components/files/elder-file.module.mjs +5 -5
- package/esm2020/lib/components/files/file-select/file-select.component.mjs +5 -5
- package/esm2020/lib/components/files/file-upload/file-upload.component.mjs +11 -12
- package/esm2020/lib/components/forms/clipboard/elder-clipboard.service.mjs +4 -4
- package/esm2020/lib/components/forms/directives/base/elder-class-hostbinding-base.mjs +4 -4
- package/esm2020/lib/components/forms/directives/elder-clipboard-put.directive.mjs +4 -4
- package/esm2020/lib/components/forms/directives/elder-delayed-focus.directive.mjs +4 -4
- package/esm2020/lib/components/forms/directives/elder-form-field-dense.directive.mjs +17 -6
- package/esm2020/lib/components/forms/directives/elder-form-field-label.directive.mjs +5 -4
- package/esm2020/lib/components/forms/directives/elder-form-field-no-hint.directive.mjs +11 -6
- package/esm2020/lib/components/forms/directives/elder-form-field-no-spinner.directive.mjs +4 -4
- package/esm2020/lib/components/forms/directives/elder-forms-directives.module.mjs +44 -71
- package/esm2020/lib/components/forms/directives/elder-input-pattern.directive.mjs +4 -4
- package/esm2020/lib/components/forms/directives/elder-key-event.directive.mjs +4 -4
- package/esm2020/lib/components/forms/directives/elder-next-focusable.directive.mjs +4 -4
- package/esm2020/lib/components/forms/directives/elder-plug-parent-form.directive.mjs +4 -4
- package/esm2020/lib/components/forms/directives/elder-stop-event-propagation.directive.mjs +4 -4
- package/esm2020/lib/components/forms/directives/elder-tab-focus-trap.directive.mjs +4 -4
- package/esm2020/lib/components/forms/directives/elder-touched.directive.mjs +4 -4
- package/esm2020/lib/components/forms/directives/elder-triple-state-checkbox.directive.mjs +4 -4
- package/esm2020/lib/components/forms/directives/validation/elder-validation-error.directive.mjs +85 -0
- package/esm2020/lib/components/forms/directives/validation/strategies/common-validation-message-strategy.mjs +47 -0
- package/esm2020/lib/components/forms/directives/validation/strategies/dynamic-validation-message-strategy.mjs +48 -0
- package/esm2020/lib/components/forms/directives/validation/strategies/fallback-validation-message-strategy.mjs +6 -0
- package/esm2020/lib/components/forms/directives/validation/validation-message-renderer.service.mjs +55 -0
- package/esm2020/lib/components/forms/directives/validation/validation-message-strategy.mjs +2 -0
- package/esm2020/lib/components/forms/directives/validation/validators/elder-max.validator.mjs +40 -0
- package/esm2020/lib/components/forms/directives/validation/validators/elder-min.validator.mjs +40 -0
- package/esm2020/lib/components/forms/directives/validation/validators/elder-multiple-of.validator.mjs +96 -0
- package/esm2020/lib/components/forms/directives/validation/validators/elder-required-ignore-zero.validator.mjs +68 -0
- package/esm2020/lib/components/forms/elder-forms.module.mjs +5 -5
- package/esm2020/lib/components/forms/search/elder-search-context.directive.mjs +4 -4
- package/esm2020/lib/components/forms/search/elder-search-input.directive.mjs +4 -4
- package/esm2020/lib/components/forms/search/elder-search.module.mjs +5 -5
- package/esm2020/lib/components/forms/search/search-box/elder-search-box.component.mjs +9 -7
- package/esm2020/lib/components/forms/search/search-box/elder-search-panel.component.mjs +4 -4
- package/esm2020/lib/components/global-search/elder-global-search.component.mjs +7 -7
- package/esm2020/lib/components/global-search/elder-global-search.module.mjs +5 -5
- package/esm2020/lib/components/global-search/elder-global-search.service.mjs +4 -4
- package/esm2020/lib/components/graph/elder-progress-bar/elder-progress-bar.component.mjs +7 -7
- package/esm2020/lib/components/graph/elder-progress-bar/elder-progress-bar.module.mjs +5 -5
- package/esm2020/lib/components/headers/elder-header/elder-header.component.mjs +4 -4
- package/esm2020/lib/components/headers/elder-header.module.mjs +5 -5
- package/esm2020/lib/components/http-support/elder-http-client.service.mjs +4 -4
- package/esm2020/lib/components/i18n/entities/elder-i18n-entities.module.mjs +5 -5
- package/esm2020/lib/components/i18n/entities/elder-localized-input/elder-localized-input.component.mjs +6 -6
- package/esm2020/lib/components/i18n/entities/elder-localized-input-dialog/elder-localized-input-dialog.component.mjs +4 -4
- package/esm2020/lib/components/i18n/entities/elder-localized-input-dialog.service.mjs +4 -4
- package/esm2020/lib/components/i18n/entities/elder-localized-input-table/elder-localized-input-table.component.mjs +9 -8
- package/esm2020/lib/components/i18n/entities/elder-localized-text-column.directive.mjs +4 -4
- package/esm2020/lib/components/i18n/entities/elder-localized-texts.directive.mjs +4 -4
- package/esm2020/lib/components/i18n/entities/picker/i18n-pick-async.pipe.mjs +4 -4
- package/esm2020/lib/components/i18n/entities/picker/i18n-pick.pipe.mjs +4 -4
- package/esm2020/lib/components/i18n/entities/picker/localisation-picker.service.mjs +4 -4
- package/esm2020/lib/components/i18n/language/elder-language-interceptor.mjs +4 -4
- package/esm2020/lib/components/i18n/language/elder-language.module.mjs +5 -5
- package/esm2020/lib/components/i18n/language/elder-language.service.mjs +4 -4
- package/esm2020/lib/components/i18n/language/language-switcher/elder-language-switcher.component.mjs +6 -6
- package/esm2020/lib/components/i18n/locales/elder-locales-de-ch.module.mjs +5 -5
- package/esm2020/lib/components/iframes/data-view/data-view-iframe/data-view-iframe.component.mjs +4 -4
- package/esm2020/lib/components/iframes/data-view/data-view-iframe-adapter.directive.mjs +4 -4
- package/esm2020/lib/components/iframes/elder-iframe.module.mjs +16 -8
- package/esm2020/lib/components/iframes/iframe-close.directive.mjs +4 -4
- package/esm2020/lib/components/iframes/iframe-dialog/iframe-dialog.component.mjs +4 -4
- package/esm2020/lib/components/iframes/iframe-host/iframe-host.component.mjs +8 -6
- package/esm2020/lib/components/iframes/iframe-side-content/iframe-side-content.component.mjs +4 -4
- package/esm2020/lib/components/iframes/iframe.service.mjs +4 -4
- package/esm2020/lib/components/infinitescroll/elder-infinite-autocomplete.directive.mjs +4 -4
- package/esm2020/lib/components/infinitescroll/elder-infinite-scroll.directive.mjs +4 -4
- package/esm2020/lib/components/infinitescroll/elder-infinite-scroll.module.mjs +8 -8
- package/esm2020/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete.component.mjs +4 -4
- package/esm2020/lib/components/input/autocomplete/elder-autocomplete-many.directive.mjs +4 -4
- package/esm2020/lib/components/input/autocomplete/elder-autocomplete.directive.mjs +4 -4
- package/esm2020/lib/components/input/autocomplete/elder-autocomplete.module.mjs +5 -5
- package/esm2020/lib/components/labels/elder-labels.module.mjs +5 -5
- package/esm2020/lib/components/labels/labels-input/labels-input.component.mjs +8 -9
- package/esm2020/lib/components/measures/dimensions/dimensions-input/elder-dimensions-input.component.mjs +273 -0
- package/esm2020/lib/components/measures/dimensions/validation/elder-required-dimensions.validator.mjs +91 -0
- package/esm2020/lib/components/measures/directives/elder-unit-select.directive.mjs +4 -4
- package/esm2020/lib/components/measures/elder-measures.module.mjs +44 -20
- package/esm2020/lib/components/measures/elder-quantity-transform.pipe.mjs +4 -4
- package/esm2020/lib/components/measures/elder-quantity.pipe.mjs +4 -4
- package/esm2020/lib/components/measures/elder-unit.service.mjs +4 -4
- package/esm2020/lib/components/measures/quantity-input/quantity-form-field/elder-quantity-form-field.component.mjs +33 -0
- package/esm2020/lib/components/measures/quantity-input/quantity-input-control/elder-quantity-input-control.component.mjs +176 -0
- package/esm2020/lib/components/measures/quantity-input/validation/elder-quantity-range.validator.mjs +87 -0
- package/esm2020/lib/components/measures/quantity-input/validation/elder-required-quantity.validator.mjs +76 -0
- package/esm2020/lib/components/measures/util/elder-quantity.service.mjs +4 -4
- package/esm2020/lib/components/navigation/bread-crumbs/bread-crumbs/elder-bread-crumbs.component.mjs +4 -4
- package/esm2020/lib/components/navigation/bread-crumbs/elder-bread-crumbs.module.mjs +5 -5
- package/esm2020/lib/components/navigation/nav/elder-nav.module.mjs +10 -8
- package/esm2020/lib/components/navigation/nav/nav-group/elder-nav-group.component.mjs +52 -18
- package/esm2020/lib/components/navigation/nav/nav-link/elder-nav-link.component.mjs +115 -32
- package/esm2020/lib/components/navigation/nav/nav-list/elder-nav-list.component.mjs +64 -8
- package/esm2020/lib/components/navigation/toolbar/elder-toolbar-column.directive.mjs +5 -5
- package/esm2020/lib/components/navigation/toolbar/elder-toolbar.module.mjs +5 -5
- package/esm2020/lib/components/navigation/toolbar/elder-toolbar.service.mjs +4 -4
- package/esm2020/lib/components/navigation/toolbar/toolbar/elder-toolbar.component.mjs +5 -5
- package/esm2020/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.component.mjs +5 -5
- package/esm2020/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.service.mjs +4 -4
- package/esm2020/lib/components/overlays/elder-overlay-origin.directive.mjs +4 -4
- package/esm2020/lib/components/overlays/elder-overlay-trigger.directive.mjs +4 -4
- package/esm2020/lib/components/overlays/elder-overlay.component.mjs +4 -4
- package/esm2020/lib/components/overlays/elder-overlay.module.mjs +5 -5
- package/esm2020/lib/components/panels/card-panel/elder-card-panel.component.mjs +4 -4
- package/esm2020/lib/components/panels/elder-dialog-panel/elder-dialog-panel.component.mjs +4 -4
- package/esm2020/lib/components/panels/elder-panel.module.mjs +5 -5
- package/esm2020/lib/components/panels/flat/elder-panel.component.mjs +4 -4
- package/esm2020/lib/components/public_api.mjs +1 -2
- package/esm2020/lib/components/select/auto/elder-auto-select-first.directive.mjs +4 -4
- package/esm2020/lib/components/select/elder-select-base.mjs +4 -4
- package/esm2020/lib/components/select/elder-select-chip.directive.mjs +10 -10
- package/esm2020/lib/components/select/elder-select-on-tab.directive.mjs +4 -4
- package/esm2020/lib/components/select/elder-select-value.directive.mjs +4 -4
- package/esm2020/lib/components/select/elder-select.module.mjs +5 -5
- package/esm2020/lib/components/select/multi/elder-multi-select-base.mjs +4 -4
- package/esm2020/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.mjs +44 -21
- package/esm2020/lib/components/select/multi/elder-multi-select-form-field.mjs +37 -13
- package/esm2020/lib/components/select/popup/selection-model-popup-trigger-adapter.directive.mjs +4 -4
- package/esm2020/lib/components/select/popup/selection-model-popup.directive.mjs +4 -4
- package/esm2020/lib/components/select/popup/templated-selection-dialog/templated-selection-dialog.component.mjs +4 -4
- package/esm2020/lib/components/select/single/elder-clear-select.directive.mjs +4 -4
- package/esm2020/lib/components/select/single/elder-select/elder-select.component.mjs +9 -8
- package/esm2020/lib/components/select/single/elder-select-form-field.mjs +4 -4
- package/esm2020/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.mjs +10 -13
- package/esm2020/lib/components/select-chip-list/elder-chip-list-select.module.mjs +5 -5
- package/esm2020/lib/components/shell/drawers/elder-route-outlet-drawer.service.mjs +4 -4
- package/esm2020/lib/components/shell/drawers/elder-router-outlet.service.mjs +4 -4
- package/esm2020/lib/components/shell/elder-shell-slot.directive.mjs +4 -4
- package/esm2020/lib/components/shell/elder-shell.module.mjs +5 -5
- package/esm2020/lib/components/shell/elder-shell.service.mjs +4 -4
- package/esm2020/lib/components/shell/header/elder-app-header/elder-app-header.component.mjs +4 -4
- package/esm2020/lib/components/shell/shell/elder-shell.component.mjs +17 -17
- package/esm2020/lib/components/shell/shell-navigation-toggle/elder-shell-navigation-toggle.component.mjs +4 -4
- package/esm2020/lib/components/tabs/elder-tab/elder-tab.directive.mjs +4 -4
- package/esm2020/lib/components/tabs/elder-tab-group-routing/elder-tab-group-routing.directive.mjs +4 -4
- package/esm2020/lib/components/tabs/elder-tab.module.mjs +5 -5
- package/esm2020/lib/components/theme/elder-theme-applier.directive.mjs +4 -4
- package/esm2020/lib/components/theme/elder-theme-preference.service.mjs +4 -4
- package/esm2020/lib/components/theme/elder-theme-toggle/elder-theme-toggle.component.mjs +4 -4
- package/esm2020/lib/components/theme/elder-theme.directive.mjs +4 -4
- package/esm2020/lib/components/theme/elder-theme.module.mjs +5 -5
- package/esm2020/lib/components/theme/elder-theme.service.mjs +4 -4
- package/esm2020/lib/components/time/date-adapters/custom-date-adapter.mjs +4 -4
- package/esm2020/lib/components/time/duration/elder-duration-input/elder-duration-input.component.mjs +6 -6
- package/esm2020/lib/components/time/elder-date-switcher/elder-date-switcher.component.mjs +5 -5
- package/esm2020/lib/components/time/elder-date-time-input/elder-date-time-input.component.mjs +6 -6
- package/esm2020/lib/components/time/elder-interval-input/elder-interval-input.component.mjs +4 -4
- package/esm2020/lib/components/time/elder-local-date-input/elder-local-date-input.component.mjs +6 -6
- package/esm2020/lib/components/time/elder-local-time-input/elder-local-time-input.component.mjs +8 -8
- package/esm2020/lib/components/time/elder-time.module.mjs +9 -9
- package/esm2020/lib/components/time/period/elder-period-input/elder-period-input.component.mjs +6 -6
- package/esm2020/lib/components/toasts/elder-toast.module.mjs +5 -5
- package/esm2020/lib/components/toasts/elder-toast.service.mjs +5 -31
- package/esm2020/lib/components/toasts/standard-toast/standard-toast.component.mjs +6 -6
- package/esm2020/lib/components/url-fragment/elder-url-fragment.module.mjs +5 -5
- package/esm2020/lib/components/url-fragment/url-fragment-switcher/elder-url-fragment-switcher.component.mjs +4 -4
- package/esm2020/lib/components/viewers/elder-svg-viewer/elder-svg-viewer.component.mjs +4 -4
- package/esm2020/lib/components/viewers/elder-viewers.module.mjs +5 -5
- package/esm2020/lib/features/event-source/elder-event-source.service.mjs +4 -4
- package/esm2020/lib/features/kafent/access-token-provider.mjs +4 -4
- package/esm2020/lib/features/kafent/kafent-config.mjs +4 -4
- package/esm2020/lib/features/kafent/kafent-event-stream.mjs +4 -4
- package/esm2020/lib/features/kafent/kafent-event.service.mjs +4 -4
- package/esm2020/lib/features/kafent/kafent.module.mjs +5 -5
- package/esm2020/lib/features/kafent/sse/kafent-event-stream-sse.service.mjs +4 -4
- package/esm2020/lib/pipes/bytes.pipe.mjs +4 -4
- package/esm2020/lib/pipes/elder-pipes.module.mjs +11 -11
- package/esm2020/lib/pipes/elder-repeat.pipe.mjs +4 -4
- package/esm2020/lib/pipes/elder-round.pipe.mjs +4 -4
- package/esm2020/lib/pipes/elder-safe-url.pipe.mjs +4 -4
- package/esm2020/lib/pipes/elder-truncate.pipe.mjs +4 -4
- package/esm2020/lib/pipes/iso-duration.pipe.mjs +4 -4
- package/esm2020/lib/pipes/iso-interval-parse.pipe.mjs +4 -4
- package/esm2020/lib/pipes/iso-interval.pipe.mjs +4 -4
- package/esm2020/lib/pipes/time-ago.pipe.mjs +4 -4
- package/esm2020/lib/pipes/time-duration.pipe.mjs +4 -4
- package/esm2020/lib/pipes/weight.pipe.mjs +4 -4
- package/fesm2015/elderbyte-ngx-starter.mjs +2600 -2012
- package/fesm2015/elderbyte-ngx-starter.mjs.map +1 -1
- package/fesm2020/elderbyte-ngx-starter.mjs +2604 -2024
- package/fesm2020/elderbyte-ngx-starter.mjs.map +1 -1
- package/lib/common/forms/elder-form-field-control-base.directive.d.ts +1 -1
- package/lib/common/forms/elder-from-field-base.d.ts +1 -1
- package/lib/common/forms/elder-from-field-customizable-base.d.ts +36 -0
- package/lib/common/forms/elder-from-field-entity-base.d.ts +1 -1
- package/lib/common/forms/elder-from-field-multi-entity-base.d.ts +1 -1
- package/lib/common/forms/form-field-base.component.d.ts +7 -1
- package/lib/common/forms/multi-model-base.component.d.ts +1 -1
- package/lib/common/forms/template-composite-control.d.ts +1 -1
- package/lib/common/forms/value-accessor-base.d.ts +1 -1
- package/lib/components/access-denied/elder-access-denied.component.d.ts +1 -1
- package/lib/components/auditing/audited-entity/elder-audited-entity.component.d.ts +1 -1
- package/lib/components/button-group/elder-button-group/elder-button-group.component.d.ts +1 -1
- package/lib/components/card-organizer/card-organizer/elder-card-organizer.component.d.ts +1 -1
- package/lib/components/card-organizer/card-organizer/elder-stack-card.directive.d.ts +1 -1
- package/lib/components/card-organizer/card-stack/elder-card-stack.component.d.ts +1 -1
- package/lib/components/cards/elder-card/elder-card-header/elder-card-header.component.d.ts +1 -1
- package/lib/components/cards/elder-card/elder-card.component.d.ts +18 -20
- package/lib/components/cards/elder-card/elder-card.module.d.ts +2 -1
- package/lib/components/connectivity/offline-indicator/elder-offline-indicator.component.d.ts +1 -1
- package/lib/components/containers/elder-scroll-container/elder-scroll-container.component.d.ts +1 -1
- package/lib/components/csv/elder-csv-export-btn/elder-csv-export-btn.component.d.ts +1 -1
- package/lib/components/data-transfer/http-data-transfer/http-data-transfer.component.d.ts +1 -1
- package/lib/components/data-transfer/http-data-transfer-aggregate/http-data-transfer-aggregate.component.d.ts +1 -1
- package/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.d.ts +1 -1
- package/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.d.ts +1 -1
- package/lib/components/data-view/base/elder-data-view-base.d.ts +11 -6
- package/lib/components/data-view/common/data-context-state-indicator/data-context-state-indicator.component.d.ts +1 -1
- package/lib/components/data-view/common/elder-data-toolbar/elder-data-toolbar.component.d.ts +2 -2
- package/lib/components/data-view/common/elder-single-sort/elder-single-sort.component.d.ts +1 -1
- package/lib/components/data-view/common/selection/data-context-selection.directive.d.ts +1 -1
- package/lib/components/data-view/common/selection/elder-selection-master-checkbox/elder-selection-master-checkbox.component.d.ts +1 -1
- package/lib/components/data-view/grid/elder-grid/elder-grid.component.d.ts +3 -3
- package/lib/components/data-view/grid/elder-grid.module.d.ts +2 -1
- package/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.component.d.ts +1 -1
- package/lib/components/data-view/table/activation/elder-table-activation.directive.d.ts +1 -1
- package/lib/components/data-view/table/elder-number-cell.directive.d.ts +1 -1
- package/lib/components/data-view/table/elder-table/elder-table-toolbar.directive.d.ts +1 -1
- package/lib/components/data-view/table/elder-table/elder-table.component.d.ts +1 -1
- package/lib/components/data-view/table/elder-table-column.directive.d.ts +1 -1
- package/lib/components/data-view/table/elder-table-extension.directive.d.ts +1 -1
- package/lib/components/data-view/table/elder-table-root.directive.d.ts +1 -1
- package/lib/components/data-view/table/elder-table-row.directive.d.ts +1 -1
- package/lib/components/data-view/table/elder-table-sort.directive.d.ts +1 -1
- package/lib/components/data-view/table/elder-table.module.d.ts +2 -1
- package/lib/components/dialogs/confirm-dialog/elder-confirm-dialog.component.d.ts +1 -1
- package/lib/components/dialogs/elder-dialog.module.d.ts +0 -10
- package/lib/components/dialogs/question-dialog/elder-question-dialog.component.d.ts +1 -1
- package/lib/components/dialogs/selection-dialog/elder-selection-dialog/elder-selection-dialog.component.d.ts +1 -1
- package/lib/components/dialogs/selection-dialog/elder-selection-dialog.directive.d.ts +1 -1
- package/lib/components/errors/exception-detail/elder-exception-detail.component.d.ts +1 -1
- package/lib/components/expand-toggle-button/elder-expand-toggle-button.component.d.ts +1 -1
- package/lib/components/files/blob-viewer/elder-blob-viewer.component.d.ts +1 -1
- package/lib/components/files/elder-file-drop-zone.directive.d.ts +1 -1
- package/lib/components/files/elder-file-select.directive.d.ts +1 -1
- package/lib/components/files/file-select/file-select.component.d.ts +1 -1
- package/lib/components/files/file-upload/file-upload.component.d.ts +1 -1
- package/lib/components/forms/directives/base/elder-class-hostbinding-base.d.ts +1 -1
- package/lib/components/forms/directives/elder-clipboard-put.directive.d.ts +1 -1
- package/lib/components/forms/directives/elder-delayed-focus.directive.d.ts +1 -1
- package/lib/components/forms/directives/elder-form-field-dense.directive.d.ts +12 -3
- package/lib/components/forms/directives/elder-form-field-label.directive.d.ts +1 -1
- package/lib/components/forms/directives/elder-form-field-no-hint.directive.d.ts +7 -3
- package/lib/components/forms/directives/elder-form-field-no-spinner.directive.d.ts +1 -1
- package/lib/components/forms/directives/elder-forms-directives.module.d.ts +13 -35
- package/lib/components/forms/directives/elder-input-pattern.directive.d.ts +1 -1
- package/lib/components/forms/directives/elder-key-event.directive.d.ts +1 -1
- package/lib/components/forms/directives/elder-next-focusable.directive.d.ts +1 -1
- package/lib/components/forms/directives/elder-plug-parent-form.directive.d.ts +1 -1
- package/lib/components/forms/directives/elder-stop-event-propagation.directive.d.ts +1 -1
- package/lib/components/forms/directives/elder-tab-focus-trap.directive.d.ts +1 -1
- package/lib/components/forms/directives/elder-touched.directive.d.ts +1 -1
- package/lib/components/forms/directives/elder-triple-state-checkbox.directive.d.ts +1 -1
- package/lib/components/forms/directives/validation/elder-validation-error.directive.d.ts +44 -0
- package/lib/components/forms/directives/validation/strategies/common-validation-message-strategy.d.ts +26 -0
- package/lib/components/forms/directives/validation/strategies/dynamic-validation-message-strategy.d.ts +36 -0
- package/lib/components/forms/directives/validation/strategies/fallback-validation-message-strategy.d.ts +5 -0
- package/lib/components/forms/directives/validation/validation-message-renderer.service.d.ts +28 -0
- package/lib/components/forms/directives/validation/validation-message-strategy.d.ts +4 -0
- package/lib/components/forms/directives/validation/validators/elder-max.validator.d.ts +11 -0
- package/lib/components/forms/directives/validation/validators/elder-min.validator.d.ts +11 -0
- package/lib/components/forms/directives/validation/{elder-multiple-of.validator.d.ts → validators/elder-multiple-of.validator.d.ts} +17 -2
- package/lib/components/forms/directives/validation/{elder-required-ignore-zero.validator.d.ts → validators/elder-required-ignore-zero.validator.d.ts} +1 -1
- package/lib/components/forms/search/elder-search-context.directive.d.ts +1 -1
- package/lib/components/forms/search/elder-search-input.directive.d.ts +1 -1
- package/lib/components/forms/search/search-box/elder-search-box.component.d.ts +3 -1
- package/lib/components/forms/search/search-box/elder-search-panel.component.d.ts +1 -1
- package/lib/components/global-search/elder-global-search.component.d.ts +1 -1
- package/lib/components/graph/elder-progress-bar/elder-progress-bar.component.d.ts +1 -1
- package/lib/components/headers/elder-header/elder-header.component.d.ts +1 -1
- package/lib/components/i18n/entities/elder-localized-input/elder-localized-input.component.d.ts +1 -1
- package/lib/components/i18n/entities/elder-localized-input-dialog/elder-localized-input-dialog.component.d.ts +1 -1
- package/lib/components/i18n/entities/elder-localized-input-table/elder-localized-input-table.component.d.ts +1 -1
- package/lib/components/i18n/entities/elder-localized-text-column.directive.d.ts +1 -1
- package/lib/components/i18n/entities/elder-localized-texts.directive.d.ts +1 -1
- package/lib/components/i18n/language/language-switcher/elder-language-switcher.component.d.ts +1 -1
- package/lib/components/iframes/data-view/data-view-iframe/data-view-iframe.component.d.ts +1 -1
- package/lib/components/iframes/data-view/data-view-iframe-adapter.directive.d.ts +1 -1
- package/lib/components/iframes/elder-iframe.module.d.ts +3 -1
- package/lib/components/iframes/iframe-close.directive.d.ts +1 -1
- package/lib/components/iframes/iframe-dialog/iframe-dialog.component.d.ts +1 -1
- package/lib/components/iframes/iframe-host/iframe-host.component.d.ts +1 -1
- package/lib/components/iframes/iframe-side-content/iframe-side-content.component.d.ts +1 -1
- package/lib/components/infinitescroll/elder-infinite-autocomplete.directive.d.ts +1 -1
- package/lib/components/infinitescroll/elder-infinite-scroll.directive.d.ts +1 -1
- package/lib/components/infinitescroll/elder-infinite-scroll.module.d.ts +1 -1
- package/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete.component.d.ts +1 -1
- package/lib/components/input/autocomplete/elder-autocomplete-many.directive.d.ts +1 -1
- package/lib/components/input/autocomplete/elder-autocomplete.directive.d.ts +1 -1
- package/lib/components/labels/labels-input/labels-input.component.d.ts +1 -2
- package/lib/components/measures/{dimensions-input → dimensions/dimensions-input}/elder-dimensions-input.component.d.ts +41 -30
- package/lib/components/measures/dimensions/validation/elder-required-dimensions.validator.d.ts +37 -0
- package/lib/components/measures/directives/elder-unit-select.directive.d.ts +1 -1
- package/lib/components/measures/elder-measures.module.d.ts +20 -12
- package/lib/components/measures/quantity-input/quantity-form-field/elder-quantity-form-field.component.d.ts +20 -0
- package/lib/components/measures/quantity-input/{elder-quantity-input.component.d.ts → quantity-input-control/elder-quantity-input-control.component.d.ts} +27 -42
- package/lib/components/{select-list/select-list/elder-select-list.component.d.ts → measures/quantity-input/validation/elder-quantity-range.validator.d.ts} +22 -32
- package/lib/components/measures/quantity-input/validation/elder-required-quantity.validator.d.ts +36 -0
- package/lib/components/navigation/bread-crumbs/bread-crumbs/elder-bread-crumbs.component.d.ts +1 -1
- package/lib/components/navigation/nav/elder-nav.module.d.ts +3 -1
- package/lib/components/navigation/nav/nav-group/elder-nav-group.component.d.ts +23 -9
- package/lib/components/navigation/nav/nav-link/elder-nav-link.component.d.ts +69 -13
- package/lib/components/navigation/nav/nav-list/elder-nav-list.component.d.ts +43 -3
- package/lib/components/navigation/toolbar/elder-toolbar-column.directive.d.ts +1 -1
- package/lib/components/navigation/toolbar/toolbar/elder-toolbar.component.d.ts +1 -1
- package/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.component.d.ts +1 -1
- package/lib/components/overlays/elder-overlay-origin.directive.d.ts +1 -1
- package/lib/components/overlays/elder-overlay-trigger.directive.d.ts +1 -1
- package/lib/components/overlays/elder-overlay.component.d.ts +1 -1
- package/lib/components/panels/card-panel/elder-card-panel.component.d.ts +1 -1
- package/lib/components/panels/elder-dialog-panel/elder-dialog-panel.component.d.ts +1 -1
- package/lib/components/panels/flat/elder-panel.component.d.ts +1 -1
- package/lib/components/public_api.d.ts +0 -1
- package/lib/components/select/auto/elder-auto-select-first.directive.d.ts +1 -1
- package/lib/components/select/elder-select-base.d.ts +1 -1
- package/lib/components/select/elder-select-chip.directive.d.ts +3 -3
- package/lib/components/select/elder-select-on-tab.directive.d.ts +1 -1
- package/lib/components/select/elder-select-value.directive.d.ts +1 -1
- package/lib/components/select/multi/elder-multi-select-base.d.ts +1 -1
- package/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.d.ts +13 -7
- package/lib/components/select/multi/elder-multi-select-form-field.d.ts +10 -5
- package/lib/components/select/popup/selection-model-popup-trigger-adapter.directive.d.ts +1 -1
- package/lib/components/select/popup/selection-model-popup.directive.d.ts +1 -1
- package/lib/components/select/popup/templated-selection-dialog/templated-selection-dialog.component.d.ts +1 -1
- package/lib/components/select/single/elder-clear-select.directive.d.ts +1 -1
- package/lib/components/select/single/elder-select/elder-select.component.d.ts +3 -2
- package/lib/components/select/single/elder-select-form-field.d.ts +1 -1
- package/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.d.ts +5 -10
- package/lib/components/shell/elder-shell-slot.directive.d.ts +1 -1
- package/lib/components/shell/header/elder-app-header/elder-app-header.component.d.ts +1 -1
- package/lib/components/shell/shell/elder-shell.component.d.ts +4 -4
- package/lib/components/shell/shell-navigation-toggle/elder-shell-navigation-toggle.component.d.ts +1 -1
- package/lib/components/tabs/elder-tab/elder-tab.directive.d.ts +1 -1
- package/lib/components/tabs/elder-tab-group-routing/elder-tab-group-routing.directive.d.ts +1 -1
- package/lib/components/theme/elder-theme-applier.directive.d.ts +1 -1
- package/lib/components/theme/elder-theme-toggle/elder-theme-toggle.component.d.ts +1 -1
- package/lib/components/theme/elder-theme.directive.d.ts +1 -1
- package/lib/components/time/duration/elder-duration-input/elder-duration-input.component.d.ts +1 -1
- package/lib/components/time/elder-date-switcher/elder-date-switcher.component.d.ts +1 -1
- package/lib/components/time/elder-date-time-input/elder-date-time-input.component.d.ts +1 -1
- package/lib/components/time/elder-interval-input/elder-interval-input.component.d.ts +1 -1
- package/lib/components/time/elder-local-date-input/elder-local-date-input.component.d.ts +1 -1
- package/lib/components/time/elder-local-time-input/elder-local-time-input.component.d.ts +1 -1
- package/lib/components/time/period/elder-period-input/elder-period-input.component.d.ts +1 -1
- package/lib/components/toasts/elder-toast.service.d.ts +0 -14
- package/lib/components/toasts/standard-toast/standard-toast.component.d.ts +3 -2
- package/lib/components/url-fragment/url-fragment-switcher/elder-url-fragment-switcher.component.d.ts +1 -1
- package/lib/components/viewers/elder-svg-viewer/elder-svg-viewer.component.d.ts +1 -1
- package/package.json +5 -5
- package/src/lib/components/cards/elder-card/elder-card.component.scss +1 -9
- package/src/lib/components/data-view/grid/elder-grid/elder-grid.component.scss +1 -2
- package/src/lib/components/data-view/table/elder-table/elder-table.component.scss +9 -8
- package/src/lib/components/forms/search/search-box/elder-search-box.component.scss +7 -0
- package/src/lib/components/iframes/iframe-host/iframe-host.component.scss +7 -4
- package/src/lib/components/measures/{dimensions-input → dimensions/dimensions-input}/elder-dimensions-input.component.scss +0 -0
- package/src/lib/components/measures/quantity-input/quantity-form-field/elder-quantity-form-field.component.scss +0 -0
- package/src/lib/components/measures/quantity-input/{elder-quantity-input.component.scss → quantity-input-control/elder-quantity-input-control.component.scss} +0 -3
- package/src/lib/components/navigation/nav/_elder-nav-theme.scss +68 -0
- package/src/lib/components/navigation/nav/nav-group/elder-nav-group.component.scss +12 -32
- package/src/lib/components/navigation/nav/nav-link/elder-nav-link.component.scss +12 -42
- package/src/lib/components/navigation/nav/nav-list/elder-nav-list.component.scss +1 -1
- package/src/lib/components/panels/flat/_elder-panel-theme.scss +3 -2
- package/src/lib/components/select/_elder-select-base.scss +15 -92
- package/src/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.scss +0 -8
- package/theming/_elder-common.scss +114 -19
- package/theming/_elder-flex-layout.scss +1 -0
- package/theming/_elder-mdc-support.scss +147 -0
- package/theming/_elder-style-fixes.scss +35 -2
- package/theming/_elder-toast-theme.scss +2 -1
- package/theming/_mat-icon-button-size.scss +29 -0
- package/esm2020/lib/components/forms/directives/elder-max.directive.mjs +0 -39
- package/esm2020/lib/components/forms/directives/elder-min.directive.mjs +0 -39
- package/esm2020/lib/components/forms/directives/validation/elder-multiple-of.validator.mjs +0 -57
- package/esm2020/lib/components/forms/directives/validation/elder-required-ignore-zero.validator.mjs +0 -68
- package/esm2020/lib/components/measures/dimensions-input/elder-dimensions-input.component.mjs +0 -229
- package/esm2020/lib/components/measures/quantity-input/elder-quantity-input.component.mjs +0 -189
- package/esm2020/lib/components/select-list/elder-select-list.module.mjs +0 -36
- package/esm2020/lib/components/select-list/select-list/elder-select-list.component.mjs +0 -75
- package/esm2020/lib/components/select-list/select-list-item/elder-select-list-item.component.mjs +0 -118
- package/lib/components/forms/directives/elder-max.directive.d.ts +0 -11
- package/lib/components/forms/directives/elder-min.directive.d.ts +0 -11
- package/lib/components/select-list/elder-select-list.module.d.ts +0 -15
- package/lib/components/select-list/select-list-item/elder-select-list-item.component.d.ts +0 -57
- package/src/lib/components/select-list/select-list/elder-select-list.component.scss +0 -19
- package/src/lib/components/select-list/select-list-item/elder-select-list-item.component.scss +0 -37
|
@@ -25,15 +25,16 @@ import * as i13 from "../../common/data-context-state-indicator/data-context-sta
|
|
|
25
25
|
import * as i14 from "../../../infinitescroll/elder-infinite-scroll.module";
|
|
26
26
|
import * as i15 from "../../../forms/directives/elder-stop-event-propagation.directive";
|
|
27
27
|
import * as i16 from "@angular/material/paginator";
|
|
28
|
+
import * as i17 from "@angular/material/card";
|
|
28
29
|
export class ElderGridTileDirective {
|
|
29
30
|
constructor(templateRef, viewContainer) {
|
|
30
31
|
this.templateRef = templateRef;
|
|
31
32
|
this.viewContainer = viewContainer;
|
|
32
33
|
}
|
|
33
34
|
}
|
|
34
|
-
ElderGridTileDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
35
|
-
ElderGridTileDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
36
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
35
|
+
ElderGridTileDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ElderGridTileDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
36
|
+
ElderGridTileDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: ElderGridTileDirective, selector: "[elderGridTile]", ngImport: i0 });
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ElderGridTileDirective, decorators: [{
|
|
37
38
|
type: Directive,
|
|
38
39
|
args: [{ selector: '[elderGridTile]' }]
|
|
39
40
|
}], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }]; } });
|
|
@@ -46,9 +47,9 @@ export class ElderGridToolbarDirective {
|
|
|
46
47
|
this.viewContainer = viewContainer;
|
|
47
48
|
}
|
|
48
49
|
}
|
|
49
|
-
ElderGridToolbarDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
50
|
-
ElderGridToolbarDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
51
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
50
|
+
ElderGridToolbarDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ElderGridToolbarDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
51
|
+
ElderGridToolbarDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: ElderGridToolbarDirective, selector: "[elderGridToolbar]", ngImport: i0 });
|
|
52
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ElderGridToolbarDirective, decorators: [{
|
|
52
53
|
type: Directive,
|
|
53
54
|
args: [{ selector: '[elderGridToolbar]' }]
|
|
54
55
|
}], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }]; } });
|
|
@@ -241,21 +242,21 @@ export class ElderGridComponent extends ElderDataViewBaseComponent {
|
|
|
241
242
|
return columnCount;
|
|
242
243
|
}
|
|
243
244
|
}
|
|
244
|
-
ElderGridComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
245
|
-
ElderGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
245
|
+
ElderGridComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ElderGridComponent, deps: [{ token: i1.SelectionModel, optional: true }, { token: i2.ElderDataViewOptionsProvider, optional: true, skipSelf: true }, { token: i3.BreakpointObserver }], target: i0.ɵɵFactoryTarget.Component });
|
|
246
|
+
ElderGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: ElderGridComponent, selector: "elder-grid", inputs: { toolbarVisible: "toolbarVisible", footerVisible: "footerVisible", itemHeight: "itemHeight", responsiveColumnCount: "responsiveColumnCount", availableSorts: "availableSorts", sortTranslationPrefix: "sortTranslationPrefix", hiddenField: "hiddenField", idField: "idField", selectionVisible: "selectionVisible", pageSizeOptions: "pageSizeOptions", tileTemplate: "tileTemplate", toolbarTemplate: "toolbarTemplate", data: "data", columnCount: "columnCount" }, providers: [
|
|
246
247
|
{
|
|
247
248
|
provide: ELDER_DATA_VIEW,
|
|
248
249
|
useExisting: forwardRef(() => ElderGridComponent)
|
|
249
250
|
}
|
|
250
|
-
], queries: [{ propertyName: "tileTemplateQuery", first: true, predicate: ElderGridTileDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "toolbarTemplateQuery", first: true, predicate: ElderGridToolbarDirective, descendants: true, read: TemplateRef, static: true }], viewQueries: [{ propertyName: "virtualScrollViewPort", first: true, predicate: ["virtualScrollViewPort"], descendants: true, static: true }, { propertyName: "matPaginator", first: true, predicate: MatPaginator, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"layout-col full\">\n\n <!-- Grid Browser -->\n <div class=\"layout-col flex scroll-fix elder-grid-container\"\n *ngIf=\"dataContext$ | async as data\"\n [class.elder-mat-table-container]=\"!embedded\"\n [class.mat-elevation-z5]=\"float\"\n [class.elder-mat-table-flat]=\"!embedded && !float\"\n\n [elderDataContextSelection]=\"data\" #dataSelection=\"elderDataContextSelection\"\n [elderDataContextSelectionModel]=\"selectionModel\"\n >\n\n <!-- Toolbar Row -->\n <div *ngIf=\"toolbarVisible\"\n class=\"layout-row place-start-center flex-none elder-grid-toolbar\">\n\n <div class=\"layout-col flex-none\" style=\"padding-left: 8px; padding-right: 8px\" *ngIf=\"selectionVisible\">\n <elder-selection-master-checkbox class=\"flex-none\" style=\"padding-left: 12px\"></elder-selection-master-checkbox>\n </div>\n\n <!-- Toolbar -->\n <ng-container *ngIf=\"toolbarTemplate\">\n <ng-template *ngTemplateOutlet=\"toolbarTemplate; context: {$implicit: this}\"></ng-template>\n </ng-container>\n\n <elder-single-sort *ngIf=\"availableSorts && availableSorts.length > 0 && data.sort.sorts | async as sorts\"\n class=\"flex-none\"\n [availableSorts]=\"availableSorts\"\n [translationPrefix]=\"sortTranslationPrefix\"\n [sort]=\"sorts[0]\"\n (sortChange)=\"updateSort($event)\">\n </elder-single-sort>\n </div>\n\n <mat-divider *ngIf=\"toolbarVisible\"></mat-divider>\n\n <elder-data-context-state-indicator class=\"flex-none\" [dataContext]=\"data\">\n </elder-data-context-state-indicator>\n\n <!-- [cdkDropListSortingDisabled]=\"true\" -->\n <!-- cdkDropList -->\n <cdk-virtual-scroll-viewport\n class=\"layout-col flex elder-grid-browser\"\n id=\"documents-container\"\n [itemSize]=\"itemHeight\"\n [minBufferPx]=\"itemHeight * 2\"\n [maxBufferPx]=\"itemHeight * 3\"\n #virtualScrollViewPort\n infiniteScroll\n [eventThrottle]=\"200\"\n [offsetFactor]=\"2\"\n [ignoreScrollEvent]=\"data.loading | async\"\n [containerId]=\"'documents-container'\" [listenToHost]=\"false\"\n (closeToEnd)=\"requestMoreDataZoned($event)\">\n\n <!-- (scrolling)=\"onScrolling($event)\" -->\n\n <div\n *cdkVirtualFor=\"let row of dataRows$; trackBy: trackByIndex; templateCacheSize: 50\"\n class=\"elder-grid-tile-row\"\n [style.height]=\"itemHeight + 'px'\">\n\n <ng-container *ngFor=\"let tile of row; trackBy: trackByFn\">\n\n <!-- Tile Cell -->\n <div *ngIf=\"showTile(tile)\" class=\"elder-grid-tile\">\n <!-- cdkDrag [cdkDragDisabled]=\"true\" [cdkDragData]=\"tile\" -->\n <!-- <div class=\"tile-placeholder\" *cdkDragPlaceholder></div> -->\n <div class=\"elder-grid-tile-content\"\n (click)=\"onItemClick(tile)\"\n (dblclick)=\"onItemDoubleClick(tile)\">\n <ng-container\n *ngTemplateOutlet=\"tileTemplate || simpleTileTemplate; context: {$implicit: tile}\">\n </ng-container>\n\n <!-- Overlay (Selection) -->\n <ng-container *ngIf=\"selectionVisible\">\n <div *ngIf=\"selectionModel.selection | async as selection\"\n class=\"elder-grid-tile-overlay\"\n [class.elder-grid-tile-overlay-hidden]=\"!inSelectionMode(selection)\"\n [class.elder-grid-tile-overlay-visible]=\"inSelectionMode(selection)\"\n [class.elder-click-through]=\"true\"\n >\n <button mat-icon-button type=\"button\"\n (click)=\"selectionModel.toggle(tile)\" elderStopEventPropagation\n class=\"elder-grid-tile-check\">\n <mat-icon\n [class.elder-selected]=\"(selectionModel.observeSelection(tile) | async)\"\n >\n {{(selectionModel.observeSelection(tile) | async) ? 'check_circle' : 'radio_button_unchecked'}}\n </mat-icon>\n </button>\n </div>\n </ng-container>\n\n </div>\n </div>\n\n <div *ngIf=\"!showTile(tile)\" class=\"elder-grid-tile-hidden\"></div>\n </ng-container>\n\n </div>\n\n </cdk-virtual-scroll-viewport>\n\n\n <mat-progress-bar class=\"flex-none\"\n [mode]=\"(data?.loading | async) ? 'indeterminate' : 'determinate'\"\n [color]=\"(data && (data.status | async)?.hasError) ? 'warn' : 'primary'\">\n </mat-progress-bar>\n\n <!-- Footer -->\n <div class=\"layout-row place-end-center gap-md flex-none elder-grid-footer\"\n *ngIf=\"footerVisible\"\n style=\"padding-right: 12px\">\n\n <!-- Continuable -->\n <ng-container *ngIf=\"isContinuable\">\n <span class=\"mat-caption noselect\" style=\"color: gray\">\n {{(dataSnapshot?.data | async)?.length}} / {{total$ | async}}\n </span>\n\n <button mat-icon-button type=\"button\"\n color=\"primary\"\n [disabled]=\"!(canLoadMore$ | async)\"\n (click)=\"dataSnapshot.loadMore()\">\n <mat-icon>keyboard_arrow_down</mat-icon>\n </button>\n </ng-container>\n\n <!-- Paged -->\n <mat-paginator #matPaginator *ngIf=\"isActivePaged && (dataActivePaged.page | async) as page\"\n class=\"flex-none\"\n [length]=\"dataContext?.total | async\"\n [pageIndex]=\"page?.index\"\n [pageSize]=\"page?.size\"\n [pageSizeOptions]=\"pageSizeOptions\">\n </mat-paginator>\n\n <!-- Local Source -->\n <ng-container *ngIf=\"!isActivePaged && !isContinuable\">\n <span class=\"mat-caption noselect\" style=\"color: gray\">\n {{(dataSnapshot?.data | async)?.length}}\n </span>\n </ng-container>\n\n </div>\n\n\n </div>\n</div>\n\n<ng-template #simpleTileTemplate let-tile>\n <div *ngIf=\"tile\" class=\"layout-col place-center-center flex\" style=\"background-color: lightblue\">\n <p class=\"noselect\">Tile: {{tile}}</p>\n </div>\n</ng-template>\n", styles: [":host{min-width:0;min-height:0}.scroll-fix{min-width:0;min-height:0}.elder-grid-tile-row{display:flex;flex-direction:row;padding:8px}.elder-grid-tile-row:first-child{padding-top:16px}.elder-grid-tile-hidden{flex:0 1 100%;margin:8px;width:100%;height:100%}.elder-grid-tile-content{position:relative;width:100%;height:100%;overflow:hidden}.cdk-drag-preview{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{flex:0 1 100%;background:#ccc;border:dotted 3px #999;min-height:60px;transition:transform .25s cubic-bezier(0,0,.2,1)}.elder-grid-tile-overlay{position:absolute;left:0;top:0;right:0;bottom:0;transition:background-color .1s ease-in,opacity .1s ease-in}.elder-grid-tile-overlay-visible{opacity:1}.elder-grid-tile-overlay-hidden{opacity:0}.elder-click-through{pointer-events:none}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i5.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i6.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i8.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i9.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: i9.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: i9.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "component", type: i10.ElderSingleSortComponent, selector: "elder-single-sort", inputs: ["availableSorts", "translationPrefix", "sort"], outputs: ["sortChange"] }, { kind: "component", type: i11.ElderSelectionMasterCheckboxComponent, selector: "elder-selection-master-checkbox" }, { kind: "directive", type: i12.DataContextSelectionDirective, selector: "[elderDataContextSelection]", inputs: ["elderDataContextSelectionModel", "elderDataContextSelection"], exportAs: ["elderDataContextSelection"] }, { kind: "component", type: i13.DataContextStateIndicatorComponent, selector: "elder-data-context-state-indicator", inputs: ["dataContext"] }, { kind: "directive", type: i14.ElderInfiniteScrollLegacyDirective, selector: "[infiniteScroll]" }, { kind: "directive", type: i15.ElderStopEventPropagationDirective, selector: "[elderStopEventPropagation]" }, { kind: "component", type: i16.MatPaginator, selector: "mat-paginator", inputs: ["disabled"], exportAs: ["matPaginator"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
251
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
251
|
+
], queries: [{ propertyName: "tileTemplateQuery", first: true, predicate: ElderGridTileDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "toolbarTemplateQuery", first: true, predicate: ElderGridToolbarDirective, descendants: true, read: TemplateRef, static: true }], viewQueries: [{ propertyName: "virtualScrollViewPort", first: true, predicate: ["virtualScrollViewPort"], descendants: true, static: true }, { propertyName: "matPaginator", first: true, predicate: MatPaginator, descendants: true }], usesInheritance: true, ngImport: i0, template: "<mat-card class=\"full\"\n [class.embedded]=\"embedded\"\n [appearance]=\"appearance\"\n style=\"overflow: hidden\"\n>\n <!-- Grid Browser -->\n <div class=\"layout-col full elder-grid-container\"\n *ngIf=\"dataContext$ | async as data\"\n [elderDataContextSelection]=\"data\" #dataSelection=\"elderDataContextSelection\"\n [elderDataContextSelectionModel]=\"selectionModel\"\n >\n <!-- Toolbar Row -->\n <div *ngIf=\"toolbarVisible\"\n class=\"layout-row place-start-center flex-none elder-grid-toolbar\">\n\n <div class=\"layout-col flex-none\" style=\"padding-left: 8px; padding-right: 8px\" *ngIf=\"selectionVisible\">\n <elder-selection-master-checkbox class=\"flex-none\" style=\"padding-left: 12px\"></elder-selection-master-checkbox>\n </div>\n\n <!-- Toolbar -->\n <ng-container *ngIf=\"toolbarTemplate\">\n <ng-template *ngTemplateOutlet=\"toolbarTemplate; context: {$implicit: this}\"></ng-template>\n </ng-container>\n\n <elder-single-sort *ngIf=\"availableSorts && availableSorts.length > 0 && data.sort.sorts | async as sorts\"\n class=\"flex-none\"\n [availableSorts]=\"availableSorts\"\n [translationPrefix]=\"sortTranslationPrefix\"\n [sort]=\"sorts[0]\"\n (sortChange)=\"updateSort($event)\">\n </elder-single-sort>\n </div>\n\n <mat-divider *ngIf=\"toolbarVisible\"></mat-divider>\n\n <elder-data-context-state-indicator class=\"flex-none\" [dataContext]=\"data\">\n </elder-data-context-state-indicator>\n\n <!-- [cdkDropListSortingDisabled]=\"true\" -->\n <!-- cdkDropList -->\n <cdk-virtual-scroll-viewport\n class=\"layout-col flex elder-grid-browser\"\n id=\"documents-container\"\n [itemSize]=\"itemHeight\"\n [minBufferPx]=\"itemHeight * 2\"\n [maxBufferPx]=\"itemHeight * 3\"\n #virtualScrollViewPort\n infiniteScroll\n [eventThrottle]=\"200\"\n [offsetFactor]=\"2\"\n [ignoreScrollEvent]=\"data.loading | async\"\n [containerId]=\"'documents-container'\" [listenToHost]=\"false\"\n (closeToEnd)=\"requestMoreDataZoned($event)\">\n\n <!-- (scrolling)=\"onScrolling($event)\" -->\n\n <div\n *cdkVirtualFor=\"let row of dataRows$; trackBy: trackByIndex; templateCacheSize: 50\"\n class=\"elder-grid-tile-row\"\n [style.height]=\"itemHeight + 'px'\">\n\n <ng-container *ngFor=\"let tile of row; trackBy: trackByFn\">\n\n <!-- Tile Cell -->\n <div *ngIf=\"showTile(tile)\" class=\"elder-grid-tile\">\n <!-- cdkDrag [cdkDragDisabled]=\"true\" [cdkDragData]=\"tile\" -->\n <!-- <div class=\"tile-placeholder\" *cdkDragPlaceholder></div> -->\n <div class=\"elder-grid-tile-content\"\n (click)=\"onItemClick(tile)\"\n (dblclick)=\"onItemDoubleClick(tile)\">\n <ng-container\n *ngTemplateOutlet=\"tileTemplate || simpleTileTemplate; context: {$implicit: tile}\">\n </ng-container>\n\n <!-- Overlay (Selection) -->\n <ng-container *ngIf=\"selectionVisible\">\n <div *ngIf=\"selectionModel.selection | async as selection\"\n class=\"elder-grid-tile-overlay\"\n [class.elder-grid-tile-overlay-hidden]=\"!inSelectionMode(selection)\"\n [class.elder-grid-tile-overlay-visible]=\"inSelectionMode(selection)\"\n [class.elder-click-through]=\"true\"\n >\n <button mat-icon-button type=\"button\"\n (click)=\"selectionModel.toggle(tile)\" elderStopEventPropagation\n class=\"elder-grid-tile-check\">\n <mat-icon\n [class.elder-selected]=\"(selectionModel.observeSelection(tile) | async)\"\n >\n {{(selectionModel.observeSelection(tile) | async) ? 'check_circle' : 'radio_button_unchecked'}}\n </mat-icon>\n </button>\n </div>\n </ng-container>\n\n </div>\n </div>\n\n <div *ngIf=\"!showTile(tile)\" class=\"elder-grid-tile-hidden\"></div>\n </ng-container>\n\n </div>\n\n </cdk-virtual-scroll-viewport>\n\n\n <mat-progress-bar class=\"flex-none\"\n [mode]=\"(data?.loading | async) ? 'indeterminate' : 'determinate'\"\n [color]=\"(data && (data.status | async)?.hasError) ? 'warn' : 'primary'\">\n </mat-progress-bar>\n\n <!-- Footer -->\n <div class=\"layout-row place-end-center gap-md flex-none elder-grid-footer\"\n *ngIf=\"footerVisible\"\n style=\"padding-right: 12px\">\n\n <!-- Continuable -->\n <ng-container *ngIf=\"isContinuable\">\n <span class=\"mat-caption noselect\" style=\"color: gray\">\n {{(dataSnapshot?.data | async)?.length}} / {{total$ | async}}\n </span>\n\n <button mat-icon-button type=\"button\"\n color=\"primary\"\n [disabled]=\"!(canLoadMore$ | async)\"\n (click)=\"dataSnapshot.loadMore()\">\n <mat-icon>keyboard_arrow_down</mat-icon>\n </button>\n </ng-container>\n\n <!-- Paged -->\n <mat-paginator #matPaginator *ngIf=\"isActivePaged && (dataActivePaged.page | async) as page\"\n class=\"flex-none\"\n [length]=\"dataContext?.total | async\"\n [pageIndex]=\"page?.index\"\n [pageSize]=\"page?.size\"\n [pageSizeOptions]=\"pageSizeOptions\">\n </mat-paginator>\n\n <!-- Local Source -->\n <ng-container *ngIf=\"!isActivePaged && !isContinuable\">\n <span class=\"mat-caption noselect\" style=\"color: gray\">\n {{(dataSnapshot?.data | async)?.length}}\n </span>\n </ng-container>\n\n </div>\n\n\n </div>\n</mat-card>\n\n<ng-template #simpleTileTemplate let-tile>\n <div *ngIf=\"tile\" class=\"layout-col place-center-center flex\" style=\"background-color: lightblue\">\n <p class=\"noselect\">Tile: {{tile}}</p>\n </div>\n</ng-template>\n", styles: [":host{min-width:0;min-height:0}.scroll-fix{min-width:0;min-height:0}.elder-grid-tile-row{display:flex;flex-direction:row;padding:8px}.elder-grid-tile-row:first-child{padding-top:16px}.elder-grid-tile-hidden{flex:0 1 100%;margin:8px;width:100%;height:100%}.elder-grid-tile-content{position:relative;width:100%;height:100%;overflow:hidden}.cdk-drag-preview{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{flex:0 1 100%;background:#ccc;border:dotted 3px #999;min-height:60px;transition:transform .25s cubic-bezier(0,0,.2,1)}.elder-grid-tile-overlay{position:absolute;inset:0;transition:background-color .1s ease-in,opacity .1s ease-in}.elder-grid-tile-overlay-visible{opacity:1}.elder-grid-tile-overlay-hidden{opacity:0}.elder-click-through{pointer-events:none}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i5.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i6.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i9.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: i9.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: i9.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "component", type: i10.ElderSingleSortComponent, selector: "elder-single-sort", inputs: ["availableSorts", "translationPrefix", "sort"], outputs: ["sortChange"] }, { kind: "component", type: i11.ElderSelectionMasterCheckboxComponent, selector: "elder-selection-master-checkbox" }, { kind: "directive", type: i12.DataContextSelectionDirective, selector: "[elderDataContextSelection]", inputs: ["elderDataContextSelectionModel", "elderDataContextSelection"], exportAs: ["elderDataContextSelection"] }, { kind: "component", type: i13.DataContextStateIndicatorComponent, selector: "elder-data-context-state-indicator", inputs: ["dataContext"] }, { kind: "directive", type: i14.ElderInfiniteScrollLegacyDirective, selector: "[infiniteScroll]" }, { kind: "directive", type: i15.ElderStopEventPropagationDirective, selector: "[elderStopEventPropagation]" }, { kind: "component", type: i16.MatPaginator, selector: "mat-paginator", inputs: ["disabled"], exportAs: ["matPaginator"] }, { kind: "component", type: i17.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
252
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ElderGridComponent, decorators: [{
|
|
252
253
|
type: Component,
|
|
253
254
|
args: [{ selector: 'elder-grid', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
254
255
|
{
|
|
255
256
|
provide: ELDER_DATA_VIEW,
|
|
256
257
|
useExisting: forwardRef(() => ElderGridComponent)
|
|
257
258
|
}
|
|
258
|
-
], template: "<
|
|
259
|
+
], template: "<mat-card class=\"full\"\n [class.embedded]=\"embedded\"\n [appearance]=\"appearance\"\n style=\"overflow: hidden\"\n>\n <!-- Grid Browser -->\n <div class=\"layout-col full elder-grid-container\"\n *ngIf=\"dataContext$ | async as data\"\n [elderDataContextSelection]=\"data\" #dataSelection=\"elderDataContextSelection\"\n [elderDataContextSelectionModel]=\"selectionModel\"\n >\n <!-- Toolbar Row -->\n <div *ngIf=\"toolbarVisible\"\n class=\"layout-row place-start-center flex-none elder-grid-toolbar\">\n\n <div class=\"layout-col flex-none\" style=\"padding-left: 8px; padding-right: 8px\" *ngIf=\"selectionVisible\">\n <elder-selection-master-checkbox class=\"flex-none\" style=\"padding-left: 12px\"></elder-selection-master-checkbox>\n </div>\n\n <!-- Toolbar -->\n <ng-container *ngIf=\"toolbarTemplate\">\n <ng-template *ngTemplateOutlet=\"toolbarTemplate; context: {$implicit: this}\"></ng-template>\n </ng-container>\n\n <elder-single-sort *ngIf=\"availableSorts && availableSorts.length > 0 && data.sort.sorts | async as sorts\"\n class=\"flex-none\"\n [availableSorts]=\"availableSorts\"\n [translationPrefix]=\"sortTranslationPrefix\"\n [sort]=\"sorts[0]\"\n (sortChange)=\"updateSort($event)\">\n </elder-single-sort>\n </div>\n\n <mat-divider *ngIf=\"toolbarVisible\"></mat-divider>\n\n <elder-data-context-state-indicator class=\"flex-none\" [dataContext]=\"data\">\n </elder-data-context-state-indicator>\n\n <!-- [cdkDropListSortingDisabled]=\"true\" -->\n <!-- cdkDropList -->\n <cdk-virtual-scroll-viewport\n class=\"layout-col flex elder-grid-browser\"\n id=\"documents-container\"\n [itemSize]=\"itemHeight\"\n [minBufferPx]=\"itemHeight * 2\"\n [maxBufferPx]=\"itemHeight * 3\"\n #virtualScrollViewPort\n infiniteScroll\n [eventThrottle]=\"200\"\n [offsetFactor]=\"2\"\n [ignoreScrollEvent]=\"data.loading | async\"\n [containerId]=\"'documents-container'\" [listenToHost]=\"false\"\n (closeToEnd)=\"requestMoreDataZoned($event)\">\n\n <!-- (scrolling)=\"onScrolling($event)\" -->\n\n <div\n *cdkVirtualFor=\"let row of dataRows$; trackBy: trackByIndex; templateCacheSize: 50\"\n class=\"elder-grid-tile-row\"\n [style.height]=\"itemHeight + 'px'\">\n\n <ng-container *ngFor=\"let tile of row; trackBy: trackByFn\">\n\n <!-- Tile Cell -->\n <div *ngIf=\"showTile(tile)\" class=\"elder-grid-tile\">\n <!-- cdkDrag [cdkDragDisabled]=\"true\" [cdkDragData]=\"tile\" -->\n <!-- <div class=\"tile-placeholder\" *cdkDragPlaceholder></div> -->\n <div class=\"elder-grid-tile-content\"\n (click)=\"onItemClick(tile)\"\n (dblclick)=\"onItemDoubleClick(tile)\">\n <ng-container\n *ngTemplateOutlet=\"tileTemplate || simpleTileTemplate; context: {$implicit: tile}\">\n </ng-container>\n\n <!-- Overlay (Selection) -->\n <ng-container *ngIf=\"selectionVisible\">\n <div *ngIf=\"selectionModel.selection | async as selection\"\n class=\"elder-grid-tile-overlay\"\n [class.elder-grid-tile-overlay-hidden]=\"!inSelectionMode(selection)\"\n [class.elder-grid-tile-overlay-visible]=\"inSelectionMode(selection)\"\n [class.elder-click-through]=\"true\"\n >\n <button mat-icon-button type=\"button\"\n (click)=\"selectionModel.toggle(tile)\" elderStopEventPropagation\n class=\"elder-grid-tile-check\">\n <mat-icon\n [class.elder-selected]=\"(selectionModel.observeSelection(tile) | async)\"\n >\n {{(selectionModel.observeSelection(tile) | async) ? 'check_circle' : 'radio_button_unchecked'}}\n </mat-icon>\n </button>\n </div>\n </ng-container>\n\n </div>\n </div>\n\n <div *ngIf=\"!showTile(tile)\" class=\"elder-grid-tile-hidden\"></div>\n </ng-container>\n\n </div>\n\n </cdk-virtual-scroll-viewport>\n\n\n <mat-progress-bar class=\"flex-none\"\n [mode]=\"(data?.loading | async) ? 'indeterminate' : 'determinate'\"\n [color]=\"(data && (data.status | async)?.hasError) ? 'warn' : 'primary'\">\n </mat-progress-bar>\n\n <!-- Footer -->\n <div class=\"layout-row place-end-center gap-md flex-none elder-grid-footer\"\n *ngIf=\"footerVisible\"\n style=\"padding-right: 12px\">\n\n <!-- Continuable -->\n <ng-container *ngIf=\"isContinuable\">\n <span class=\"mat-caption noselect\" style=\"color: gray\">\n {{(dataSnapshot?.data | async)?.length}} / {{total$ | async}}\n </span>\n\n <button mat-icon-button type=\"button\"\n color=\"primary\"\n [disabled]=\"!(canLoadMore$ | async)\"\n (click)=\"dataSnapshot.loadMore()\">\n <mat-icon>keyboard_arrow_down</mat-icon>\n </button>\n </ng-container>\n\n <!-- Paged -->\n <mat-paginator #matPaginator *ngIf=\"isActivePaged && (dataActivePaged.page | async) as page\"\n class=\"flex-none\"\n [length]=\"dataContext?.total | async\"\n [pageIndex]=\"page?.index\"\n [pageSize]=\"page?.size\"\n [pageSizeOptions]=\"pageSizeOptions\">\n </mat-paginator>\n\n <!-- Local Source -->\n <ng-container *ngIf=\"!isActivePaged && !isContinuable\">\n <span class=\"mat-caption noselect\" style=\"color: gray\">\n {{(dataSnapshot?.data | async)?.length}}\n </span>\n </ng-container>\n\n </div>\n\n\n </div>\n</mat-card>\n\n<ng-template #simpleTileTemplate let-tile>\n <div *ngIf=\"tile\" class=\"layout-col place-center-center flex\" style=\"background-color: lightblue\">\n <p class=\"noselect\">Tile: {{tile}}</p>\n </div>\n</ng-template>\n", styles: [":host{min-width:0;min-height:0}.scroll-fix{min-width:0;min-height:0}.elder-grid-tile-row{display:flex;flex-direction:row;padding:8px}.elder-grid-tile-row:first-child{padding-top:16px}.elder-grid-tile-hidden{flex:0 1 100%;margin:8px;width:100%;height:100%}.elder-grid-tile-content{position:relative;width:100%;height:100%;overflow:hidden}.cdk-drag-preview{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{flex:0 1 100%;background:#ccc;border:dotted 3px #999;min-height:60px;transition:transform .25s cubic-bezier(0,0,.2,1)}.elder-grid-tile-overlay{position:absolute;inset:0;transition:background-color .1s ease-in,opacity .1s ease-in}.elder-grid-tile-overlay-visible{opacity:1}.elder-grid-tile-overlay-hidden{opacity:0}.elder-click-through{pointer-events:none}\n"] }]
|
|
259
260
|
}], ctorParameters: function () { return [{ type: i1.SelectionModel, decorators: [{
|
|
260
261
|
type: Optional
|
|
261
262
|
}] }, { type: i2.ElderDataViewOptionsProvider, decorators: [{
|
|
@@ -303,4 +304,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImpo
|
|
|
303
304
|
}], columnCount: [{
|
|
304
305
|
type: Input
|
|
305
306
|
}] } });
|
|
306
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2RhdGEtdmlldy9ncmlkL2VsZGVyLWdyaWQvZWxkZXItZ3JpZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2RhdGEtdmlldy9ncmlkL2VsZGVyLWdyaWQvZWxkZXItZ3JpZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBRUwsUUFBUSxFQUNSLFFBQVEsRUFDUixXQUFXLEVBRVgsU0FBUyxFQUVWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUMsZUFBZSxFQUFFLGFBQWEsRUFBYyxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDcEUsT0FBTyxFQUF3Qyx3QkFBd0IsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBR2xJLE9BQU8sRUFBQyxZQUFZLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRTFGLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUMzRSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDekQsT0FBTyxFQUFDLGlDQUFpQyxFQUFDLE1BQU0scUVB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O2dCQUlDLHFCQUFxQjtzQkFEM0IsS0FBSztnQkFJQyxxQkFBcUI7c0JBRDNCLFNBQVM7dUJBQUMsdUJBQXVCLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDO2dCQUkzQyxjQUFjO3NCQURwQixLQUFLO2dCQUlDLHFCQUFxQjtzQkFEM0IsS0FBSztnQkFJQyxXQUFXO3NCQURqQixLQUFLO2dCQU9DLE9BQU87c0JBRGIsS0FBSztnQkFJQyxnQkFBZ0I7c0JBRHRCLEtBQUs7Z0JBSUMsZUFBZTtzQkFEckIsS0FBSztnQkFHQyxZQUFZO3NCQURsQixTQUFTO3VCQUFDLFlBQVk7Z0JBSWhCLG9CQUFvQjtzQkFEMUIsWUFBWTt1QkFBQyx5QkFBeUIsRUFBRSxFQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBQztnQkE4RC9ELFlBQVk7c0JBRHRCLEtBQUs7Z0JBVUssZUFBZTtzQkFEekIsS0FBSztnQkFVSyxJQUFJO3NCQURkLEtBQUs7Z0JBc0JLLFdBQVc7c0JBRHJCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIERpcmVjdGl2ZSxcbiAgZm9yd2FyZFJlZixcbiAgSW5wdXQsIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPcHRpb25hbCxcbiAgU2tpcFNlbGYsXG4gIFRlbXBsYXRlUmVmLFxuICBUcmFja0J5RnVuY3Rpb24sXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NvbnRhaW5lclJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TG9nZ2VyRmFjdG9yeX0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUsIG9mfSBmcm9tICdyeGpzJztcbmltcG9ydCB7SURhdGFDb250ZXh0LCBJRGF0YUNvbnRleHRDb250aW51YWJsZSwgaXNDb250aW51YWJsZURhdGFDb250ZXh0fSBmcm9tICcuLi8uLi8uLi8uLi9jb21tb24vZGF0YS9kYXRhLWNvbnRleHQvZGF0YS1jb250ZXh0JztcbmltcG9ydCB7Q2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0fSBmcm9tICdAYW5ndWxhci9jZGsvc2Nyb2xsaW5nJztcbmltcG9ydCB7U2VsZWN0aW9uTW9kZWx9IGZyb20gJy4uLy4uLy4uLy4uL2NvbW1vbi9zZWxlY3Rpb24vc2VsZWN0aW9uLW1vZGVsJztcbmltcG9ydCB7ZGVib3VuY2VUaW1lLCBmaWx0ZXIsIG1hcCwgc3RhcnRXaXRoLCBzd2l0Y2hNYXAsIHRha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtTb3J0fSBmcm9tICcuLi8uLi8uLi8uLi9jb21tb24vZGF0YS9zb3J0JztcbmltcG9ydCB7RUxERVJfREFUQV9WSUVXfSBmcm9tICcuLi8uLi9iYXNlL2VsZGVyLWRhdGEtdmlldyc7XG5pbXBvcnQge0VsZGVyRGF0YVZpZXdCYXNlQ29tcG9uZW50fSBmcm9tICcuLi8uLi9iYXNlL2VsZGVyLWRhdGEtdmlldy1iYXNlJztcbmltcG9ydCB7TWF0UGFnaW5hdG9yfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wYWdpbmF0b3InO1xuaW1wb3J0IHtNYXRUYWJsZURhdGFDb250ZXh0QmluZGluZ0J1aWxkZXJ9IGZyb20gJy4uLy4uLy4uLy4uL2NvbW1vbi9kYXRhL2RhdGEtY29udGV4dC9tYXQtdGFibGUtZGF0YS1jb250ZXh0LWJpbmRpbmcnO1xuaW1wb3J0IHtFbGRlckRhdGFWaWV3T3B0aW9uc1Byb3ZpZGVyfSBmcm9tICcuLi8uLi9iYXNlL2VsZGVyLWRhdGEtdmlldy1vcHRpb25zLXByb3ZpZGVyJztcbmltcG9ydCB7QnJlYWtwb2ludE9ic2VydmVyLCBCcmVha3BvaW50c30gZnJvbSAnQGFuZ3VsYXIvY2RrL2xheW91dCc7XG5cbkBEaXJlY3RpdmUoe3NlbGVjdG9yOiAnW2VsZGVyR3JpZFRpbGVdJ30pXG5leHBvcnQgY2xhc3MgRWxkZXJHcmlkVGlsZURpcmVjdGl2ZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PixcbiAgICBwdWJsaWMgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZikge1xuICB9XG59XG5cbi8qKlxuICogVGhpcyBkaXJlY3RpdmUgcHJvamVjdHMgbWFya2VkIGNvbnRlbnQgaW50byBhIHRvb2xiYXIuXG4gKi9cbkBEaXJlY3RpdmUoe3NlbGVjdG9yOiAnW2VsZGVyR3JpZFRvb2xiYXJdJ30pXG5leHBvcnQgY2xhc3MgRWxkZXJHcmlkVG9vbGJhckRpcmVjdGl2ZSB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+LFxuICAgIHB1YmxpYyB2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmXG4gICkge1xuICB9XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VsZGVyLWdyaWQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZWxkZXItZ3JpZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2VsZGVyLWdyaWQuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IEVMREVSX0RBVEFfVklFVyxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEVsZGVyR3JpZENvbXBvbmVudClcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJHcmlkQ29tcG9uZW50IGV4dGVuZHMgRWxkZXJEYXRhVmlld0Jhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKTtcblxuICBwcml2YXRlIF9jb2x1bW5Db3VudCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPig0KTtcblxuICBwcml2YXRlIHJlYWRvbmx5IHNpemVUb0NvbHVtbnMgPSBuZXcgTWFwKFtcbiAgICBbQnJlYWtwb2ludHMuWFNtYWxsLCAxXSxcbiAgICBbQnJlYWtwb2ludHMuU21hbGwsIDJdLFxuICAgIFtCcmVha3BvaW50cy5NZWRpdW0sIDNdLFxuICAgIFtCcmVha3BvaW50cy5MYXJnZSwgNF0sXG4gICAgW0JyZWFrcG9pbnRzLlhMYXJnZSwgNV1cbiAgXSk7XG5cbiAgLyoqXG4gICAqIExvYWQgbmV4dCBjaHVuayBhZnRlciBjdXJyZW50IGlzIGRvbmVcbiAgICovXG4gIHByaXZhdGUgbG9hZE5leHRRdWV1ZWQgPSBmYWxzZTtcblxuICBwdWJsaWMgZGF0YVJvd3MkOiBPYnNlcnZhYmxlPGFueVtdW10+O1xuXG4gIHB1YmxpYyBjYW5Mb2FkTW9yZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIHB1YmxpYyB0b3RhbCQ6IE9ic2VydmFibGU8c3RyaW5nPjtcblxuICBAQ29udGVudENoaWxkKEVsZGVyR3JpZFRpbGVEaXJlY3RpdmUsIHtyZWFkOiBUZW1wbGF0ZVJlZiwgc3RhdGljOiB0cnVlfSlcbiAgcHVibGljIHRpbGVUZW1wbGF0ZVF1ZXJ5OiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBwcml2YXRlIF90aWxlVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQElucHV0KClcbiAgcHVibGljIHRvb2xiYXJWaXNpYmxlID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZm9vdGVyVmlzaWJsZSA9IHRydWU7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGl0ZW1IZWlnaHQgPSAyNTA7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHJlc3BvbnNpdmVDb2x1bW5Db3VudCA9IHRydWU7XG5cbiAgQFZpZXdDaGlsZCgndmlydHVhbFNjcm9sbFZpZXdQb3J0Jywge3N0YXRpYzogdHJ1ZX0pXG4gIHB1YmxpYyB2aXJ0dWFsU2Nyb2xsVmlld1BvcnQ6IENka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgYXZhaWxhYmxlU29ydHM6IHN0cmluZ1tdID0gW107XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNvcnRUcmFuc2xhdGlvblByZWZpeCA9ICdkb2N1bWVudHMuc29ydHMuJztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgaGlkZGVuRmllbGQ6IHN0cmluZyA9IG51bGw7XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIE5vIGxvbmdlciByZXF1aXJlZC4gSWQgaXMgYXV0b21hdGljYWxseSBwaWNrZWQgZnJvbSB0aGUgRGF0YVNvdXJjZS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpZEZpZWxkID0gJ2lkJztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2VsZWN0aW9uVmlzaWJsZSA9IHRydWU7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHBhZ2VTaXplT3B0aW9ucyA9IFszMCwgNTAsIDEwMCwgMTUwLCAyMDBdO1xuICBAVmlld0NoaWxkKE1hdFBhZ2luYXRvcilcbiAgcHVibGljIG1hdFBhZ2luYXRvcjogTWF0UGFnaW5hdG9yO1xuXG4gIEBDb250ZW50Q2hpbGQoRWxkZXJHcmlkVG9vbGJhckRpcmVjdGl2ZSwge3JlYWQ6IFRlbXBsYXRlUmVmLCBzdGF0aWM6IHRydWV9KVxuICBwdWJsaWMgdG9vbGJhclRlbXBsYXRlUXVlcnk6IFRlbXBsYXRlUmVmPGFueT47XG4gIHByaXZhdGUgX3Rvb2xiYXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKSBzZWxlY3Rpb25Nb2RlbDogU2VsZWN0aW9uTW9kZWw8YW55PixcbiAgICBAT3B0aW9uYWwoKSBAU2tpcFNlbGYoKSBkYXRhVmlld09wdGlvbnNQcm92aWRlcjogRWxkZXJEYXRhVmlld09wdGlvbnNQcm92aWRlcixcbiAgICBwcml2YXRlIGJyZWFrcG9pbnRPYnNlcnZlcjogQnJlYWtwb2ludE9ic2VydmVyXG4gICkge1xuICAgIHN1cGVyKHNlbGVjdGlvbk1vZGVsLCBkYXRhVmlld09wdGlvbnNQcm92aWRlcik7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogTGlmZWN5Y2xlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgc3VwZXIubmdPbkluaXQoKTtcblxuICAgIGNvbnN0IGNvbHVtbkNvdW50JCA9IChcbiAgICAgIHRoaXMucmVzcG9uc2l2ZUNvbHVtbkNvdW50XG4gICAgICAgID8gdGhpcy5yZXNwb25zaXZlQ29sdW1uKClcbiAgICAgICAgOiB0aGlzLl9jb2x1bW5Db3VudCk7XG5cbiAgICB0aGlzLmRhdGFSb3dzJCA9IGNvbWJpbmVMYXRlc3QoXG4gICAgICBbXG4gICAgICAgIHRoaXMuZGF0YUNvbnRleHQkLnBpcGUoXG4gICAgICAgICAgZmlsdGVyKGRjID0+ICEhZGMpLFxuICAgICAgICAgIHN3aXRjaE1hcChkYyA9PiBkYy5kYXRhKVxuICAgICAgICApLFxuICAgICAgICBjb2x1bW5Db3VudCRcbiAgICAgIF0pLnBpcGUoXG4gICAgICBkZWJvdW5jZVRpbWUoNTApLFxuICAgICAgbWFwKFxuICAgICAgICAoW2RhdGEsIGNvbHVtbnNdKSA9PiB0aGlzLmdyb3VwRm9yQ29sdW1ucyhkYXRhLCBjb2x1bW5zKVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuXG4gICAgTWF0VGFibGVEYXRhQ29udGV4dEJpbmRpbmdCdWlsZGVyXG4gICAgICAuc3RhcnQodGhpcy5kYXRhQ29udGV4dCQpXG4gICAgICAud2l0aFBhZ2luYXRvcihvZih0aGlzLm1hdFBhZ2luYXRvcikpXG4gICAgICAuYmluZFVudGlsKHRoaXMuZGVzdHJveSQpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCB0aWxlVGVtcGxhdGUodGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4pIHtcbiAgICB0aGlzLl90aWxlVGVtcGxhdGUgPSB0ZW1wbGF0ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdGlsZVRlbXBsYXRlKCk6IFRlbXBsYXRlUmVmPGFueT4ge1xuICAgIHJldHVybiB0aGlzLl90aWxlVGVtcGxhdGUgfHwgdGhpcy50aWxlVGVtcGxhdGVRdWVyeTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgdG9vbGJhclRlbXBsYXRlKHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+KSB7XG4gICAgdGhpcy5fdG9vbGJhclRlbXBsYXRlID0gdGVtcGxhdGU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHRvb2xiYXJUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5fdG9vbGJhclRlbXBsYXRlIHx8IHRoaXMudG9vbGJhclRlbXBsYXRlUXVlcnk7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGRhdGEoZGF0YTogSURhdGFDb250ZXh0PGFueT4pIHtcbiAgICB0aGlzLmRhdGFDb250ZXh0JC5uZXh0KGRhdGEpO1xuXG4gICAgdGhpcy50b3RhbCQgPSBkYXRhLnRvdGFsLnBpcGUoXG4gICAgICBtYXAodG90YWwgPT4gdG90YWwgPyB0b3RhbCArICcnIDogJ+KInicpXG4gICAgKTtcblxuICAgIGlmIChpc0NvbnRpbnVhYmxlRGF0YUNvbnRleHQoZGF0YSkpIHtcbiAgICAgIHRoaXMuY2FuTG9hZE1vcmUkID0gY29tYmluZUxhdGVzdChbZGF0YS5sb2FkaW5nLCBkYXRhLmhhc01vcmVEYXRhXSkucGlwZShcbiAgICAgICAgbWFwKChbbG9hZGluZywgaGFzTW9yZURhdGFdKSA9PiAhbG9hZGluZyAmJiBoYXNNb3JlRGF0YSlcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY2FuTG9hZE1vcmUkID0gb2YoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGF0YVNuYXBzaG90KCk6IElEYXRhQ29udGV4dENvbnRpbnVhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmRhdGFDb250aW51YWJsZTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgY29sdW1uQ291bnQoY291bnQ6IG51bWJlcikge1xuICAgIHRoaXMuX2NvbHVtbkNvdW50Lm5leHQoY291bnQpO1xuICB9XG5cbiAgcHVibGljIGdldCBjb2x1bW5Db3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9jb2x1bW5Db3VudC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGluU2VsZWN0aW9uTW9kZShjdXJyZW50U2VsZWN0aW9uOiBhbnlbXSk6IGJvb2xlYW4ge1xuXG4gICAgaWYgKHRoaXMuaW50ZXJhY3Rpb25Nb2RlID09PSAnc2VsZWN0aW9uJykge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgaWYgKGN1cnJlbnRTZWxlY3Rpb24gJiYgY3VycmVudFNlbGVjdGlvbi5sZW5ndGggPiAwKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgcmVxdWVzdE1vcmVEYXRhWm9uZWQoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRhdGFTbmFwc2hvdC5oYXNNb3JlRGF0YVNuYXBzaG90KSB7XG5cbiAgICAgIGlmICh0aGlzLmRhdGFTbmFwc2hvdC5zbmFwc2hvdC5pc0xvYWRpbmcpIHtcbiAgICAgICAgdGhpcy5sb2FkTmV4dFF1ZXVlZCA9IHRydWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmRhdGFTbmFwc2hvdC5sb2FkTW9yZSgpXG4gICAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICAgIGxvYWRlZCA9PiB7XG4gICAgICAgICAgICAgIGlmICh0aGlzLmxvYWROZXh0UXVldWVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkTmV4dFF1ZXVlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMucmVxdWVzdE1vcmVEYXRhWm9uZWQoZXZlbnQpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5sb2FkTmV4dFF1ZXVlZCA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgdHJhY2tCeUZuKCk6IFRyYWNrQnlGdW5jdGlvbjxhbnk+IHtcbiAgICByZXR1cm4gKGluZGV4OiBudW1iZXIsIGVudGl0eTogYW55KSA9PiBpbmRleDtcbiAgfVxuXG4gIHB1YmxpYyB0cmFja0J5SW5kZXgoaW5kZXg6IG51bWJlciwgaXRlbXM6IGFueVtdKTogYW55IHtcbiAgICByZXR1cm4gaW5kZXg7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlU29ydChzb3J0OiBTb3J0KTogdm9pZCB7XG4gICAgY29uc3QgZGMgPSB0aGlzLmRhdGFDb250ZXh0JC5nZXRWYWx1ZSgpO1xuICAgIGlmIChkYykge1xuICAgICAgZGMuc29ydC5yZXBsYWNlU29ydHMoW3NvcnRdKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2hvd1RpbGUodGlsZTogYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRpbGUgJiYgKHRoaXMuaGlkZGVuRmllbGQgPyAhdGlsZVt0aGlzLmhpZGRlbkZpZWxkXSA6IHRydWUpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgTWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSBzY3JvbGxUb3AoKSB7XG4gICAgdGhpcy52aXJ0dWFsU2Nyb2xsVmlld1BvcnQuc2Nyb2xsVG9JbmRleCgwLCAnc21vb3RoJyk7XG4gIH1cblxuICBwcml2YXRlIGdyb3VwRm9yQ29sdW1ucyhub2RlczogYW55W10sIGNvbHVtbnM6IG51bWJlcik6IGFueVtdW10ge1xuXG4gICAgY29uc3Qgcm93czogYW55W11bXSA9IFtdO1xuXG4gICAgY29uc3Qgcm93Q291bnQgPSBub2Rlcy5sZW5ndGggLyBjb2x1bW5zO1xuXG4gICAgZm9yIChsZXQgcm93SW5kZXggPSAwOyByb3dJbmRleCA8IHJvd0NvdW50OyByb3dJbmRleCsrKSB7XG4gICAgICBjb25zdCByb3dTdGFydEluZGV4ID0gcm93SW5kZXggKiBjb2x1bW5zO1xuICAgICAgY29uc3Qgcm93ID0gbm9kZXMuc2xpY2Uocm93U3RhcnRJbmRleCwgcm93U3RhcnRJbmRleCArIGNvbHVtbnMpO1xuXG4gICAgICB3aGlsZSAocm93Lmxlbmd0aCA8IGNvbHVtbnMpIHtcbiAgICAgICAgcm93LnB1c2gobnVsbCk7IC8vIEZpbGwgdXAgcmVtYWluaW5nXG4gICAgICB9XG4gICAgICByb3dzLnB1c2gocm93KTtcbiAgICB9XG5cbiAgICByZXR1cm4gcm93cztcbiAgfVxuXG4gIHByaXZhdGUgcmVzcG9uc2l2ZUNvbHVtbigpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuICAgIGNvbnN0IGJyZWFrcG9pbnRzID0gQXJyYXkuZnJvbSh0aGlzLnNpemVUb0NvbHVtbnMua2V5cygpKTtcbiAgICByZXR1cm4gdGhpcy5icmVha3BvaW50T2JzZXJ2ZXIub2JzZXJ2ZShicmVha3BvaW50cykucGlwZShcbiAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcbiAgICAgIG1hcChyZXN1bHQgPT4ge1xuICAgICAgICBsZXQgYWN0aXZlU2l6ZSA9IEJyZWFrcG9pbnRzLk1lZGl1bTtcbiAgICAgICAgZm9yIChjb25zdCBxdWVyeSBvZiBPYmplY3Qua2V5cyhyZXN1bHQuYnJlYWtwb2ludHMpKSB7XG4gICAgICAgICAgaWYgKHJlc3VsdC5icmVha3BvaW50c1txdWVyeV0pIHtcbiAgICAgICAgICAgIGFjdGl2ZVNpemUgPSBxdWVyeTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5zaXplVG9Db2x1bW5zLmdldChhY3RpdmVTaXplKTtcbiAgICAgIH0pLFxuICAgICAgZGVib3VuY2VUaW1lKDEwMCksXG4gICAgICBzdGFydFdpdGgodGhpcy5hY3RpdmVDb2x1bW5Db3VudCgpKVxuICAgIClcbiAgfVxuXG4gIHByaXZhdGUgYWN0aXZlQ29sdW1uQ291bnQoKTogbnVtYmVyIHtcbiAgICBsZXQgY29sdW1uQ291bnQgPSAxO1xuICAgIHRoaXMuc2l6ZVRvQ29sdW1ucy5mb3JFYWNoKChjb2xzLCBtcUFsaWFzKSA9PiB7XG4gICAgICBpZiAodGhpcy5icmVha3BvaW50T2JzZXJ2ZXIuaXNNYXRjaGVkKG1xQWxpYXMpKSB7XG4gICAgICAgIGNvbHVtbkNvdW50ID0gY29scztcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gY29sdW1uQ291bnQ7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJsYXlvdXQtY29sIGZ1bGxcIj5cblxuICA8IS0tIEdyaWQgQnJvd3NlciAtLT5cbiAgPGRpdiBjbGFzcz1cImxheW91dC1jb2wgZmxleCBzY3JvbGwtZml4IGVsZGVyLWdyaWQtY29udGFpbmVyXCJcbiAgICAgICAqbmdJZj1cImRhdGFDb250ZXh0JCB8IGFzeW5jIGFzIGRhdGFcIlxuICAgICAgIFtjbGFzcy5lbGRlci1tYXQtdGFibGUtY29udGFpbmVyXT1cIiFlbWJlZGRlZFwiXG4gICAgICAgW2NsYXNzLm1hdC1lbGV2YXRpb24tejVdPVwiZmxvYXRcIlxuICAgICAgIFtjbGFzcy5lbGRlci1tYXQtdGFibGUtZmxhdF09XCIhZW1iZWRkZWQgJiYgIWZsb2F0XCJcblxuICAgICAgIFtlbGRlckRhdGFDb250ZXh0U2VsZWN0aW9uXT1cImRhdGFcIiAjZGF0YVNlbGVjdGlvbj1cImVsZGVyRGF0YUNvbnRleHRTZWxlY3Rpb25cIlxuICAgICAgIFtlbGRlckRhdGFDb250ZXh0U2VsZWN0aW9uTW9kZWxdPVwic2VsZWN0aW9uTW9kZWxcIlxuICA+XG5cbiAgICA8IS0tIFRvb2xiYXIgUm93IC0tPlxuICAgIDxkaXYgKm5nSWY9XCJ0b29sYmFyVmlzaWJsZVwiXG4gICAgICAgICBjbGFzcz1cImxheW91dC1yb3cgcGxhY2Utc3RhcnQtY2VudGVyIGZsZXgtbm9uZSBlbGRlci1ncmlkLXRvb2xiYXJcIj5cblxuICAgICAgPGRpdiBjbGFzcz1cImxheW91dC1jb2wgZmxleC1ub25lXCIgc3R5bGU9XCJwYWRkaW5nLWxlZnQ6IDhweDsgcGFkZGluZy1yaWdodDogOHB4XCIgKm5nSWY9XCJzZWxlY3Rpb25WaXNpYmxlXCI+XG4gICAgICAgIDxlbGRlci1zZWxlY3Rpb24tbWFzdGVyLWNoZWNrYm94IGNsYXNzPVwiZmxleC1ub25lXCIgc3R5bGU9XCJwYWRkaW5nLWxlZnQ6IDEycHhcIj48L2VsZGVyLXNlbGVjdGlvbi1tYXN0ZXItY2hlY2tib3g+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSBUb29sYmFyIC0tPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRvb2xiYXJUZW1wbGF0ZVwiPlxuICAgICAgICA8bmctdGVtcGxhdGUgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0b29sYmFyVGVtcGxhdGU7IGNvbnRleHQ6IHskaW1wbGljaXQ6IHRoaXN9XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8ZWxkZXItc2luZ2xlLXNvcnQgKm5nSWY9XCJhdmFpbGFibGVTb3J0cyAmJiBhdmFpbGFibGVTb3J0cy5sZW5ndGggPiAwICYmIGRhdGEuc29ydC5zb3J0cyB8IGFzeW5jIGFzIHNvcnRzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZsZXgtbm9uZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2F2YWlsYWJsZVNvcnRzXT1cImF2YWlsYWJsZVNvcnRzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbdHJhbnNsYXRpb25QcmVmaXhdPVwic29ydFRyYW5zbGF0aW9uUHJlZml4XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbc29ydF09XCJzb3J0c1swXVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgKHNvcnRDaGFuZ2UpPVwidXBkYXRlU29ydCgkZXZlbnQpXCI+XG4gICAgICA8L2VsZGVyLXNpbmdsZS1zb3J0PlxuICAgIDwvZGl2PlxuXG4gICAgPG1hdC1kaXZpZGVyICpuZ0lmPVwidG9vbGJhclZpc2libGVcIj48L21hdC1kaXZpZGVyPlxuXG4gICAgPGVsZGVyLWRhdGEtY29udGV4dC1zdGF0ZS1pbmRpY2F0b3IgY2xhc3M9XCJmbGV4LW5vbmVcIiBbZGF0YUNvbnRleHRdPVwiZGF0YVwiPlxuICAgIDwvZWxkZXItZGF0YS1jb250ZXh0LXN0YXRlLWluZGljYXRvcj5cblxuICAgIDwhLS0gW2Nka0Ryb3BMaXN0U29ydGluZ0Rpc2FibGVkXT1cInRydWVcIiAtLT5cbiAgICA8IS0tIGNka0Ryb3BMaXN0IC0tPlxuICAgIDxjZGstdmlydHVhbC1zY3JvbGwtdmlld3BvcnRcbiAgICAgIGNsYXNzPVwibGF5b3V0LWNvbCBmbGV4IGVsZGVyLWdyaWQtYnJvd3NlclwiXG4gICAgICBpZD1cImRvY3VtZW50cy1jb250YWluZXJcIlxuICAgICAgW2l0ZW1TaXplXT1cIml0ZW1IZWlnaHRcIlxuICAgICAgW21pbkJ1ZmZlclB4XT1cIml0ZW1IZWlnaHQgKiAyXCJcbiAgICAgIFttYXhCdWZmZXJQeF09XCJpdGVtSGVpZ2h0ICogM1wiXG4gICAgICAjdmlydHVhbFNjcm9sbFZpZXdQb3J0XG4gICAgICBpbmZpbml0ZVNjcm9sbFxuICAgICAgW2V2ZW50VGhyb3R0bGVdPVwiMjAwXCJcbiAgICAgIFtvZmZzZXRGYWN0b3JdPVwiMlwiXG4gICAgICBbaWdub3JlU2Nyb2xsRXZlbnRdPVwiZGF0YS5sb2FkaW5nIHwgYXN5bmNcIlxuICAgICAgW2NvbnRhaW5lcklkXT1cIidkb2N1bWVudHMtY29udGFpbmVyJ1wiIFtsaXN0ZW5Ub0hvc3RdPVwiZmFsc2VcIlxuICAgICAgKGNsb3NlVG9FbmQpPVwicmVxdWVzdE1vcmVEYXRhWm9uZWQoJGV2ZW50KVwiPlxuXG4gICAgICA8IS0tIChzY3JvbGxpbmcpPVwib25TY3JvbGxpbmcoJGV2ZW50KVwiIC0tPlxuXG4gICAgICA8ZGl2XG4gICAgICAgICpjZGtWaXJ0dWFsRm9yPVwibGV0IHJvdyBvZiBkYXRhUm93cyQ7IHRyYWNrQnk6IHRyYWNrQnlJbmRleDsgdGVtcGxhdGVDYWNoZVNpemU6IDUwXCJcbiAgICAgICAgY2xhc3M9XCJlbGRlci1ncmlkLXRpbGUtcm93XCJcbiAgICAgICAgW3N0eWxlLmhlaWdodF09XCJpdGVtSGVpZ2h0ICsgJ3B4J1wiPlxuXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHRpbGUgb2Ygcm93OyB0cmFja0J5OiB0cmFja0J5Rm5cIj5cblxuICAgICAgICAgIDwhLS0gVGlsZSBDZWxsIC0tPlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJzaG93VGlsZSh0aWxlKVwiIGNsYXNzPVwiZWxkZXItZ3JpZC10aWxlXCI+XG4gICAgICAgICAgICA8IS0tIGNka0RyYWcgW2Nka0RyYWdEaXNhYmxlZF09XCJ0cnVlXCIgW2Nka0RyYWdEYXRhXT1cInRpbGVcIiAtLT5cbiAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cInRpbGUtcGxhY2Vob2xkZXJcIiAqY2RrRHJhZ1BsYWNlaG9sZGVyPjwvZGl2PiAtLT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJlbGRlci1ncmlkLXRpbGUtY29udGVudFwiXG4gICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkl0ZW1DbGljayh0aWxlKVwiXG4gICAgICAgICAgICAgICAgIChkYmxjbGljayk9XCJvbkl0ZW1Eb3VibGVDbGljayh0aWxlKVwiPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0aWxlVGVtcGxhdGUgfHwgc2ltcGxlVGlsZVRlbXBsYXRlOyBjb250ZXh0OiB7JGltcGxpY2l0OiB0aWxlfVwiPlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICA8IS0tIE92ZXJsYXkgKFNlbGVjdGlvbikgLS0+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzZWxlY3Rpb25WaXNpYmxlXCI+XG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNlbGVjdGlvbk1vZGVsLnNlbGVjdGlvbiB8IGFzeW5jIGFzIHNlbGVjdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImVsZGVyLWdyaWQtdGlsZS1vdmVybGF5XCJcbiAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5lbGRlci1ncmlkLXRpbGUtb3ZlcmxheS1oaWRkZW5dPVwiIWluU2VsZWN0aW9uTW9kZShzZWxlY3Rpb24pXCJcbiAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5lbGRlci1ncmlkLXRpbGUtb3ZlcmxheS12aXNpYmxlXT1cImluU2VsZWN0aW9uTW9kZShzZWxlY3Rpb24pXCJcbiAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5lbGRlci1jbGljay10aHJvdWdoXT1cInRydWVcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0aW9uTW9kZWwudG9nZ2xlKHRpbGUpXCIgZWxkZXJTdG9wRXZlbnRQcm9wYWdhdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImVsZGVyLWdyaWQtdGlsZS1jaGVja1wiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZWxkZXItc2VsZWN0ZWRdPVwiKHNlbGVjdGlvbk1vZGVsLm9ic2VydmVTZWxlY3Rpb24odGlsZSkgfCBhc3luYylcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAge3soc2VsZWN0aW9uTW9kZWwub2JzZXJ2ZVNlbGVjdGlvbih0aWxlKSB8IGFzeW5jKSA/ICdjaGVja19jaXJjbGUnIDogJ3JhZGlvX2J1dHRvbl91bmNoZWNrZWQnfX1cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIXNob3dUaWxlKHRpbGUpXCIgY2xhc3M9XCJlbGRlci1ncmlkLXRpbGUtaGlkZGVuXCI+PC9kaXY+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8L2Rpdj5cblxuICAgIDwvY2RrLXZpcnR1YWwtc2Nyb2xsLXZpZXdwb3J0PlxuXG5cbiAgICA8bWF0LXByb2dyZXNzLWJhciBjbGFzcz1cImZsZXgtbm9uZVwiXG4gICAgICAgICAgICAgICAgICAgICAgW21vZGVdPVwiKGRhdGE/LmxvYWRpbmcgfCBhc3luYykgPyAnaW5kZXRlcm1pbmF0ZScgOiAnZGV0ZXJtaW5hdGUnXCJcbiAgICAgICAgICAgICAgICAgICAgICBbY29sb3JdPVwiKGRhdGEgJiYgKGRhdGEuc3RhdHVzIHwgYXN5bmMpPy5oYXNFcnJvcikgPyAnd2FybicgOiAncHJpbWFyeSdcIj5cbiAgICA8L21hdC1wcm9ncmVzcy1iYXI+XG5cbiAgICA8IS0tIEZvb3RlciAtLT5cbiAgICA8ZGl2IGNsYXNzPVwibGF5b3V0LXJvdyBwbGFjZS1lbmQtY2VudGVyIGdhcC1tZCBmbGV4LW5vbmUgZWxkZXItZ3JpZC1mb290ZXJcIlxuICAgICAgICAgKm5nSWY9XCJmb290ZXJWaXNpYmxlXCJcbiAgICAgICAgIHN0eWxlPVwicGFkZGluZy1yaWdodDogMTJweFwiPlxuXG4gICAgICA8IS0tIENvbnRpbnVhYmxlIC0tPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzQ29udGludWFibGVcIj5cbiAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0LWNhcHRpb24gbm9zZWxlY3RcIiBzdHlsZT1cImNvbG9yOiBncmF5XCI+XG4gICAgICAgICAgICB7eyhkYXRhU25hcHNob3Q/LmRhdGEgfCBhc3luYyk/Lmxlbmd0aH19IC8ge3t0b3RhbCQgfCBhc3luY319XG4gICAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiEoY2FuTG9hZE1vcmUkIHwgYXN5bmMpXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiZGF0YVNuYXBzaG90LmxvYWRNb3JlKClcIj5cbiAgICAgICAgICA8bWF0LWljb24+a2V5Ym9hcmRfYXJyb3dfZG93bjwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDwhLS0gUGFnZWQgLS0+XG4gICAgICA8bWF0LXBhZ2luYXRvciAjbWF0UGFnaW5hdG9yICpuZ0lmPVwiaXNBY3RpdmVQYWdlZCAmJiAoZGF0YUFjdGl2ZVBhZ2VkLnBhZ2UgfCBhc3luYykgYXMgcGFnZVwiXG4gICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZsZXgtbm9uZVwiXG4gICAgICAgICAgICAgICAgICAgICBbbGVuZ3RoXT1cImRhdGFDb250ZXh0Py50b3RhbCB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAgICAgIFtwYWdlSW5kZXhdPVwicGFnZT8uaW5kZXhcIlxuICAgICAgICAgICAgICAgICAgICAgW3BhZ2VTaXplXT1cInBhZ2U/LnNpemVcIlxuICAgICAgICAgICAgICAgICAgICAgW3BhZ2VTaXplT3B0aW9uc109XCJwYWdlU2l6ZU9wdGlvbnNcIj5cbiAgICAgIDwvbWF0LXBhZ2luYXRvcj5cblxuICAgICAgPCEtLSBMb2NhbCBTb3VyY2UgLS0+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzQWN0aXZlUGFnZWQgJiYgIWlzQ29udGludWFibGVcIj5cbiAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0LWNhcHRpb24gbm9zZWxlY3RcIiBzdHlsZT1cImNvbG9yOiBncmF5XCI+XG4gICAgICAgICAgICB7eyhkYXRhU25hcHNob3Q/LmRhdGEgfCBhc3luYyk/Lmxlbmd0aH19XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8L2Rpdj5cblxuXG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjc2ltcGxlVGlsZVRlbXBsYXRlIGxldC10aWxlPlxuICA8ZGl2ICpuZ0lmPVwidGlsZVwiIGNsYXNzPVwibGF5b3V0LWNvbCBwbGFjZS1jZW50ZXItY2VudGVyIGZsZXhcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6IGxpZ2h0Ymx1ZVwiPlxuICAgIDxwIGNsYXNzPVwibm9zZWxlY3RcIj5UaWxlOiB7e3RpbGV9fTwvcD5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
307
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2RhdGEtdmlldy9ncmlkL2VsZGVyLWdyaWQvZWxkZXItZ3JpZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2RhdGEtdmlldy9ncmlkL2VsZGVyLWdyaWQvZWxkZXItZ3JpZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBRUwsUUFBUSxFQUNSLFFBQVEsRUFDUixXQUFXLEVBRVgsU0FBUyxFQUVWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUMsZUFBZSxFQUFFLGFBQWEsRUFBYyxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDcEUsT0FBTyxFQUF3Qyx3QkFBd0IsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBR2xJLE9BQU8sRUFBQyxZQUFZLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRTFGLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUMzRSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDekQsT0FBTyxFQUFDLGlDQUFpQyxFQUFDLE1BQU0scUVB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SztnQkFJQyxxQkFBcUI7c0JBRDNCLEtBQUs7Z0JBSUMscUJBQXFCO3NCQUQzQixTQUFTO3VCQUFDLHVCQUF1QixFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQztnQkFJM0MsY0FBYztzQkFEcEIsS0FBSztnQkFJQyxxQkFBcUI7c0JBRDNCLEtBQUs7Z0JBSUMsV0FBVztzQkFEakIsS0FBSztnQkFPQyxPQUFPO3NCQURiLEtBQUs7Z0JBSUMsZ0JBQWdCO3NCQUR0QixLQUFLO2dCQUlDLGVBQWU7c0JBRHJCLEtBQUs7Z0JBR0MsWUFBWTtzQkFEbEIsU0FBUzt1QkFBQyxZQUFZO2dCQUloQixvQkFBb0I7c0JBRDFCLFlBQVk7dUJBQUMseUJBQXlCLEVBQUUsRUFBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUM7Z0JBOEQvRCxZQUFZO3NCQUR0QixLQUFLO2dCQVVLLGVBQWU7c0JBRHpCLEtBQUs7Z0JBVUssSUFBSTtzQkFEZCxLQUFLO2dCQXNCSyxXQUFXO3NCQURyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBEaXJlY3RpdmUsXG4gIGZvcndhcmRSZWYsXG4gIElucHV0LCBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIFNraXBTZWxmLFxuICBUZW1wbGF0ZVJlZixcbiAgVHJhY2tCeUZ1bmN0aW9uLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDb250YWluZXJSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0xvZ2dlckZhY3Rvcnl9IGZyb20gJ0BlbGRlcmJ5dGUvdHMtbG9nZ2VyJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlLCBvZn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0lEYXRhQ29udGV4dCwgSURhdGFDb250ZXh0Q29udGludWFibGUsIGlzQ29udGludWFibGVEYXRhQ29udGV4dH0gZnJvbSAnLi4vLi4vLi4vLi4vY29tbW9uL2RhdGEvZGF0YS1jb250ZXh0L2RhdGEtY29udGV4dCc7XG5pbXBvcnQge0Nka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Njcm9sbGluZyc7XG5pbXBvcnQge1NlbGVjdGlvbk1vZGVsfSBmcm9tICcuLi8uLi8uLi8uLi9jb21tb24vc2VsZWN0aW9uL3NlbGVjdGlvbi1tb2RlbCc7XG5pbXBvcnQge2RlYm91bmNlVGltZSwgZmlsdGVyLCBtYXAsIHN0YXJ0V2l0aCwgc3dpdGNoTWFwLCB0YWtlVW50aWx9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7U29ydH0gZnJvbSAnLi4vLi4vLi4vLi4vY29tbW9uL2RhdGEvc29ydCc7XG5pbXBvcnQge0VMREVSX0RBVEFfVklFV30gZnJvbSAnLi4vLi4vYmFzZS9lbGRlci1kYXRhLXZpZXcnO1xuaW1wb3J0IHtFbGRlckRhdGFWaWV3QmFzZUNvbXBvbmVudH0gZnJvbSAnLi4vLi4vYmFzZS9lbGRlci1kYXRhLXZpZXctYmFzZSc7XG5pbXBvcnQge01hdFBhZ2luYXRvcn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcbmltcG9ydCB7TWF0VGFibGVEYXRhQ29udGV4dEJpbmRpbmdCdWlsZGVyfSBmcm9tICcuLi8uLi8uLi8uLi9jb21tb24vZGF0YS9kYXRhLWNvbnRleHQvbWF0LXRhYmxlLWRhdGEtY29udGV4dC1iaW5kaW5nJztcbmltcG9ydCB7RWxkZXJEYXRhVmlld09wdGlvbnNQcm92aWRlcn0gZnJvbSAnLi4vLi4vYmFzZS9lbGRlci1kYXRhLXZpZXctb3B0aW9ucy1wcm92aWRlcic7XG5pbXBvcnQge0JyZWFrcG9pbnRPYnNlcnZlciwgQnJlYWtwb2ludHN9IGZyb20gJ0Bhbmd1bGFyL2Nkay9sYXlvdXQnO1xuXG5ARGlyZWN0aXZlKHtzZWxlY3RvcjogJ1tlbGRlckdyaWRUaWxlXSd9KVxuZXhwb3J0IGNsYXNzIEVsZGVyR3JpZFRpbGVEaXJlY3RpdmUge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4sXG4gICAgcHVibGljIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYpIHtcbiAgfVxufVxuXG4vKipcbiAqIFRoaXMgZGlyZWN0aXZlIHByb2plY3RzIG1hcmtlZCBjb250ZW50IGludG8gYSB0b29sYmFyLlxuICovXG5ARGlyZWN0aXZlKHtzZWxlY3RvcjogJ1tlbGRlckdyaWRUb29sYmFyXSd9KVxuZXhwb3J0IGNsYXNzIEVsZGVyR3JpZFRvb2xiYXJEaXJlY3RpdmUge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PixcbiAgICBwdWJsaWMgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZlxuICApIHtcbiAgfVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlbGRlci1ncmlkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2VsZGVyLWdyaWQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9lbGRlci1ncmlkLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBFTERFUl9EQVRBX1ZJRVcsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBFbGRlckdyaWRDb21wb25lbnQpXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyR3JpZENvbXBvbmVudCBleHRlbmRzIEVsZGVyRGF0YVZpZXdCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IGxvZyA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSk7XG5cbiAgcHJpdmF0ZSBfY29sdW1uQ291bnQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oNCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBzaXplVG9Db2x1bW5zID0gbmV3IE1hcChbXG4gICAgW0JyZWFrcG9pbnRzLlhTbWFsbCwgMV0sXG4gICAgW0JyZWFrcG9pbnRzLlNtYWxsLCAyXSxcbiAgICBbQnJlYWtwb2ludHMuTWVkaXVtLCAzXSxcbiAgICBbQnJlYWtwb2ludHMuTGFyZ2UsIDRdLFxuICAgIFtCcmVha3BvaW50cy5YTGFyZ2UsIDVdXG4gIF0pO1xuXG4gIC8qKlxuICAgKiBMb2FkIG5leHQgY2h1bmsgYWZ0ZXIgY3VycmVudCBpcyBkb25lXG4gICAqL1xuICBwcml2YXRlIGxvYWROZXh0UXVldWVkID0gZmFsc2U7XG5cbiAgcHVibGljIGRhdGFSb3dzJDogT2JzZXJ2YWJsZTxhbnlbXVtdPjtcblxuICBwdWJsaWMgY2FuTG9hZE1vcmUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBwdWJsaWMgdG90YWwkOiBPYnNlcnZhYmxlPHN0cmluZz47XG5cbiAgQENvbnRlbnRDaGlsZChFbGRlckdyaWRUaWxlRGlyZWN0aXZlLCB7cmVhZDogVGVtcGxhdGVSZWYsIHN0YXRpYzogdHJ1ZX0pXG4gIHB1YmxpYyB0aWxlVGVtcGxhdGVRdWVyeTogVGVtcGxhdGVSZWY8YW55PjtcbiAgcHJpdmF0ZSBfdGlsZVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB0b29sYmFyVmlzaWJsZSA9IHRydWU7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGZvb3RlclZpc2libGUgPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpdGVtSGVpZ2h0ID0gMjUwO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByZXNwb25zaXZlQ29sdW1uQ291bnQgPSB0cnVlO1xuXG4gIEBWaWV3Q2hpbGQoJ3ZpcnR1YWxTY3JvbGxWaWV3UG9ydCcsIHtzdGF0aWM6IHRydWV9KVxuICBwdWJsaWMgdmlydHVhbFNjcm9sbFZpZXdQb3J0OiBDZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQ7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGF2YWlsYWJsZVNvcnRzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzb3J0VHJhbnNsYXRpb25QcmVmaXggPSAnZG9jdW1lbnRzLnNvcnRzLic7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGhpZGRlbkZpZWxkOiBzdHJpbmcgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBObyBsb25nZXIgcmVxdWlyZWQuIElkIGlzIGF1dG9tYXRpY2FsbHkgcGlja2VkIGZyb20gdGhlIERhdGFTb3VyY2UuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgaWRGaWVsZCA9ICdpZCc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNlbGVjdGlvblZpc2libGUgPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwYWdlU2l6ZU9wdGlvbnMgPSBbMzAsIDUwLCAxMDAsIDE1MCwgMjAwXTtcbiAgQFZpZXdDaGlsZChNYXRQYWdpbmF0b3IpXG4gIHB1YmxpYyBtYXRQYWdpbmF0b3I6IE1hdFBhZ2luYXRvcjtcblxuICBAQ29udGVudENoaWxkKEVsZGVyR3JpZFRvb2xiYXJEaXJlY3RpdmUsIHtyZWFkOiBUZW1wbGF0ZVJlZiwgc3RhdGljOiB0cnVlfSlcbiAgcHVibGljIHRvb2xiYXJUZW1wbGF0ZVF1ZXJ5OiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBwcml2YXRlIF90b29sYmFyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKCkgc2VsZWN0aW9uTW9kZWw6IFNlbGVjdGlvbk1vZGVsPGFueT4sXG4gICAgQE9wdGlvbmFsKCkgQFNraXBTZWxmKCkgZGF0YVZpZXdPcHRpb25zUHJvdmlkZXI6IEVsZGVyRGF0YVZpZXdPcHRpb25zUHJvdmlkZXIsXG4gICAgcHJpdmF0ZSBicmVha3BvaW50T2JzZXJ2ZXI6IEJyZWFrcG9pbnRPYnNlcnZlclxuICApIHtcbiAgICBzdXBlcihzZWxlY3Rpb25Nb2RlbCwgZGF0YVZpZXdPcHRpb25zUHJvdmlkZXIpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIExpZmVjeWNsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG5cbiAgICBjb25zdCBjb2x1bW5Db3VudCQgPSAoXG4gICAgICB0aGlzLnJlc3BvbnNpdmVDb2x1bW5Db3VudFxuICAgICAgICA/IHRoaXMucmVzcG9uc2l2ZUNvbHVtbigpXG4gICAgICAgIDogdGhpcy5fY29sdW1uQ291bnQpO1xuXG4gICAgdGhpcy5kYXRhUm93cyQgPSBjb21iaW5lTGF0ZXN0KFxuICAgICAgW1xuICAgICAgICB0aGlzLmRhdGFDb250ZXh0JC5waXBlKFxuICAgICAgICAgIGZpbHRlcihkYyA9PiAhIWRjKSxcbiAgICAgICAgICBzd2l0Y2hNYXAoZGMgPT4gZGMuZGF0YSlcbiAgICAgICAgKSxcbiAgICAgICAgY29sdW1uQ291bnQkXG4gICAgICBdKS5waXBlKFxuICAgICAgZGVib3VuY2VUaW1lKDUwKSxcbiAgICAgIG1hcChcbiAgICAgICAgKFtkYXRhLCBjb2x1bW5zXSkgPT4gdGhpcy5ncm91cEZvckNvbHVtbnMoZGF0YSwgY29sdW1ucylcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcblxuICAgIE1hdFRhYmxlRGF0YUNvbnRleHRCaW5kaW5nQnVpbGRlclxuICAgICAgLnN0YXJ0KHRoaXMuZGF0YUNvbnRleHQkKVxuICAgICAgLndpdGhQYWdpbmF0b3Iob2YodGhpcy5tYXRQYWdpbmF0b3IpKVxuICAgICAgLmJpbmRVbnRpbCh0aGlzLmRlc3Ryb3kkKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcm9wZXJ0aWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgdGlsZVRlbXBsYXRlKHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+KSB7XG4gICAgdGhpcy5fdGlsZVRlbXBsYXRlID0gdGVtcGxhdGU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHRpbGVUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5fdGlsZVRlbXBsYXRlIHx8IHRoaXMudGlsZVRlbXBsYXRlUXVlcnk7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHRvb2xiYXJUZW1wbGF0ZSh0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55Pikge1xuICAgIHRoaXMuX3Rvb2xiYXJUZW1wbGF0ZSA9IHRlbXBsYXRlO1xuICB9XG5cbiAgcHVibGljIGdldCB0b29sYmFyVGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuX3Rvb2xiYXJUZW1wbGF0ZSB8fCB0aGlzLnRvb2xiYXJUZW1wbGF0ZVF1ZXJ5O1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkYXRhKGRhdGE6IElEYXRhQ29udGV4dDxhbnk+KSB7XG4gICAgdGhpcy5kYXRhQ29udGV4dCQubmV4dChkYXRhKTtcblxuICAgIHRoaXMudG90YWwkID0gZGF0YS50b3RhbC5waXBlKFxuICAgICAgbWFwKHRvdGFsID0+IHRvdGFsID8gdG90YWwgKyAnJyA6ICfiiJ4nKVxuICAgICk7XG5cbiAgICBpZiAoaXNDb250aW51YWJsZURhdGFDb250ZXh0KGRhdGEpKSB7XG4gICAgICB0aGlzLmNhbkxvYWRNb3JlJCA9IGNvbWJpbmVMYXRlc3QoW2RhdGEubG9hZGluZywgZGF0YS5oYXNNb3JlRGF0YV0pLnBpcGUoXG4gICAgICAgIG1hcCgoW2xvYWRpbmcsIGhhc01vcmVEYXRhXSkgPT4gIWxvYWRpbmcgJiYgaGFzTW9yZURhdGEpXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNhbkxvYWRNb3JlJCA9IG9mKGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRhdGFTbmFwc2hvdCgpOiBJRGF0YUNvbnRleHRDb250aW51YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5kYXRhQ29udGludWFibGU7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGNvbHVtbkNvdW50KGNvdW50OiBudW1iZXIpIHtcbiAgICB0aGlzLl9jb2x1bW5Db3VudC5uZXh0KGNvdW50KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY29sdW1uQ291bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fY29sdW1uQ291bnQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBpblNlbGVjdGlvbk1vZGUoY3VycmVudFNlbGVjdGlvbjogYW55W10pOiBib29sZWFuIHtcblxuICAgIGlmICh0aGlzLmludGVyYWN0aW9uTW9kZSA9PT0gJ3NlbGVjdGlvbicpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGlmIChjdXJyZW50U2VsZWN0aW9uICYmIGN1cnJlbnRTZWxlY3Rpb24ubGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHJlcXVlc3RNb3JlRGF0YVpvbmVkKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kYXRhU25hcHNob3QuaGFzTW9yZURhdGFTbmFwc2hvdCkge1xuXG4gICAgICBpZiAodGhpcy5kYXRhU25hcHNob3Quc25hcHNob3QuaXNMb2FkaW5nKSB7XG4gICAgICAgIHRoaXMubG9hZE5leHRRdWV1ZWQgPSB0cnVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5kYXRhU25hcHNob3QubG9hZE1vcmUoKVxuICAgICAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICAgICBsb2FkZWQgPT4ge1xuICAgICAgICAgICAgICBpZiAodGhpcy5sb2FkTmV4dFF1ZXVlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMubG9hZE5leHRRdWV1ZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLnJlcXVlc3RNb3JlRGF0YVpvbmVkKGV2ZW50KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubG9hZE5leHRRdWV1ZWQgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IHRyYWNrQnlGbigpOiBUcmFja0J5RnVuY3Rpb248YW55PiB7XG4gICAgcmV0dXJuIChpbmRleDogbnVtYmVyLCBlbnRpdHk6IGFueSkgPT4gaW5kZXg7XG4gIH1cblxuICBwdWJsaWMgdHJhY2tCeUluZGV4KGluZGV4OiBudW1iZXIsIGl0ZW1zOiBhbnlbXSk6IGFueSB7XG4gICAgcmV0dXJuIGluZGV4O1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZVNvcnQoc29ydDogU29ydCk6IHZvaWQge1xuICAgIGNvbnN0IGRjID0gdGhpcy5kYXRhQ29udGV4dCQuZ2V0VmFsdWUoKTtcbiAgICBpZiAoZGMpIHtcbiAgICAgIGRjLnNvcnQucmVwbGFjZVNvcnRzKFtzb3J0XSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNob3dUaWxlKHRpbGU6IGFueSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aWxlICYmICh0aGlzLmhpZGRlbkZpZWxkID8gIXRpbGVbdGhpcy5oaWRkZW5GaWVsZF0gOiB0cnVlKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIE1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgc2Nyb2xsVG9wKCkge1xuICAgIHRoaXMudmlydHVhbFNjcm9sbFZpZXdQb3J0LnNjcm9sbFRvSW5kZXgoMCwgJ3Ntb290aCcpO1xuICB9XG5cbiAgcHJpdmF0ZSBncm91cEZvckNvbHVtbnMobm9kZXM6IGFueVtdLCBjb2x1bW5zOiBudW1iZXIpOiBhbnlbXVtdIHtcblxuICAgIGNvbnN0IHJvd3M6IGFueVtdW10gPSBbXTtcblxuICAgIGNvbnN0IHJvd0NvdW50ID0gbm9kZXMubGVuZ3RoIC8gY29sdW1ucztcblxuICAgIGZvciAobGV0IHJvd0luZGV4ID0gMDsgcm93SW5kZXggPCByb3dDb3VudDsgcm93SW5kZXgrKykge1xuICAgICAgY29uc3Qgcm93U3RhcnRJbmRleCA9IHJvd0luZGV4ICogY29sdW1ucztcbiAgICAgIGNvbnN0IHJvdyA9IG5vZGVzLnNsaWNlKHJvd1N0YXJ0SW5kZXgsIHJvd1N0YXJ0SW5kZXggKyBjb2x1bW5zKTtcblxuICAgICAgd2hpbGUgKHJvdy5sZW5ndGggPCBjb2x1bW5zKSB7XG4gICAgICAgIHJvdy5wdXNoKG51bGwpOyAvLyBGaWxsIHVwIHJlbWFpbmluZ1xuICAgICAgfVxuICAgICAgcm93cy5wdXNoKHJvdyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJvd3M7XG4gIH1cblxuICBwcml2YXRlIHJlc3BvbnNpdmVDb2x1bW4oKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcbiAgICBjb25zdCBicmVha3BvaW50cyA9IEFycmF5LmZyb20odGhpcy5zaXplVG9Db2x1bW5zLmtleXMoKSk7XG4gICAgcmV0dXJuIHRoaXMuYnJlYWtwb2ludE9ic2VydmVyLm9ic2VydmUoYnJlYWtwb2ludHMpLnBpcGUoXG4gICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgICBtYXAocmVzdWx0ID0+IHtcbiAgICAgICAgbGV0IGFjdGl2ZVNpemUgPSBCcmVha3BvaW50cy5NZWRpdW07XG4gICAgICAgIGZvciAoY29uc3QgcXVlcnkgb2YgT2JqZWN0LmtleXMocmVzdWx0LmJyZWFrcG9pbnRzKSkge1xuICAgICAgICAgIGlmIChyZXN1bHQuYnJlYWtwb2ludHNbcXVlcnldKSB7XG4gICAgICAgICAgICBhY3RpdmVTaXplID0gcXVlcnk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuc2l6ZVRvQ29sdW1ucy5nZXQoYWN0aXZlU2l6ZSk7XG4gICAgICB9KSxcbiAgICAgIGRlYm91bmNlVGltZSgxMDApLFxuICAgICAgc3RhcnRXaXRoKHRoaXMuYWN0aXZlQ29sdW1uQ291bnQoKSlcbiAgICApXG4gIH1cblxuICBwcml2YXRlIGFjdGl2ZUNvbHVtbkNvdW50KCk6IG51bWJlciB7XG4gICAgbGV0IGNvbHVtbkNvdW50ID0gMTtcbiAgICB0aGlzLnNpemVUb0NvbHVtbnMuZm9yRWFjaCgoY29scywgbXFBbGlhcykgPT4ge1xuICAgICAgaWYgKHRoaXMuYnJlYWtwb2ludE9ic2VydmVyLmlzTWF0Y2hlZChtcUFsaWFzKSkge1xuICAgICAgICBjb2x1bW5Db3VudCA9IGNvbHM7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIGNvbHVtbkNvdW50O1xuICB9XG59XG4iLCI8bWF0LWNhcmQgY2xhc3M9XCJmdWxsXCJcbiAgICAgICAgICBbY2xhc3MuZW1iZWRkZWRdPVwiZW1iZWRkZWRcIlxuICAgICAgICAgIFthcHBlYXJhbmNlXT1cImFwcGVhcmFuY2VcIlxuICAgICAgICAgIHN0eWxlPVwib3ZlcmZsb3c6IGhpZGRlblwiXG4+XG4gIDwhLS0gR3JpZCBCcm93c2VyIC0tPlxuICA8ZGl2IGNsYXNzPVwibGF5b3V0LWNvbCBmdWxsIGVsZGVyLWdyaWQtY29udGFpbmVyXCJcbiAgICAgICAqbmdJZj1cImRhdGFDb250ZXh0JCB8IGFzeW5jIGFzIGRhdGFcIlxuICAgICAgIFtlbGRlckRhdGFDb250ZXh0U2VsZWN0aW9uXT1cImRhdGFcIiAjZGF0YVNlbGVjdGlvbj1cImVsZGVyRGF0YUNvbnRleHRTZWxlY3Rpb25cIlxuICAgICAgIFtlbGRlckRhdGFDb250ZXh0U2VsZWN0aW9uTW9kZWxdPVwic2VsZWN0aW9uTW9kZWxcIlxuICA+XG4gICAgPCEtLSBUb29sYmFyIFJvdyAtLT5cbiAgICA8ZGl2ICpuZ0lmPVwidG9vbGJhclZpc2libGVcIlxuICAgICAgICAgY2xhc3M9XCJsYXlvdXQtcm93IHBsYWNlLXN0YXJ0LWNlbnRlciBmbGV4LW5vbmUgZWxkZXItZ3JpZC10b29sYmFyXCI+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJsYXlvdXQtY29sIGZsZXgtbm9uZVwiIHN0eWxlPVwicGFkZGluZy1sZWZ0OiA4cHg7IHBhZGRpbmctcmlnaHQ6IDhweFwiICpuZ0lmPVwic2VsZWN0aW9uVmlzaWJsZVwiPlxuICAgICAgICA8ZWxkZXItc2VsZWN0aW9uLW1hc3Rlci1jaGVja2JveCBjbGFzcz1cImZsZXgtbm9uZVwiIHN0eWxlPVwicGFkZGluZy1sZWZ0OiAxMnB4XCI+PC9lbGRlci1zZWxlY3Rpb24tbWFzdGVyLWNoZWNrYm94PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDwhLS0gVG9vbGJhciAtLT5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0b29sYmFyVGVtcGxhdGVcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICpuZ1RlbXBsYXRlT3V0bGV0PVwidG9vbGJhclRlbXBsYXRlOyBjb250ZXh0OiB7JGltcGxpY2l0OiB0aGlzfVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPGVsZGVyLXNpbmdsZS1zb3J0ICpuZ0lmPVwiYXZhaWxhYmxlU29ydHMgJiYgYXZhaWxhYmxlU29ydHMubGVuZ3RoID4gMCAmJiBkYXRhLnNvcnQuc29ydHMgfCBhc3luYyBhcyBzb3J0c1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4LW5vbmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIFthdmFpbGFibGVTb3J0c109XCJhdmFpbGFibGVTb3J0c1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgW3RyYW5zbGF0aW9uUHJlZml4XT1cInNvcnRUcmFuc2xhdGlvblByZWZpeFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgW3NvcnRdPVwic29ydHNbMF1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgIChzb3J0Q2hhbmdlKT1cInVwZGF0ZVNvcnQoJGV2ZW50KVwiPlxuICAgICAgPC9lbGRlci1zaW5nbGUtc29ydD5cbiAgICA8L2Rpdj5cblxuICAgIDxtYXQtZGl2aWRlciAqbmdJZj1cInRvb2xiYXJWaXNpYmxlXCI+PC9tYXQtZGl2aWRlcj5cblxuICAgIDxlbGRlci1kYXRhLWNvbnRleHQtc3RhdGUtaW5kaWNhdG9yIGNsYXNzPVwiZmxleC1ub25lXCIgW2RhdGFDb250ZXh0XT1cImRhdGFcIj5cbiAgICA8L2VsZGVyLWRhdGEtY29udGV4dC1zdGF0ZS1pbmRpY2F0b3I+XG5cbiAgICA8IS0tIFtjZGtEcm9wTGlzdFNvcnRpbmdEaXNhYmxlZF09XCJ0cnVlXCIgLS0+XG4gICAgPCEtLSBjZGtEcm9wTGlzdCAtLT5cbiAgICA8Y2RrLXZpcnR1YWwtc2Nyb2xsLXZpZXdwb3J0XG4gICAgICBjbGFzcz1cImxheW91dC1jb2wgZmxleCBlbGRlci1ncmlkLWJyb3dzZXJcIlxuICAgICAgaWQ9XCJkb2N1bWVudHMtY29udGFpbmVyXCJcbiAgICAgIFtpdGVtU2l6ZV09XCJpdGVtSGVpZ2h0XCJcbiAgICAgIFttaW5CdWZmZXJQeF09XCJpdGVtSGVpZ2h0ICogMlwiXG4gICAgICBbbWF4QnVmZmVyUHhdPVwiaXRlbUhlaWdodCAqIDNcIlxuICAgICAgI3ZpcnR1YWxTY3JvbGxWaWV3UG9ydFxuICAgICAgaW5maW5pdGVTY3JvbGxcbiAgICAgIFtldmVudFRocm90dGxlXT1cIjIwMFwiXG4gICAgICBbb2Zmc2V0RmFjdG9yXT1cIjJcIlxuICAgICAgW2lnbm9yZVNjcm9sbEV2ZW50XT1cImRhdGEubG9hZGluZyB8IGFzeW5jXCJcbiAgICAgIFtjb250YWluZXJJZF09XCInZG9jdW1lbnRzLWNvbnRhaW5lcidcIiBbbGlzdGVuVG9Ib3N0XT1cImZhbHNlXCJcbiAgICAgIChjbG9zZVRvRW5kKT1cInJlcXVlc3RNb3JlRGF0YVpvbmVkKCRldmVudClcIj5cblxuICAgICAgPCEtLSAoc2Nyb2xsaW5nKT1cIm9uU2Nyb2xsaW5nKCRldmVudClcIiAtLT5cblxuICAgICAgPGRpdlxuICAgICAgICAqY2RrVmlydHVhbEZvcj1cImxldCByb3cgb2YgZGF0YVJvd3MkOyB0cmFja0J5OiB0cmFja0J5SW5kZXg7IHRlbXBsYXRlQ2FjaGVTaXplOiA1MFwiXG4gICAgICAgIGNsYXNzPVwiZWxkZXItZ3JpZC10aWxlLXJvd1wiXG4gICAgICAgIFtzdHlsZS5oZWlnaHRdPVwiaXRlbUhlaWdodCArICdweCdcIj5cblxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB0aWxlIG9mIHJvdzsgdHJhY2tCeTogdHJhY2tCeUZuXCI+XG5cbiAgICAgICAgICA8IS0tIFRpbGUgQ2VsbCAtLT5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2hvd1RpbGUodGlsZSlcIiBjbGFzcz1cImVsZGVyLWdyaWQtdGlsZVwiPlxuICAgICAgICAgICAgPCEtLSBjZGtEcmFnIFtjZGtEcmFnRGlzYWJsZWRdPVwidHJ1ZVwiIFtjZGtEcmFnRGF0YV09XCJ0aWxlXCIgLS0+XG4gICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJ0aWxlLXBsYWNlaG9sZGVyXCIgKmNka0RyYWdQbGFjZWhvbGRlcj48L2Rpdj4gLS0+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZWxkZXItZ3JpZC10aWxlLWNvbnRlbnRcIlxuICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25JdGVtQ2xpY2sodGlsZSlcIlxuICAgICAgICAgICAgICAgICAoZGJsY2xpY2spPVwib25JdGVtRG91YmxlQ2xpY2sodGlsZSlcIj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwidGlsZVRlbXBsYXRlIHx8IHNpbXBsZVRpbGVUZW1wbGF0ZTsgY29udGV4dDogeyRpbXBsaWNpdDogdGlsZX1cIj5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgPCEtLSBPdmVybGF5IChTZWxlY3Rpb24pIC0tPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2VsZWN0aW9uVmlzaWJsZVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzZWxlY3Rpb25Nb2RlbC5zZWxlY3Rpb24gfCBhc3luYyBhcyBzZWxlY3Rpb25cIlxuICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJlbGRlci1ncmlkLXRpbGUtb3ZlcmxheVwiXG4gICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZWxkZXItZ3JpZC10aWxlLW92ZXJsYXktaGlkZGVuXT1cIiFpblNlbGVjdGlvbk1vZGUoc2VsZWN0aW9uKVwiXG4gICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZWxkZXItZ3JpZC10aWxlLW92ZXJsYXktdmlzaWJsZV09XCJpblNlbGVjdGlvbk1vZGUoc2VsZWN0aW9uKVwiXG4gICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZWxkZXItY2xpY2stdGhyb3VnaF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdGlvbk1vZGVsLnRvZ2dsZSh0aWxlKVwiIGVsZGVyU3RvcEV2ZW50UHJvcGFnYXRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJlbGRlci1ncmlkLXRpbGUtY2hlY2tcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmVsZGVyLXNlbGVjdGVkXT1cIihzZWxlY3Rpb25Nb2RlbC5vYnNlcnZlU2VsZWN0aW9uKHRpbGUpIHwgYXN5bmMpXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIHt7KHNlbGVjdGlvbk1vZGVsLm9ic2VydmVTZWxlY3Rpb24odGlsZSkgfCBhc3luYykgPyAnY2hlY2tfY2lyY2xlJyA6ICdyYWRpb19idXR0b25fdW5jaGVja2VkJ319XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiAqbmdJZj1cIiFzaG93VGlsZSh0aWxlKVwiIGNsYXNzPVwiZWxkZXItZ3JpZC10aWxlLWhpZGRlblwiPjwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPC9kaXY+XG5cbiAgICA8L2Nkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydD5cblxuXG4gICAgPG1hdC1wcm9ncmVzcy1iYXIgY2xhc3M9XCJmbGV4LW5vbmVcIlxuICAgICAgICAgICAgICAgICAgICAgIFttb2RlXT1cIihkYXRhPy5sb2FkaW5nIHwgYXN5bmMpID8gJ2luZGV0ZXJtaW5hdGUnIDogJ2RldGVybWluYXRlJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgW2NvbG9yXT1cIihkYXRhICYmIChkYXRhLnN0YXR1cyB8IGFzeW5jKT8uaGFzRXJyb3IpID8gJ3dhcm4nIDogJ3ByaW1hcnknXCI+XG4gICAgPC9tYXQtcHJvZ3Jlc3MtYmFyPlxuXG4gICAgPCEtLSBGb290ZXIgLS0+XG4gICAgPGRpdiBjbGFzcz1cImxheW91dC1yb3cgcGxhY2UtZW5kLWNlbnRlciBnYXAtbWQgZmxleC1ub25lIGVsZGVyLWdyaWQtZm9vdGVyXCJcbiAgICAgICAgICpuZ0lmPVwiZm9vdGVyVmlzaWJsZVwiXG4gICAgICAgICBzdHlsZT1cInBhZGRpbmctcmlnaHQ6IDEycHhcIj5cblxuICAgICAgPCEtLSBDb250aW51YWJsZSAtLT5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0NvbnRpbnVhYmxlXCI+XG4gICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdC1jYXB0aW9uIG5vc2VsZWN0XCIgc3R5bGU9XCJjb2xvcjogZ3JheVwiPlxuICAgICAgICAgICAge3soZGF0YVNuYXBzaG90Py5kYXRhIHwgYXN5bmMpPy5sZW5ndGh9fSAvIHt7dG90YWwkIHwgYXN5bmN9fVxuICAgICAgICAgIDwvc3Bhbj5cblxuICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhKGNhbkxvYWRNb3JlJCB8IGFzeW5jKVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImRhdGFTbmFwc2hvdC5sb2FkTW9yZSgpXCI+XG4gICAgICAgICAgPG1hdC1pY29uPmtleWJvYXJkX2Fycm93X2Rvd248L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8IS0tIFBhZ2VkIC0tPlxuICAgICAgPG1hdC1wYWdpbmF0b3IgI21hdFBhZ2luYXRvciAqbmdJZj1cImlzQWN0aXZlUGFnZWQgJiYgKGRhdGFBY3RpdmVQYWdlZC5wYWdlIHwgYXN5bmMpIGFzIHBhZ2VcIlxuICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4LW5vbmVcIlxuICAgICAgICAgICAgICAgICAgICAgW2xlbmd0aF09XCJkYXRhQ29udGV4dD8udG90YWwgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgICAgICBbcGFnZUluZGV4XT1cInBhZ2U/LmluZGV4XCJcbiAgICAgICAgICAgICAgICAgICAgIFtwYWdlU2l6ZV09XCJwYWdlPy5zaXplXCJcbiAgICAgICAgICAgICAgICAgICAgIFtwYWdlU2l6ZU9wdGlvbnNdPVwicGFnZVNpemVPcHRpb25zXCI+XG4gICAgICA8L21hdC1wYWdpbmF0b3I+XG5cbiAgICAgIDwhLS0gTG9jYWwgU291cmNlIC0tPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc0FjdGl2ZVBhZ2VkICYmICFpc0NvbnRpbnVhYmxlXCI+XG4gICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdC1jYXB0aW9uIG5vc2VsZWN0XCIgc3R5bGU9XCJjb2xvcjogZ3JheVwiPlxuICAgICAgICAgICAge3soZGF0YVNuYXBzaG90Py5kYXRhIHwgYXN5bmMpPy5sZW5ndGh9fVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPC9kaXY+XG5cblxuICA8L2Rpdj5cbjwvbWF0LWNhcmQ+XG5cbjxuZy10ZW1wbGF0ZSAjc2ltcGxlVGlsZVRlbXBsYXRlIGxldC10aWxlPlxuICA8ZGl2ICpuZ0lmPVwidGlsZVwiIGNsYXNzPVwibGF5b3V0LWNvbCBwbGFjZS1jZW50ZXItY2VudGVyIGZsZXhcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6IGxpZ2h0Ymx1ZVwiPlxuICAgIDxwIGNsYXNzPVwibm9zZWxlY3RcIj5UaWxlOiB7e3RpbGV9fTwvcD5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -16,12 +16,13 @@ import { ElderInfiniteScrollModule } from '../../infinitescroll/elder-infinite-s
|
|
|
16
16
|
import { ElderFormsDirectivesModule } from '../../forms/directives/elder-forms-directives.module';
|
|
17
17
|
import { ElderDataCommonModule } from '../common/elder-data-common.module';
|
|
18
18
|
import { MatPaginatorModule } from '@angular/material/paginator';
|
|
19
|
+
import { MatCardModule } from '@angular/material/card';
|
|
19
20
|
import * as i0 from "@angular/core";
|
|
20
21
|
export { ElderGridTileDirective, ElderGridToolbarDirective, ElderGridComponent } from './elder-grid/elder-grid.component';
|
|
21
22
|
export class ElderGridModule {
|
|
22
23
|
}
|
|
23
|
-
ElderGridModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
24
|
-
ElderGridModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
24
|
+
ElderGridModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ElderGridModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
25
|
+
ElderGridModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: ElderGridModule, declarations: [ElderGridComponent,
|
|
25
26
|
ElderGridTileDirective,
|
|
26
27
|
ElderGridToolbarDirective], imports: [CommonModule,
|
|
27
28
|
MatCommonModule,
|
|
@@ -34,10 +35,10 @@ ElderGridModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version
|
|
|
34
35
|
TranslateModule,
|
|
35
36
|
ElderDataCommonModule,
|
|
36
37
|
ElderInfiniteScrollModule,
|
|
37
|
-
ElderFormsDirectivesModule, MatPaginatorModule], exports: [ElderGridComponent,
|
|
38
|
+
ElderFormsDirectivesModule, MatPaginatorModule, MatCardModule], exports: [ElderGridComponent,
|
|
38
39
|
ElderGridTileDirective,
|
|
39
40
|
ElderGridToolbarDirective] });
|
|
40
|
-
ElderGridModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
41
|
+
ElderGridModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ElderGridModule, imports: [CommonModule,
|
|
41
42
|
MatCommonModule,
|
|
42
43
|
MatProgressBarModule,
|
|
43
44
|
MatMenuModule,
|
|
@@ -48,8 +49,8 @@ ElderGridModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version
|
|
|
48
49
|
TranslateModule,
|
|
49
50
|
ElderDataCommonModule,
|
|
50
51
|
ElderInfiniteScrollModule,
|
|
51
|
-
ElderFormsDirectivesModule, MatPaginatorModule] });
|
|
52
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
52
|
+
ElderFormsDirectivesModule, MatPaginatorModule, MatCardModule] });
|
|
53
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ElderGridModule, decorators: [{
|
|
53
54
|
type: NgModule,
|
|
54
55
|
args: [{
|
|
55
56
|
imports: [
|
|
@@ -64,7 +65,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImpo
|
|
|
64
65
|
TranslateModule,
|
|
65
66
|
ElderDataCommonModule,
|
|
66
67
|
ElderInfiniteScrollModule,
|
|
67
|
-
ElderFormsDirectivesModule, MatPaginatorModule
|
|
68
|
+
ElderFormsDirectivesModule, MatPaginatorModule, MatCardModule
|
|
68
69
|
],
|
|
69
70
|
declarations: [
|
|
70
71
|
ElderGridComponent,
|
|
@@ -78,4 +79,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImpo
|
|
|
78
79
|
]
|
|
79
80
|
}]
|
|
80
81
|
}] });
|
|
81
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItZ3JpZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2RhdGEtdmlldy9ncmlkL2VsZGVyLWdyaWQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxrQkFBa0IsRUFBRSxzQkFBc0IsRUFBRSx5QkFBeUIsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hILE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBQzVGLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLHNEQUFzRCxDQUFDO0FBQ2hHLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQy9ELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQzs7QUFFckQsT0FBTyxFQUFDLHNCQUFzQixFQUFFLHlCQUF5QixFQUFFLGtCQUFrQixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFpQ3hILE1BQU0sT0FBTyxlQUFlOzs0R0FBZixlQUFlOzZHQUFmLGVBQWUsaUJBVnhCLGtCQUFrQjtRQUNsQixzQkFBc0I7UUFDdEIseUJBQXlCLGFBckJyQixZQUFZO1FBRVosZUFBZTtRQUNmLG9CQUFvQjtRQUNwQixhQUFhO1FBQ2IsVUFBVTtRQUVWLGdCQUFnQixFQUFFLGFBQWEsRUFBRSxlQUFlO1FBQ2hELGVBQWUsRUFBRSxjQUFjO1FBRS9CLGVBQWU7UUFFZixlQUFlO1FBRWYscUJBQXFCO1FBQ3JCLHlCQUF5QjtRQUN6QiwwQkFBMEIsRUFBRSxrQkFBa0IsRUFBRSxhQUFhLGFBUWpFLGtCQUFrQjtRQUNsQixzQkFBc0I7UUFDdEIseUJBQXlCOzZHQUdoQixlQUFlLFlBN0JwQixZQUFZO1FBRVosZUFBZTtRQUNmLG9CQUFvQjtRQUNwQixhQUFhO1FBQ2IsVUFBVTtRQUVWLGdCQUFnQixFQUFFLGFBQWEsRUFBRSxlQUFlO1FBQ2hELGVBQWUsRUFBRSxjQUFjO1FBRS9CLGVBQWU7UUFFZixlQUFlO1FBRWYscUJBQXFCO1FBQ3JCLHlCQUF5QjtRQUN6QiwwQkFBMEIsRUFBRSxrQkFBa0IsRUFBRSxhQUFhOzJGQWF4RCxlQUFlO2tCQS9CM0IsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFFWixlQUFlO3dCQUNmLG9CQUFvQjt3QkFDcEIsYUFBYTt3QkFDYixVQUFVO3dCQUVWLGdCQUFnQixFQUFFLGFBQWEsRUFBRSxlQUFlO3dCQUNoRCxlQUFlLEVBQUUsY0FBYzt3QkFFL0IsZUFBZTt3QkFFZixlQUFlO3dCQUVmLHFCQUFxQjt3QkFDckIseUJBQXlCO3dCQUN6QiwwQkFBMEIsRUFBRSxrQkFBa0IsRUFBRSxhQUFhO3FCQUNoRTtvQkFDSCxZQUFZLEVBQUU7d0JBQ1osa0JBQWtCO3dCQUNsQixzQkFBc0I7d0JBQ3RCLHlCQUF5QjtxQkFDMUI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGtCQUFrQjt3QkFDbEIsc0JBQXNCO3dCQUN0Qix5QkFBeUI7cUJBQzFCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7RWxkZXJHcmlkQ29tcG9uZW50LCBFbGRlckdyaWRUaWxlRGlyZWN0aXZlLCBFbGRlckdyaWRUb29sYmFyRGlyZWN0aXZlfSBmcm9tICcuL2VsZGVyLWdyaWQvZWxkZXItZ3JpZC5jb21wb25lbnQnO1xuaW1wb3J0IHtNYXRCdXR0b25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQge01hdENvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQge01hdERpdmlkZXJNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpdmlkZXInO1xuaW1wb3J0IHtNYXRJY29uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7TWF0TWVudU1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XG5pbXBvcnQge01hdFByb2dyZXNzQmFyTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1iYXInO1xuaW1wb3J0IHtNYXRTZWxlY3RNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5pbXBvcnQge0ExMXlNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7RHJhZ0Ryb3BNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHtTY3JvbGxpbmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Nkay9zY3JvbGxpbmcnO1xuaW1wb3J0IHtUcmFuc2xhdGVNb2R1bGV9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtFbGRlckluZmluaXRlU2Nyb2xsTW9kdWxlfSBmcm9tICcuLi8uLi9pbmZpbml0ZXNjcm9sbC9lbGRlci1pbmZpbml0ZS1zY3JvbGwubW9kdWxlJztcbmltcG9ydCB7RWxkZXJGb3Jtc0RpcmVjdGl2ZXNNb2R1bGV9IGZyb20gJy4uLy4uL2Zvcm1zL2RpcmVjdGl2ZXMvZWxkZXItZm9ybXMtZGlyZWN0aXZlcy5tb2R1bGUnO1xuaW1wb3J0IHtFbGRlckRhdGFDb21tb25Nb2R1bGV9IGZyb20gJy4uL2NvbW1vbi9lbGRlci1kYXRhLWNvbW1vbi5tb2R1bGUnO1xuaW1wb3J0IHtNYXRQYWdpbmF0b3JNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvcic7XG5pbXBvcnQge01hdENhcmRNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NhcmQnO1xuXG5leHBvcnQge0VsZGVyR3JpZFRpbGVEaXJlY3RpdmUsIEVsZGVyR3JpZFRvb2xiYXJEaXJlY3RpdmUsIEVsZGVyR3JpZENvbXBvbmVudH0gZnJvbSAnLi9lbGRlci1ncmlkL2VsZGVyLWdyaWQuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcblxuICAgICAgICBNYXRDb21tb25Nb2R1bGUsXG4gICAgICAgIE1hdFByb2dyZXNzQmFyTW9kdWxlLFxuICAgICAgICBNYXRNZW51TW9kdWxlLFxuICAgICAgICBBMTF5TW9kdWxlLFxuXG4gICAgICAgIE1hdERpdmlkZXJNb2R1bGUsIE1hdEljb25Nb2R1bGUsIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICAgICAgTWF0U2VsZWN0TW9kdWxlLCBEcmFnRHJvcE1vZHVsZSxcblxuICAgICAgICBTY3JvbGxpbmdNb2R1bGUsXG5cbiAgICAgICAgVHJhbnNsYXRlTW9kdWxlLFxuXG4gICAgICAgIEVsZGVyRGF0YUNvbW1vbk1vZHVsZSxcbiAgICAgICAgRWxkZXJJbmZpbml0ZVNjcm9sbE1vZHVsZSxcbiAgICAgICAgRWxkZXJGb3Jtc0RpcmVjdGl2ZXNNb2R1bGUsIE1hdFBhZ2luYXRvck1vZHVsZSwgTWF0Q2FyZE1vZHVsZVxuICAgIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEVsZGVyR3JpZENvbXBvbmVudCxcbiAgICBFbGRlckdyaWRUaWxlRGlyZWN0aXZlLFxuICAgIEVsZGVyR3JpZFRvb2xiYXJEaXJlY3RpdmVcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEVsZGVyR3JpZENvbXBvbmVudCxcbiAgICBFbGRlckdyaWRUaWxlRGlyZWN0aXZlLFxuICAgIEVsZGVyR3JpZFRvb2xiYXJEaXJlY3RpdmVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBFbGRlckdyaWRNb2R1bGUge1xufVxuIl19
|
|
@@ -8,12 +8,12 @@ export class ElderSimpleSelectionViewComponent {
|
|
|
8
8
|
ngOnInit() {
|
|
9
9
|
}
|
|
10
10
|
}
|
|
11
|
-
ElderSimpleSelectionViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
12
|
-
ElderSimpleSelectionViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
11
|
+
ElderSimpleSelectionViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ElderSimpleSelectionViewComponent, deps: [{ token: i1.SelectionModel, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
12
|
+
ElderSimpleSelectionViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: ElderSimpleSelectionViewComponent, selector: "elder-simple-selection-view", ngImport: i0, template: "<p>\n elder-simple-selection-view works!\n</p>\n", styles: [""] });
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ElderSimpleSelectionViewComponent, decorators: [{
|
|
14
14
|
type: Component,
|
|
15
15
|
args: [{ selector: 'elder-simple-selection-view', template: "<p>\n elder-simple-selection-view works!\n</p>\n" }]
|
|
16
16
|
}], ctorParameters: function () { return [{ type: i1.SelectionModel, decorators: [{
|
|
17
17
|
type: Optional
|
|
18
18
|
}] }]; } });
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItc2ltcGxlLXNlbGVjdGlvbi12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvZGF0YS12aWV3L3NpbXBsZS9lbGRlci1zaW1wbGUtc2VsZWN0aW9uLXZpZXcvZWxkZXItc2ltcGxlLXNlbGVjdGlvbi12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvZGF0YS12aWV3L3NpbXBsZS9lbGRlci1zaW1wbGUtc2VsZWN0aW9uLXZpZXcvZWxkZXItc2ltcGxlLXNlbGVjdGlvbi12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQVUsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDOzs7QUFRMUQsTUFBTSxPQUFPLGlDQUFpQztJQUU1QyxZQUNjLGNBQW1DO1FBRy9DLE9BQU8sQ0FBQyxHQUFHLENBQUMsMkJBQTJCLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFFM0QsQ0FBQztJQUVELFFBQVE7SUFDUixDQUFDOzs4SEFYVSxpQ0FBaUM7a0hBQWpDLGlDQUFpQyxtRUNSOUMsbURBR0E7MkZES2EsaUNBQWlDO2tCQUw3QyxTQUFTOytCQUNFLDZCQUE2Qjs7MEJBT3BDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgT25Jbml0LCBPcHRpb25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1NlbGVjdGlvbk1vZGVsfSBmcm9tICcuLi8uLi8uLi8uLi9jb21tb24vc2VsZWN0aW9uL3NlbGVjdGlvbi1tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VsZGVyLXNpbXBsZS1zZWxlY3Rpb24tdmlldycsXG4gIHRlbXBsYXRlVXJsOiAnLi9lbGRlci1zaW1wbGUtc2VsZWN0aW9uLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9lbGRlci1zaW1wbGUtc2VsZWN0aW9uLXZpZXcuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyU2ltcGxlU2VsZWN0aW9uVmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKCkgc2VsZWN0aW9uTW9kZWw6IFNlbGVjdGlvbk1vZGVsPGFueT5cbiAgKSB7XG5cbiAgICBjb25zb2xlLmxvZygnUmVjZWl2ZWQgc2VsZWN0aW9uIG1vZGVsOicsIHNlbGVjdGlvbk1vZGVsKTtcblxuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gIH1cblxufVxuIiwiPHA+XG4gIGVsZGVyLXNpbXBsZS1zZWxlY3Rpb24tdmlldyB3b3JrcyFcbjwvcD5cbiJdfQ==
|
|
@@ -24,8 +24,8 @@ import * as i0 from "@angular/core";
|
|
|
24
24
|
export { ElderSimpleSelectionViewComponent } from './elder-simple-selection-view.component';
|
|
25
25
|
export class ElderSimpleSelectionViewModule {
|
|
26
26
|
}
|
|
27
|
-
ElderSimpleSelectionViewModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
28
|
-
ElderSimpleSelectionViewModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
27
|
+
ElderSimpleSelectionViewModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ElderSimpleSelectionViewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
28
|
+
ElderSimpleSelectionViewModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: ElderSimpleSelectionViewModule, declarations: [ElderSimpleSelectionViewComponent], imports: [CommonModule, RouterModule, FormsModule,
|
|
29
29
|
// Material
|
|
30
30
|
MatDividerModule,
|
|
31
31
|
MatCheckboxModule,
|
|
@@ -38,7 +38,7 @@ ElderSimpleSelectionViewModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "1
|
|
|
38
38
|
ElderDataCommonModule,
|
|
39
39
|
ElderInfiniteScrollModule,
|
|
40
40
|
ElderFormsDirectivesModule], exports: [ElderSimpleSelectionViewComponent] });
|
|
41
|
-
ElderSimpleSelectionViewModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
41
|
+
ElderSimpleSelectionViewModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ElderSimpleSelectionViewModule, imports: [CommonModule, RouterModule, FormsModule,
|
|
42
42
|
// Material
|
|
43
43
|
MatDividerModule,
|
|
44
44
|
MatCheckboxModule,
|
|
@@ -51,7 +51,7 @@ ElderSimpleSelectionViewModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "1
|
|
|
51
51
|
ElderDataCommonModule,
|
|
52
52
|
ElderInfiniteScrollModule,
|
|
53
53
|
ElderFormsDirectivesModule] });
|
|
54
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
54
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ElderSimpleSelectionViewModule, decorators: [{
|
|
55
55
|
type: NgModule,
|
|
56
56
|
args: [{
|
|
57
57
|
declarations: [ElderSimpleSelectionViewComponent],
|
|
@@ -75,4 +75,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImpo
|
|
|
75
75
|
]
|
|
76
76
|
}]
|
|
77
77
|
}] });
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItc2ltcGxlLXNlbGVjdGlvbi12aWV3Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvZGF0YS12aWV3L3NpbXBsZS9lbGRlci1zaW1wbGUtc2VsZWN0aW9uLXZpZXcvZWxkZXItc2ltcGxlLXNlbGVjdGlvbi12aWV3Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM1RixPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQzVFLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLHNEQUFzRCxDQUFDO0FBQy9GLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLHlEQUF5RCxDQUFDOztBQUVuRyxPQUFPLEVBQUMsaUNBQWlDLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQTBCMUYsTUFBTSxPQUFPLDhCQUE4Qjs7MkhBQTlCLDhCQUE4Qjs0SEFBOUIsOEJBQThCLGlCQXZCMUIsaUNBQWlDLGFBRTlDLFlBQVksRUFBRSxZQUFZLEVBQUUsV0FBVztRQUV2QyxXQUFXO1FBQ1gsZ0JBQWdCO1FBQ2hCLGlCQUFpQjtRQUNqQixlQUFlLEVBQUUsYUFBYSxFQUFFLGNBQWM7UUFDOUMsb0JBQW9CO1FBQ3BCLGNBQWMsRUFBRSxjQUFjLEVBQUUsa0JBQWtCLEVBQUUsYUFBYTtRQUNqRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYTtRQUVoRCxlQUFlO1FBQ2YsZUFBZTtRQUVmLHFCQUFxQjtRQUNyQix5QkFBeUI7UUFDekIsMEJBQTBCLGFBRzFCLGlDQUFpQzs0SEFHeEIsOEJBQThCLFlBckJ2QyxZQUFZLEVBQUUsWUFBWSxFQUFFLFdBQVc7UUFFdkMsV0FBVztRQUNYLGdCQUFnQjtRQUNoQixpQkFBaUI7UUFDakIsZUFBZSxFQUFFLGFBQWEsRUFBRSxjQUFjO1FBQzlDLG9CQUFvQjtRQUNwQixjQUFjLEVBQUUsY0FBYyxFQUFFLGtCQUFrQixFQUFFLGFBQWE7UUFDakUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLGFBQWE7UUFFaEQsZUFBZTtRQUNmLGVBQWU7UUFFZixxQkFBcUI7UUFDckIseUJBQXlCO1FBQ3pCLDBCQUEwQjsyRkFNakIsOEJBQThCO2tCQXhCMUMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxpQ0FBaUMsQ0FBQztvQkFDakQsT0FBTyxFQUFFO3dCQUNQLFlBQVksRUFBRSxZQUFZLEVBQUUsV0FBVzt3QkFFdkMsV0FBVzt3QkFDWCxnQkFBZ0I7d0JBQ2hCLGlCQUFpQjt3QkFDakIsZUFBZSxFQUFFLGFBQWEsRUFBRSxjQUFjO3dCQUM5QyxvQkFBb0I7d0JBQ3BCLGNBQWMsRUFBRSxjQUFjLEVBQUUsa0JBQWtCLEVBQUUsYUFBYTt3QkFDakUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLGFBQWE7d0JBRWhELGVBQWU7d0JBQ2YsZUFBZTt3QkFFZixxQkFBcUI7d0JBQ3JCLHlCQUF5Qjt3QkFDekIsMEJBQTBCO3FCQUMzQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsaUNBQWlDO3FCQUNsQztpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRWxkZXJTaW1wbGVTZWxlY3Rpb25WaWV3Q29tcG9uZW50IH0gZnJvbSAnLi9lbGRlci1zaW1wbGUtc2VsZWN0aW9uLXZpZXcuY29tcG9uZW50JztcbmltcG9ydCB7Um91dGVyTW9kdWxlfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0QmFkZ2VNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9iYWRnZSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XG5pbXBvcnQgeyBNYXREaWFsb2dNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgTWF0RGl2aWRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpdmlkZXInO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xuaW1wb3J0IHsgTWF0UGFnaW5hdG9yTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcbmltcG9ydCB7IE1hdFByb2dyZXNzQmFyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3MtYmFyJztcbmltcG9ydCB7IE1hdFNvcnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JztcbmltcG9ydCB7IE1hdFRhYmxlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnO1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuaW1wb3J0IHtDZGtUYWJsZU1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY2RrL3RhYmxlJztcbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7RWxkZXJEYXRhQ29tbW9uTW9kdWxlfSBmcm9tICcuLi8uLi9jb21tb24vZWxkZXItZGF0YS1jb21tb24ubW9kdWxlJztcbmltcG9ydCB7RWxkZXJJbmZpbml0ZVNjcm9sbE1vZHVsZX0gZnJvbSAnLi4vLi4vLi4vaW5maW5pdGVzY3JvbGwvZWxkZXItaW5maW5pdGUtc2Nyb2xsLm1vZHVsZSc7XG5pbXBvcnQge0VsZGVyRm9ybXNEaXJlY3RpdmVzTW9kdWxlfSBmcm9tICcuLi8uLi8uLi9mb3Jtcy9kaXJlY3RpdmVzL2VsZGVyLWZvcm1zLWRpcmVjdGl2ZXMubW9kdWxlJztcblxuZXhwb3J0IHtFbGRlclNpbXBsZVNlbGVjdGlvblZpZXdDb21wb25lbnR9IGZyb20gJy4vZWxkZXItc2ltcGxlLXNlbGVjdGlvbi12aWV3LmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW0VsZGVyU2ltcGxlU2VsZWN0aW9uVmlld0NvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsIFJvdXRlck1vZHVsZSwgRm9ybXNNb2R1bGUsXG5cbiAgICAvLyBNYXRlcmlhbFxuICAgIE1hdERpdmlkZXJNb2R1bGUsXG4gICAgTWF0Q2hlY2tib3hNb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLCBNYXRJY29uTW9kdWxlLCBNYXRCYWRnZU1vZHVsZSxcbiAgICBNYXRQcm9ncmVzc0Jhck1vZHVsZSxcbiAgICBDZGtUYWJsZU1vZHVsZSwgTWF0VGFibGVNb2R1bGUsIE1hdFBhZ2luYXRvck1vZHVsZSwgTWF0U29ydE1vZHVsZSxcbiAgICBNYXREaWFsb2dNb2R1bGUsIE1hdFRvb2x0aXBNb2R1bGUsIE1hdE1lbnVNb2R1bGUsXG5cbiAgICAvLyB0cmFuc2xhdGlvbnNcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG5cbiAgICBFbGRlckRhdGFDb21tb25Nb2R1bGUsXG4gICAgRWxkZXJJbmZpbml0ZVNjcm9sbE1vZHVsZSxcbiAgICBFbGRlckZvcm1zRGlyZWN0aXZlc01vZHVsZSxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEVsZGVyU2ltcGxlU2VsZWN0aW9uVmlld0NvbXBvbmVudFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyU2ltcGxlU2VsZWN0aW9uVmlld01vZHVsZSB7IH1cbiJdfQ==
|