@elderbyte/ngx-starter 18.14.1 → 18.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/common/enums/elder-enum-translation.service.mjs +4 -4
- package/esm2022/lib/common/forms/elder-form-field-control-base.directive.mjs +45 -48
- package/esm2022/lib/common/forms/elder-from-field-base.mjs +4 -4
- package/esm2022/lib/common/forms/elder-from-field-customizable-base.mjs +4 -4
- package/esm2022/lib/common/forms/elder-from-field-entity-base.mjs +4 -4
- package/esm2022/lib/common/forms/elder-from-field-multi-entity-base.mjs +4 -4
- package/esm2022/lib/common/forms/form-field-base.component.mjs +4 -4
- package/esm2022/lib/common/forms/multi-model-base.component.mjs +4 -4
- package/esm2022/lib/common/forms/template-composite-control.mjs +4 -4
- package/esm2022/lib/common/forms/value-accessor-base.mjs +4 -4
- package/esm2022/lib/common/http/http-client-builder.service.mjs +4 -4
- package/esm2022/lib/common/http/http-client-pristine.mjs +4 -4
- package/esm2022/lib/common/http/transfer/data-transfer-factory.mjs +4 -4
- package/esm2022/lib/common/url/elder-router.service.mjs +4 -4
- package/esm2022/lib/common/url/elder-url-fragment-params.service.mjs +4 -4
- package/esm2022/lib/common/utils/public_api.mjs +2 -1
- package/esm2022/lib/components/access-denied/elder-access-denied.component.mjs +4 -4
- package/esm2022/lib/components/access-denied/elder-access-denied.module.mjs +5 -5
- package/esm2022/lib/components/auditing/audited-entity/elder-audited-entity.component.mjs +4 -4
- package/esm2022/lib/components/auditing/elder-audit.module.mjs +5 -5
- package/esm2022/lib/components/badge/elder-badge/elder-badge.component.mjs +10 -10
- package/esm2022/lib/components/badge/elder-badge.directive.mjs +4 -4
- package/esm2022/lib/components/badge/elder-badge.module.mjs +5 -5
- package/esm2022/lib/components/button-group/elder-button-group/elder-button-group.component.mjs +4 -4
- package/esm2022/lib/components/button-group/elder-button-group.module.mjs +5 -5
- package/esm2022/lib/components/card-organizer/card-organizer/elder-card-organizer.component.mjs +4 -4
- package/esm2022/lib/components/card-organizer/card-organizer/elder-stack-card.directive.mjs +4 -4
- package/esm2022/lib/components/card-organizer/card-stack/elder-card-stack.component.mjs +4 -4
- package/esm2022/lib/components/card-organizer/elder-card-organizer.module.mjs +5 -5
- package/esm2022/lib/components/cards/elder-card/elder-card-header/elder-card-header.component.mjs +4 -4
- package/esm2022/lib/components/cards/elder-card/elder-card.component.mjs +19 -19
- package/esm2022/lib/components/cards/elder-card/elder-card.module.mjs +5 -5
- package/esm2022/lib/components/chips/elder-chip-label.directive.mjs +4 -4
- package/esm2022/lib/components/chips/elder-chips.module.mjs +5 -5
- package/esm2022/lib/components/connectivity/elder-connectivity.module.mjs +5 -5
- package/esm2022/lib/components/connectivity/elder-connectivity.service.mjs +4 -4
- package/esm2022/lib/components/connectivity/offline-indicator/elder-offline-indicator.component.mjs +4 -4
- package/esm2022/lib/components/containers/elder-containers.module.mjs +5 -5
- package/esm2022/lib/components/containers/elder-scroll-container/elder-scroll-container.component.mjs +4 -4
- package/esm2022/lib/components/csv/elder-csv-export-btn/elder-csv-export-btn.component.mjs +4 -4
- package/esm2022/lib/components/csv/elder-csv-stream-exporter-builder.service.mjs +4 -4
- package/esm2022/lib/components/csv/elder-csv.module.mjs +5 -5
- package/esm2022/lib/components/currency/elder-currency.module.mjs +5 -5
- package/esm2022/lib/components/currency/elder-currency.pipe.mjs +4 -4
- package/esm2022/lib/components/data-transfer/elder-data-transfer.module.mjs +5 -5
- package/esm2022/lib/components/data-transfer/elder-data-transfer.service.mjs +4 -4
- package/esm2022/lib/components/data-transfer/http-data-transfer/http-data-transfer.component.mjs +4 -4
- package/esm2022/lib/components/data-transfer/http-data-transfer-aggregate/http-data-transfer-aggregate.component.mjs +4 -4
- package/esm2022/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.mjs +4 -4
- package/esm2022/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.mjs +4 -4
- package/esm2022/lib/components/data-view/base/elder-data-view-base.mjs +4 -4
- package/esm2022/lib/components/data-view/common/composite-sort/composite-sort-dc.directive.mjs +4 -4
- package/esm2022/lib/components/data-view/common/composite-sort/elder-composite-sort/elder-composite-sort.component.mjs +4 -4
- package/esm2022/lib/components/data-view/common/data-context-state-indicator/data-context-state-indicator.component.mjs +4 -4
- package/esm2022/lib/components/data-view/common/elder-data-common.module.mjs +5 -5
- package/esm2022/lib/components/data-view/common/elder-data-toolbar/elder-data-toolbar.component.mjs +7 -7
- package/esm2022/lib/components/data-view/common/elder-single-sort/elder-single-sort.component.mjs +4 -4
- package/esm2022/lib/components/data-view/common/selection/data-context-selection.directive.mjs +4 -4
- package/esm2022/lib/components/data-view/common/selection/elder-selection-master-checkbox/elder-selection-master-checkbox.component.mjs +4 -4
- package/esm2022/lib/components/data-view/grid/elder-grid/elder-grid.component.mjs +10 -10
- package/esm2022/lib/components/data-view/grid/elder-grid.module.mjs +5 -5
- package/esm2022/lib/components/data-view/master-detail/elder-detail-dialog/elder-detail-dialog.component.mjs +4 -4
- package/esm2022/lib/components/data-view/master-detail/elder-detail.directive.mjs +4 -4
- package/esm2022/lib/components/data-view/master-detail/elder-master-activation.directive.mjs +4 -4
- package/esm2022/lib/components/data-view/master-detail/elder-master-detail.component.mjs +4 -4
- package/esm2022/lib/components/data-view/master-detail/elder-master-detail.module.mjs +5 -5
- package/esm2022/lib/components/data-view/master-detail/elder-master-detail.service.mjs +4 -4
- package/esm2022/lib/components/data-view/master-detail/elder-master.directive.mjs +4 -4
- package/esm2022/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.component.mjs +4 -4
- package/esm2022/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.module.mjs +5 -5
- package/esm2022/lib/components/data-view/table/activation/elder-delete-active.directive.mjs +4 -4
- package/esm2022/lib/components/data-view/table/activation/elder-table-activation.directive.mjs +4 -4
- package/esm2022/lib/components/data-view/table/elder-center-cell.directive.mjs +4 -4
- package/esm2022/lib/components/data-view/table/elder-number-cell.directive.mjs +4 -4
- package/esm2022/lib/components/data-view/table/elder-paginator-intl.mjs +4 -4
- package/esm2022/lib/components/data-view/table/elder-table/elder-table-toolbar.directive.mjs +4 -4
- package/esm2022/lib/components/data-view/table/elder-table/elder-table.component.mjs +4 -4
- package/esm2022/lib/components/data-view/table/elder-table-column.directive.mjs +4 -4
- package/esm2022/lib/components/data-view/table/elder-table-extension.directive.mjs +4 -4
- package/esm2022/lib/components/data-view/table/elder-table-root.directive.mjs +4 -4
- package/esm2022/lib/components/data-view/table/elder-table-row.directive.mjs +4 -4
- package/esm2022/lib/components/data-view/table/elder-table-sort.directive.mjs +4 -4
- package/esm2022/lib/components/data-view/table/elder-table.module.mjs +5 -5
- package/esm2022/lib/components/data-view/table/model/elder-table-model.mjs +4 -4
- package/esm2022/lib/components/dialogs/confirm-dialog/elder-confirm-dialog.component.mjs +4 -4
- package/esm2022/lib/components/dialogs/elder-dialog.module.mjs +5 -5
- package/esm2022/lib/components/dialogs/elder-dialog.service.mjs +4 -4
- package/esm2022/lib/components/dialogs/question-dialog/elder-question-dialog.component.mjs +4 -4
- package/esm2022/lib/components/dialogs/selection-dialog/elder-selection-dialog/elder-selection-dialog.component.mjs +4 -4
- package/esm2022/lib/components/dialogs/selection-dialog/elder-selection-dialog.directive.mjs +4 -4
- package/esm2022/lib/components/errors/elder-error.module.mjs +5 -5
- package/esm2022/lib/components/errors/exception-detail/elder-exception-detail.component.mjs +4 -4
- package/esm2022/lib/components/expand-toggle-button/elder-expand-toggle-button.component.mjs +4 -4
- package/esm2022/lib/components/expand-toggle-button/elder-expand-toggle-button.module.mjs +5 -5
- package/esm2022/lib/components/files/blob-viewer/elder-blob-viewer.component.mjs +4 -4
- package/esm2022/lib/components/files/drag-n-drop/elder-drop-zone/elder-drop-zone.component.mjs +4 -4
- package/esm2022/lib/components/files/drag-n-drop/global-drag-drop.service.mjs +4 -4
- package/esm2022/lib/components/files/elder-file-drop-zone.directive.mjs +4 -4
- package/esm2022/lib/components/files/elder-file-select.directive.mjs +4 -4
- package/esm2022/lib/components/files/elder-file.module.mjs +5 -5
- package/esm2022/lib/components/files/file-select/file-select.component.mjs +4 -4
- package/esm2022/lib/components/files/file-upload/file-upload.component.mjs +4 -4
- package/esm2022/lib/components/forms/clipboard/elder-clipboard.service.mjs +4 -4
- package/esm2022/lib/components/forms/directives/base/elder-class-hostbinding-base.mjs +4 -4
- package/esm2022/lib/components/forms/directives/checkbox/elder-single-state-checkbox.directive.mjs +4 -4
- package/esm2022/lib/components/forms/directives/checkbox/elder-triple-state-checkbox.directive.mjs +4 -4
- package/esm2022/lib/components/forms/directives/elder-clipboard-put.directive.mjs +4 -4
- package/esm2022/lib/components/forms/directives/elder-delayed-focus.directive.mjs +4 -4
- package/esm2022/lib/components/forms/directives/elder-form-field-dense.directive.mjs +4 -4
- package/esm2022/lib/components/forms/directives/elder-form-field-label.directive.mjs +4 -4
- package/esm2022/lib/components/forms/directives/elder-form-field-no-hint.directive.mjs +4 -4
- package/esm2022/lib/components/forms/directives/elder-form-field-no-spinner.directive.mjs +4 -4
- package/esm2022/lib/components/forms/directives/elder-forms-directives.module.mjs +5 -5
- package/esm2022/lib/components/forms/directives/elder-initial-value.directive.mjs +4 -4
- package/esm2022/lib/components/forms/directives/elder-input-pattern.directive.mjs +4 -4
- package/esm2022/lib/components/forms/directives/elder-key-event.directive.mjs +4 -4
- package/esm2022/lib/components/forms/directives/elder-next-focusable.directive.mjs +4 -4
- package/esm2022/lib/components/forms/directives/elder-plug-parent-form.directive.mjs +4 -4
- package/esm2022/lib/components/forms/directives/elder-stop-event-propagation.directive.mjs +4 -4
- package/esm2022/lib/components/forms/directives/elder-tab-focus-trap.directive.mjs +4 -4
- package/esm2022/lib/components/forms/directives/elder-touched.directive.mjs +4 -4
- package/esm2022/lib/components/forms/directives/validation/elder-validation-error.directive.mjs +4 -4
- package/esm2022/lib/components/forms/directives/validation/strategies/common-validation-message-strategy.mjs +4 -4
- package/esm2022/lib/components/forms/directives/validation/strategies/dynamic-validation-message-strategy.mjs +4 -4
- package/esm2022/lib/components/forms/directives/validation/validation-message-renderer.service.mjs +4 -4
- package/esm2022/lib/components/forms/directives/validation/validators/elder-max.validator.mjs +4 -4
- package/esm2022/lib/components/forms/directives/validation/validators/elder-min.validator.mjs +4 -4
- package/esm2022/lib/components/forms/directives/validation/validators/elder-multiple-of.validator.mjs +4 -4
- package/esm2022/lib/components/forms/directives/validation/validators/elder-required-ignore-zero.validator.mjs +4 -4
- package/esm2022/lib/components/forms/elder-forms.module.mjs +5 -5
- package/esm2022/lib/components/forms/search/domain/context/search-context.service.mjs +4 -4
- package/esm2022/lib/components/forms/search/domain/url/elder-search-url.directive.mjs +4 -4
- package/esm2022/lib/components/forms/search/domain/url/elder-search-url.service.mjs +4 -4
- package/esm2022/lib/components/forms/search/elder-search-context.directive.mjs +4 -4
- package/esm2022/lib/components/forms/search/elder-search-input.directive.mjs +4 -4
- package/esm2022/lib/components/forms/search/elder-search.module.mjs +5 -5
- package/esm2022/lib/components/forms/search/search-box/elder-search-box.component.mjs +4 -4
- package/esm2022/lib/components/forms/search/search-box/elder-search-panel.component.mjs +4 -4
- package/esm2022/lib/components/global-search/elder-global-search.component.mjs +4 -4
- package/esm2022/lib/components/global-search/elder-global-search.module.mjs +5 -5
- package/esm2022/lib/components/global-search/elder-global-search.service.mjs +4 -4
- package/esm2022/lib/components/graph/elder-progress-bar/elder-progress-bar.component.mjs +4 -4
- package/esm2022/lib/components/graph/elder-progress-bar/elder-progress-bar.module.mjs +5 -5
- package/esm2022/lib/components/headers/elder-header/elder-header.component.mjs +4 -4
- package/esm2022/lib/components/headers/elder-header.module.mjs +5 -5
- package/esm2022/lib/components/http-support/elder-http-client.service.mjs +4 -4
- package/esm2022/lib/components/i18n/entities/elder-i18n-entities.module.mjs +5 -5
- package/esm2022/lib/components/i18n/entities/elder-localized-input/elder-localized-input.component.mjs +4 -4
- package/esm2022/lib/components/i18n/entities/elder-localized-input-dialog/elder-localized-input-dialog.component.mjs +4 -4
- package/esm2022/lib/components/i18n/entities/elder-localized-input-dialog.service.mjs +4 -4
- package/esm2022/lib/components/i18n/entities/elder-localized-input-table/elder-localized-input-table.component.mjs +4 -4
- package/esm2022/lib/components/i18n/entities/elder-localized-text-column.directive.mjs +4 -4
- package/esm2022/lib/components/i18n/entities/elder-localized-texts.directive.mjs +4 -4
- package/esm2022/lib/components/i18n/entities/picker/i18n-pick-async.pipe.mjs +4 -4
- package/esm2022/lib/components/i18n/entities/picker/i18n-pick.pipe.mjs +4 -4
- package/esm2022/lib/components/i18n/entities/picker/localisation-picker.service.mjs +4 -4
- package/esm2022/lib/components/i18n/language/elder-language-interceptor.mjs +4 -4
- package/esm2022/lib/components/i18n/language/elder-language.module.mjs +5 -5
- package/esm2022/lib/components/i18n/language/elder-language.service.mjs +4 -4
- package/esm2022/lib/components/i18n/language/language-switcher/elder-language-switcher.component.mjs +4 -4
- package/esm2022/lib/components/i18n/locales/elder-locales-de-ch.module.mjs +5 -5
- package/esm2022/lib/components/iframes/data-view/data-view-iframe/data-view-iframe.component.mjs +4 -4
- package/esm2022/lib/components/iframes/data-view/data-view-iframe-adapter.directive.mjs +4 -4
- package/esm2022/lib/components/iframes/elder-iframe.module.mjs +5 -5
- package/esm2022/lib/components/iframes/iframe-close.directive.mjs +4 -4
- package/esm2022/lib/components/iframes/iframe-dialog/iframe-dialog.component.mjs +4 -4
- package/esm2022/lib/components/iframes/iframe-host/iframe-host.component.mjs +4 -4
- package/esm2022/lib/components/iframes/iframe-side-content/iframe-side-content.component.mjs +4 -4
- package/esm2022/lib/components/iframes/iframe.service.mjs +4 -4
- package/esm2022/lib/components/infinitescroll/elder-infinite-autocomplete.directive.mjs +4 -4
- package/esm2022/lib/components/infinitescroll/elder-infinite-scroll.directive.mjs +4 -4
- package/esm2022/lib/components/infinitescroll/elder-infinite-scroll.module.mjs +5 -5
- package/esm2022/lib/components/input/autocomplete/elder-autocomplete/elder-suggestion-panel.component.mjs +5 -5
- package/esm2022/lib/components/input/autocomplete/elder-autocomplete-many.directive.mjs +4 -4
- package/esm2022/lib/components/input/autocomplete/elder-autocomplete.directive.mjs +4 -4
- package/esm2022/lib/components/input/autocomplete/elder-autocomplete.module.mjs +5 -5
- package/esm2022/lib/components/labels/elder-labels.module.mjs +5 -5
- package/esm2022/lib/components/labels/labels-input/labels-input.component.mjs +4 -4
- package/esm2022/lib/components/measures/dimensions/dimensions-input/elder-dimensions-input.component.mjs +9 -16
- package/esm2022/lib/components/measures/dimensions/validation/elder-required-dimensions.validator.mjs +4 -4
- package/esm2022/lib/components/measures/directives/elder-unit-select.directive.mjs +4 -4
- package/esm2022/lib/components/measures/elder-measures.module.mjs +9 -9
- package/esm2022/lib/components/measures/elder-quantity-transform.pipe.mjs +4 -4
- package/esm2022/lib/components/measures/elder-quantity.pipe.mjs +4 -4
- package/esm2022/lib/components/measures/elder-unit.service.mjs +4 -4
- package/esm2022/lib/components/measures/quantity-input/quantity-form-field/elder-quantity-form-field.component.mjs +4 -4
- package/esm2022/lib/components/measures/quantity-input/quantity-input-control/elder-quantity-input-control.component.mjs +12 -18
- package/esm2022/lib/components/measures/quantity-input/validation/elder-quantity-range.validator.mjs +4 -4
- package/esm2022/lib/components/measures/quantity-input/validation/elder-required-quantity.validator.mjs +4 -4
- package/esm2022/lib/components/measures/util/elder-quantity.service.mjs +4 -4
- package/esm2022/lib/components/navigation/bread-crumbs/bread-crumbs/elder-bread-crumbs.component.mjs +4 -4
- package/esm2022/lib/components/navigation/bread-crumbs/elder-bread-crumbs.module.mjs +5 -5
- package/esm2022/lib/components/navigation/nav/elder-nav.module.mjs +5 -5
- package/esm2022/lib/components/navigation/nav/nav-group/elder-nav-group.component.mjs +4 -4
- package/esm2022/lib/components/navigation/nav/nav-link/elder-nav-link.component.mjs +4 -4
- package/esm2022/lib/components/navigation/nav/nav-list/elder-nav-list.component.mjs +4 -4
- package/esm2022/lib/components/navigation/toolbar/elder-toolbar-column.directive.mjs +4 -4
- package/esm2022/lib/components/navigation/toolbar/elder-toolbar.module.mjs +5 -5
- package/esm2022/lib/components/navigation/toolbar/elder-toolbar.service.mjs +4 -4
- package/esm2022/lib/components/navigation/toolbar/toolbar/elder-toolbar.component.mjs +4 -4
- package/esm2022/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.component.mjs +4 -4
- package/esm2022/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.service.mjs +4 -4
- package/esm2022/lib/components/overlays/elder-overlay-origin.directive.mjs +4 -4
- package/esm2022/lib/components/overlays/elder-overlay-ref.mjs +4 -4
- package/esm2022/lib/components/overlays/elder-overlay-trigger.directive.mjs +4 -4
- package/esm2022/lib/components/overlays/elder-overlay.component.mjs +4 -4
- package/esm2022/lib/components/overlays/elder-overlay.module.mjs +5 -5
- package/esm2022/lib/components/page/exit-guard/page-exit-guard.module.mjs +5 -5
- package/esm2022/lib/components/page/exit-guard/page-exit-guard.service.mjs +4 -4
- package/esm2022/lib/components/page/exit-guard/page-exit-lock/page-exit-lock.component.mjs +4 -4
- package/esm2022/lib/components/page/exit-guard/page-exit-lock-indicator/page-exit-lock-indicator.component.mjs +4 -4
- package/esm2022/lib/components/page/exit-guard/page-exit-lock-overview/page-exit-lock-overview.component.mjs +4 -4
- package/esm2022/lib/components/panels/card-panel/elder-card-panel.component.mjs +4 -4
- package/esm2022/lib/components/panels/elder-dialog-panel/elder-dialog-panel.component.mjs +4 -4
- package/esm2022/lib/components/panels/elder-panel.module.mjs +5 -5
- package/esm2022/lib/components/panels/flat/elder-panel.component.mjs +4 -4
- package/esm2022/lib/components/panels/toggle-panel/elder-toggle-panel-trigger.directive.mjs +4 -4
- package/esm2022/lib/components/panels/toggle-panel/elder-toggle-panel.component.mjs +10 -10
- package/esm2022/lib/components/scrollbar/elder-scrollbar.directive.mjs +4 -4
- package/esm2022/lib/components/scrollbar/elder-scrollbar.module.mjs +5 -5
- package/esm2022/lib/components/select/auto/elder-auto-select-first.directive.mjs +4 -4
- package/esm2022/lib/components/select/auto/elder-auto-select-first.service.mjs +4 -4
- package/esm2022/lib/components/select/auto/elder-auto-select-suggest-first.directive.mjs +4 -4
- package/esm2022/lib/components/select/elder-select-base.mjs +40 -24
- package/esm2022/lib/components/select/elder-select-chip.directive.mjs +10 -10
- package/esm2022/lib/components/select/elder-select-on-tab.directive.mjs +4 -4
- package/esm2022/lib/components/select/elder-select-value.directive.mjs +4 -4
- package/esm2022/lib/components/select/elder-select.module.mjs +5 -5
- package/esm2022/lib/components/select/filter/elder-chips-include-exclude.directive.mjs +4 -4
- package/esm2022/lib/components/select/filter/elder-filter-chip-template/elder-filter-chip-template.component.mjs +4 -4
- package/esm2022/lib/components/select/multi/elder-chip-select-option/elder-select-option.component.mjs +4 -4
- package/esm2022/lib/components/select/multi/elder-multi-select-base.mjs +10 -13
- package/esm2022/lib/components/select/multi/elder-multi-select-chip-options/chip-options-provider.mjs +4 -3
- package/esm2022/lib/components/select/multi/elder-multi-select-chip-options/elder-multi-select-chip-options.component.mjs +22 -31
- package/esm2022/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.mjs +24 -37
- package/esm2022/lib/components/select/multi/elder-multi-select-form-field.mjs +4 -4
- package/esm2022/lib/components/select/multi/elder-mutli-select-all-directive.mjs +4 -4
- package/esm2022/lib/components/select/multi/elder-search-include-exclude.directive.mjs +4 -4
- package/esm2022/lib/components/select/popup/selection-model-popup-trigger-adapter.directive.mjs +4 -4
- package/esm2022/lib/components/select/popup/selection-model-popup.directive.mjs +4 -4
- package/esm2022/lib/components/select/popup/templated-selection-dialog/templated-selection-dialog.component.mjs +4 -4
- package/esm2022/lib/components/select/single/elder-clear-select.directive.mjs +4 -4
- package/esm2022/lib/components/select/single/elder-select/elder-select.component.mjs +30 -49
- package/esm2022/lib/components/select/single/elder-select-form-field.mjs +4 -4
- package/esm2022/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.mjs +4 -4
- package/esm2022/lib/components/select-chip-list/elder-chip-list-select.module.mjs +5 -5
- package/esm2022/lib/components/shell/drawers/elder-route-outlet-drawer.service.mjs +4 -4
- package/esm2022/lib/components/shell/drawers/elder-router-outlet.service.mjs +4 -4
- package/esm2022/lib/components/shell/elder-shell-slot.directive.mjs +4 -4
- package/esm2022/lib/components/shell/elder-shell.module.mjs +5 -5
- package/esm2022/lib/components/shell/elder-shell.service.mjs +4 -4
- package/esm2022/lib/components/shell/header/elder-app-header/elder-app-header.component.mjs +4 -4
- package/esm2022/lib/components/shell/shell/elder-shell.component.mjs +13 -13
- package/esm2022/lib/components/shell/shell-navigation-toggle/elder-shell-navigation-toggle.component.mjs +4 -4
- package/esm2022/lib/components/tabs/elder-tab/elder-tab.directive.mjs +4 -4
- package/esm2022/lib/components/tabs/elder-tab-group-routing/elder-tab-group-routing.directive.mjs +4 -4
- package/esm2022/lib/components/tabs/elder-tab.module.mjs +5 -5
- package/esm2022/lib/components/theme/elder-theme-applier.directive.mjs +4 -4
- package/esm2022/lib/components/theme/elder-theme-preference.service.mjs +4 -4
- package/esm2022/lib/components/theme/elder-theme-toggle/elder-theme-toggle.component.mjs +4 -4
- package/esm2022/lib/components/theme/elder-theme.directive.mjs +4 -4
- package/esm2022/lib/components/theme/elder-theme.module.mjs +5 -5
- package/esm2022/lib/components/theme/elder-theme.service.mjs +4 -4
- package/esm2022/lib/components/time/date-adapters/custom-date-adapter.mjs +4 -4
- package/esm2022/lib/components/time/duration/elder-duration-input/elder-duration-input.component.mjs +9 -16
- package/esm2022/lib/components/time/elder-date-switcher/elder-date-switcher.component.mjs +4 -4
- package/esm2022/lib/components/time/elder-date-time-input/elder-date-time-input.component.mjs +10 -16
- package/esm2022/lib/components/time/elder-interval-input/elder-interval-input.component.mjs +12 -17
- package/esm2022/lib/components/time/elder-interval-picker/elder-interval-picker.component.mjs +4 -4
- package/esm2022/lib/components/time/elder-interval-picker/interval-picker-binding/elder-interval-picker-binding.directive.mjs +4 -4
- package/esm2022/lib/components/time/elder-interval-picker/interval-picker-toggle/elder-interval-picker-toggle.component.mjs +4 -4
- package/esm2022/lib/components/time/elder-local-date-input/elder-local-date-input.component.mjs +10 -16
- package/esm2022/lib/components/time/elder-local-time-input/elder-local-time-input.component.mjs +10 -16
- package/esm2022/lib/components/time/elder-time.module.mjs +5 -5
- package/esm2022/lib/components/time/period/elder-period-input/elder-period-input.component.mjs +9 -16
- package/esm2022/lib/components/time/pipes/to-iso-date-string.pipe.mjs +4 -4
- package/esm2022/lib/components/toasts/elder-toast.module.mjs +5 -5
- package/esm2022/lib/components/toasts/elder-toast.service.mjs +4 -4
- package/esm2022/lib/components/toasts/standard-toast/standard-toast.component.mjs +4 -4
- package/esm2022/lib/components/url-fragment/elder-url-fragment.module.mjs +5 -5
- package/esm2022/lib/components/url-fragment/url-fragment-switcher/elder-url-fragment-switcher.component.mjs +4 -4
- package/esm2022/lib/components/viewers/elder-svg-viewer/elder-svg-viewer.component.mjs +4 -4
- package/esm2022/lib/components/viewers/elder-viewers.module.mjs +5 -5
- package/esm2022/lib/features/event-source/fetch/reactive-fetch-event-source.service.mjs +4 -4
- package/esm2022/lib/features/event-source/standard/elder-event-source.service.mjs +4 -4
- package/esm2022/lib/features/kafent/access-token-provider.mjs +4 -4
- package/esm2022/lib/features/kafent/kafent-config.mjs +4 -4
- package/esm2022/lib/features/kafent/kafent-event-stream.mjs +4 -4
- package/esm2022/lib/features/kafent/kafent-event.service.mjs +4 -4
- package/esm2022/lib/features/kafent/kafent.module.mjs +5 -5
- package/esm2022/lib/features/kafent/sse/kafent-event-stream-sse.service.mjs +4 -4
- package/esm2022/lib/pipes/bytes.pipe.mjs +4 -4
- package/esm2022/lib/pipes/elder-pipes.module.mjs +11 -11
- package/esm2022/lib/pipes/elder-repeat.pipe.mjs +4 -4
- package/esm2022/lib/pipes/elder-round.pipe.mjs +4 -4
- package/esm2022/lib/pipes/elder-safe-url.pipe.mjs +4 -4
- package/esm2022/lib/pipes/elder-truncate.pipe.mjs +4 -4
- package/esm2022/lib/pipes/iso-duration.pipe.mjs +4 -4
- package/esm2022/lib/pipes/iso-interval-parse.pipe.mjs +4 -4
- package/esm2022/lib/pipes/iso-interval.pipe.mjs +4 -4
- package/esm2022/lib/pipes/time-ago.pipe.mjs +4 -4
- package/esm2022/lib/pipes/time-duration.pipe.mjs +4 -4
- package/esm2022/lib/pipes/weight.pipe.mjs +4 -4
- package/fesm2022/elderbyte-ngx-starter.mjs +1257 -1314
- package/fesm2022/elderbyte-ngx-starter.mjs.map +1 -1
- package/lib/common/forms/elder-form-field-control-base.directive.d.ts +14 -18
- package/lib/common/utils/public_api.d.ts +1 -0
- package/lib/components/measures/dimensions/dimensions-input/elder-dimensions-input.component.d.ts +3 -7
- package/lib/components/measures/quantity-input/quantity-input-control/elder-quantity-input-control.component.d.ts +3 -7
- package/lib/components/select/elder-select-base.d.ts +13 -12
- package/lib/components/select/multi/elder-multi-select-base.d.ts +2 -7
- package/lib/components/select/multi/elder-multi-select-chip-options/chip-options-provider.d.ts +2 -1
- package/lib/components/select/multi/elder-multi-select-chip-options/elder-multi-select-chip-options.component.d.ts +5 -9
- package/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.d.ts +7 -11
- package/lib/components/select/single/elder-select/elder-select.component.d.ts +8 -15
- package/lib/components/time/duration/elder-duration-input/elder-duration-input.component.d.ts +2 -7
- package/lib/components/time/elder-date-time-input/elder-date-time-input.component.d.ts +3 -7
- package/lib/components/time/elder-interval-input/elder-interval-input.component.d.ts +3 -7
- package/lib/components/time/elder-local-date-input/elder-local-date-input.component.d.ts +3 -7
- package/lib/components/time/elder-local-time-input/elder-local-time-input.component.d.ts +3 -7
- package/lib/components/time/period/elder-period-input/elder-period-input.component.d.ts +2 -7
- package/package.json +1 -1
- package/src/lib/components/select/multi/elder-select-include-exclude-chip/elder-select-include-exclude-chip.component.scss +0 -0
package/esm2022/lib/components/time/elder-date-time-input/elder-date-time-input.component.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component, ChangeDetectionStrategy, Input, Output,
|
|
1
|
+
import { Component, ChangeDetectionStrategy, Input, Output, ViewChild, } from '@angular/core';
|
|
2
2
|
import { LoggerFactory } from '@elderbyte/ts-logger';
|
|
3
3
|
import { Instant } from '@js-joda/core';
|
|
4
4
|
import { TimeUtil } from '../../../common/time/time-util';
|
|
@@ -12,18 +12,16 @@ import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
|
12
12
|
import { AsyncPipe, DatePipe } from '@angular/common';
|
|
13
13
|
import { MatInput } from '@angular/material/input';
|
|
14
14
|
import * as i0 from "@angular/core";
|
|
15
|
-
import * as i1 from "@angular/
|
|
15
|
+
import * as i1 from "@angular/forms";
|
|
16
16
|
import * as i2 from "@ngx-translate/core";
|
|
17
|
-
import * as i3 from "@angular/forms";
|
|
18
17
|
export class ElderDateTimeInputComponent extends ElderFormFieldControlBase {
|
|
19
18
|
/***************************************************************************
|
|
20
19
|
* *
|
|
21
20
|
* Constructor *
|
|
22
21
|
* *
|
|
23
22
|
**************************************************************************/
|
|
24
|
-
constructor(
|
|
25
|
-
super(
|
|
26
|
-
this.ngControl = ngControl;
|
|
23
|
+
constructor() {
|
|
24
|
+
super('date-time-input');
|
|
27
25
|
/***************************************************************************
|
|
28
26
|
* *
|
|
29
27
|
* Fields *
|
|
@@ -81,17 +79,13 @@ export class ElderDateTimeInputComponent extends ElderFormFieldControlBase {
|
|
|
81
79
|
valuesEquals(a, b) {
|
|
82
80
|
return a && b ? a.equals(b) : a === b;
|
|
83
81
|
}
|
|
84
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
85
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.
|
|
82
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElderDateTimeInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
83
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ElderDateTimeInputComponent, isStandalone: true, selector: "elder-date-time-input", inputs: { center: "center", isoValue: "isoValue" }, outputs: { isoValueChange: "isoValueChange" }, providers: [{ provide: MatFormFieldControl, useExisting: ElderDateTimeInputComponent }], viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"layout-row place-start-baseline elder-flex-control\">\n <input\n matInput\n class=\"flex-grow elder-mdc-input-fix elder-datetime-local-input\"\n #input\n [name]=\"ngControl?.name + '-inner-input'\"\n type=\"datetime-local\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [placeholder]=\"placeholderS() | translate\"\n [ngModel]=\"valueDate$ | async | date: 'yyyy-MM-ddTHH:mm'\"\n (ngModelChange)=\"onDateTimeChanged($event)\"\n [class.center]=\"center\"\n />\n</div>\n", styles: [".elder-datetime-local-input.center{text-align:center}\n"], dependencies: [{ kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: DatePipe, name: "date" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
86
84
|
}
|
|
87
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
85
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElderDateTimeInputComponent, decorators: [{
|
|
88
86
|
type: Component,
|
|
89
|
-
args: [{ selector: 'elder-date-time-input', changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: MatFormFieldControl, useExisting: ElderDateTimeInputComponent }], standalone: true, imports: [MatInput, FormsModule, AsyncPipe, DatePipe, TranslateModule], template: "<div class=\"layout-row place-start-baseline elder-flex-control\">\n <input\n matInput\n class=\"flex-grow elder-mdc-input-fix elder-datetime-local-input\"\n #input\n [name]=\"ngControl?.name + '-inner-input'\"\n type=\"datetime-local\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [placeholder]=\"
|
|
90
|
-
}], ctorParameters: () => [
|
|
91
|
-
type: Optional
|
|
92
|
-
}, {
|
|
93
|
-
type: Self
|
|
94
|
-
}] }], propDecorators: { inputRef: [{
|
|
87
|
+
args: [{ selector: 'elder-date-time-input', changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: MatFormFieldControl, useExisting: ElderDateTimeInputComponent }], standalone: true, imports: [MatInput, FormsModule, AsyncPipe, DatePipe, TranslateModule], template: "<div class=\"layout-row place-start-baseline elder-flex-control\">\n <input\n matInput\n class=\"flex-grow elder-mdc-input-fix elder-datetime-local-input\"\n #input\n [name]=\"ngControl?.name + '-inner-input'\"\n type=\"datetime-local\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [placeholder]=\"placeholderS() | translate\"\n [ngModel]=\"valueDate$ | async | date: 'yyyy-MM-ddTHH:mm'\"\n (ngModelChange)=\"onDateTimeChanged($event)\"\n [class.center]=\"center\"\n />\n</div>\n", styles: [".elder-datetime-local-input.center{text-align:center}\n"] }]
|
|
88
|
+
}], ctorParameters: () => [], propDecorators: { inputRef: [{
|
|
95
89
|
type: ViewChild,
|
|
96
90
|
args: ['input']
|
|
97
91
|
}], center: [{
|
|
@@ -101,4 +95,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
|
|
|
101
95
|
}], isoValue: [{
|
|
102
96
|
type: Input
|
|
103
97
|
}] } });
|
|
104
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItZGF0ZS10aW1lLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvdGltZS9lbGRlci1kYXRlLXRpbWUtaW5wdXQvZWxkZXItZGF0ZS10aW1lLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvdGltZS9lbGRlci1kYXRlLXRpbWUtaW5wdXQvZWxkZXItZGF0ZS10aW1lLWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsdUJBQXVCLEVBQ3ZCLEtBQUssRUFDTCxNQUFNLEVBR04sUUFBUSxFQUNSLElBQUksRUFDSixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQ3BELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDdkMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdDQUFnQyxDQUFBO0FBRXpELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUNwQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0NBQWdDLENBQUE7QUFDekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUE7QUFDbEUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sK0RBQStELENBQUE7QUFFekcsT0FBTyxFQUFvQixlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUN2RSxPQUFPLEVBQWEsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDdkQsT0FBTyxFQUFnQixxQkFB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QUMsQ0FBQTtJQUN2QyxDQUFDOzhHQS9GVSwyQkFBMkI7a0dBQTNCLDJCQUEyQix1S0FKM0IsQ0FBQyxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsMkJBQTJCLEVBQUUsQ0FBQyxvSkMvQnpGLDJpQkFnQkEsaUhEaUJZLFFBQVEsZ1VBQUUsV0FBVyx1MEJBQUUsU0FBUyx5Q0FBRSxRQUFRLDRDQUFFLGVBQWU7OzJGQUUxRCwyQkFBMkI7a0JBVHZDLFNBQVM7K0JBQ0UsdUJBQXVCLG1CQUdoQix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDLENBQUMsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyw2QkFBNkIsRUFBRSxDQUFDLGNBQzNFLElBQUksV0FDUCxDQUFDLFFBQVEsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxlQUFlLENBQUM7OzBCQTZCbkUsUUFBUTs7MEJBQUksSUFBSTt5Q0FmWixRQUFRO3NCQURkLFNBQVM7dUJBQUMsT0FBTztnQkErQlAsTUFBTTtzQkFEaEIsS0FBSztnQkFVSyxjQUFjO3NCQUR4QixNQUFNO2dCQU1JLFFBQVE7c0JBRGxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBFbGVtZW50UmVmLFxuICBOZ1pvbmUsXG4gIE9wdGlvbmFsLFxuICBTZWxmLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBMb2dnZXJGYWN0b3J5IH0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInXG5pbXBvcnQgeyBJbnN0YW50IH0gZnJvbSAnQGpzLWpvZGEvY29yZSdcbmltcG9ydCB7IFRpbWVVdGlsIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL3RpbWUvdGltZS11dGlsJ1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcbmltcG9ydCB7IERhdGVVdGlsIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL3RpbWUvZGF0ZS11dGlsJ1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnXG5pbXBvcnQgeyBFbGRlckZvcm1GaWVsZENvbnRyb2xCYXNlIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2Zvcm1zL2VsZGVyLWZvcm0tZmllbGQtY29udHJvbC1iYXNlLmRpcmVjdGl2ZSdcbmltcG9ydCB7IEZvY3VzTW9uaXRvciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5J1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSwgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7IE5nQ29udHJvbCwgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3JtcydcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCwgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJ1xuaW1wb3J0IHsgQXN5bmNQaXBlLCBEYXRlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7IE1hdElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VsZGVyLWRhdGUtdGltZS1pbnB1dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9lbGRlci1kYXRlLXRpbWUtaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9lbGRlci1kYXRlLXRpbWUtaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogTWF0Rm9ybUZpZWxkQ29udHJvbCwgdXNlRXhpc3Rpbmc6IEVsZGVyRGF0ZVRpbWVJbnB1dENvbXBvbmVudCB9XSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW01hdElucHV0LCBGb3Jtc01vZHVsZSwgQXN5bmNQaXBlLCBEYXRlUGlwZSwgVHJhbnNsYXRlTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJEYXRlVGltZUlucHV0Q29tcG9uZW50IGV4dGVuZHMgRWxkZXJGb3JtRmllbGRDb250cm9sQmFzZTxJbnN0YW50PiB7XG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKVxuXG4gIHB1YmxpYyByZWFkb25seSB2YWx1ZURhdGUkOiBPYnNlcnZhYmxlPERhdGU+XG5cbiAgQFZpZXdDaGlsZCgnaW5wdXQnKVxuICBwdWJsaWMgaW5wdXRSZWY6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD5cblxuICBwcml2YXRlIF9jZW50ZXIgPSBmYWxzZVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGhvc3RSZWY6IEVsZW1lbnRSZWYsXG4gICAgem9uZTogTmdab25lLFxuICAgIGZvY3VzTW9uaXRvcjogRm9jdXNNb25pdG9yLFxuICAgIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgQFNlbGYoKSBwdWJsaWMgbmdDb250cm9sOiBOZ0NvbnRyb2xcbiAgKSB7XG4gICAgc3VwZXIoaG9zdFJlZiwgJ2RhdGUtdGltZS1pbnB1dCcsIGZvY3VzTW9uaXRvciwgdHJhbnNsYXRlU2VydmljZSwgbmdDb250cm9sKVxuICAgIHRoaXMudmFsdWVEYXRlJCA9IHRoaXMudmFsdWUkLnBpcGUoXG4gICAgICBtYXAoKGluc3RhbnQpID0+IChpbnN0YW50ID8gRGF0ZVV0aWwuaW5zdGFudFRvRGF0ZShpbnN0YW50KSA6IG51bGwpKVxuICAgIClcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcm9wZXJ0aWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgY2VudGVyKGNlbnRlcjogQm9vbGVhbklucHV0KSB7XG4gICAgdGhpcy5fY2VudGVyID0gY29lcmNlQm9vbGVhblByb3BlcnR5KGNlbnRlcilcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2VudGVyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9jZW50ZXJcbiAgfVxuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZ2V0IGlzb1ZhbHVlQ2hhbmdlKCk6IE9ic2VydmFibGU8c3RyaW5nIHwgbnVsbD4ge1xuICAgIHJldHVybiB0aGlzLnZhbHVlQ2hhbmdlLnBpcGUobWFwKChpbnN0YW50KSA9PiAoaW5zdGFudCA/IGluc3RhbnQudG9KU09OKCkgOiBudWxsKSkpXG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGlzb1ZhbHVlKHZhbHVlOiBzdHJpbmcgfCBudWxsKSB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlID8gSW5zdGFudC5wYXJzZSh2YWx1ZSkgOiBudWxsXG4gIH1cblxuICBwdWJsaWMgZ2V0IHNob3VsZExhYmVsRmxvYXQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRydWVcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBmb2N1cyhvcHRpb25zPzogRm9jdXNPcHRpb25zKTogdm9pZCB7XG4gICAgdGhpcy5pbnB1dFJlZj8ubmF0aXZlRWxlbWVudD8uZm9jdXMob3B0aW9ucylcbiAgfVxuXG4gIHB1YmxpYyBibHVyKCk6IHZvaWQge1xuICAgIHRoaXMuaW5wdXRSZWY/Lm5hdGl2ZUVsZW1lbnQ/LmJsdXIoKVxuICB9XG5cbiAgcHVibGljIG9uRGF0ZVRpbWVDaGFuZ2VkKGV2ZW50RGF0ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgbmV3RGF0ZSA9IGV2ZW50RGF0ZSA/IG5ldyBEYXRlKGV2ZW50RGF0ZSkgOiBudWxsXG4gICAgaWYgKG5ld0RhdGUpIHtcbiAgICAgIHRoaXMudXBkYXRlVmFsdWUoVGltZVV0aWwuaW5zdGFudChuZXdEYXRlKSlcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy51cGRhdGVWYWx1ZShudWxsKVxuICAgIH1cbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcm90ZWN0ZWQgbWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByb3RlY3RlZCB2YWx1ZXNFcXVhbHMoYTogSW5zdGFudCwgYjogSW5zdGFudCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBhICYmIGIgPyBhLmVxdWFscyhiKSA6IGEgPT09IGJcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImxheW91dC1yb3cgcGxhY2Utc3RhcnQtYmFzZWxpbmUgZWxkZXItZmxleC1jb250cm9sXCI+XG4gIDxpbnB1dFxuICAgIG1hdElucHV0XG4gICAgY2xhc3M9XCJmbGV4LWdyb3cgZWxkZXItbWRjLWlucHV0LWZpeCBlbGRlci1kYXRldGltZS1sb2NhbC1pbnB1dFwiXG4gICAgI2lucHV0XG4gICAgW25hbWVdPVwibmdDb250cm9sPy5uYW1lICsgJy1pbm5lci1pbnB1dCdcIlxuICAgIHR5cGU9XCJkYXRldGltZS1sb2NhbFwiXG4gICAgW3JlcXVpcmVkXT1cIiEhcmVxdWlyZWRcIlxuICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgW2Rpc2FibGVkXT1cIiEhZGlzYWJsZWRcIlxuICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlciB8IHRyYW5zbGF0ZVwiXG4gICAgW25nTW9kZWxdPVwidmFsdWVEYXRlJCB8IGFzeW5jIHwgZGF0ZTogJ3l5eXktTU0tZGRUSEg6bW0nXCJcbiAgICAobmdNb2RlbENoYW5nZSk9XCJvbkRhdGVUaW1lQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICBbY2xhc3MuY2VudGVyXT1cImNlbnRlclwiXG4gIC8+XG48L2Rpdj5cbiJdfQ==
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItZGF0ZS10aW1lLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvdGltZS9lbGRlci1kYXRlLXRpbWUtaW5wdXQvZWxkZXItZGF0ZS10aW1lLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvdGltZS9lbGRlci1kYXRlLXRpbWUtaW5wdXQvZWxkZXItZGF0ZS10aW1lLWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsdUJBQXVCLEVBQ3ZCLEtBQUssRUFDTCxNQUFNLEVBS04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUNwRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3ZDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQTtBQUV6RCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDcEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdDQUFnQyxDQUFBO0FBQ3pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFBO0FBQ2xFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLCtEQUErRCxDQUFBO0FBRXpHLE9BQU8sRUFBb0IsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDdkUsT0FBTyxFQUFhLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ3ZELE9BQU8sRUFBZ0IscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIs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QUFXLHUwQkFBRSxTQUFTLHlDQUFFLFFBQVEsNENBQUUsZUFBZTs7NEZBRTFELDJCQUEyQjtrQkFUdkMsU0FBUzsrQkFDRSx1QkFBdUIsbUJBR2hCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLDZCQUE2QixFQUFFLENBQUMsY0FDM0UsSUFBSSxXQUNQLENBQUMsUUFBUSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLGVBQWUsQ0FBQzt3REFjL0QsUUFBUTtzQkFEZCxTQUFTO3VCQUFDLE9BQU87Z0JBeUJQLE1BQU07c0JBRGhCLEtBQUs7Z0JBVUssY0FBYztzQkFEeEIsTUFBTTtnQkFNSSxRQUFRO3NCQURsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgRWxlbWVudFJlZixcbiAgTmdab25lLFxuICBPcHRpb25hbCxcbiAgU2VsZixcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgTG9nZ2VyRmFjdG9yeSB9IGZyb20gJ0BlbGRlcmJ5dGUvdHMtbG9nZ2VyJ1xuaW1wb3J0IHsgSW5zdGFudCB9IGZyb20gJ0Bqcy1qb2RhL2NvcmUnXG5pbXBvcnQgeyBUaW1lVXRpbCB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi90aW1lL3RpbWUtdXRpbCdcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQgeyBEYXRlVXRpbCB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi90aW1lL2RhdGUtdXRpbCdcbmltcG9ydCB7IE1hdEZvcm1GaWVsZENvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJ1xuaW1wb3J0IHsgRWxkZXJGb3JtRmllbGRDb250cm9sQmFzZSB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9mb3Jtcy9lbGRlci1mb3JtLWZpZWxkLWNvbnRyb2wtYmFzZS5kaXJlY3RpdmUnXG5pbXBvcnQgeyBGb2N1c01vbml0b3IgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSdcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UsIFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBOZ0NvbnRyb2wsIEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnXG5pbXBvcnQgeyBCb29sZWFuSW5wdXQsIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbidcbmltcG9ydCB7IEFzeW5jUGlwZSwgRGF0ZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBNYXRJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0J1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlbGRlci1kYXRlLXRpbWUtaW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZWxkZXItZGF0ZS10aW1lLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZWxkZXItZGF0ZS10aW1lLWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IE1hdEZvcm1GaWVsZENvbnRyb2wsIHVzZUV4aXN0aW5nOiBFbGRlckRhdGVUaW1lSW5wdXRDb21wb25lbnQgfV0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtNYXRJbnB1dCwgRm9ybXNNb2R1bGUsIEFzeW5jUGlwZSwgRGF0ZVBpcGUsIFRyYW5zbGF0ZU1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyRGF0ZVRpbWVJbnB1dENvbXBvbmVudCBleHRlbmRzIEVsZGVyRm9ybUZpZWxkQ29udHJvbEJhc2U8SW5zdGFudD4ge1xuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IGxvZ2dlciA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSlcblxuICBwdWJsaWMgcmVhZG9ubHkgdmFsdWVEYXRlJDogT2JzZXJ2YWJsZTxEYXRlPlxuXG4gIEBWaWV3Q2hpbGQoJ2lucHV0JylcbiAgcHVibGljIGlucHV0UmVmOiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+XG5cbiAgcHJpdmF0ZSBfY2VudGVyID0gZmFsc2VcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcignZGF0ZS10aW1lLWlucHV0JylcbiAgICB0aGlzLnZhbHVlRGF0ZSQgPSB0aGlzLnZhbHVlJC5waXBlKFxuICAgICAgbWFwKChpbnN0YW50KSA9PiAoaW5zdGFudCA/IERhdGVVdGlsLmluc3RhbnRUb0RhdGUoaW5zdGFudCkgOiBudWxsKSlcbiAgICApXG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGNlbnRlcihjZW50ZXI6IEJvb2xlYW5JbnB1dCkge1xuICAgIHRoaXMuX2NlbnRlciA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eShjZW50ZXIpXG4gIH1cblxuICBwdWJsaWMgZ2V0IGNlbnRlcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fY2VudGVyXG4gIH1cblxuICBAT3V0cHV0KClcbiAgcHVibGljIGdldCBpc29WYWx1ZUNoYW5nZSgpOiBPYnNlcnZhYmxlPHN0cmluZyB8IG51bGw+IHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZUNoYW5nZS5waXBlKG1hcCgoaW5zdGFudCkgPT4gKGluc3RhbnQgPyBpbnN0YW50LnRvSlNPTigpIDogbnVsbCkpKVxuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBpc29WYWx1ZSh2YWx1ZTogc3RyaW5nIHwgbnVsbCkge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZSA/IEluc3RhbnQucGFyc2UodmFsdWUpIDogbnVsbFxuICB9XG5cbiAgcHVibGljIGdldCBzaG91bGRMYWJlbEZsb2F0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0cnVlXG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgZm9jdXMob3B0aW9ucz86IEZvY3VzT3B0aW9ucyk6IHZvaWQge1xuICAgIHRoaXMuaW5wdXRSZWY/Lm5hdGl2ZUVsZW1lbnQ/LmZvY3VzKG9wdGlvbnMpXG4gIH1cblxuICBwdWJsaWMgYmx1cigpOiB2b2lkIHtcbiAgICB0aGlzLmlucHV0UmVmPy5uYXRpdmVFbGVtZW50Py5ibHVyKClcbiAgfVxuXG4gIHB1YmxpYyBvbkRhdGVUaW1lQ2hhbmdlZChldmVudERhdGU6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IG5ld0RhdGUgPSBldmVudERhdGUgPyBuZXcgRGF0ZShldmVudERhdGUpIDogbnVsbFxuICAgIGlmIChuZXdEYXRlKSB7XG4gICAgICB0aGlzLnVwZGF0ZVZhbHVlKFRpbWVVdGlsLmluc3RhbnQobmV3RGF0ZSkpXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudXBkYXRlVmFsdWUobnVsbClcbiAgICB9XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvdGVjdGVkIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcm90ZWN0ZWQgdmFsdWVzRXF1YWxzKGE6IEluc3RhbnQsIGI6IEluc3RhbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gYSAmJiBiID8gYS5lcXVhbHMoYikgOiBhID09PSBiXG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJsYXlvdXQtcm93IHBsYWNlLXN0YXJ0LWJhc2VsaW5lIGVsZGVyLWZsZXgtY29udHJvbFwiPlxuICA8aW5wdXRcbiAgICBtYXRJbnB1dFxuICAgIGNsYXNzPVwiZmxleC1ncm93IGVsZGVyLW1kYy1pbnB1dC1maXggZWxkZXItZGF0ZXRpbWUtbG9jYWwtaW5wdXRcIlxuICAgICNpbnB1dFxuICAgIFtuYW1lXT1cIm5nQ29udHJvbD8ubmFtZSArICctaW5uZXItaW5wdXQnXCJcbiAgICB0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIlxuICAgIFtyZXF1aXJlZF09XCIhIXJlcXVpcmVkXCJcbiAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAgIFtkaXNhYmxlZF09XCIhIWRpc2FibGVkXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJTKCkgfCB0cmFuc2xhdGVcIlxuICAgIFtuZ01vZGVsXT1cInZhbHVlRGF0ZSQgfCBhc3luYyB8IGRhdGU6ICd5eXl5LU1NLWRkVEhIOm1tJ1wiXG4gICAgKG5nTW9kZWxDaGFuZ2UpPVwib25EYXRlVGltZUNoYW5nZWQoJGV2ZW50KVwiXG4gICAgW2NsYXNzLmNlbnRlcl09XCJjZW50ZXJcIlxuICAvPlxuPC9kaXY+XG4iXX0=
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, Inject, Input,
|
|
1
|
+
import { ChangeDetectionStrategy, Component, computed, Inject, Input, Output, } from '@angular/core';
|
|
2
2
|
import { LoggerFactory } from '@elderbyte/ts-logger';
|
|
3
3
|
import { Interval } from '../../../common/time/interval';
|
|
4
4
|
import { of } from 'rxjs';
|
|
@@ -20,20 +20,18 @@ import { AsyncPipe } from '@angular/common';
|
|
|
20
20
|
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
21
21
|
import { coerceInterval, coerceIntervalIsoStr } from '../../../common/time/interval-coerce';
|
|
22
22
|
import * as i0 from "@angular/core";
|
|
23
|
-
import * as i1 from "@angular/
|
|
23
|
+
import * as i1 from "@angular/material/core";
|
|
24
24
|
import * as i2 from "@ngx-translate/core";
|
|
25
25
|
import * as i3 from "@angular/forms";
|
|
26
|
-
import * as i4 from "@angular/material/core";
|
|
27
26
|
export class ElderIntervalInputComponent extends ElderFormFieldControlBase {
|
|
28
27
|
/***************************************************************************
|
|
29
28
|
* *
|
|
30
29
|
* Constructor *
|
|
31
30
|
* *
|
|
32
31
|
**************************************************************************/
|
|
33
|
-
constructor(
|
|
34
|
-
super(
|
|
35
|
-
|
|
36
|
-
this.ngControl = ngControl;
|
|
32
|
+
constructor(customDateAdapter, matDateLocale) {
|
|
33
|
+
super('interval-input' // => mat-mdc-form-field-type-interval-input
|
|
34
|
+
);
|
|
37
35
|
/***************************************************************************
|
|
38
36
|
* *
|
|
39
37
|
* Fields *
|
|
@@ -43,6 +41,7 @@ export class ElderIntervalInputComponent extends ElderFormFieldControlBase {
|
|
|
43
41
|
this._mode = 'date-time-range';
|
|
44
42
|
this._isDefaultDatePickerDisabled = false;
|
|
45
43
|
this.zone = ZoneId.systemDefault();
|
|
44
|
+
this.placeHolderOrEmpty = computed(() => this.placeholderS() ?? '');
|
|
46
45
|
this.controlType = this._mode;
|
|
47
46
|
this.interval$ = this.value$.pipe(map((value) => coerceInterval(value)));
|
|
48
47
|
this.endTime$ = this.interval$.pipe(map((interval) => (interval?.end ? LocalTime.from(interval.end.atZone(this.zone)) : null)));
|
|
@@ -179,10 +178,10 @@ export class ElderIntervalInputComponent extends ElderFormFieldControlBase {
|
|
|
179
178
|
return coerceInterval(value);
|
|
180
179
|
}
|
|
181
180
|
}
|
|
182
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
183
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
181
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElderIntervalInputComponent, deps: [{ token: i1.DateAdapter }, { token: MAT_DATE_LOCALE }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
182
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ElderIntervalInputComponent, isStandalone: true, selector: "elder-interval-input", inputs: { zone: "zone", valueAsIsoStr: "valueAsIsoStr", mode: "mode", isDefaultDatePickerDisabled: "isDefaultDatePickerDisabled", isoValue: "isoValue" }, outputs: { isoValueChange: "isoValueChange" }, providers: [{ provide: MatFormFieldControl, useExisting: ElderIntervalInputComponent }], usesInheritance: true, ngImport: i0, template: "@switch (mode) {\n @case ('date-time-range') {\n <div class=\"layout-row\">\n <elder-date-time-input\n class=\"flex\"\n center\n [value]=\"(interval$ | async)?.start\"\n (valueUpdated)=\"onStartChanged($event)\"\n [required]=\"required\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [placeholder]=\"(placeHolderOrEmpty() | translate) + ' ' + ('interval.from' | translate)\"\n ></elder-date-time-input>\n <span class=\"mat-date-range-input-separator flex-none\">\u2013</span>\n <elder-date-time-input\n class=\"flex\"\n center\n [value]=\"(interval$ | async)?.end\"\n (valueUpdated)=\"onEndChanged($event)\"\n [required]=\"required\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [placeholder]=\"(placeHolderOrEmpty() | translate) + ' ' + ('interval.to' | translate)\"\n ></elder-date-time-input>\n </div>\n }\n @case ('day-time-range') {\n <div class=\"layout-row gap-xs elder-flex-interval-control\">\n <!-- [name]=\"name + '-day-start'\" -->\n <elder-date-time-input\n [value]=\"(interval$ | async)?.start\"\n (valueUpdated)=\"onDayTimeStartChanged($event)\"\n [required]=\"required\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [placeholder]=\"(placeHolderOrEmpty() | translate) + ' ' + ('interval.from' | translate)\"\n ></elder-date-time-input>\n\n <!-- [name]=\"name + '-day-end'\" -->\n <elder-local-time-input\n [value]=\"endTime$ | async\"\n (valueUpdated)=\"onDayTimeEndTimeChanged($event)\"\n [required]=\"required\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [placeholder]=\"(placeHolderOrEmpty() | translate) + ' ' + ('interval.to' | translate)\"\n ></elder-local-time-input>\n </div>\n }\n\n @case ('date-range') {\n <div class=\"layout-row gap-xs elder-flex-interval-control\">\n <mat-date-range-input\n class=\"mdc-text-field__input\"\n [rangePicker]=\"picker\"\n [disabled]=\"!!disabled\"\n >\n <input\n matStartDate\n [placeholder]=\"dateformat\"\n [ngModel]=\"startDate$ | async\"\n name=\"date-range.start\"\n [ngModelOptions]=\"{ standalone: true, updateOn: 'blur' }\"\n (ngModelChange)=\"onStartDateChanged($event)\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n />\n <input\n matEndDate\n [placeholder]=\"dateformat\"\n [ngModel]=\"endDate$ | async\"\n name=\"date-range.end\"\n [ngModelOptions]=\"{ standalone: true, updateOn: 'blur' }\"\n (ngModelChange)=\"onEndDateChanged($event)\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n />\n </mat-date-range-input>\n\n @if (!isDefaultDatePickerDisabled) {\n <mat-datepicker-toggle\n class=\"elder-control-icon-button\"\n [disabled]=\"isLocked\"\n [for]=\"picker\"\n >\n <mat-icon matDatepickerToggleIcon>calendar_month</mat-icon>\n </mat-datepicker-toggle>\n }\n <mat-date-range-picker #picker></mat-date-range-picker>\n </div>\n }\n\n @case ('single-day') {\n <div class=\"layout-row elder-flex-control\">\n <!-- [name]=\"name\" -->\n <elder-local-date-input\n class=\"flex\"\n center\n [value]=\"startLocalDate$ | async\"\n (valueUpdated)=\"onSingleDayDateChanged($event)\"\n [required]=\"required\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [placeholder]=\"placeHolderOrEmpty() | translate\"\n ></elder-local-date-input>\n </div>\n }\n}\n", styles: [".elder-flex-interval-control{flex:1 1 auto;overflow:hidden}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ElderDateTimeInputComponent, selector: "elder-date-time-input", inputs: ["center", "isoValue"], outputs: ["isoValueChange"] }, { kind: "component", type: ElderLocalTimeInputComponent, selector: "elder-local-time-input", inputs: ["isoValue"], outputs: ["isoValueChange"] }, { kind: "component", type: MatDateRangeInput, selector: "mat-date-range-input", inputs: ["rangePicker", "required", "dateFilter", "min", "max", "disabled", "separator", "comparisonStart", "comparisonEnd"], exportAs: ["matDateRangeInput"] }, { kind: "directive", type: MatStartDate, selector: "input[matStartDate]", outputs: ["dateChange", "dateInput"] }, { kind: "directive", type: MatEndDate, selector: "input[matEndDate]", outputs: ["dateChange", "dateInput"] }, { kind: "component", type: MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: MatDatepickerToggleIcon, selector: "[matDatepickerToggleIcon]" }, { kind: "component", type: MatDateRangePicker, selector: "mat-date-range-picker", exportAs: ["matDateRangePicker"] }, { kind: "component", type: ElderLocalDateInputComponent, selector: "elder-local-date-input", inputs: ["zone", "autoDatePicker", "arrows", "today", "center", "datePickerTouchUi", "allowNull", "datePickerEnabled", "isoValue", "dateValue", "isoDateValue"], outputs: ["blurred", "valueUpdatedBlur", "isoValueChange", "dateValueChange", "isoDateValueChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
184
183
|
}
|
|
185
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
184
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElderIntervalInputComponent, decorators: [{
|
|
186
185
|
type: Component,
|
|
187
186
|
args: [{ selector: 'elder-interval-input', changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: MatFormFieldControl, useExisting: ElderIntervalInputComponent }], standalone: true, imports: [
|
|
188
187
|
AsyncPipe,
|
|
@@ -198,12 +197,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
|
|
|
198
197
|
MatDatepickerToggleIcon,
|
|
199
198
|
MatDateRangePicker,
|
|
200
199
|
ElderLocalDateInputComponent,
|
|
201
|
-
], template: "@switch (mode) {\n @case ('date-time-range') {\n <div class=\"layout-row\">\n <elder-date-time-input\n class=\"flex\"\n center\n [value]=\"(interval$ | async)?.start\"\n (valueUpdated)=\"onStartChanged($event)\"\n [required]=\"required\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [placeholder]=\"(
|
|
202
|
-
}], ctorParameters: () => [{ type:
|
|
203
|
-
type: Optional
|
|
204
|
-
}, {
|
|
205
|
-
type: Self
|
|
206
|
-
}] }, { type: i4.DateAdapter }, { type: undefined, decorators: [{
|
|
200
|
+
], template: "@switch (mode) {\n @case ('date-time-range') {\n <div class=\"layout-row\">\n <elder-date-time-input\n class=\"flex\"\n center\n [value]=\"(interval$ | async)?.start\"\n (valueUpdated)=\"onStartChanged($event)\"\n [required]=\"required\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [placeholder]=\"(placeHolderOrEmpty() | translate) + ' ' + ('interval.from' | translate)\"\n ></elder-date-time-input>\n <span class=\"mat-date-range-input-separator flex-none\">\u2013</span>\n <elder-date-time-input\n class=\"flex\"\n center\n [value]=\"(interval$ | async)?.end\"\n (valueUpdated)=\"onEndChanged($event)\"\n [required]=\"required\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [placeholder]=\"(placeHolderOrEmpty() | translate) + ' ' + ('interval.to' | translate)\"\n ></elder-date-time-input>\n </div>\n }\n @case ('day-time-range') {\n <div class=\"layout-row gap-xs elder-flex-interval-control\">\n <!-- [name]=\"name + '-day-start'\" -->\n <elder-date-time-input\n [value]=\"(interval$ | async)?.start\"\n (valueUpdated)=\"onDayTimeStartChanged($event)\"\n [required]=\"required\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [placeholder]=\"(placeHolderOrEmpty() | translate) + ' ' + ('interval.from' | translate)\"\n ></elder-date-time-input>\n\n <!-- [name]=\"name + '-day-end'\" -->\n <elder-local-time-input\n [value]=\"endTime$ | async\"\n (valueUpdated)=\"onDayTimeEndTimeChanged($event)\"\n [required]=\"required\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [placeholder]=\"(placeHolderOrEmpty() | translate) + ' ' + ('interval.to' | translate)\"\n ></elder-local-time-input>\n </div>\n }\n\n @case ('date-range') {\n <div class=\"layout-row gap-xs elder-flex-interval-control\">\n <mat-date-range-input\n class=\"mdc-text-field__input\"\n [rangePicker]=\"picker\"\n [disabled]=\"!!disabled\"\n >\n <input\n matStartDate\n [placeholder]=\"dateformat\"\n [ngModel]=\"startDate$ | async\"\n name=\"date-range.start\"\n [ngModelOptions]=\"{ standalone: true, updateOn: 'blur' }\"\n (ngModelChange)=\"onStartDateChanged($event)\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n />\n <input\n matEndDate\n [placeholder]=\"dateformat\"\n [ngModel]=\"endDate$ | async\"\n name=\"date-range.end\"\n [ngModelOptions]=\"{ standalone: true, updateOn: 'blur' }\"\n (ngModelChange)=\"onEndDateChanged($event)\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n />\n </mat-date-range-input>\n\n @if (!isDefaultDatePickerDisabled) {\n <mat-datepicker-toggle\n class=\"elder-control-icon-button\"\n [disabled]=\"isLocked\"\n [for]=\"picker\"\n >\n <mat-icon matDatepickerToggleIcon>calendar_month</mat-icon>\n </mat-datepicker-toggle>\n }\n <mat-date-range-picker #picker></mat-date-range-picker>\n </div>\n }\n\n @case ('single-day') {\n <div class=\"layout-row elder-flex-control\">\n <!-- [name]=\"name\" -->\n <elder-local-date-input\n class=\"flex\"\n center\n [value]=\"startLocalDate$ | async\"\n (valueUpdated)=\"onSingleDayDateChanged($event)\"\n [required]=\"required\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [placeholder]=\"placeHolderOrEmpty() | translate\"\n ></elder-local-date-input>\n </div>\n }\n}\n", styles: [".elder-flex-interval-control{flex:1 1 auto;overflow:hidden}\n"] }]
|
|
201
|
+
}], ctorParameters: () => [{ type: i1.DateAdapter }, { type: undefined, decorators: [{
|
|
207
202
|
type: Inject,
|
|
208
203
|
args: [MAT_DATE_LOCALE]
|
|
209
204
|
}] }], propDecorators: { zone: [{
|
|
@@ -219,4 +214,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
|
|
|
219
214
|
}], isoValue: [{
|
|
220
215
|
type: Input
|
|
221
216
|
}] } });
|
|
222
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItaW50ZXJ2YWwtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy90aW1lL2VsZGVyLWludGVydmFsLWlucHV0L2VsZGVyLWludGVydmFsLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvdGltZS9lbGRlci1pbnRlcnZhbC1pbnB1dC9lbGRlci1pbnRlcnZhbC1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFFVCxNQUFNLEVBQ04sS0FBSyxFQUVMLFFBQVEsRUFDUixNQUFNLEVBQ04sSUFBSSxHQUNMLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUNwRCxPQUFPLEVBQUUsUUFBUSxFQUFrQixNQUFNLCtCQUErQixDQUFBO0FBQ3hFLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDckMsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUNoRCxPQUFPLEVBQVcsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDckUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sK0RBQStELENBQUE7QUFFekcsT0FBTyxFQUFvQixlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUN2RSxPQUFPLEVBQWEsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDdkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUE7QUFDbEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdDQUFnQyxDQUFBO0FBQ3pELE9BQU8sRUFBZSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUNyRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQTtBQUN2RSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSw0REFBNEQsQ0FBQTtBQUN6RyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDaEQsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixZQUFZLEVBQ1osVUFBVSxFQUNWLG1CQUFtQixFQUNuQix1QkFBdUIsRUFDdkIsa0JBQWtCLEdBQ25CLE1BQU0sOEJBQThCLENBQUE7QUFDckMsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sNERBQTRELENBQUE7QUFDekcsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sMERBQTBELENBQUE7QUFDdEcsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzNDLE9BQU8sRUFBZ0IscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUMzRSxPQUFPLEVBQUUsY0FBYyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0NBQXNDLENBQUE7Ozs7OztBQW1EM0YsTUFBTSxPQUFPLDJCQUE0QixTQUFRLHlCQUVoRDtJQTRCQzs7OztnRkFJNEU7SUFFNUUsWUFDRSxPQUFtQixFQUNuQixJQUFZLEVBQ1osWUFBMEIsRUFDMUIsZ0JBQWtDLEVBQ1AsU0FBb0IsRUFDL0MsaUJBQW9DLEVBQ1gsYUFBcUI7UUFFOUMsS0FBSyxDQUNILE9BQU8sRUFDUCxnQkFBZ0IsRUFBRSw0Q0FBNEM7UUFDOUQsWUFBWSxFQUNaLGdCQUFnQixFQUNoQixTQUFTLENBQ1YsQ0FBQTtRQVYwQixjQUFTLEdBQVQsU0FBUyxDQUFXO1FBdENqRDs7OztvRkFJNEU7UUFFM0QsV0FBTSxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUVoRSxVQUFLLEdBQXNCLGlCQUFpQixDQUFBO1FBQzVDLGlDQUE0QixHQUFHLEtBQUssQ0FBQTtRQUdyQyxTQUFJLEdBQUcsTUFBTSxDQUFDLGFBQWEsRUFBRSxDQUFBO1FBc0NsQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUE7UUFDN0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFFeEUsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FDakMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQzNGLENBQUE7UUFFRCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUN4QyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDL0YsQ0FBQTtRQUVELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQ3RDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUMzRixDQUFBO1FBRUQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQVksRUFBRSxFQUFFLENBQ3JGLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQzVCLENBQUE7UUFDRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBWSxFQUFFLEVBQUUsQ0FDakYsUUFBUSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FDNUIsQ0FBQTtRQUVELElBQUksQ0FBQyxVQUFVLEdBQUcsaUJBQWlCLENBQUMsa0JBQWtCLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUE7SUFDeEYsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUU1RSxJQUNXLGFBQWEsQ0FBQyxPQUFxQjtRQUM1QyxJQUFJLENBQUMsY0FBYyxHQUFHLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQ3RELENBQUM7SUFFRCxJQUFXLGFBQWE7UUFDdEIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFBO0lBQzVCLENBQUM7SUFFRCxJQUNXLElBQUksQ0FBQyxJQUF1QjtRQUNyQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQTtRQUNqQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQTtJQUN6QixDQUFDO0lBRUQsSUFBVyxJQUFJO1FBQ2IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFBO0lBQ25CLENBQUM7SUFFRCxJQUNXLDJCQUEyQixDQUFDLElBQWtCO1FBQ3ZELElBQUksQ0FBQyw0QkFBNEIsR0FBRyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUNqRSxDQUFDO0lBRUQsSUFBVywyQkFBMkI7UUFDcEMsT0FBTyxJQUFJLENBQUMsNEJBQTRCLENBQUE7SUFDMUMsQ0FBQztJQUVELElBQ1csY0FBYztRQUN2QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQzNFLENBQUM7SUFFRCxJQUNXLFFBQVEsQ0FBQyxLQUE0QjtRQUM5QyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFBO0lBQ3JELENBQUM7SUFFRCxJQUFXLGdCQUFnQjtRQUN6QixPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ25DLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFckUsS0FBSyxDQUFDLE9BQXNCO1FBQ2pDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLDRCQUE0QixDQUFDLENBQUE7UUFDOUMsZ0RBQWdEO0lBQ2xELENBQUM7SUFFTSxJQUFJO1FBQ1QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsMkJBQTJCLENBQUMsQ0FBQTtRQUM3Qyx3Q0FBd0M7SUFDMUMsQ0FBQztJQUVNLHFCQUFxQixDQUFDLEtBQWM7UUFDekMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDNUUsQ0FBQztJQUVNLHVCQUF1QixDQUFDLE9BQWtCO1FBQy9DLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFBO1FBQ2pDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFBO1FBQ2hELElBQUksQ0FBQyxrQkFBa0IsQ0FDckIsUUFBUSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUM5RSxDQUFBO0lBQ0gsQ0FBQztJQUVNLGNBQWMsQ0FBQyxLQUFjO1FBQ2xDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7SUFDaEUsQ0FBQztJQUVNLFlBQVksQ0FBQyxHQUFZO1FBQzlCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUE7SUFDaEUsQ0FBQztJQUVNLGtCQUFrQixDQUFDLEtBQWtCO1FBQzFDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDcEMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQTtJQUN6RixDQUFDO0lBRU0sZ0JBQWdCLENBQUMsS0FBa0I7UUFDeEMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUNwQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQzNGLENBQUM7SUFFTSxzQkFBc0IsQ0FBQyxJQUFlO1FBQzNDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtJQUMxRCxDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRXBFLGtCQUFrQixDQUFDLEtBQW1EO1FBQzVFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBO0lBQzNDLENBQUM7SUFFTyxzQkFBc0I7UUFDNUIsT0FBTyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQTtJQUNyRSxDQUFDO0lBRU8saUJBQWlCLENBQUMsT0FBZ0I7UUFDeEMsT0FBTyxTQUFTLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFlBQVksRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFBO0lBQzlGLENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxJQUFlO1FBQ3hDLElBQUksSUFBSSxFQUFFLENBQUM7WUFDVCxPQUFPLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFBO1FBQzFELENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxTQUFTLENBQUE7UUFDbEIsQ0FBQztJQUNILENBQUM7SUFFUyxZQUFZLENBQ3BCLENBQStDLEVBQy9DLENBQStDO1FBRS9DLE1BQU0sU0FBUyxHQUFHLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUNuQyxNQUFNLFNBQVMsR0FBRyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDbkMsT0FBTyxTQUFTLElBQUksU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEtBQUssU0FBUyxDQUFBO0lBQ3ZGLENBQUM7SUFFTyxlQUFlLENBQUMsT0FBZ0IsRUFBRSxJQUFlO1FBQ3ZELE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQTtJQUM5RixDQUFDO0lBRU8sV0FBVyxDQUFDLEtBQVc7UUFDN0IsSUFBSSxDQUFDO1lBQ0gsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQTtRQUN2RCxDQUFDO1FBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztZQUNiLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHNDQUFzQyxHQUFHLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQTtZQUNyRSxPQUFPLElBQUksQ0FBQTtRQUNiLENBQUM7SUFDSCxDQUFDO0lBRU8sd0JBQXdCLENBQzlCLElBQTJCLEVBQzNCLFlBQWlDO1FBRWpDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FDZCxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQ2hFLFVBQVUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLCtCQUErQixFQUFFLEdBQUcsQ0FBQyxDQUFBO1lBQ3ZELE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ2pCLENBQUMsQ0FBQyxDQUNILENBQUE7SUFDSCxDQUFDO0lBRU8sV0FBVyxDQUNqQixLQUFtRDtRQUVuRCxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN2QixPQUFPLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3BDLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDOUIsQ0FBQztJQUNILENBQUM7OEdBelBVLDJCQUEyQiw4TUEyQzVCLGVBQWU7a0dBM0NkLDJCQUEyQiw0UUFsQjNCLENBQUMsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLDJCQUEyQixFQUFFLENBQUMsaURDdkV6Riw4cEhBNEdBLGtIRGxDSSxTQUFTLDZDQUNULGVBQWUsMkZBQ2YsV0FBVywrbUJBQ1gsMkJBQTJCLCtIQUMzQiw0QkFBNEIsc0hBQzVCLGlCQUFpQixnT0FDakIsWUFBWSxzR0FDWixVQUFVLG9HQUNWLG1CQUFtQiw2S0FDbkIsT0FBTywySUFDUCx1QkFBdUIsc0VBQ3ZCLGtCQUFrQixvR0FDbEIsNEJBQTRCOzsyRkFHbkIsMkJBQTJCO2tCQXZCdkMsU0FBUzsrQkFDRSxzQkFBc0IsbUJBR2YsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsNkJBQTZCLEVBQUUsQ0FBQyxjQUMzRSxJQUFJLFdBQ1A7d0JBQ1AsU0FBUzt3QkFDVCxlQUFlO3dCQUNmLFdBQVc7d0JBQ1gsMkJBQTJCO3dCQUMzQiw0QkFBNEI7d0JBQzVCLGlCQUFpQjt3QkFDakIsWUFBWTt3QkFDWixVQUFVO3dCQUNWLG1CQUFtQjt3QkFDbkIsT0FBTzt3QkFDUCx1QkFBdUI7d0JBQ3ZCLGtCQUFrQjt3QkFDbEIsNEJBQTRCO3FCQUM3Qjs7MEJBMkNFLFFBQVE7OzBCQUFJLElBQUk7OzBCQUVoQixNQUFNOzJCQUFDLGVBQWU7eUNBNUJsQixJQUFJO3NCQURWLEtBQUs7Z0JBdUVLLGFBQWE7c0JBRHZCLEtBQUs7Z0JBVUssSUFBSTtzQkFEZCxLQUFLO2dCQVdLLDJCQUEyQjtzQkFEckMsS0FBSztnQkFVSyxjQUFjO3NCQUR4QixNQUFNO2dCQU1JLFFBQVE7c0JBRGxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE9wdGlvbmFsLFxuICBPdXRwdXQsXG4gIFNlbGYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBMb2dnZXJGYWN0b3J5IH0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInXG5pbXBvcnQgeyBJbnRlcnZhbCwgSXNvSW50ZXJ2YWxTdHIgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vdGltZS9pbnRlcnZhbCdcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuaW1wb3J0IHsgSW5zdGFudCwgTG9jYWxEYXRlLCBMb2NhbFRpbWUsIFpvbmVJZCB9IGZyb20gJ0Bqcy1qb2RhL2NvcmUnXG5pbXBvcnQgeyBFbGRlckZvcm1GaWVsZENvbnRyb2xCYXNlIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2Zvcm1zL2VsZGVyLWZvcm0tZmllbGQtY29udHJvbC1iYXNlLmRpcmVjdGl2ZSdcbmltcG9ydCB7IEZvY3VzTW9uaXRvciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5J1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSwgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7IE5nQ29udHJvbCwgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3JtcydcbmltcG9ydCB7IE1hdEZvcm1GaWVsZENvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJ1xuaW1wb3J0IHsgVGltZVV0aWwgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vdGltZS90aW1lLXV0aWwnXG5pbXBvcnQgeyBEYXRlQWRhcHRlciwgTUFUX0RBVEVfTE9DQUxFIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSdcbmltcG9ydCB7IExvY2FsZURhdGVGb3JtYXRzIH0gZnJvbSAnLi4vZGF0ZS1mb3JtYXRzL2xvY2FsZS1kYXRlLWZvcm1hdHMnXG5pbXBvcnQgeyBFbGRlckxvY2FsRGF0ZUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi4vZWxkZXItbG9jYWwtZGF0ZS1pbnB1dC9lbGRlci1sb2NhbC1kYXRlLWlucHV0LmNvbXBvbmVudCdcbmltcG9ydCB7IE1hdEljb24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJ1xuaW1wb3J0IHtcbiAgTWF0RGF0ZVJhbmdlSW5wdXQsXG4gIE1hdFN0YXJ0RGF0ZSxcbiAgTWF0RW5kRGF0ZSxcbiAgTWF0RGF0ZXBpY2tlclRvZ2dsZSxcbiAgTWF0RGF0ZXBpY2tlclRvZ2dsZUljb24sXG4gIE1hdERhdGVSYW5nZVBpY2tlcixcbn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcidcbmltcG9ydCB7IEVsZGVyTG9jYWxUaW1lSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi9lbGRlci1sb2NhbC10aW1lLWlucHV0L2VsZGVyLWxvY2FsLXRpbWUtaW5wdXQuY29tcG9uZW50J1xuaW1wb3J0IHsgRWxkZXJEYXRlVGltZUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi4vZWxkZXItZGF0ZS10aW1lLWlucHV0L2VsZGVyLWRhdGUtdGltZS1pbnB1dC5jb21wb25lbnQnXG5pbXBvcnQgeyBBc3luY1BpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBCb29sZWFuSW5wdXQsIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbidcbmltcG9ydCB7IGNvZXJjZUludGVydmFsLCBjb2VyY2VJbnRlcnZhbElzb1N0ciB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi90aW1lL2ludGVydmFsLWNvZXJjZSdcblxuZXhwb3J0IHR5cGUgSW50ZXJ2YWxJbnB1dE1vZGUgPVxuICAvKipcbiAgICogU3VwcG9ydHMgdGhlIHNlbGVjdGlvbiBvZiBhIHNpbmdsZSAoZnVsbCkgZGF5OlxuICAgKiAxMi4xMi4yMDIwXG4gICAqL1xuICB8ICdzaW5nbGUtZGF5J1xuXG4gIC8qKlxuICAgKiBTdXBwb3J0cyBhIHRpbWUgaW50ZXJ2YWwgaW4gYSBkYXk6XG4gICAqIDEyLjEyLjIwMjAgMTM6MDAgLSAxODowMFxuICAgKi9cbiAgfCAnZGF5LXRpbWUtcmFuZ2UnXG5cbiAgLyoqXG4gICAqIFN1cHBvcnRzIGEgZGF0ZSBpbnRlcnZhbCB3aXRob3V0IHRpbWVcbiAgICogMTIuMTIuMjAyMCAtIDIyLjA2LjIwMjFcbiAgICovXG4gIHwgJ2RhdGUtcmFuZ2UnXG5cbiAgLyoqXG4gICAqIFN1cHBvcnRzIGEgZGF0ZS10aW1lIHRvIGRhdGUtdGltZSBpbnRlcnZhbFxuICAgKiAxMi4xMi4yMDIwIDg6MDAgLSAyMi4wNi4yMDIxIDE3OjAwXG4gICAqIFRoaXMgaXMgdGhlIGRlZmF1bHQgYXMgaXQgc3VwcG9ydHMgdGhlIG1vc3QgZGV0YWlsZWQgaW5wdXQuXG4gICAqL1xuICB8ICdkYXRlLXRpbWUtcmFuZ2UnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VsZGVyLWludGVydmFsLWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2VsZGVyLWludGVydmFsLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZWxkZXItaW50ZXJ2YWwtaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogTWF0Rm9ybUZpZWxkQ29udHJvbCwgdXNlRXhpc3Rpbmc6IEVsZGVySW50ZXJ2YWxJbnB1dENvbXBvbmVudCB9XSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIEFzeW5jUGlwZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgRWxkZXJEYXRlVGltZUlucHV0Q29tcG9uZW50LFxuICAgIEVsZGVyTG9jYWxUaW1lSW5wdXRDb21wb25lbnQsXG4gICAgTWF0RGF0ZVJhbmdlSW5wdXQsXG4gICAgTWF0U3RhcnREYXRlLFxuICAgIE1hdEVuZERhdGUsXG4gICAgTWF0RGF0ZXBpY2tlclRvZ2dsZSxcbiAgICBNYXRJY29uLFxuICAgIE1hdERhdGVwaWNrZXJUb2dnbGVJY29uLFxuICAgIE1hdERhdGVSYW5nZVBpY2tlcixcbiAgICBFbGRlckxvY2FsRGF0ZUlucHV0Q29tcG9uZW50LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBFbGRlckludGVydmFsSW5wdXRDb21wb25lbnQgZXh0ZW5kcyBFbGRlckZvcm1GaWVsZENvbnRyb2xCYXNlPFxuICBJbnRlcnZhbCB8IElzb0ludGVydmFsU3RyXG4+IHtcbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXIgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcih0aGlzLmNvbnN0cnVjdG9yLm5hbWUpXG5cbiAgcHJpdmF0ZSBfbW9kZTogSW50ZXJ2YWxJbnB1dE1vZGUgPSAnZGF0ZS10aW1lLXJhbmdlJ1xuICBwcml2YXRlIF9pc0RlZmF1bHREYXRlUGlja2VyRGlzYWJsZWQgPSBmYWxzZVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB6b25lID0gWm9uZUlkLnN5c3RlbURlZmF1bHQoKVxuXG4gIHB1YmxpYyByZWFkb25seSBlbmRUaW1lJDogT2JzZXJ2YWJsZTxMb2NhbFRpbWU+XG5cbiAgcHVibGljIHJlYWRvbmx5IHN0YXJ0TG9jYWxEYXRlJDogT2JzZXJ2YWJsZTxMb2NhbERhdGU+XG4gIHB1YmxpYyByZWFkb25seSBlbmRMb2NhbERhdGUkOiBPYnNlcnZhYmxlPExvY2FsRGF0ZT5cblxuICBwdWJsaWMgcmVhZG9ubHkgc3RhcnREYXRlJDogT2JzZXJ2YWJsZTxEYXRlPlxuICBwdWJsaWMgcmVhZG9ubHkgZW5kRGF0ZSQ6IE9ic2VydmFibGU8RGF0ZT5cblxuICBwdWJsaWMgcmVhZG9ubHkgZGF0ZWZvcm1hdDogc3RyaW5nXG5cbiAgcHVibGljIHJlYWRvbmx5IGludGVydmFsJDogT2JzZXJ2YWJsZTxJbnRlcnZhbD5cbiAgcHJpdmF0ZSBfdmFsdWVBc0lzb1N0cjogYm9vbGVhblxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGhvc3RSZWY6IEVsZW1lbnRSZWYsXG4gICAgem9uZTogTmdab25lLFxuICAgIGZvY3VzTW9uaXRvcjogRm9jdXNNb25pdG9yLFxuICAgIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgQFNlbGYoKSBwdWJsaWMgbmdDb250cm9sOiBOZ0NvbnRyb2wsXG4gICAgY3VzdG9tRGF0ZUFkYXB0ZXI6IERhdGVBZGFwdGVyPERhdGU+LFxuICAgIEBJbmplY3QoTUFUX0RBVEVfTE9DQUxFKSBtYXREYXRlTG9jYWxlOiBzdHJpbmdcbiAgKSB7XG4gICAgc3VwZXIoXG4gICAgICBob3N0UmVmLFxuICAgICAgJ2ludGVydmFsLWlucHV0JywgLy8gPT4gbWF0LW1kYy1mb3JtLWZpZWxkLXR5cGUtaW50ZXJ2YWwtaW5wdXRcbiAgICAgIGZvY3VzTW9uaXRvcixcbiAgICAgIHRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICBuZ0NvbnRyb2xcbiAgICApXG5cbiAgICB0aGlzLmNvbnRyb2xUeXBlID0gdGhpcy5fbW9kZVxuICAgIHRoaXMuaW50ZXJ2YWwkID0gdGhpcy52YWx1ZSQucGlwZShtYXAoKHZhbHVlKSA9PiBjb2VyY2VJbnRlcnZhbCh2YWx1ZSkpKVxuXG4gICAgdGhpcy5lbmRUaW1lJCA9IHRoaXMuaW50ZXJ2YWwkLnBpcGUoXG4gICAgICBtYXAoKGludGVydmFsKSA9PiAoaW50ZXJ2YWw/LmVuZCA/IExvY2FsVGltZS5mcm9tKGludGVydmFsLmVuZC5hdFpvbmUodGhpcy56b25lKSkgOiBudWxsKSlcbiAgICApXG5cbiAgICB0aGlzLnN0YXJ0TG9jYWxEYXRlJCA9IHRoaXMuaW50ZXJ2YWwkLnBpcGUoXG4gICAgICBtYXAoKGludGVydmFsKSA9PiAoaW50ZXJ2YWw/LnN0YXJ0ID8gTG9jYWxEYXRlLmZyb20oaW50ZXJ2YWwuc3RhcnQuYXRab25lKHRoaXMuem9uZSkpIDogbnVsbCkpXG4gICAgKVxuXG4gICAgdGhpcy5lbmRMb2NhbERhdGUkID0gdGhpcy5pbnRlcnZhbCQucGlwZShcbiAgICAgIG1hcCgoaW50ZXJ2YWwpID0+IChpbnRlcnZhbD8uZW5kID8gTG9jYWxEYXRlLmZyb20oaW50ZXJ2YWwuZW5kLmF0Wm9uZSh0aGlzLnpvbmUpKSA6IG51bGwpKVxuICAgIClcblxuICAgIHRoaXMuc3RhcnREYXRlJCA9IHRoaXMubWFwSWdub3JlRXJyb3JPYnNlcnZhYmxlKHRoaXMuc3RhcnRMb2NhbERhdGUkLCAoZDogTG9jYWxEYXRlKSA9PlxuICAgICAgVGltZVV0aWwubG9jYWxEYXRlVG9EYXRlKGQpXG4gICAgKVxuICAgIHRoaXMuZW5kRGF0ZSQgPSB0aGlzLm1hcElnbm9yZUVycm9yT2JzZXJ2YWJsZSh0aGlzLmVuZExvY2FsRGF0ZSQsIChkOiBMb2NhbERhdGUpID0+XG4gICAgICBUaW1lVXRpbC5sb2NhbERhdGVUb0RhdGUoZClcbiAgICApXG5cbiAgICB0aGlzLmRhdGVmb3JtYXQgPSBMb2NhbGVEYXRlRm9ybWF0cy5nZXRGb3JtYXRzT2ZMb2NhbGUobWF0RGF0ZUxvY2FsZSlbMF0udG9Mb3dlckNhc2UoKVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCB2YWx1ZUFzSXNvU3RyKGVuYWJsZWQ6IEJvb2xlYW5JbnB1dCkge1xuICAgIHRoaXMuX3ZhbHVlQXNJc29TdHIgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkoZW5hYmxlZClcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdmFsdWVBc0lzb1N0cigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWVBc0lzb1N0clxuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBtb2RlKG1vZGU6IEludGVydmFsSW5wdXRNb2RlKSB7XG4gICAgdGhpcy5fbW9kZSA9IG1vZGVcbiAgICB0aGlzLmNvbnRyb2xUeXBlID0gbW9kZVxuICB9XG5cbiAgcHVibGljIGdldCBtb2RlKCk6IEludGVydmFsSW5wdXRNb2RlIHtcbiAgICByZXR1cm4gdGhpcy5fbW9kZVxuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBpc0RlZmF1bHREYXRlUGlja2VyRGlzYWJsZWQoaGlkZTogQm9vbGVhbklucHV0KSB7XG4gICAgdGhpcy5faXNEZWZhdWx0RGF0ZVBpY2tlckRpc2FibGVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KGhpZGUpXG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzRGVmYXVsdERhdGVQaWNrZXJEaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faXNEZWZhdWx0RGF0ZVBpY2tlckRpc2FibGVkXG4gIH1cblxuICBAT3V0cHV0KClcbiAgcHVibGljIGdldCBpc29WYWx1ZUNoYW5nZSgpOiBPYnNlcnZhYmxlPElzb0ludGVydmFsU3RyIHwgbnVsbD4ge1xuICAgIHJldHVybiB0aGlzLnZhbHVlQ2hhbmdlLnBpcGUobWFwKCh2YWx1ZSkgPT4gY29lcmNlSW50ZXJ2YWxJc29TdHIodmFsdWUpKSlcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgaXNvVmFsdWUodmFsdWU6IElzb0ludGVydmFsU3RyIHwgbnVsbCkge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZSA/IHRoaXMuY29lcmNlVmFsdWUodmFsdWUpIDogbnVsbFxuICB9XG5cbiAgcHVibGljIGdldCBzaG91bGRMYWJlbEZsb2F0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0cnVlXG4gIH1cblxuICBwdWJsaWMgZ2V0IGludGVydmFsKCk6IEludGVydmFsIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gY29lcmNlSW50ZXJ2YWwodGhpcy52YWx1ZSlcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBmb2N1cyhvcHRpb25zPzogRm9jdXNPcHRpb25zKTogdm9pZCB7XG4gICAgdGhpcy5sb2dnZXIud2FybignZm9jdXMoKSBub3QgeWV0IHN1cHBvcnRlZCEnKVxuICAgIC8vIHRoaXMuaW5wdXRSZWY/Lm5hdGl2ZUVsZW1lbnQ/LmZvY3VzKG9wdGlvbnMpO1xuICB9XG5cbiAgcHVibGljIGJsdXIoKTogdm9pZCB7XG4gICAgdGhpcy5sb2dnZXIud2FybignYmx1cigpIG5vdCB5ZXQgc3VwcG9ydGVkIScpXG4gICAgLy8gdGhpcy5pbnB1dFJlZj8ubmF0aXZlRWxlbWVudD8uYmx1cigpO1xuICB9XG5cbiAgcHVibGljIG9uRGF5VGltZVN0YXJ0Q2hhbmdlZChzdGFydDogSW5zdGFudCkge1xuICAgIHRoaXMudXBkYXRlQ29lcmNlZFZhbHVlKEludGVydmFsLm9mKHN0YXJ0LCB0aGlzLmluc3RhbnRBdEVuZE9mRGF5KHN0YXJ0KSkpXG4gIH1cblxuICBwdWJsaWMgb25EYXlUaW1lRW5kVGltZUNoYW5nZWQoZW5kVGltZTogTG9jYWxUaW1lKTogdm9pZCB7XG4gICAgY29uc3Qgc3RhcnQgPSB0aGlzLmludGVydmFsLnN0YXJ0XG4gICAgY29uc3QgZW5kID0gdGhpcy5pbnN0YW50V2l0aFRpbWUoc3RhcnQsIGVuZFRpbWUpXG4gICAgdGhpcy51cGRhdGVDb2VyY2VkVmFsdWUoXG4gICAgICBJbnRlcnZhbC5vZihzdGFydCwgIWVuZC5pc0FmdGVyKHN0YXJ0KSA/IHRoaXMuaW5zdGFudEF0RW5kT2ZEYXkoc3RhcnQpIDogZW5kKVxuICAgIClcbiAgfVxuXG4gIHB1YmxpYyBvblN0YXJ0Q2hhbmdlZChzdGFydDogSW5zdGFudCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlQ29lcmNlZFZhbHVlKEludGVydmFsLm9mKHN0YXJ0LCB0aGlzLmludGVydmFsLmVuZCkpXG4gIH1cblxuICBwdWJsaWMgb25FbmRDaGFuZ2VkKGVuZDogSW5zdGFudCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlQ29lcmNlZFZhbHVlKEludGVydmFsLm9mKHRoaXMuaW50ZXJ2YWwuc3RhcnQsIGVuZCkpXG4gIH1cblxuICBwdWJsaWMgb25TdGFydERhdGVDaGFuZ2VkKHZhbHVlOiBEYXRlIHwgbnVsbCk6IHZvaWQge1xuICAgIGNvbnN0IGRhdGUgPSB0aGlzLnRvTG9jYWxEYXRlKHZhbHVlKVxuICAgIHRoaXMudXBkYXRlQ29lcmNlZFZhbHVlKEludGVydmFsLm9mKHRoaXMubG9jYWxEYXRlVG9JbnN0YW50KGRhdGUpLCB0aGlzLmludGVydmFsPy5lbmQpKVxuICB9XG5cbiAgcHVibGljIG9uRW5kRGF0ZUNoYW5nZWQodmFsdWU6IERhdGUgfCBudWxsKTogdm9pZCB7XG4gICAgY29uc3QgZGF0ZSA9IHRoaXMudG9Mb2NhbERhdGUodmFsdWUpXG4gICAgdGhpcy51cGRhdGVDb2VyY2VkVmFsdWUoSW50ZXJ2YWwub2YodGhpcy5pbnRlcnZhbD8uc3RhcnQsIHRoaXMubG9jYWxEYXRlVG9JbnN0YW50KGRhdGUpKSlcbiAgfVxuXG4gIHB1YmxpYyBvblNpbmdsZURheURhdGVDaGFuZ2VkKGRhdGU6IExvY2FsRGF0ZSk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlQ29lcmNlZFZhbHVlKEludGVydmFsLm9mRGF5KGRhdGUsIHRoaXMuem9uZSkpXG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHVwZGF0ZUNvZXJjZWRWYWx1ZSh2YWx1ZTogSW50ZXJ2YWwgfCBJc29JbnRlcnZhbFN0ciB8IHVuZGVmaW5lZCB8IG51bGwpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZVZhbHVlKHRoaXMuY29lcmNlVmFsdWUodmFsdWUpKVxuICB9XG5cbiAgcHJpdmF0ZSBpbnN0YW50QXRTdGFydE9mRGF5Tm93KCk6IEluc3RhbnQge1xuICAgIHJldHVybiBMb2NhbERhdGUubm93KCkuYXRTdGFydE9mRGF5KCkuYXRab25lKHRoaXMuem9uZSkudG9JbnN0YW50KClcbiAgfVxuXG4gIHByaXZhdGUgaW5zdGFudEF0RW5kT2ZEYXkoaW5zdGFudDogSW5zdGFudCk6IEluc3RhbnQge1xuICAgIHJldHVybiBMb2NhbERhdGUub2ZJbnN0YW50KGluc3RhbnQpLmF0U3RhcnRPZkRheSgpLnBsdXNEYXlzKDEpLmF0Wm9uZSh0aGlzLnpvbmUpLnRvSW5zdGFudCgpXG4gIH1cblxuICBwcml2YXRlIGxvY2FsRGF0ZVRvSW5zdGFudChkYXRlOiBMb2NhbERhdGUpOiBJbnN0YW50IHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoZGF0ZSkge1xuICAgICAgcmV0dXJuIGRhdGUuYXRTdGFydE9mRGF5KCkuYXRab25lKHRoaXMuem9uZSkudG9JbnN0YW50KClcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCB2YWx1ZXNFcXVhbHMoXG4gICAgYTogSW50ZXJ2YWwgfCBJc29JbnRlcnZhbFN0ciB8IHVuZGVmaW5lZCB8IG51bGwsXG4gICAgYjogSW50ZXJ2YWwgfCBJc29JbnRlcnZhbFN0ciB8IHVuZGVmaW5lZCB8IG51bGxcbiAgKTogYm9vbGVhbiB7XG4gICAgY29uc3QgYUludGVydmFsID0gY29lcmNlSW50ZXJ2YWwoYSlcbiAgICBjb25zdCBiSW50ZXJ2YWwgPSBjb2VyY2VJbnRlcnZhbChiKVxuICAgIHJldHVybiBhSW50ZXJ2YWwgJiYgYkludGVydmFsID8gYUludGVydmFsLmVxdWFscyhiSW50ZXJ2YWwpIDogYUludGVydmFsID09PSBiSW50ZXJ2YWxcbiAgfVxuXG4gIHByaXZhdGUgaW5zdGFudFdpdGhUaW1lKGluc3RhbnQ6IEluc3RhbnQsIHRpbWU6IExvY2FsVGltZSk6IEluc3RhbnQge1xuICAgIHJldHVybiBpbnN0YW50LmF0Wm9uZSh0aGlzLnpvbmUpLndpdGhIb3VyKHRpbWUuaG91cigpKS53aXRoTWludXRlKHRpbWUubWludXRlKCkpLnRvSW5zdGFudCgpXG4gIH1cblxuICBwcml2YXRlIHRvTG9jYWxEYXRlKHZhbHVlOiBEYXRlKTogTG9jYWxEYXRlIHwgbnVsbCB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiB2YWx1ZSA/IFRpbWVVdGlsLmRhdGVUb0xvY2FsRGF0ZSh2YWx1ZSkgOiBudWxsXG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICB0aGlzLmxvZ2dlci53YXJuKCdGYWlsZWQgdG8gYXBwbHkgdmFsdWUgdG8gZGF0ZVZhbHVlOiAnICsgdmFsdWUsIGVycilcbiAgICAgIHJldHVybiBudWxsXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBtYXBJZ25vcmVFcnJvck9ic2VydmFibGU8VD4oXG4gICAgZGF0ZTogT2JzZXJ2YWJsZTxMb2NhbERhdGU+LFxuICAgIGNvbnZlcnNpb25GbjogKGQ6IExvY2FsRGF0ZSkgPT4gVFxuICApOiBPYnNlcnZhYmxlPFQgfCBudWxsPiB7XG4gICAgcmV0dXJuIGRhdGUucGlwZShcbiAgICAgIG1hcCgobG9jYWxEYXRlKSA9PiAobG9jYWxEYXRlID8gY29udmVyc2lvbkZuKGxvY2FsRGF0ZSkgOiBudWxsKSksXG4gICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcbiAgICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoJ0ZhaWxlZCB0byBjb252ZXJ0IGxvY2FsIGRhdGUhJywgZXJyKVxuICAgICAgICByZXR1cm4gb2YobnVsbClcbiAgICAgIH0pXG4gICAgKVxuICB9XG5cbiAgcHJpdmF0ZSBjb2VyY2VWYWx1ZShcbiAgICB2YWx1ZTogSW50ZXJ2YWwgfCBJc29JbnRlcnZhbFN0ciB8IHVuZGVmaW5lZCB8IG51bGxcbiAgKTogSW50ZXJ2YWwgfCBJc29JbnRlcnZhbFN0ciB8IHVuZGVmaW5lZCB8IG51bGwge1xuICAgIGlmICh0aGlzLnZhbHVlQXNJc29TdHIpIHtcbiAgICAgIHJldHVybiBjb2VyY2VJbnRlcnZhbElzb1N0cih2YWx1ZSlcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGNvZXJjZUludGVydmFsKHZhbHVlKVxuICAgIH1cbiAgfVxufVxuIiwiQHN3aXRjaCAobW9kZSkge1xuICBAY2FzZSAoJ2RhdGUtdGltZS1yYW5nZScpIHtcbiAgICA8ZGl2IGNsYXNzPVwibGF5b3V0LXJvd1wiPlxuICAgICAgPGVsZGVyLWRhdGUtdGltZS1pbnB1dFxuICAgICAgICBjbGFzcz1cImZsZXhcIlxuICAgICAgICBjZW50ZXJcbiAgICAgICAgW3ZhbHVlXT1cIihpbnRlcnZhbCQgfCBhc3luYyk/LnN0YXJ0XCJcbiAgICAgICAgKHZhbHVlVXBkYXRlZCk9XCJvblN0YXJ0Q2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cIihwbGFjZWhvbGRlciB8fCAnJykgKyAnICcgKyAoJ2ludGVydmFsLmZyb20nIHwgdHJhbnNsYXRlKVwiXG4gICAgICA+PC9lbGRlci1kYXRlLXRpbWUtaW5wdXQ+XG4gICAgICA8c3BhbiBjbGFzcz1cIm1hdC1kYXRlLXJhbmdlLWlucHV0LXNlcGFyYXRvciBmbGV4LW5vbmVcIj7igJM8L3NwYW4+XG4gICAgICA8ZWxkZXItZGF0ZS10aW1lLWlucHV0XG4gICAgICAgIGNsYXNzPVwiZmxleFwiXG4gICAgICAgIGNlbnRlclxuICAgICAgICBbdmFsdWVdPVwiKGludGVydmFsJCB8IGFzeW5jKT8uZW5kXCJcbiAgICAgICAgKHZhbHVlVXBkYXRlZCk9XCJvbkVuZENoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCIocGxhY2Vob2xkZXIgfHwgJycpICsgJyAnICsgKCdpbnRlcnZhbC50bycgfCB0cmFuc2xhdGUpXCJcbiAgICAgID48L2VsZGVyLWRhdGUtdGltZS1pbnB1dD5cbiAgICA8L2Rpdj5cbiAgfVxuICBAY2FzZSAoJ2RheS10aW1lLXJhbmdlJykge1xuICAgIDxkaXYgY2xhc3M9XCJsYXlvdXQtcm93IGdhcC14cyBlbGRlci1mbGV4LWludGVydmFsLWNvbnRyb2xcIj5cbiAgICAgIDwhLS0gIFtuYW1lXT1cIm5hbWUgKyAnLWRheS1zdGFydCdcIiAtLT5cbiAgICAgIDxlbGRlci1kYXRlLXRpbWUtaW5wdXRcbiAgICAgICAgW3ZhbHVlXT1cIihpbnRlcnZhbCQgfCBhc3luYyk/LnN0YXJ0XCJcbiAgICAgICAgKHZhbHVlVXBkYXRlZCk9XCJvbkRheVRpbWVTdGFydENoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCIocGxhY2Vob2xkZXIgfHwgJycpICsgJyAnICsgKCdpbnRlcnZhbC5mcm9tJyB8IHRyYW5zbGF0ZSlcIlxuICAgICAgPjwvZWxkZXItZGF0ZS10aW1lLWlucHV0PlxuXG4gICAgICA8IS0tIFtuYW1lXT1cIm5hbWUgKyAnLWRheS1lbmQnXCIgLS0+XG4gICAgICA8ZWxkZXItbG9jYWwtdGltZS1pbnB1dFxuICAgICAgICBbdmFsdWVdPVwiZW5kVGltZSQgfCBhc3luY1wiXG4gICAgICAgICh2YWx1ZVVwZGF0ZWQpPVwib25EYXlUaW1lRW5kVGltZUNoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCIocGxhY2Vob2xkZXIgfHwgJycpICsgJyAnICsgKCdpbnRlcnZhbC50bycgfCB0cmFuc2xhdGUpXCJcbiAgICAgID48L2VsZGVyLWxvY2FsLXRpbWUtaW5wdXQ+XG4gICAgPC9kaXY+XG4gIH1cblxuICBAY2FzZSAoJ2RhdGUtcmFuZ2UnKSB7XG4gICAgPGRpdiBjbGFzcz1cImxheW91dC1yb3cgZ2FwLXhzIGVsZGVyLWZsZXgtaW50ZXJ2YWwtY29udHJvbFwiPlxuICAgICAgPG1hdC1kYXRlLXJhbmdlLWlucHV0XG4gICAgICAgIGNsYXNzPVwibWRjLXRleHQtZmllbGRfX2lucHV0XCJcbiAgICAgICAgW3JhbmdlUGlja2VyXT1cInBpY2tlclwiXG4gICAgICAgIFtkaXNhYmxlZF09XCIhIWRpc2FibGVkXCJcbiAgICAgID5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgbWF0U3RhcnREYXRlXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImRhdGVmb3JtYXRcIlxuICAgICAgICAgIFtuZ01vZGVsXT1cInN0YXJ0RGF0ZSQgfCBhc3luY1wiXG4gICAgICAgICAgbmFtZT1cImRhdGUtcmFuZ2Uuc3RhcnRcIlxuICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUsIHVwZGF0ZU9uOiAnYmx1cicgfVwiXG4gICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25TdGFydERhdGVDaGFuZ2VkKCRldmVudClcIlxuICAgICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cIiEhZGlzYWJsZWRcIlxuICAgICAgICAvPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICBtYXRFbmREYXRlXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImRhdGVmb3JtYXRcIlxuICAgICAgICAgIFtuZ01vZGVsXT1cImVuZERhdGUkIHwgYXN5bmNcIlxuICAgICAgICAgIG5hbWU9XCJkYXRlLXJhbmdlLmVuZFwiXG4gICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSwgdXBkYXRlT246ICdibHVyJyB9XCJcbiAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbkVuZERhdGVDaGFuZ2VkKCRldmVudClcIlxuICAgICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cIiEhZGlzYWJsZWRcIlxuICAgICAgICAvPlxuICAgICAgPC9tYXQtZGF0ZS1yYW5nZS1pbnB1dD5cblxuICAgICAgQGlmICghaXNEZWZhdWx0RGF0ZVBpY2tlckRpc2FibGVkKSB7XG4gICAgICAgIDxtYXQtZGF0ZXBpY2tlci10b2dnbGVcbiAgICAgICAgICBjbGFzcz1cImVsZGVyLWNvbnRyb2wtaWNvbi1idXR0b25cIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJpc0xvY2tlZFwiXG4gICAgICAgICAgW2Zvcl09XCJwaWNrZXJcIlxuICAgICAgICA+XG4gICAgICAgICAgPG1hdC1pY29uIG1hdERhdGVwaWNrZXJUb2dnbGVJY29uPmNhbGVuZGFyX21vbnRoPC9tYXQtaWNvbj5cbiAgICAgICAgPC9tYXQtZGF0ZXBpY2tlci10b2dnbGU+XG4gICAgICB9XG4gICAgICA8bWF0LWRhdGUtcmFuZ2UtcGlja2VyICNwaWNrZXI+PC9tYXQtZGF0ZS1yYW5nZS1waWNrZXI+XG4gICAgPC9kaXY+XG4gIH1cblxuICBAY2FzZSAoJ3NpbmdsZS1kYXknKSB7XG4gICAgPGRpdiBjbGFzcz1cImxheW91dC1yb3cgZWxkZXItZmxleC1jb250cm9sXCI+XG4gICAgICA8IS0tIFtuYW1lXT1cIm5hbWVcIiAtLT5cbiAgICAgIDxlbGRlci1sb2NhbC1kYXRlLWlucHV0XG4gICAgICAgIGNsYXNzPVwiZmxleFwiXG4gICAgICAgIGNlbnRlclxuICAgICAgICBbdmFsdWVdPVwic3RhcnRMb2NhbERhdGUkIHwgYXN5bmNcIlxuICAgICAgICAodmFsdWVVcGRhdGVkKT1cIm9uU2luZ2xlRGF5RGF0ZUNoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlciB8fCAnJ1wiXG4gICAgICA+PC9lbGRlci1sb2NhbC1kYXRlLWlucHV0PlxuICAgIDwvZGl2PlxuICB9XG59XG4iXX0=
|
|
217
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItaW50ZXJ2YWwtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy90aW1lL2VsZGVyLWludGVydmFsLWlucHV0L2VsZGVyLWludGVydmFsLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvdGltZS9lbGRlci1pbnRlcnZhbC1pbnB1dC9lbGRlci1pbnRlcnZhbC1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBRVIsTUFBTSxFQUNOLEtBQUssRUFHTCxNQUFNLEdBRVAsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQ3BELE9BQU8sRUFBRSxRQUFRLEVBQWtCLE1BQU0sK0JBQStCLENBQUE7QUFDeEUsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUNyQyxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ2hELE9BQU8sRUFBVyxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNyRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQTtBQUV6RyxPQUFPLEVBQW9CLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3ZFLE9BQU8sRUFBYSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUN2RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQTtBQUNsRSxP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e1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBjb21wdXRlZCxcbiAgRWxlbWVudFJlZixcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgTmdab25lLFxuICBPcHRpb25hbCxcbiAgT3V0cHV0LFxuICBTZWxmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgTG9nZ2VyRmFjdG9yeSB9IGZyb20gJ0BlbGRlcmJ5dGUvdHMtbG9nZ2VyJ1xuaW1wb3J0IHsgSW50ZXJ2YWwsIElzb0ludGVydmFsU3RyIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL3RpbWUvaW50ZXJ2YWwnXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcbmltcG9ydCB7IEluc3RhbnQsIExvY2FsRGF0ZSwgTG9jYWxUaW1lLCBab25lSWQgfSBmcm9tICdAanMtam9kYS9jb3JlJ1xuaW1wb3J0IHsgRWxkZXJGb3JtRmllbGRDb250cm9sQmFzZSB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9mb3Jtcy9lbGRlci1mb3JtLWZpZWxkLWNvbnRyb2wtYmFzZS5kaXJlY3RpdmUnXG5pbXBvcnQgeyBGb2N1c01vbml0b3IgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSdcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UsIFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBOZ0NvbnRyb2wsIEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCdcbmltcG9ydCB7IFRpbWVVdGlsIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL3RpbWUvdGltZS11dGlsJ1xuaW1wb3J0IHsgRGF0ZUFkYXB0ZXIsIE1BVF9EQVRFX0xPQ0FMRSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnXG5pbXBvcnQgeyBMb2NhbGVEYXRlRm9ybWF0cyB9IGZyb20gJy4uL2RhdGUtZm9ybWF0cy9sb2NhbGUtZGF0ZS1mb3JtYXRzJ1xuaW1wb3J0IHsgRWxkZXJMb2NhbERhdGVJbnB1dENvbXBvbmVudCB9IGZyb20gJy4uL2VsZGVyLWxvY2FsLWRhdGUtaW5wdXQvZWxkZXItbG9jYWwtZGF0ZS1pbnB1dC5jb21wb25lbnQnXG5pbXBvcnQgeyBNYXRJY29uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbidcbmltcG9ydCB7XG4gIE1hdERhdGVSYW5nZUlucHV0LFxuICBNYXRTdGFydERhdGUsXG4gIE1hdEVuZERhdGUsXG4gIE1hdERhdGVwaWNrZXJUb2dnbGUsXG4gIE1hdERhdGVwaWNrZXJUb2dnbGVJY29uLFxuICBNYXREYXRlUmFuZ2VQaWNrZXIsXG59IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInXG5pbXBvcnQgeyBFbGRlckxvY2FsVGltZUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi4vZWxkZXItbG9jYWwtdGltZS1pbnB1dC9lbGRlci1sb2NhbC10aW1lLWlucHV0LmNvbXBvbmVudCdcbmltcG9ydCB7IEVsZGVyRGF0ZVRpbWVJbnB1dENvbXBvbmVudCB9IGZyb20gJy4uL2VsZGVyLWRhdGUtdGltZS1pbnB1dC9lbGRlci1kYXRlLXRpbWUtaW5wdXQuY29tcG9uZW50J1xuaW1wb3J0IHsgQXN5bmNQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgQm9vbGVhbklucHV0LCBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nXG5pbXBvcnQgeyBjb2VyY2VJbnRlcnZhbCwgY29lcmNlSW50ZXJ2YWxJc29TdHIgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vdGltZS9pbnRlcnZhbC1jb2VyY2UnXG5cbmV4cG9ydCB0eXBlIEludGVydmFsSW5wdXRNb2RlID1cbiAgLyoqXG4gICAqIFN1cHBvcnRzIHRoZSBzZWxlY3Rpb24gb2YgYSBzaW5nbGUgKGZ1bGwpIGRheTpcbiAgICogMTIuMTIuMjAyMFxuICAgKi9cbiAgfCAnc2luZ2xlLWRheSdcblxuICAvKipcbiAgICogU3VwcG9ydHMgYSB0aW1lIGludGVydmFsIGluIGEgZGF5OlxuICAgKiAxMi4xMi4yMDIwIDEzOjAwIC0gMTg6MDBcbiAgICovXG4gIHwgJ2RheS10aW1lLXJhbmdlJ1xuXG4gIC8qKlxuICAgKiBTdXBwb3J0cyBhIGRhdGUgaW50ZXJ2YWwgd2l0aG91dCB0aW1lXG4gICAqIDEyLjEyLjIwMjAgLSAyMi4wNi4yMDIxXG4gICAqL1xuICB8ICdkYXRlLXJhbmdlJ1xuXG4gIC8qKlxuICAgKiBTdXBwb3J0cyBhIGRhdGUtdGltZSB0byBkYXRlLXRpbWUgaW50ZXJ2YWxcbiAgICogMTIuMTIuMjAyMCA4OjAwIC0gMjIuMDYuMjAyMSAxNzowMFxuICAgKiBUaGlzIGlzIHRoZSBkZWZhdWx0IGFzIGl0IHN1cHBvcnRzIHRoZSBtb3N0IGRldGFpbGVkIGlucHV0LlxuICAgKi9cbiAgfCAnZGF0ZS10aW1lLXJhbmdlJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlbGRlci1pbnRlcnZhbC1pbnB1dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9lbGRlci1pbnRlcnZhbC1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2VsZGVyLWludGVydmFsLWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IE1hdEZvcm1GaWVsZENvbnRyb2wsIHVzZUV4aXN0aW5nOiBFbGRlckludGVydmFsSW5wdXRDb21wb25lbnQgfV0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBBc3luY1BpcGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIEVsZGVyRGF0ZVRpbWVJbnB1dENvbXBvbmVudCxcbiAgICBFbGRlckxvY2FsVGltZUlucHV0Q29tcG9uZW50LFxuICAgIE1hdERhdGVSYW5nZUlucHV0LFxuICAgIE1hdFN0YXJ0RGF0ZSxcbiAgICBNYXRFbmREYXRlLFxuICAgIE1hdERhdGVwaWNrZXJUb2dnbGUsXG4gICAgTWF0SWNvbixcbiAgICBNYXREYXRlcGlja2VyVG9nZ2xlSWNvbixcbiAgICBNYXREYXRlUmFuZ2VQaWNrZXIsXG4gICAgRWxkZXJMb2NhbERhdGVJbnB1dENvbXBvbmVudCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJJbnRlcnZhbElucHV0Q29tcG9uZW50IGV4dGVuZHMgRWxkZXJGb3JtRmllbGRDb250cm9sQmFzZTxcbiAgSW50ZXJ2YWwgfCBJc29JbnRlcnZhbFN0clxuPiB7XG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKVxuXG4gIHByaXZhdGUgX21vZGU6IEludGVydmFsSW5wdXRNb2RlID0gJ2RhdGUtdGltZS1yYW5nZSdcbiAgcHJpdmF0ZSBfaXNEZWZhdWx0RGF0ZVBpY2tlckRpc2FibGVkID0gZmFsc2VcblxuICBASW5wdXQoKVxuICBwdWJsaWMgem9uZSA9IFpvbmVJZC5zeXN0ZW1EZWZhdWx0KClcblxuICBwdWJsaWMgcmVhZG9ubHkgZW5kVGltZSQ6IE9ic2VydmFibGU8TG9jYWxUaW1lPlxuXG4gIHB1YmxpYyByZWFkb25seSBzdGFydExvY2FsRGF0ZSQ6IE9ic2VydmFibGU8TG9jYWxEYXRlPlxuICBwdWJsaWMgcmVhZG9ubHkgZW5kTG9jYWxEYXRlJDogT2JzZXJ2YWJsZTxMb2NhbERhdGU+XG5cbiAgcHVibGljIHJlYWRvbmx5IHN0YXJ0RGF0ZSQ6IE9ic2VydmFibGU8RGF0ZT5cbiAgcHVibGljIHJlYWRvbmx5IGVuZERhdGUkOiBPYnNlcnZhYmxlPERhdGU+XG5cbiAgcHVibGljIHJlYWRvbmx5IGRhdGVmb3JtYXQ6IHN0cmluZ1xuXG4gIHB1YmxpYyByZWFkb25seSBpbnRlcnZhbCQ6IE9ic2VydmFibGU8SW50ZXJ2YWw+XG4gIHByaXZhdGUgX3ZhbHVlQXNJc29TdHI6IGJvb2xlYW5cblxuICBwdWJsaWMgcGxhY2VIb2xkZXJPckVtcHR5ID0gY29tcHV0ZWQ8c3RyaW5nPigoKSA9PiB0aGlzLnBsYWNlaG9sZGVyUygpID8/ICcnKVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGN1c3RvbURhdGVBZGFwdGVyOiBEYXRlQWRhcHRlcjxEYXRlPixcbiAgICBASW5qZWN0KE1BVF9EQVRFX0xPQ0FMRSkgbWF0RGF0ZUxvY2FsZTogc3RyaW5nXG4gICkge1xuICAgIHN1cGVyKFxuICAgICAgJ2ludGVydmFsLWlucHV0JyAvLyA9PiBtYXQtbWRjLWZvcm0tZmllbGQtdHlwZS1pbnRlcnZhbC1pbnB1dFxuICAgIClcblxuICAgIHRoaXMuY29udHJvbFR5cGUgPSB0aGlzLl9tb2RlXG4gICAgdGhpcy5pbnRlcnZhbCQgPSB0aGlzLnZhbHVlJC5waXBlKG1hcCgodmFsdWUpID0+IGNvZXJjZUludGVydmFsKHZhbHVlKSkpXG5cbiAgICB0aGlzLmVuZFRpbWUkID0gdGhpcy5pbnRlcnZhbCQucGlwZShcbiAgICAgIG1hcCgoaW50ZXJ2YWwpID0+IChpbnRlcnZhbD8uZW5kID8gTG9jYWxUaW1lLmZyb20oaW50ZXJ2YWwuZW5kLmF0Wm9uZSh0aGlzLnpvbmUpKSA6IG51bGwpKVxuICAgIClcblxuICAgIHRoaXMuc3RhcnRMb2NhbERhdGUkID0gdGhpcy5pbnRlcnZhbCQucGlwZShcbiAgICAgIG1hcCgoaW50ZXJ2YWwpID0+IChpbnRlcnZhbD8uc3RhcnQgPyBMb2NhbERhdGUuZnJvbShpbnRlcnZhbC5zdGFydC5hdFpvbmUodGhpcy56b25lKSkgOiBudWxsKSlcbiAgICApXG5cbiAgICB0aGlzLmVuZExvY2FsRGF0ZSQgPSB0aGlzLmludGVydmFsJC5waXBlKFxuICAgICAgbWFwKChpbnRlcnZhbCkgPT4gKGludGVydmFsPy5lbmQgPyBMb2NhbERhdGUuZnJvbShpbnRlcnZhbC5lbmQuYXRab25lKHRoaXMuem9uZSkpIDogbnVsbCkpXG4gICAgKVxuXG4gICAgdGhpcy5zdGFydERhdGUkID0gdGhpcy5tYXBJZ25vcmVFcnJvck9ic2VydmFibGUodGhpcy5zdGFydExvY2FsRGF0ZSQsIChkOiBMb2NhbERhdGUpID0+XG4gICAgICBUaW1lVXRpbC5sb2NhbERhdGVUb0RhdGUoZClcbiAgICApXG4gICAgdGhpcy5lbmREYXRlJCA9IHRoaXMubWFwSWdub3JlRXJyb3JPYnNlcnZhYmxlKHRoaXMuZW5kTG9jYWxEYXRlJCwgKGQ6IExvY2FsRGF0ZSkgPT5cbiAgICAgIFRpbWVVdGlsLmxvY2FsRGF0ZVRvRGF0ZShkKVxuICAgIClcblxuICAgIHRoaXMuZGF0ZWZvcm1hdCA9IExvY2FsZURhdGVGb3JtYXRzLmdldEZvcm1hdHNPZkxvY2FsZShtYXREYXRlTG9jYWxlKVswXS50b0xvd2VyQ2FzZSgpXG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHZhbHVlQXNJc29TdHIoZW5hYmxlZDogQm9vbGVhbklucHV0KSB7XG4gICAgdGhpcy5fdmFsdWVBc0lzb1N0ciA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eShlbmFibGVkKVxuICB9XG5cbiAgcHVibGljIGdldCB2YWx1ZUFzSXNvU3RyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl92YWx1ZUFzSXNvU3RyXG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IG1vZGUobW9kZTogSW50ZXJ2YWxJbnB1dE1vZGUpIHtcbiAgICB0aGlzLl9tb2RlID0gbW9kZVxuICAgIHRoaXMuY29udHJvbFR5cGUgPSBtb2RlXG4gIH1cblxuICBwdWJsaWMgZ2V0IG1vZGUoKTogSW50ZXJ2YWxJbnB1dE1vZGUge1xuICAgIHJldHVybiB0aGlzLl9tb2RlXG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGlzRGVmYXVsdERhdGVQaWNrZXJEaXNhYmxlZChoaWRlOiBCb29sZWFuSW5wdXQpIHtcbiAgICB0aGlzLl9pc0RlZmF1bHREYXRlUGlja2VyRGlzYWJsZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkoaGlkZSlcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNEZWZhdWx0RGF0ZVBpY2tlckRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9pc0RlZmF1bHREYXRlUGlja2VyRGlzYWJsZWRcbiAgfVxuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZ2V0IGlzb1ZhbHVlQ2hhbmdlKCk6IE9ic2VydmFibGU8SXNvSW50ZXJ2YWxTdHIgfCBudWxsPiB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWVDaGFuZ2UucGlwZShtYXAoKHZhbHVlKSA9PiBjb2VyY2VJbnRlcnZhbElzb1N0cih2YWx1ZSkpKVxuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBpc29WYWx1ZSh2YWx1ZTogSXNvSW50ZXJ2YWxTdHIgfCBudWxsKSB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlID8gdGhpcy5jb2VyY2VWYWx1ZSh2YWx1ZSkgOiBudWxsXG4gIH1cblxuICBwdWJsaWMgZ2V0IHNob3VsZExhYmVsRmxvYXQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRydWVcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaW50ZXJ2YWwoKTogSW50ZXJ2YWwgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBjb2VyY2VJbnRlcnZhbCh0aGlzLnZhbHVlKVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGZvY3VzKG9wdGlvbnM/OiBGb2N1c09wdGlvbnMpOiB2b2lkIHtcbiAgICB0aGlzLmxvZ2dlci53YXJuKCdmb2N1cygpIG5vdCB5ZXQgc3VwcG9ydGVkIScpXG4gICAgLy8gdGhpcy5pbnB1dFJlZj8ubmF0aXZlRWxlbWVudD8uZm9jdXMob3B0aW9ucyk7XG4gIH1cblxuICBwdWJsaWMgYmx1cigpOiB2b2lkIHtcbiAgICB0aGlzLmxvZ2dlci53YXJuKCdibHVyKCkgbm90IHlldCBzdXBwb3J0ZWQhJylcbiAgICAvLyB0aGlzLmlucHV0UmVmPy5uYXRpdmVFbGVtZW50Py5ibHVyKCk7XG4gIH1cblxuICBwdWJsaWMgb25EYXlUaW1lU3RhcnRDaGFuZ2VkKHN0YXJ0OiBJbnN0YW50KSB7XG4gICAgdGhpcy51cGRhdGVDb2VyY2VkVmFsdWUoSW50ZXJ2YWwub2Yoc3RhcnQsIHRoaXMuaW5zdGFudEF0RW5kT2ZEYXkoc3RhcnQpKSlcbiAgfVxuXG4gIHB1YmxpYyBvbkRheVRpbWVFbmRUaW1lQ2hhbmdlZChlbmRUaW1lOiBMb2NhbFRpbWUpOiB2b2lkIHtcbiAgICBjb25zdCBzdGFydCA9IHRoaXMuaW50ZXJ2YWwuc3RhcnRcbiAgICBjb25zdCBlbmQgPSB0aGlzLmluc3RhbnRXaXRoVGltZShzdGFydCwgZW5kVGltZSlcbiAgICB0aGlzLnVwZGF0ZUNvZXJjZWRWYWx1ZShcbiAgICAgIEludGVydmFsLm9mKHN0YXJ0LCAhZW5kLmlzQWZ0ZXIoc3RhcnQpID8gdGhpcy5pbnN0YW50QXRFbmRPZkRheShzdGFydCkgOiBlbmQpXG4gICAgKVxuICB9XG5cbiAgcHVibGljIG9uU3RhcnRDaGFuZ2VkKHN0YXJ0OiBJbnN0YW50KTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVDb2VyY2VkVmFsdWUoSW50ZXJ2YWwub2Yoc3RhcnQsIHRoaXMuaW50ZXJ2YWwuZW5kKSlcbiAgfVxuXG4gIHB1YmxpYyBvbkVuZENoYW5nZWQoZW5kOiBJbnN0YW50KTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVDb2VyY2VkVmFsdWUoSW50ZXJ2YWwub2YodGhpcy5pbnRlcnZhbC5zdGFydCwgZW5kKSlcbiAgfVxuXG4gIHB1YmxpYyBvblN0YXJ0RGF0ZUNoYW5nZWQodmFsdWU6IERhdGUgfCBudWxsKTogdm9pZCB7XG4gICAgY29uc3QgZGF0ZSA9IHRoaXMudG9Mb2NhbERhdGUodmFsdWUpXG4gICAgdGhpcy51cGRhdGVDb2VyY2VkVmFsdWUoSW50ZXJ2YWwub2YodGhpcy5sb2NhbERhdGVUb0luc3RhbnQoZGF0ZSksIHRoaXMuaW50ZXJ2YWw/LmVuZCkpXG4gIH1cblxuICBwdWJsaWMgb25FbmREYXRlQ2hhbmdlZCh2YWx1ZTogRGF0ZSB8IG51bGwpOiB2b2lkIHtcbiAgICBjb25zdCBkYXRlID0gdGhpcy50b0xvY2FsRGF0ZSh2YWx1ZSlcbiAgICB0aGlzLnVwZGF0ZUNvZXJjZWRWYWx1ZShJbnRlcnZhbC5vZih0aGlzLmludGVydmFsPy5zdGFydCwgdGhpcy5sb2NhbERhdGVUb0luc3RhbnQoZGF0ZSkpKVxuICB9XG5cbiAgcHVibGljIG9uU2luZ2xlRGF5RGF0ZUNoYW5nZWQoZGF0ZTogTG9jYWxEYXRlKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVDb2VyY2VkVmFsdWUoSW50ZXJ2YWwub2ZEYXkoZGF0ZSwgdGhpcy56b25lKSlcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgdXBkYXRlQ29lcmNlZFZhbHVlKHZhbHVlOiBJbnRlcnZhbCB8IElzb0ludGVydmFsU3RyIHwgdW5kZWZpbmVkIHwgbnVsbCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlVmFsdWUodGhpcy5jb2VyY2VWYWx1ZSh2YWx1ZSkpXG4gIH1cblxuICBwcml2YXRlIGluc3RhbnRBdFN0YXJ0T2ZEYXlOb3coKTogSW5zdGFudCB7XG4gICAgcmV0dXJuIExvY2FsRGF0ZS5ub3coKS5hdFN0YXJ0T2ZEYXkoKS5hdFpvbmUodGhpcy56b25lKS50b0luc3RhbnQoKVxuICB9XG5cbiAgcHJpdmF0ZSBpbnN0YW50QXRFbmRPZkRheShpbnN0YW50OiBJbnN0YW50KTogSW5zdGFudCB7XG4gICAgcmV0dXJuIExvY2FsRGF0ZS5vZkluc3RhbnQoaW5zdGFudCkuYXRTdGFydE9mRGF5KCkucGx1c0RheXMoMSkuYXRab25lKHRoaXMuem9uZSkudG9JbnN0YW50KClcbiAgfVxuXG4gIHByaXZhdGUgbG9jYWxEYXRlVG9JbnN0YW50KGRhdGU6IExvY2FsRGF0ZSk6IEluc3RhbnQgfCB1bmRlZmluZWQge1xuICAgIGlmIChkYXRlKSB7XG4gICAgICByZXR1cm4gZGF0ZS5hdFN0YXJ0T2ZEYXkoKS5hdFpvbmUodGhpcy56b25lKS50b0luc3RhbnQoKVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHZhbHVlc0VxdWFscyhcbiAgICBhOiBJbnRlcnZhbCB8IElzb0ludGVydmFsU3RyIHwgdW5kZWZpbmVkIHwgbnVsbCxcbiAgICBiOiBJbnRlcnZhbCB8IElzb0ludGVydmFsU3RyIHwgdW5kZWZpbmVkIHwgbnVsbFxuICApOiBib29sZWFuIHtcbiAgICBjb25zdCBhSW50ZXJ2YWwgPSBjb2VyY2VJbnRlcnZhbChhKVxuICAgIGNvbnN0IGJJbnRlcnZhbCA9IGNvZXJjZUludGVydmFsKGIpXG4gICAgcmV0dXJuIGFJbnRlcnZhbCAmJiBiSW50ZXJ2YWwgPyBhSW50ZXJ2YWwuZXF1YWxzKGJJbnRlcnZhbCkgOiBhSW50ZXJ2YWwgPT09IGJJbnRlcnZhbFxuICB9XG5cbiAgcHJpdmF0ZSBpbnN0YW50V2l0aFRpbWUoaW5zdGFudDogSW5zdGFudCwgdGltZTogTG9jYWxUaW1lKTogSW5zdGFudCB7XG4gICAgcmV0dXJuIGluc3RhbnQuYXRab25lKHRoaXMuem9uZSkud2l0aEhvdXIodGltZS5ob3VyKCkpLndpdGhNaW51dGUodGltZS5taW51dGUoKSkudG9JbnN0YW50KClcbiAgfVxuXG4gIHByaXZhdGUgdG9Mb2NhbERhdGUodmFsdWU6IERhdGUpOiBMb2NhbERhdGUgfCBudWxsIHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIHZhbHVlID8gVGltZVV0aWwuZGF0ZVRvTG9jYWxEYXRlKHZhbHVlKSA6IG51bGxcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIHRoaXMubG9nZ2VyLndhcm4oJ0ZhaWxlZCB0byBhcHBseSB2YWx1ZSB0byBkYXRlVmFsdWU6ICcgKyB2YWx1ZSwgZXJyKVxuICAgICAgcmV0dXJuIG51bGxcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIG1hcElnbm9yZUVycm9yT2JzZXJ2YWJsZTxUPihcbiAgICBkYXRlOiBPYnNlcnZhYmxlPExvY2FsRGF0ZT4sXG4gICAgY29udmVyc2lvbkZuOiAoZDogTG9jYWxEYXRlKSA9PiBUXG4gICk6IE9ic2VydmFibGU8VCB8IG51bGw+IHtcbiAgICByZXR1cm4gZGF0ZS5waXBlKFxuICAgICAgbWFwKChsb2NhbERhdGUpID0+IChsb2NhbERhdGUgPyBjb252ZXJzaW9uRm4obG9jYWxEYXRlKSA6IG51bGwpKSxcbiAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xuICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcignRmFpbGVkIHRvIGNvbnZlcnQgbG9jYWwgZGF0ZSEnLCBlcnIpXG4gICAgICAgIHJldHVybiBvZihudWxsKVxuICAgICAgfSlcbiAgICApXG4gIH1cblxuICBwcml2YXRlIGNvZXJjZVZhbHVlKFxuICAgIHZhbHVlOiBJbnRlcnZhbCB8IElzb0ludGVydmFsU3RyIHwgdW5kZWZpbmVkIHwgbnVsbFxuICApOiBJbnRlcnZhbCB8IElzb0ludGVydmFsU3RyIHwgdW5kZWZpbmVkIHwgbnVsbCB7XG4gICAgaWYgKHRoaXMudmFsdWVBc0lzb1N0cikge1xuICAgICAgcmV0dXJuIGNvZXJjZUludGVydmFsSXNvU3RyKHZhbHVlKVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gY29lcmNlSW50ZXJ2YWwodmFsdWUpXG4gICAgfVxuICB9XG59XG4iLCJAc3dpdGNoIChtb2RlKSB7XG4gIEBjYXNlICgnZGF0ZS10aW1lLXJhbmdlJykge1xuICAgIDxkaXYgY2xhc3M9XCJsYXlvdXQtcm93XCI+XG4gICAgICA8ZWxkZXItZGF0ZS10aW1lLWlucHV0XG4gICAgICAgIGNsYXNzPVwiZmxleFwiXG4gICAgICAgIGNlbnRlclxuICAgICAgICBbdmFsdWVdPVwiKGludGVydmFsJCB8IGFzeW5jKT8uc3RhcnRcIlxuICAgICAgICAodmFsdWVVcGRhdGVkKT1cIm9uU3RhcnRDaGFuZ2VkKCRldmVudClcIlxuICAgICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiKHBsYWNlSG9sZGVyT3JFbXB0eSgpIHwgdHJhbnNsYXRlKSArICcgJyArICgnaW50ZXJ2YWwuZnJvbScgfCB0cmFuc2xhdGUpXCJcbiAgICAgID48L2VsZGVyLWRhdGUtdGltZS1pbnB1dD5cbiAgICAgIDxzcGFuIGNsYXNzPVwibWF0LWRhdGUtcmFuZ2UtaW5wdXQtc2VwYXJhdG9yIGZsZXgtbm9uZVwiPuKAkzwvc3Bhbj5cbiAgICAgIDxlbGRlci1kYXRlLXRpbWUtaW5wdXRcbiAgICAgICAgY2xhc3M9XCJmbGV4XCJcbiAgICAgICAgY2VudGVyXG4gICAgICAgIFt2YWx1ZV09XCIoaW50ZXJ2YWwkIHwgYXN5bmMpPy5lbmRcIlxuICAgICAgICAodmFsdWVVcGRhdGVkKT1cIm9uRW5kQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cIihwbGFjZUhvbGRlck9yRW1wdHkoKSB8IHRyYW5zbGF0ZSkgKyAnICcgKyAoJ2ludGVydmFsLnRvJyB8IHRyYW5zbGF0ZSlcIlxuICAgICAgPjwvZWxkZXItZGF0ZS10aW1lLWlucHV0PlxuICAgIDwvZGl2PlxuICB9XG4gIEBjYXNlICgnZGF5LXRpbWUtcmFuZ2UnKSB7XG4gICAgPGRpdiBjbGFzcz1cImxheW91dC1yb3cgZ2FwLXhzIGVsZGVyLWZsZXgtaW50ZXJ2YWwtY29udHJvbFwiPlxuICAgICAgPCEtLSAgW25hbWVdPVwibmFtZSArICctZGF5LXN0YXJ0J1wiIC0tPlxuICAgICAgPGVsZGVyLWRhdGUtdGltZS1pbnB1dFxuICAgICAgICBbdmFsdWVdPVwiKGludGVydmFsJCB8IGFzeW5jKT8uc3RhcnRcIlxuICAgICAgICAodmFsdWVVcGRhdGVkKT1cIm9uRGF5VGltZVN0YXJ0Q2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cIihwbGFjZUhvbGRlck9yRW1wdHkoKSB8IHRyYW5zbGF0ZSkgKyAnICcgKyAoJ2ludGVydmFsLmZyb20nIHwgdHJhbnNsYXRlKVwiXG4gICAgICA+PC9lbGRlci1kYXRlLXRpbWUtaW5wdXQ+XG5cbiAgICAgIDwhLS0gW25hbWVdPVwibmFtZSArICctZGF5LWVuZCdcIiAtLT5cbiAgICAgIDxlbGRlci1sb2NhbC10aW1lLWlucHV0XG4gICAgICAgIFt2YWx1ZV09XCJlbmRUaW1lJCB8IGFzeW5jXCJcbiAgICAgICAgKHZhbHVlVXBkYXRlZCk9XCJvbkRheVRpbWVFbmRUaW1lQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cIihwbGFjZUhvbGRlck9yRW1wdHkoKSB8IHRyYW5zbGF0ZSkgKyAnICcgKyAoJ2ludGVydmFsLnRvJyB8IHRyYW5zbGF0ZSlcIlxuICAgICAgPjwvZWxkZXItbG9jYWwtdGltZS1pbnB1dD5cbiAgICA8L2Rpdj5cbiAgfVxuXG4gIEBjYXNlICgnZGF0ZS1yYW5nZScpIHtcbiAgICA8ZGl2IGNsYXNzPVwibGF5b3V0LXJvdyBnYXAteHMgZWxkZXItZmxleC1pbnRlcnZhbC1jb250cm9sXCI+XG4gICAgICA8bWF0LWRhdGUtcmFuZ2UtaW5wdXRcbiAgICAgICAgY2xhc3M9XCJtZGMtdGV4dC1maWVsZF9faW5wdXRcIlxuICAgICAgICBbcmFuZ2VQaWNrZXJdPVwicGlja2VyXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cIiEhZGlzYWJsZWRcIlxuICAgICAgPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICBtYXRTdGFydERhdGVcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZGF0ZWZvcm1hdFwiXG4gICAgICAgICAgW25nTW9kZWxdPVwic3RhcnREYXRlJCB8IGFzeW5jXCJcbiAgICAgICAgICBuYW1lPVwiZGF0ZS1yYW5nZS5zdGFydFwiXG4gICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSwgdXBkYXRlT246ICdibHVyJyB9XCJcbiAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvblN0YXJ0RGF0ZUNoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiISFkaXNhYmxlZFwiXG4gICAgICAgIC8+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIG1hdEVuZERhdGVcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZGF0ZWZvcm1hdFwiXG4gICAgICAgICAgW25nTW9kZWxdPVwiZW5kRGF0ZSQgfCBhc3luY1wiXG4gICAgICAgICAgbmFtZT1cImRhdGUtcmFuZ2UuZW5kXCJcbiAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlLCB1cGRhdGVPbjogJ2JsdXInIH1cIlxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uRW5kRGF0ZUNoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiISFkaXNhYmxlZFwiXG4gICAgICAgIC8+XG4gICAgICA8L21hdC1kYXRlLXJhbmdlLWlucHV0PlxuXG4gICAgICBAaWYgKCFpc0RlZmF1bHREYXRlUGlja2VyRGlzYWJsZWQpIHtcbiAgICAgICAgPG1hdC1kYXRlcGlja2VyLXRvZ2dsZVxuICAgICAgICAgIGNsYXNzPVwiZWxkZXItY29udHJvbC1pY29uLWJ1dHRvblwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImlzTG9ja2VkXCJcbiAgICAgICAgICBbZm9yXT1cInBpY2tlclwiXG4gICAgICAgID5cbiAgICAgICAgICA8bWF0LWljb24gbWF0RGF0ZXBpY2tlclRvZ2dsZUljb24+Y2FsZW5kYXJfbW9udGg8L21hdC1pY29uPlxuICAgICAgICA8L21hdC1kYXRlcGlja2VyLXRvZ2dsZT5cbiAgICAgIH1cbiAgICAgIDxtYXQtZGF0ZS1yYW5nZS1waWNrZXIgI3BpY2tlcj48L21hdC1kYXRlLXJhbmdlLXBpY2tlcj5cbiAgICA8L2Rpdj5cbiAgfVxuXG4gIEBjYXNlICgnc2luZ2xlLWRheScpIHtcbiAgICA8ZGl2IGNsYXNzPVwibGF5b3V0LXJvdyBlbGRlci1mbGV4LWNvbnRyb2xcIj5cbiAgICAgIDwhLS0gW25hbWVdPVwibmFtZVwiIC0tPlxuICAgICAgPGVsZGVyLWxvY2FsLWRhdGUtaW5wdXRcbiAgICAgICAgY2xhc3M9XCJmbGV4XCJcbiAgICAgICAgY2VudGVyXG4gICAgICAgIFt2YWx1ZV09XCJzdGFydExvY2FsRGF0ZSQgfCBhc3luY1wiXG4gICAgICAgICh2YWx1ZVVwZGF0ZWQpPVwib25TaW5nbGVEYXlEYXRlQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlSG9sZGVyT3JFbXB0eSgpIHwgdHJhbnNsYXRlXCJcbiAgICAgID48L2VsZGVyLWxvY2FsLWRhdGUtaW5wdXQ+XG4gICAgPC9kaXY+XG4gIH1cbn1cbiJdfQ==
|