@alauda-fe/common 1.3.0 → 1.4.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/api/helpers.d.ts +8 -16
- package/array-form-table/form/component.d.ts +2 -2
- package/authorization/interceptor.service.d.ts +0 -1
- package/authorization/state.service.d.ts +13 -13
- package/business/resource-select/internals/namespace-list/component.d.ts +3 -1
- package/business/resource-select/module.d.ts +2 -1
- package/core/abstract/base-nested-form-control.d.ts +1 -1
- package/core/components/tree/toggle.d.ts +3 -3
- package/core/constants/constants.d.ts +4 -1
- package/core/constants/patterns.d.ts +12 -0
- package/core/constants/status-icons.d.ts +2 -1
- package/core/directives/scroll-to-first-invalid.directive.d.ts +1 -1
- package/core/module.d.ts +21 -21
- package/core/pipes/time.pipe.d.ts +1 -1
- package/core/services/context.service.d.ts +3 -4
- package/core/services/encode-url-param.interceptor.d.ts +12 -0
- package/core/services/feature-gate.service.d.ts +1 -1
- package/core/services/public-api.d.ts +1 -0
- package/core/services/time.service.d.ts +1 -0
- package/core/services/workspace-helper.service.d.ts +3 -1
- package/core/types/k8s/crd.d.ts +11 -5
- package/core/types/k8s/raw.d.ts +25 -38
- package/core/types/resource-definitions.d.ts +57 -71
- package/core/utils/common.d.ts +5 -13
- package/core/utils/disabled-state.d.ts +20 -0
- package/core/utils/public-api.d.ts +3 -0
- package/core/utils/router.d.ts +3 -0
- package/core/utils/version.d.ts +1 -1
- package/core/utils/workload.d.ts +66 -0
- package/editable/editable.component.d.ts +23 -0
- package/editable/editable.directive.d.ts +9 -0
- package/editable/editable.type.d.ts +5 -0
- package/editable/public-api.d.ts +2 -0
- package/esm2022/abnormal-page/abnormal-page.component.mjs +5 -4
- package/esm2022/abnormal-page/abnormal-page.module.mjs +2 -2
- package/esm2022/api/acp-common-api.service.mjs +3 -3
- package/esm2022/api/api-compatible.interceptor.mjs +1 -1
- package/esm2022/api/api-gateway.interceptor.mjs +3 -3
- package/esm2022/api/api-gateway.service.mjs +2 -2
- package/esm2022/api/cluster-version.service.mjs +3 -3
- package/esm2022/api/crypto.interceptor.mjs +4 -4
- package/esm2022/api/helpers.mjs +1 -1
- package/esm2022/api/k8s-api-resource.service.mjs +4 -4
- package/esm2022/api/k8s-api.service.mjs +6 -6
- package/esm2022/api/page-visibility.service.mjs +2 -2
- package/esm2022/api/platform-ui.service.mjs +2 -2
- package/esm2022/api/product.service.mjs +3 -3
- package/esm2022/api/project-api.service.mjs +3 -3
- package/esm2022/api/resource-update.service.mjs +3 -3
- package/esm2022/array-form-table/base-string-map-form.component.mjs +3 -3
- package/esm2022/array-form-table/form/component.mjs +104 -111
- package/esm2022/array-form-table/form/module.mjs +2 -2
- package/esm2022/array-form-table/key-value-form/component.mjs +53 -58
- package/esm2022/array-form-table/key-value-table/component.mjs +7 -7
- package/esm2022/array-form-table/string-array-form/component.mjs +48 -52
- package/esm2022/async-data/async-data-loader.mjs +1 -1
- package/esm2022/async-data/async-data.module.mjs +2 -2
- package/esm2022/async-data/error-page/component.mjs +21 -22
- package/esm2022/async-data/page-state/component.mjs +16 -15
- package/esm2022/authorization/app-init-url.mjs +1 -1
- package/esm2022/authorization/guard.service.mjs +5 -5
- package/esm2022/authorization/interceptor.service.mjs +10 -25
- package/esm2022/authorization/session-manage.service.mjs +5 -5
- package/esm2022/authorization/state.service.mjs +59 -93
- package/esm2022/authorization/storage-token.mjs +2 -2
- package/esm2022/business/module-info/api.service.mjs +3 -3
- package/esm2022/business/notification-disabled-container/component.mjs +14 -14
- package/esm2022/business/resource-select/base-list.mjs +3 -3
- package/esm2022/business/resource-select/context.service.mjs +3 -3
- package/esm2022/business/resource-select/exports/cluster-selector/component.mjs +22 -20
- package/esm2022/business/resource-select/exports/mesh-group-selector/component.mjs +22 -20
- package/esm2022/business/resource-select/exports/namespace-page/component.mjs +6 -5
- package/esm2022/business/resource-select/exports/namespace-selector/component.mjs +37 -35
- package/esm2022/business/resource-select/exports/project-page/component.mjs +6 -5
- package/esm2022/business/resource-select/exports/project-selector/component.mjs +23 -22
- package/esm2022/business/resource-select/helpers.directive.mjs +2 -2
- package/esm2022/business/resource-select/internals/cluster-list/component.mjs +7 -6
- package/esm2022/business/resource-select/internals/data-grid/component.mjs +173 -176
- package/esm2022/business/resource-select/internals/icon/component.mjs +3 -2
- package/esm2022/business/resource-select/internals/meshgroup-list/component.mjs +5 -4
- package/esm2022/business/resource-select/internals/namespace-list/component.mjs +145 -100
- package/esm2022/business/resource-select/internals/no-data/component.mjs +12 -14
- package/esm2022/business/resource-select/internals/project-list/component.mjs +5 -4
- package/esm2022/business/resource-select/internals/resource-dashboard/component.mjs +7 -6
- package/esm2022/business/resource-select/internals/selector-popup/component.mjs +6 -5
- package/esm2022/business/resource-select/internals/selector-popup/ref.mjs +1 -1
- package/esm2022/business/resource-select/internals/selector-popup/service.mjs +3 -3
- package/esm2022/business/resource-select/module.mjs +17 -14
- package/esm2022/business/resource-select/project.service.mjs +3 -3
- package/esm2022/business/resource-select/utils.mjs +1 -1
- package/esm2022/chart/chart.module.mjs +2 -2
- package/esm2022/chart/chart.service.mjs +4 -4
- package/esm2022/chart/common/axis/axis-label.component.mjs +4 -3
- package/esm2022/chart/common/axis/x-axis-ticks.component.mjs +27 -27
- package/esm2022/chart/common/axis/x-axis.component.mjs +6 -5
- package/esm2022/chart/common/axis/x-plot-lines.component.mjs +7 -6
- package/esm2022/chart/common/axis/y-axis-ticks.component.mjs +35 -35
- package/esm2022/chart/common/axis/y-axis.component.mjs +9 -8
- package/esm2022/chart/common/axis/y-plot-lines.component.mjs +6 -5
- package/esm2022/chart/common/chart/chart.component.mjs +41 -43
- package/esm2022/chart/common/legend/legend.component.mjs +62 -65
- package/esm2022/chart/common/range-area/range-area.component.mjs +13 -11
- package/esm2022/chart/common/reference-area/reference-area.component.mjs +4 -3
- package/esm2022/chart/common/series/area-series.component.mjs +15 -14
- package/esm2022/chart/common/series/bar-path.component.mjs +20 -21
- package/esm2022/chart/common/series/bar-series.component.mjs +8 -7
- package/esm2022/chart/common/series/line-series.component.mjs +7 -6
- package/esm2022/chart/common/series/series.component.mjs +3 -3
- package/esm2022/chart/common/tooltip/tooltip.component.mjs +73 -81
- package/esm2022/chart/custom-template/dropdown-legend.mjs +23 -25
- package/esm2022/chart/utils.mjs +1 -1
- package/esm2022/code/code-display-dialog/component.mjs +9 -8
- package/esm2022/code/code-editor-configs.mjs +2 -2
- package/esm2022/code/code.module.mjs +2 -2
- package/esm2022/code/k8s-yaml-display-dialog/component.mjs +9 -8
- package/esm2022/code/resource-yaml-display/component.mjs +21 -22
- package/esm2022/core/abstract/base-form-container.mjs +3 -3
- package/esm2022/core/abstract/base-nested-form-control.mjs +5 -5
- package/esm2022/core/components/tree/module.mjs +2 -2
- package/esm2022/core/components/tree/node/component.mjs +7 -6
- package/esm2022/core/components/tree/outlet.mjs +4 -4
- package/esm2022/core/components/tree/padding.mjs +6 -6
- package/esm2022/core/components/tree/toggle.mjs +9 -9
- package/esm2022/core/components/tree/tree/component.mjs +4 -3
- package/esm2022/core/constants/constants.mjs +4 -1
- package/esm2022/core/constants/patterns.mjs +15 -4
- package/esm2022/core/constants/status-icons.mjs +2 -1
- package/esm2022/core/constants/tokens.mjs +1 -1
- package/esm2022/core/directives/aui-code-editor.directive.mjs +3 -3
- package/esm2022/core/directives/click-outside.directive.mjs +4 -4
- package/esm2022/core/directives/declare.directive.mjs +2 -2
- package/esm2022/core/directives/disabled.directive.mjs +4 -4
- package/esm2022/core/directives/feature-gate.directive.mjs +4 -4
- package/esm2022/core/directives/intercept-deactivate.directive.mjs +4 -4
- package/esm2022/core/directives/last-form-item.directive.mjs +3 -3
- package/esm2022/core/directives/page-header-content.directive.mjs +3 -3
- package/esm2022/core/directives/readonly-field.directive.mjs +8 -7
- package/esm2022/core/directives/resize.directive.mjs +3 -3
- package/esm2022/core/directives/scroll-border-observer.directive.mjs +4 -4
- package/esm2022/core/directives/scroll-to-first-invalid.directive.mjs +5 -5
- package/esm2022/core/guards/feature.guard.mjs +4 -4
- package/esm2022/core/guards/intercept-deactivate.guard.mjs +3 -3
- package/esm2022/core/guards/leave-edit-page.guard.mjs +3 -3
- package/esm2022/core/guards/project-namespace.guard.mjs +5 -5
- package/esm2022/core/module.mjs +8 -13
- package/esm2022/core/pipes/calc.pipe.mjs +2 -2
- package/esm2022/core/pipes/cron-human-readable.pipe.mjs +2 -2
- package/esm2022/core/pipes/crontab-next.pipe.mjs +3 -3
- package/esm2022/core/pipes/duration.pipe.mjs +3 -3
- package/esm2022/core/pipes/field-not-available.pipe.mjs +2 -2
- package/esm2022/core/pipes/img-header.pipe.mjs +2 -2
- package/esm2022/core/pipes/img-theme.pipe.mjs +3 -3
- package/esm2022/core/pipes/k8s-util.pipe.mjs +24 -24
- package/esm2022/core/pipes/k8s-util.pipe.module.mjs +2 -2
- package/esm2022/core/pipes/keyvalue.pipe.mjs +3 -3
- package/esm2022/core/pipes/marked.pipe.mjs +2 -2
- package/esm2022/core/pipes/minimum-format.pipe.mjs +3 -3
- package/esm2022/core/pipes/page-env.pipe.mjs +5 -5
- package/esm2022/core/pipes/parse-json-translate.pipe.mjs +3 -3
- package/esm2022/core/pipes/parse-json.pipe.mjs +2 -2
- package/esm2022/core/pipes/pure.pipe.mjs +2 -2
- package/esm2022/core/pipes/pure.pipe.module.mjs +2 -2
- package/esm2022/core/pipes/safe.pipe.mjs +3 -3
- package/esm2022/core/pipes/sanitize.pipe.mjs +3 -3
- package/esm2022/core/pipes/time.pipe.mjs +11 -11
- package/esm2022/core/pipes/timezone-display.pipe.mjs +2 -2
- package/esm2022/core/services/aui-paginator-intl.service.mjs +3 -3
- package/esm2022/core/services/aui-tooltip-copy-intl.service.mjs +3 -3
- package/esm2022/core/services/context.service.mjs +10 -13
- package/esm2022/core/services/custom-code-editor-intl.service.mjs +3 -3
- package/esm2022/core/services/encode-url-param.interceptor.mjs +32 -0
- package/esm2022/core/services/feature-gate.service.mjs +3 -3
- package/esm2022/core/services/form-row-duplicate/form-row-duplicate.service.mjs +3 -3
- package/esm2022/core/services/intercept-deactivate.service.mjs +3 -3
- package/esm2022/core/services/k8s-util.service.mjs +3 -3
- package/esm2022/core/services/on-resize.service.mjs +5 -5
- package/esm2022/core/services/public-api.mjs +2 -1
- package/esm2022/core/services/silently-navigate.service.mjs +3 -3
- package/esm2022/core/services/time.service.mjs +4 -3
- package/esm2022/core/services/ui-state.service.mjs +2 -2
- package/esm2022/core/services/workspace-helper.service.mjs +8 -2
- package/esm2022/core/services/yaml-util.service.mjs +4 -4
- package/esm2022/core/types/k8s/crd.mjs +1 -1
- package/esm2022/core/types/k8s/raw.mjs +1 -1
- package/esm2022/core/types/resource-definitions.mjs +42 -65
- package/esm2022/core/utils/cache-store.mjs +1 -1
- package/esm2022/core/utils/common.mjs +3 -12
- package/esm2022/core/utils/create-recursive-filter.mjs +1 -1
- package/esm2022/core/utils/cron-util.mjs +1 -1
- package/esm2022/core/utils/decorators.mjs +1 -1
- package/esm2022/core/utils/disabled-state.mjs +47 -0
- package/esm2022/core/utils/format-number.mjs +1 -1
- package/esm2022/core/utils/k8s-util.mjs +1 -1
- package/esm2022/core/utils/observable.mjs +1 -1
- package/esm2022/core/utils/operators.mjs +1 -1
- package/esm2022/core/utils/public-api.mjs +4 -1
- package/esm2022/core/utils/request-pool.mjs +1 -1
- package/esm2022/core/utils/resources.mjs +1 -1
- package/esm2022/core/utils/router.mjs +20 -0
- package/esm2022/core/utils/sort-fn.mjs +1 -1
- package/esm2022/core/utils/tree.mjs +1 -1
- package/esm2022/core/utils/unit.mjs +1 -1
- package/esm2022/core/utils/version.mjs +1 -1
- package/esm2022/core/utils/workload.mjs +183 -0
- package/esm2022/core/utils/workspace.mjs +1 -1
- package/esm2022/core/utils/yaml.mjs +1 -1
- package/esm2022/custom-columns-setting/component.mjs +30 -23
- package/esm2022/disabled-container/disabled-container.component.mjs +4 -3
- package/esm2022/disabled-container/disabled-container.module.mjs +2 -2
- package/esm2022/editable/editable.component.mjs +136 -0
- package/esm2022/editable/editable.directive.mjs +25 -0
- package/esm2022/editable/editable.type.mjs +6 -0
- package/esm2022/editable/public-api.mjs +3 -0
- package/esm2022/editable-text/component.mjs +14 -12
- package/esm2022/editable-text/module.mjs +2 -2
- package/esm2022/effect-directive/coerce-number.directive.mjs +4 -4
- package/esm2022/effect-directive/e2e-attribute-binding.directive.mjs +3 -3
- package/esm2022/effect-directive/event.directive.mjs +3 -3
- package/esm2022/effect-directive/min-max.directive.mjs +3 -3
- package/esm2022/effect-directive/module.mjs +2 -2
- package/esm2022/effect-directive/trim.directive.mjs +3 -3
- package/esm2022/effect-directive/validators.directive.mjs +3 -3
- package/esm2022/exec/module.mjs +2 -2
- package/esm2022/exec/placeholder/component.mjs +4 -3
- package/esm2022/exec/service.mjs +3 -3
- package/esm2022/exec/terminal/component.mjs +87 -86
- package/esm2022/exec/terminal-group/component.mjs +42 -44
- package/esm2022/feature-gate-forbidden/component/component.mjs +9 -8
- package/esm2022/feature-gate-forbidden/module.mjs +2 -2
- package/esm2022/form/directives/value-trace.directive.mjs +4 -4
- package/esm2022/form/errors-mapper/base-errors-mapper.mjs +3 -3
- package/esm2022/form/errors-mapper/default-errors-mapper.service.mjs +3 -3
- package/esm2022/form/errors-mapper/errors-mapper-component/component.mjs +6 -5
- package/esm2022/form/errors-mapper/errors-mapper.directive.mjs +7 -6
- package/esm2022/form/errors-mapper/errors-mapper.module.mjs +2 -2
- package/esm2022/form/labels-editor/component.mjs +36 -36
- package/esm2022/form/taints-editor/component.mjs +42 -42
- package/esm2022/form/upload-file/component.mjs +9 -7
- package/esm2022/form/utils.mjs +1 -1
- package/esm2022/form/validators/async-function-validator.directive.mjs +4 -3
- package/esm2022/form/validators/dns1123-subdomain.mjs +1 -1
- package/esm2022/form/validators/function-validator.directive.mjs +4 -3
- package/esm2022/form/validators/maxlength-minlength-validator.directive.mjs +9 -7
- package/esm2022/form/validators/module.mjs +7 -8
- package/esm2022/form/validators/not-be-validator.directive.mjs +4 -3
- package/esm2022/form/validators/one-of-validator.directive.mjs +4 -3
- package/esm2022/form/validators/resource-limit.mjs +1 -1
- package/esm2022/form/validators/strong-password/strong-password-tooltip/component.mjs +30 -28
- package/esm2022/form/validators/strong-password/strong-password-validator.directive.mjs +3 -3
- package/esm2022/form/validators/strong-password/strong-password-validator.module.mjs +6 -7
- package/esm2022/form/validators/utils.mjs +1 -1
- package/esm2022/graph-canvas/components/graph-actions.component.mjs +3 -2
- package/esm2022/graph-canvas/components/graph-canvas.component.mjs +25 -23
- package/esm2022/graph-canvas/components/graph-link.component.mjs +12 -13
- package/esm2022/graph-canvas/components/graph-links.component.mjs +3 -2
- package/esm2022/graph-canvas/components/graph-node.directive.mjs +4 -4
- package/esm2022/graph-canvas/graph-canvas.module.mjs +2 -2
- package/esm2022/graph-canvas/graph-store.service.mjs +2 -2
- package/esm2022/grid-layout/components/grid/component.mjs +5 -4
- package/esm2022/grid-layout/components/grid-items/component.mjs +8 -7
- package/esm2022/grid-layout/directives/drag-handler.directive.mjs +3 -3
- package/esm2022/grid-layout/directives/placeholder.directive.mjs +3 -3
- package/esm2022/grid-layout/directives/remove-handler.directive.mjs +3 -3
- package/esm2022/grid-layout/directives/resize-handler.directive.mjs +3 -3
- package/esm2022/grid-layout/grid-layout.service.mjs +2 -2
- package/esm2022/grid-layout/grid-placeholder.service.mjs +3 -3
- package/esm2022/grid-layout/module.mjs +2 -2
- package/esm2022/grid-layout/utils/grid.utils.mjs +1 -1
- package/esm2022/grid-layout/utils/react-grid-layout.utils.mjs +1 -1
- package/esm2022/grid-layout/utils/scroll.utils.mjs +1 -1
- package/esm2022/help-document/component.mjs +18 -16
- package/esm2022/help-document/directive.mjs +4 -4
- package/esm2022/help-document/module.mjs +2 -2
- package/esm2022/help-document/service.mjs +4 -4
- package/esm2022/iframe-config/config.service.mjs +3 -3
- package/esm2022/k8s-resource-list/footer/component.mjs +103 -65
- package/esm2022/k8s-resource-list/k8s-resource-list.mjs +3 -6
- package/esm2022/k8s-resource-list/k8s-resource-list.module.mjs +19 -7
- package/esm2022/k8s-resource-list/k8s-resource-paged-list.mjs +1 -1
- package/esm2022/k8s-resource-list/utils.mjs +7 -3
- package/esm2022/k8s-shared/constants.mjs +53 -0
- package/esm2022/k8s-shared/k8s-resource-translate-key.pipe.mjs +30 -0
- package/esm2022/k8s-shared/k8s-shared-util.service.mjs +3 -3
- package/esm2022/k8s-shared/public-api.mjs +2 -1
- package/esm2022/k8s-shared/update-description-dialog/component.mjs +10 -9
- package/esm2022/k8s-shared/update-display-name-dialog/component.mjs +22 -20
- package/esm2022/k8s-shared/update-key-value-dialog/component.mjs +13 -11
- package/esm2022/lazy-component/lazy-load-component.mjs +25 -26
- package/esm2022/lazy-component/visibility.service.mjs +2 -2
- package/esm2022/license/license-api.mjs +3 -3
- package/esm2022/license/license-error/component.mjs +25 -25
- package/esm2022/license/license-error/module.mjs +2 -2
- package/esm2022/license/license.guard.mjs +4 -4
- package/esm2022/license/license.service.mjs +4 -4
- package/esm2022/list-display/component.mjs +39 -40
- package/esm2022/metric-chart/common-chart.service.mjs +3 -3
- package/esm2022/metric-chart/helpers.mjs +1 -1
- package/esm2022/metric-chart/metric-chart.component.mjs +6 -5
- package/esm2022/metric-chart/metric-chart.module.mjs +2 -2
- package/esm2022/metric-chart/metric-time-pick.mjs +20 -17
- package/esm2022/metric-chart/utils.mjs +1 -1
- package/esm2022/multi-search/action-input/component.mjs +180 -181
- package/esm2022/multi-search/form/component.mjs +26 -22
- package/esm2022/multi-search/multi-search-tags/component.mjs +33 -31
- package/esm2022/mutable/element.mjs +1 -1
- package/esm2022/mutable/mosaic/mosaic.component.mjs +6 -5
- package/esm2022/mutable/mosaic/mosaic.directive.mjs +3 -3
- package/esm2022/mutable/mutable.directive.mjs +4 -4
- package/esm2022/mutable/mutable.module.mjs +2 -2
- package/esm2022/notification/feedback-notification/component.mjs +22 -23
- package/esm2022/notification/notification-util.service.mjs +3 -3
- package/esm2022/notification/resource-error.interceptor.mjs +3 -3
- package/esm2022/overview-banner/overview-banner.component.mjs +3 -2
- package/esm2022/overview-banner/overview-banner.module.mjs +2 -2
- package/esm2022/page-guard/component/component.mjs +70 -78
- package/esm2022/page-guard/component/helper-directives.mjs +5 -5
- package/esm2022/page-guard/module.mjs +2 -2
- package/esm2022/page-scaffold/module.mjs +2 -2
- package/esm2022/page-scaffold/navigation/breadcrumb/breadcrumb-slot.directive.mjs +3 -3
- package/esm2022/page-scaffold/navigation/breadcrumb/breadcrumb.component.mjs +182 -91
- package/esm2022/page-scaffold/navigation/breadcrumb/breadcrumb.service.mjs +2 -2
- package/esm2022/page-scaffold/navigation/breadcrumb/module.mjs +2 -2
- package/esm2022/page-scaffold/navigation/lottie-icons/animation-data.mjs +1 -3
- package/esm2022/page-scaffold/navigation/lottie-icons/lottie-icon.directive.mjs +3 -3
- package/esm2022/page-scaffold/navigation/lottie-icons/module.mjs +2 -2
- package/esm2022/page-scaffold/navigation/lottie-icons/replace-lottie-colors.mjs +11 -11
- package/esm2022/page-scaffold/navigation/module.mjs +2 -2
- package/esm2022/page-scaffold/navigation/nav-menu/nav-item-li/nav-item-li.component.mjs +128 -99
- package/esm2022/page-scaffold/navigation/nav-menu/nav-item-ul/nav-item-ul.component.mjs +30 -32
- package/esm2022/page-scaffold/navigation/nav-menu/nav-menu.component.mjs +21 -19
- package/esm2022/page-scaffold/navigation/nav-menu/nav-menu.module.mjs +4 -4
- package/esm2022/page-scaffold/navigation/nav-menu/nav-menu.types.mjs +1 -1
- package/esm2022/page-scaffold/navigation/navconfig-loader/navconfig-loader.service.mjs +9 -8
- package/esm2022/page-scaffold/page/context.service.mjs +2 -2
- package/esm2022/page-scaffold/page/helper-directives.mjs +10 -10
- package/esm2022/page-scaffold/page/notices/maintenance.component.mjs +11 -11
- package/esm2022/page-scaffold/page/notices/notice.component.mjs +15 -15
- package/esm2022/page-scaffold/page/page.component.mjs +20 -20
- package/esm2022/page-scaffold/page/page.module.mjs +2 -2
- package/esm2022/page-scaffold/page-header/account-menu/component/component.mjs +40 -39
- package/esm2022/page-scaffold/page-header/account-menu/module.mjs +2 -2
- package/esm2022/page-scaffold/page-header/common-layout/common-layout.module.mjs +2 -2
- package/esm2022/page-scaffold/page-header/common-layout/context.service.mjs +4 -4
- package/esm2022/page-scaffold/page-header/common-layout/namespace-select/component.mjs +58 -59
- package/esm2022/page-scaffold/page-header/common-layout/product-select/component.mjs +68 -73
- package/esm2022/page-scaffold/page-header/common-layout/product-select/service.mjs +2 -2
- package/esm2022/page-scaffold/page-header/common-layout/project-select/base-selection.mjs +3 -3
- package/esm2022/page-scaffold/page-header/common-layout/store.service.mjs +3 -3
- package/esm2022/page-scaffold/page-header/component.mjs +24 -25
- package/esm2022/page-scaffold/page-header/enterprise-support-status/component.mjs +15 -14
- package/esm2022/page-scaffold/page-header/header-notify/component/header-notify.component.mjs +27 -27
- package/esm2022/page-scaffold/page-header/header-notify/component/notification-list/notification-list.component.mjs +22 -21
- package/esm2022/page-scaffold/page-header/header-notify/header-notify.module.mjs +2 -2
- package/esm2022/page-scaffold/page-header/header-notify/notify.service.mjs +5 -5
- package/esm2022/page-scaffold/page-header/help-menu/component/component.mjs +59 -62
- package/esm2022/page-scaffold/page-header/help-menu/module.mjs +2 -2
- package/esm2022/page-scaffold/page-header/module.mjs +2 -2
- package/esm2022/permission/helpers.mjs +1 -1
- package/esm2022/permission/k8s-permission.service.mjs +3 -3
- package/esm2022/permission/permission.guard.mjs +3 -3
- package/esm2022/pie-derivative-chart/donut-status/component.mjs +29 -28
- package/esm2022/pie-derivative-chart/indicator-color.directive.mjs +3 -3
- package/esm2022/pie-derivative-chart/numerical-limit.pipe.mjs +3 -3
- package/esm2022/pie-derivative-chart/pie-derivative-chart.module.mjs +7 -7
- package/esm2022/pie-derivative-chart/radial-bar/radial-bar-chart.component.mjs +84 -78
- package/esm2022/pie-derivative-chart/units.mjs +14 -0
- package/esm2022/pod-status/component.mjs +167 -0
- package/esm2022/pod-status/public-api.mjs +4 -0
- package/esm2022/pod-status/status.mjs +84 -0
- package/esm2022/pod-status/typings.mjs +19 -0
- package/esm2022/public-api.mjs +4 -1
- package/esm2022/searchable-selector/component.mjs +73 -75
- package/esm2022/searchable-selector/module.mjs +2 -2
- package/esm2022/skeleton/item/component.mjs +4 -3
- package/esm2022/skeleton/module.mjs +2 -2
- package/esm2022/skeleton/nav-skeleton/component.mjs +8 -7
- package/esm2022/table/component.mjs +275 -276
- package/esm2022/table/helper.mjs +1 -1
- package/esm2022/table/helpers.directive.mjs +3 -3
- package/esm2022/table/module.mjs +40 -31
- package/esm2022/table/util.service.mjs +4 -4
- package/esm2022/translate/helpers.mjs +1 -1
- package/esm2022/translate/i18n-config.mjs +3 -8
- package/esm2022/translate/translate.directive.mjs +9 -9
- package/esm2022/translate/translate.module.mjs +2 -2
- package/esm2022/translate/translate.pipe.mjs +3 -3
- package/esm2022/translate/translate.service.mjs +4 -4
- package/esm2022/view-chart/custom-template/dropdown-legend.mjs +24 -26
- package/esm2022/view-chart/legend/legend.component.mjs +66 -70
- package/esm2022/view-chart/view-chart.component.mjs +94 -105
- package/esm2022/view-chart/view-chart.module.mjs +2 -2
- package/esm2022/view-zchart/custom-template/dropdown-legend.mjs +24 -26
- package/esm2022/view-zchart/legend/legend.component.mjs +77 -82
- package/esm2022/view-zchart/units.mjs +1 -1
- package/esm2022/view-zchart/view-zchart.component.mjs +111 -120
- package/esm2022/view-zchart/view-zchart.module.mjs +2 -2
- package/esm2022/widget/card-section/card-section.component.mjs +13 -12
- package/esm2022/widget/confirm-delete/confirm-delete.component.mjs +45 -46
- package/esm2022/widget/current-time/component.mjs +4 -3
- package/esm2022/widget/date-range-picker/component.mjs +42 -40
- package/esm2022/widget/field-set/column/component.mjs +5 -3
- package/esm2022/widget/field-set/group/component.mjs +3 -2
- package/esm2022/widget/field-set/item/component.mjs +8 -7
- package/esm2022/widget/foldable-block/component.mjs +25 -24
- package/esm2022/widget/foldable-item-in-table/component.mjs +41 -42
- package/esm2022/widget/loading-mask/loading-mask.component.mjs +9 -9
- package/esm2022/widget/password-input/component.mjs +72 -71
- package/esm2022/widget/public-api.mjs +2 -1
- package/esm2022/widget/relative-time/component.mjs +4 -3
- package/esm2022/widget/resource-label/component.mjs +131 -0
- package/esm2022/widget/resource-multi-select/component.mjs +20 -19
- package/esm2022/widget/resource-multi-select/util.mjs +1 -1
- package/esm2022/widget/search-panel/component.mjs +3 -2
- package/esm2022/widget/search-panel/helper.directive.mjs +2 -2
- package/esm2022/widget/search-panel/search-item/component.mjs +3 -2
- package/esm2022/widget/select-prefix-label/directive.mjs +4 -4
- package/esm2022/widget/status-icon/status-icon.component.mjs +16 -15
- package/esm2022/widget/tags-label/component.mjs +61 -62
- package/esm2022/widget/terminating-tag/component.mjs +4 -3
- package/esm2022/widget/text-ellipsis/component.mjs +11 -11
- package/esm2022/widget/text-tooltip/directive.mjs +3 -3
- package/esm2022/widget/text-with-url/component.mjs +8 -8
- package/esm2022/widget/widget.module.mjs +2 -2
- package/esm2022/widget/zero-state/zero-state.component.mjs +45 -30
- package/esm2022/window-channel/base-window-channel.mjs +1 -1
- package/esm2022/window-channel/directives/host-link.directive.mjs +2 -2
- package/esm2022/window-channel/host-window-channel.service.mjs +3 -3
- package/esm2022/window-channel/plugin-window-channel.service.mjs +3 -3
- package/esm2022/workload-status-icon/component.mjs +72 -0
- package/esm2022/workload-status-icon/public-api.mjs +2 -0
- package/esm2022/xterm/xterm-terminal/xterm-terminal.component.mjs +68 -71
- package/esm2022/xterm/xterm-terminal/xterm-terminal.directive.mjs +3 -3
- package/esm2022/xterm/xterm.component.mjs +5 -4
- package/exec/terminal/component.d.ts +1 -4
- package/form/validators/async-function-validator.directive.d.ts +1 -1
- package/form/validators/function-validator.directive.d.ts +1 -1
- package/form/validators/maxlength-minlength-validator.directive.d.ts +2 -2
- package/form/validators/module.d.ts +8 -8
- package/form/validators/not-be-validator.directive.d.ts +1 -1
- package/form/validators/one-of-validator.directive.d.ts +1 -1
- package/form/validators/resource-limit.d.ts +1 -1
- package/form/validators/strong-password/strong-password-validator.module.d.ts +2 -2
- package/graph-canvas/components/graph-canvas.component.d.ts +2 -2
- package/k8s-resource-list/footer/component.d.ts +9 -1
- package/k8s-resource-list/k8s-resource-list.module.d.ts +1 -1
- package/k8s-resource-list/k8s-resource-paged-list.d.ts +2 -2
- package/k8s-shared/constants.d.ts +7 -0
- package/k8s-shared/k8s-resource-translate-key.pipe.d.ts +9 -0
- package/k8s-shared/public-api.d.ts +1 -0
- package/license/license-api.d.ts +1 -1
- package/license/license-error/component.d.ts +1 -1
- package/metric-chart/helpers.d.ts +1 -1
- package/package.json +2 -1
- package/page-guard/component/component.d.ts +1 -1
- package/page-scaffold/navigation/breadcrumb/breadcrumb.component.d.ts +2 -0
- package/page-scaffold/navigation/nav-menu/nav-item-li/nav-item-li.component.d.ts +1 -0
- package/page-scaffold/navigation/nav-menu/nav-menu.types.d.ts +8 -1
- package/page-scaffold/navigation/navconfig-loader/navconfig-loader.service.d.ts +2 -1
- package/page-scaffold/page-header/common-layout/product-select/component.d.ts +1 -3
- package/page-scaffold/page-header/header-notify/utils.d.ts +3 -3
- package/pie-derivative-chart/radial-bar/radial-bar-chart.component.d.ts +4 -0
- package/pie-derivative-chart/units.d.ts +2 -0
- package/pod-status/component.d.ts +27 -0
- package/pod-status/public-api.d.ts +3 -0
- package/pod-status/status.d.ts +4 -0
- package/pod-status/typings.d.ts +16 -0
- package/public-api.d.ts +3 -0
- package/styles/ansi-color.scss +131 -0
- package/styles/global.scss +4 -1
- package/styles/tailwind-preset.scss +1 -1
- package/table/component.d.ts +6 -4
- package/table/helper.d.ts +1 -1
- package/table/module.d.ts +23 -7
- package/widget/public-api.d.ts +1 -0
- package/widget/resource-label/component.d.ts +25 -0
- package/widget/zero-state/zero-state.component.d.ts +5 -2
- package/workload-status-icon/component.d.ts +36 -0
- package/workload-status-icon/public-api.d.ts +1 -0
- package/a-chart/a-chart.module.d.ts +0 -16
- package/a-chart/base-chart.d.ts +0 -24
- package/a-chart/chart-status.component.d.ts +0 -15
- package/a-chart/chart.component.d.ts +0 -56
- package/a-chart/components/base-component.d.ts +0 -12
- package/a-chart/components/legend/base-legend.component.d.ts +0 -31
- package/a-chart/components/legend/dropdown-legend.d.ts +0 -17
- package/a-chart/components/legend/legend.component.d.ts +0 -17
- package/a-chart/components/legend/public-api.d.ts +0 -3
- package/a-chart/components/public-api.d.ts +0 -3
- package/a-chart/components/title.component.d.ts +0 -17
- package/a-chart/constant.d.ts +0 -6
- package/a-chart/public-api.d.ts +0 -12
- package/a-chart/types.d.ts +0 -38
- package/a-chart/utils.d.ts +0 -13
- package/a-metric-chart/a-metric-chart.component.d.ts +0 -154
- package/a-metric-chart/a-metric-chart.module.d.ts +0 -16
- package/a-metric-chart/bar-gauge/bar-gauge.component.d.ts +0 -25
- package/a-metric-chart/base-chart.component.d.ts +0 -14
- package/a-metric-chart/metric-chart-refresh.service.d.ts +0 -8
- package/a-metric-chart/public-api.d.ts +0 -14
- package/a-metric-chart/stat-chart/stat-chart.component.d.ts +0 -11
- package/a-metric-chart/table-chart/table-chart.component.d.ts +0 -29
- package/a-metric-chart/types.d.ts +0 -130
- package/a-metric-chart/utils/public-api.d.ts +0 -3
- package/a-metric-chart/utils/range.d.ts +0 -1
- package/a-metric-chart/utils/unit.d.ts +0 -48
- package/a-metric-chart/utils/util.d.ts +0 -45
- package/api/monitor-api.service.d.ts +0 -104
- package/esm2022/a-chart/a-chart.module.mjs +0 -76
- package/esm2022/a-chart/base-chart.mjs +0 -98
- package/esm2022/a-chart/chart-status.component.mjs +0 -195
- package/esm2022/a-chart/chart.component.mjs +0 -307
- package/esm2022/a-chart/components/base-component.mjs +0 -23
- package/esm2022/a-chart/components/legend/base-legend.component.mjs +0 -111
- package/esm2022/a-chart/components/legend/dropdown-legend.mjs +0 -199
- package/esm2022/a-chart/components/legend/legend.component.mjs +0 -102
- package/esm2022/a-chart/components/legend/public-api.mjs +0 -4
- package/esm2022/a-chart/components/public-api.mjs +0 -4
- package/esm2022/a-chart/components/title.component.mjs +0 -99
- package/esm2022/a-chart/constant.mjs +0 -24
- package/esm2022/a-chart/public-api.mjs +0 -13
- package/esm2022/a-chart/types.mjs +0 -7
- package/esm2022/a-chart/utils.mjs +0 -37
- package/esm2022/a-metric-chart/a-metric-chart.component.mjs +0 -937
- package/esm2022/a-metric-chart/a-metric-chart.module.mjs +0 -74
- package/esm2022/a-metric-chart/bar-gauge/bar-gauge.component.mjs +0 -166
- package/esm2022/a-metric-chart/base-chart.component.mjs +0 -30
- package/esm2022/a-metric-chart/metric-chart-refresh.service.mjs +0 -18
- package/esm2022/a-metric-chart/public-api.mjs +0 -15
- package/esm2022/a-metric-chart/stat-chart/stat-chart.component.mjs +0 -122
- package/esm2022/a-metric-chart/table-chart/table-chart.component.mjs +0 -201
- package/esm2022/a-metric-chart/types.mjs +0 -26
- package/esm2022/a-metric-chart/utils/public-api.mjs +0 -4
- package/esm2022/a-metric-chart/utils/range.mjs +0 -35
- package/esm2022/a-metric-chart/utils/unit.mjs +0 -83
- package/esm2022/a-metric-chart/utils/util.mjs +0 -243
- package/esm2022/api/monitor-api.service.mjs +0 -158
- package/esm2022/notification/notification-util.module.mjs +0 -32
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/dashboard.json +0 -1
- package/notification/notification-util.module.d.ts +0 -10
|
@@ -157,9 +157,9 @@ export class ValidateRowDuplicateService {
|
|
|
157
157
|
static { this.ɵfac = function ValidateRowDuplicateService_Factory(t) { return new (t || ValidateRowDuplicateService)(i0.ɵɵinject(i0.IterableDiffers)); }; }
|
|
158
158
|
static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: ValidateRowDuplicateService, factory: ValidateRowDuplicateService.ɵfac }); }
|
|
159
159
|
}
|
|
160
|
-
(
|
|
160
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ValidateRowDuplicateService, [{
|
|
161
161
|
type: Injectable
|
|
162
|
-
}],
|
|
162
|
+
}], () => [{ type: i0.IterableDiffers }], null); })();
|
|
163
163
|
// 仅返回keys规则下,currentValue与lastValue存在不同的部分key
|
|
164
164
|
function diffKeysByValue(keys, currentValue, lastValue) {
|
|
165
165
|
const obj = {};
|
|
@@ -277,4 +277,4 @@ function fullStrategyCheck(keys, controls, _, mapFn, matchesFn, initData) {
|
|
|
277
277
|
});
|
|
278
278
|
return toRemoveError;
|
|
279
279
|
}
|
|
280
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1yb3ctZHVwbGljYXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvY29yZS9zZXJ2aWNlcy9mb3JtLXJvdy1kdXBsaWNhdGUvZm9ybS1yb3ctZHVwbGljYXRlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFVBQVUsRUFFVixlQUFlLEdBRWhCLE1BQU0sZUFBZSxDQUFDO0FBUXZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxXQUFXLENBQUM7O0FBRzNELE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLGdCQUFnQixDQUFDO0FBcUJwRCx1REFBdUQ7QUFDdkQsaURBQWlEO0FBQ2pELHFDQUFxQztBQUNyQyxNQUFNLENBQU4sSUFBWSw0QkFHWDtBQUhELFdBQVksNEJBQTRCO0lBQ3RDLHVEQUF1QixDQUFBO0lBQ3ZCLDZDQUFhLENBQUE7QUFDZixDQUFDLEVBSFcsNEJBQTRCLEtBQTVCLDRCQUE0QixRQUd2QztBQUVELE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUc5QjtJQUNGLENBQUMsNEJBQTRCLENBQUMsU0FBUyxDQUFDLEVBQUUsc0JBQXNCO0lBQ2hFLENBQUMsNEJBQTRCLENBQUMsSUFBSSxDQUFDLEVBQUUsaUJBQWlCO0NBQ3ZELENBQUM7QUFFRiw2QkFBNkI7QUFFN0IsTUFBTSxPQUFPLDJCQUEyQjtJQUl0Qzs7T0FFRztJQUNILFlBQTZCLFlBQTZCO1FBQTdCLGlCQUFZLEdBQVosWUFBWSxDQUFpQjtRQUUxRCwrREFBK0Q7UUFDOUMsb0JBQWUsR0FBRyxJQUFJLE9BQU8sRUFHM0MsQ0FBQztRQUVKLGtJQUFrSTtRQUNqSCxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQXFDLENBQUM7SUFUaEIsQ0FBQztJQWE5RCx3REFBd0Q7SUFDeEQsd0JBQXdCLENBQUMs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LENBQUM7Z0JBQ25FLElBQUksU0FBUyxDQUFDLEtBQUssRUFBRSxZQUFZLENBQUMsR0FBRyxDQUFDLEVBQUUsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUU7b0JBQ3hELE1BQU0sUUFBUSxHQUFHLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDO29CQUM5QyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsUUFBUSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7aUJBQ3REO1lBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0gsTUFBTSxhQUFhLEdBQXFELEVBQUUsQ0FBQztJQUMzRSxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUU7UUFDL0MsSUFBSSxLQUFLLEtBQUssQ0FBQyxFQUFFO1lBQ2YsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO1NBQ3RDO0lBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDSCxPQUFPLGFBQWEsQ0FBQztBQUN2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSW5qZWN0YWJsZSxcbiAgSXRlcmFibGVEaWZmZXIsXG4gIEl0ZXJhYmxlRGlmZmVycyxcbiAgT25EZXN0cm95LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgRm9ybUFycmF5LFxuICBGb3JtR3JvdXAsXG4gIFZhbGlkYXRpb25FcnJvcnMsXG4gIFZhbGlkYXRvckZuLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBjbG9uZURlZXAsIGlzRXF1YWwsIHNldCwgdW5zZXQgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBjb25zdCBEVVBMSUNBVEVfRVJST1JfS0VZID0gJ2R1cGxpY2F0ZUVycm9yJztcblxudHlwZSBSb3dLZXlzID0gQXJyYXk8c3RyaW5nIHwgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PjtcbnR5cGUgRm9ybWF0S2V5cyA9IFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPjtcbmV4cG9ydCB0eXBlIEZvcm1hdFZhbHVlID0gUmVjb3JkPHN0cmluZywgYW55PjtcblxuZXhwb3J0IHR5cGUgTWF0Y2hWYWx1ZUZuID0gKFxuICBwcm9wczogc3RyaW5nW10sXG4gIHZhbHVlMTogRm9ybWF0VmFsdWUsXG4gIHZhbHVlMjogRm9ybWF0VmFsdWUsXG4pID0+IGJvb2xlYW47XG5cbmV4cG9ydCB0eXBlIFN0cmF0ZWd5Rm4gPSAoXG4gIGtleXM6IEZvcm1hdEtleXMsXG4gIGNvbnRyb2xzOiBBYnN0cmFjdENvbnRyb2xbXSxcbiAgc3RhbGVWYWx1ZTogRm9ybWF0VmFsdWUsXG4gIG1hcEZuOiBWYWx1ZU1hcEZuLFxuICBtYXRjaGVzRm46IE1hdGNoVmFsdWVGbixcbiAgaW5pdERhdGE6IGFueVtdLFxuKSA9PiBBcnJheTx7IGtleTogc3RyaW5nOyBjb250cm9sOiBBYnN0cmFjdENvbnRyb2wgfT47XG5cbi8vIElERU5USUNBTDog5qOA5rWL5YW35pyJ5LqS5Y+N5oCn77yM5Lyg6YCS5oCn44CCYeS4jmLph43lpI3vvIxi5LiOY+mHjeWkje+8jGHlv4XnhLbkuI5j6YeN5aSN77yM5q2k56iL5bqm5LiK5Y+v6L+b6KGM5LyY5YyWXG4vLyBGVUxMOiDkuI3opoHmsYLmo4DmtYvlhbfmnInkupLlj43mgKfvvIzkvKDpgJLmgKfjgIJh5LiOYuWIpOWIq+mHjeWkje+8jGLkuI5j5Yik5Yir6YeN5aSN77yMYeacquW/heS4jmPliKTliKvph43lpI1cbi8vIOS4u+imgeaYr+mSiOWvueS4gOS6m+WkjeadgueahOiHquWumuS5ieWMuemFjemHjeWkjeeahOS9v+eUqOWcuuaZr++8jEZVTEzmqKHlvI/ph4fnlKjlhajmo4Dmn6VcbmV4cG9ydCBlbnVtIERVUExJQ0FUSU9OX0pVU1RJRllfU1RSQVRFR1kge1xuICBJREVOVElDQUwgPSAnaWRlbnRpY2FsJyxcbiAgRlVMTCA9ICdmdWxsJyxcbn1cblxuZXhwb3J0IGNvbnN0IFNUUkFURUdZX0pVREdFX01BUFBFUjogUmVjb3JkPFxuICBEVVBMSUNBVElPTl9KVVNUSUZZX1NUUkFURUdZLFxuICBTdHJhdGVneUZuXG4+ID0ge1xuICBbRFVQTElDQVRJT05fSlVTVElGWV9TVFJBVEVHWS5JREVOVElDQUxdOiBpZGVudGljYWxTdHJhdGVneUNoZWNrLFxuICBbRFVQTElDQVRJT05fSlVTVElGWV9TVFJBVEVHWS5GVUxMXTogZnVsbFN0cmF0ZWd5Q2hlY2ssXG59O1xuXG4vLyB1c2UgaW4gY29tcG9uZW50IGxpZmVjeWNsZVxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFZhbGlkYXRlUm93RHVwbGljYXRlU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIC8vIHVzZWQgdG8gZGV0ZWN0IGFsbCBjb250cm9scyBkYXRhIGNoYW5nZVxuICBwcml2YXRlIHJvd3NEaWZmZXI6IEl0ZXJhYmxlRGlmZmVyPEFic3RyYWN0Q29udHJvbD47XG5cbiAgLyoqXG4gICAqIEBwYXJhbSBkaWZmZXJGYWN0b3J5OiB1c2VkIHRvIGNyZWF0ZSBzdXBwb3J0IGRpZmZlciwgd2hpY2ggY2FuIGJlIHByb3ZpZGVkIGJ5IHVzZXJcbiAgICovXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgYXJyYXlEaWZmZXJzOiBJdGVyYWJsZURpZmZlcnMpIHt9XG5cbiAgLy8gdXNlZCB0byBzYXZlIGxhc3QgdmFsdWUsIHRvIGNoZWNrIHdoZXRoZXIgaWYgY29udHJvbCBjaGFuZ2VkXG4gIHByaXZhdGUgcmVhZG9ubHkgY29udHJvbFZhbHVlTWFwID0gbmV3IFdlYWtNYXA8XG4gICAgQWJzdHJhY3RDb250cm9sLFxuICAgIEZvcm1hdFZhbHVlXG4gID4oKTtcblxuICAvLyB1c2VkIHRvIHNhdmUgZXJyb3Jz77yMdG8gc29sdmUgdmFsaWRhdG9ycyBjb25jdXJyZW50bHkgd29yayhzZWNvbmQgdmFsaWRhdG9yIGNhbid0IGdldCBlcnJvciBmcm9tIHByZXZpb3VzIHZhbGlkYXRvciBpbiBvbmUgdHVybilcbiAgcHJpdmF0ZSByZWFkb25seSBlcnJvck1hcCA9IG5ldyBXZWFrTWFwPEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycz4oKTtcblxuICBwcml2YXRlIGZvcm1BcnJheVNpemVTdWI6IFN1YnNjcmlwdGlvbjtcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc29uYXJqcy9jb2duaXRpdmUtY29tcGxleGl0eVxuICBjcmVhdGVGb3JtQXJyYXlWYWxpZGF0b3Ioe1xuICAgIHJvd0tleXMsXG4gICAgZm9ybUFycmF5LFxuICAgIHZhbHVlTWFwRm4gPSBkZWZhdWx0VmFsdWVNYXBGbixcbiAgICBpbml0RGF0YSA9IFtdLFxuICAgIG1hdGNoZXNGbiA9IG1hdGNoVmFsdWUsXG4gICAgc3RyYXRlZ3kgPSBEVVBMSUNBVElPTl9KVVNUSUZZX1NUUkFURUdZLklERU5USUNBTCxcbiAgfToge1xuICAgIHJvd0tleXM6IFJvd0tleXM7XG4gICAgZm9ybUFycmF5OiBGb3JtQXJyYXk7XG4gICAgdmFsdWVNYXBGbj86IGFueTtcbiAgICBpbml0RGF0YT86IGFueVtdO1xuICAgIG1hdGNoZXNGbj86IE1hdGNoVmFsdWVGbjtcbiAgICBzdHJhdGVneT86IERVUExJQ0FUSU9OX0pVU1RJRllfU1RSQVRFR1k7XG4gIH0pOiBWYWxpZGF0b3JGbiB7XG4gICAgY29uc3Qga2V5cyA9IGZvcm1hdEtleXMocm93S2V5cyk7XG4gICAgaWYgKCF0aGlzLnJvd3NEaWZmZXIpIHtcbiAgICAgIHRoaXMucm93c0RpZmZlciA9IHRoaXMuYXJyYXlEaWZmZXJzLmZpbmQoW10pLmNyZWF0ZSgpO1xuICAgIH1cblxuICAgIHRoaXMuaW5pdEZvcm1BcnJheVNpemVDaGFuZ2UoXG4gICAgICBmb3JtQXJyYXksXG4gICAgICB0aGlzLnJvd3NEaWZmZXIsXG4gICAgICBrZXlzLFxuICAgICAgdmFsdWVNYXBGbixcbiAgICAgIG1hdGNoZXNGbixcbiAgICAgIHN0cmF0ZWd5LFxuICAgICAgaW5pdERhdGEsXG4gICAgKTtcblxuICAgIHJldHVybiAoY29udHJvbDogRm9ybUdyb3VwKSA9PiB7XG4gICAgICBjb25zdCB7IGNvbnRyb2xzIH0gPSBmb3JtQXJyYXk7XG4gICAgICBjb25zdCBsYXN0VmFsdWUgPSB0aGlzLmNvbnRyb2xWYWx1ZU1hcC5nZXQoY29udHJvbCk7XG4gICAgICBpZiAoY29udHJvbC5wcmlzdGluZSkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIC8vIG5vdGhpbmcgY2hhbmdlXG4gICAgICBjb25zdCBjdXJyZW50VmFsdWUgPSBnZXRWYWx1ZUluS2V5cyhjb250cm9sLnZhbHVlLCBrZXlzLCB2YWx1ZU1hcEZuKTtcbiAgICAgIHRoaXMuY29udHJvbFZhbHVlTWFwLnNldChjb250cm9sLCBjdXJyZW50VmFsdWUpO1xuICAgICAgaWYgKGxhc3RWYWx1ZSkge1xuICAgICAgICBsZXQgaWRlbnRpY2FsID0gdHJ1ZTtcbiAgICAgICAgT2JqZWN0LmVudHJpZXMoa2V5cykuZm9yRWFjaCgoW2tleSwgcHJvcHNdKSA9PiB7XG4gICAgICAgICAgaWYgKCFlcXVhbHNWYWx1ZShwcm9wcywgY3VycmVudFZhbHVlW2tleV0sIGxhc3RWYWx1ZVtrZXldKSkge1xuICAgICAgICAgICAgaWRlbnRpY2FsID0gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKGlkZW50aWNhbCkge1xuICAgICAgICAgIHJldHVybiB0aGlzLmVycm9yTWFwLmdldChjb250cm9sKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgY29uc3QgZGlmZktleXMgPSBsYXN0VmFsdWVcbiAgICAgICAgPyBkaWZmS2V5c0J5VmFsdWUoa2V5cywgY3VycmVudFZhbHVlLCBsYXN0VmFsdWUpXG4gICAgICAgIDoga2V5cztcbiAgICAgIC8vIOWSjOS4iuasoeWAvOWtmOWcqOW3ruW8gu+8jOWPr+WwhuiAgeaVsOaNruS9nOS4uuWIoOmZpOihjOWkhOeQhlxuICAgICAgaWYgKGxhc3RWYWx1ZSkge1xuICAgICAgICB0aGlzLmhhbmRsZVJlbW92ZVJvd1ZhbHVlKFxuICAgICAgICAgIGRpZmZLZXlzLFxuICAgICAgICAgIGNvbnRyb2xzLFxuICAgICAgICAgIGxhc3RWYWx1ZSxcbiAgICAgICAgICB2YWx1ZU1hcEZuLFxuICAgICAgICAgIGNvbnRyb2wsXG4gICAgICAgICAgbWF0Y2hlc0ZuLFxuICAgICAgICAgIHN0cmF0ZWd5LFxuICAgICAgICAgIGluaXREYXRhLFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgLy8g5pu05paw5ZCO55qE54q25oCB77yM5Y+v6IO95a+86Ie05YW25LuW6KGM5Ye6546w5paw55qE6YeN5aSNXG4gICAgICBjb25zdCBvdGhlckNvbnRyb2xzID0gY29udHJvbHMuZmlsdGVyKGN0cmwgPT4gY3RybCAhPT0gY29udHJvbCk7XG4gICAgICBjb25zdCBjdHJsRXJyb3I6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fTtcbiAgICAgIG90aGVyQ29udHJvbHMuZm9yRWFjaChjdHJsID0+IHtcbiAgICAgICAgY29uc3Qgb3RoZXJWYWx1ZSA9IGdldFZhbHVlSW5LZXlzKGN0cmwudmFsdWUsIGRpZmZLZXlzLCB2YWx1ZU1hcEZuKTtcbiAgICAgICAgY29uc3Qgb3RoZXJzRXJyb3I6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fTtcbiAgICAgICAgLy8ga2V5cyDkuK3liIbliKvmr5TovoMg5aaC5p6cIG90aGVyVmFsdWUg5LiOIGN1cnJlbnRWYWx1ZSDlnKjmn5DkuKprZXnkuIvvvIzmlbDmja7nm7jlkIzvvIzliJnor7TmmI7mraQga2V5IOWtmOWcqOmHjeWkjemUmeivr1xuICAgICAgICBPYmplY3QuZW50cmllcyhkaWZmS2V5cykuZm9yRWFjaCgoW2tleSwgcHJvcHNdKSA9PiB7XG4gICAgICAgICAgaWYgKG1hdGNoZXNGbihwcm9wcywgb3RoZXJWYWx1ZVtrZXldLCBjdXJyZW50VmFsdWVba2V5XSkpIHtcbiAgICAgICAgICAgIHNldChvdGhlcnNFcnJvciwgW2tleV0sIGN1cnJlbnRWYWx1ZVtrZXldKTtcbiAgICAgICAgICAgIHNldChjdHJsRXJyb3IsIGtleSwgY3VycmVudFZhbHVlW2tleV0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuYWRkRHVwbGljYXRlRXJyb3Iob3RoZXJzRXJyb3IsIGN0cmwsIHRydWUpO1xuICAgICAgfSk7XG4gICAgICAoaW5pdERhdGEgfHwgW10pLmZvckVhY2goaW5pdFJvdyA9PiB7XG4gICAgICAgIE9iamVjdC5lbnRyaWVzKGRpZmZLZXlzKS5mb3JFYWNoKChba2V5LCBwcm9wc10pID0+IHtcbiAgICAgICAgICBpZiAobWF0Y2hlc0ZuKHByb3BzLCBpbml0Um93W2tleV0sIGN1cnJlbnRWYWx1ZVtrZXldKSkge1xuICAgICAgICAgICAgc2V0KGN0cmxFcnJvciwga2V5LCBjdXJyZW50VmFsdWVba2V5XSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5hZGREdXBsaWNhdGVFcnJvcihjdHJsRXJyb3IsIGNvbnRyb2wpO1xuICAgICAgcmV0dXJuIHRoaXMuZXJyb3JNYXAuZ2V0KGNvbnRyb2wpO1xuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZVJlbW92ZVJvd1ZhbHVlKFxuICAgIGtleXM6IEZvcm1hdEtleXMsXG4gICAgY29udHJvbHM6IEFic3RyYWN0Q29udHJvbFtdLFxuICAgIHN0YWxlVmFsdWU6IEZvcm1hdFZhbHVlLFxuICAgIG1hcEZuOiBWYWx1ZU1hcEZuLFxuICAgIHNlbGZDb250cm9sPzogQWJzdHJhY3RDb250cm9sLFxuICAgIG1hdGNoZXNGbj86IE1hdGNoVmFsdWVGbixcbiAgICBzdHJhdGVneT86IERVUExJQ0FUSU9OX0pVU1RJRllfU1RSQVRFR1ksXG4gICAgaW5pdERhdGE/OiBhbnlbXSxcbiAgKSB7XG4gICAgaWYgKHNlbGZDb250cm9sKSB7XG4gICAgICB0aGlzLnJlbW92ZUR1cGxpY2F0ZUVycm9yKE9iamVjdC5rZXlzKGtleXMpLCBzZWxmQ29udHJvbCk7XG4gICAgfVxuICAgIGNvbnN0IHRvUmVtb3ZlRXJyb3IgPSBTVFJBVEVHWV9KVURHRV9NQVBQRVJbc3RyYXRlZ3ldKFxuICAgICAga2V5cyxcbiAgICAgIGNvbnRyb2xzLFxuICAgICAgc3RhbGVWYWx1ZSxcbiAgICAgIG1hcEZuLFxuICAgICAgbWF0Y2hlc0ZuLFxuICAgICAgaW5pdERhdGEsXG4gICAgKTtcbiAgICAodG9SZW1vdmVFcnJvciB8fCBbXSkuZm9yRWFjaCgoeyBrZXksIGNvbnRyb2wgfSkgPT5cbiAgICAgIHRoaXMucmVtb3ZlRHVwbGljYXRlRXJyb3IoW2tleV0sIGNvbnRyb2wsIHRydWUpLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGluaXRGb3JtQXJyYXlTaXplQ2hhbmdlKFxuICAgIGZvcm1BcnJheTogRm9ybUFycmF5LFxuICAgIHJvd3NEaWZmZXI6IEl0ZXJhYmxlRGlmZmVyPEFic3RyYWN0Q29udHJvbD4sXG4gICAga2V5czogRm9ybWF0S2V5cyxcbiAgICBtYXBGbjogVmFsdWVNYXBGbixcbiAgICBtYXRjaGVzRm46IE1hdGNoVmFsdWVGbixcbiAgICBzdHJhdGVneTogRFVQTElDQVRJT05fSlVTVElGWV9TVFJBVEVHWSxcbiAgICBpbml0RGF0YT86IGFueVtdLFxuICApIHtcbiAgICBpZiAoIXRoaXMuZm9ybUFycmF5U2l6ZVN1Yikge1xuICAgICAgdGhpcy5mb3JtQXJyYXlTaXplU3ViID0gZm9ybUFycmF5LnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoXyA9PiB7XG4gICAgICAgIGNvbnN0IHsgY29udHJvbHMgfSA9IGZvcm1BcnJheTtcbiAgICAgICAgY29uc3Qgcm93c0RpZmYgPSByb3dzRGlmZmVyLmRpZmYoY29udHJvbHMpO1xuICAgICAgICBpZiAocm93c0RpZmYpIHtcbiAgICAgICAgICAvLyBvbiBkZWxldGluZyByb3dcbiAgICAgICAgICByb3dzRGlmZi5mb3JFYWNoUmVtb3ZlZEl0ZW0ocmVjb3JkID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHJhd1ZhbHVlID0gZ2V0VmFsdWVJbktleXMocmVjb3JkLml0ZW0udmFsdWUsIGtleXMsIG1hcEZuKTtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlUmVtb3ZlUm93VmFsdWUoXG4gICAgICAgICAgICAgIGtleXMsXG4gICAgICAgICAgICAgIGNvbnRyb2xzLFxuICAgICAgICAgICAgICByYXdWYWx1ZSxcbiAgICAgICAgICAgICAgbWFwRm4sXG4gICAgICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgbWF0Y2hlc0ZuLFxuICAgICAgICAgICAgICBzdHJhdGVneSxcbiAgICAgICAgICAgICAgaW5pdERhdGEsXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFkZER1cGxpY2F0ZUVycm9yKFxuICAgIGVycm9ySW5mbzogUmVjb3JkPHN0cmluZywgYW55PixcbiAgICBjb250cm9sOiBBYnN0cmFjdENvbnRyb2wsXG4gICAgc2V0Q29udHJvbCA9IGZhbHNlLFxuICApIHtcbiAgICBjb25zdCBlcnJvcnMgPSBjbG9uZURlZXAodGhpcy5lcnJvck1hcC5nZXQoY29udHJvbCkpIHx8IHt9O1xuICAgIC8vIGFscmVhZHkgaGFzIGVycm9yLG5vIG5lZWQgdG8gYWRkXG4gICAgaWYgKFxuICAgICAgIU9iamVjdC5rZXlzKGVycm9ySW5mbykuc29tZShcbiAgICAgICAga2V5ID0+IGVycm9ycz8uW0RVUExJQ0FURV9FUlJPUl9LRVldPy5ba2V5XSA9PSBudWxsLFxuICAgICAgKVxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIE9iamVjdC5rZXlzKGVycm9ySW5mbykuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgc2V0KGVycm9ycywgW0RVUExJQ0FURV9FUlJPUl9LRVksIGtleV0sIGVycm9ySW5mb1trZXldKTtcbiAgICB9KTtcbiAgICB0aGlzLmVycm9yTWFwLnNldChjb250cm9sLCBlcnJvcnMpO1xuICAgIGlmIChzZXRDb250cm9sKSB7XG4gICAgICAvLyDlvZPorr7nva7ph43lpI3miqXplJnml7Ys6ZyA6KaB5rOo5oSP5L+d55WZ5Y6f5p2l55qE5oql6ZSZXG4gICAgICBjb25zdCBjb250cm9sRXJyb3IgPSBjbG9uZURlZXAoY29udHJvbC5lcnJvcnMpO1xuICAgICAgdW5zZXQoY29udHJvbEVycm9yLCBbRFVQTElDQVRFX0VSUk9SX0tFWV0pO1xuICAgICAgY29uc3QgZXJyb3IgPSB7IC4uLmNvbnRyb2xFcnJvciwgLi4udGhpcy5lcnJvck1hcC5nZXQoY29udHJvbCkgfTtcbiAgICAgIGNvbnRyb2wuc2V0RXJyb3JzKE9iamVjdC5rZXlzKGVycm9yKS5sZW5ndGggPT09IDAgPyBudWxsIDogZXJyb3IsIHtcbiAgICAgICAgZW1pdEV2ZW50OiBmYWxzZSxcbiAgICAgIH0pO1xuXG4gICAgICAvLyBjb250cm9sJ3MgZXJyb3Igc2hvdWxkIGJlIHNob3duLGl0J3Mgbm90IHByaXN0aW5lIGFueSBtb3JlXG4gICAgICBjb250cm9sLm1hcmtBc0RpcnR5KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVEdXBsaWNhdGVFcnJvcihcbiAgICBlcnJvckluZm86IHN0cmluZ1tdLFxuICAgIGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCxcbiAgICBzZXRDb250cm9sID0gZmFsc2UsXG4gICkge1xuICAgIGNvbnN0IGVycm9ycyA9IGNsb25lRGVlcCh0aGlzLmVycm9yTWFwLmdldChjb250cm9sKSk7XG4gICAgLy8gbm8gbmVlZCB0byByZW1vdmUgZXJyb3JcbiAgICBpZiAoIWVycm9ySW5mby5zb21lKGtleSA9PiBlcnJvcnM/LltEVVBMSUNBVEVfRVJST1JfS0VZXT8uW2tleV0gIT0gbnVsbCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZXJyb3JJbmZvLmZvckVhY2goa2V5ID0+IHtcbiAgICAgIHVuc2V0KGVycm9ycywgW0RVUExJQ0FURV9FUlJPUl9LRVksIGtleV0pO1xuICAgIH0pO1xuICAgIHRoaXMuZXJyb3JNYXAuc2V0KFxuICAgICAgY29udHJvbCxcbiAgICAgIE9iamVjdC5rZXlzKGVycm9ycz8uW0RVUExJQ0FURV9FUlJPUl9LRVldIHx8IHt9KS5sZW5ndGggPyBlcnJvcnMgOiBudWxsLFxuICAgICk7XG4gICAgaWYgKHNldENvbnRyb2wpIHtcbiAgICAgIGNvbnN0IGNvbnRyb2xFcnJvcjogUmVjb3JkPHN0cmluZywgYW55PiA9IGNsb25lRGVlcChjb250cm9sLmVycm9ycykgfHwge307XG4gICAgICB1bnNldChjb250cm9sRXJyb3IsIFtEVVBMSUNBVEVfRVJST1JfS0VZXSk7XG5cbiAgICAgIGNvbnN0IGVycm9yID0geyAuLi5jb250cm9sRXJyb3IsIC4uLnRoaXMuZXJyb3JNYXAuZ2V0KGNvbnRyb2wpIH07XG4gICAgICBjb250cm9sLnNldEVycm9ycyhPYmplY3Qua2V5cyhlcnJvcikubGVuZ3RoID09PSAwID8gbnVsbCA6IGVycm9yLCB7XG4gICAgICAgIGVtaXRFdmVudDogZmFsc2UsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICBpZiAodGhpcy5mb3JtQXJyYXlTaXplU3ViKSB7XG4gICAgICB0aGlzLmZvcm1BcnJheVNpemVTdWIudW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cbn1cblxuLy8g5LuF6L+U5Zuea2V5c+inhOWImeS4i++8jGN1cnJlbnRWYWx1ZeS4jmxhc3RWYWx1ZeWtmOWcqOS4jeWQjOeahOmDqOWIhmtleVxuZnVuY3Rpb24gZGlmZktleXNCeVZhbHVlKFxuICBrZXlzOiBGb3JtYXRLZXlzLFxuICBjdXJyZW50VmFsdWU6IEZvcm1hdFZhbHVlLFxuICBsYXN0VmFsdWU6IEZvcm1hdFZhbHVlLFxuKSB7XG4gIGNvbnN0IG9iajogRm9ybWF0S2V5cyA9IHt9O1xuICBPYmplY3QuZW50cmllcyhrZXlzKS5mb3JFYWNoKChba2V5LCBwcm9wc10pID0+IHtcbiAgICBpZiAoIWVxdWFsc1ZhbHVlKHByb3BzLCBjdXJyZW50VmFsdWVba2V5XSwgbGFzdFZhbHVlW2tleV0pKSB7XG4gICAgICBvYmpba2V5XSA9IHByb3BzO1xuICAgIH1cbiAgfSk7XG4gIHJldHVybiBvYmo7XG59XG5cbi8vIOaMh+WumuWxnuaAp+S4i++8jHZhbHVlMSDlkowgdmFsdWUyIOWvueS6juaJgOacieeahOWxnuaAp+WtmOWcqOacieaViOWAvO+8jOW5tuS4lOebuOWQjO+8jOatpOaXtuWPr+WIpOWumumHjeWkjVxuZnVuY3Rpb24gbWF0Y2hWYWx1ZShwcm9wczogc3RyaW5nW10sIHZhbHVlMTogRm9ybWF0VmFsdWUsIHZhbHVlMjogRm9ybWF0VmFsdWUpIHtcbiAgcmV0dXJuICFwcm9wcy5zb21lKFxuICAgIHByb3AgPT4gdW5DaGVja2VkVmFsdWUodmFsdWUxLCBwcm9wKSB8fCB2YWx1ZTFbcHJvcF0gIT09IHZhbHVlMltwcm9wXSxcbiAgKTtcbn1cblxuLy8g5oyH5a6a5bGe5oCn5LiL77yMdmFsdWUxIOWSjCB2YWx1ZTIg5a+55LqO5omA5pyJ55qE5bGe5oCn55u45ZCM77yM5q2k5pe25Y+v5Yik5a6aIHZhbHVlMSAsIHZhbHVlMiDnm7jnrYlcbmZ1bmN0aW9uIGVxdWFsc1ZhbHVlKFxuICBwcm9wczogc3RyaW5nW10sXG4gIHZhbHVlMTogRm9ybWF0VmFsdWUsXG4gIHZhbHVlMjogRm9ybWF0VmFsdWUsXG4pIHtcbiAgcmV0dXJuICFwcm9wcy5zb21lKHByb3AgPT4gIWlzRXF1YWwodmFsdWUxW3Byb3BdLCB2YWx1ZTJbcHJvcF0pKTtcbn1cblxuLyoqXG4gKiBAcGFyYW0ga2V5cyBbJ3Byb3RvY29sJyx7Y29tcGxleDogWydjb250YWluZXJQb3J0JywnaG9zdFBvcnQnXX1dXG4gKiBAcmV0dXJucyBbe3Byb3RvY29sOiBbJ3Byb3RvY29sJ119LCB7Y29tcGxleDogWydjb250YWluZXJQb3J0JywnaG9zdFBvcnQnXX1dXG4gKi9cbmZ1bmN0aW9uIGZvcm1hdEtleXMoa2V5czogUm93S2V5cyA9IFtdKTogRm9ybWF0S2V5cyB7XG4gIGNvbnN0IG9iajogRm9ybWF0S2V5cyA9IHt9O1xuICBrZXlzLmZvckVhY2goa2V5T2JqID0+IHtcbiAgICBpZiAodHlwZW9mIGtleU9iaiA9PT0gJ3N0cmluZycpIHtcbiAgICAgIG9ialtrZXlPYmpdID0gW2tleU9ial07XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIE9iamVjdC5rZXlzKGtleU9iaikuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgb2JqW2tleV0gPSBrZXlPYmpba2V5XTtcbiAgICB9KTtcbiAgfSk7XG4gIHJldHVybiBvYmo7XG59XG5cbmZ1bmN0aW9uIHVuQ2hlY2tlZFZhbHVlKHZhbHVlOiBGb3JtYXRWYWx1ZSwga2V5OiBzdHJpbmcpIHtcbiAgcmV0dXJuIHZhbHVlPy5ba2V5XSA9PSBudWxsIHx8IHZhbHVlW2tleV0gPT09ICcnO1xufVxuXG5mdW5jdGlvbiBkZWZhdWx0VmFsdWVNYXBGbihkYXRhOiBhbnksIHByb3A6IHN0cmluZykge1xuICByZXR1cm4gZGF0YT8uW3Byb3BdO1xufVxuXG50eXBlIFZhbHVlTWFwRm4gPSAoZGF0YTogYW55LCBwcm9wPzogc3RyaW5nKSA9PiBhbnk7XG5cbi8qKlxuICogQHBhcmFtIHZhbHVlIGlucHV0IHZhbHVlLHdoaWNoIHNob3VsZCBpbmNsdWRlIGFsbCBrZXkgYmVoaW5kIGtleXNcbiAqIEBwYXJhbSBrZXlzIGZvcm1hdHRlZCBrZXlzLCBrZXkgaXMgZXJyb3Iga2V5LCBsaWtlIFt7J2NvbnRhaW5lclBvcnQnOlsnY29udGFpbmVyUG9ydCddfSx7J2NvbXBsZXhFcnJvcic6Wydjb250YWluZXJQb3J0JywnaG9zdFBvcnQnXX1dXG4gKiBAcmV0dXJuc1xuICovXG5mdW5jdGlvbiBnZXRWYWx1ZUluS2V5cyhcbiAgdmFsdWU6IGFueSxcbiAga2V5czogRm9ybWF0S2V5cyxcbiAgbWFwRm46IFZhbHVlTWFwRm4sXG4pOiBGb3JtYXRWYWx1ZSB7XG4gIGNvbnN0IG9iaiA9IHt9O1xuICBPYmplY3QuZW50cmllcyhrZXlzKS5mb3JFYWNoKChba2V5LCBwcm9wc10pID0+IHtcbiAgICBwcm9wcy5mb3JFYWNoKHByb3AgPT4ge1xuICAgICAgc2V0KG9iaiwgW2tleSwgcHJvcF0sIG1hcEZuKHZhbHVlLCBwcm9wKSk7XG4gICAgfSk7XG4gIH0pO1xuICByZXR1cm4gb2JqO1xufVxuXG4vLyDkupLlj43mgKfmo4Dmn6VcbmZ1bmN0aW9uIGlkZW50aWNhbFN0cmF0ZWd5Q2hlY2soXG4gIGtleXM6IEZvcm1hdEtleXMsXG4gIGNvbnRyb2xzOiBBYnN0cmFjdENvbnRyb2xbXSxcbiAgc3RhbGVWYWx1ZTogRm9ybWF0VmFsdWUsXG4gIG1hcEZuOiBWYWx1ZU1hcEZuLFxuICBtYXRjaGVzRm46IE1hdGNoVmFsdWVGbixcbiAgaW5pdERhdGE6IGFueVtdLFxuKSB7XG4gIGNvbnN0IGVycm9yc0NvdW50ZXI6IFJlY29yZDxcbiAgICBzdHJpbmcsXG4gICAgeyBjb250cm9sczogU2V0PEFic3RyYWN0Q29udHJvbD47IGNvdW50OiBudW1iZXIgfVxuICA+ID0ge307XG5cbiAgT2JqZWN0LmVudHJpZXMoa2V5cykuZm9yRWFjaCgoW2tleSwgcHJvcHNdKSA9PiB7XG4gICAgZXJyb3JzQ291bnRlcltrZXldID0geyBjb250cm9sczogbmV3IFNldCgpLCBjb3VudDogMCB9O1xuICAgIGluaXREYXRhLmZvckVhY2goaW5pdFJvdyA9PiB7XG4gICAgICBpZiAobWF0Y2hWYWx1ZShwcm9wcywgaW5pdFJvd1trZXldLCBzdGFsZVZhbHVlW2tleV0pKSB7XG4gICAgICAgIGVycm9yc0NvdW50ZXJba2V5XS5jb3VudCsrO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGNvbnRyb2xzLmZvckVhY2goY3RybCA9PiB7XG4gICAgICBjb25zdCBjb250cm9sVmFsdWUgPSBnZXRWYWx1ZUluS2V5cyhjdHJsLnZhbHVlLCBrZXlzLCBtYXBGbik7XG4gICAgICAvLyDkupLlj43mgKfnrZbnlaXvvIzopoHmsYLlkozogIHmlbDmja7nm7jmr5TvvIzlm6DmraTlj6rmnInlkozogIHmlbDmja7nm7jlkIzvvIzkvYblkozku7vmhI/lvZPliY3lhbbku5bmlbDmja7kuI3lkIznmoTvvIzmiY3pnIDopoHljrvmjonkuYvliY3nmoTplJnor69cbiAgICAgIGlmIChtYXRjaGVzRm4ocHJvcHMsIGNvbnRyb2xWYWx1ZVtrZXldLCBzdGFsZVZhbHVlW2tleV0pKSB7XG4gICAgICAgIGVycm9yc0NvdW50ZXJba2V5XS5jb3VudCsrO1xuICAgICAgICBlcnJvcnNDb3VudGVyW2tleV0uY29udHJvbHMuYWRkKGN0cmwpO1xuICAgICAgfVxuICAgIH0pO1xuICB9KTtcbiAgY29uc3QgdG9SZW1vdmVFcnJvcjogQXJyYXk8eyBrZXk6IHN0cmluZzsgY29udHJvbDogQWJzdHJhY3RDb250cm9sIH0+ID0gW107XG4gIE9iamVjdC5lbnRyaWVzKGVycm9yc0NvdW50ZXIpLmZvckVhY2goKFtrZXksIGl0ZW1dKSA9PiB7XG4gICAgaWYgKGl0ZW0uY291bnQgPT09IDEpIHtcbiAgICAgIGl0ZW0uY29udHJvbHMuZm9yRWFjaChjb250cm9sID0+IHtcbiAgICAgICAgdG9SZW1vdmVFcnJvci5wdXNoKHsga2V5LCBjb250cm9sIH0pO1xuICAgICAgfSk7XG4gICAgfVxuICB9KTtcbiAgcmV0dXJuIHRvUmVtb3ZlRXJyb3I7XG59XG5cbi8vIOWFqOajgOafpVxuZnVuY3Rpb24gZnVsbFN0cmF0ZWd5Q2hlY2soXG4gIGtleXM6IEZvcm1hdEtleXMsXG4gIGNvbnRyb2xzOiBBYnN0cmFjdENvbnRyb2xbXSxcbiAgXzogRm9ybWF0VmFsdWUsXG4gIG1hcEZuOiBWYWx1ZU1hcEZuLFxuICBtYXRjaGVzRm46IE1hdGNoVmFsdWVGbixcbiAgaW5pdERhdGE6IGFueVtdLFxuKSB7XG4gIGNvbnN0IGNvbnRyb2xFcnJvcjogTWFwPEFic3RyYWN0Q29udHJvbCwgeyBrZXk6IHN0cmluZzsgY291bnQ6IG51bWJlciB9PiA9XG4gICAgbmV3IE1hcCgpO1xuXG4gIE9iamVjdC5lbnRyaWVzKGtleXMpLmZvckVhY2goKFtrZXksIHByb3BzXSkgPT4ge1xuICAgIGNvbnRyb2xzLmZvckVhY2goY3RybCA9PiB7XG4gICAgICBjb25zdCBjb250cm9sVmFsdWUgPSBnZXRWYWx1ZUluS2V5cyhjdHJsLnZhbHVlLCBrZXlzLCBtYXBGbik7XG4gICAgICAvLyDlhajmo4Dmn6XnrZbnlaXvvIzmnIDnu4jplJnor68ga2V5IOWvueW6lCBjb3VudCDkuLogMCDnmoRjdHJs5Lya5Y675o6J55u45bqU6ZSZ6K+vXG4gICAgICBjb250cm9sRXJyb3Iuc2V0KGN0cmwsIHsga2V5LCBjb3VudDogMCB9KTtcbiAgICAgIGluaXREYXRhLmZvckVhY2goaW5pdFJvdyA9PiB7XG4gICAgICAgIGlmIChtYXRjaFZhbHVlKHByb3BzLCBpbml0Um93W2tleV0sIGNvbnRyb2xWYWx1ZSkpIHtcbiAgICAgICAgICBjb25zdCByYXdDb3VudCA9IGNvbnRyb2xFcnJvci5nZXQoY3RybCkuY291bnQ7XG4gICAgICAgICAgY29udHJvbEVycm9yLnNldChjdHJsLCB7IGtleSwgY291bnQ6IHJhd0NvdW50ICsgMSB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICBjb250cm9sc1xuICAgICAgICAuZmlsdGVyKG90aGVyQ29udHJvbCA9PiBvdGhlckNvbnRyb2wgIT09IGN0cmwpXG4gICAgICAgIC5mb3JFYWNoKG90aGVyQ29udHJvbCA9PiB7XG4gICAgICAgICAgY29uc3Qgb3RoZXJWYWx1ZSA9IGdldFZhbHVlSW5LZXlzKG90aGVyQ29udHJvbC52YWx1ZSwga2V5cywgbWFwRm4pO1xuICAgICAgICAgIGlmIChtYXRjaGVzRm4ocHJvcHMsIGNvbnRyb2xWYWx1ZVtrZXldLCBvdGhlclZhbHVlW2tleV0pKSB7XG4gICAgICAgICAgICBjb25zdCByYXdDb3VudCA9IGNvbnRyb2xFcnJvci5nZXQoY3RybCkuY291bnQ7XG4gICAgICAgICAgICBjb250cm9sRXJyb3Iuc2V0KGN0cmwsIHsga2V5LCBjb3VudDogcmF3Q291bnQgKyAxIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xuICBjb25zdCB0b1JlbW92ZUVycm9yOiBBcnJheTx7IGtleTogc3RyaW5nOyBjb250cm9sOiBBYnN0cmFjdENvbnRyb2wgfT4gPSBbXTtcbiAgY29udHJvbEVycm9yLmZvckVhY2goKHsgY291bnQsIGtleSB9LCBjb250cm9sKSA9PiB7XG4gICAgaWYgKGNvdW50ID09PSAwKSB7XG4gICAgICB0b1JlbW92ZUVycm9yLnB1c2goeyBrZXksIGNvbnRyb2wgfSk7XG4gICAgfVxuICB9KTtcbiAgcmV0dXJuIHRvUmVtb3ZlRXJyb3I7XG59XG4iXX0=
|
|
280
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1yb3ctZHVwbGljYXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvY29yZS9zZXJ2aWNlcy9mb3JtLXJvdy1kdXBsaWNhdGUvZm9ybS1yb3ctZHVwbGljYXRlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFVBQVUsRUFFVixlQUFlLEdBRWhCLE1BQU0sZUFBZSxDQUFDO0FBUXZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxXQUFXLENBQUM7O0FBRzNELE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLGdCQUFnQixDQUFDO0FBcUJwRCx1REFBdUQ7QUFDdkQsaURBQWlEO0FBQ2pELHFDQUFxQztBQUNyQyxNQUFNLENBQU4sSUFBWSw0QkFHWDtBQUhELFdBQVksNEJBQTRCO0lBQ3RDLHVEQUF1QixDQUFBO0lBQ3ZCLDZDQUFhLENBQUE7QUFDZixDQUFDLEVBSFcsNEJBQTRCLEtBQTVCLDRCQUE0QixRQUd2QztBQUVELE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUc5QjtJQUNGLENBQUMsNEJBQTRCLENBQUMsU0FBUyxDQUFDLEVBQUUsc0JBQXNCO0lBQ2hFLENBQUMsNEJBQTRCLENBQUMsSUFBSSxDQUFDLEVBQUUsaUJBQWlCO0NBQ3ZELENBQUM7QUFFRiw2QkFBNkI7QUFFN0IsTUFBTSxPQUFPLDJCQUEyQjtJQUl0Qzs7T0FFRztJQUNILFlBQTZCLFlBQTZCO1FBQTdCLGlCQUFZLEdBQVosWUFBWSxDQUFpQjtRQUUxRCwrREFBK0Q7UUFDOUMsb0JBQWUsR0FBRyxJQUFJLE9BQU8sRUFHM0MsQ0FBQztRQUVKLGtJQUFrSTtRQUNqSCxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQXFDLENBQUM7SUFUaEIsQ0FBQztJQWE5RCx3REFBd0Q7SUFDeEQsd0JBQXdCLENBQUMs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Q0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDdkQsQ0FBQztZQUNILENBQUMsQ0FBQyxDQUFDO1lBQ0gsUUFBUTtpQkFDTCxNQUFNLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxZQUFZLEtBQUssSUFBSSxDQUFDO2lCQUM3QyxPQUFPLENBQUMsWUFBWSxDQUFDLEVBQUU7Z0JBQ3RCLE1BQU0sVUFBVSxHQUFHLGNBQWMsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDbkUsSUFBSSxTQUFTLENBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFBRSxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDO29CQUN6RCxNQUFNLFFBQVEsR0FBRyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQztvQkFDOUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLFFBQVEsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUN2RCxDQUFDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0gsTUFBTSxhQUFhLEdBQXFELEVBQUUsQ0FBQztJQUMzRSxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUU7UUFDL0MsSUFBSSxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDaEIsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZDLENBQUM7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUNILE9BQU8sYUFBYSxDQUFDO0FBQ3ZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBJbmplY3RhYmxlLFxuICBJdGVyYWJsZURpZmZlcixcbiAgSXRlcmFibGVEaWZmZXJzLFxuICBPbkRlc3Ryb3ksXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBGb3JtQXJyYXksXG4gIEZvcm1Hcm91cCxcbiAgVmFsaWRhdGlvbkVycm9ycyxcbiAgVmFsaWRhdG9yRm4sXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGNsb25lRGVlcCwgaXNFcXVhbCwgc2V0LCB1bnNldCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGNvbnN0IERVUExJQ0FURV9FUlJPUl9LRVkgPSAnZHVwbGljYXRlRXJyb3InO1xuXG50eXBlIFJvd0tleXMgPSBBcnJheTxzdHJpbmcgfCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4+O1xudHlwZSBGb3JtYXRLZXlzID0gUmVjb3JkPHN0cmluZywgc3RyaW5nW10+O1xuZXhwb3J0IHR5cGUgRm9ybWF0VmFsdWUgPSBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuXG5leHBvcnQgdHlwZSBNYXRjaFZhbHVlRm4gPSAoXG4gIHByb3BzOiBzdHJpbmdbXSxcbiAgdmFsdWUxOiBGb3JtYXRWYWx1ZSxcbiAgdmFsdWUyOiBGb3JtYXRWYWx1ZSxcbikgPT4gYm9vbGVhbjtcblxuZXhwb3J0IHR5cGUgU3RyYXRlZ3lGbiA9IChcbiAga2V5czogRm9ybWF0S2V5cyxcbiAgY29udHJvbHM6IEFic3RyYWN0Q29udHJvbFtdLFxuICBzdGFsZVZhbHVlOiBGb3JtYXRWYWx1ZSxcbiAgbWFwRm46IFZhbHVlTWFwRm4sXG4gIG1hdGNoZXNGbjogTWF0Y2hWYWx1ZUZuLFxuICBpbml0RGF0YTogYW55W10sXG4pID0+IEFycmF5PHsga2V5OiBzdHJpbmc7IGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCB9PjtcblxuLy8gSURFTlRJQ0FMOiDmo4DmtYvlhbfmnInkupLlj43mgKfvvIzkvKDpgJLmgKfjgIJh5LiOYumHjeWkje+8jGLkuI5j6YeN5aSN77yMYeW/heeEtuS4jmPph43lpI3vvIzmraTnqIvluqbkuIrlj6/ov5vooYzkvJjljJZcbi8vIEZVTEw6IOS4jeimgeaxguajgOa1i+WFt+acieS6kuWPjeaAp++8jOS8oOmAkuaAp+OAgmHkuI5i5Yik5Yir6YeN5aSN77yMYuS4jmPliKTliKvph43lpI3vvIxh5pyq5b+F5LiOY+WIpOWIq+mHjeWkjVxuLy8g5Li76KaB5piv6ZKI5a+55LiA5Lqb5aSN5p2C55qE6Ieq5a6a5LmJ5Yy56YWN6YeN5aSN55qE5L2/55So5Zy65pmv77yMRlVMTOaooeW8j+mHh+eUqOWFqOajgOafpVxuZXhwb3J0IGVudW0gRFVQTElDQVRJT05fSlVTVElGWV9TVFJBVEVHWSB7XG4gIElERU5USUNBTCA9ICdpZGVudGljYWwnLFxuICBGVUxMID0gJ2Z1bGwnLFxufVxuXG5leHBvcnQgY29uc3QgU1RSQVRFR1lfSlVER0VfTUFQUEVSOiBSZWNvcmQ8XG4gIERVUExJQ0FUSU9OX0pVU1RJRllfU1RSQVRFR1ksXG4gIFN0cmF0ZWd5Rm5cbj4gPSB7XG4gIFtEVVBMSUNBVElPTl9KVVNUSUZZX1NUUkFURUdZLklERU5USUNBTF06IGlkZW50aWNhbFN0cmF0ZWd5Q2hlY2ssXG4gIFtEVVBMSUNBVElPTl9KVVNUSUZZX1NUUkFURUdZLkZVTExdOiBmdWxsU3RyYXRlZ3lDaGVjayxcbn07XG5cbi8vIHVzZSBpbiBjb21wb25lbnQgbGlmZWN5Y2xlXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVmFsaWRhdGVSb3dEdXBsaWNhdGVTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgLy8gdXNlZCB0byBkZXRlY3QgYWxsIGNvbnRyb2xzIGRhdGEgY2hhbmdlXG4gIHByaXZhdGUgcm93c0RpZmZlcjogSXRlcmFibGVEaWZmZXI8QWJzdHJhY3RDb250cm9sPjtcblxuICAvKipcbiAgICogQHBhcmFtIGRpZmZlckZhY3Rvcnk6IHVzZWQgdG8gY3JlYXRlIHN1cHBvcnQgZGlmZmVyLCB3aGljaCBjYW4gYmUgcHJvdmlkZWQgYnkgdXNlclxuICAgKi9cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBhcnJheURpZmZlcnM6IEl0ZXJhYmxlRGlmZmVycykge31cblxuICAvLyB1c2VkIHRvIHNhdmUgbGFzdCB2YWx1ZSwgdG8gY2hlY2sgd2hldGhlciBpZiBjb250cm9sIGNoYW5nZWRcbiAgcHJpdmF0ZSByZWFkb25seSBjb250cm9sVmFsdWVNYXAgPSBuZXcgV2Vha01hcDxcbiAgICBBYnN0cmFjdENvbnRyb2wsXG4gICAgRm9ybWF0VmFsdWVcbiAgPigpO1xuXG4gIC8vIHVzZWQgdG8gc2F2ZSBlcnJvcnPvvIx0byBzb2x2ZSB2YWxpZGF0b3JzIGNvbmN1cnJlbnRseSB3b3JrKHNlY29uZCB2YWxpZGF0b3IgY2FuJ3QgZ2V0IGVycm9yIGZyb20gcHJldmlvdXMgdmFsaWRhdG9yIGluIG9uZSB0dXJuKVxuICBwcml2YXRlIHJlYWRvbmx5IGVycm9yTWFwID0gbmV3IFdlYWtNYXA8QWJzdHJhY3RDb250cm9sLCBWYWxpZGF0aW9uRXJyb3JzPigpO1xuXG4gIHByaXZhdGUgZm9ybUFycmF5U2l6ZVN1YjogU3Vic2NyaXB0aW9uO1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBzb25hcmpzL2NvZ25pdGl2ZS1jb21wbGV4aXR5XG4gIGNyZWF0ZUZvcm1BcnJheVZhbGlkYXRvcih7XG4gICAgcm93S2V5cyxcbiAgICBmb3JtQXJyYXksXG4gICAgdmFsdWVNYXBGbiA9IGRlZmF1bHRWYWx1ZU1hcEZuLFxuICAgIGluaXREYXRhID0gW10sXG4gICAgbWF0Y2hlc0ZuID0gbWF0Y2hWYWx1ZSxcbiAgICBzdHJhdGVneSA9IERVUExJQ0FUSU9OX0pVU1RJRllfU1RSQVRFR1kuSURFTlRJQ0FMLFxuICB9OiB7XG4gICAgcm93S2V5czogUm93S2V5cztcbiAgICBmb3JtQXJyYXk6IEZvcm1BcnJheTtcbiAgICB2YWx1ZU1hcEZuPzogYW55O1xuICAgIGluaXREYXRhPzogYW55W107XG4gICAgbWF0Y2hlc0ZuPzogTWF0Y2hWYWx1ZUZuO1xuICAgIHN0cmF0ZWd5PzogRFVQTElDQVRJT05fSlVTVElGWV9TVFJBVEVHWTtcbiAgfSk6IFZhbGlkYXRvckZuIHtcbiAgICBjb25zdCBrZXlzID0gZm9ybWF0S2V5cyhyb3dLZXlzKTtcbiAgICBpZiAoIXRoaXMucm93c0RpZmZlcikge1xuICAgICAgdGhpcy5yb3dzRGlmZmVyID0gdGhpcy5hcnJheURpZmZlcnMuZmluZChbXSkuY3JlYXRlKCk7XG4gICAgfVxuXG4gICAgdGhpcy5pbml0Rm9ybUFycmF5U2l6ZUNoYW5nZShcbiAgICAgIGZvcm1BcnJheSxcbiAgICAgIHRoaXMucm93c0RpZmZlcixcbiAgICAgIGtleXMsXG4gICAgICB2YWx1ZU1hcEZuLFxuICAgICAgbWF0Y2hlc0ZuLFxuICAgICAgc3RyYXRlZ3ksXG4gICAgICBpbml0RGF0YSxcbiAgICApO1xuXG4gICAgcmV0dXJuIChjb250cm9sOiBGb3JtR3JvdXApID0+IHtcbiAgICAgIGNvbnN0IHsgY29udHJvbHMgfSA9IGZvcm1BcnJheTtcbiAgICAgIGNvbnN0IGxhc3RWYWx1ZSA9IHRoaXMuY29udHJvbFZhbHVlTWFwLmdldChjb250cm9sKTtcbiAgICAgIGlmIChjb250cm9sLnByaXN0aW5lKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgLy8gbm90aGluZyBjaGFuZ2VcbiAgICAgIGNvbnN0IGN1cnJlbnRWYWx1ZSA9IGdldFZhbHVlSW5LZXlzKGNvbnRyb2wudmFsdWUsIGtleXMsIHZhbHVlTWFwRm4pO1xuICAgICAgdGhpcy5jb250cm9sVmFsdWVNYXAuc2V0KGNvbnRyb2wsIGN1cnJlbnRWYWx1ZSk7XG4gICAgICBpZiAobGFzdFZhbHVlKSB7XG4gICAgICAgIGxldCBpZGVudGljYWwgPSB0cnVlO1xuICAgICAgICBPYmplY3QuZW50cmllcyhrZXlzKS5mb3JFYWNoKChba2V5LCBwcm9wc10pID0+IHtcbiAgICAgICAgICBpZiAoIWVxdWFsc1ZhbHVlKHByb3BzLCBjdXJyZW50VmFsdWVba2V5XSwgbGFzdFZhbHVlW2tleV0pKSB7XG4gICAgICAgICAgICBpZGVudGljYWwgPSBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoaWRlbnRpY2FsKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZXJyb3JNYXAuZ2V0KGNvbnRyb2wpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBjb25zdCBkaWZmS2V5cyA9IGxhc3RWYWx1ZVxuICAgICAgICA/IGRpZmZLZXlzQnlWYWx1ZShrZXlzLCBjdXJyZW50VmFsdWUsIGxhc3RWYWx1ZSlcbiAgICAgICAgOiBrZXlzO1xuICAgICAgLy8g5ZKM5LiK5qyh5YC85a2Y5Zyo5beu5byC77yM5Y+v5bCG6ICB5pWw5o2u5L2c5Li65Yig6Zmk6KGM5aSE55CGXG4gICAgICBpZiAobGFzdFZhbHVlKSB7XG4gICAgICAgIHRoaXMuaGFuZGxlUmVtb3ZlUm93VmFsdWUoXG4gICAgICAgICAgZGlmZktleXMsXG4gICAgICAgICAgY29udHJvbHMsXG4gICAgICAgICAgbGFzdFZhbHVlLFxuICAgICAgICAgIHZhbHVlTWFwRm4sXG4gICAgICAgICAgY29udHJvbCxcbiAgICAgICAgICBtYXRjaGVzRm4sXG4gICAgICAgICAgc3RyYXRlZ3ksXG4gICAgICAgICAgaW5pdERhdGEsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICAvLyDmm7TmlrDlkI7nmoTnirbmgIHvvIzlj6/og73lr7zoh7Tlhbbku5booYzlh7rnjrDmlrDnmoTph43lpI1cbiAgICAgIGNvbnN0IG90aGVyQ29udHJvbHMgPSBjb250cm9scy5maWx0ZXIoY3RybCA9PiBjdHJsICE9PSBjb250cm9sKTtcbiAgICAgIGNvbnN0IGN0cmxFcnJvcjogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9O1xuICAgICAgb3RoZXJDb250cm9scy5mb3JFYWNoKGN0cmwgPT4ge1xuICAgICAgICBjb25zdCBvdGhlclZhbHVlID0gZ2V0VmFsdWVJbktleXMoY3RybC52YWx1ZSwgZGlmZktleXMsIHZhbHVlTWFwRm4pO1xuICAgICAgICBjb25zdCBvdGhlcnNFcnJvcjogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9O1xuICAgICAgICAvLyBrZXlzIOS4reWIhuWIq+avlOi+gyDlpoLmnpwgb3RoZXJWYWx1ZSDkuI4gY3VycmVudFZhbHVlIOWcqOafkOS4qmtleeS4i++8jOaVsOaNruebuOWQjO+8jOWImeivtOaYjuatpCBrZXkg5a2Y5Zyo6YeN5aSN6ZSZ6K+vXG4gICAgICAgIE9iamVjdC5lbnRyaWVzKGRpZmZLZXlzKS5mb3JFYWNoKChba2V5LCBwcm9wc10pID0+IHtcbiAgICAgICAgICBpZiAobWF0Y2hlc0ZuKHByb3BzLCBvdGhlclZhbHVlW2tleV0sIGN1cnJlbnRWYWx1ZVtrZXldKSkge1xuICAgICAgICAgICAgc2V0KG90aGVyc0Vycm9yLCBba2V5XSwgY3VycmVudFZhbHVlW2tleV0pO1xuICAgICAgICAgICAgc2V0KGN0cmxFcnJvciwga2V5LCBjdXJyZW50VmFsdWVba2V5XSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5hZGREdXBsaWNhdGVFcnJvcihvdGhlcnNFcnJvciwgY3RybCwgdHJ1ZSk7XG4gICAgICB9KTtcbiAgICAgIChpbml0RGF0YSB8fCBbXSkuZm9yRWFjaChpbml0Um93ID0+IHtcbiAgICAgICAgT2JqZWN0LmVudHJpZXMoZGlmZktleXMpLmZvckVhY2goKFtrZXksIHByb3BzXSkgPT4ge1xuICAgICAgICAgIGlmIChtYXRjaGVzRm4ocHJvcHMsIGluaXRSb3dba2V5XSwgY3VycmVudFZhbHVlW2tleV0pKSB7XG4gICAgICAgICAgICBzZXQoY3RybEVycm9yLCBrZXksIGN1cnJlbnRWYWx1ZVtrZXldKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgICB0aGlzLmFkZER1cGxpY2F0ZUVycm9yKGN0cmxFcnJvciwgY29udHJvbCk7XG4gICAgICByZXR1cm4gdGhpcy5lcnJvck1hcC5nZXQoY29udHJvbCk7XG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlUmVtb3ZlUm93VmFsdWUoXG4gICAga2V5czogRm9ybWF0S2V5cyxcbiAgICBjb250cm9sczogQWJzdHJhY3RDb250cm9sW10sXG4gICAgc3RhbGVWYWx1ZTogRm9ybWF0VmFsdWUsXG4gICAgbWFwRm46IFZhbHVlTWFwRm4sXG4gICAgc2VsZkNvbnRyb2w/OiBBYnN0cmFjdENvbnRyb2wsXG4gICAgbWF0Y2hlc0ZuPzogTWF0Y2hWYWx1ZUZuLFxuICAgIHN0cmF0ZWd5PzogRFVQTElDQVRJT05fSlVTVElGWV9TVFJBVEVHWSxcbiAgICBpbml0RGF0YT86IGFueVtdLFxuICApIHtcbiAgICBpZiAoc2VsZkNvbnRyb2wpIHtcbiAgICAgIHRoaXMucmVtb3ZlRHVwbGljYXRlRXJyb3IoT2JqZWN0LmtleXMoa2V5cyksIHNlbGZDb250cm9sKTtcbiAgICB9XG4gICAgY29uc3QgdG9SZW1vdmVFcnJvciA9IFNUUkFURUdZX0pVREdFX01BUFBFUltzdHJhdGVneV0oXG4gICAgICBrZXlzLFxuICAgICAgY29udHJvbHMsXG4gICAgICBzdGFsZVZhbHVlLFxuICAgICAgbWFwRm4sXG4gICAgICBtYXRjaGVzRm4sXG4gICAgICBpbml0RGF0YSxcbiAgICApO1xuICAgICh0b1JlbW92ZUVycm9yIHx8IFtdKS5mb3JFYWNoKCh7IGtleSwgY29udHJvbCB9KSA9PlxuICAgICAgdGhpcy5yZW1vdmVEdXBsaWNhdGVFcnJvcihba2V5XSwgY29udHJvbCwgdHJ1ZSksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdEZvcm1BcnJheVNpemVDaGFuZ2UoXG4gICAgZm9ybUFycmF5OiBGb3JtQXJyYXksXG4gICAgcm93c0RpZmZlcjogSXRlcmFibGVEaWZmZXI8QWJzdHJhY3RDb250cm9sPixcbiAgICBrZXlzOiBGb3JtYXRLZXlzLFxuICAgIG1hcEZuOiBWYWx1ZU1hcEZuLFxuICAgIG1hdGNoZXNGbjogTWF0Y2hWYWx1ZUZuLFxuICAgIHN0cmF0ZWd5OiBEVVBMSUNBVElPTl9KVVNUSUZZX1NUUkFURUdZLFxuICAgIGluaXREYXRhPzogYW55W10sXG4gICkge1xuICAgIGlmICghdGhpcy5mb3JtQXJyYXlTaXplU3ViKSB7XG4gICAgICB0aGlzLmZvcm1BcnJheVNpemVTdWIgPSBmb3JtQXJyYXkudmFsdWVDaGFuZ2VzLnN1YnNjcmliZShfID0+IHtcbiAgICAgICAgY29uc3QgeyBjb250cm9scyB9ID0gZm9ybUFycmF5O1xuICAgICAgICBjb25zdCByb3dzRGlmZiA9IHJvd3NEaWZmZXIuZGlmZihjb250cm9scyk7XG4gICAgICAgIGlmIChyb3dzRGlmZikge1xuICAgICAgICAgIC8vIG9uIGRlbGV0aW5nIHJvd1xuICAgICAgICAgIHJvd3NEaWZmLmZvckVhY2hSZW1vdmVkSXRlbShyZWNvcmQgPT4ge1xuICAgICAgICAgICAgY29uc3QgcmF3VmFsdWUgPSBnZXRWYWx1ZUluS2V5cyhyZWNvcmQuaXRlbS52YWx1ZSwga2V5cywgbWFwRm4pO1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVSZW1vdmVSb3dWYWx1ZShcbiAgICAgICAgICAgICAga2V5cyxcbiAgICAgICAgICAgICAgY29udHJvbHMsXG4gICAgICAgICAgICAgIHJhd1ZhbHVlLFxuICAgICAgICAgICAgICBtYXBGbixcbiAgICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgICBtYXRjaGVzRm4sXG4gICAgICAgICAgICAgIHN0cmF0ZWd5LFxuICAgICAgICAgICAgICBpbml0RGF0YSxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYWRkRHVwbGljYXRlRXJyb3IoXG4gICAgZXJyb3JJbmZvOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuICAgIGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCxcbiAgICBzZXRDb250cm9sID0gZmFsc2UsXG4gICkge1xuICAgIGNvbnN0IGVycm9ycyA9IGNsb25lRGVlcCh0aGlzLmVycm9yTWFwLmdldChjb250cm9sKSkgfHwge307XG4gICAgLy8gYWxyZWFkeSBoYXMgZXJyb3Isbm8gbmVlZCB0byBhZGRcbiAgICBpZiAoXG4gICAgICAhT2JqZWN0LmtleXMoZXJyb3JJbmZvKS5zb21lKFxuICAgICAgICBrZXkgPT4gZXJyb3JzPy5bRFVQTElDQVRFX0VSUk9SX0tFWV0/LltrZXldID09IG51bGwsXG4gICAgICApXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgT2JqZWN0LmtleXMoZXJyb3JJbmZvKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICBzZXQoZXJyb3JzLCBbRFVQTElDQVRFX0VSUk9SX0tFWSwga2V5XSwgZXJyb3JJbmZvW2tleV0pO1xuICAgIH0pO1xuICAgIHRoaXMuZXJyb3JNYXAuc2V0KGNvbnRyb2wsIGVycm9ycyk7XG4gICAgaWYgKHNldENvbnRyb2wpIHtcbiAgICAgIC8vIOW9k+iuvue9rumHjeWkjeaKpemUmeaXtizpnIDopoHms6jmhI/kv53nlZnljp/mnaXnmoTmiqXplJlcbiAgICAgIGNvbnN0IGNvbnRyb2xFcnJvciA9IGNsb25lRGVlcChjb250cm9sLmVycm9ycyk7XG4gICAgICB1bnNldChjb250cm9sRXJyb3IsIFtEVVBMSUNBVEVfRVJST1JfS0VZXSk7XG4gICAgICBjb25zdCBlcnJvciA9IHsgLi4uY29udHJvbEVycm9yLCAuLi50aGlzLmVycm9yTWFwLmdldChjb250cm9sKSB9O1xuICAgICAgY29udHJvbC5zZXRFcnJvcnMoT2JqZWN0LmtleXMoZXJyb3IpLmxlbmd0aCA9PT0gMCA/IG51bGwgOiBlcnJvciwge1xuICAgICAgICBlbWl0RXZlbnQ6IGZhbHNlLFxuICAgICAgfSk7XG5cbiAgICAgIC8vIGNvbnRyb2wncyBlcnJvciBzaG91bGQgYmUgc2hvd24saXQncyBub3QgcHJpc3RpbmUgYW55IG1vcmVcbiAgICAgIGNvbnRyb2wubWFya0FzRGlydHkoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZUR1cGxpY2F0ZUVycm9yKFxuICAgIGVycm9ySW5mbzogc3RyaW5nW10sXG4gICAgY29udHJvbDogQWJzdHJhY3RDb250cm9sLFxuICAgIHNldENvbnRyb2wgPSBmYWxzZSxcbiAgKSB7XG4gICAgY29uc3QgZXJyb3JzID0gY2xvbmVEZWVwKHRoaXMuZXJyb3JNYXAuZ2V0KGNvbnRyb2wpKTtcbiAgICAvLyBubyBuZWVkIHRvIHJlbW92ZSBlcnJvclxuICAgIGlmICghZXJyb3JJbmZvLnNvbWUoa2V5ID0+IGVycm9ycz8uW0RVUExJQ0FURV9FUlJPUl9LRVldPy5ba2V5XSAhPSBudWxsKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBlcnJvckluZm8uZm9yRWFjaChrZXkgPT4ge1xuICAgICAgdW5zZXQoZXJyb3JzLCBbRFVQTElDQVRFX0VSUk9SX0tFWSwga2V5XSk7XG4gICAgfSk7XG4gICAgdGhpcy5lcnJvck1hcC5zZXQoXG4gICAgICBjb250cm9sLFxuICAgICAgT2JqZWN0LmtleXMoZXJyb3JzPy5bRFVQTElDQVRFX0VSUk9SX0tFWV0gfHwge30pLmxlbmd0aCA/IGVycm9ycyA6IG51bGwsXG4gICAgKTtcbiAgICBpZiAoc2V0Q29udHJvbCkge1xuICAgICAgY29uc3QgY29udHJvbEVycm9yOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0gY2xvbmVEZWVwKGNvbnRyb2wuZXJyb3JzKSB8fCB7fTtcbiAgICAgIHVuc2V0KGNvbnRyb2xFcnJvciwgW0RVUExJQ0FURV9FUlJPUl9LRVldKTtcblxuICAgICAgY29uc3QgZXJyb3IgPSB7IC4uLmNvbnRyb2xFcnJvciwgLi4udGhpcy5lcnJvck1hcC5nZXQoY29udHJvbCkgfTtcbiAgICAgIGNvbnRyb2wuc2V0RXJyb3JzKE9iamVjdC5rZXlzKGVycm9yKS5sZW5ndGggPT09IDAgPyBudWxsIDogZXJyb3IsIHtcbiAgICAgICAgZW1pdEV2ZW50OiBmYWxzZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGlmICh0aGlzLmZvcm1BcnJheVNpemVTdWIpIHtcbiAgICAgIHRoaXMuZm9ybUFycmF5U2l6ZVN1Yi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxufVxuXG4vLyDku4Xov5Tlm55rZXlz6KeE5YiZ5LiL77yMY3VycmVudFZhbHVl5LiObGFzdFZhbHVl5a2Y5Zyo5LiN5ZCM55qE6YOo5YiGa2V5XG5mdW5jdGlvbiBkaWZmS2V5c0J5VmFsdWUoXG4gIGtleXM6IEZvcm1hdEtleXMsXG4gIGN1cnJlbnRWYWx1ZTogRm9ybWF0VmFsdWUsXG4gIGxhc3RWYWx1ZTogRm9ybWF0VmFsdWUsXG4pIHtcbiAgY29uc3Qgb2JqOiBGb3JtYXRLZXlzID0ge307XG4gIE9iamVjdC5lbnRyaWVzKGtleXMpLmZvckVhY2goKFtrZXksIHByb3BzXSkgPT4ge1xuICAgIGlmICghZXF1YWxzVmFsdWUocHJvcHMsIGN1cnJlbnRWYWx1ZVtrZXldLCBsYXN0VmFsdWVba2V5XSkpIHtcbiAgICAgIG9ialtrZXldID0gcHJvcHM7XG4gICAgfVxuICB9KTtcbiAgcmV0dXJuIG9iajtcbn1cblxuLy8g5oyH5a6a5bGe5oCn5LiL77yMdmFsdWUxIOWSjCB2YWx1ZTIg5a+55LqO5omA5pyJ55qE5bGe5oCn5a2Y5Zyo5pyJ5pWI5YC877yM5bm25LiU55u45ZCM77yM5q2k5pe25Y+v5Yik5a6a6YeN5aSNXG5mdW5jdGlvbiBtYXRjaFZhbHVlKHByb3BzOiBzdHJpbmdbXSwgdmFsdWUxOiBGb3JtYXRWYWx1ZSwgdmFsdWUyOiBGb3JtYXRWYWx1ZSkge1xuICByZXR1cm4gIXByb3BzLnNvbWUoXG4gICAgcHJvcCA9PiB1bkNoZWNrZWRWYWx1ZSh2YWx1ZTEsIHByb3ApIHx8IHZhbHVlMVtwcm9wXSAhPT0gdmFsdWUyW3Byb3BdLFxuICApO1xufVxuXG4vLyDmjIflrprlsZ7mgKfkuIvvvIx2YWx1ZTEg5ZKMIHZhbHVlMiDlr7nkuo7miYDmnInnmoTlsZ7mgKfnm7jlkIzvvIzmraTml7blj6/liKTlrpogdmFsdWUxICwgdmFsdWUyIOebuOetiVxuZnVuY3Rpb24gZXF1YWxzVmFsdWUoXG4gIHByb3BzOiBzdHJpbmdbXSxcbiAgdmFsdWUxOiBGb3JtYXRWYWx1ZSxcbiAgdmFsdWUyOiBGb3JtYXRWYWx1ZSxcbikge1xuICByZXR1cm4gIXByb3BzLnNvbWUocHJvcCA9PiAhaXNFcXVhbCh2YWx1ZTFbcHJvcF0sIHZhbHVlMltwcm9wXSkpO1xufVxuXG4vKipcbiAqIEBwYXJhbSBrZXlzIFsncHJvdG9jb2wnLHtjb21wbGV4OiBbJ2NvbnRhaW5lclBvcnQnLCdob3N0UG9ydCddfV1cbiAqIEByZXR1cm5zIFt7cHJvdG9jb2w6IFsncHJvdG9jb2wnXX0sIHtjb21wbGV4OiBbJ2NvbnRhaW5lclBvcnQnLCdob3N0UG9ydCddfV1cbiAqL1xuZnVuY3Rpb24gZm9ybWF0S2V5cyhrZXlzOiBSb3dLZXlzID0gW10pOiBGb3JtYXRLZXlzIHtcbiAgY29uc3Qgb2JqOiBGb3JtYXRLZXlzID0ge307XG4gIGtleXMuZm9yRWFjaChrZXlPYmogPT4ge1xuICAgIGlmICh0eXBlb2Yga2V5T2JqID09PSAnc3RyaW5nJykge1xuICAgICAgb2JqW2tleU9ial0gPSBba2V5T2JqXTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgT2JqZWN0LmtleXMoa2V5T2JqKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICBvYmpba2V5XSA9IGtleU9ialtrZXldO1xuICAgIH0pO1xuICB9KTtcbiAgcmV0dXJuIG9iajtcbn1cblxuZnVuY3Rpb24gdW5DaGVja2VkVmFsdWUodmFsdWU6IEZvcm1hdFZhbHVlLCBrZXk6IHN0cmluZykge1xuICByZXR1cm4gdmFsdWU/LltrZXldID09IG51bGwgfHwgdmFsdWVba2V5XSA9PT0gJyc7XG59XG5cbmZ1bmN0aW9uIGRlZmF1bHRWYWx1ZU1hcEZuKGRhdGE6IGFueSwgcHJvcDogc3RyaW5nKSB7XG4gIHJldHVybiBkYXRhPy5bcHJvcF07XG59XG5cbnR5cGUgVmFsdWVNYXBGbiA9IChkYXRhOiBhbnksIHByb3A/OiBzdHJpbmcpID0+IGFueTtcblxuLyoqXG4gKiBAcGFyYW0gdmFsdWUgaW5wdXQgdmFsdWUsd2hpY2ggc2hvdWxkIGluY2x1ZGUgYWxsIGtleSBiZWhpbmQga2V5c1xuICogQHBhcmFtIGtleXMgZm9ybWF0dGVkIGtleXMsIGtleSBpcyBlcnJvciBrZXksIGxpa2UgW3snY29udGFpbmVyUG9ydCc6Wydjb250YWluZXJQb3J0J119LHsnY29tcGxleEVycm9yJzpbJ2NvbnRhaW5lclBvcnQnLCdob3N0UG9ydCddfV1cbiAqIEByZXR1cm5zXG4gKi9cbmZ1bmN0aW9uIGdldFZhbHVlSW5LZXlzKFxuICB2YWx1ZTogYW55LFxuICBrZXlzOiBGb3JtYXRLZXlzLFxuICBtYXBGbjogVmFsdWVNYXBGbixcbik6IEZvcm1hdFZhbHVlIHtcbiAgY29uc3Qgb2JqID0ge307XG4gIE9iamVjdC5lbnRyaWVzKGtleXMpLmZvckVhY2goKFtrZXksIHByb3BzXSkgPT4ge1xuICAgIHByb3BzLmZvckVhY2gocHJvcCA9PiB7XG4gICAgICBzZXQob2JqLCBba2V5LCBwcm9wXSwgbWFwRm4odmFsdWUsIHByb3ApKTtcbiAgICB9KTtcbiAgfSk7XG4gIHJldHVybiBvYmo7XG59XG5cbi8vIOS6kuWPjeaAp+ajgOafpVxuZnVuY3Rpb24gaWRlbnRpY2FsU3RyYXRlZ3lDaGVjayhcbiAga2V5czogRm9ybWF0S2V5cyxcbiAgY29udHJvbHM6IEFic3RyYWN0Q29udHJvbFtdLFxuICBzdGFsZVZhbHVlOiBGb3JtYXRWYWx1ZSxcbiAgbWFwRm46IFZhbHVlTWFwRm4sXG4gIG1hdGNoZXNGbjogTWF0Y2hWYWx1ZUZuLFxuICBpbml0RGF0YTogYW55W10sXG4pIHtcbiAgY29uc3QgZXJyb3JzQ291bnRlcjogUmVjb3JkPFxuICAgIHN0cmluZyxcbiAgICB7IGNvbnRyb2xzOiBTZXQ8QWJzdHJhY3RDb250cm9sPjsgY291bnQ6IG51bWJlciB9XG4gID4gPSB7fTtcblxuICBPYmplY3QuZW50cmllcyhrZXlzKS5mb3JFYWNoKChba2V5LCBwcm9wc10pID0+IHtcbiAgICBlcnJvcnNDb3VudGVyW2tleV0gPSB7IGNvbnRyb2xzOiBuZXcgU2V0KCksIGNvdW50OiAwIH07XG4gICAgaW5pdERhdGEuZm9yRWFjaChpbml0Um93ID0+IHtcbiAgICAgIGlmIChtYXRjaFZhbHVlKHByb3BzLCBpbml0Um93W2tleV0sIHN0YWxlVmFsdWVba2V5XSkpIHtcbiAgICAgICAgZXJyb3JzQ291bnRlcltrZXldLmNvdW50Kys7XG4gICAgICB9XG4gICAgfSk7XG4gICAgY29udHJvbHMuZm9yRWFjaChjdHJsID0+IHtcbiAgICAgIGNvbnN0IGNvbnRyb2xWYWx1ZSA9IGdldFZhbHVlSW5LZXlzKGN0cmwudmFsdWUsIGtleXMsIG1hcEZuKTtcbiAgICAgIC8vIOS6kuWPjeaAp+etlueVpe+8jOimgeaxguWSjOiAgeaVsOaNruebuOavlO+8jOWboOatpOWPquacieWSjOiAgeaVsOaNruebuOWQjO+8jOS9huWSjOS7u+aEj+W9k+WJjeWFtuS7luaVsOaNruS4jeWQjOeahO+8jOaJjemcgOimgeWOu+aOieS5i+WJjeeahOmUmeivr1xuICAgICAgaWYgKG1hdGNoZXNGbihwcm9wcywgY29udHJvbFZhbHVlW2tleV0sIHN0YWxlVmFsdWVba2V5XSkpIHtcbiAgICAgICAgZXJyb3JzQ291bnRlcltrZXldLmNvdW50Kys7XG4gICAgICAgIGVycm9yc0NvdW50ZXJba2V5XS5jb250cm9scy5hZGQoY3RybCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xuICBjb25zdCB0b1JlbW92ZUVycm9yOiBBcnJheTx7IGtleTogc3RyaW5nOyBjb250cm9sOiBBYnN0cmFjdENvbnRyb2wgfT4gPSBbXTtcbiAgT2JqZWN0LmVudHJpZXMoZXJyb3JzQ291bnRlcikuZm9yRWFjaCgoW2tleSwgaXRlbV0pID0+IHtcbiAgICBpZiAoaXRlbS5jb3VudCA9PT0gMSkge1xuICAgICAgaXRlbS5jb250cm9scy5mb3JFYWNoKGNvbnRyb2wgPT4ge1xuICAgICAgICB0b1JlbW92ZUVycm9yLnB1c2goeyBrZXksIGNvbnRyb2wgfSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH0pO1xuICByZXR1cm4gdG9SZW1vdmVFcnJvcjtcbn1cblxuLy8g5YWo5qOA5p+lXG5mdW5jdGlvbiBmdWxsU3RyYXRlZ3lDaGVjayhcbiAga2V5czogRm9ybWF0S2V5cyxcbiAgY29udHJvbHM6IEFic3RyYWN0Q29udHJvbFtdLFxuICBfOiBGb3JtYXRWYWx1ZSxcbiAgbWFwRm46IFZhbHVlTWFwRm4sXG4gIG1hdGNoZXNGbjogTWF0Y2hWYWx1ZUZuLFxuICBpbml0RGF0YTogYW55W10sXG4pIHtcbiAgY29uc3QgY29udHJvbEVycm9yOiBNYXA8QWJzdHJhY3RDb250cm9sLCB7IGtleTogc3RyaW5nOyBjb3VudDogbnVtYmVyIH0+ID1cbiAgICBuZXcgTWFwKCk7XG5cbiAgT2JqZWN0LmVudHJpZXMoa2V5cykuZm9yRWFjaCgoW2tleSwgcHJvcHNdKSA9PiB7XG4gICAgY29udHJvbHMuZm9yRWFjaChjdHJsID0+IHtcbiAgICAgIGNvbnN0IGNvbnRyb2xWYWx1ZSA9IGdldFZhbHVlSW5LZXlzKGN0cmwudmFsdWUsIGtleXMsIG1hcEZuKTtcbiAgICAgIC8vIOWFqOajgOafpeetlueVpe+8jOacgOe7iOmUmeivryBrZXkg5a+55bqUIGNvdW50IOS4uiAwIOeahGN0cmzkvJrljrvmjonnm7jlupTplJnor69cbiAgICAgIGNvbnRyb2xFcnJvci5zZXQoY3RybCwgeyBrZXksIGNvdW50OiAwIH0pO1xuICAgICAgaW5pdERhdGEuZm9yRWFjaChpbml0Um93ID0+IHtcbiAgICAgICAgaWYgKG1hdGNoVmFsdWUocHJvcHMsIGluaXRSb3dba2V5XSwgY29udHJvbFZhbHVlKSkge1xuICAgICAgICAgIGNvbnN0IHJhd0NvdW50ID0gY29udHJvbEVycm9yLmdldChjdHJsKS5jb3VudDtcbiAgICAgICAgICBjb250cm9sRXJyb3Iuc2V0KGN0cmwsIHsga2V5LCBjb3VudDogcmF3Q291bnQgKyAxIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIGNvbnRyb2xzXG4gICAgICAgIC5maWx0ZXIob3RoZXJDb250cm9sID0+IG90aGVyQ29udHJvbCAhPT0gY3RybClcbiAgICAgICAgLmZvckVhY2gob3RoZXJDb250cm9sID0+IHtcbiAgICAgICAgICBjb25zdCBvdGhlclZhbHVlID0gZ2V0VmFsdWVJbktleXMob3RoZXJDb250cm9sLnZhbHVlLCBrZXlzLCBtYXBGbik7XG4gICAgICAgICAgaWYgKG1hdGNoZXNGbihwcm9wcywgY29udHJvbFZhbHVlW2tleV0sIG90aGVyVmFsdWVba2V5XSkpIHtcbiAgICAgICAgICAgIGNvbnN0IHJhd0NvdW50ID0gY29udHJvbEVycm9yLmdldChjdHJsKS5jb3VudDtcbiAgICAgICAgICAgIGNvbnRyb2xFcnJvci5zZXQoY3RybCwgeyBrZXksIGNvdW50OiByYXdDb3VudCArIDEgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9KTtcbiAgfSk7XG4gIGNvbnN0IHRvUmVtb3ZlRXJyb3I6IEFycmF5PHsga2V5OiBzdHJpbmc7IGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCB9PiA9IFtdO1xuICBjb250cm9sRXJyb3IuZm9yRWFjaCgoeyBjb3VudCwga2V5IH0sIGNvbnRyb2wpID0+IHtcbiAgICBpZiAoY291bnQgPT09IDApIHtcbiAgICAgIHRvUmVtb3ZlRXJyb3IucHVzaCh7IGtleSwgY29udHJvbCB9KTtcbiAgICB9XG4gIH0pO1xuICByZXR1cm4gdG9SZW1vdmVFcnJvcjtcbn1cbiJdfQ==
|
|
@@ -71,8 +71,8 @@ export class InterceptDeactivateService {
|
|
|
71
71
|
static { this.ɵfac = function InterceptDeactivateService_Factory(t) { return new (t || InterceptDeactivateService)(i0.ɵɵinject(i1.Location), i0.ɵɵinject(i2.Router), i0.ɵɵinject(i3.DialogService), i0.ɵɵinject(i4.TranslateService)); }; }
|
|
72
72
|
static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: InterceptDeactivateService, factory: InterceptDeactivateService.ɵfac, providedIn: 'root' }); }
|
|
73
73
|
}
|
|
74
|
-
(
|
|
74
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(InterceptDeactivateService, [{
|
|
75
75
|
type: Injectable,
|
|
76
76
|
args: [{ providedIn: 'root' }]
|
|
77
|
-
}],
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
77
|
+
}], () => [{ type: i1.Location }, { type: i2.Router }, { type: i3.DialogService }, { type: i4.TranslateService }], null); })();
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJjZXB0LWRlYWN0aXZhdGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9jb3JlL3NlcnZpY2VzL2ludGVyY2VwdC1kZWFjdGl2YXRlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMzQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUN0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTdELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFDTCw0QkFBNEIsRUFDNUIsdUJBQXVCLEdBQ3hCLE1BQU0sc0NBQXNDLENBQUM7QUFDOUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7Ozs7QUFHL0MsTUFBTSxPQUFPLDBCQUEwQjtJQUdyQyxZQUNtQixRQUFrQixFQUNsQixNQUFjLEVBQ2QsTUFBcUIsRUFDckIsU0FBMkI7UUFIM0IsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUNyQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQU45QyxjQUFTLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQVE5QixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU07YUFDZixJQUFJLENBQ0gsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxZQUFZLGFB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ekQsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUN6QyxVQUFVLEVBQUUsSUFBSTtZQUNoQixRQUFRLEVBQUUsNEJBQTRCO1lBQ3RDLFdBQVcsRUFBRSxJQUFJLENBQUMseUJBQXlCLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQztTQUM5RCxDQUFDLENBQUM7SUFDTCxDQUFDOzJGQTdGVSwwQkFBMEI7dUVBQTFCLDBCQUEwQixXQUExQiwwQkFBMEIsbUJBRGIsTUFBTTs7aUZBQ25CLDBCQUEwQjtjQUR0QyxVQUFVO2VBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlhbG9nU2VydmljZSB9IGZyb20gJ0BhbGF1ZGEvdWknO1xuaW1wb3J0IHsgTG9jYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uRW5kLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgU3ViamVjdCwgZmlsdGVyLCB0YWtlVW50aWwsIGZyb20sIG1hcCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdHJhbnNsYXRlL3B1YmxpYy1hcGknO1xuaW1wb3J0IHtcbiAgQ1VSUl9FU0NBUEVfREVBQ1RJVkFURV9HVUFSRCxcbiAgRVNDQVBFX0RFQUNUSVZBVEVfR1VBUkQsXG59IGZyb20gJy4uL2d1YXJkcy9pbnRlcmNlcHQtZGVhY3RpdmF0ZS5ndWFyZCc7XG5pbXBvcnQgeyBza2lwRXJyb3IgfSBmcm9tICcuLi91dGlscy9vcGVyYXRvcnMnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEludGVyY2VwdERlYWN0aXZhdGVTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgZGVzdHJveSQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxvY2F0aW9uOiBMb2NhdGlvbixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGlhbG9nOiBEaWFsb2dTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICApIHtcbiAgICB0aGlzLnJvdXRlci5ldmVudHNcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoZXYgPT4gZXYgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICBjb25zdCB1cmwgPSBuZXcgVVJMKHRoaXMubG9jYXRpb24ucGF0aCh0cnVlKSwgd2luZG93LmxvY2F0aW9uLmhyZWYpO1xuICAgICAgICBpZiAoXG4gICAgICAgICAgdXJsLmhhc2ggPT09ICcjJyArIEVTQ0FQRV9ERUFDVElWQVRFX0dVQVJEIHx8XG4gICAgICAgICAgdXJsLmhhc2ggPT09ICcjJyArIENVUlJfRVNDQVBFX0RFQUNUSVZBVEVfR1VBUkRcbiAgICAgICAgKSB7XG4gICAgICAgICAgdGhpcy5sb2NhdGlvbi5yZXBsYWNlU3RhdGUodXJsLnBhdGhuYW1lLCB1cmwuc2VhcmNoLnNsaWNlKDEpKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3kkJC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JCQuY29tcGxldGUoKTtcbiAgfVxuXG4gIGludGVyY2VwdCh7XG4gICAgdGl0bGUsXG4gICAgY29udGVudCxcbiAgICBjb250ZXh0LFxuICAgIGVycm9yRmFsbGJhY2ssXG4gIH06IHtcbiAgICB0aXRsZT86IHN0cmluZztcbiAgICBjb250ZW50Pzogc3RyaW5nO1xuICAgIGNvbnRleHQ/OiB1bmtub3duO1xuICAgIGVycm9yRmFsbGJhY2s/OiBib29sZWFuO1xuICB9ID0ge30pIHtcbiAgICByZXR1cm4gZnJvbShcbiAgICAgIHRoaXMuZGlhbG9nLmNvbmZpcm0oe1xuICAgICAgICB0aXRsZTogdGhpcy50cmFuc2xhdGUuZ2V0KFxuICAgICAgICAgIHRpdGxlIHx8ICdpbnRlcmNlcHRfZGVhY3RpdmF0ZV90aXRsZScsXG4gICAgICAgICAgY29udGV4dCxcbiAgICAgICAgKSxcbiAgICAgICAgY29udGVudDogdGhpcy50cmFuc2xhdGUuZ2V0KFxuICAgICAgICAgIGNvbnRlbnQgfHwgJ2ludGVyY2VwdF9kZWFjdGl2YXRlX2NvbnRlbnQnLFxuICAgICAgICAgIGNvbnRleHQsXG4gICAgICAgICksXG4gICAgICAgIGNvbmZpcm1UZXh0OiB0aGlzLnRyYW5zbGF0ZS5nZXQoJ2NvbmZpcm0nKSxcbiAgICAgICAgY2FuY2VsVGV4dDogdGhpcy50cmFuc2xhdGUuZ2V0KCdjYW5jZWwnKSxcbiAgICAgIH0pLFxuICAgICkucGlwZShcbiAgICAgIG1hcCgoKSA9PiB0cnVlKSxcbiAgICAgIHNraXBFcnJvcihlcnJvckZhbGxiYWNrKSxcbiAgICApO1xuICB9XG5cbiAgYXN5bmMgYmFjayhlc2NhcGU/OiBib29sZWFuKSB7XG4gICAgaWYgKGVzY2FwZSkge1xuICAgICAgYXdhaXQgdGhpcy5lc2NhcGUoKTtcbiAgICB9XG5cbiAgICB0aGlzLmxvY2F0aW9uLmJhY2soKTtcbiAgfVxuXG4gIGFzeW5jIGZvcndhcmQoZXNjYXBlPzogYm9vbGVhbikge1xuICAgIGlmIChlc2NhcGUpIHtcbiAgICAgIGF3YWl0IHRoaXMuZXNjYXBlKCk7XG4gICAgfVxuXG4gICAgdGhpcy5sb2NhdGlvbi5mb3J3YXJkKCk7XG4gIH1cblxuICBzZWFyY2hQYXJhbXNUb1F1ZXJ5UGFyYW1zKHNlYXJjaFBhcmFtczogVVJMU2VhcmNoUGFyYW1zKSB7XG4gICAgY29uc3QgcXVlcnlQYXJhbXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IHN0cmluZ1tdPiA9IHt9O1xuICAgIHNlYXJjaFBhcmFtcy5mb3JFYWNoKChfdmFsdWUsIGtleSkgPT4ge1xuICAgICAgY29uc3QgdmFsdWVzID0gc2VhcmNoUGFyYW1zLmdldEFsbChrZXkpO1xuICAgICAgcXVlcnlQYXJhbXNba2V5XSA9IHZhbHVlcy5sZW5ndGggPD0gMSA/IHZhbHVlc1swXSA6IHZhbHVlcztcbiAgICB9KTtcbiAgICByZXR1cm4gcXVlcnlQYXJhbXM7XG4gIH1cblxuICBhc3luYyBlc2NhcGUoKSB7XG4gICAgY29uc3QgdXJsID0gbmV3IFVSTCh0aGlzLmxvY2F0aW9uLnBhdGgoKSwgbG9jYXRpb24uaHJlZik7XG5cbiAgICBhd2FpdCB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbdXJsLnBhdGhuYW1lXSwge1xuICAgICAgcmVwbGFjZVVybDogdHJ1ZSxcbiAgICAgIGZyYWdtZW50OiBDVVJSX0VTQ0FQRV9ERUFDVElWQVRFX0dVQVJELFxuICAgICAgcXVlcnlQYXJhbXM6IHRoaXMuc2VhcmNoUGFyYW1zVG9RdWVyeVBhcmFtcyh1cmwuc2VhcmNoUGFyYW1zKSxcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -157,10 +157,10 @@ export class K8sUtilService {
|
|
|
157
157
|
static { this.ɵfac = function K8sUtilService_Factory(t) { return new (t || K8sUtilService)(i0.ɵɵinject(i0.Injector)); }; }
|
|
158
158
|
static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: K8sUtilService, factory: K8sUtilService.ɵfac, providedIn: 'root' }); }
|
|
159
159
|
}
|
|
160
|
-
(
|
|
160
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(K8sUtilService, [{
|
|
161
161
|
type: Injectable,
|
|
162
162
|
args: [{
|
|
163
163
|
providedIn: 'root',
|
|
164
164
|
}]
|
|
165
|
-
}],
|
|
166
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiazhzLXV0aWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9jb3JlL3NlcnZpY2VzL2s4cy11dGlsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBRUgsT0FBTyxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDM0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNoQyxPQUFPLEVBRUwsSUFBSSxFQUNKLFVBQVUsRUFDVixFQUFFLEVBQ0YsVUFBVSxFQUNWLFNBQVMsRUFDVCxHQUFHLEdBQ0osTUFBTSxNQUFNLENBQUM7QUFFZCxPQUFPLEVBQUUsYUFBYSxFQUF3QixNQUFNLHNCQUFzQixDQUFDO0FBQzNFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVuRSxPQUFPLEVBQ0wsWUFBWSxFQUNaLFNBQVMsRUFDVCxPQUFPLEVBQ1AsUUFBUSxHQUNULE1BQU0scUJBQXFCLENBQUM7O0FBRTdCLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxVQUFVLENBQUM7QUFDbkMsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLFdBQVcsQ0FBQztBQUNyQyxNQUFNLENBQUMsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDO0FBQzNCLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLG1CQUFtQixDQUFDO0FBQ3RELE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxhQUFhLENBQUM7QUFDekMsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQztBQUMvQixNQUFNLENBQUMsTUFBTSxZQUFZ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QyxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUNyRSxDQUNGLENBQUM7SUFDSixDQUFDOytFQXRRVSxjQUFjO3VFQUFkLGNBQWMsV0FBZCxjQUFjLG1CQUZiLE1BQU07O3VGQUVQLGNBQWM7Y0FIMUIsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqIEBtb2R1bGUgdXRpbHNcbiAqL1xuXG5pbXBvcnQgeyBEaWFsb2dTZXJ2aWNlLCBNZXNzYWdlU2VydmljZSB9IGZyb20gJ0BhbGF1ZGEvdWknO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGdldCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQge1xuICBPYnNlcnZhYmxlLFxuICBmcm9tLFxuICB0aHJvd0Vycm9yLFxuICBvZixcbiAgY2F0Y2hFcnJvcixcbiAgc3dpdGNoTWFwLFxuICB0YXAsXG59IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBLOHNBcGlTZXJ2aWNlLCBSZXNvdXJjZURlbGV0ZVBhcmFtcyB9IGZyb20gJy4uLy4uL2FwaS9wdWJsaWMtYXBpJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi90cmFuc2xhdGUvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBTUEFDRSwgVE9LRU5fQkFTRV9ET01BSU4gfSBmcm9tICcuLi9jb25zdGFudHMvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBLdWJlcm5ldGVzUmVzb3VyY2UsIFN0YXR1cyB9IGZyb20gJy4uL3R5cGVzL3B1YmxpYy1hcGknO1xuaW1wb3J0IHtcbiAgY2F0Y2hQcm9taXNlLFxuICBza2lwRXJyb3IsXG4gIGlmRXhpc3QsXG4gIHdyYXBUZXh0LFxufSBmcm9tICcuLi91dGlscy9wdWJsaWMtYXBpJztcblxuZXhwb3J0IGNvbnN0IE1FVEFEQVRBID0gJ21ldGFkYXRhJztcbmV4cG9ydCBjb25zdCBOQU1FU1BBQ0UgPSAnbmFtZXNwYWNlJztcbmV4cG9ydCBjb25zdCBOQU1FID0gJ25hbWUnO1xuZXhwb3J0IGNvbnN0IENSRUFUSU9OX1RJTUVTVEFNUCA9ICdjcmVhdGlvblRpbWVzdGFtcCc7XG5leHBvcnQgY29uc3QgQU5OT1RBVElPTlMgPSAnYW5ub3RhdGlvbnMnO1xuZXhwb3J0IGNvbnN0IExBQkVMUyA9ICdsYWJlbHMnO1xuZXhwb3J0IGNvbnN0IERJU1BMQVlfTkFNRSA9ICdkaXNwbGF5LW5hbWUnO1xuZXhwb3J0IGNvbnN0IERFU0NSSVBUSU9OID0gJ2Rlc2NyaXB0aW9uJztcbmV4cG9ydCBjb25zdCBDUkVBVE9SID0gJ2NyZWF0b3InO1xuZXhwb3J0IGNvbnN0IFVQREFURURfX0FUID0gJ3VwZGF0ZWQtYXQnO1xuZXhwb3J0IGNvbnN0IFBST0pFQ1QgPSAncHJvamVjdCc7XG5leHBvcnQgY29uc3QgQ0xVU1RFUiA9ICdjbHVzdGVyJztcblxuZXhwb3J0IGludGVyZmFjZSBCYXNlTm9ybWFsaXplVHlwZVBhcmFtcyB7XG4gIHR5cGU6IHN0cmluZztcbiAgYmFzZURvbWFpbjogc3RyaW5nO1xuICBwcmVmaXg/OiBzdHJpbmc7XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBLOHNVdGlsU2VydmljZTxSIGV4dGVuZHMgc3RyaW5nID0gc3RyaW5nPiB7XG4gIHByb3RlY3RlZCBkaWFsb2c6IERpYWxvZ1NlcnZpY2U7XG4gIHByb3RlY3RlZCBtZXNzYWdlOiBNZXNzYWdlU2VydmljZTtcbiAgcHJvdGVjdGVkIGs4c0FwaTogSzhzQXBpU2VydmljZTxSPjtcbiAgcHJvdGVjdGVkIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZTtcbiAgcHJvdGVjdGVkIGJhc2VEb21haW46IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgdGhpcy5kaWFsb2cgPSBpbmplY3Rvci5nZXQoRGlhbG9nU2VydmljZSBhcyBUeXBlPERpYWxvZ1NlcnZpY2U+KTtcbiAgICB0aGlzLm1lc3NhZ2UgPSBpbmplY3Rvci5nZXQoTWVzc2FnZVNlcnZpY2UgYXMgVHlwZTxNZXNzYWdlU2VydmljZT4pO1xuICAgIHRoaXMuazhzQXBpID0gaW5qZWN0b3IuZ2V0KEs4c0FwaVNlcnZpY2UgYXMgVHlwZTxLOHNBcGlTZXJ2aWNlPik7XG4gICAgdGhpcy50cmFuc2xhdGUgPSBpbmplY3Rvci5nZXQoVHJhbnNsYXRlU2VydmljZSBhcyBUeXBlPFRyYW5zbGF0ZVNlcnZpY2U+KTtcbiAgICB0aGlzLmJhc2VEb21haW4gPSBpbmplY3Rvci5nZXQoVE9LRU5fQkFTRV9ET01BSU4pO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB0eXBlIC0g5a+55bqU6LWE5rqQ55qE57+76K+RIGtleVxuICAgKi9cbiAgZGVsZXRlUmVzb3VyY2U8VCBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZT4oXG4gICAgcGFyYW1zOiBSZXNvdXJjZURlbGV0ZVBhcmFtczxSLCBUPixcbiAgICB0eXBlT3JPcHRpb25zOiBzdHJpbmcgfCB7IHR5cGU6IHN0cmluZzsgY29udGVudDogc3RyaW5nIH0sXG4gICkge1xuICAgIGNvbnN0IHsgdHlwZSwgY29udGVudCB9ID1cbiAgICAgIHR5cGVvZiB0eXBlT3JPcHRpb25zID09PSAnc3RyaW5nJ1xuICAgICAgICA/IHsgdHlwZTogdHlwZU9yT3B0aW9ucywgY29udGVudDogbnVsbCB9XG4gICAgICAgIDogdHlwZU9yT3B0aW9ucztcbiAgICByZXR1cm4gY2F0Y2hQcm9taXNlKFxuICAgICAgdGhpcy5kaWFsb2cuY29uZmlybSh7XG4gICAgICAgIHRpdGxlOiB0aGlzLnRyYW5zbGF0ZS5nZXQoJ2NvbmZpcm1fZGVsZXRlX3Jlc291cmNlJywge1xuICAgICAgICAgIHR5cGU6IHRoaXMudHJhbnNsYXRlLmdldCh0eXBlKSxcbiAgICAgICAgICBuYW1lOiAnbmFtZScgaW4gcGFyYW1zID8gcGFyYW1zLm5hbWUgOiB0aGlzLmdldE5hbWUocGFyYW1zLnJlc291cmNlKSxcbiAgICAgICAgfSksXG4gICAgICAgIGNvbnRlbnQsXG4gICAgICAgIGNvbmZpcm1UZXh0OiB0aGlzLnRyYW5zbGF0ZS5nZXQoJ2RlbGV0ZScpLFxuICAgICAgICBjYW5jZWxUZXh0OiB0aGlzLnRyYW5zbGF0ZS5nZXQoJ2NhbmNlbCcpLFxuICAgICAgICBiZWZvcmVDb25maXJtOiAoKSA9PlxuICAgICAgICAgICgnY2x1c3RlcicgaW4gcGFyYW1zXG4gICAgICAgICAgICA/IHRoaXMuazhzQXBpLmRlbGV0ZVJlc291cmNlKHBhcmFtcylcbiAgICAgICAgICAgIDogdGhpcy5rOHNBcGkuZGVsZXRlR2xvYmFsUmVzb3VyY2UocGFyYW1zKVxuICAgICAgICAgICkucGlwZShcbiAgICAgICAgICAgIHRhcCgoKSA9PlxuICAgICAgICAgICAgICB0aGlzLm1lc3NhZ2Uuc3VjY2Vzcyh0aGlzLnRyYW5zbGF0ZS5nZXQoJ2RlbGV0ZV9zdWNjZXNzJykpLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHNraXBFcnJvcigpLFxuICAgICAgICAgICksXG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgdXBkYXRlUmVzb3VyY2U8VCBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZT4oe1xuICAgIHR5cGUsXG4gICAgY2x1c3RlcixcbiAgICByZXNvdXJjZSxcbiAgICBzaWxlbnQsXG4gIH06IHtcbiAgICB0eXBlOiBSO1xuICAgIGNsdXN0ZXI6IHN0cmluZztcbiAgICByZXNvdXJjZTogVDtcbiAgICBzaWxlbnQ/OiBib29sZWFuO1xuICB9KTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgY29uc3QgcHV0ID0gKHJlczogVCkgPT5cbiAgICAgIHRoaXMuazhzQXBpLnB1dFJlc291cmNlKHtcbiAgICAgICAgdHlwZSxcbiAgICAgICAgY2x1c3RlcixcbiAgICAgICAgcmVzb3VyY2U6IHJlcyxcbiAgICAgICAgbm90aWZ5T25FcnJvcjogIXNpbGVudCxcbiAgICAgIH0pO1xuICAgIGNvbnN0IGdldCA9ICgpID0+XG4gICAgICB0aGlzLms4c0FwaS5nZXRSZXNvdXJjZTxUPih7XG4gICAgICAgIHR5cGUsXG4gICAgICAgIGNsdXN0ZXIsXG4gICAgICAgIG5hbWVzcGFjZTogcmVzb3VyY2UubWV0YWRhdGEubmFtZXNwYWNlLFxuICAgICAgICBuYW1lOiByZXNvdXJjZS5tZXRhZGF0YS5uYW1lLFxuICAgICAgfSk7XG5cbiAgICByZXR1cm4gdGhpcy5yZXRyeVVwZGF0ZShwdXQsIGdldCwgcmVzb3VyY2UsIHNpbGVudCk7XG4gIH1cblxuICB1cGRhdGVHbG9iYWxSZXNvdXJjZTxUIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlPih7XG4gICAgdHlwZSxcbiAgICBuYW1lc3BhY2VkLFxuICAgIHJlc291cmNlLFxuICAgIG5hbWVzcGFjZSxcbiAgICBzaWxlbnQsXG4gIH06IHtcbiAgICB0eXBlOiBSO1xuICAgIG5hbWVzcGFjZWQ/OiBib29sZWFuO1xuICAgIHJlc291cmNlOiBUO1xuICAgIG5hbWVzcGFjZT86IHN0cmluZztcbiAgICBzaWxlbnQ/OiBib29sZWFuO1xuICB9KTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgY29uc3QgcHV0ID0gKHJlczogVCkgPT5cbiAgICAgIHRoaXMuazhzQXBpLnB1dEdsb2JhbFJlc291cmNlKHtcbiAgICAgICAgdHlwZSxcbiAgICAgICAgbmFtZXNwYWNlZCxcbiAgICAgICAgcmVzb3VyY2U6IHJlcyxcbiAgICAgICAgbmFtZXNwYWNlLFxuICAgICAgICBub3RpZnlPbkVycm9yOiAhc2lsZW50LFxuICAgICAgfSk7XG4gICAgY29uc3QgZ2V0ID0gKCkgPT5cbiAgICAgIHRoaXMuazhzQXBpLmdldEdsb2JhbFJlc291cmNlPFQ+KHtcbiAgICAgICAgdHlwZSxcbiAgICAgICAgbmFtZXNwYWNlZCxcbiAgICAgICAgbmFtZTogcmVzb3VyY2UubWV0YWRhdGEubmFtZSxcbiAgICAgICAgbmFtZXNwYWNlLFxuICAgICAgfSk7XG5cbiAgICByZXR1cm4gdGhpcy5yZXRyeVVwZGF0ZShwdXQsIGdldCwgcmVzb3VyY2UsIHNpbGVudCk7XG4gIH1cblxuICAvLyByZWZlcmVuY2U6IGh0dHA6Ly9jb25mbHVlbmNlLmFsYXVkYXRlY2guY29tL3BhZ2VzL3ZpZXdwYWdlLmFjdGlvbj9wYWdlSWQ9MjcxNjY5NDZcbiAgbm9ybWFsaXplVHlwZSh0eXBlOiBzdHJpbmcsIHByZWZpeD86IHN0cmluZyk6IHN0cmluZztcbiAgbm9ybWFsaXplVHlwZShwYXJhbXM6IEJhc2VOb3JtYWxpemVUeXBlUGFyYW1zKTogc3RyaW5nO1xuICBub3JtYWxpemVUeXBlKFxuICAgIHR5cGVPclBhcmFtczogc3RyaW5nIHwgQmFzZU5vcm1hbGl6ZVR5cGVQYXJhbXMsXG4gICAgcHJlZml4Pzogc3RyaW5nLFxuICApOiBzdHJpbmcge1xuICAgIGlmICh0eXBlb2YgdHlwZU9yUGFyYW1zID09PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuIGAke2lmRXhpc3QocHJlZml4LCBwcmVmaXggKyAnLicpfSR7XG4gICAgICAgIHRoaXMuYmFzZURvbWFpblxuICAgICAgfS8ke3R5cGVPclBhcmFtc31gO1xuICAgIH1cblxuICAgIHJldHVybiBgJHtpZkV4aXN0KHR5cGVPclBhcmFtcy5wcmVmaXgsIHR5cGVPclBhcmFtcy5wcmVmaXggKyAnLicpfSR7XG4gICAgICB0eXBlT3JQYXJhbXMuYmFzZURvbWFpblxuICAgIH0vJHt0eXBlT3JQYXJhbXMudHlwZX1gO1xuICB9XG5cbiAgZ2V0QW5ub3RhdGlvbjxUIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlPihcbiAgICByZXNvdXJjZTogVCxcbiAgICB0eXBlOiBzdHJpbmcsXG4gICAgcHJlZml4Pzogc3RyaW5nLFxuICApOiBzdHJpbmc7XG5cbiAgZ2V0QW5ub3RhdGlvbjxUIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlPihcbiAgICByZXNvdXJjZTogVCxcbiAgICBwYXJhbXM6IEJhc2VOb3JtYWxpemVUeXBlUGFyYW1zLFxuICApOiBzdHJpbmc7XG5cbiAgZ2V0QW5ub3RhdGlvbjxUIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlPihcbiAgICByZXNvdXJjZTogVCxcbiAgICBwYXJhbXNPclR5cGU6IHN0cmluZyB8IEJhc2VOb3JtYWxpemVUeXBlUGFyYW1zLFxuICAgIHByZWZpeD86IHN0cmluZyxcbiAgKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZ2V0KHJlc291cmNlLCBbXG4gICAgICBNRVRBREFUQSxcbiAgICAgIEFOTk9UQVRJT05TLFxuICAgICAgdGhpcy5ub3JtYWxpemVUeXBlKHBhcmFtc09yVHlwZSBhcyBzdHJpbmcsIHByZWZpeCksXG4gICAgXSk7XG4gIH1cblxuICBnZXROYW1lc3BhY2U8VCBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZT4ocmVzb3VyY2U6IFQpIHtcbiAgICByZXR1cm4gZ2V0KHJlc291cmNlLCBbTUVUQURBVEEsIE5BTUVTUEFDRV0pO1xuICB9XG5cbiAgZ2V0TmFtZTxUIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlPihyZXNvdXJjZTogVCkge1xuICAgIHJldHVybiBnZXQocmVzb3VyY2UsIFtNRVRBREFUQSwgTkFNRV0pO1xuICB9XG5cbiAgZ2V0Q3JlYXRpb25UaW1lc3RhbXA8VCBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZT4ocmVzb3VyY2U6IFQpIHtcbiAgICByZXR1cm4gZ2V0KHJlc291cmNlLCBbTUVUQURBVEEsIENSRUFUSU9OX1RJTUVTVEFNUF0pO1xuICB9XG5cbiAgZ2V0RGlzcGxheU5hbWU8VCBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZT4ocmVzb3VyY2U6IFQsIHByZWZpeD86IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmdldEFubm90YXRpb24ocmVzb3VyY2UsIERJU1BMQVlfTkFNRSwgcHJlZml4KTtcbiAgfVxuXG4gIGdldFVuaW9uRGlzcGxheU5hbWU8VCBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZT4oXG4gICAgcmVzb3VyY2U6IFQsXG4gICAgbmFtZVByZWZpeD86IHN0cmluZyB8IGZhbHNlLFxuICAgIGRpc3BsYXlOYW1lUHJlZml4Pzogc3RyaW5nLFxuICApIHtcbiAgICBpZiAoIXJlc291cmNlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IG5hbWUgPVxuICAgICAgKG5hbWVQcmVmaXggIT09IGZhbHNlICYmXG4gICAgICAgIHRoaXMuZ2V0QW5ub3RhdGlvbihyZXNvdXJjZSwgTkFNRSwgbmFtZVByZWZpeCkpIHx8XG4gICAgICB0aGlzLmdldE5hbWUocmVzb3VyY2UpO1xuICAgIGNvbnN0IGRpc3BsYXlOYW1lID0gdGhpcy5nZXREaXNwbGF5TmFtZShyZXNvdXJjZSwgZGlzcGxheU5hbWVQcmVmaXgpO1xuICAgIHJldHVybiBuYW1lICsgaWZFeGlzdChkaXNwbGF5TmFtZSwgU1BBQ0UgKyB3cmFwVGV4dChkaXNwbGF5TmFtZSkpO1xuICB9XG5cbiAgZ2V0RGVzY3JpcHRpb248VCBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZT4ocmVzb3VyY2U6IFQsIHByZWZpeD86IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmdldEFubm90YXRpb24ocmVzb3VyY2UsIERFU0NSSVBUSU9OLCBwcmVmaXgpO1xuICB9XG5cbiAgZ2V0Q3JlYXRvcjxUIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlPihyZXNvdXJjZTogVCwgcHJlZml4Pzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QW5ub3RhdGlvbihyZXNvdXJjZSwgQ1JFQVRPUiwgcHJlZml4KTtcbiAgfVxuXG4gIGdldFVwZGF0ZWRBdDxUIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlPihyZXNvdXJjZTogVCwgcHJlZml4Pzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QW5ub3RhdGlvbihyZXNvdXJjZSwgVVBEQVRFRF9fQVQsIHByZWZpeCk7XG4gIH1cblxuICBnZXRMYWJlbDxUIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlPihcbiAgICByZXNvdXJjZTogVCxcbiAgICB0eXBlOiBzdHJpbmcsXG4gICAgcHJlZml4Pzogc3RyaW5nLFxuICApOiBzdHJpbmc7XG5cbiAgZ2V0TGFiZWw8VCBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZT4oXG4gICAgcmVzb3VyY2U6IFQsXG4gICAgcGFyYW1zOiBCYXNlTm9ybWFsaXplVHlwZVBhcmFtcyxcbiAgKTogc3RyaW5nO1xuXG4gIGdldExhYmVsPFQgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2U+KFxuICAgIHJlc291cmNlOiBULFxuICAgIHBhcmFtc09yVHlwZTogc3RyaW5nIHwgQmFzZU5vcm1hbGl6ZVR5cGVQYXJhbXMsXG4gICAgcHJlZml4Pzogc3RyaW5nLFxuICApOiBzdHJpbmcge1xuICAgIHJldHVybiBnZXQocmVzb3VyY2UsIFtcbiAgICAgIE1FVEFEQVRBLFxuICAgICAgTEFCRUxTLFxuICAgICAgdGhpcy5ub3JtYWxpemVUeXBlKHBhcmFtc09yVHlwZSBhcyBzdHJpbmcsIHByZWZpeCksXG4gICAgXSk7XG4gIH1cblxuICBnZXRQcm9qZWN0PFQgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2U+KHJlc291cmNlOiBUKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0TGFiZWwocmVzb3VyY2UsIFBST0pFQ1QpO1xuICB9XG5cbiAgcHJpdmF0ZSByZXRyeVVwZGF0ZTxUIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlPihcbiAgICBwdXQ6IChyZXNvdXJjZTogVCkgPT4gT2JzZXJ2YWJsZTxUPixcbiAgICBnZXQ6ICgpID0+IE9ic2VydmFibGU8VD4sXG4gICAgcmVzb3VyY2U6IFQsXG4gICAgc2lsZW50PzogYm9vbGVhbixcbiAgKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgY29uc3Qgd2FpdFVzZXJDb25maXJtUmV0cnkgPSAoZXJyOiBTdGF0dXMpID0+XG4gICAgICAoc2lsZW50XG4gICAgICAgID8gb2YobnVsbClcbiAgICAgICAgOiBmcm9tKFxuICAgICAgICAgICAgdGhpcy5kaWFsb2cuY29uZmlybSh7XG4gICAgICAgICAgICAgIHRpdGxlOiB0aGlzLnRyYW5zbGF0ZS5nZXQoJ3Jlc291cmNlX3ZlcnNpb25fY29uZmxpY3QnKSxcbiAgICAgICAgICAgICAgY29udGVudDogdGhpcy50cmFuc2xhdGUuZ2V0KCdjb25maXJtX3JldHJ5X3dpdGhfbGF0ZXN0X3ZlcnNpb24nKSxcbiAgICAgICAgICAgICAgY29uZmlybVRleHQ6IHRoaXMudHJhbnNsYXRlLmdldCgnY29uZmlybScpLFxuICAgICAgICAgICAgICBjYW5jZWxUZXh0OiB0aGlzLnRyYW5zbGF0ZS5nZXQoJ2NhbmNlbCcpLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgKVxuICAgICAgKS5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT5cbiAgICAgICAgICBnZXQoKS5waXBlKFxuICAgICAgICAgICAgc3dpdGNoTWFwKG5ld1Jlc291cmNlID0+XG4gICAgICAgICAgICAgIHB1dCh7XG4gICAgICAgICAgICAgICAgLi4ucmVzb3VyY2UsXG4gICAgICAgICAgICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgICAgICAgICAgIC4uLnJlc291cmNlLm1ldGFkYXRhLFxuICAgICAgICAgICAgICAgICAgcmVzb3VyY2VWZXJzaW9uOiBuZXdSZXNvdXJjZS5tZXRhZGF0YS5yZXNvdXJjZVZlcnNpb24sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgY2F0Y2hFcnJvcigoKSA9PiB0aGlzLnJldHJ5VXBkYXRlKHB1dCwgZ2V0LCByZXNvdXJjZSwgc2lsZW50KSksXG4gICAgICAgICAgKSxcbiAgICAgICAgKSxcbiAgICAgICAgY2F0Y2hFcnJvcigoKSA9PiB0aHJvd0Vycm9yKCgpID0+IGVycikpLFxuICAgICAgKTtcblxuICAgIHJldHVybiBwdXQocmVzb3VyY2UpLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKChlcnI6IFN0YXR1cykgPT5cbiAgICAgICAgZXJyLmNvZGUgPT09IDQwOSA/IHdhaXRVc2VyQ29uZmlybVJldHJ5KGVycikgOiB0aHJvd0Vycm9yKCgpID0+IGVyciksXG4gICAgICApLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
165
|
+
}], () => [{ type: i0.Injector }], null); })();
|
|
166
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiazhzLXV0aWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9jb3JlL3NlcnZpY2VzL2s4cy11dGlsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBRUgsT0FBTyxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDM0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNoQyxPQUFPLEVBRUwsSUFBSSxFQUNKLFVBQVUsRUFDVixFQUFFLEVBQ0YsVUFBVSxFQUNWLFNBQVMsRUFDVCxHQUFHLEdBQ0osTUFBTSxNQUFNLENBQUM7QUFFZCxPQUFPLEVBQUUsYUFBYSxFQUF3QixNQUFNLHNCQUFzQixDQUFDO0FBQzNFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVuRSxPQUFPLEVBQ0wsWUFBWSxFQUNaLFNBQVMsRUFDVCxPQUFPLEVBQ1AsUUFBUSxHQUNULE1BQU0scUJBQXFCLENBQUM7O0FBRTdCLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxVQUFVLENBQUM7QUFDbkMsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLFdBQVcsQ0FBQztBQUNyQyxNQUFNLENBQUMsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDO0FBQzNCLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLG1CQUFtQixDQUFDO0FBQ3RELE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxhQUFhLENBQUM7QUFDekMsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQztBQUMvQixNQUFNLENBQUMsTUFBTSxZQUFZ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QixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQ3JFLENBQ0YsQ0FBQztJQUNKLENBQUM7K0VBdFFVLGNBQWM7dUVBQWQsY0FBYyxXQUFkLGNBQWMsbUJBRmIsTUFBTTs7aUZBRVAsY0FBYztjQUgxQixVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICogQG1vZHVsZSB1dGlsc1xuICovXG5cbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UsIE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAnQGFsYXVkYS91aSc7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZ2V0IH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7XG4gIE9ic2VydmFibGUsXG4gIGZyb20sXG4gIHRocm93RXJyb3IsXG4gIG9mLFxuICBjYXRjaEVycm9yLFxuICBzd2l0Y2hNYXAsXG4gIHRhcCxcbn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEs4c0FwaVNlcnZpY2UsIFJlc291cmNlRGVsZXRlUGFyYW1zIH0gZnJvbSAnLi4vLi4vYXBpL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uLy4uL3RyYW5zbGF0ZS9wdWJsaWMtYXBpJztcbmltcG9ydCB7IFNQQUNFLCBUT0tFTl9CQVNFX0RPTUFJTiB9IGZyb20gJy4uL2NvbnN0YW50cy9wdWJsaWMtYXBpJztcbmltcG9ydCB7IEt1YmVybmV0ZXNSZXNvdXJjZSwgU3RhdHVzIH0gZnJvbSAnLi4vdHlwZXMvcHVibGljLWFwaSc7XG5pbXBvcnQge1xuICBjYXRjaFByb21pc2UsXG4gIHNraXBFcnJvcixcbiAgaWZFeGlzdCxcbiAgd3JhcFRleHQsXG59IGZyb20gJy4uL3V0aWxzL3B1YmxpYy1hcGknO1xuXG5leHBvcnQgY29uc3QgTUVUQURBVEEgPSAnbWV0YWRhdGEnO1xuZXhwb3J0IGNvbnN0IE5BTUVTUEFDRSA9ICduYW1lc3BhY2UnO1xuZXhwb3J0IGNvbnN0IE5BTUUgPSAnbmFtZSc7XG5leHBvcnQgY29uc3QgQ1JFQVRJT05fVElNRVNUQU1QID0gJ2NyZWF0aW9uVGltZXN0YW1wJztcbmV4cG9ydCBjb25zdCBBTk5PVEFUSU9OUyA9ICdhbm5vdGF0aW9ucyc7XG5leHBvcnQgY29uc3QgTEFCRUxTID0gJ2xhYmVscyc7XG5leHBvcnQgY29uc3QgRElTUExBWV9OQU1FID0gJ2Rpc3BsYXktbmFtZSc7XG5leHBvcnQgY29uc3QgREVTQ1JJUFRJT04gPSAnZGVzY3JpcHRpb24nO1xuZXhwb3J0IGNvbnN0IENSRUFUT1IgPSAnY3JlYXRvcic7XG5leHBvcnQgY29uc3QgVVBEQVRFRF9fQVQgPSAndXBkYXRlZC1hdCc7XG5leHBvcnQgY29uc3QgUFJPSkVDVCA9ICdwcm9qZWN0JztcbmV4cG9ydCBjb25zdCBDTFVTVEVSID0gJ2NsdXN0ZXInO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJhc2VOb3JtYWxpemVUeXBlUGFyYW1zIHtcbiAgdHlwZTogc3RyaW5nO1xuICBiYXNlRG9tYWluOiBzdHJpbmc7XG4gIHByZWZpeD86IHN0cmluZztcbn1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEs4c1V0aWxTZXJ2aWNlPFIgZXh0ZW5kcyBzdHJpbmcgPSBzdHJpbmc+IHtcbiAgcHJvdGVjdGVkIGRpYWxvZzogRGlhbG9nU2VydmljZTtcbiAgcHJvdGVjdGVkIG1lc3NhZ2U6IE1lc3NhZ2VTZXJ2aWNlO1xuICBwcm90ZWN0ZWQgazhzQXBpOiBLOHNBcGlTZXJ2aWNlPFI+O1xuICBwcm90ZWN0ZWQgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlO1xuICBwcm90ZWN0ZWQgYmFzZURvbWFpbjogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICB0aGlzLmRpYWxvZyA9IGluamVjdG9yLmdldChEaWFsb2dTZXJ2aWNlIGFzIFR5cGU8RGlhbG9nU2VydmljZT4pO1xuICAgIHRoaXMubWVzc2FnZSA9IGluamVjdG9yLmdldChNZXNzYWdlU2VydmljZSBhcyBUeXBlPE1lc3NhZ2VTZXJ2aWNlPik7XG4gICAgdGhpcy5rOHNBcGkgPSBpbmplY3Rvci5nZXQoSzhzQXBpU2VydmljZSBhcyBUeXBlPEs4c0FwaVNlcnZpY2U+KTtcbiAgICB0aGlzLnRyYW5zbGF0ZSA9IGluamVjdG9yLmdldChUcmFuc2xhdGVTZXJ2aWNlIGFzIFR5cGU8VHJhbnNsYXRlU2VydmljZT4pO1xuICAgIHRoaXMuYmFzZURvbWFpbiA9IGluamVjdG9yLmdldChUT0tFTl9CQVNFX0RPTUFJTik7XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHR5cGUgLSDlr7nlupTotYTmupDnmoTnv7vor5Ega2V5XG4gICAqL1xuICBkZWxldGVSZXNvdXJjZTxUIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlPihcbiAgICBwYXJhbXM6IFJlc291cmNlRGVsZXRlUGFyYW1zPFIsIFQ+LFxuICAgIHR5cGVPck9wdGlvbnM6IHN0cmluZyB8IHsgdHlwZTogc3RyaW5nOyBjb250ZW50OiBzdHJpbmcgfSxcbiAgKSB7XG4gICAgY29uc3QgeyB0eXBlLCBjb250ZW50IH0gPVxuICAgICAgdHlwZW9mIHR5cGVPck9wdGlvbnMgPT09ICdzdHJpbmcnXG4gICAgICAgID8geyB0eXBlOiB0eXBlT3JPcHRpb25zLCBjb250ZW50OiBudWxsIH1cbiAgICAgICAgOiB0eXBlT3JPcHRpb25zO1xuICAgIHJldHVybiBjYXRjaFByb21pc2UoXG4gICAgICB0aGlzLmRpYWxvZy5jb25maXJtKHtcbiAgICAgICAgdGl0bGU6IHRoaXMudHJhbnNsYXRlLmdldCgnY29uZmlybV9kZWxldGVfcmVzb3VyY2UnLCB7XG4gICAgICAgICAgdHlwZTogdGhpcy50cmFuc2xhdGUuZ2V0KHR5cGUpLFxuICAgICAgICAgIG5hbWU6ICduYW1lJyBpbiBwYXJhbXMgPyBwYXJhbXMubmFtZSA6IHRoaXMuZ2V0TmFtZShwYXJhbXMucmVzb3VyY2UpLFxuICAgICAgICB9KSxcbiAgICAgICAgY29udGVudCxcbiAgICAgICAgY29uZmlybVRleHQ6IHRoaXMudHJhbnNsYXRlLmdldCgnZGVsZXRlJyksXG4gICAgICAgIGNhbmNlbFRleHQ6IHRoaXMudHJhbnNsYXRlLmdldCgnY2FuY2VsJyksXG4gICAgICAgIGJlZm9yZUNvbmZpcm06ICgpID0+XG4gICAgICAgICAgKCdjbHVzdGVyJyBpbiBwYXJhbXNcbiAgICAgICAgICAgID8gdGhpcy5rOHNBcGkuZGVsZXRlUmVzb3VyY2UocGFyYW1zKVxuICAgICAgICAgICAgOiB0aGlzLms4c0FwaS5kZWxldGVHbG9iYWxSZXNvdXJjZShwYXJhbXMpXG4gICAgICAgICAgKS5waXBlKFxuICAgICAgICAgICAgdGFwKCgpID0+XG4gICAgICAgICAgICAgIHRoaXMubWVzc2FnZS5zdWNjZXNzKHRoaXMudHJhbnNsYXRlLmdldCgnZGVsZXRlX3N1Y2Nlc3MnKSksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgc2tpcEVycm9yKCksXG4gICAgICAgICAgKSxcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICB1cGRhdGVSZXNvdXJjZTxUIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlPih7XG4gICAgdHlwZSxcbiAgICBjbHVzdGVyLFxuICAgIHJlc291cmNlLFxuICAgIHNpbGVudCxcbiAgfToge1xuICAgIHR5cGU6IFI7XG4gICAgY2x1c3Rlcjogc3RyaW5nO1xuICAgIHJlc291cmNlOiBUO1xuICAgIHNpbGVudD86IGJvb2xlYW47XG4gIH0pOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICBjb25zdCBwdXQgPSAocmVzOiBUKSA9PlxuICAgICAgdGhpcy5rOHNBcGkucHV0UmVzb3VyY2Uoe1xuICAgICAgICB0eXBlLFxuICAgICAgICBjbHVzdGVyLFxuICAgICAgICByZXNvdXJjZTogcmVzLFxuICAgICAgICBub3RpZnlPbkVycm9yOiAhc2lsZW50LFxuICAgICAgfSk7XG4gICAgY29uc3QgZ2V0ID0gKCkgPT5cbiAgICAgIHRoaXMuazhzQXBpLmdldFJlc291cmNlPFQ+KHtcbiAgICAgICAgdHlwZSxcbiAgICAgICAgY2x1c3RlcixcbiAgICAgICAgbmFtZXNwYWNlOiByZXNvdXJjZS5tZXRhZGF0YS5uYW1lc3BhY2UsXG4gICAgICAgIG5hbWU6IHJlc291cmNlLm1ldGFkYXRhLm5hbWUsXG4gICAgICB9KTtcblxuICAgIHJldHVybiB0aGlzLnJldHJ5VXBkYXRlKHB1dCwgZ2V0LCByZXNvdXJjZSwgc2lsZW50KTtcbiAgfVxuXG4gIHVwZGF0ZUdsb2JhbFJlc291cmNlPFQgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2U+KHtcbiAgICB0eXBlLFxuICAgIG5hbWVzcGFjZWQsXG4gICAgcmVzb3VyY2UsXG4gICAgbmFtZXNwYWNlLFxuICAgIHNpbGVudCxcbiAgfToge1xuICAgIHR5cGU6IFI7XG4gICAgbmFtZXNwYWNlZD86IGJvb2xlYW47XG4gICAgcmVzb3VyY2U6IFQ7XG4gICAgbmFtZXNwYWNlPzogc3RyaW5nO1xuICAgIHNpbGVudD86IGJvb2xlYW47XG4gIH0pOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICBjb25zdCBwdXQgPSAocmVzOiBUKSA9PlxuICAgICAgdGhpcy5rOHNBcGkucHV0R2xvYmFsUmVzb3VyY2Uoe1xuICAgICAgICB0eXBlLFxuICAgICAgICBuYW1lc3BhY2VkLFxuICAgICAgICByZXNvdXJjZTogcmVzLFxuICAgICAgICBuYW1lc3BhY2UsXG4gICAgICAgIG5vdGlmeU9uRXJyb3I6ICFzaWxlbnQsXG4gICAgICB9KTtcbiAgICBjb25zdCBnZXQgPSAoKSA9PlxuICAgICAgdGhpcy5rOHNBcGkuZ2V0R2xvYmFsUmVzb3VyY2U8VD4oe1xuICAgICAgICB0eXBlLFxuICAgICAgICBuYW1lc3BhY2VkLFxuICAgICAgICBuYW1lOiByZXNvdXJjZS5tZXRhZGF0YS5uYW1lLFxuICAgICAgICBuYW1lc3BhY2UsXG4gICAgICB9KTtcblxuICAgIHJldHVybiB0aGlzLnJldHJ5VXBkYXRlKHB1dCwgZ2V0LCByZXNvdXJjZSwgc2lsZW50KTtcbiAgfVxuXG4gIC8vIHJlZmVyZW5jZTogaHR0cDovL2NvbmZsdWVuY2UuYWxhdWRhdGVjaC5jb20vcGFnZXMvdmlld3BhZ2UuYWN0aW9uP3BhZ2VJZD0yNzE2Njk0NlxuICBub3JtYWxpemVUeXBlKHR5cGU6IHN0cmluZywgcHJlZml4Pzogc3RyaW5nKTogc3RyaW5nO1xuICBub3JtYWxpemVUeXBlKHBhcmFtczogQmFzZU5vcm1hbGl6ZVR5cGVQYXJhbXMpOiBzdHJpbmc7XG4gIG5vcm1hbGl6ZVR5cGUoXG4gICAgdHlwZU9yUGFyYW1zOiBzdHJpbmcgfCBCYXNlTm9ybWFsaXplVHlwZVBhcmFtcyxcbiAgICBwcmVmaXg/OiBzdHJpbmcsXG4gICk6IHN0cmluZyB7XG4gICAgaWYgKHR5cGVvZiB0eXBlT3JQYXJhbXMgPT09ICdzdHJpbmcnKSB7XG4gICAgICByZXR1cm4gYCR7aWZFeGlzdChwcmVmaXgsIHByZWZpeCArICcuJyl9JHtcbiAgICAgICAgdGhpcy5iYXNlRG9tYWluXG4gICAgICB9LyR7dHlwZU9yUGFyYW1zfWA7XG4gICAgfVxuXG4gICAgcmV0dXJuIGAke2lmRXhpc3QodHlwZU9yUGFyYW1zLnByZWZpeCwgdHlwZU9yUGFyYW1zLnByZWZpeCArICcuJyl9JHtcbiAgICAgIHR5cGVPclBhcmFtcy5iYXNlRG9tYWluXG4gICAgfS8ke3R5cGVPclBhcmFtcy50eXBlfWA7XG4gIH1cblxuICBnZXRBbm5vdGF0aW9uPFQgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2U+KFxuICAgIHJlc291cmNlOiBULFxuICAgIHR5cGU6IHN0cmluZyxcbiAgICBwcmVmaXg/OiBzdHJpbmcsXG4gICk6IHN0cmluZztcblxuICBnZXRBbm5vdGF0aW9uPFQgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2U+KFxuICAgIHJlc291cmNlOiBULFxuICAgIHBhcmFtczogQmFzZU5vcm1hbGl6ZVR5cGVQYXJhbXMsXG4gICk6IHN0cmluZztcblxuICBnZXRBbm5vdGF0aW9uPFQgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2U+KFxuICAgIHJlc291cmNlOiBULFxuICAgIHBhcmFtc09yVHlwZTogc3RyaW5nIHwgQmFzZU5vcm1hbGl6ZVR5cGVQYXJhbXMsXG4gICAgcHJlZml4Pzogc3RyaW5nLFxuICApOiBzdHJpbmcge1xuICAgIHJldHVybiBnZXQocmVzb3VyY2UsIFtcbiAgICAgIE1FVEFEQVRBLFxuICAgICAgQU5OT1RBVElPTlMsXG4gICAgICB0aGlzLm5vcm1hbGl6ZVR5cGUocGFyYW1zT3JUeXBlIGFzIHN0cmluZywgcHJlZml4KSxcbiAgICBdKTtcbiAgfVxuXG4gIGdldE5hbWVzcGFjZTxUIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlPihyZXNvdXJjZTogVCkge1xuICAgIHJldHVybiBnZXQocmVzb3VyY2UsIFtNRVRBREFUQSwgTkFNRVNQQUNFXSk7XG4gIH1cblxuICBnZXROYW1lPFQgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2U+KHJlc291cmNlOiBUKSB7XG4gICAgcmV0dXJuIGdldChyZXNvdXJjZSwgW01FVEFEQVRBLCBOQU1FXSk7XG4gIH1cblxuICBnZXRDcmVhdGlvblRpbWVzdGFtcDxUIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlPihyZXNvdXJjZTogVCkge1xuICAgIHJldHVybiBnZXQocmVzb3VyY2UsIFtNRVRBREFUQSwgQ1JFQVRJT05fVElNRVNUQU1QXSk7XG4gIH1cblxuICBnZXREaXNwbGF5TmFtZTxUIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlPihyZXNvdXJjZTogVCwgcHJlZml4Pzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QW5ub3RhdGlvbihyZXNvdXJjZSwgRElTUExBWV9OQU1FLCBwcmVmaXgpO1xuICB9XG5cbiAgZ2V0VW5pb25EaXNwbGF5TmFtZTxUIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlPihcbiAgICByZXNvdXJjZTogVCxcbiAgICBuYW1lUHJlZml4Pzogc3RyaW5nIHwgZmFsc2UsXG4gICAgZGlzcGxheU5hbWVQcmVmaXg/OiBzdHJpbmcsXG4gICkge1xuICAgIGlmICghcmVzb3VyY2UpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgbmFtZSA9XG4gICAgICAobmFtZVByZWZpeCAhPT0gZmFsc2UgJiZcbiAgICAgICAgdGhpcy5nZXRBbm5vdGF0aW9uKHJlc291cmNlLCBOQU1FLCBuYW1lUHJlZml4KSkgfHxcbiAgICAgIHRoaXMuZ2V0TmFtZShyZXNvdXJjZSk7XG4gICAgY29uc3QgZGlzcGxheU5hbWUgPSB0aGlzLmdldERpc3BsYXlOYW1lKHJlc291cmNlLCBkaXNwbGF5TmFtZVByZWZpeCk7XG4gICAgcmV0dXJuIG5hbWUgKyBpZkV4aXN0KGRpc3BsYXlOYW1lLCBTUEFDRSArIHdyYXBUZXh0KGRpc3BsYXlOYW1lKSk7XG4gIH1cblxuICBnZXREZXNjcmlwdGlvbjxUIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlPihyZXNvdXJjZTogVCwgcHJlZml4Pzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QW5ub3RhdGlvbihyZXNvdXJjZSwgREVTQ1JJUFRJT04sIHByZWZpeCk7XG4gIH1cblxuICBnZXRDcmVhdG9yPFQgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2U+KHJlc291cmNlOiBULCBwcmVmaXg/OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRBbm5vdGF0aW9uKHJlc291cmNlLCBDUkVBVE9SLCBwcmVmaXgpO1xuICB9XG5cbiAgZ2V0VXBkYXRlZEF0PFQgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2U+KHJlc291cmNlOiBULCBwcmVmaXg/OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRBbm5vdGF0aW9uKHJlc291cmNlLCBVUERBVEVEX19BVCwgcHJlZml4KTtcbiAgfVxuXG4gIGdldExhYmVsPFQgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2U+KFxuICAgIHJlc291cmNlOiBULFxuICAgIHR5cGU6IHN0cmluZyxcbiAgICBwcmVmaXg/OiBzdHJpbmcsXG4gICk6IHN0cmluZztcblxuICBnZXRMYWJlbDxUIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlPihcbiAgICByZXNvdXJjZTogVCxcbiAgICBwYXJhbXM6IEJhc2VOb3JtYWxpemVUeXBlUGFyYW1zLFxuICApOiBzdHJpbmc7XG5cbiAgZ2V0TGFiZWw8VCBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZT4oXG4gICAgcmVzb3VyY2U6IFQsXG4gICAgcGFyYW1zT3JUeXBlOiBzdHJpbmcgfCBCYXNlTm9ybWFsaXplVHlwZVBhcmFtcyxcbiAgICBwcmVmaXg/OiBzdHJpbmcsXG4gICk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGdldChyZXNvdXJjZSwgW1xuICAgICAgTUVUQURBVEEsXG4gICAgICBMQUJFTFMsXG4gICAgICB0aGlzLm5vcm1hbGl6ZVR5cGUocGFyYW1zT3JUeXBlIGFzIHN0cmluZywgcHJlZml4KSxcbiAgICBdKTtcbiAgfVxuXG4gIGdldFByb2plY3Q8VCBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZT4ocmVzb3VyY2U6IFQpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRMYWJlbChyZXNvdXJjZSwgUFJPSkVDVCk7XG4gIH1cblxuICBwcml2YXRlIHJldHJ5VXBkYXRlPFQgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2U+KFxuICAgIHB1dDogKHJlc291cmNlOiBUKSA9PiBPYnNlcnZhYmxlPFQ+LFxuICAgIGdldDogKCkgPT4gT2JzZXJ2YWJsZTxUPixcbiAgICByZXNvdXJjZTogVCxcbiAgICBzaWxlbnQ/OiBib29sZWFuLFxuICApOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICBjb25zdCB3YWl0VXNlckNvbmZpcm1SZXRyeSA9IChlcnI6IFN0YXR1cykgPT5cbiAgICAgIChzaWxlbnRcbiAgICAgICAgPyBvZihudWxsKVxuICAgICAgICA6IGZyb20oXG4gICAgICAgICAgICB0aGlzLmRpYWxvZy5jb25maXJtKHtcbiAgICAgICAgICAgICAgdGl0bGU6IHRoaXMudHJhbnNsYXRlLmdldCgncmVzb3VyY2VfdmVyc2lvbl9jb25mbGljdCcpLFxuICAgICAgICAgICAgICBjb250ZW50OiB0aGlzLnRyYW5zbGF0ZS5nZXQoJ2NvbmZpcm1fcmV0cnlfd2l0aF9sYXRlc3RfdmVyc2lvbicpLFxuICAgICAgICAgICAgICBjb25maXJtVGV4dDogdGhpcy50cmFuc2xhdGUuZ2V0KCdjb25maXJtJyksXG4gICAgICAgICAgICAgIGNhbmNlbFRleHQ6IHRoaXMudHJhbnNsYXRlLmdldCgnY2FuY2VsJyksXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICApXG4gICAgICApLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PlxuICAgICAgICAgIGdldCgpLnBpcGUoXG4gICAgICAgICAgICBzd2l0Y2hNYXAobmV3UmVzb3VyY2UgPT5cbiAgICAgICAgICAgICAgcHV0KHtcbiAgICAgICAgICAgICAgICAuLi5yZXNvdXJjZSxcbiAgICAgICAgICAgICAgICBtZXRhZGF0YToge1xuICAgICAgICAgICAgICAgICAgLi4ucmVzb3VyY2UubWV0YWRhdGEsXG4gICAgICAgICAgICAgICAgICByZXNvdXJjZVZlcnNpb246IG5ld1Jlc291cmNlLm1ldGFkYXRhLnJlc291cmNlVmVyc2lvbixcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBjYXRjaEVycm9yKCgpID0+IHRoaXMucmV0cnlVcGRhdGUocHV0LCBnZXQsIHJlc291cmNlLCBzaWxlbnQpKSxcbiAgICAgICAgICApLFxuICAgICAgICApLFxuICAgICAgICBjYXRjaEVycm9yKCgpID0+IHRocm93RXJyb3IoKCkgPT4gZXJyKSksXG4gICAgICApO1xuXG4gICAgcmV0dXJuIHB1dChyZXNvdXJjZSkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IoKGVycjogU3RhdHVzKSA9PlxuICAgICAgICBlcnIuY29kZSA9PT0gNDA5ID8gd2FpdFVzZXJDb25maXJtUmV0cnkoZXJyKSA6IHRocm93RXJyb3IoKCkgPT4gZXJyKSxcbiAgICAgICksXG4gICAgKTtcbiAgfVxufVxuIl19
|
|
@@ -16,9 +16,9 @@ export class ListenResizeDirective {
|
|
|
16
16
|
static { this.ɵfac = function ListenResizeDirective_Factory(t) { return new (t || ListenResizeDirective)(i0.ɵɵdirectiveInject(i0.Injector)); }; }
|
|
17
17
|
static { this.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: ListenResizeDirective }); }
|
|
18
18
|
}
|
|
19
|
-
(
|
|
19
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ListenResizeDirective, [{
|
|
20
20
|
type: Directive
|
|
21
|
-
}],
|
|
21
|
+
}], () => [{ type: i0.Injector }], null); })();
|
|
22
22
|
export class OnResizeChangeService {
|
|
23
23
|
constructor(ngZone) {
|
|
24
24
|
this.ngZone = ngZone;
|
|
@@ -43,10 +43,10 @@ export class OnResizeChangeService {
|
|
|
43
43
|
static { this.ɵfac = function OnResizeChangeService_Factory(t) { return new (t || OnResizeChangeService)(i0.ɵɵinject(i0.NgZone)); }; }
|
|
44
44
|
static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: OnResizeChangeService, factory: OnResizeChangeService.ɵfac, providedIn: 'root' }); }
|
|
45
45
|
}
|
|
46
|
-
(
|
|
46
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(OnResizeChangeService, [{
|
|
47
47
|
type: Injectable,
|
|
48
48
|
args: [{
|
|
49
49
|
providedIn: 'root',
|
|
50
50
|
}]
|
|
51
|
-
}],
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
}], () => [{ type: i0.NgZone }], null); })();
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib24tcmVzaXplLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvY29yZS9zZXJ2aWNlcy9vbi1yZXNpemUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFVBQVUsRUFDVixRQUFRLEVBQ1IsTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUVyRSxNQUFNLGdCQUFnQixHQUFHLHVCQUF1QixDQUFDO0FBRWpELFlBQVk7QUFFWixNQUFNLE9BQWdCLHFCQUFxQjtJQVF6QyxZQUFZLFFBQWtCO1FBQzVCLElBQUksQ0FBQyxjQUFjLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QyxDQUFDO3NGQWxCbUIscUJBQXFCO29FQUFyQixxQkFBcUI7O2lGQUFyQixxQkFBcUI7Y0FEMUMsU0FBUzs7QUF5QlYsTUFBTSxPQUFPLHFCQUFxQjtJQUdoQyxZQUE2QixNQUFjO1FBQWQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUYxQixxQkFBZ0IsR0FBRyxJQUFJLEdBQUcsRUFBeUIsQ0FBQztRQUduRSxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRSxDQUNqQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUMxQixTQUFTLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQztpQkFDeEIsSUFBSTtZQUNILGFBQWE7WUFDYixTQUFTLENBQUMsQ0FBQyxFQUFFLGdCQUFnQixDQUFDLENBQy9CO2lCQUNBLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDYixJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFDbkQsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVELFNBQVMsQ0FBQyxJQUEyQjtRQUNuQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRUQsV0FBVyxDQUFDLElBQTJCO1FBQ3JDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckMsQ0FBQztzRkF6QlUscUJBQXFCO3VFQUFyQixxQkFBcUIsV0FBckIscUJBQXFCLG1CQUZwQixNQUFNOztpRkFFUCxxQkFBcUI7Y0FIakMsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgRGlyZWN0aXZlLFxuICBJbmplY3RhYmxlLFxuICBJbmplY3RvcixcbiAgTmdab25lLFxuICBPbkRlc3Ryb3ksXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgYW5pbWF0aW9uRnJhbWVTY2hlZHVsZXIsIGZyb21FdmVudCwgYXVkaXRUaW1lIH0gZnJvbSAncnhqcyc7XG5cbmNvbnN0IFJFU0laRV9TQ0hFRFVMRVIgPSBhbmltYXRpb25GcmFtZVNjaGVkdWxlcjtcblxuLy8g5o+Q5L6b5YWo5bGA55qE55uR5ZCs5LqL5Lu2XG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBMaXN0ZW5SZXNpemVEaXJlY3RpdmVcbiAgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3lcbntcbiAgLy8gd2luZG93IOinpuWPkXJlc2l6ZeaXtuinpuWPke+8jOaAp+iDveS8mOWMluWcqE9uUmVzaXplQ2hhbmdlU2VydmljZemHjOaJp+ihjCzlm6DmraTlrZDnsbvlrp7njrDpnIDopoHkvb/nlKhuZ1pvbmVcbiAgYWJzdHJhY3Qgb25SZXNpemUoKTogdW5rbm93bjtcblxuICBfcmVzaXplU2VydmljZTogT25SZXNpemVDaGFuZ2VTZXJ2aWNlO1xuXG4gIGNvbnN0cnVjdG9yKGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgIHRoaXMuX3Jlc2l6ZVNlcnZpY2UgPSBpbmplY3Rvci5nZXQoT25SZXNpemVDaGFuZ2VTZXJ2aWNlKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLl9yZXNpemVTZXJ2aWNlLnN1YnNjcmliZSh0aGlzKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX3Jlc2l6ZVNlcnZpY2UudW5zdWJzY3JpYmUodGhpcyk7XG4gIH1cbn1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIE9uUmVzaXplQ2hhbmdlU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3Jlc2l6ZUxpc3RlbmVycyA9IG5ldyBTZXQ8TGlzdGVuUmVzaXplRGlyZWN0aXZlPigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgbmdab25lOiBOZ1pvbmUpIHtcbiAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PlxuICAgICAgUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKSA9PiB7XG4gICAgICAgIGZyb21FdmVudCh3aW5kb3csICdyZXNpemUnKVxuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgLy8g5pS26ZuG5aSa5LiqcmVzaXplXG4gICAgICAgICAgICBhdWRpdFRpbWUoMCwgUkVTSVpFX1NDSEVEVUxFUiksXG4gICAgICAgICAgKVxuICAgICAgICAgIC5zdWJzY3JpYmUoXyA9PiB7XG4gICAgICAgICAgICB0aGlzLl9yZXNpemVMaXN0ZW5lcnMuZm9yRWFjaChpID0+IGkub25SZXNpemUoKSk7XG4gICAgICAgICAgfSk7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgc3Vic2NyaWJlKGl0ZW06IExpc3RlblJlc2l6ZURpcmVjdGl2ZSkge1xuICAgIHRoaXMuX3Jlc2l6ZUxpc3RlbmVycy5hZGQoaXRlbSk7XG4gICAgaXRlbS5vblJlc2l6ZSgpO1xuICB9XG5cbiAgdW5zdWJzY3JpYmUoaXRlbTogTGlzdGVuUmVzaXplRGlyZWN0aXZlKSB7XG4gICAgdGhpcy5fcmVzaXplTGlzdGVuZXJzLmRlbGV0ZShpdGVtKTtcbiAgfVxufVxuIl19
|
|
@@ -12,4 +12,5 @@ export * from './on-resize.service';
|
|
|
12
12
|
export * from './yaml-util.service';
|
|
13
13
|
export * from './form-row-duplicate/form-row-duplicate.service';
|
|
14
14
|
export * from './context.service';
|
|
15
|
-
|
|
15
|
+
export { EncodeUrlParamsSafelyInterceptor } from './encode-url-param.interceptor';
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9jb3JlL3NlcnZpY2VzL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLGdDQUFnQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hdWktcGFnaW5hdG9yLWludGwuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2F1aS10b29sdGlwLWNvcHktaW50bC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vY3VzdG9tLWNvZGUtZWRpdG9yLWludGwuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2ZlYXR1cmUtZ2F0ZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJjZXB0LWRlYWN0aXZhdGUuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2s4cy11dGlsLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zaWxlbnRseS1uYXZpZ2F0ZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vdGltZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vdWktc3RhdGUuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3dvcmtzcGFjZS1oZWxwZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL29uLXJlc2l6ZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4veWFtbC11dGlsLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtLXJvdy1kdXBsaWNhdGUvZm9ybS1yb3ctZHVwbGljYXRlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jb250ZXh0LnNlcnZpY2UnO1xuZXhwb3J0IHsgRW5jb2RlVXJsUGFyYW1zU2FmZWx5SW50ZXJjZXB0b3IgfSBmcm9tICcuL2VuY29kZS11cmwtcGFyYW0uaW50ZXJjZXB0b3InO1xuIl19
|
|
@@ -21,8 +21,8 @@ export class SilentlyNavigateService {
|
|
|
21
21
|
static { this.ɵfac = function SilentlyNavigateService_Factory(t) { return new (t || SilentlyNavigateService)(i0.ɵɵinject(i1.Router), i0.ɵɵinject(i2.Location)); }; }
|
|
22
22
|
static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: SilentlyNavigateService, factory: SilentlyNavigateService.ɵfac, providedIn: 'root' }); }
|
|
23
23
|
}
|
|
24
|
-
(
|
|
24
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SilentlyNavigateService, [{
|
|
25
25
|
type: Injectable,
|
|
26
26
|
args: [{ providedIn: 'root' }]
|
|
27
|
-
}],
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
}], () => [{ type: i1.Router }, { type: i2.Location }], null); })();
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lsZW50bHktbmF2aWdhdGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9jb3JlL3NlcnZpY2VzL3NpbGVudGx5LW5hdmlnYXRlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7O0FBR3pDLE1BQU0sT0FBTyx1QkFBdUI7SUFDbEMsWUFDbUIsTUFBYyxFQUNkLFFBQWtCO1FBRGxCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxhQUFRLEdBQVIsUUFBUSxDQUFVO0lBQ2xDLENBQUM7SUFFSixRQUFRLENBQUMsSUFBWSxFQUFFLEVBQVU7UUFDL0IsSUFBSSxDQUFDLE1BQU07YUFDUixhQUFhLENBQUMsRUFBRSxFQUFFO1lBQ2pCLGtCQUFrQixFQUFFLElBQUk7U0FDekIsQ0FBQzthQUNELElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7d0ZBZFUsdUJBQXVCO3VFQUF2Qix1QkFBdUIsV0FBdkIsdUJBQXVCLG1CQURWLE1BQU07O2lGQUNuQix1QkFBdUI7Y0FEbkMsVUFBVTtlQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgU2lsZW50bHlOYXZpZ2F0ZVNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9jYXRpb246IExvY2F0aW9uLFxuICApIHt9XG5cbiAgbmF2aWdhdGUoZnJvbTogc3RyaW5nLCB0bzogc3RyaW5nKSB7XG4gICAgdGhpcy5yb3V0ZXJcbiAgICAgIC5uYXZpZ2F0ZUJ5VXJsKHRvLCB7XG4gICAgICAgIHNraXBMb2NhdGlvbkNoYW5nZTogdHJ1ZSxcbiAgICAgIH0pXG4gICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgIHRoaXMubG9jYXRpb24ucmVwbGFjZVN0YXRlKGZyb20pO1xuICAgICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -7,6 +7,7 @@ import dayjs from 'dayjs';
|
|
|
7
7
|
import relativeTime from 'dayjs/plugin/relativeTime';
|
|
8
8
|
import timezone from 'dayjs/plugin/timezone';
|
|
9
9
|
import utc from 'dayjs/plugin/utc';
|
|
10
|
+
import 'dayjs/locale/zh-cn.js'; // 中文包
|
|
10
11
|
import { TranslateService } from '../../translate/public-api';
|
|
11
12
|
import { DATE_TIME_FORMAT } from '../constants/public-api';
|
|
12
13
|
import * as i0 from "@angular/core";
|
|
@@ -35,10 +36,10 @@ export class TimeService {
|
|
|
35
36
|
static { this.ɵfac = function TimeService_Factory(t) { return new (t || TimeService)(i0.ɵɵinject(i0.Injector)); }; }
|
|
36
37
|
static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: TimeService, factory: TimeService.ɵfac, providedIn: 'root' }); }
|
|
37
38
|
}
|
|
38
|
-
(
|
|
39
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TimeService, [{
|
|
39
40
|
type: Injectable,
|
|
40
41
|
args: [{
|
|
41
42
|
providedIn: 'root',
|
|
42
43
|
}]
|
|
43
|
-
}],
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
}], () => [{ type: i0.Injector }], null); })();
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2NvcmUvc2VydmljZXMvdGltZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sS0FBcUIsTUFBTSxPQUFPLENBQUM7QUFDMUMsT0FBTyxZQUFZLE1BQU0sMkJBQTJCLENBQUM7QUFDckQsT0FBTyxRQUFRLE1BQU0sdUJBQXVCLENBQUM7QUFDN0MsT0FBTyxHQUFHLE1BQU0sa0JBQWtCLENBQUM7QUFDbkMsT0FBTyx1QkFBdUIsQ0FBQyxDQUFDLE1BQU07QUFFdEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBRTNELEtBQUssQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7QUFDM0IsS0FBSyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUN2QixLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBS2xCLE1BQU0sT0FBTyxXQUFXO0lBQ3RCLElBQUksTUFBTTtRQUNSLE9BQU8sS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsWUFBNkIsUUFBa0I7UUFBbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUFHLENBQUM7SUFFbkQsR0FBRyxDQUFDLEdBQWE7UUFDZixNQUFNLEdBQUcsR0FBRyxLQUFLLEVBQUUsQ0FBQztRQUNwQixPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7SUFDL0IsQ0FBQztJQUVELE1BQU0sQ0FBQyxJQUFpQixFQUFFLFVBQVUsR0FBRyxnQkFBZ0I7UUFDckQsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxRQUFRLENBQUMsSUFBZ0IsRUFBRSxRQUFxQjtRQUM5QyxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUM7YUFDZixNQUFNLENBQ0wsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDckU7YUFDQSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDcEIsQ0FBQzs0RUF0QlUsV0FBVzt1RUFBWCxXQUFXLFdBQVgsV0FBVyxtQkFGVixNQUFNOztpRkFFUCxXQUFXO2NBSHZCLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uXG4gKiBAbW9kdWxlIHV0aWxzXG4gKi9cblxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCBkYXlqcywgeyBDb25maWdUeXBlIH0gZnJvbSAnZGF5anMnO1xuaW1wb3J0IHJlbGF0aXZlVGltZSBmcm9tICdkYXlqcy9wbHVnaW4vcmVsYXRpdmVUaW1lJztcbmltcG9ydCB0aW1lem9uZSBmcm9tICdkYXlqcy9wbHVnaW4vdGltZXpvbmUnO1xuaW1wb3J0IHV0YyBmcm9tICdkYXlqcy9wbHVnaW4vdXRjJztcbmltcG9ydCAnZGF5anMvbG9jYWxlL3poLWNuLmpzJzsgLy8g5Lit5paH5YyFXG5cbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi90cmFuc2xhdGUvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBEQVRFX1RJTUVfRk9STUFUIH0gZnJvbSAnLi4vY29uc3RhbnRzL3B1YmxpYy1hcGknO1xuXG5kYXlqcy5leHRlbmQocmVsYXRpdmVUaW1lKTtcbmRheWpzLmV4dGVuZCh0aW1lem9uZSk7XG5kYXlqcy5leHRlbmQodXRjKTtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFRpbWVTZXJ2aWNlIHtcbiAgZ2V0IGN1cnJUeigpIHtcbiAgICByZXR1cm4gZGF5anMudHouZ3Vlc3MoKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgaW5qZWN0b3I6IEluamVjdG9yKSB7fVxuXG4gIG5vdyh1dGM/OiBib29sZWFuKSB7XG4gICAgY29uc3Qgbm93ID0gZGF5anMoKTtcbiAgICByZXR1cm4gdXRjID8gbm93LnV0YygpIDogbm93O1xuICB9XG5cbiAgZm9ybWF0KGRhdGU/OiBDb25maWdUeXBlLCBkYXRlRm9ybWF0ID0gREFURV9USU1FX0ZPUk1BVCkge1xuICAgIHJldHVybiBkYXlqcyhkYXRlKS5mb3JtYXQoZGF0ZUZvcm1hdCk7XG4gIH1cblxuICBkaXN0YW5jZShkYXRlOiBDb25maWdUeXBlLCBiYXNlRGF0ZT86IENvbmZpZ1R5cGUpIHtcbiAgICByZXR1cm4gZGF5anMoZGF0ZSlcbiAgICAgIC5sb2NhbGUoXG4gICAgICAgIHRoaXMuaW5qZWN0b3IuZ2V0KFRyYW5zbGF0ZVNlcnZpY2UpLmxvY2FsZSA9PT0gJ3poJyA/ICd6aC1jbicgOiAnZW4nLFxuICAgICAgKVxuICAgICAgLmZyb20oYmFzZURhdGUpO1xuICB9XG59XG4iXX0=
|
|
@@ -61,8 +61,8 @@ export class UiStateService {
|
|
|
61
61
|
static { this.ɵfac = function UiStateService_Factory(t) { return new (t || UiStateService)(); }; }
|
|
62
62
|
static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: UiStateService, factory: UiStateService.ɵfac, providedIn: 'root' }); }
|
|
63
63
|
}
|
|
64
|
-
(
|
|
64
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(UiStateService, [{
|
|
65
65
|
type: Injectable,
|
|
66
66
|
args: [{ providedIn: 'root' }]
|
|
67
67
|
}], null, null); })();
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktc3RhdGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9jb3JlL3NlcnZpY2VzL3VpLXN0YXRlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBSXBFOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGNBQWM7SUFBM0I7UUFDbUIsMEJBQXFCLEdBQUcsSUFBSSxlQUFlLENBQzFELFNBQVMsQ0FDVixDQUFDO0lBU0osQ0FBQztJQVBDLElBQUksZUFBZTtRQUNqQixPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELGlCQUFpQixDQUFDLGNBQThCO1FBQzlDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDbEQsQ0FBQztDQUNGO0FBRUQsTUFBTSxDQUFOLElBQVksa0JBRVg7QUFGRCxXQUFZLGtCQUFrQjtJQUM1Qiw2REFBdUMsQ0FBQTtBQUN6QyxDQUFDLEVBRlcsa0JBQWtCLEtBQWxCLGtCQUFrQixRQUU3QjtBQU9EOztHQUVHO0FBRUgsTUFBTSxPQUFPLGNBQWM7SUFEM0I7UUFFbUIsb0JBQWUsR0FBRyxJQUFJLEdBQUcsRUFHdkMsQ0FBQztRQUVJLHlCQUFvQixHQUFZLElBQUksQ0FBQztRQUNyQyx5QkFBb0IsR0FBWSxJQUFJLENBQUM7UUFFN0Msb0JBQWUsR0FBRyxJQUFJLGFBQWEsQ0FBa0IsQ0FBQyxDQUFDLENBQUM7S0FzQ3pEO0lBcENTLHNCQUFzQixDQUFDLEVBQXNCO1FBQ25ELElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNqQyxNQUFNLElBQUksS0FBSyxDQUFDLHVCQUF1QixFQUFFLDBCQUEwQixDQUFDLENBQUM7UUFDdkUsQ0FBQztRQUNELElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJLGNBQWMsRUFBRSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELGtEQUFrRDtJQUNsRCxpQkFBaUIsQ0FBQyxFQUFzQjtRQUN0QyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNsQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDbEMsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsaUJBQWlCLENBQUMsaUJBQWtDO1FBQ2xELElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVEOztPQUVHO0lBQ0gsa0JBQWtCLENBQUMsS0FBYztRQUMvQixJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDO1FBQ3RELElBQUksQ0FBQyxvQkFBb0IsR0FBRyxLQUFLLENBQUM7SUFDcEMsQ0FBQztJQUVELHVCQUF1QjtRQUNyQixPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUMsUUFBUSxDQUNoRCxJQUFJLENBQUMsb0JBQW9CLENBQzFCLENBQUM7SUFDSixDQUFDOytFQTlDVSxjQUFjO3VFQUFkLGNBQWMsV0FBZCxjQUFjLG1CQURELE1BQU07O2lGQUNuQixjQUFjO2NBRDFCLFVBQVU7ZUFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBSZXBsYXlTdWJqZWN0LCBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgTmF2SXRlbUNvbmZpZyB9IGZyb20gJy4uLy4uL3BhZ2Utc2NhZmZvbGQvbmF2aWdhdGlvbi9uYXYtbWVudS9uYXYtbWVudS50eXBlcyc7XG5cbi8qKlxuICogUHJvdmlkZXMgYSBob2xkZXIgZm9yIFVJIHRlbXBsYXRlcyB0byBiZSB1c2VkIGdsb2JhbGx5LlxuICovXG5leHBvcnQgY2xhc3MgVGVtcGxhdGVIb2xkZXIge1xuICBwcml2YXRlIHJlYWRvbmx5IHRlbXBsYXRlUG9ydGFsU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VGVtcGxhdGVQb3J0YWw+KFxuICAgIHVuZGVmaW5lZCxcbiAgKTtcblxuICBnZXQgdGVtcGxhdGVQb3J0YWwkKCkge1xuICAgIHJldHVybiB0aGlzLnRlbXBsYXRlUG9ydGFsU3ViamVjdC5waXBlKGRlYm91bmNlVGltZSgwKSk7XG4gIH1cblxuICBzZXRUZW1wbGF0ZVBvcnRhbCh0ZW1wbGF0ZVBvcnRhbDogVGVtcGxhdGVQb3J0YWwpIHtcbiAgICB0aGlzLnRlbXBsYXRlUG9ydGFsU3ViamVjdC5uZXh0KHRlbXBsYXRlUG9ydGFsKTtcbiAgfVxufVxuXG5leHBvcnQgZW51bSBUZW1wbGF0ZUhvbGRlclR5cGUge1xuICBQYWdlSGVhZGVyQ29udGVudCA9ICdQYWdlSGVhZGVyQ29udGVudCcsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWN0aXZlTmF2SXRlbSB7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIHJvdXRlckxpbms/OiBzdHJpbmcgfCBhbnlbXTtcbn1cblxuLyoqXG4gKiBBY3RzIGFzIGEgZ2VuZXJhbCB1aSBzdGF0ZSBzdG9yZVxuICovXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFVpU3RhdGVTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSB0ZW1wbGF0ZUhvbGRlcnMgPSBuZXcgTWFwPFxuICAgIFRlbXBsYXRlSG9sZGVyVHlwZSxcbiAgICBUZW1wbGF0ZUhvbGRlclxuICA+KCk7XG5cbiAgcHJpdmF0ZSBfcHJldlZpZXdTd2l0Y2hTdGF0ZTogYm9vbGVhbiA9IG51bGw7XG4gIHByaXZhdGUgX2N1cnJWaWV3U3dpdGNoU3RhdGU6IGJvb2xlYW4gPSBudWxsO1xuXG4gIGFjdGl2ZUl0ZW1JbmZvJCA9IG5ldyBSZXBsYXlTdWJqZWN0PE5hdkl0ZW1Db25maWdbXT4oMSk7XG5cbiAgcHJpdmF0ZSByZWdpc3RlclRlbXBsYXRlSG9sZGVyKGlkOiBUZW1wbGF0ZUhvbGRlclR5cGUpIHtcbiAgICBpZiAodGhpcy50ZW1wbGF0ZUhvbGRlcnMuaGFzKGlkKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBUZW1wbGF0ZSBob2xkZXIgZm9yICR7aWR9IGhhcyBhbHJlYWR5IHJlZ2lzdGVyZWQhYCk7XG4gICAgfVxuICAgIHRoaXMudGVtcGxhdGVIb2xkZXJzLnNldChpZCwgbmV3IFRlbXBsYXRlSG9sZGVyKCkpO1xuICB9XG5cbiAgLy8gV2lsbCBpbml0IHRlbXBsYXRlIGhvbGRlciBpZiBub3QgaW5pdGlhbGxlZCB5ZXRcbiAgZ2V0VGVtcGxhdGVIb2xkZXIoaWQ6IFRlbXBsYXRlSG9sZGVyVHlwZSkge1xuICAgIGlmICghdGhpcy50ZW1wbGF0ZUhvbGRlcnMuaGFzKGlkKSkge1xuICAgICAgdGhpcy5yZWdpc3RlclRlbXBsYXRlSG9sZGVyKGlkKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy50ZW1wbGF0ZUhvbGRlcnMuZ2V0KGlkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBOT1RFOiBvbmx5IHNldCBhY3RpdmUgaXRlbSBpbmZvIGluIENvbnNvbGVDb21wb25lbnRcbiAgICovXG4gIHNldEFjdGl2ZUl0ZW1JbmZvKGFjdGl2ZU5hdkl0ZW1JbmZvOiBOYXZJdGVtQ29uZmlnW10pIHtcbiAgICB0aGlzLmFjdGl2ZUl0ZW1JbmZvJC5uZXh0KGFjdGl2ZU5hdkl0ZW1JbmZvKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBOT1RFOiBvbmx5IHVzZSBmb3IgdmlldyBzd2l0Y2ggc3RhdHVzIHJlY29yZGluZ1xuICAgKi9cbiAgc2V0Vmlld1N3aXRjaFN0YXRlKHN0YXRlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fcHJldlZpZXdTd2l0Y2hTdGF0ZSA9IHRoaXMuX2N1cnJWaWV3U3dpdGNoU3RhdGU7XG4gICAgdGhpcy5fY3VyclZpZXdTd2l0Y2hTdGF0ZSA9IHN0YXRlO1xuICB9XG5cbiAgc2hvdWxkVmlld1N3aXRjaEFuaW1hdGUoKSB7XG4gICAgcmV0dXJuICFbbnVsbCwgdGhpcy5fY3VyclZpZXdTd2l0Y2hTdGF0ZV0uaW5jbHVkZXMoXG4gICAgICB0aGlzLl9wcmV2Vmlld1N3aXRjaFN0YXRlLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -9,13 +9,19 @@ export class WorkspaceHelperService {
|
|
|
9
9
|
get baseParamsSnapshot() {
|
|
10
10
|
return this.baseParams$$.value;
|
|
11
11
|
}
|
|
12
|
+
get baseActivatedRoute() {
|
|
13
|
+
return this._baseActivatedRoute;
|
|
14
|
+
}
|
|
12
15
|
setBaseParams(params) {
|
|
13
16
|
this.baseParams$$.next(params);
|
|
14
17
|
}
|
|
18
|
+
setBaseActivatedRoute(route) {
|
|
19
|
+
this._baseActivatedRoute = route;
|
|
20
|
+
}
|
|
15
21
|
static { this.ɵfac = function WorkspaceHelperService_Factory(t) { return new (t || WorkspaceHelperService)(); }; }
|
|
16
22
|
static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: WorkspaceHelperService, factory: WorkspaceHelperService.ɵfac }); }
|
|
17
23
|
}
|
|
18
|
-
(
|
|
24
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WorkspaceHelperService, [{
|
|
19
25
|
type: Injectable
|
|
20
26
|
}], null, null); })();
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya3NwYWNlLWhlbHBlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2NvcmUvc2VydmljZXMvd29ya3NwYWNlLWhlbHBlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFLdkMsTUFBTSxPQUFPLHNCQUFzQjtJQURuQztRQUVtQixpQkFBWSxHQUFHLElBQUksZUFBZSxDQUFrQixFQUFFLENBQUMsQ0FBQztRQUdoRSxlQUFVLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQztLQWlCeEQ7SUFmQyxJQUFJLGtCQUFrQjtRQUNwQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxJQUFJLGtCQUFrQjtRQUNwQixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztJQUNsQyxDQUFDO0lBRUQsYUFBYSxDQUFDLE1BQXVCO1FBQ25DLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxLQUFxQjtRQUN6QyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsS0FBSyxDQUFDO0lBQ25DLENBQUM7dUZBcEJVLHNCQUFzQjt1RUFBdEIsc0JBQXNCLFdBQXRCLHNCQUFzQjs7aUZBQXRCLHNCQUFzQjtjQURsQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFdvcmtzcGFjZVBhcmFtcyB9IGZyb20gJy4uL3R5cGVzL3B1YmxpYy1hcGknO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgV29ya3NwYWNlSGVscGVyU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgYmFzZVBhcmFtcyQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxXb3Jrc3BhY2VQYXJhbXM+KHt9KTtcbiAgcHJpdmF0ZSBfYmFzZUFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZTtcblxuICByZWFkb25seSBiYXNlUGFyYW1zID0gdGhpcy5iYXNlUGFyYW1zJCQuYXNPYnNlcnZhYmxlKCk7XG5cbiAgZ2V0IGJhc2VQYXJhbXNTbmFwc2hvdCgpIHtcbiAgICByZXR1cm4gdGhpcy5iYXNlUGFyYW1zJCQudmFsdWU7XG4gIH1cblxuICBnZXQgYmFzZUFjdGl2YXRlZFJvdXRlKCkge1xuICAgIHJldHVybiB0aGlzLl9iYXNlQWN0aXZhdGVkUm91dGU7XG4gIH1cblxuICBzZXRCYXNlUGFyYW1zKHBhcmFtczogV29ya3NwYWNlUGFyYW1zKSB7XG4gICAgdGhpcy5iYXNlUGFyYW1zJCQubmV4dChwYXJhbXMpO1xuICB9XG5cbiAgc2V0QmFzZUFjdGl2YXRlZFJvdXRlKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSkge1xuICAgIHRoaXMuX2Jhc2VBY3RpdmF0ZWRSb3V0ZSA9IHJvdXRlO1xuICB9XG59XG4iXX0=
|
|
@@ -86,13 +86,13 @@ export class YamlUtilService {
|
|
|
86
86
|
static { this.ɵfac = function YamlUtilService_Factory(t) { return new (t || YamlUtilService)(i0.ɵɵinject(TOKEN_BASE_DOMAIN)); }; }
|
|
87
87
|
static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: YamlUtilService, factory: YamlUtilService.ɵfac, providedIn: 'root' }); }
|
|
88
88
|
}
|
|
89
|
-
(
|
|
89
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(YamlUtilService, [{
|
|
90
90
|
type: Injectable,
|
|
91
91
|
args: [{
|
|
92
92
|
providedIn: 'root',
|
|
93
93
|
}]
|
|
94
|
-
}],
|
|
94
|
+
}], () => [{ type: undefined, decorators: [{
|
|
95
95
|
type: Inject,
|
|
96
96
|
args: [TOKEN_BASE_DOMAIN]
|
|
97
|
-
}] }]
|
|
98
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
97
|
+
}] }], null); })();
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWFtbC11dGlsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvY29yZS9zZXJ2aWNlcy95YW1sLXV0aWwuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUV4QyxPQUFPLEVBQ0wsV0FBVyxFQUdYLE1BQU0sRUFDTixRQUFRLEVBRVIsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCw0QkFBNEIsRUFDNUIsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxlQUFlLEdBRWhCLE1BQU0scUJBQXFCLENBQUM7O0FBSzdCLE1BQU0sT0FBTyxlQUFlO0lBQzFCLFlBQXdELFVBQWtCO1FBQWxCLGVBQVUsR0FBVixVQUFVLENBQVE7SUFBRyxDQUFDO0lBRTlFLHNFQUFzRTtJQUN0RSxjQUFjO0lBQ2Qsa0JBQWtCLENBQUMsQ0FBcUI7UUFDdEMsTUFBTSxhQUFhLEdBQXFCO1lBQ3RDLG9CQUFvQjtZQUNwQix3QkFBd0I7WUFDeEIsNEJBQTRCO1lBQzVCLHFCQUFxQjtZQUNyQiwwQkFBMEI7WUFDMUIsY0FBYztZQUNkLDBCQUEwQjtZQUMxQixxQkFBcUI7WUFDckIsbUJBQW1CO1lBQ25CLHlCQUF5QixJQUFJLENBQUMsVUFBVSxTQUFTO1lBQ2pELHVCQUF1QixDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLEVBQUUsV0FBVyxDQUFDLENBQUM7WUFDakUsdUJBQXVCLENBQ3JCLGVBQWUsRUFDZixDQUFDLFFBQVEsRUFBRSxXQUFXLENBQUMsRUFDdkIsVUFBVSxDQUNYO1lBQ0QsUUFBUTtTQUNULENBQUM7UUFDRixNQUFNLGVBQWUsR0FBcUIsRUFBRSxDQUFD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QXdCLENBQUMsQ0FBQztnQkFDdkQsQ0FBQyxDQUFDLFFBQVEsQ0FDYjthQUNBLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUNULFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDYixNQUFNLEVBQUUsS0FBSztZQUNiLGNBQWMsRUFBRSxJQUFJO1NBQ3JCLENBQUMsQ0FDSDthQUNBLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN6QixDQUFDO2dGQTVIVSxlQUFlLGNBQ04saUJBQWlCO3VFQUQxQixlQUFlLFdBQWYsZUFBZSxtQkFGZCxNQUFNOztpRkFFUCxlQUFlO2NBSDNCLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7c0JBRWMsTUFBTTt1QkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGdldCwgc29ydEJ5IH0gZnJvbSAnbG9kYXNoLWVzJztcblxuaW1wb3J0IHtcbiAgQU5OT1RBVElPTlMsXG4gIEFycmF5YWJsZSxcbiAgS3ViZXJuZXRlc1Jlc291cmNlLFxuICBMQUJFTFMsXG4gIE1FVEFEQVRBLFxuICBTZXJ2aWNlUG9ydCxcbiAgVE9LRU5fQkFTRV9ET01BSU4sXG59IGZyb20gJy4uL3B1YmxpYy1hcGknO1xuaW1wb3J0IHtcbiAgZW1wdHlPYmplY3RSZW1vdmVSdWxlRmFjdG9yeSxcbiAgcHJlZml4RmlsdGVyUnVsZUZhY3RvcnksXG4gIHN0cmluZ2lmeSxcbiAgeWFtbEZpbHRlckZpZWxkLFxuICBZYW1sRmlsdGVySXRlbSxcbn0gZnJvbSAnLi4vdXRpbHMvcHVibGljLWFwaSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBZYW1sVXRpbFNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihASW5qZWN0KFRPS0VOX0JBU0VfRE9NQUlOKSBwcml2YXRlIHJlYWRvbmx5IGJhc2VEb21haW46IHN0cmluZykge31cblxuICAvLyBodHRwczovL2NvbmZsdWVuY2UuYWxhdWRhLmNuL3BhZ2VzL3ZpZXdwYWdlLmFjdGlvbj9wYWdlSWQ9MTEyMDYwMjExXG4gIC8vIOaJgOaciei1hOa6kOinhOWImeWFqOW5s+WPsOmAmueUqFxuICBnZXRDb25jaXNlUmVzb3VyY2UocjogS3ViZXJuZXRlc1Jlc291cmNlKSB7XG4gICAgY29uc3QgY29tbW9uRmlsdGVyczogWWFtbEZpbHRlckl0ZW1bXSA9IFtcbiAgICAgICdtZXRhZGF0YS5uYW1lc3BhY2UnLFxuICAgICAgJ21ldGFkYXRhLm1hbmFnZWRGaWVsZHMnLFxuICAgICAgJ21ldGFkYXRhLmNyZWF0aW9uVGltZXN0YW1wJyxcbiAgICAgICdtZXRhZGF0YS5nZW5lcmF0aW9uJyxcbiAgICAgICdtZXRhZGF0YS5yZXNvdXJjZVZlcnNpb24nLFxuICAgICAgJ21ldGFkYXRhLnVpZCcsXG4gICAgICAnbWV0YWRhdGEub3duZXJSZWZlcmVuY2VzJyxcbiAgICAgICdtZXRhZGF0YS5maW5hbGl6ZXJzJyxcbiAgICAgICdtZXRhZGF0YS5zZWxmTGluaycsXG4gICAgICBgbWV0YWRhdGEubGFiZWxzLlsnYXBwLiR7dGhpcy5iYXNlRG9tYWlufS91dWlkJ11gLFxuICAgICAgcHJlZml4RmlsdGVyUnVsZUZhY3RvcnkodGhpcy5iYXNlRG9tYWluLCBbTUVUQURBVEEsIEFOTk9UQVRJT05TXSksXG4gICAgICBwcmVmaXhGaWx0ZXJSdWxlRmFjdG9yeShcbiAgICAgICAgJ2t1YmVybmV0ZXMuaW8nLFxuICAgICAgICBbTUVUQURBVEEsIEFOTk9UQVRJT05TXSxcbiAgICAgICAgJ2luY2x1ZGVzJyxcbiAgICAgICksXG4gICAgICAnc3RhdHVzJyxcbiAgICBdO1xuICAgIGNvbnN0IHNwZWNpZmljRmlsdGVyczogWWFtbEZpbHRlckl0ZW1bXSA9IFtdO1xuICAgIHN3aXRjaCAoci5raW5kKSB7XG4gICAgICBjYXNlICdBcHBsaWNhdGlvbic6IHtcbiAgICAgICAgc3BlY2lmaWNGaWx0ZXJzLnB1c2goJ21ldGFkYXRhLmxhYmVscy5zeW5jLWZyb20taGVsbXJlcXVlc3QnKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdEZXBsb3ltZW50JzpcbiAgICAgIGNhc2UgJ1N0YXRlZnVsU2V0JzpcbiAgICAgIGNhc2UgJ0RhZW1vblNldCc6IHtcbiAgICAgICAgc3BlY2lmaWNGaWx0ZXJzLnB1c2goJ3NwZWMudGVtcGxhdGUuYW5ub3RhdGlvbnMudXBkYXRlVGltZXN0YW1wJyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAnSm9iJzoge1xuICAgICAgICBzcGVjaWZpY0ZpbHRlcnMucHVzaChcbiAgICAgICAgICAnc3BlYy5zZWxlY3Rvci5tYXRjaExhYmVscycsXG4gICAgICAgICAgJ3NwZWMudGVtcGxhdGUubWV0YWRhdGEubGFiZWxzLmNvbnRyb2xsZXItdWlkJyxcbiAgICAgICAgICBgJHtNRVRBREFUQX0uJHtMQUJFTFN9LmNvbnRyb2xsZXItdWlkYCxcbiAgICAgICAgICBwcmVmaXhGaWx0ZXJSdWxlRmFjdG9yeShcbiAgICAgICAgICAgICdiYXRjaC5rdWJlcm5ldGVzLmlvL2NvbnRyb2xsZXItdWlkJyxcbiAgICAgICAgICAgIFsnc3BlYycsICd0ZW1wbGF0ZScsIE1FVEFEQVRBLCBMQUJFTFNdLFxuICAgICAgICAgICAgJ2luY2x1ZGVzJyxcbiAgICAgICAgICApLFxuICAgICAgICApO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ1BlcnNpc3RlbnRWb2x1bWVDbGFpbSc6IHtcbiAgICAgICAgc3BlY2lmaWNGaWx0ZXJzLnB1c2goXG4gICAgICAgICAgcHJlZml4RmlsdGVyUnVsZUZhY3RvcnkoXG4gICAgICAgICAgICAncHYua3ViZXJuZXRlcy5pbycsXG4gICAgICAgICAgICBbTUVUQURBVEEsIEFOTk9UQVRJT05TXSxcbiAgICAgICAgICAgICdzdGFydHNXaXRoJyxcbiAgICAgICAgICApLFxuICAgICAgICAgIHByZWZpeEZpbHRlclJ1bGVGYWN0b3J5KFxuICAgICAgICAgICAgJ3ZvbHVtZS5iZXRhLmt1YmVybmV0ZXMuaW8nLFxuICAgICAgICAgICAgW01FVEFEQVRBLCBBTk5PVEFUSU9OU10sXG4gICAgICAgICAgICAnc3RhcnRzV2l0aCcsXG4gICAgICAgICAgKSxcbiAgICAgICAgICAnc3BlYy52b2x1bWVOYW1lJyxcbiAgICAgICAgKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdTZXJ2aWNlJzoge1xuICAgICAgICBzcGVjaWZpY0ZpbHRlcnMucHVzaChcbiAgICAgICAgICByZXNvdXJjZSA9PiB7XG4gICAgICAgICAgICAvLyBFeHRlcm5hbE5hbWUg57G75Z6L55qEIFNlcnZpY2Ug5rKh5pyJIHBvcnRzXG4gICAgICAgICAgICBjb25zdCBwb3J0cyA9XG4gICAgICAgICAgICAgIChnZXQocmVzb3VyY2UsIFsnc3BlYycsICdwb3J0cyddKSBhcyBTZXJ2aWNlUG9ydFtdKSA/PyBbXTtcbiAgICAgICAgICAgIHJldHVybiBwb3J0cy5tYXAoKF8sIGkpID0+XG4gICAgICAgICAgICAgIFsnc3BlYycsICdwb3J0cycsIGBbJHtpfV1gLCAnbm9kZVBvcnQnXS5qb2luKCcuJyksXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgJ3NwZWMuY2x1c3RlcklQcycsXG4gICAgICAgICAgJ3NwZWMuY2x1c3RlcklQJyxcbiAgICAgICAgICAnc3BlYy5pcEZhbWlsaWVzJyxcbiAgICAgICAgICAnc3BlYy5pcEZhbWlseVBvbGljeScsXG4gICAgICAgICk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgZGVmYXVsdDoge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gICAgc3BlY2lmaWNGaWx0ZXJzLnB1c2goXG4gICAgICBlbXB0eU9iamVjdFJlbW92ZVJ1bGVGYWN0b3J5KFtNRVRBREFUQSwgQU5OT1RBVElPTlNdKSxcbiAgICAgIGVtcHR5T2JqZWN0UmVtb3ZlUnVsZUZhY3RvcnkoW01FVEFEQVRBLCBMQUJFTFNdKSxcbiAgICApO1xuICAgIHJldHVybiB5YW1sRmlsdGVyRmllbGQociwgWy4uLmNvbW1vbkZpbHRlcnMsIC4uLnNwZWNpZmljRmlsdGVyc10pO1xuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqXG4gICAqIEB0ZW1wbGF0ZSBUXG4gICAqIEBwYXJhbSB7VH0gcmVzb3VyY2VcbiAgICogQHBhcmFtIHtib29sZWFufSBbY29uY2lzZT1mYWxzZV0g57K+566AIFlhbWxcbiAgICogQHBhcmFtIHtib29sZWFufSBbcmVkdWNlPWZhbHNlXSDpmpDol48gbWFuYWdlZEZpZWxkc1xuICAgKiBAcmV0dXJuc1xuICAgKiBAbWVtYmVyb2YgWWFtbFV0aWxTZXJ2aWNlXG4gICAqL1xuICBnZW5lcmF0ZUZpbHRlcmVkWWFtbFJlc291cmNlPFQgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2U+KFxuICAgIHJlc291cmNlOiBBcnJheWFibGU8VD4sXG4gICAgY29uY2lzZSA9IGZhbHNlLFxuICAgIHJlZHVjZSA9IGZhbHNlLFxuICApIHtcbiAgICByZXR1cm4gc29ydEJ5KEFycmF5LmlzQXJyYXkocmVzb3VyY2UpID8gcmVzb3VyY2UgOiBbcmVzb3VyY2VdLCAna2luZCcpXG4gICAgICAubWFwKChyZXNvdXJjZTogVCkgPT5cbiAgICAgICAgY29uY2lzZVxuICAgICAgICAgID8gdGhpcy5nZXRDb25jaXNlUmVzb3VyY2UocmVzb3VyY2UpXG4gICAgICAgICAgOiByZWR1Y2VcbiAgICAgICAgICA/IHlhbWxGaWx0ZXJGaWVsZChyZXNvdXJjZSwgWydtZXRhZGF0YS5tYW5hZ2VkRmllbGRzJ10pXG4gICAgICAgICAgOiByZXNvdXJjZSxcbiAgICAgIClcbiAgICAgIC5tYXAocmVzID0+XG4gICAgICAgIHN0cmluZ2lmeShyZXMsIHtcbiAgICAgICAgICBzdHJpY3Q6IGZhbHNlLFxuICAgICAgICAgIHNvcnRNYXBFbnRyaWVzOiB0cnVlLFxuICAgICAgICB9KSxcbiAgICAgIClcbiAgICAgIC5qb2luKCdcXG4tLS1cXHJcXG5cXG4nKTtcbiAgfVxufVxuIl19
|