@c8y/ngx-components 1021.38.1 → 1021.49.1
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/services.d.ts +1 -1
- package/api/services.d.ts.map +1 -1
- package/auth-configuration/sso-configuration/template-parts/access-mapping/access-mapping.component.d.ts.map +1 -1
- package/connectivity/abstract-connectivity-tab.factory.d.ts +1 -1
- package/context-dashboard/add-dashboard.component.d.ts.map +1 -1
- package/context-dashboard/context-dashboard.model.d.ts +4 -2
- package/context-dashboard/context-dashboard.model.d.ts.map +1 -1
- package/context-dashboard/dashboard-detail.component.d.ts.map +1 -1
- package/context-dashboard/dashboard-manager/dashboard-manager.model.d.ts +1 -0
- package/context-dashboard/dashboard-manager/dashboard-manager.model.d.ts.map +1 -1
- package/context-dashboard/dashboard-manager/dashboard-manager.service.d.ts +0 -1
- package/context-dashboard/dashboard-manager/dashboard-manager.service.d.ts.map +1 -1
- package/context-dashboard/dashboard-manager/type-dashboards-list/type-dashboards-list.component.d.ts.map +1 -1
- package/context-dashboard/new-dashboard.guard.d.ts +1 -1
- package/context-dashboard/new-dashboard.guard.d.ts.map +1 -1
- package/core/action/action.component.d.ts +2 -1
- package/core/action/action.component.d.ts.map +1 -1
- package/core/action/action.model.d.ts +3 -2
- package/core/action/action.model.d.ts.map +1 -1
- package/core/breadcrumb/breadcrumb-item.component.d.ts +2 -1
- package/core/breadcrumb/breadcrumb-item.component.d.ts.map +1 -1
- package/core/breadcrumb/breadcrumb.model.d.ts +2 -1
- package/core/breadcrumb/breadcrumb.model.d.ts.map +1 -1
- package/core/common/ApplicationOptions.d.ts +1 -0
- package/core/common/ApplicationOptions.d.ts.map +1 -1
- package/core/common/empty-state/empty-state.component.d.ts +2 -1
- package/core/common/empty-state/empty-state.component.d.ts.map +1 -1
- package/core/common/get-group-icon.pipe.d.ts +2 -1
- package/core/common/get-group-icon.pipe.d.ts.map +1 -1
- package/core/common/group.service.d.ts +22 -7
- package/core/common/group.service.d.ts.map +1 -1
- package/core/common/icon.directive.d.ts +5 -5
- package/core/common/icon.directive.d.ts.map +1 -1
- package/core/common/service-registry.model.d.ts +2 -1
- package/core/common/service-registry.model.d.ts.map +1 -1
- package/core/data-grid/data-grid.model.d.ts +2 -1
- package/core/data-grid/data-grid.model.d.ts.map +1 -1
- package/core/docs/docs.models.d.ts +2 -1
- package/core/docs/docs.models.d.ts.map +1 -1
- package/core/docs/help-and-support-outlet/help-and-support-outlet.component.d.ts +5 -1
- package/core/docs/help-and-support-outlet/help-and-support-outlet.component.d.ts.map +1 -1
- package/core/docs/legal-notices-outlet/legal-notices-outlet.component.d.ts +5 -1
- package/core/docs/legal-notices-outlet/legal-notices-outlet.component.d.ts.map +1 -1
- package/core/docs/support-outlet/support-outlet.component.d.ts +5 -1
- package/core/docs/support-outlet/support-outlet.component.d.ts.map +1 -1
- package/core/forms/filter-input.component.d.ts +8 -3
- package/core/forms/filter-input.component.d.ts.map +1 -1
- package/core/list-group/list-item-action.component.d.ts +2 -1
- package/core/list-group/list-item-action.component.d.ts.map +1 -1
- package/core/list-group/list-item-icon.component.d.ts +2 -1
- package/core/list-group/list-item-icon.component.d.ts.map +1 -1
- package/core/login/login.service.d.ts.map +1 -1
- package/core/navigator/navigator-icon.component.d.ts +1 -1
- package/core/navigator/navigator-icon.component.d.ts.map +1 -1
- package/core/navigator/navigator-node-data.d.ts +2 -1
- package/core/navigator/navigator-node-data.d.ts.map +1 -1
- package/core/navigator/navigator-node.component.d.ts.map +1 -1
- package/core/navigator/navigator-node.d.ts +2 -1
- package/core/navigator/navigator-node.d.ts.map +1 -1
- package/core/plugins/plugins.model.d.ts +7 -2
- package/core/plugins/plugins.model.d.ts.map +1 -1
- package/core/plugins/plugins.service.d.ts.map +1 -1
- package/core/properties-list/properties-list.component.d.ts +2 -1
- package/core/properties-list/properties-list.component.d.ts.map +1 -1
- package/core/provider-configuration/model/dynamic-provider-config.model.d.ts +2 -2
- package/core/provider-configuration/model/dynamic-provider-config.model.d.ts.map +1 -1
- package/core/router/context-route.service.d.ts.map +1 -1
- package/core/router/router.model.d.ts +1 -1
- package/core/router/router.model.d.ts.map +1 -1
- package/core/router/scoped-context-route.service.d.ts.map +1 -1
- package/core/search/search.model.d.ts +2 -1
- package/core/search/search.model.d.ts.map +1 -1
- package/core/select/select-keyboard.service.d.ts +4 -0
- package/core/select/select-keyboard.service.d.ts.map +1 -1
- package/core/select/select.component.d.ts +14 -3
- package/core/select/select.component.d.ts.map +1 -1
- package/core/select-modal/select-modal.component.d.ts +2 -1
- package/core/select-modal/select-modal.component.d.ts.map +1 -1
- package/core/shared/core.model.d.ts +5 -1
- package/core/shared/core.model.d.ts.map +1 -1
- package/core/tabs/conditional-tabs-outlet.component.d.ts.map +1 -1
- package/core/tabs/tab.component.d.ts +3 -2
- package/core/tabs/tab.component.d.ts.map +1 -1
- package/core/tabs/tab.model.d.ts +10 -5
- package/core/tabs/tab.model.d.ts.map +1 -1
- package/core/tabs/tabs-outlet.component.d.ts +7 -4
- package/core/tabs/tabs-outlet.component.d.ts.map +1 -1
- package/core/user/user-menu-item.component.d.ts +2 -1
- package/core/user/user-menu-item.component.d.ts.map +1 -1
- package/core/user/user.model.d.ts +2 -1
- package/core/user/user.model.d.ts.map +1 -1
- package/core/wizard/wizard.model.d.ts +4 -3
- package/core/wizard/wizard.model.d.ts.map +1 -1
- package/data-grid-columns/asset-type/asset-type.cell-renderer.component.d.ts.map +1 -1
- package/datapoint-selector/datapoint-attributes-form/datapoint-attributes-form.component.d.ts +15 -46
- package/datapoint-selector/datapoint-attributes-form/datapoint-attributes-form.component.d.ts.map +1 -1
- package/datapoint-selector/datapoint-attributes-form/datapoint-attributes.model.d.ts +3 -0
- package/datapoint-selector/datapoint-attributes-form/datapoint-attributes.model.d.ts.map +1 -1
- package/datapoint-selector/datapoint-selection.model.d.ts +6 -7
- package/datapoint-selector/datapoint-selection.model.d.ts.map +1 -1
- package/datapoints-export-selector/datapoints-export-selector.model.d.ts +2 -1
- package/datapoints-export-selector/datapoints-export-selector.model.d.ts.map +1 -1
- package/device-grid/columns/icon.cell-renderer.component.d.ts +14 -0
- package/device-grid/columns/icon.cell-renderer.component.d.ts.map +1 -0
- package/device-grid/columns/index.d.ts +1 -0
- package/device-grid/columns/index.d.ts.map +1 -1
- package/device-grid/device-grid.component.d.ts.map +1 -1
- package/device-grid/device-grid.service.d.ts +0 -2
- package/device-grid/device-grid.service.d.ts.map +1 -1
- package/device-provisioned-certificates/c8y-ngx-components-device-provisioned-certificates.d.ts.map +1 -0
- package/device-provisioned-certificates/device-provisioned-certificates.guard.d.ts +11 -0
- package/device-provisioned-certificates/device-provisioned-certificates.guard.d.ts.map +1 -0
- package/device-provisioned-certificates/device-provisioned-certificates.module.d.ts +13 -0
- package/device-provisioned-certificates/device-provisioned-certificates.module.d.ts.map +1 -0
- package/device-provisioned-certificates/device-provisioned-certificates.service.d.ts +13 -0
- package/device-provisioned-certificates/device-provisioned-certificates.service.d.ts.map +1 -0
- package/device-provisioned-certificates/device-tab-provisioned-certificates.component.d.ts +57 -0
- package/device-provisioned-certificates/device-tab-provisioned-certificates.component.d.ts.map +1 -0
- package/device-provisioned-certificates/index.d.ts +2 -0
- package/device-provisioned-certificates/index.d.ts.map +1 -0
- package/ecosystem/application-plugins/application-plugins.component.d.ts +4 -0
- package/ecosystem/application-plugins/application-plugins.component.d.ts.map +1 -1
- package/ecosystem/application-plugins/application-plugins.module.d.ts +2 -2
- package/ecosystem/application-plugins/application-plugins.module.d.ts.map +1 -1
- package/ecosystem/application-plugins/index.d.ts +1 -0
- package/ecosystem/application-plugins/index.d.ts.map +1 -1
- package/ecosystem/application-plugins/install-plugin.component.d.ts +9 -11
- package/ecosystem/application-plugins/install-plugin.component.d.ts.map +1 -1
- package/ecosystem/application-plugins/only-latest-filter/only-latest-filter.component.d.ts +12 -0
- package/ecosystem/application-plugins/only-latest-filter/only-latest-filter.component.d.ts.map +1 -0
- package/ecosystem/application-plugins/plugin-list-item.component.d.ts +8 -3
- package/ecosystem/application-plugins/plugin-list-item.component.d.ts.map +1 -1
- package/ecosystem/application-plugins/plugin-list.component.d.ts.map +1 -1
- package/ecosystem/application-plugins/update-plugin-of-app/update-plugin-of-app.component.d.ts.map +1 -1
- package/ecosystem/applications/application-list/application-list.component.d.ts +2 -2
- package/ecosystem/applications/application-list/application-list.component.d.ts.map +1 -1
- package/ecosystem/applications/install-from-package/install-from-package.component.d.ts.map +1 -1
- package/ecosystem/archived-confirm/archived-confirm-modal.component.d.ts +11 -0
- package/ecosystem/archived-confirm/archived-confirm-modal.component.d.ts.map +1 -0
- package/ecosystem/archived-confirm/archived-confirm.module.d.ts +10 -0
- package/ecosystem/archived-confirm/archived-confirm.module.d.ts.map +1 -0
- package/ecosystem/archived-confirm/c8y-ngx-components-ecosystem-archived-confirm.d.ts.map +1 -0
- package/ecosystem/archived-confirm/index.d.ts +3 -0
- package/ecosystem/archived-confirm/index.d.ts.map +1 -0
- package/ecosystem/ecosystem.module.d.ts +2 -1
- package/ecosystem/ecosystem.module.d.ts.map +1 -1
- package/ecosystem/features/feature-list.component.d.ts +2 -2
- package/ecosystem/features/feature-list.component.d.ts.map +1 -1
- package/ecosystem/microservices/microservice-list.component.d.ts +2 -2
- package/ecosystem/microservices/microservice-list.component.d.ts.map +1 -1
- package/ecosystem/packages/deploy-application/deploy-application.component.d.ts.map +1 -1
- package/ecosystem/packages/package-details/package-details.component.d.ts +7 -2
- package/ecosystem/packages/package-details/package-details.component.d.ts.map +1 -1
- package/ecosystem/packages/package-list/packages-list.component.d.ts +2 -2
- package/ecosystem/packages/package-list/packages-list.component.d.ts.map +1 -1
- package/ecosystem/shared/add-application.component.d.ts +2 -1
- package/ecosystem/shared/add-application.component.d.ts.map +1 -1
- package/ecosystem/shared/application-card.component.d.ts +4 -0
- package/ecosystem/shared/application-card.component.d.ts.map +1 -1
- package/ecosystem/shared/archived-filter/archived-filter.component.d.ts +12 -0
- package/ecosystem/shared/archived-filter/archived-filter.component.d.ts.map +1 -0
- package/ecosystem/shared/ecosystem.constants.d.ts +4 -0
- package/ecosystem/shared/ecosystem.constants.d.ts.map +1 -1
- package/ecosystem/shared/ecosystem.model.d.ts +5 -1
- package/ecosystem/shared/ecosystem.model.d.ts.map +1 -1
- package/ecosystem/shared/ecosystem.service.d.ts +7 -0
- package/ecosystem/shared/ecosystem.service.d.ts.map +1 -1
- package/ecosystem/shared/index.d.ts +1 -0
- package/ecosystem/shared/index.d.ts.map +1 -1
- package/ecosystem/shared/list-filters/list-filters.component.d.ts +14 -4
- package/ecosystem/shared/list-filters/list-filters.component.d.ts.map +1 -1
- package/ecosystem/shared/list-filters/list-filters.model.d.ts +8 -2
- package/ecosystem/shared/list-filters/list-filters.model.d.ts.map +1 -1
- package/ecosystem/shared/shared-ecosystem.module.d.ts +9 -8
- package/ecosystem/shared/shared-ecosystem.module.d.ts.map +1 -1
- package/ecosystem/shared/translate-package-label.pipe.d.ts +1 -1
- package/ecosystem/shared/translate-package-label.pipe.d.ts.map +1 -1
- package/esm2022/alarms/alarm-info.component.mjs +1 -1
- package/esm2022/api/services.mjs +2 -2
- package/esm2022/auth-configuration/sso-configuration/template-parts/access-mapping/access-mapping.component.mjs +10 -5
- package/esm2022/auth-configuration/sso-configuration/template-parts/user-data-mapping.component.mjs +4 -4
- package/esm2022/context-dashboard/add-dashboard.component.mjs +4 -2
- package/esm2022/context-dashboard/context-dashboard.model.mjs +3 -2
- package/esm2022/context-dashboard/context-dashboard.service.mjs +2 -2
- package/esm2022/context-dashboard/dashboard-detail.component.mjs +5 -3
- package/esm2022/context-dashboard/dashboard-manager/dashboard-manager.model.mjs +1 -1
- package/esm2022/context-dashboard/dashboard-manager/dashboard-manager.service.mjs +5 -15
- package/esm2022/context-dashboard/dashboard-manager/type-dashboards-list/type-dashboards-list.component.mjs +2 -2
- package/esm2022/context-dashboard/new-dashboard.guard.mjs +1 -1
- package/esm2022/core/action/action.component.mjs +1 -1
- package/esm2022/core/action/action.model.mjs +1 -1
- package/esm2022/core/bootstrap/bootstrap.component.mjs +1 -1
- package/esm2022/core/breadcrumb/breadcrumb-item.component.mjs +1 -1
- package/esm2022/core/breadcrumb/breadcrumb.model.mjs +1 -1
- package/esm2022/core/common/ApplicationOptions.mjs +1 -1
- package/esm2022/core/common/empty-state/empty-state.component.mjs +1 -1
- package/esm2022/core/common/get-group-icon.pipe.mjs +1 -1
- package/esm2022/core/common/group.service.mjs +2 -2
- package/esm2022/core/common/icon.directive.mjs +1 -1
- package/esm2022/core/common/service-registry.model.mjs +1 -1
- package/esm2022/core/data-grid/data-grid.model.mjs +1 -1
- package/esm2022/core/docs/docs.models.mjs +1 -1
- package/esm2022/core/docs/support-outlet/support-outlet.component.mjs +3 -3
- package/esm2022/core/forms/filter-input.component.mjs +22 -7
- package/esm2022/core/list-group/list-item-action.component.mjs +1 -1
- package/esm2022/core/list-group/list-item-icon.component.mjs +1 -1
- package/esm2022/core/login/credentials.component.mjs +2 -2
- package/esm2022/core/login/login.service.mjs +18 -7
- package/esm2022/core/navigator/navigator-node-data.mjs +1 -1
- package/esm2022/core/navigator/navigator-node.component.mjs +11 -2
- package/esm2022/core/navigator/navigator-node.mjs +1 -1
- package/esm2022/core/plugins/plugins.model.mjs +5 -1
- package/esm2022/core/plugins/plugins.service.mjs +6 -2
- package/esm2022/core/properties-list/properties-list.component.mjs +1 -1
- package/esm2022/core/provider-configuration/model/dynamic-provider-config.model.mjs +1 -1
- package/esm2022/core/router/context-route.service.mjs +4 -2
- package/esm2022/core/router/router.model.mjs +1 -1
- package/esm2022/core/router/scoped-context-route.service.mjs +4 -2
- package/esm2022/core/search/search.model.mjs +1 -1
- package/esm2022/core/select/select-keyboard.service.mjs +7 -3
- package/esm2022/core/select/select.component.mjs +36 -8
- package/esm2022/core/select-modal/select-modal.component.mjs +2 -2
- package/esm2022/core/shared/core.model.mjs +6 -2
- package/esm2022/core/tabs/conditional-tabs-outlet.component.mjs +4 -2
- package/esm2022/core/tabs/tab.component.mjs +1 -1
- package/esm2022/core/tabs/tab.model.mjs +1 -1
- package/esm2022/core/tabs/tabs-outlet.component.mjs +41 -12
- package/esm2022/core/user/user-menu-item.component.mjs +1 -1
- package/esm2022/core/user/user.model.mjs +1 -1
- package/esm2022/core/wizard/wizard.model.mjs +1 -1
- package/esm2022/data-grid-columns/asset-type/asset-type.cell-renderer.component.mjs +1 -1
- package/esm2022/datapoint-selector/datapoint-attributes-form/datapoint-attributes-form.component.mjs +47 -22
- package/esm2022/datapoint-selector/datapoint-attributes-form/datapoint-attributes.model.mjs +1 -1
- package/esm2022/datapoint-selector/datapoint-selection.model.mjs +1 -1
- package/esm2022/datapoint-selector/datapoint-selector-list-item/datapoint-selector-list-item.component.mjs +3 -3
- package/esm2022/datapoints-export-selector/datapoints-export-selector.model.mjs +1 -1
- package/esm2022/device-grid/columns/icon.cell-renderer.component.mjs +42 -0
- package/esm2022/device-grid/columns/index.mjs +2 -1
- package/esm2022/device-grid/device-grid.component.mjs +3 -3
- package/esm2022/device-grid/device-grid.service.mjs +7 -25
- package/esm2022/device-provisioned-certificates/c8y-ngx-components-device-provisioned-certificates.mjs +5 -0
- package/esm2022/device-provisioned-certificates/device-provisioned-certificates.guard.mjs +28 -0
- package/esm2022/device-provisioned-certificates/device-provisioned-certificates.module.mjs +51 -0
- package/esm2022/device-provisioned-certificates/device-provisioned-certificates.service.mjs +31 -0
- package/esm2022/device-provisioned-certificates/device-tab-provisioned-certificates.component.mjs +76 -0
- package/esm2022/device-provisioned-certificates/index.mjs +2 -0
- package/esm2022/ecosystem/application-plugins/application-plugins.component.mjs +41 -39
- package/esm2022/ecosystem/application-plugins/application-plugins.module.mjs +8 -6
- package/esm2022/ecosystem/application-plugins/apps-to-update-remotes-select.component.mjs +1 -1
- package/esm2022/ecosystem/application-plugins/index.mjs +2 -1
- package/esm2022/ecosystem/application-plugins/install-plugin.component.mjs +18 -21
- package/esm2022/ecosystem/application-plugins/only-latest-filter/only-latest-filter.component.mjs +26 -0
- package/esm2022/ecosystem/application-plugins/plugin-list-item.component.mjs +14 -6
- package/esm2022/ecosystem/application-plugins/plugin-list.component.mjs +14 -12
- package/esm2022/ecosystem/application-plugins/update-plugin-of-app/update-plugin-of-app.component.mjs +7 -1
- package/esm2022/ecosystem/applications/application-list/application-list.component.mjs +1 -1
- package/esm2022/ecosystem/applications/install-from-package/install-from-package.component.mjs +6 -1
- package/esm2022/ecosystem/archived-confirm/archived-confirm-modal.component.mjs +22 -0
- package/esm2022/ecosystem/archived-confirm/archived-confirm.module.mjs +32 -0
- package/esm2022/ecosystem/archived-confirm/c8y-ngx-components-ecosystem-archived-confirm.mjs +5 -0
- package/esm2022/ecosystem/archived-confirm/index.mjs +3 -0
- package/esm2022/ecosystem/ecosystem.module.mjs +20 -16
- package/esm2022/ecosystem/features/feature-list.component.mjs +1 -1
- package/esm2022/ecosystem/microservices/microservice-list.component.mjs +1 -1
- package/esm2022/ecosystem/packages/deploy-application/deploy-application.component.mjs +6 -1
- package/esm2022/ecosystem/packages/package-details/package-details.component.mjs +13 -8
- package/esm2022/ecosystem/packages/package-list/packages-list.component.mjs +4 -4
- package/esm2022/ecosystem/shared/add-application.component.mjs +1 -1
- package/esm2022/ecosystem/shared/application-card.component.mjs +3 -3
- package/esm2022/ecosystem/shared/archived-filter/archived-filter.component.mjs +27 -0
- package/esm2022/ecosystem/shared/ecosystem.constants.mjs +5 -1
- package/esm2022/ecosystem/shared/ecosystem.model.mjs +7 -3
- package/esm2022/ecosystem/shared/ecosystem.service.mjs +26 -1
- package/esm2022/ecosystem/shared/index.mjs +2 -1
- package/esm2022/ecosystem/shared/list-filters/list-filters.component.mjs +75 -13
- package/esm2022/ecosystem/shared/list-filters/list-filters.model.mjs +1 -1
- package/esm2022/ecosystem/shared/shared-ecosystem.module.mjs +10 -5
- package/esm2022/ecosystem/shared/translate-package-label.pipe.mjs +3 -3
- package/esm2022/files-repository/files-repository.component.mjs +2 -2
- package/esm2022/files-repository/files-repository.service.mjs +5 -16
- package/esm2022/icon-selector/icon-selector.component.mjs +1 -1
- package/esm2022/icon-selector/icons/index.mjs +1 -1
- package/esm2022/operations/shared/status-option.model.mjs +1 -1
- package/esm2022/protocol-lwm2m/components/configuration/lwm2m-configuration.component.mjs +2 -2
- package/esm2022/protocol-opcua/opcua-auto-apply-settings.component.mjs +1 -1
- package/esm2022/register-device/bulk/bulk-device-registration-modal.component.mjs +17 -9
- package/esm2022/register-device/general/general-device-registration-button.component.mjs +3 -3
- package/esm2022/register-device/general/general-device-registration.component.mjs +109 -33
- package/esm2022/remote-access/configurations/c8y-ngx-components-remote-access-configurations.mjs +5 -0
- package/esm2022/remote-access/configurations/index.mjs +16 -0
- package/esm2022/remote-access/configurations/remote-access-configuration-list/remote-access-configuration-list.component.mjs +218 -0
- package/esm2022/remote-access/configurations/remote-access-configuration-list/remote-access-connect-button/remote-access-connect-button.component.mjs +60 -0
- package/esm2022/remote-access/configurations/remote-access-pick-protocol-modal/remote-access-pick-protocol-modal.component.mjs +36 -0
- package/esm2022/remote-access/data/c8y-ngx-components-remote-access-data.mjs +5 -0
- package/esm2022/remote-access/data/index.mjs +3 -0
- package/esm2022/remote-access/data/remote-access-protocol-provider.mjs +2 -0
- package/esm2022/remote-access/data/remote-access.service.mjs +200 -0
- package/esm2022/remote-access/passthrough/c8y-ngx-components-remote-access-passthrough.mjs +5 -0
- package/esm2022/remote-access/passthrough/index.mjs +36 -0
- package/esm2022/remote-access/shared/c8y-ngx-components-remote-access-shared.mjs +5 -0
- package/esm2022/remote-access/shared/index.mjs +3 -0
- package/esm2022/remote-access/shared/remote-access-basic-endpoint-modal/remote-access-basic-endpoint-modal.component.mjs +49 -0
- package/esm2022/remote-access/shared/ssh-key-input/ssh-key-input.component.mjs +87 -0
- package/esm2022/remote-access/ssh/c8y-ngx-components-remote-access-ssh.mjs +5 -0
- package/esm2022/remote-access/ssh/index.mjs +73 -0
- package/esm2022/remote-access/ssh/remote-access-ssh-endpoint-modal/c8y-ngx-components-remote-access-ssh-remote-access-ssh-endpoint-modal.mjs +5 -0
- package/esm2022/remote-access/ssh/remote-access-ssh-endpoint-modal/index.mjs +2 -0
- package/esm2022/remote-access/ssh/remote-access-ssh-endpoint-modal/remote-access-ssh-endpoint-modal.component.mjs +104 -0
- package/esm2022/remote-access/telnet/c8y-ngx-components-remote-access-telnet.mjs +5 -0
- package/esm2022/remote-access/telnet/index.mjs +43 -0
- package/esm2022/remote-access/terminal-viewer/c8y-ngx-components-remote-access-terminal-viewer.mjs +5 -0
- package/esm2022/remote-access/terminal-viewer/index.mjs +2 -0
- package/esm2022/remote-access/terminal-viewer/shell-adapter.mjs +36 -0
- package/esm2022/remote-access/terminal-viewer/telnet-negotiator.mjs +96 -0
- package/esm2022/remote-access/terminal-viewer/terminal-viewer.component.mjs +101 -0
- package/esm2022/remote-access/vnc/c8y-ngx-components-remote-access-vnc.mjs +5 -0
- package/esm2022/remote-access/vnc/index.mjs +73 -0
- package/esm2022/remote-access/vnc/remote-access-vnc-endpoint-modal/c8y-ngx-components-remote-access-vnc-remote-access-vnc-endpoint-modal.mjs +5 -0
- package/esm2022/remote-access/vnc/remote-access-vnc-endpoint-modal/index.mjs +2 -0
- package/esm2022/remote-access/vnc/remote-access-vnc-endpoint-modal/remote-access-vnc-endpoint-modal.component.mjs +59 -0
- package/esm2022/remote-access/vnc/vnc-viewer/c8y-ngx-components-remote-access-vnc-vnc-viewer.mjs +5 -0
- package/esm2022/remote-access/vnc/vnc-viewer/index.mjs +2 -0
- package/esm2022/remote-access/vnc/vnc-viewer/vnc-credentials-prompt/vnc-credentials-prompt.component.mjs +57 -0
- package/esm2022/remote-access/vnc/vnc-viewer/vnc-viewer.component.mjs +158 -0
- package/esm2022/replace-device/replace-device-wizard/replace-device-wizard.model.mjs +1 -1
- package/esm2022/report-dashboard/report-dashboard-list.component.mjs +4 -3
- package/esm2022/repository/configuration/device-tab/device-configuration-list.component.mjs +1 -1
- package/esm2022/repository/shared/repository.model.mjs +1 -1
- package/esm2022/repository/shared/repository.service.mjs +3 -3
- package/esm2022/services/status-options/status-options.model.mjs +1 -1
- package/esm2022/sub-assets/group-info.component.mjs +1 -1
- package/esm2022/translation-editor/data/translation-store.service.mjs +4 -3
- package/esm2022/trusted-certificates/list/trusted-certificate-list.component.mjs +35 -9
- package/esm2022/upgrade/bridge.service.mjs +16 -2
- package/esm2022/widgets/implementations/alarms/severity-icon.pipe.mjs +1 -1
- package/esm2022/widgets/implementations/datapoints-table/datapoints-table-config/datapoints-table-config.component.mjs +3 -2
- package/esm2022/widgets/implementations/kpi/kpi-widget.model.mjs +1 -1
- package/fesm2022/c8y-ngx-components-alarms.mjs +1 -1
- package/fesm2022/c8y-ngx-components-alarms.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-api.mjs +3 -2
- package/fesm2022/c8y-ngx-components-api.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-auth-configuration.mjs +12 -7
- package/fesm2022/c8y-ngx-components-auth-configuration.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-context-dashboard.mjs +15 -20
- package/fesm2022/c8y-ngx-components-context-dashboard.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-data-grid-columns-asset-type.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-data-grid-columns.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-datapoint-selector.mjs +48 -23
- package/fesm2022/c8y-ngx-components-datapoint-selector.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-datapoints-export-selector.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-device-grid.mjs +48 -28
- package/fesm2022/c8y-ngx-components-device-grid.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-device-provisioned-certificates.mjs +174 -0
- package/fesm2022/c8y-ngx-components-device-provisioned-certificates.mjs.map +1 -0
- package/fesm2022/c8y-ngx-components-ecosystem-application-plugins.mjs +125 -105
- package/fesm2022/c8y-ngx-components-ecosystem-application-plugins.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-ecosystem-archived-confirm.mjs +57 -0
- package/fesm2022/c8y-ngx-components-ecosystem-archived-confirm.mjs.map +1 -0
- package/fesm2022/c8y-ngx-components-ecosystem-shared.mjs +147 -31
- package/fesm2022/c8y-ngx-components-ecosystem-shared.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-ecosystem.mjs +1452 -1414
- package/fesm2022/c8y-ngx-components-ecosystem.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-files-repository.mjs +5 -16
- package/fesm2022/c8y-ngx-components-files-repository.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-icon-selector-icons.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-icon-selector.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-protocol-lwm2m-components-configuration.mjs +1 -1
- package/fesm2022/c8y-ngx-components-protocol-lwm2m-components-configuration.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-protocol-opcua.mjs +1 -1
- package/fesm2022/c8y-ngx-components-protocol-opcua.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-register-device.mjs +269 -188
- package/fesm2022/c8y-ngx-components-register-device.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-remote-access-configurations.mjs +314 -0
- package/fesm2022/c8y-ngx-components-remote-access-configurations.mjs.map +1 -0
- package/fesm2022/c8y-ngx-components-remote-access-data.mjs +206 -0
- package/fesm2022/c8y-ngx-components-remote-access-data.mjs.map +1 -0
- package/fesm2022/c8y-ngx-components-remote-access-passthrough.mjs +42 -0
- package/fesm2022/c8y-ngx-components-remote-access-passthrough.mjs.map +1 -0
- package/fesm2022/c8y-ngx-components-remote-access-shared.mjs +138 -0
- package/fesm2022/c8y-ngx-components-remote-access-shared.mjs.map +1 -0
- package/fesm2022/c8y-ngx-components-remote-access-ssh-remote-access-ssh-endpoint-modal.mjs +111 -0
- package/fesm2022/c8y-ngx-components-remote-access-ssh-remote-access-ssh-endpoint-modal.mjs.map +1 -0
- package/fesm2022/c8y-ngx-components-remote-access-ssh.mjs +79 -0
- package/fesm2022/c8y-ngx-components-remote-access-ssh.mjs.map +1 -0
- package/fesm2022/c8y-ngx-components-remote-access-telnet.mjs +50 -0
- package/fesm2022/c8y-ngx-components-remote-access-telnet.mjs.map +1 -0
- package/fesm2022/c8y-ngx-components-remote-access-terminal-viewer.mjs +235 -0
- package/fesm2022/c8y-ngx-components-remote-access-terminal-viewer.mjs.map +1 -0
- package/fesm2022/c8y-ngx-components-remote-access-vnc-remote-access-vnc-endpoint-modal.mjs +66 -0
- package/fesm2022/c8y-ngx-components-remote-access-vnc-remote-access-vnc-endpoint-modal.mjs.map +1 -0
- package/fesm2022/c8y-ngx-components-remote-access-vnc-vnc-viewer.mjs +211 -0
- package/fesm2022/c8y-ngx-components-remote-access-vnc-vnc-viewer.mjs.map +1 -0
- package/fesm2022/c8y-ngx-components-remote-access-vnc.mjs +79 -0
- package/fesm2022/c8y-ngx-components-remote-access-vnc.mjs.map +1 -0
- package/fesm2022/c8y-ngx-components-replace-device-replace-device-wizard.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-report-dashboard.mjs +3 -2
- package/fesm2022/c8y-ngx-components-report-dashboard.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-repository-configuration.mjs +1 -1
- package/fesm2022/c8y-ngx-components-repository-configuration.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-repository-shared.mjs +2 -2
- package/fesm2022/c8y-ngx-components-repository-shared.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-services.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-sub-assets.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-translation-editor-data.mjs +3 -2
- package/fesm2022/c8y-ngx-components-translation-editor-data.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-trusted-certificates.mjs +43 -17
- package/fesm2022/c8y-ngx-components-trusted-certificates.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-upgrade.mjs +16 -2
- package/fesm2022/c8y-ngx-components-upgrade.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-alarms.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-table.mjs +2 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-table.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components.mjs +151 -38
- package/fesm2022/c8y-ngx-components.mjs.map +1 -1
- package/files-repository/files-repository.component.d.ts.map +1 -1
- package/files-repository/files-repository.service.d.ts +0 -2
- package/files-repository/files-repository.service.d.ts.map +1 -1
- package/icon-selector/icon-selector.component.d.ts +3 -2
- package/icon-selector/icon-selector.component.d.ts.map +1 -1
- package/icon-selector/icons/index.d.ts +1 -0
- package/icon-selector/icons/index.d.ts.map +1 -1
- package/locales/de.po +157 -5
- package/locales/es.po +157 -5
- package/locales/fr.po +157 -5
- package/locales/ja_JP.po +156 -5
- package/locales/ko.po +156 -5
- package/locales/locales.pot +156 -4
- package/locales/nl.po +157 -5
- package/locales/pl.po +157 -5
- package/locales/pt_BR.po +157 -5
- package/locales/zh_CN.po +156 -5
- package/locales/zh_TW.po +156 -5
- package/operations/shared/status-option.model.d.ts +2 -1
- package/operations/shared/status-option.model.d.ts.map +1 -1
- package/package.json +1 -1
- package/register-device/bulk/bulk-device-registration-modal.component.d.ts +6 -2
- package/register-device/bulk/bulk-device-registration-modal.component.d.ts.map +1 -1
- package/register-device/general/general-device-registration-button.component.d.ts +1 -1
- package/register-device/general/general-device-registration-button.component.d.ts.map +1 -1
- package/register-device/general/general-device-registration.component.d.ts +21 -7
- package/register-device/general/general-device-registration.component.d.ts.map +1 -1
- package/remote-access/configurations/c8y-ngx-components-remote-access-configurations.d.ts.map +1 -0
- package/remote-access/configurations/index.d.ts +3 -0
- package/remote-access/configurations/index.d.ts.map +1 -0
- package/remote-access/configurations/remote-access-configuration-list/remote-access-configuration-list.component.d.ts +34 -0
- package/remote-access/configurations/remote-access-configuration-list/remote-access-configuration-list.component.d.ts.map +1 -0
- package/remote-access/configurations/remote-access-configuration-list/remote-access-connect-button/remote-access-connect-button.component.d.ts +17 -0
- package/remote-access/configurations/remote-access-configuration-list/remote-access-connect-button/remote-access-connect-button.component.d.ts.map +1 -0
- package/remote-access/configurations/remote-access-pick-protocol-modal/remote-access-pick-protocol-modal.component.d.ts +18 -0
- package/remote-access/configurations/remote-access-pick-protocol-modal/remote-access-pick-protocol-modal.component.d.ts.map +1 -0
- package/remote-access/data/c8y-ngx-components-remote-access-data.d.ts.map +1 -0
- package/remote-access/data/index.d.ts +3 -0
- package/remote-access/data/index.d.ts.map +1 -0
- package/remote-access/data/remote-access-protocol-provider.d.ts +21 -0
- package/remote-access/data/remote-access-protocol-provider.d.ts.map +1 -0
- package/remote-access/data/remote-access.service.d.ts +94 -0
- package/remote-access/data/remote-access.service.d.ts.map +1 -0
- package/remote-access/passthrough/c8y-ngx-components-remote-access-passthrough.d.ts.map +1 -0
- package/remote-access/passthrough/index.d.ts +17 -0
- package/remote-access/passthrough/index.d.ts.map +1 -0
- package/remote-access/shared/c8y-ngx-components-remote-access-shared.d.ts.map +1 -0
- package/remote-access/shared/index.d.ts +3 -0
- package/remote-access/shared/index.d.ts.map +1 -0
- package/remote-access/shared/remote-access-basic-endpoint-modal/remote-access-basic-endpoint-modal.component.d.ts +37 -0
- package/remote-access/shared/remote-access-basic-endpoint-modal/remote-access-basic-endpoint-modal.component.d.ts.map +1 -0
- package/remote-access/shared/ssh-key-input/ssh-key-input.component.d.ts +38 -0
- package/remote-access/shared/ssh-key-input/ssh-key-input.component.d.ts.map +1 -0
- package/remote-access/ssh/c8y-ngx-components-remote-access-ssh.d.ts.map +1 -0
- package/remote-access/ssh/index.d.ts +22 -0
- package/remote-access/ssh/index.d.ts.map +1 -0
- package/remote-access/ssh/remote-access-ssh-endpoint-modal/c8y-ngx-components-remote-access-ssh-remote-access-ssh-endpoint-modal.d.ts.map +1 -0
- package/remote-access/ssh/remote-access-ssh-endpoint-modal/index.d.ts +2 -0
- package/remote-access/ssh/remote-access-ssh-endpoint-modal/index.d.ts.map +1 -0
- package/remote-access/ssh/remote-access-ssh-endpoint-modal/remote-access-ssh-endpoint-modal.component.d.ts +64 -0
- package/remote-access/ssh/remote-access-ssh-endpoint-modal/remote-access-ssh-endpoint-modal.component.d.ts.map +1 -0
- package/remote-access/telnet/c8y-ngx-components-remote-access-telnet.d.ts.map +1 -0
- package/remote-access/telnet/index.d.ts +17 -0
- package/remote-access/telnet/index.d.ts.map +1 -0
- package/remote-access/terminal-viewer/c8y-ngx-components-remote-access-terminal-viewer.d.ts.map +1 -0
- package/remote-access/terminal-viewer/index.d.ts +2 -0
- package/remote-access/terminal-viewer/index.d.ts.map +1 -0
- package/remote-access/terminal-viewer/shell-adapter.d.ts +14 -0
- package/remote-access/terminal-viewer/shell-adapter.d.ts.map +1 -0
- package/remote-access/terminal-viewer/telnet-negotiator.d.ts +13 -0
- package/remote-access/terminal-viewer/telnet-negotiator.d.ts.map +1 -0
- package/remote-access/terminal-viewer/terminal-viewer.component.d.ts +25 -0
- package/remote-access/terminal-viewer/terminal-viewer.component.d.ts.map +1 -0
- package/remote-access/vnc/c8y-ngx-components-remote-access-vnc.d.ts.map +1 -0
- package/remote-access/vnc/index.d.ts +22 -0
- package/remote-access/vnc/index.d.ts.map +1 -0
- package/remote-access/vnc/remote-access-vnc-endpoint-modal/c8y-ngx-components-remote-access-vnc-remote-access-vnc-endpoint-modal.d.ts.map +1 -0
- package/remote-access/vnc/remote-access-vnc-endpoint-modal/index.d.ts +2 -0
- package/remote-access/vnc/remote-access-vnc-endpoint-modal/index.d.ts.map +1 -0
- package/remote-access/vnc/remote-access-vnc-endpoint-modal/remote-access-vnc-endpoint-modal.component.d.ts +46 -0
- package/remote-access/vnc/remote-access-vnc-endpoint-modal/remote-access-vnc-endpoint-modal.component.d.ts.map +1 -0
- package/remote-access/vnc/vnc-viewer/c8y-ngx-components-remote-access-vnc-vnc-viewer.d.ts.map +1 -0
- package/remote-access/vnc/vnc-viewer/index.d.ts +2 -0
- package/remote-access/vnc/vnc-viewer/index.d.ts.map +1 -0
- package/remote-access/vnc/vnc-viewer/vnc-credentials-prompt/vnc-credentials-prompt.component.d.ts +32 -0
- package/remote-access/vnc/vnc-viewer/vnc-credentials-prompt/vnc-credentials-prompt.component.d.ts.map +1 -0
- package/remote-access/vnc/vnc-viewer/vnc-viewer.component.d.ts +37 -0
- package/remote-access/vnc/vnc-viewer/vnc-viewer.component.d.ts.map +1 -0
- package/replace-device/replace-device-wizard/replace-device-wizard.model.d.ts +2 -1
- package/replace-device/replace-device-wizard/replace-device-wizard.model.d.ts.map +1 -1
- package/report-dashboard/report-dashboard-list.component.d.ts +29 -0
- package/report-dashboard/report-dashboard-list.component.d.ts.map +1 -1
- package/repository/shared/repository.model.d.ts +2 -1
- package/repository/shared/repository.model.d.ts.map +1 -1
- package/services/status-options/status-options.model.d.ts +2 -1
- package/services/status-options/status-options.model.d.ts.map +1 -1
- package/sub-assets/group-info.component.d.ts +2 -1
- package/sub-assets/group-info.component.d.ts.map +1 -1
- package/translation-editor/data/translation-store.service.d.ts.map +1 -1
- package/trusted-certificates/list/trusted-certificate-list.component.d.ts +7 -2
- package/trusted-certificates/list/trusted-certificate-list.component.d.ts.map +1 -1
- package/upgrade/bridge.service.d.ts +5 -0
- package/upgrade/bridge.service.d.ts.map +1 -1
- package/widgets/implementations/alarms/severity-icon.pipe.d.ts.map +1 -1
- package/widgets/implementations/datapoints-table/datapoints-table-config/datapoints-table-config.component.d.ts.map +1 -1
- package/widgets/implementations/kpi/kpi-widget.model.d.ts +2 -1
- package/widgets/implementations/kpi/kpi-widget.model.d.ts.map +1 -1
- package/ecosystem/application-plugins/only-latest-plugin-version.pipe.d.ts +0 -10
- package/ecosystem/application-plugins/only-latest-plugin-version.pipe.d.ts.map +0 -1
- package/esm2022/ecosystem/application-plugins/only-latest-plugin-version.pipe.mjs +0 -20
|
@@ -145,7 +145,9 @@ export class DashboardDetailComponent {
|
|
|
145
145
|
// dashboard creation in it's own tab- confirm and cleanup triggered in canDeactivate during routing
|
|
146
146
|
this.tabsService.items$.pipe(first()).subscribe((tabs) => {
|
|
147
147
|
const tab = tabs.find(t => t.featureId !== newDashboardTab.featureId);
|
|
148
|
-
this.router.
|
|
148
|
+
this.router.navigate(typeof tab.path === 'string' ? [tab.path] : tab.path, {
|
|
149
|
+
replaceUrl: true
|
|
150
|
+
});
|
|
149
151
|
});
|
|
150
152
|
return;
|
|
151
153
|
}
|
|
@@ -377,7 +379,7 @@ export class DashboardDetailComponent {
|
|
|
377
379
|
this.previewChanged.emit(this.dashboard);
|
|
378
380
|
}
|
|
379
381
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: DashboardDetailComponent, deps: [{ token: i1.ContextDashboardService }, { token: i2.TranslateService }, { token: i3.ContextRouteService }, { token: i4.ActivatedRoute }, { token: i3.TabsService }, { token: i4.Router }, { token: i5.InventoryService }, { token: i4.ActivatedRoute }, { token: i6.DashboardDetailService }, { token: i3.AppStateService }, { token: i3.GroupService }, { token: i3.ModalService }, { token: i3.GainsightService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
380
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: DashboardDetailComponent, selector: "c8y-dashboard-detail", inputs: { isReport: "isReport", deviceType: "deviceType", context: "context", mo: "mo", dashboard: "dashboard", isNamedDashboard: "isNamedDashboard", hideAvailability: "hideAvailability" }, outputs: { dashboardSaved: "dashboardSaved", previewChanged: "previewChanged" }, usesOnChanges: true, ngImport: i0, template: "<div\n class=\"collapse c8y-top-drawer\"\n [collapse]=\"isCollapsed\"\n [isAnimated]=\"true\"\n>\n <div class=\"p-t-16 p-b-16 p-l-24 p-r-24 separator-bottom\">\n <span class=\"h4\">{{ 'Dashboard settings' | translate }}</span>\n </div>\n\n <div\n class=\"d-flex\"\n [formGroup]=\"dashboardDetailsForm\"\n *ngIf=\"!isCollapsed\"\n >\n <c8y-tabs-outlet\n [tabs]=\"tabs$ | async\"\n [outletName]=\"TABS_OUTLET_NAME\"\n [orientation]=\"'vertical'\"\n class=\"c8y-top-drawer--tabs\"\n ></c8y-tabs-outlet>\n <div class=\"inner-scroll c8y-top-drawer__tabs-container flex-grow p-l-24 p-r-lg-32 p-r-xs-24 p-r-sm-24\">\n <c8y-tab\n *ngIf=\"(!isNamedDashboard && !hideAvailability) || isReport\"\n [label]=\"TABS.general.label\"\n [icon]=\"'imac-settings'\"\n [priority]=\"100\"\n [tabsOutlet]=\"TABS_OUTLET_NAME\"\n (onSelect)=\"selectTab(TABS.general.featureId)\"\n [isActive]=\"selectedTab === TABS.general.featureId\"\n ></c8y-tab>\n <c8y-tab\n [label]=\"TABS.appearance.label\"\n [priority]=\"50\"\n [icon]=\"'web-design'\"\n [tabsOutlet]=\"TABS_OUTLET_NAME\"\n (onSelect)=\"selectTab(TABS.appearance.featureId)\"\n [isActive]=\"selectedTab === TABS.appearance.featureId\"\n ></c8y-tab>\n <c8y-tab\n *ngIf=\"mo?.c8y_DashboardHistory\"\n [label]=\"TABS.versionHistory.label\"\n [icon]=\"'versions'\"\n [priority]=\"10\"\n [tabsOutlet]=\"TABS_OUTLET_NAME\"\n (onSelect)=\"selectTab(TABS.versionHistory.featureId)\"\n [isActive]=\"selectedTab === TABS.versionHistory.featureId\"\n ></c8y-tab>\n <ng-container [ngSwitch]=\"selectedTab\">\n <c8y-dashboard-general-settings\n *ngSwitchCase=\"TABS.general.featureId\"\n [isReport]=\"isReport\"\n [isNamedDashboard]=\"isNamedDashboard\"\n [hideAvailability]=\"hideAvailability\"\n [dashboard]=\"dashboard\"\n [generalSettingsForm]=\"generalSettingsForm\"\n [deviceTypeValue]=\"deviceTypeValue\"\n [displayDeviceTypeValue]=\"displayDeviceTypeValue\"\n [mo]=\"mo\"\n [allowTypeDashboard]=\"allowTypeDashboard\"\n [isDevice]=\"!!context?.c8y_IsDevice\"\n class=\"animated fadeIn\"\n (onDuplicateWithoutType)=\"duplicateWithoutType()\"\n ></c8y-dashboard-general-settings>\n <c8y-dashboard-appearance-settings\n *ngSwitchCase=\"TABS.appearance.featureId\"\n [dashboard]=\"dashboard\"\n [appearanceSettingsForm]=\"appearanceSettingsForm\"\n (previewChanged)=\"previewChanged.emit($event)\"\n class=\"animated fadeIn\"\n ></c8y-dashboard-appearance-settings>\n <c8y-dashboard-version-history\n *ngSwitchCase=\"TABS.versionHistory.featureId\"\n [dashboardHistory]=\"mo.c8y_DashboardHistory\"\n [isReport]=\"isReport\"\n (onRevert)=\"revertDashboard($event)\"\n class=\"animated fadeIn\"\n ></c8y-dashboard-version-history>\n </ng-container>\n </div>\n </div>\n\n <div class=\"c8y-top-drawer--footer\">\n <button\n class=\"btn btn-default\"\n title=\"{{ 'Cancel' | translate }}\"\n type=\"button\"\n data-cy=\"dashboard-detail--cancel-dashboard\"\n (click)=\"cancel()\"\n >\n {{ 'Cancel' | translate }}\n </button>\n <button\n class=\"btn btn-primary\"\n title=\"{{ 'Save' | translate }}\"\n type=\"button\"\n data-cy=\"dashboard-detail--save-dashboard\"\n (click)=\"save()\"\n [disabled]=\"\n (dashboardDetailsForm?.invalid || dashboardDetailsForm?.pristine) && this.isEdit\n \"\n >\n {{ 'Save' | translate }}\n </button>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i7.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i7.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i3.TabsOutletComponent, selector: "c8y-tabs-outlet,c8y-ui-tabs", inputs: ["tabs", "orientation", "navigatorOpen", "outletName", "context", "hasHeader"] }, { kind: "component", type: i3.TabComponent, selector: "c8y-tab", inputs: ["path", "label", "icon", "priority", "orientation", "injector", "tabsOutlet", "isActive"], outputs: ["onSelect"] }, { kind: "directive", type: i8.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i8.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i9.CollapseDirective, selector: "[collapse]", inputs: ["display", "isAnimated", "collapse"], outputs: ["collapsed", "collapses", "expanded", "expands"], exportAs: ["bs-collapse"] }, { kind: "component", type: i10.DashboardGeneralSettingsComponent, selector: "c8y-dashboard-general-settings", inputs: ["isReport", "isNamedDashboard", "hideAvailability", "dashboard", "generalSettingsForm", "deviceTypeValue", "displayDeviceTypeValue", "allowTypeDashboard", "isDevice", "mo"], outputs: ["onDuplicateWithoutType"] }, { kind: "component", type: i11.DashboardAppearanceSettingsComponent, selector: "c8y-dashboard-appearance-settings", inputs: ["dashboard", "appearanceSettingsForm"], outputs: ["previewChanged"] }, { kind: "component", type: i12.DashboardVersionHistoryComponent, selector: "c8y-dashboard-version-history", inputs: ["dashboardHistory", "isReport"], outputs: ["onRevert"] }, { kind: "pipe", type: i3.C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: i7.AsyncPipe, name: "async" }] }); }
|
|
382
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: DashboardDetailComponent, selector: "c8y-dashboard-detail", inputs: { isReport: "isReport", deviceType: "deviceType", context: "context", mo: "mo", dashboard: "dashboard", isNamedDashboard: "isNamedDashboard", hideAvailability: "hideAvailability" }, outputs: { dashboardSaved: "dashboardSaved", previewChanged: "previewChanged" }, usesOnChanges: true, ngImport: i0, template: "<div\n class=\"collapse c8y-top-drawer\"\n [collapse]=\"isCollapsed\"\n [isAnimated]=\"true\"\n>\n <div class=\"p-t-16 p-b-16 p-l-24 p-r-24 separator-bottom\">\n <span class=\"h4\">{{ 'Dashboard settings' | translate }}</span>\n </div>\n\n <div\n class=\"d-flex\"\n [formGroup]=\"dashboardDetailsForm\"\n *ngIf=\"!isCollapsed\"\n >\n <c8y-tabs-outlet\n [tabs]=\"tabs$ | async\"\n [outletName]=\"TABS_OUTLET_NAME\"\n [orientation]=\"'vertical'\"\n class=\"c8y-top-drawer--tabs\"\n ></c8y-tabs-outlet>\n <div class=\"inner-scroll c8y-top-drawer__tabs-container flex-grow p-l-24 p-r-lg-32 p-r-xs-24 p-r-sm-24\">\n <c8y-tab\n *ngIf=\"(!isNamedDashboard && !hideAvailability) || isReport\"\n [label]=\"TABS.general.label\"\n [icon]=\"'imac-settings'\"\n [priority]=\"100\"\n [tabsOutlet]=\"TABS_OUTLET_NAME\"\n (onSelect)=\"selectTab(TABS.general.featureId)\"\n [isActive]=\"selectedTab === TABS.general.featureId\"\n ></c8y-tab>\n <c8y-tab\n [label]=\"TABS.appearance.label\"\n [priority]=\"50\"\n [icon]=\"'web-design'\"\n [tabsOutlet]=\"TABS_OUTLET_NAME\"\n (onSelect)=\"selectTab(TABS.appearance.featureId)\"\n [isActive]=\"selectedTab === TABS.appearance.featureId\"\n ></c8y-tab>\n <c8y-tab\n *ngIf=\"mo?.c8y_DashboardHistory\"\n [label]=\"TABS.versionHistory.label\"\n [icon]=\"'versions'\"\n [priority]=\"10\"\n [tabsOutlet]=\"TABS_OUTLET_NAME\"\n (onSelect)=\"selectTab(TABS.versionHistory.featureId)\"\n [isActive]=\"selectedTab === TABS.versionHistory.featureId\"\n ></c8y-tab>\n <ng-container [ngSwitch]=\"selectedTab\">\n <c8y-dashboard-general-settings\n *ngSwitchCase=\"TABS.general.featureId\"\n [isReport]=\"isReport\"\n [isNamedDashboard]=\"isNamedDashboard\"\n [hideAvailability]=\"hideAvailability\"\n [dashboard]=\"dashboard\"\n [generalSettingsForm]=\"generalSettingsForm\"\n [deviceTypeValue]=\"deviceTypeValue\"\n [displayDeviceTypeValue]=\"displayDeviceTypeValue\"\n [mo]=\"mo\"\n [allowTypeDashboard]=\"allowTypeDashboard\"\n [isDevice]=\"!!context?.c8y_IsDevice\"\n class=\"animated fadeIn\"\n (onDuplicateWithoutType)=\"duplicateWithoutType()\"\n ></c8y-dashboard-general-settings>\n <c8y-dashboard-appearance-settings\n *ngSwitchCase=\"TABS.appearance.featureId\"\n [dashboard]=\"dashboard\"\n [appearanceSettingsForm]=\"appearanceSettingsForm\"\n (previewChanged)=\"previewChanged.emit($event)\"\n class=\"animated fadeIn\"\n ></c8y-dashboard-appearance-settings>\n <c8y-dashboard-version-history\n *ngSwitchCase=\"TABS.versionHistory.featureId\"\n [dashboardHistory]=\"mo.c8y_DashboardHistory\"\n [isReport]=\"isReport\"\n (onRevert)=\"revertDashboard($event)\"\n class=\"animated fadeIn\"\n ></c8y-dashboard-version-history>\n </ng-container>\n </div>\n </div>\n\n <div class=\"c8y-top-drawer--footer\">\n <button\n class=\"btn btn-default\"\n title=\"{{ 'Cancel' | translate }}\"\n type=\"button\"\n data-cy=\"dashboard-detail--cancel-dashboard\"\n (click)=\"cancel()\"\n >\n {{ 'Cancel' | translate }}\n </button>\n <button\n class=\"btn btn-primary\"\n title=\"{{ 'Save' | translate }}\"\n type=\"button\"\n data-cy=\"dashboard-detail--save-dashboard\"\n (click)=\"save()\"\n [disabled]=\"\n (dashboardDetailsForm?.invalid || dashboardDetailsForm?.pristine) && this.isEdit\n \"\n >\n {{ 'Save' | translate }}\n </button>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i7.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i7.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i3.TabsOutletComponent, selector: "c8y-tabs-outlet,c8y-ui-tabs", inputs: ["tabs", "orientation", "navigatorOpen", "outletName", "context", "openFirstTab", "hasHeader"] }, { kind: "component", type: i3.TabComponent, selector: "c8y-tab", inputs: ["path", "label", "icon", "priority", "orientation", "injector", "tabsOutlet", "isActive"], outputs: ["onSelect"] }, { kind: "directive", type: i8.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i8.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i9.CollapseDirective, selector: "[collapse]", inputs: ["display", "isAnimated", "collapse"], outputs: ["collapsed", "collapses", "expanded", "expands"], exportAs: ["bs-collapse"] }, { kind: "component", type: i10.DashboardGeneralSettingsComponent, selector: "c8y-dashboard-general-settings", inputs: ["isReport", "isNamedDashboard", "hideAvailability", "dashboard", "generalSettingsForm", "deviceTypeValue", "displayDeviceTypeValue", "allowTypeDashboard", "isDevice", "mo"], outputs: ["onDuplicateWithoutType"] }, { kind: "component", type: i11.DashboardAppearanceSettingsComponent, selector: "c8y-dashboard-appearance-settings", inputs: ["dashboard", "appearanceSettingsForm"], outputs: ["previewChanged"] }, { kind: "component", type: i12.DashboardVersionHistoryComponent, selector: "c8y-dashboard-version-history", inputs: ["dashboardHistory", "isReport"], outputs: ["onRevert"] }, { kind: "pipe", type: i3.C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: i7.AsyncPipe, name: "async" }] }); }
|
|
381
383
|
}
|
|
382
384
|
__decorate([
|
|
383
385
|
memoize(),
|
|
@@ -407,4 +409,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
|
|
|
407
409
|
}], previewChanged: [{
|
|
408
410
|
type: Output
|
|
409
411
|
}], convertStringToHash: [] } });
|
|
410
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLWRldGFpbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9jb250ZXh0LWRhc2hib2FyZC9kYXNoYm9hcmQtZGV0YWlsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL2NvbnRleHQtZGFzaGJvYXJkL2Rhc2hib2FyZC1kZXRhaWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFJTCxNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQ0wsZUFBZSxFQUVmLG1CQUFtQixFQUNuQixnQkFBZ0IsRUFDaEIsT0FBTyxFQUNQLFlBQVksRUFDWixPQUFPLEVBQ1AsWUFBWSxFQUNaLE1BQU0sRUFFTixXQUFXLEVBQ1osTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDdEQsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBSUwsMEJBQTBCLEVBQzFCLHFCQUFxQixFQUdyQixrQkFBa0IsRUFDbEIsdUNBQXVDLEVBQ3hDLE1BQU0sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdEUsT0FBTyxFQUFrQixnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMvRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxz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ekIsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQ3pELENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsS0FBSyxlQUFlLENBQUMsU0FBUyxDQUMvQyxDQUFDO1lBQ0YscUdBQXFHO1lBQ3JHLElBQUksQ0FBQyxrQkFBa0IsSUFBSSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsQ0FBQztnQkFDM0QsT0FBTztZQUNULENBQUM7WUFDRCxzRUFBc0U7WUFDdEUsa0JBQWtCLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztZQUMvQixrQkFBa0IsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxRQUFRLENBQUM7WUFDeEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUM3QixDQUFDO1FBQ0QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzNDLENBQUM7OEdBMWFVLHdCQUF3QjtrR0FBeEIsd0JBQXdCLGdXQ2hEckMseXdIQXlHQTs7QUR5T2dCO0lBRGIsT0FBTyxFQUFFOzs7O21FQVFUOzJGQXpTVSx3QkFBd0I7a0JBSnBDLFNBQVM7K0JBQ0Usc0JBQXNCOzZiQU92QixRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLEVBQUU7c0JBQVYsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBWUksY0FBYztzQkFBdkIsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNO2dCQTJRTyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtcbiAgQXBwU3RhdGVTZXJ2aWNlLFxuICBDb250ZXh0RGF0YSxcbiAgQ29udGV4dFJvdXRlU2VydmljZSxcbiAgR2FpbnNpZ2h0U2VydmljZSxcbiAgZ2V0dGV4dCxcbiAgR3JvdXBTZXJ2aWNlLFxuICBtZW1vaXplLFxuICBNb2RhbFNlcnZpY2UsXG4gIFN0YXR1cyxcbiAgVGFiLFxuICBUYWJzU2VydmljZVxufSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IGNsb25lLCBjbG9uZURlZXAsIGlzRXF1YWwgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgQWxsb3dUeXBlRGFzaGJvYXJkLFxuICBDb250ZXh0RGFzaGJvYXJkLFxuICBDb250ZXh0RGFzaGJvYXJkTWFuYWdlZE9iamVjdCxcbiAgREFTSEJPQVJEX1NFVFRJTkdTX0NIQU5HRVMsXG4gIERhc2hib2FyZERldGFpbHNUYWJJZCxcbiAgRGFzaGJvYXJkRGV0YWlsc1RhYnMsXG4gIERhc2hib2FyZEhpc3RvcnlEZXNjcmlwdGlvbixcbiAgUFJPRFVDVF9FWFBFUklFTkNFLFxuICBSRVBPUlRfREVGQVVMVF9OQVZJR0FUSU9OX05PREVfUFJJT1JJVFlcbn0gZnJvbSAnLi9jb250ZXh0LWRhc2hib2FyZC5tb2RlbCc7XG5pbXBvcnQgeyBDb250ZXh0RGFzaGJvYXJkU2VydmljZSB9IGZyb20gJy4vY29udGV4dC1kYXNoYm9hcmQuc2VydmljZSc7XG5pbXBvcnQgeyBJTWFuYWdlZE9iamVjdCwgSW52ZW50b3J5U2VydmljZSB9IGZyb20gJ0BjOHkvY2xpZW50JztcbmltcG9ydCB7IGZpcnN0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgbmV3RGFzaGJvYXJkVGFiIH0gZnJvbSAnLi9uZXctZGFzaGJvYXJkLmd1YXJkJztcbmltcG9ydCB7IERhc2hib2FyZERldGFpbFNlcnZpY2UgfSBmcm9tICcuL2Rhc2hib2FyZC1kZXRhaWwuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2M4eS1kYXNoYm9hcmQtZGV0YWlsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Rhc2hib2FyZC1kZXRhaWwuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIERhc2hib2FyZERldGFpbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICBpc0NvbGxhcHNlZCA9IHRydWU7XG4gIGN1cnJlbnRDb250ZXh0OiBDb250ZXh0RGF0YTtcbiAgY3VycmVudERhc2hib2FyZDogQ29udGV4dERhc2hib2FyZDtcbiAgQElucHV0KCkgaXNSZXBvcnQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGRldmljZVR5cGU6IHN0cmluZztcbiAgQElucHV0KCkgY29udGV4dDogYW55O1xuICBASW5wdXQoKSBtbzogQ29udGV4dERhc2hib2FyZE1hbmFnZWRPYmplY3Q7XG4gIEBJbnB1dCgpIGRhc2hib2FyZDogQ29udGV4dERhc2hib2FyZDtcbiAgQElucHV0KCkgaXNOYW1lZERhc2hib2FyZDogYm9vbGVhbjtcbiAgQElucHV0KCkgaGlkZUF2YWlsYWJpbGl0eSA9IGZhbHNlO1xuICBkZXZpY2VUeXBlVmFsdWU6IHN0cmluZztcbiAgZGlzcGxheURldmljZVR5cGVWYWx1ZTogc3RyaW5nO1xuICBpY29uczogc3RyaW5nW107XG4gIG5hbWVQbGFjZWhvbGRlcjogc3RyaW5nO1xuICB0YWJzJDogT2JzZXJ2YWJsZTxUYWJbXT47XG4gIHNlbGVjdGVkVGFiOiBEYXNoYm9hcmREZXRhaWxzVGFiSWQgPSBEYXNoYm9hcmREZXRhaWxzVGFiSWQuR0VORVJBTDtcbiAgZGFzaGJvYXJkRGV0YWlsc0Zvcm06IFJldHVyblR5cGU8RGFzaGJvYXJkRGV0YWlsU2VydmljZVsnaW5pdEZvcm0nXT47XG4gIGdlbmVyYWxTZXR0aW5nc0Zvcm06IFJldHVyblR5cGU8RGFzaGJvYXJkRGV0YWlsU2VydmljZVsnaW5pdEdlbmVyYWxTZXR0aW5nc0Zvcm0nXT47XG4gIGFwcGVhcmFuY2VTZXR0aW5nc0Zvcm06IFJldHVyblR5cGU8RGFzaGJvYXJkRGV0YWlsU2VydmljZVsnaW5pdEFwcGVhcmFuY2VTZXR0aW5nc0Zvcm0nXT47XG4gIGFsbG93VHlwZURhc2hib2FyZDogQWxsb3dUeXBlRGFzaGJvYXJkO1xuICBpc0VkaXQ6IGJvb2xlYW47XG4gIEBPdXRwdXQoKSBkYXNoYm9hcmRTYXZlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Q29udGV4dERhc2hib2FyZD4oKTtcbiAgQE91dHB1dCgpIHByZXZpZXdDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIHByaXZhdGUgZGVzdHJveSQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xuXG4gIHJlYWRvbmx5IFRBQlNfT1VUTEVUX05BTUUgPSAnZGFzaGJvYXJkVGFicyc7XG4gIHJlYWRvbmx5IFRBQlM6IERhc2hib2FyZERldGFpbHNUYWJzID0ge1xuICAgIGdlbmVyYWw6IHtcbiAgICAgIGZlYXR1cmVJZDogRGFzaGJvYXJkRGV0YWlsc1RhYklkLkdFTkVSQUwsXG4gICAgICBwcmlvcml0eTogMzAsXG4gICAgICBsYWJlbDogZ2V0dGV4dCgnR2VuZXJhbCcpXG4gICAgfSxcbiAgICBhcHBlYXJhbmNlOiB7XG4gICAgICBmZWF0dXJlSWQ6IERhc2hib2FyZERldGFpbHNUYWJJZC5BUFBFQVJBTkNFLFxuICAgICAgcHJpb3JpdHk6IDIwLFxuICAgICAgbGFiZWw6IGdldHRleHQoJ0FwcGVhcmFuY2UnKVxuICAgIH0sXG4gICAgdmVyc2lvbkhpc3Rvcnk6IHtcbiAgICAgIGZlYXR1cmVJZDogRGFzaGJvYXJkRGV0YWlsc1RhYklkLlZFUlNJT05ISVNUT1JZLFxuICAgICAgcHJpb3JpdHk6IDEwLFxuICAgICAgbGFiZWw6IGdldHRleHQoJ1ZlcnNpb24gaGlzdG9yeScpXG4gICAgfVxuICB9O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY29udGV4dERhc2hib2FyZFNlcnZpY2U6IENvbnRleHREYXNoYm9hcmRTZXJ2aWNlLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIGNvbnRleHRSb3V0ZTogQ29udGV4dFJvdXRlU2VydmljZSxcbiAgICBwcml2YXRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHRhYnNTZXJ2aWNlOiBUYWJzU2VydmljZSxcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgaW52ZW50b3J5OiBJbnZlbnRvcnlTZXJ2aWNlLFxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgZGFzaGJvYXJkRGV0YWlsU2VydmljZTogRGFzaGJvYXJkRGV0YWlsU2VydmljZSxcbiAgICBwcml2YXRlIGFwcFN0YXRlOiBBcHBTdGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBncm91cFNlcnZpY2U6IEdyb3VwU2VydmljZSxcbiAgICBwcml2YXRlIG1vZGFsOiBNb2RhbFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBnYWluc2lnaHRTZXJ2aWNlOiBHYWluc2lnaHRTZXJ2aWNlXG4gICkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnRhYnMkID0gdGhpcy50YWJzU2VydmljZS5pdGVtcyQ7XG4gICAgdGhpcy5jdXJyZW50Q29udGV4dCA9IHRoaXMuY29udGV4dFJvdXRlLmdldENvbnRleHREYXRhKHRoaXMuYWN0aXZhdGVkUm91dGUpO1xuICAgIHRoaXMuZGV2aWNlVHlwZVZhbHVlID0gdGhpcy5jb250ZXh0Py50eXBlO1xuICAgIHRoaXMuZGlzcGxheURldmljZVR5cGVWYWx1ZSA9XG4gICAgICB0aGlzLmNvbnRleHQgJiZcbiAgICAgIHRoaXMuZ3JvdXBTZXJ2aWNlLmlzR3JvdXAodGhpcy5jb250ZXh0KSAmJlxuICAgICAgIXRoaXMuZ3JvdXBTZXJ2aWNlLmlzQXNzZXQodGhpcy5jb250ZXh0KVxuICAgICAgICA/IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KGdldHRleHQoJ0dyb3VwJykpXG4gICAgICAgIDogdGhpcy5kZXZpY2VUeXBlVmFsdWU7XG5cbiAgICB0aGlzLnVwZGF0ZUFsbG93VHlwZURhc2hib2FyZCgpO1xuICAgIHRoaXMuaW5pdEZvcm0oKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlQWxsb3dUeXBlRGFzaGJvYXJkKCk7XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmlzRWRpdCkge1xuICAgICAgdGhpcy5pbml0aWFsaXplQ29uZmlndXJhdGlvbigpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIGFzeW5jIHNhdmUoKSB7XG4gICAgY29uc3Qgb2xkRGFzaGJvYXJkID0gY2xvbmVEZWVwKHRoaXMuZGFzaGJvYXJkKTtcbiAgICB0aGlzLmRhc2hib2FyZCA9IHtcbiAgICAgIC4uLnRoaXMuZGFzaGJvYXJkLFxuICAgICAgLi4udGhpcy5nZW5lcmFsU2V0dGluZ3NGb3JtLnZhbHVlLFxuICAgICAgLi4udGhpcy5hcHBlYXJhbmNlU2V0dGluZ3NGb3JtLnZhbHVlXG4gICAgfTtcbiAgICBjb25zdCBkYXNoYm9hcmRTZXR0aW5nQ2hhbmdlczogc3RyaW5nW10gPSBPYmplY3Qua2V5cyh0aGlzLmRhc2hib2FyZCkuZmlsdGVyKGtleSA9PiB7XG4gICAgICBpZiAoa2V5ID09PSAnYzh5X0lzTmF2aWdhdG9yTm9kZScpIHtcbiAgICAgICAgcmV0dXJuICEhb2xkRGFzaGJvYXJkW2tleV0gIT09ICEhdGhpcy5kYXNoYm9hcmRba2V5XTtcbiAgICAgIH1cbiAgICAgIHJldHVybiAhaXNFcXVhbChvbGREYXNoYm9hcmRba2V5XSwgdGhpcy5kYXNoYm9hcmRba2V5XSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmRhc2hib2FyZC5hdXRob3IgPSB0aGlzLmFwcFN0YXRlLmN1cnJlbnRVc2VyLnZhbHVlLnVzZXJOYW1lO1xuICAgIHRoaXMuZGFzaGJvYXJkLmM4eV9Jc05hdmlnYXRvck5vZGUgPSB0aGlzLmRhc2hib2FyZC5jOHlfSXNOYXZpZ2F0b3JOb2RlXG4gICAgICA/IHt9XG4gICAgICA6IHRoaXMuY3VycmVudERhc2hib2FyZFxuICAgICAgICA/IG51bGxcbiAgICAgICAgOiB1bmRlZmluZWQ7XG5cbiAgICB0aGlzLmRhc2hib2FyZC5kZXZpY2VUeXBlVmFsdWUgPz89IHRoaXMuZGV2aWNlVHlwZVZhbHVlO1xuICAgIHRoaXMuZGFzaGJvYXJkLmhpc3RvcnlEZXNjcmlwdGlvbiA9XG4gICAgICB0aGlzLnVwZGF0ZURhc2hib2FyZEhpc3RvcnlEZXNjcmlwdGlvbihkYXNoYm9hcmRTZXR0aW5nQ2hhbmdlcyk7XG4gICAgaWYgKCF0aGlzLmlzRWRpdCAmJiAhdGhpcy5pc1JlcG9ydCkge1xuICAgICAgYXdhaXQgdGhpcy5jcmVhdGVOZXdEYXNoYm9hcmQoKTtcbiAgICB9IGVsc2UgaWYgKCF0aGlzLmlzRWRpdCAmJiB0aGlzLmlzUmVwb3J0KSB7XG4gICAgICBhd2FpdCB0aGlzLmNyZWF0ZU5ld1JlcG9ydCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBhd2FpdCB0aGlzLnVwZGF0ZURhc2hib2FyZCgpO1xuICAgICAgdGhpcy5tby5jOHlfRGFzaGJvYXJkSGlzdG9yeSA9IFtcbiAgICAgICAgdGhpcy5kYXNoYm9hcmQsXG4gICAgICAgIC4uLih0aGlzLm1vPy5jOHlfRGFzaGJvYXJkSGlzdG9yeSA/IHRoaXMubW8uYzh5X0Rhc2hib2FyZEhpc3RvcnkgOiBbXSlcbiAgICAgIF07XG4gICAgfVxuICB9XG5cbiAgdXBkYXRlRGFzaGJvYXJkSGlzdG9yeURlc2NyaXB0aW9uKGRhc2hib2FyZENoYW5nZXM6IHN0cmluZ1tdKTogRGFzaGJvYXJkSGlzdG9yeURlc2NyaXB0aW9uIHtcbiAgICByZXR1cm4ge1xuICAgICAgY2hhbmdlVHlwZTogdGhpcy5pc0VkaXQgPyAndXBkYXRlJyA6ICdjcmVhdGUnLFxuICAgICAgZGFzaGJvYXJkU2V0dGluZ0NoYW5nZXM6IGRhc2hib2FyZENoYW5nZXNcbiAgICAgICAgLmZpbHRlcih2YWx1ZSA9PiB2YWx1ZSAhPT0gJ2RldmljZVR5cGUnKVxuICAgICAgICAubWFwKHZhbHVlID0+IERBU0hCT0FSRF9TRVRUSU5HU19DSEFOR0VTW3ZhbHVlXSB8fCB2YWx1ZSksXG4gICAgICBkZXZpY2VUeXBlOiBkYXNoYm9hcmRDaGFuZ2VzLmZpbmQodmFsdWUgPT4gdmFsdWUgPT09ICdkZXZpY2VUeXBlJylcbiAgICAgICAgPyB0aGlzLmRhc2hib2FyZC5kZXZpY2VUeXBlXG4gICAgICAgIDogdW5kZWZpbmVkXG4gICAgfTtcbiAgfVxuXG4gIHNlbGVjdFRhYihzZWxlY3RlZFRhYjogRGFzaGJvYXJkRGV0YWlsc1RhYklkKSB7XG4gICAgdGhpcy5zZWxlY3RlZFRhYiA9IHNlbGVjdGVkVGFiO1xuICAgIHRoaXMudGFic1NlcnZpY2UucmVmcmVzaCgpO1xuICB9XG5cbiAgYXN5bmMgY2FuY2VsKCkge1xuICAgIGlmICghdGhpcy5pc0VkaXQgJiYgIXRoaXMuaXNSZXBvcnQpIHtcbiAgICAgIC8vIGRhc2hib2FyZCBjcmVhdGlvbiBpbiBpdCdzIG93biB0YWItIGNvbmZpcm0gYW5kIGNsZWFudXAgdHJpZ2dlcmVkIGluIGNhbkRlYWN0aXZhdGUgZHVyaW5nIHJvdXRpbmdcbiAgICAgIHRoaXMudGFic1NlcnZpY2UuaXRlbXMkLnBpcGUoZmlyc3QoKSkuc3Vic2NyaWJlKCh0YWJzOiBUYWJbXSkgPT4ge1xuICAgICAgICBjb25zdCB0YWIgPSB0YWJzLmZpbmQodCA9PiB0LmZlYXR1cmVJZCAhPT0gbmV3RGFzaGJvYXJkVGFiLmZlYXR1cmVJZCk7XG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwodGFiLnBhdGgsIHsgcmVwbGFjZVVybDogdHJ1ZSB9KTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuO1xuICAgIH0gZWxzZSBpZiAoIXRoaXMuaXNFZGl0ICYmIHRoaXMuaXNSZXBvcnQpIHtcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsncmVwb3J0cyddKTtcbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2UgaWYgKHRoaXMuZGFzaGJvYXJkRGV0YWlsc0Zvcm0uZGlydHkgJiYgIShhd2FpdCB0aGlzLmNvbmZpcm1DbG9zaW5nKCkpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuY2xlYW51cEFmdGVyRGV0YWlsc0Nsb3NlKCk7XG4gIH1cblxuICBhc3luYyBjYW5EZWFjdGl2YXRlKG9taXRDb25maXJtID0gZmFsc2UpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBsZXQgY2FuRGVhY3RpdmF0ZTogYm9vbGVhbjtcbiAgICBpZiAodGhpcy5pc0NvbGxhcHNlZCB8fCAhdGhpcy5kYXNoYm9hcmREZXRhaWxzRm9ybS5kaXJ0eSkge1xuICAgICAgY2FuRGVhY3RpdmF0ZSA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChvbWl0Q29uZmlybSkge1xuICAgICAgICBjYW5EZWFjdGl2YXRlID0gZmFsc2U7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjYW5EZWFjdGl2YXRlID0gYXdhaXQgdGhpcy5jb25maXJtQ2xvc2luZygpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoY2FuRGVhY3RpdmF0ZSkge1xuICAgICAgdGhpcy5jbGVhbnVwQWZ0ZXJEZXRhaWxzQ2xvc2UoKTtcbiAgICB9XG4gICAgcmV0dXJuIGNhbkRlYWN0aXZhdGU7XG4gIH1cblxuICBzaG93KGlzRWRpdDogYm9vbGVhbikge1xuICAgIHRoaXMuaXNFZGl0ID0gaXNFZGl0O1xuICAgIGlmICh0aGlzLmlzRWRpdCkge1xuICAgICAgdGhpcy5lZGl0KCk7XG4gICAgfVxuICAgIHRoaXMuaW5pdEZvcm0oKTtcbiAgICB0aGlzLmlzQ29sbGFwc2VkID0gZmFsc2U7XG4gIH1cblxuICBhc3luYyByZXZlcnREYXNoYm9hcmQoZGFzaGJvYXJkOiBDb250ZXh0RGFzaGJvYXJkKSB7XG4gICAgdGhpcy5kYXNoYm9hcmQgPSBkYXNoYm9hcmQ7XG4gICAgdGhpcy5kYXNoYm9hcmQuYzh5X0lzTmF2aWdhdG9yTm9kZSA9IHRoaXMuZGFzaGJvYXJkLmM4eV9Jc05hdmlnYXRvck5vZGVcbiAgICAgID8ge31cbiAgICAgIDogdGhpcy5jdXJyZW50RGFzaGJvYXJkXG4gICAgICAgID8gbnVsbFxuICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICBhd2FpdCB0aGlzLnVwZGF0ZURhc2hib2FyZCgpO1xuICB9XG5cbiAgYXN5bmMgZHVwbGljYXRlV2l0aG91dFR5cGUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgbmV3RGFzaGJvYXJkTmFtZSA9IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KGdldHRleHQoJ3t7IGRhc2hib2FyZE5hbWUgfX0gKGNvcHkpJyksIHtcbiAgICAgIGRhc2hib2FyZE5hbWU6IHRoaXMuZ2VuZXJhbFNldHRpbmdzRm9ybS52YWx1ZS5uYW1lXG4gICAgfSk7XG4gICAgdGhpcy5nZW5lcmFsU2V0dGluZ3NGb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgZGV2aWNlVHlwZTogZmFsc2UsXG4gICAgICBuYW1lOiBuZXdEYXNoYm9hcmROYW1lXG4gICAgfSk7XG4gICAgLy8gc2V0dGluZyBlZGl0aW9uIHRvIGZhbHNlIHNvIG5ldyBkYXNoYm9hcmQgY2FuIGJlIGNyZWF0ZWQgYXMgY29weSBvZiBjdXJyZW50IG9uZVxuICAgIHRoaXMuaXNFZGl0ID0gZmFsc2U7XG4gICAgYXdhaXQgdGhpcy5zYXZlKCk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUFsbG93VHlwZURhc2hib2FyZCgpOiB2b2lkIHtcbiAgICB0aGlzLmFsbG93VHlwZURhc2hib2FyZCA9IHRoaXMuY29udGV4dERhc2hib2FyZFNlcnZpY2Uuc2hvdWxkQWxsb3dUb1NldERhc2hib2FyZFR5cGUoXG4gICAgICB0aGlzLm1vLFxuICAgICAgdGhpcy5jdXJyZW50Q29udGV4dFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGluaXRGb3JtKCk6IHZvaWQge1xuICAgIHRoaXMuZGFzaGJvYXJkRGV0YWlsc0Zvcm0gPSB0aGlzLmRhc2hib2FyZERldGFpbFNlcnZpY2UuaW5pdEZvcm0oXG4gICAgICB0aGlzLmRhc2hib2FyZCxcbiAgICAgIHRoaXMuaXNSZXBvcnQsXG4gICAgICB0aGlzLmFsbG93VHlwZURhc2hib2FyZFxuICAgICk7XG4gICAgdGhpcy5nZW5lcmFsU2V0dGluZ3NGb3JtID0gdGhpcy5kYXNoYm9hcmREZXRhaWxzRm9ybS5nZXQoJ2dlbmVyYWxTZXR0aW5nc0Zvcm0nKSBhcyBGb3JtR3JvdXA7XG4gICAgdGhpcy5hcHBlYXJhbmNlU2V0dGluZ3NGb3JtID0gdGhpcy5kYXNoYm9hcmREZXRhaWxzRm9ybS5nZXQoXG4gICAgICAnYXBwZWFyYW5jZVNldHRpbmdzRm9ybSdcbiAgICApIGFzIEZvcm1Hcm91cDtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgY29uZmlybUNsb3NpbmcoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMubW9kYWwuY29uZmlybShcbiAgICAgICAgZ2V0dGV4dCgnQ2xvc2UgZGFzaGJvYXJkIGRldGFpbHMnKSxcbiAgICAgICAgZ2V0dGV4dChcbiAgICAgICAgICAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGNsb3NlIGRhc2hib2FyZCBkZXRhaWxzPyBBbGwgdW5zYXZlZCBjaGFuZ2VzIHdpbGwgYmUgbG9zdC4nXG4gICAgICAgICksXG4gICAgICAgIFN0YXR1cy5XQVJOSU5HLFxuICAgICAgICB7XG4gICAgICAgICAgb2s6IGdldHRleHQoJ0Nsb3NlJyksXG4gICAgICAgICAgY2FuY2VsOiBnZXR0ZXh0KCdDYW5jZWwnKVxuICAgICAgICB9XG4gICAgICApO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgY3JlYXRlTmV3RGFzaGJvYXJkKCkge1xuICAgIGNvbnN0IG1vOiBDb250ZXh0RGFzaGJvYXJkTWFuYWdlZE9iamVjdCA9IGF3YWl0IHRoaXMuY29udGV4dERhc2hib2FyZFNlcnZpY2UuY3JlYXRlKFxuICAgICAgdGhpcy5kYXNoYm9hcmQsXG4gICAgICB0aGlzLmN1cnJlbnRDb250ZXh0XG4gICAgKTtcblxuICAgIGF3YWl0IHRoaXMub25DcmVhdGVHU0V2ZW50KG1vKTtcbiAgICB0aGlzLmNsZWFudXBBZnRlckRldGFpbHNDbG9zZSgpO1xuICAgIGF3YWl0IHRoaXMuY29udGV4dERhc2hib2FyZFNlcnZpY2UubmF2aWdhdGVUb0Rhc2hib2FyZChtbyk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIG9uQ3JlYXRlR1NFdmVudChtbzogQ29udGV4dERhc2hib2FyZE1hbmFnZWRPYmplY3QpIHtcbiAgICBjb25zdCBwYXJlbnROYW1lID0gYXdhaXQgdGhpcy5jb252ZXJ0U3RyaW5nVG9IYXNoKHRoaXMuY29udGV4dD8ubmFtZSk7XG4gICAgY29uc3QgZGFzaGJvYXJkTmFtZSA9IGF3YWl0IHRoaXMuY29udmVydFN0cmluZ1RvSGFzaCh0aGlzLmRhc2hib2FyZD8ubmFtZSk7XG5cbiAgICB0aGlzLmdhaW5zaWdodFNlcnZpY2UudHJpZ2dlckV2ZW50KFBST0RVQ1RfRVhQRVJJRU5DRS5EQVNIQk9BUkQuRVZFTlRTLkRBU0hCT0FSRFMsIHtcbiAgICAgIGNvbXBvbmVudDogUFJPRFVDVF9FWFBFUklFTkNFLkRBU0hCT0FSRC5DT01QT05FTlRTLkFERF9EQVNIQk9BUkQsXG4gICAgICBhY3Rpb246IFBST0RVQ1RfRVhQRVJJRU5DRS5EQVNIQk9BUkQuQUNUSU9OUy5DUkVBVEUsXG4gICAgICBuYW1lOiBkYXNoYm9hcmROYW1lLFxuICAgICAgaWQ6IG1vLmlkLFxuICAgICAgbmFtZUlkOiBgJHtkYXNoYm9hcmROYW1lfV8ke3RoaXMubW8uaWR9YCxcbiAgICAgIHBhcmVudEFzc2V0SWQ6IHRoaXMuY29udGV4dD8uaWQgPyB0aGlzLmNvbnRleHQuaWQgOiAnbm9Db250ZXh0JyxcbiAgICAgIHBhcmVudEFzc2V0TmFtZTogdGhpcy5jb250ZXh0Py5pZCA/IHBhcmVudE5hbWUgOiAnbm9Db250ZXh0JyxcbiAgICAgIHBhcmVudEFzc2V0VHlwZTogdGhpcy5jb250ZXh0Py5pZCA/IHRoaXMuY29udGV4dC50eXBlIDogJ25vQ29udGV4dCcsXG4gICAgICBwYXJlbnRBc3NldE5hbWVJZDogdGhpcy5jb250ZXh0Py5pZCA/IGAke3BhcmVudE5hbWV9XyR7dGhpcy5jb250ZXh0LmlkfWAgOiAnbm9Db250ZXh0JyxcbiAgICAgIHBhcmVudEFzc2V0TmFtZURhc2hib2FyZE5hbWU6IHRoaXMuY29udGV4dD8uaWRcbiAgICAgICAgPyBgJHtwYXJlbnROYW1lfV8ke2Rhc2hib2FyZE5hbWV9YFxuICAgICAgICA6ICdub0NvbnRleHQnLFxuICAgICAgcGFyZW50QXNzZXRJZERhc2hib2FyZElkOiB0aGlzLmNvbnRleHQ/LmlkID8gYCR7dGhpcy5jb250ZXh0LmlkfV8ke3RoaXMubW8uaWR9YCA6ICdub0NvbnRleHQnLFxuICAgICAgcGFyZW50QXNzZXROYW1lRGFzaGJvYXJkSWQ6IHRoaXMuY29udGV4dD8uaWQgPyBgJHtwYXJlbnROYW1lfV8ke3RoaXMubW8uaWR9YCA6ICdub0NvbnRleHQnLFxuICAgICAgcGFyZW50QXNzZXROYW1lSWREYXNoYm9hcmROYW1lSWQ6IHRoaXMuY29udGV4dD8uaWRcbiAgICAgICAgPyBgJHtwYXJlbnROYW1lfV8ke3RoaXMuY29udGV4dC5pZH1fJHtkYXNoYm9hcmROYW1lfV8ke3RoaXMubW8uaWR9YFxuICAgICAgICA6ICdub0NvbnRleHQnLFxuICAgICAgZGFzaGJvYXJkVHlwZTogbW8uYzh5X0Rhc2hib2FyZC5kZXZpY2VUeXBlID8gbW8uYzh5X0Rhc2hib2FyZC5kZXZpY2VUeXBlVmFsdWUgOiBudWxsLFxuICAgICAgY29udGV4dDogdGhpcy5jb250ZXh0RGFzaGJvYXJkU2VydmljZS5nZXRDb250ZXh0Rm9yR1MoXG4gICAgICAgIHRoaXMuY3VycmVudENvbnRleHQuY29udGV4dERhdGEgYXMgSU1hbmFnZWRPYmplY3RcbiAgICAgIClcbiAgICB9KTtcbiAgfVxuXG4gIEBtZW1vaXplKClcbiAgcHJpdmF0ZSBhc3luYyBjb252ZXJ0U3RyaW5nVG9IYXNoKHN0cjogc3RyaW5nKSB7XG4gICAgaWYgKCFzdHIpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gKGF3YWl0IHRoaXMuZ2FpbnNpZ2h0U2VydmljZS5zaG91bGRTZW5kUGlpRGF0YSgpKVxuICAgICAgPyBzdHJcbiAgICAgIDogYXdhaXQgdGhpcy5nYWluc2lnaHRTZXJ2aWNlLmhhc2hHcm91cE5hbWUoc3RyKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgY3JlYXRlTmV3UmVwb3J0KCkge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB7IG5hbWUsIGljb24sIGM4eV9Jc05hdmlnYXRvck5vZGUsIHByaW9yaXR5LCBkZXNjcmlwdGlvbiB9ID0gdGhpcy5kYXNoYm9hcmQ7XG4gICAgICBjb25zdCByZXBvcnQgPSAoXG4gICAgICAgIGF3YWl0IHRoaXMuY29udGV4dERhc2hib2FyZFNlcnZpY2UuY3JlYXRlUmVwb3J0KHtcbiAgICAgICAgICBuYW1lLFxuICAgICAgICAgIGljb24sXG4gICAgICAgICAgYzh5X0lzTmF2aWdhdG9yTm9kZSxcbiAgICAgICAgICBwcmlvcml0eSxcbiAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICB9IGFzIFBhcnRpYWw8SU1hbmFnZWRPYmplY3Q+KVxuICAgICAgKS5kYXRhO1xuXG4gICAgICBhd2FpdCB0aGlzLmNvbnRleHREYXNoYm9hcmRTZXJ2aWNlLmNyZWF0ZShcbiAgICAgICAgdGhpcy5kYXNoYm9hcmQsXG4gICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgYCR7dGhpcy5jb250ZXh0RGFzaGJvYXJkU2VydmljZS5SRVBPUlRfUEFSVElBTF9OQU1FfSR7cmVwb3J0LmlkfWBcbiAgICAgICk7XG4gICAgICB0aGlzLmdhaW5zaWdodFNlcnZpY2UudHJpZ2dlckV2ZW50KFBST0RVQ1RfRVhQRVJJRU5DRS5EQVNIQk9BUkQuRVZFTlRTLlJFUE9SVFMsIHtcbiAgICAgICAgY29tcG9uZW50OiBQUk9EVUNUX0VYUEVSSUVOQ0UuREFTSEJPQVJELkNPTVBPTkVOVFMuQUREX1JFUE9SVCxcbiAgICAgICAgYWN0aW9uOiBQUk9EVUNUX0VYUEVSSUVOQ0UuREFTSEJPQVJELkFDVElPTlMuQ1JFQVRFLFxuICAgICAgICBuYW1lOiByZXBvcnQubmFtZSxcbiAgICAgICAgaWQ6IHJlcG9ydC5pZCxcbiAgICAgICAgY29udGV4dDogUFJPRFVDVF9FWFBFUklFTkNFLkRBU0hCT0FSRC5DT05URVhULlJFUE9SVFxuICAgICAgfSk7XG4gICAgICBpZiAocmVwb3J0LmM4eV9Jc05hdmlnYXRvck5vZGUpIHtcbiAgICAgICAgdGhpcy5jb250ZXh0RGFzaGJvYXJkU2VydmljZS5hZGRSZXBvcnROYXZpZ2F0b3JOb2RlKHJlcG9ydCk7XG4gICAgICB9XG4gICAgICB0aGlzLmNsZWFudXBBZnRlckRldGFpbHNDbG9zZSgpO1xuICAgICAgYXdhaXQgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWydyZXBvcnRzJywgcmVwb3J0LmlkXSk7XG4gICAgfSBjYXRjaCAoZXgpIHtcbiAgICAgIC8vIGludGVuZGVkIGVtcHR5XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyB1cGRhdGVEYXNoYm9hcmQoKSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGRhc2hib2FyZE1POiBDb250ZXh0RGFzaGJvYXJkTWFuYWdlZE9iamVjdCA9IGNsb25lRGVlcCh0aGlzLm1vKTtcbiAgICAgIGNvbnN0IGNmZyA9IHRoaXMuZGFzaGJvYXJkO1xuICAgICAgaWYgKHRoaXMuaXNSZXBvcnQpIHtcbiAgICAgICAgY29uc3QgeyBuYW1lLCBpY29uLCBjOHlfSXNOYXZpZ2F0b3JOb2RlLCBwcmlvcml0eSwgZGVzY3JpcHRpb24gfSA9IGNmZztcbiAgICAgICAgZGFzaGJvYXJkTU8uYzh5X0Rhc2hib2FyZCA9IGNmZztcbiAgICAgICAgYXdhaXQgdGhpcy51cGRhdGVSZXBvcnQoe1xuICAgICAgICAgIGlkOiB0aGlzLmNvbnRleHQuaWQsXG4gICAgICAgICAgbmFtZSxcbiAgICAgICAgICBpY29uLFxuICAgICAgICAgIGM4eV9Jc05hdmlnYXRvck5vZGUsXG4gICAgICAgICAgcHJpb3JpdHksXG4gICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkYXNoYm9hcmRNTy5jOHlfRGFzaGJvYXJkID0gY2ZnO1xuICAgICAgfVxuXG4gICAgICBjb25zdCB1cGRhdGVkRGFzaGJvYXJkTW8gPSBhd2FpdCB0aGlzLmNvbnRleHREYXNoYm9hcmRTZXJ2aWNlLnVwZGF0ZShcbiAgICAgICAgZGFzaGJvYXJkTU8sXG4gICAgICAgIHRoaXMuY3VycmVudENvbnRleHRcbiAgICAgICk7XG4gICAgICB0aGlzLmNsZWFudXBBZnRlckRldGFpbHNDbG9zZSgpO1xuXG4gICAgICB0aGlzLmRhc2hib2FyZFNhdmVkLmVtaXQodXBkYXRlZERhc2hib2FyZE1vKTtcbiAgICB9IGNhdGNoIChleCkge1xuICAgICAgLy8gaW50ZW5kZWQgZW1wdHlcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGVkaXQoKSB7XG4gICAgaWYgKHRoaXMuaXNSZXBvcnQpIHtcbiAgICAgIGNvbnN0IHsgbmFtZSwgaWNvbiwgcHJpb3JpdHksIGM4eV9Jc05hdmlnYXRvck5vZGUsIGRlc2NyaXB0aW9uIH0gPSB0aGlzLmNvbnRleHQ7XG4gICAgICBPYmplY3QuYXNzaWduKHRoaXMuZGFzaGJvYXJkLCB7IG5hbWUsIGljb24sIHByaW9yaXR5LCBjOHlfSXNOYXZpZ2F0b3JOb2RlLCBkZXNjcmlwdGlvbiB9KTtcbiAgICB9XG4gICAgdGhpcy5pc05hbWVkRGFzaGJvYXJkID0gdGhpcy5jb250ZXh0RGFzaGJvYXJkU2VydmljZS5pc05hbWVkKHRoaXMubW8pO1xuICAgIHRoaXMuc2VsZWN0ZWRUYWIgPVxuICAgICAgdGhpcy5oaWRlQXZhaWxhYmlsaXR5ICYmIHRoaXMuaXNOYW1lZERhc2hib2FyZFxuICAgICAgICA/IERhc2hib2FyZERldGFpbHNUYWJJZC5BUFBFQVJBTkNFXG4gICAgICAgIDogRGFzaGJvYXJkRGV0YWlsc1RhYklkLkdFTkVSQUw7XG4gICAgdGhpcy5pbml0aWFsaXplQ29uZmlndXJhdGlvbigpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplQ29uZmlndXJhdGlvbigpIHtcbiAgICBjb25zdCBkZWZhdWx0RGFzaGJvYXJkQ2ZnOiBQYXJ0aWFsPENvbnRleHREYXNoYm9hcmQ+ID0ge1xuICAgICAgbmFtZTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQodGhpcy5pc1JlcG9ydCA/IGdldHRleHQoJ1JlcG9ydCcpIDogZ2V0dGV4dCgnRGFzaGJvYXJkJykpLFxuICAgICAgcHJpb3JpdHk6IHRoaXMuaXNSZXBvcnRcbiAgICAgICAgPyBSRVBPUlRfREVGQVVMVF9OQVZJR0FUSU9OX05PREVfUFJJT1JJVFlcbiAgICAgICAgOiB0aGlzLmRhc2hib2FyZERldGFpbFNlcnZpY2UuREVGQVVMVF9EQVNIQk9BUkRfUFJJT1JJVFksXG4gICAgICBpY29uOiB0aGlzLmRhc2hib2FyZERldGFpbFNlcnZpY2UuREVGQVVMVF9EQVNIQk9BUkRfSUNPTixcbiAgICAgIGRldmljZVR5cGVWYWx1ZTogdGhpcy5kZXZpY2VUeXBlLFxuICAgICAgY29sdW1uczogMjRcbiAgICB9O1xuXG4gICAgaWYgKHRoaXMuZGFzaGJvYXJkKSB7XG4gICAgICB0aGlzLmN1cnJlbnREYXNoYm9hcmQgPSBjbG9uZSh0aGlzLmRhc2hib2FyZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZGFzaGJvYXJkID0gZGVmYXVsdERhc2hib2FyZENmZztcbiAgICAgIHRoaXMuZGFzaGJvYXJkRGV0YWlsc0Zvcm0ubWFya0FzRGlydHkoKTtcbiAgICB9XG4gICAgdGhpcy5uYW1lUGxhY2Vob2xkZXIgPSB0aGlzLmlzUmVwb3J0ID8gZ2V0dGV4dCgnZS5nLiBNeSByZXBvcnQnKSA6IGdldHRleHQoJ2UuZy4gTXkgZGFzaGJvYXJkJyk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHVwZGF0ZVJlcG9ydChtbzogUGFydGlhbDxJTWFuYWdlZE9iamVjdD4pIHtcbiAgICBtby5jOHlfSXNOYXZpZ2F0b3JOb2RlID0gbW8uYzh5X0lzTmF2aWdhdG9yTm9kZSA/IHt9IDogbnVsbDtcbiAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLmludmVudG9yeS51cGRhdGUobW8pO1xuICAgIHRoaXMuY29udGV4dCA9IHJlcy5kYXRhO1xuICAgIGlmICh0aGlzLnJvdXRlLnBhcmVudCkge1xuICAgICAgdGhpcy5yb3V0ZS5wYXJlbnQuc25hcHNob3QuZGF0YS5jb250ZXh0RGF0YSA9IHRoaXMuY29udGV4dDtcbiAgICB9XG4gICAgdGhpcy5jb250ZXh0RGFzaGJvYXJkU2VydmljZS51cGRhdGVOYXZpZ2F0b3JJdGVtKHJlcy5kYXRhKTtcbiAgfVxuXG4gIHByaXZhdGUgY2xlYW51cEFmdGVyRGV0YWlsc0Nsb3NlKCkge1xuICAgIHRoaXMuaXNDb2xsYXBzZWQgPSB0cnVlO1xuICAgIGlmICghdGhpcy5pc0VkaXQpIHtcbiAgICAgIGNvbnN0IGRhc2hib2FyZENvbnRleHQgPSB0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGEuZGFzaGJvYXJkO1xuICAgICAgLy8gaGlkZSBOZXcgZGFzaGJvYXJkIHRhYlxuICAgICAgY29uc3QgdG1wTmV3RGFzaGJvYXJkVGFiID0gWy4uLnRoaXMudGFic1NlcnZpY2Uuc3RhdGVdLmZpbmQoXG4gICAgICAgIHQgPT4gdC5mZWF0dXJlSWQgPT09IG5ld0Rhc2hib2FyZFRhYi5mZWF0dXJlSWRcbiAgICAgICk7XG4gICAgICAvLyBkb24ndCBoaWRlIHRoZSBuZXcgZGFzaGJvYXJkIHRhYiB3aGVuIGNsaWNraW5nIG9uIHRoZSBhZGQgZGFzaGJvYXJkIGJ1dHRvbiBmcm9tIGFub3RoZXIgZGFzaGJvYXJkLlxuICAgICAgaWYgKCF0bXBOZXdEYXNoYm9hcmRUYWIgfHwgZGFzaGJvYXJkQ29udGV4dD8uYzh5X0Rhc2hib2FyZCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICAvLyBoaWRlIHRhYiBhbmQgbWFrZSBpdCBhcHBlYXIgYXMgbGFzdCBvbmUgdG8gcHJldmVudCBuYXZpZ2F0aW5nIHRvIGl0XG4gICAgICB0bXBOZXdEYXNoYm9hcmRUYWIuaGlkZSA9IHRydWU7XG4gICAgICB0bXBOZXdEYXNoYm9hcmRUYWIucHJpb3JpdHkgPSAtSW5maW5pdHk7XG4gICAgICB0aGlzLnRhYnNTZXJ2aWNlLnJlZnJlc2goKTtcbiAgICB9XG4gICAgdGhpcy5wcmV2aWV3Q2hhbmdlZC5lbWl0KHRoaXMuZGFzaGJvYXJkKTtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cImNvbGxhcHNlIGM4eS10b3AtZHJhd2VyXCJcbiAgW2NvbGxhcHNlXT1cImlzQ29sbGFwc2VkXCJcbiAgW2lzQW5pbWF0ZWRdPVwidHJ1ZVwiXG4+XG4gIDxkaXYgY2xhc3M9XCJwLXQtMTYgcC1iLTE2IHAtbC0yNCBwLXItMjQgc2VwYXJhdG9yLWJvdHRvbVwiPlxuICAgIDxzcGFuIGNsYXNzPVwiaDRcIj57eyAnRGFzaGJvYXJkIHNldHRpbmdzJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgPC9kaXY+XG5cbiAgPGRpdlxuICAgIGNsYXNzPVwiZC1mbGV4XCJcbiAgICBbZm9ybUdyb3VwXT1cImRhc2hib2FyZERldGFpbHNGb3JtXCJcbiAgICAqbmdJZj1cIiFpc0NvbGxhcHNlZFwiXG4gID5cbiAgICA8Yzh5LXRhYnMtb3V0bGV0XG4gICAgICBbdGFic109XCJ0YWJzJCB8IGFzeW5jXCJcbiAgICAgIFtvdXRsZXROYW1lXT1cIlRBQlNfT1VUTEVUX05BTUVcIlxuICAgICAgW29yaWVudGF0aW9uXT1cIid2ZXJ0aWNhbCdcIlxuICAgICAgY2xhc3M9XCJjOHktdG9wLWRyYXdlci0tdGFic1wiXG4gICAgPjwvYzh5LXRhYnMtb3V0bGV0PlxuICAgIDxkaXYgY2xhc3M9XCJpbm5lci1zY3JvbGwgYzh5LXRvcC1kcmF3ZXJfX3RhYnMtY29udGFpbmVyIGZsZXgtZ3JvdyBwLWwtMjQgcC1yLWxnLTMyIHAtci14cy0yNCBwLXItc20tMjRcIj5cbiAgICAgIDxjOHktdGFiXG4gICAgICAgICpuZ0lmPVwiKCFpc05hbWVkRGFzaGJvYXJkICYmICFoaWRlQXZhaWxhYmlsaXR5KSB8fCBpc1JlcG9ydFwiXG4gICAgICAgIFtsYWJlbF09XCJUQUJTLmdlbmVyYWwubGFiZWxcIlxuICAgICAgICBbaWNvbl09XCInaW1hYy1zZXR0aW5ncydcIlxuICAgICAgICBbcHJpb3JpdHldPVwiMTAwXCJcbiAgICAgICAgW3RhYnNPdXRsZXRdPVwiVEFCU19PVVRMRVRfTkFNRVwiXG4gICAgICAgIChvblNlbGVjdCk9XCJzZWxlY3RUYWIoVEFCUy5nZW5lcmFsLmZlYXR1cmVJZClcIlxuICAgICAgICBbaXNBY3RpdmVdPVwic2VsZWN0ZWRUYWIgPT09IFRBQlMuZ2VuZXJhbC5mZWF0dXJlSWRcIlxuICAgICAgPjwvYzh5LXRhYj5cbiAgICAgIDxjOHktdGFiXG4gICAgICAgIFtsYWJlbF09XCJUQUJTLmFwcGVhcmFuY2UubGFiZWxcIlxuICAgICAgICBbcHJpb3JpdHldPVwiNTBcIlxuICAgICAgICBbaWNvbl09XCInd2ViLWRlc2lnbidcIlxuICAgICAgICBbdGFic091dGxldF09XCJUQUJTX09VVExFVF9OQU1FXCJcbiAgICAgICAgKG9uU2VsZWN0KT1cInNlbGVjdFRhYihUQUJTLmFwcGVhcmFuY2UuZmVhdHVyZUlkKVwiXG4gICAgICAgIFtpc0FjdGl2ZV09XCJzZWxlY3RlZFRhYiA9PT0gVEFCUy5hcHBlYXJhbmNlLmZlYXR1cmVJZFwiXG4gICAgICA+PC9jOHktdGFiPlxuICAgICAgPGM4eS10YWJcbiAgICAgICAgKm5nSWY9XCJtbz8uYzh5X0Rhc2hib2FyZEhpc3RvcnlcIlxuICAgICAgICBbbGFiZWxdPVwiVEFCUy52ZXJzaW9uSGlzdG9yeS5sYWJlbFwiXG4gICAgICAgIFtpY29uXT1cIid2ZXJzaW9ucydcIlxuICAgICAgICBbcHJpb3JpdHldPVwiMTBcIlxuICAgICAgICBbdGFic091dGxldF09XCJUQUJTX09VVExFVF9OQU1FXCJcbiAgICAgICAgKG9uU2VsZWN0KT1cInNlbGVjdFRhYihUQUJTLnZlcnNpb25IaXN0b3J5LmZlYXR1cmVJZClcIlxuICAgICAgICBbaXNBY3RpdmVdPVwic2VsZWN0ZWRUYWIgPT09IFRBQlMudmVyc2lvbkhpc3RvcnkuZmVhdHVyZUlkXCJcbiAgICAgID48L2M4eS10YWI+XG4gICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJzZWxlY3RlZFRhYlwiPlxuICAgICAgICA8Yzh5LWRhc2hib2FyZC1nZW5lcmFsLXNldHRpbmdzXG4gICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIlRBQlMuZ2VuZXJhbC5mZWF0dXJlSWRcIlxuICAgICAgICAgIFtpc1JlcG9ydF09XCJpc1JlcG9ydFwiXG4gICAgICAgICAgW2lzTmFtZWREYXNoYm9hcmRdPVwiaXNOYW1lZERhc2hib2FyZFwiXG4gICAgICAgICAgW2hpZGVBdmFpbGFiaWxpdHldPVwiaGlkZUF2YWlsYWJpbGl0eVwiXG4gICAgICAgICAgW2Rhc2hib2FyZF09XCJkYXNoYm9hcmRcIlxuICAgICAgICAgIFtnZW5lcmFsU2V0dGluZ3NGb3JtXT1cImdlbmVyYWxTZXR0aW5nc0Zvcm1cIlxuICAgICAgICAgIFtkZXZpY2VUeXBlVmFsdWVdPVwiZGV2aWNlVHlwZVZhbHVlXCJcbiAgICAgICAgICBbZGlzcGxheURldmljZVR5cGVWYWx1ZV09XCJkaXNwbGF5RGV2aWNlVHlwZVZhbHVlXCJcbiAgICAgICAgICBbbW9dPVwibW9cIlxuICAgICAgICAgIFthbGxvd1R5cGVEYXNoYm9hcmRdPVwiYWxsb3dUeXBlRGFzaGJvYXJkXCJcbiAgICAgICAgICBbaXNEZXZpY2VdPVwiISFjb250ZXh0Py5jOHlfSXNEZXZpY2VcIlxuICAgICAgICAgIGNsYXNzPVwiYW5pbWF0ZWQgZmFkZUluXCJcbiAgICAgICAgICAob25EdXBsaWNhdGVXaXRob3V0VHlwZSk9XCJkdXBsaWNhdGVXaXRob3V0VHlwZSgpXCJcbiAgICAgICAgPjwvYzh5LWRhc2hib2FyZC1nZW5lcmFsLXNldHRpbmdzPlxuICAgICAgICA8Yzh5LWRhc2hib2FyZC1hcHBlYXJhbmNlLXNldHRpbmdzXG4gICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIlRBQlMuYXBwZWFyYW5jZS5mZWF0dXJlSWRcIlxuICAgICAgICAgIFtkYXNoYm9hcmRdPVwiZGFzaGJvYXJkXCJcbiAgICAgICAgICBbYXBwZWFyYW5jZVNldHRpbmdzRm9ybV09XCJhcHBlYXJhbmNlU2V0dGluZ3NGb3JtXCJcbiAgICAgICAgICAocHJldmlld0NoYW5nZWQpPVwicHJldmlld0NoYW5nZWQuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICBjbGFzcz1cImFuaW1hdGVkIGZhZGVJblwiXG4gICAgICAgID48L2M4eS1kYXNoYm9hcmQtYXBwZWFyYW5jZS1zZXR0aW5ncz5cbiAgICAgICAgPGM4eS1kYXNoYm9hcmQtdmVyc2lvbi1oaXN0b3J5XG4gICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIlRBQlMudmVyc2lvbkhpc3RvcnkuZmVhdHVyZUlkXCJcbiAgICAgICAgICBbZGFzaGJvYXJkSGlzdG9yeV09XCJtby5jOHlfRGFzaGJvYXJkSGlzdG9yeVwiXG4gICAgICAgICAgW2lzUmVwb3J0XT1cImlzUmVwb3J0XCJcbiAgICAgICAgICAob25SZXZlcnQpPVwicmV2ZXJ0RGFzaGJvYXJkKCRldmVudClcIlxuICAgICAgICAgIGNsYXNzPVwiYW5pbWF0ZWQgZmFkZUluXCJcbiAgICAgICAgPjwvYzh5LWRhc2hib2FyZC12ZXJzaW9uLWhpc3Rvcnk+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImM4eS10b3AtZHJhd2VyLS1mb290ZXJcIj5cbiAgICA8YnV0dG9uXG4gICAgICBjbGFzcz1cImJ0biBidG4tZGVmYXVsdFwiXG4gICAgICB0aXRsZT1cInt7ICdDYW5jZWwnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgZGF0YS1jeT1cImRhc2hib2FyZC1kZXRhaWwtLWNhbmNlbC1kYXNoYm9hcmRcIlxuICAgICAgKGNsaWNrKT1cImNhbmNlbCgpXCJcbiAgICA+XG4gICAgICB7eyAnQ2FuY2VsJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCJcbiAgICAgIHRpdGxlPVwie3sgJ1NhdmUnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgZGF0YS1jeT1cImRhc2hib2FyZC1kZXRhaWwtLXNhdmUtZGFzaGJvYXJkXCJcbiAgICAgIChjbGljayk9XCJzYXZlKClcIlxuICAgICAgW2Rpc2FibGVkXT1cIlxuICAgICAgICAoZGFzaGJvYXJkRGV0YWlsc0Zvcm0/LmludmFsaWQgfHwgZGFzaGJvYXJkRGV0YWlsc0Zvcm0/LnByaXN0aW5lKSAmJiB0aGlzLmlzRWRpdFxuICAgICAgXCJcbiAgICA+XG4gICAgICB7eyAnU2F2ZScgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
412
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLWRldGFpbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9jb250ZXh0LWRhc2hib2FyZC9kYXNoYm9hcmQtZGV0YWlsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL2NvbnRleHQtZGFzaGJvYXJkL2Rhc2hib2FyZC1kZXRhaWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFJTCxNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQ0wsZUFBZSxFQUVmLG1CQUFtQixFQUNuQixnQkFBZ0IsRUFDaEIsT0FBTyxFQUNQLFlBQVksRUFDWixPQUFPLEVBQ1AsWUFBWSxFQUNaLE1BQU0sRUFFTixXQUFXLEVBQ1osTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDdEQsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBSUwsMEJBQTBCLEVBQzFCLHFCQUFxQixFQUdyQixrQkFBa0IsRUFDbEIsdUNBQXVDLEVBQ3hDLE1BQU0sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdEUsT0FBTyxFQUFrQixnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMvRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxz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IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7XG4gIEFwcFN0YXRlU2VydmljZSxcbiAgQ29udGV4dERhdGEsXG4gIENvbnRleHRSb3V0ZVNlcnZpY2UsXG4gIEdhaW5zaWdodFNlcnZpY2UsXG4gIGdldHRleHQsXG4gIEdyb3VwU2VydmljZSxcbiAgbWVtb2l6ZSxcbiAgTW9kYWxTZXJ2aWNlLFxuICBTdGF0dXMsXG4gIFRhYixcbiAgVGFic1NlcnZpY2Vcbn0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBjbG9uZSwgY2xvbmVEZWVwLCBpc0VxdWFsIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIEFsbG93VHlwZURhc2hib2FyZCxcbiAgQ29udGV4dERhc2hib2FyZCxcbiAgQ29udGV4dERhc2hib2FyZE1hbmFnZWRPYmplY3QsXG4gIERBU0hCT0FSRF9TRVRUSU5HU19DSEFOR0VTLFxuICBEYXNoYm9hcmREZXRhaWxzVGFiSWQsXG4gIERhc2hib2FyZERldGFpbHNUYWJzLFxuICBEYXNoYm9hcmRIaXN0b3J5RGVzY3JpcHRpb24sXG4gIFBST0RVQ1RfRVhQRVJJRU5DRSxcbiAgUkVQT1JUX0RFRkFVTFRfTkFWSUdBVElPTl9OT0RFX1BSSU9SSVRZXG59IGZyb20gJy4vY29udGV4dC1kYXNoYm9hcmQubW9kZWwnO1xuaW1wb3J0IHsgQ29udGV4dERhc2hib2FyZFNlcnZpY2UgfSBmcm9tICcuL2NvbnRleHQtZGFzaGJvYXJkLnNlcnZpY2UnO1xuaW1wb3J0IHsgSU1hbmFnZWRPYmplY3QsIEludmVudG9yeVNlcnZpY2UgfSBmcm9tICdAYzh5L2NsaWVudCc7XG5pbXBvcnQgeyBmaXJzdCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IG5ld0Rhc2hib2FyZFRhYiB9IGZyb20gJy4vbmV3LWRhc2hib2FyZC5ndWFyZCc7XG5pbXBvcnQgeyBEYXNoYm9hcmREZXRhaWxTZXJ2aWNlIH0gZnJvbSAnLi9kYXNoYm9hcmQtZGV0YWlsLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjOHktZGFzaGJvYXJkLWRldGFpbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXNoYm9hcmQtZGV0YWlsLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBEYXNoYm9hcmREZXRhaWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgaXNDb2xsYXBzZWQgPSB0cnVlO1xuICBjdXJyZW50Q29udGV4dDogQ29udGV4dERhdGE7XG4gIGN1cnJlbnREYXNoYm9hcmQ6IENvbnRleHREYXNoYm9hcmQ7XG4gIEBJbnB1dCgpIGlzUmVwb3J0OiBib29sZWFuO1xuICBASW5wdXQoKSBkZXZpY2VUeXBlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGNvbnRleHQ6IGFueTtcbiAgQElucHV0KCkgbW86IENvbnRleHREYXNoYm9hcmRNYW5hZ2VkT2JqZWN0O1xuICBASW5wdXQoKSBkYXNoYm9hcmQ6IENvbnRleHREYXNoYm9hcmQ7XG4gIEBJbnB1dCgpIGlzTmFtZWREYXNoYm9hcmQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGhpZGVBdmFpbGFiaWxpdHkgPSBmYWxzZTtcbiAgZGV2aWNlVHlwZVZhbHVlOiBzdHJpbmc7XG4gIGRpc3BsYXlEZXZpY2VUeXBlVmFsdWU6IHN0cmluZztcbiAgaWNvbnM6IHN0cmluZ1tdO1xuICBuYW1lUGxhY2Vob2xkZXI6IHN0cmluZztcbiAgdGFicyQ6IE9ic2VydmFibGU8VGFiW10+O1xuICBzZWxlY3RlZFRhYjogRGFzaGJvYXJkRGV0YWlsc1RhYklkID0gRGFzaGJvYXJkRGV0YWlsc1RhYklkLkdFTkVSQUw7XG4gIGRhc2hib2FyZERldGFpbHNGb3JtOiBSZXR1cm5UeXBlPERhc2hib2FyZERldGFpbFNlcnZpY2VbJ2luaXRGb3JtJ10+O1xuICBnZW5lcmFsU2V0dGluZ3NGb3JtOiBSZXR1cm5UeXBlPERhc2hib2FyZERldGFpbFNlcnZpY2VbJ2luaXRHZW5lcmFsU2V0dGluZ3NGb3JtJ10+O1xuICBhcHBlYXJhbmNlU2V0dGluZ3NGb3JtOiBSZXR1cm5UeXBlPERhc2hib2FyZERldGFpbFNlcnZpY2VbJ2luaXRBcHBlYXJhbmNlU2V0dGluZ3NGb3JtJ10+O1xuICBhbGxvd1R5cGVEYXNoYm9hcmQ6IEFsbG93VHlwZURhc2hib2FyZDtcbiAgaXNFZGl0OiBib29sZWFuO1xuICBAT3V0cHV0KCkgZGFzaGJvYXJkU2F2ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPENvbnRleHREYXNoYm9hcmQ+KCk7XG4gIEBPdXRwdXQoKSBwcmV2aWV3Q2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBwcml2YXRlIGRlc3Ryb3kkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3QoKTtcblxuICByZWFkb25seSBUQUJTX09VVExFVF9OQU1FID0gJ2Rhc2hib2FyZFRhYnMnO1xuICByZWFkb25seSBUQUJTOiBEYXNoYm9hcmREZXRhaWxzVGFicyA9IHtcbiAgICBnZW5lcmFsOiB7XG4gICAgICBmZWF0dXJlSWQ6IERhc2hib2FyZERldGFpbHNUYWJJZC5HRU5FUkFMLFxuICAgICAgcHJpb3JpdHk6IDMwLFxuICAgICAgbGFiZWw6IGdldHRleHQoJ0dlbmVyYWwnKVxuICAgIH0sXG4gICAgYXBwZWFyYW5jZToge1xuICAgICAgZmVhdHVyZUlkOiBEYXNoYm9hcmREZXRhaWxzVGFiSWQuQVBQRUFSQU5DRSxcbiAgICAgIHByaW9yaXR5OiAyMCxcbiAgICAgIGxhYmVsOiBnZXR0ZXh0KCdBcHBlYXJhbmNlJylcbiAgICB9LFxuICAgIHZlcnNpb25IaXN0b3J5OiB7XG4gICAgICBmZWF0dXJlSWQ6IERhc2hib2FyZERldGFpbHNUYWJJZC5WRVJTSU9OSElTVE9SWSxcbiAgICAgIHByaW9yaXR5OiAxMCxcbiAgICAgIGxhYmVsOiBnZXR0ZXh0KCdWZXJzaW9uIGhpc3RvcnknKVxuICAgIH1cbiAgfTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNvbnRleHREYXNoYm9hcmRTZXJ2aWNlOiBDb250ZXh0RGFzaGJvYXJkU2VydmljZSxcbiAgICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb250ZXh0Um91dGU6IENvbnRleHRSb3V0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSB0YWJzU2VydmljZTogVGFic1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIGludmVudG9yeTogSW52ZW50b3J5U2VydmljZSxcbiAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIGRhc2hib2FyZERldGFpbFNlcnZpY2U6IERhc2hib2FyZERldGFpbFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhcHBTdGF0ZTogQXBwU3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgZ3JvdXBTZXJ2aWNlOiBHcm91cFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBtb2RhbDogTW9kYWxTZXJ2aWNlLFxuICAgIHByaXZhdGUgZ2FpbnNpZ2h0U2VydmljZTogR2FpbnNpZ2h0U2VydmljZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy50YWJzJCA9IHRoaXMudGFic1NlcnZpY2UuaXRlbXMkO1xuICAgIHRoaXMuY3VycmVudENvbnRleHQgPSB0aGlzLmNvbnRleHRSb3V0ZS5nZXRDb250ZXh0RGF0YSh0aGlzLmFjdGl2YXRlZFJvdXRlKTtcbiAgICB0aGlzLmRldmljZVR5cGVWYWx1ZSA9IHRoaXMuY29udGV4dD8udHlwZTtcbiAgICB0aGlzLmRpc3BsYXlEZXZpY2VUeXBlVmFsdWUgPVxuICAgICAgdGhpcy5jb250ZXh0ICYmXG4gICAgICB0aGlzLmdyb3VwU2VydmljZS5pc0dyb3VwKHRoaXMuY29udGV4dCkgJiZcbiAgICAgICF0aGlzLmdyb3VwU2VydmljZS5pc0Fzc2V0KHRoaXMuY29udGV4dClcbiAgICAgICAgPyB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChnZXR0ZXh0KCdHcm91cCcpKVxuICAgICAgICA6IHRoaXMuZGV2aWNlVHlwZVZhbHVlO1xuXG4gICAgdGhpcy51cGRhdGVBbGxvd1R5cGVEYXNoYm9hcmQoKTtcbiAgICB0aGlzLmluaXRGb3JtKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZUFsbG93VHlwZURhc2hib2FyZCgpO1xuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5pc0VkaXQpIHtcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZUNvbmZpZ3VyYXRpb24oKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBhc3luYyBzYXZlKCkge1xuICAgIGNvbnN0IG9sZERhc2hib2FyZCA9IGNsb25lRGVlcCh0aGlzLmRhc2hib2FyZCk7XG4gICAgdGhpcy5kYXNoYm9hcmQgPSB7XG4gICAgICAuLi50aGlzLmRhc2hib2FyZCxcbiAgICAgIC4uLnRoaXMuZ2VuZXJhbFNldHRpbmdzRm9ybS52YWx1ZSxcbiAgICAgIC4uLnRoaXMuYXBwZWFyYW5jZVNldHRpbmdzRm9ybS52YWx1ZVxuICAgIH07XG4gICAgY29uc3QgZGFzaGJvYXJkU2V0dGluZ0NoYW5nZXM6IHN0cmluZ1tdID0gT2JqZWN0LmtleXModGhpcy5kYXNoYm9hcmQpLmZpbHRlcihrZXkgPT4ge1xuICAgICAgaWYgKGtleSA9PT0gJ2M4eV9Jc05hdmlnYXRvck5vZGUnKSB7XG4gICAgICAgIHJldHVybiAhIW9sZERhc2hib2FyZFtrZXldICE9PSAhIXRoaXMuZGFzaGJvYXJkW2tleV07XG4gICAgICB9XG4gICAgICByZXR1cm4gIWlzRXF1YWwob2xkRGFzaGJvYXJkW2tleV0sIHRoaXMuZGFzaGJvYXJkW2tleV0pO1xuICAgIH0pO1xuXG4gICAgdGhpcy5kYXNoYm9hcmQuYXV0aG9yID0gdGhpcy5hcHBTdGF0ZS5jdXJyZW50VXNlci52YWx1ZS51c2VyTmFtZTtcbiAgICB0aGlzLmRhc2hib2FyZC5jOHlfSXNOYXZpZ2F0b3JOb2RlID0gdGhpcy5kYXNoYm9hcmQuYzh5X0lzTmF2aWdhdG9yTm9kZVxuICAgICAgPyB7fVxuICAgICAgOiB0aGlzLmN1cnJlbnREYXNoYm9hcmRcbiAgICAgICAgPyBudWxsXG4gICAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgdGhpcy5kYXNoYm9hcmQuZGV2aWNlVHlwZVZhbHVlID8/PSB0aGlzLmRldmljZVR5cGVWYWx1ZTtcbiAgICB0aGlzLmRhc2hib2FyZC5oaXN0b3J5RGVzY3JpcHRpb24gPVxuICAgICAgdGhpcy51cGRhdGVEYXNoYm9hcmRIaXN0b3J5RGVzY3JpcHRpb24oZGFzaGJvYXJkU2V0dGluZ0NoYW5nZXMpO1xuICAgIGlmICghdGhpcy5pc0VkaXQgJiYgIXRoaXMuaXNSZXBvcnQpIHtcbiAgICAgIGF3YWl0IHRoaXMuY3JlYXRlTmV3RGFzaGJvYXJkKCk7XG4gICAgfSBlbHNlIGlmICghdGhpcy5pc0VkaXQgJiYgdGhpcy5pc1JlcG9ydCkge1xuICAgICAgYXdhaXQgdGhpcy5jcmVhdGVOZXdSZXBvcnQoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgYXdhaXQgdGhpcy51cGRhdGVEYXNoYm9hcmQoKTtcbiAgICAgIHRoaXMubW8uYzh5X0Rhc2hib2FyZEhpc3RvcnkgPSBbXG4gICAgICAgIHRoaXMuZGFzaGJvYXJkLFxuICAgICAgICAuLi4odGhpcy5tbz8uYzh5X0Rhc2hib2FyZEhpc3RvcnkgPyB0aGlzLm1vLmM4eV9EYXNoYm9hcmRIaXN0b3J5IDogW10pXG4gICAgICBdO1xuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZURhc2hib2FyZEhpc3RvcnlEZXNjcmlwdGlvbihkYXNoYm9hcmRDaGFuZ2VzOiBzdHJpbmdbXSk6IERhc2hib2FyZEhpc3RvcnlEZXNjcmlwdGlvbiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNoYW5nZVR5cGU6IHRoaXMuaXNFZGl0ID8gJ3VwZGF0ZScgOiAnY3JlYXRlJyxcbiAgICAgIGRhc2hib2FyZFNldHRpbmdDaGFuZ2VzOiBkYXNoYm9hcmRDaGFuZ2VzXG4gICAgICAgIC5maWx0ZXIodmFsdWUgPT4gdmFsdWUgIT09ICdkZXZpY2VUeXBlJylcbiAgICAgICAgLm1hcCh2YWx1ZSA9PiBEQVNIQk9BUkRfU0VUVElOR1NfQ0hBTkdFU1t2YWx1ZV0gfHwgdmFsdWUpLFxuICAgICAgZGV2aWNlVHlwZTogZGFzaGJvYXJkQ2hhbmdlcy5maW5kKHZhbHVlID0+IHZhbHVlID09PSAnZGV2aWNlVHlwZScpXG4gICAgICAgID8gdGhpcy5kYXNoYm9hcmQuZGV2aWNlVHlwZVxuICAgICAgICA6IHVuZGVmaW5lZFxuICAgIH07XG4gIH1cblxuICBzZWxlY3RUYWIoc2VsZWN0ZWRUYWI6IERhc2hib2FyZERldGFpbHNUYWJJZCkge1xuICAgIHRoaXMuc2VsZWN0ZWRUYWIgPSBzZWxlY3RlZFRhYjtcbiAgICB0aGlzLnRhYnNTZXJ2aWNlLnJlZnJlc2goKTtcbiAgfVxuXG4gIGFzeW5jIGNhbmNlbCgpIHtcbiAgICBpZiAoIXRoaXMuaXNFZGl0ICYmICF0aGlzLmlzUmVwb3J0KSB7XG4gICAgICAvLyBkYXNoYm9hcmQgY3JlYXRpb24gaW4gaXQncyBvd24gdGFiLSBjb25maXJtIGFuZCBjbGVhbnVwIHRyaWdnZXJlZCBpbiBjYW5EZWFjdGl2YXRlIGR1cmluZyByb3V0aW5nXG4gICAgICB0aGlzLnRhYnNTZXJ2aWNlLml0ZW1zJC5waXBlKGZpcnN0KCkpLnN1YnNjcmliZSgodGFiczogVGFiW10pID0+IHtcbiAgICAgICAgY29uc3QgdGFiID0gdGFicy5maW5kKHQgPT4gdC5mZWF0dXJlSWQgIT09IG5ld0Rhc2hib2FyZFRhYi5mZWF0dXJlSWQpO1xuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZSh0eXBlb2YgdGFiLnBhdGggPT09ICdzdHJpbmcnID8gW3RhYi5wYXRoXSA6IHRhYi5wYXRoLCB7XG4gICAgICAgICAgcmVwbGFjZVVybDogdHJ1ZVxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuO1xuICAgIH0gZWxzZSBpZiAoIXRoaXMuaXNFZGl0ICYmIHRoaXMuaXNSZXBvcnQpIHtcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsncmVwb3J0cyddKTtcbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2UgaWYgKHRoaXMuZGFzaGJvYXJkRGV0YWlsc0Zvcm0uZGlydHkgJiYgIShhd2FpdCB0aGlzLmNvbmZpcm1DbG9zaW5nKCkpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuY2xlYW51cEFmdGVyRGV0YWlsc0Nsb3NlKCk7XG4gIH1cblxuICBhc3luYyBjYW5EZWFjdGl2YXRlKG9taXRDb25maXJtID0gZmFsc2UpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBsZXQgY2FuRGVhY3RpdmF0ZTogYm9vbGVhbjtcbiAgICBpZiAodGhpcy5pc0NvbGxhcHNlZCB8fCAhdGhpcy5kYXNoYm9hcmREZXRhaWxzRm9ybS5kaXJ0eSkge1xuICAgICAgY2FuRGVhY3RpdmF0ZSA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChvbWl0Q29uZmlybSkge1xuICAgICAgICBjYW5EZWFjdGl2YXRlID0gZmFsc2U7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjYW5EZWFjdGl2YXRlID0gYXdhaXQgdGhpcy5jb25maXJtQ2xvc2luZygpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoY2FuRGVhY3RpdmF0ZSkge1xuICAgICAgdGhpcy5jbGVhbnVwQWZ0ZXJEZXRhaWxzQ2xvc2UoKTtcbiAgICB9XG4gICAgcmV0dXJuIGNhbkRlYWN0aXZhdGU7XG4gIH1cblxuICBzaG93KGlzRWRpdDogYm9vbGVhbikge1xuICAgIHRoaXMuaXNFZGl0ID0gaXNFZGl0O1xuICAgIGlmICh0aGlzLmlzRWRpdCkge1xuICAgICAgdGhpcy5lZGl0KCk7XG4gICAgfVxuICAgIHRoaXMuaW5pdEZvcm0oKTtcbiAgICB0aGlzLmlzQ29sbGFwc2VkID0gZmFsc2U7XG4gIH1cblxuICBhc3luYyByZXZlcnREYXNoYm9hcmQoZGFzaGJvYXJkOiBDb250ZXh0RGFzaGJvYXJkKSB7XG4gICAgdGhpcy5kYXNoYm9hcmQgPSBkYXNoYm9hcmQ7XG4gICAgdGhpcy5kYXNoYm9hcmQuYzh5X0lzTmF2aWdhdG9yTm9kZSA9IHRoaXMuZGFzaGJvYXJkLmM4eV9Jc05hdmlnYXRvck5vZGVcbiAgICAgID8ge31cbiAgICAgIDogdGhpcy5jdXJyZW50RGFzaGJvYXJkXG4gICAgICAgID8gbnVsbFxuICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICBhd2FpdCB0aGlzLnVwZGF0ZURhc2hib2FyZCgpO1xuICB9XG5cbiAgYXN5bmMgZHVwbGljYXRlV2l0aG91dFR5cGUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgbmV3RGFzaGJvYXJkTmFtZSA9IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KGdldHRleHQoJ3t7IGRhc2hib2FyZE5hbWUgfX0gKGNvcHkpJyksIHtcbiAgICAgIGRhc2hib2FyZE5hbWU6IHRoaXMuZ2VuZXJhbFNldHRpbmdzRm9ybS52YWx1ZS5uYW1lXG4gICAgfSk7XG4gICAgdGhpcy5nZW5lcmFsU2V0dGluZ3NGb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgZGV2aWNlVHlwZTogZmFsc2UsXG4gICAgICBuYW1lOiBuZXdEYXNoYm9hcmROYW1lXG4gICAgfSk7XG4gICAgLy8gc2V0dGluZyBlZGl0aW9uIHRvIGZhbHNlIHNvIG5ldyBkYXNoYm9hcmQgY2FuIGJlIGNyZWF0ZWQgYXMgY29weSBvZiBjdXJyZW50IG9uZVxuICAgIHRoaXMuaXNFZGl0ID0gZmFsc2U7XG4gICAgYXdhaXQgdGhpcy5zYXZlKCk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUFsbG93VHlwZURhc2hib2FyZCgpOiB2b2lkIHtcbiAgICB0aGlzLmFsbG93VHlwZURhc2hib2FyZCA9IHRoaXMuY29udGV4dERhc2hib2FyZFNlcnZpY2Uuc2hvdWxkQWxsb3dUb1NldERhc2hib2FyZFR5cGUoXG4gICAgICB0aGlzLm1vLFxuICAgICAgdGhpcy5jdXJyZW50Q29udGV4dFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGluaXRGb3JtKCk6IHZvaWQge1xuICAgIHRoaXMuZGFzaGJvYXJkRGV0YWlsc0Zvcm0gPSB0aGlzLmRhc2hib2FyZERldGFpbFNlcnZpY2UuaW5pdEZvcm0oXG4gICAgICB0aGlzLmRhc2hib2FyZCxcbiAgICAgIHRoaXMuaXNSZXBvcnQsXG4gICAgICB0aGlzLmFsbG93VHlwZURhc2hib2FyZFxuICAgICk7XG4gICAgdGhpcy5nZW5lcmFsU2V0dGluZ3NGb3JtID0gdGhpcy5kYXNoYm9hcmREZXRhaWxzRm9ybS5nZXQoJ2dlbmVyYWxTZXR0aW5nc0Zvcm0nKSBhcyBGb3JtR3JvdXA7XG4gICAgdGhpcy5hcHBlYXJhbmNlU2V0dGluZ3NGb3JtID0gdGhpcy5kYXNoYm9hcmREZXRhaWxzRm9ybS5nZXQoXG4gICAgICAnYXBwZWFyYW5jZVNldHRpbmdzRm9ybSdcbiAgICApIGFzIEZvcm1Hcm91cDtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgY29uZmlybUNsb3NpbmcoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMubW9kYWwuY29uZmlybShcbiAgICAgICAgZ2V0dGV4dCgnQ2xvc2UgZGFzaGJvYXJkIGRldGFpbHMnKSxcbiAgICAgICAgZ2V0dGV4dChcbiAgICAgICAgICAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGNsb3NlIGRhc2hib2FyZCBkZXRhaWxzPyBBbGwgdW5zYXZlZCBjaGFuZ2VzIHdpbGwgYmUgbG9zdC4nXG4gICAgICAgICksXG4gICAgICAgIFN0YXR1cy5XQVJOSU5HLFxuICAgICAgICB7XG4gICAgICAgICAgb2s6IGdldHRleHQoJ0Nsb3NlJyksXG4gICAgICAgICAgY2FuY2VsOiBnZXR0ZXh0KCdDYW5jZWwnKVxuICAgICAgICB9XG4gICAgICApO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgY3JlYXRlTmV3RGFzaGJvYXJkKCkge1xuICAgIGNvbnN0IG1vOiBDb250ZXh0RGFzaGJvYXJkTWFuYWdlZE9iamVjdCA9IGF3YWl0IHRoaXMuY29udGV4dERhc2hib2FyZFNlcnZpY2UuY3JlYXRlKFxuICAgICAgdGhpcy5kYXNoYm9hcmQsXG4gICAgICB0aGlzLmN1cnJlbnRDb250ZXh0XG4gICAgKTtcblxuICAgIGF3YWl0IHRoaXMub25DcmVhdGVHU0V2ZW50KG1vKTtcbiAgICB0aGlzLmNsZWFudXBBZnRlckRldGFpbHNDbG9zZSgpO1xuICAgIGF3YWl0IHRoaXMuY29udGV4dERhc2hib2FyZFNlcnZpY2UubmF2aWdhdGVUb0Rhc2hib2FyZChtbyk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIG9uQ3JlYXRlR1NFdmVudChtbzogQ29udGV4dERhc2hib2FyZE1hbmFnZWRPYmplY3QpIHtcbiAgICBjb25zdCBwYXJlbnROYW1lID0gYXdhaXQgdGhpcy5jb252ZXJ0U3RyaW5nVG9IYXNoKHRoaXMuY29udGV4dD8ubmFtZSk7XG4gICAgY29uc3QgZGFzaGJvYXJkTmFtZSA9IGF3YWl0IHRoaXMuY29udmVydFN0cmluZ1RvSGFzaCh0aGlzLmRhc2hib2FyZD8ubmFtZSk7XG5cbiAgICB0aGlzLmdhaW5zaWdodFNlcnZpY2UudHJpZ2dlckV2ZW50KFBST0RVQ1RfRVhQRVJJRU5DRS5EQVNIQk9BUkQuRVZFTlRTLkRBU0hCT0FSRFMsIHtcbiAgICAgIGNvbXBvbmVudDogUFJPRFVDVF9FWFBFUklFTkNFLkRBU0hCT0FSRC5DT01QT05FTlRTLkFERF9EQVNIQk9BUkQsXG4gICAgICBhY3Rpb246IFBST0RVQ1RfRVhQRVJJRU5DRS5EQVNIQk9BUkQuQUNUSU9OUy5DUkVBVEUsXG4gICAgICBuYW1lOiBkYXNoYm9hcmROYW1lLFxuICAgICAgaWQ6IG1vLmlkLFxuICAgICAgbmFtZUlkOiBgJHtkYXNoYm9hcmROYW1lfV8ke3RoaXMubW8uaWR9YCxcbiAgICAgIHBhcmVudEFzc2V0SWQ6IHRoaXMuY29udGV4dD8uaWQgPyB0aGlzLmNvbnRleHQuaWQgOiAnbm9Db250ZXh0JyxcbiAgICAgIHBhcmVudEFzc2V0TmFtZTogdGhpcy5jb250ZXh0Py5pZCA/IHBhcmVudE5hbWUgOiAnbm9Db250ZXh0JyxcbiAgICAgIHBhcmVudEFzc2V0VHlwZTogdGhpcy5jb250ZXh0Py5pZCA/IHRoaXMuY29udGV4dC50eXBlIDogJ25vQ29udGV4dCcsXG4gICAgICBwYXJlbnRBc3NldE5hbWVJZDogdGhpcy5jb250ZXh0Py5pZCA/IGAke3BhcmVudE5hbWV9XyR7dGhpcy5jb250ZXh0LmlkfWAgOiAnbm9Db250ZXh0JyxcbiAgICAgIHBhcmVudEFzc2V0TmFtZURhc2hib2FyZE5hbWU6IHRoaXMuY29udGV4dD8uaWRcbiAgICAgICAgPyBgJHtwYXJlbnROYW1lfV8ke2Rhc2hib2FyZE5hbWV9YFxuICAgICAgICA6ICdub0NvbnRleHQnLFxuICAgICAgcGFyZW50QXNzZXRJZERhc2hib2FyZElkOiB0aGlzLmNvbnRleHQ/LmlkID8gYCR7dGhpcy5jb250ZXh0LmlkfV8ke3RoaXMubW8uaWR9YCA6ICdub0NvbnRleHQnLFxuICAgICAgcGFyZW50QXNzZXROYW1lRGFzaGJvYXJkSWQ6IHRoaXMuY29udGV4dD8uaWQgPyBgJHtwYXJlbnROYW1lfV8ke3RoaXMubW8uaWR9YCA6ICdub0NvbnRleHQnLFxuICAgICAgcGFyZW50QXNzZXROYW1lSWREYXNoYm9hcmROYW1lSWQ6IHRoaXMuY29udGV4dD8uaWRcbiAgICAgICAgPyBgJHtwYXJlbnROYW1lfV8ke3RoaXMuY29udGV4dC5pZH1fJHtkYXNoYm9hcmROYW1lfV8ke3RoaXMubW8uaWR9YFxuICAgICAgICA6ICdub0NvbnRleHQnLFxuICAgICAgZGFzaGJvYXJkVHlwZTogbW8uYzh5X0Rhc2hib2FyZC5kZXZpY2VUeXBlID8gbW8uYzh5X0Rhc2hib2FyZC5kZXZpY2VUeXBlVmFsdWUgOiBudWxsLFxuICAgICAgY29udGV4dDogdGhpcy5jb250ZXh0RGFzaGJvYXJkU2VydmljZS5nZXRDb250ZXh0Rm9yR1MoXG4gICAgICAgIHRoaXMuY3VycmVudENvbnRleHQuY29udGV4dERhdGEgYXMgSU1hbmFnZWRPYmplY3RcbiAgICAgIClcbiAgICB9KTtcbiAgfVxuXG4gIEBtZW1vaXplKClcbiAgcHJpdmF0ZSBhc3luYyBjb252ZXJ0U3RyaW5nVG9IYXNoKHN0cjogc3RyaW5nKSB7XG4gICAgaWYgKCFzdHIpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gKGF3YWl0IHRoaXMuZ2FpbnNpZ2h0U2VydmljZS5zaG91bGRTZW5kUGlpRGF0YSgpKVxuICAgICAgPyBzdHJcbiAgICAgIDogYXdhaXQgdGhpcy5nYWluc2lnaHRTZXJ2aWNlLmhhc2hHcm91cE5hbWUoc3RyKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgY3JlYXRlTmV3UmVwb3J0KCkge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB7IG5hbWUsIGljb24sIGM4eV9Jc05hdmlnYXRvck5vZGUsIHByaW9yaXR5LCBkZXNjcmlwdGlvbiB9ID0gdGhpcy5kYXNoYm9hcmQ7XG4gICAgICBjb25zdCByZXBvcnQgPSAoXG4gICAgICAgIGF3YWl0IHRoaXMuY29udGV4dERhc2hib2FyZFNlcnZpY2UuY3JlYXRlUmVwb3J0KHtcbiAgICAgICAgICBuYW1lLFxuICAgICAgICAgIGljb24sXG4gICAgICAgICAgYzh5X0lzTmF2aWdhdG9yTm9kZSxcbiAgICAgICAgICBwcmlvcml0eSxcbiAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICB9IGFzIFBhcnRpYWw8SU1hbmFnZWRPYmplY3Q+KVxuICAgICAgKS5kYXRhO1xuXG4gICAgICBhd2FpdCB0aGlzLmNvbnRleHREYXNoYm9hcmRTZXJ2aWNlLmNyZWF0ZShcbiAgICAgICAgdGhpcy5kYXNoYm9hcmQsXG4gICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgYCR7dGhpcy5jb250ZXh0RGFzaGJvYXJkU2VydmljZS5SRVBPUlRfUEFSVElBTF9OQU1FfSR7cmVwb3J0LmlkfWBcbiAgICAgICk7XG4gICAgICB0aGlzLmdhaW5zaWdodFNlcnZpY2UudHJpZ2dlckV2ZW50KFBST0RVQ1RfRVhQRVJJRU5DRS5EQVNIQk9BUkQuRVZFTlRTLlJFUE9SVFMsIHtcbiAgICAgICAgY29tcG9uZW50OiBQUk9EVUNUX0VYUEVSSUVOQ0UuREFTSEJPQVJELkNPTVBPTkVOVFMuQUREX1JFUE9SVCxcbiAgICAgICAgYWN0aW9uOiBQUk9EVUNUX0VYUEVSSUVOQ0UuREFTSEJPQVJELkFDVElPTlMuQ1JFQVRFLFxuICAgICAgICBuYW1lOiByZXBvcnQubmFtZSxcbiAgICAgICAgaWQ6IHJlcG9ydC5pZCxcbiAgICAgICAgY29udGV4dDogUFJPRFVDVF9FWFBFUklFTkNFLkRBU0hCT0FSRC5DT05URVhULlJFUE9SVFxuICAgICAgfSk7XG4gICAgICBpZiAocmVwb3J0LmM4eV9Jc05hdmlnYXRvck5vZGUpIHtcbiAgICAgICAgdGhpcy5jb250ZXh0RGFzaGJvYXJkU2VydmljZS5hZGRSZXBvcnROYXZpZ2F0b3JOb2RlKHJlcG9ydCk7XG4gICAgICB9XG4gICAgICB0aGlzLmNsZWFudXBBZnRlckRldGFpbHNDbG9zZSgpO1xuICAgICAgYXdhaXQgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWydyZXBvcnRzJywgcmVwb3J0LmlkXSk7XG4gICAgfSBjYXRjaCAoZXgpIHtcbiAgICAgIC8vIGludGVuZGVkIGVtcHR5XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyB1cGRhdGVEYXNoYm9hcmQoKSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGRhc2hib2FyZE1POiBDb250ZXh0RGFzaGJvYXJkTWFuYWdlZE9iamVjdCA9IGNsb25lRGVlcCh0aGlzLm1vKTtcbiAgICAgIGNvbnN0IGNmZyA9IHRoaXMuZGFzaGJvYXJkO1xuICAgICAgaWYgKHRoaXMuaXNSZXBvcnQpIHtcbiAgICAgICAgY29uc3QgeyBuYW1lLCBpY29uLCBjOHlfSXNOYXZpZ2F0b3JOb2RlLCBwcmlvcml0eSwgZGVzY3JpcHRpb24gfSA9IGNmZztcbiAgICAgICAgZGFzaGJvYXJkTU8uYzh5X0Rhc2hib2FyZCA9IGNmZztcbiAgICAgICAgYXdhaXQgdGhpcy51cGRhdGVSZXBvcnQoe1xuICAgICAgICAgIGlkOiB0aGlzLmNvbnRleHQuaWQsXG4gICAgICAgICAgbmFtZSxcbiAgICAgICAgICBpY29uLFxuICAgICAgICAgIGM4eV9Jc05hdmlnYXRvck5vZGUsXG4gICAgICAgICAgcHJpb3JpdHksXG4gICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkYXNoYm9hcmRNTy5jOHlfRGFzaGJvYXJkID0gY2ZnO1xuICAgICAgfVxuXG4gICAgICBjb25zdCB1cGRhdGVkRGFzaGJvYXJkTW8gPSBhd2FpdCB0aGlzLmNvbnRleHREYXNoYm9hcmRTZXJ2aWNlLnVwZGF0ZShcbiAgICAgICAgZGFzaGJvYXJkTU8sXG4gICAgICAgIHRoaXMuY3VycmVudENvbnRleHRcbiAgICAgICk7XG4gICAgICB0aGlzLmNsZWFudXBBZnRlckRldGFpbHNDbG9zZSgpO1xuXG4gICAgICB0aGlzLmRhc2hib2FyZFNhdmVkLmVtaXQodXBkYXRlZERhc2hib2FyZE1vKTtcbiAgICB9IGNhdGNoIChleCkge1xuICAgICAgLy8gaW50ZW5kZWQgZW1wdHlcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGVkaXQoKSB7XG4gICAgaWYgKHRoaXMuaXNSZXBvcnQpIHtcbiAgICAgIGNvbnN0IHsgbmFtZSwgaWNvbiwgcHJpb3JpdHksIGM4eV9Jc05hdmlnYXRvck5vZGUsIGRlc2NyaXB0aW9uIH0gPSB0aGlzLmNvbnRleHQ7XG4gICAgICBPYmplY3QuYXNzaWduKHRoaXMuZGFzaGJvYXJkLCB7IG5hbWUsIGljb24sIHByaW9yaXR5LCBjOHlfSXNOYXZpZ2F0b3JOb2RlLCBkZXNjcmlwdGlvbiB9KTtcbiAgICB9XG4gICAgdGhpcy5pc05hbWVkRGFzaGJvYXJkID0gdGhpcy5jb250ZXh0RGFzaGJvYXJkU2VydmljZS5pc05hbWVkKHRoaXMubW8pO1xuICAgIHRoaXMuc2VsZWN0ZWRUYWIgPVxuICAgICAgdGhpcy5oaWRlQXZhaWxhYmlsaXR5ICYmIHRoaXMuaXNOYW1lZERhc2hib2FyZFxuICAgICAgICA/IERhc2hib2FyZERldGFpbHNUYWJJZC5BUFBFQVJBTkNFXG4gICAgICAgIDogRGFzaGJvYXJkRGV0YWlsc1RhYklkLkdFTkVSQUw7XG4gICAgdGhpcy5pbml0aWFsaXplQ29uZmlndXJhdGlvbigpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplQ29uZmlndXJhdGlvbigpIHtcbiAgICBjb25zdCBkZWZhdWx0RGFzaGJvYXJkQ2ZnOiBQYXJ0aWFsPENvbnRleHREYXNoYm9hcmQ+ID0ge1xuICAgICAgbmFtZTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQodGhpcy5pc1JlcG9ydCA/IGdldHRleHQoJ1JlcG9ydCcpIDogZ2V0dGV4dCgnRGFzaGJvYXJkJykpLFxuICAgICAgcHJpb3JpdHk6IHRoaXMuaXNSZXBvcnRcbiAgICAgICAgPyBSRVBPUlRfREVGQVVMVF9OQVZJR0FUSU9OX05PREVfUFJJT1JJVFlcbiAgICAgICAgOiB0aGlzLmRhc2hib2FyZERldGFpbFNlcnZpY2UuREVGQVVMVF9EQVNIQk9BUkRfUFJJT1JJVFksXG4gICAgICBpY29uOiB0aGlzLmRhc2hib2FyZERldGFpbFNlcnZpY2UuREVGQVVMVF9EQVNIQk9BUkRfSUNPTixcbiAgICAgIGRldmljZVR5cGVWYWx1ZTogdGhpcy5kZXZpY2VUeXBlLFxuICAgICAgY29sdW1uczogMjRcbiAgICB9O1xuXG4gICAgaWYgKHRoaXMuZGFzaGJvYXJkKSB7XG4gICAgICB0aGlzLmN1cnJlbnREYXNoYm9hcmQgPSBjbG9uZSh0aGlzLmRhc2hib2FyZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZGFzaGJvYXJkID0gZGVmYXVsdERhc2hib2FyZENmZztcbiAgICAgIHRoaXMuZGFzaGJvYXJkRGV0YWlsc0Zvcm0ubWFya0FzRGlydHkoKTtcbiAgICB9XG4gICAgdGhpcy5uYW1lUGxhY2Vob2xkZXIgPSB0aGlzLmlzUmVwb3J0ID8gZ2V0dGV4dCgnZS5nLiBNeSByZXBvcnQnKSA6IGdldHRleHQoJ2UuZy4gTXkgZGFzaGJvYXJkJyk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHVwZGF0ZVJlcG9ydChtbzogUGFydGlhbDxJTWFuYWdlZE9iamVjdD4pIHtcbiAgICBtby5jOHlfSXNOYXZpZ2F0b3JOb2RlID0gbW8uYzh5X0lzTmF2aWdhdG9yTm9kZSA/IHt9IDogbnVsbDtcbiAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLmludmVudG9yeS51cGRhdGUobW8pO1xuICAgIHRoaXMuY29udGV4dCA9IHJlcy5kYXRhO1xuICAgIGlmICh0aGlzLnJvdXRlLnBhcmVudCkge1xuICAgICAgdGhpcy5yb3V0ZS5wYXJlbnQuc25hcHNob3QuZGF0YS5jb250ZXh0RGF0YSA9IHRoaXMuY29udGV4dDtcbiAgICB9XG4gICAgdGhpcy5jb250ZXh0RGFzaGJvYXJkU2VydmljZS51cGRhdGVOYXZpZ2F0b3JJdGVtKHJlcy5kYXRhKTtcbiAgfVxuXG4gIHByaXZhdGUgY2xlYW51cEFmdGVyRGV0YWlsc0Nsb3NlKCkge1xuICAgIHRoaXMuaXNDb2xsYXBzZWQgPSB0cnVlO1xuICAgIGlmICghdGhpcy5pc0VkaXQpIHtcbiAgICAgIGNvbnN0IGRhc2hib2FyZENvbnRleHQgPSB0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGEuZGFzaGJvYXJkO1xuICAgICAgLy8gaGlkZSBOZXcgZGFzaGJvYXJkIHRhYlxuICAgICAgY29uc3QgdG1wTmV3RGFzaGJvYXJkVGFiID0gWy4uLnRoaXMudGFic1NlcnZpY2Uuc3RhdGVdLmZpbmQoXG4gICAgICAgIHQgPT4gdC5mZWF0dXJlSWQgPT09IG5ld0Rhc2hib2FyZFRhYi5mZWF0dXJlSWRcbiAgICAgICk7XG4gICAgICAvLyBkb24ndCBoaWRlIHRoZSBuZXcgZGFzaGJvYXJkIHRhYiB3aGVuIGNsaWNraW5nIG9uIHRoZSBhZGQgZGFzaGJvYXJkIGJ1dHRvbiBmcm9tIGFub3RoZXIgZGFzaGJvYXJkLlxuICAgICAgaWYgKCF0bXBOZXdEYXNoYm9hcmRUYWIgfHwgZGFzaGJvYXJkQ29udGV4dD8uYzh5X0Rhc2hib2FyZCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICAvLyBoaWRlIHRhYiBhbmQgbWFrZSBpdCBhcHBlYXIgYXMgbGFzdCBvbmUgdG8gcHJldmVudCBuYXZpZ2F0aW5nIHRvIGl0XG4gICAgICB0bXBOZXdEYXNoYm9hcmRUYWIuaGlkZSA9IHRydWU7XG4gICAgICB0bXBOZXdEYXNoYm9hcmRUYWIucHJpb3JpdHkgPSAtSW5maW5pdHk7XG4gICAgICB0aGlzLnRhYnNTZXJ2aWNlLnJlZnJlc2goKTtcbiAgICB9XG4gICAgdGhpcy5wcmV2aWV3Q2hhbmdlZC5lbWl0KHRoaXMuZGFzaGJvYXJkKTtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cImNvbGxhcHNlIGM4eS10b3AtZHJhd2VyXCJcbiAgW2NvbGxhcHNlXT1cImlzQ29sbGFwc2VkXCJcbiAgW2lzQW5pbWF0ZWRdPVwidHJ1ZVwiXG4+XG4gIDxkaXYgY2xhc3M9XCJwLXQtMTYgcC1iLTE2IHAtbC0yNCBwLXItMjQgc2VwYXJhdG9yLWJvdHRvbVwiPlxuICAgIDxzcGFuIGNsYXNzPVwiaDRcIj57eyAnRGFzaGJvYXJkIHNldHRpbmdzJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgPC9kaXY+XG5cbiAgPGRpdlxuICAgIGNsYXNzPVwiZC1mbGV4XCJcbiAgICBbZm9ybUdyb3VwXT1cImRhc2hib2FyZERldGFpbHNGb3JtXCJcbiAgICAqbmdJZj1cIiFpc0NvbGxhcHNlZFwiXG4gID5cbiAgICA8Yzh5LXRhYnMtb3V0bGV0XG4gICAgICBbdGFic109XCJ0YWJzJCB8IGFzeW5jXCJcbiAgICAgIFtvdXRsZXROYW1lXT1cIlRBQlNfT1VUTEVUX05BTUVcIlxuICAgICAgW29yaWVudGF0aW9uXT1cIid2ZXJ0aWNhbCdcIlxuICAgICAgY2xhc3M9XCJjOHktdG9wLWRyYXdlci0tdGFic1wiXG4gICAgPjwvYzh5LXRhYnMtb3V0bGV0PlxuICAgIDxkaXYgY2xhc3M9XCJpbm5lci1zY3JvbGwgYzh5LXRvcC1kcmF3ZXJfX3RhYnMtY29udGFpbmVyIGZsZXgtZ3JvdyBwLWwtMjQgcC1yLWxnLTMyIHAtci14cy0yNCBwLXItc20tMjRcIj5cbiAgICAgIDxjOHktdGFiXG4gICAgICAgICpuZ0lmPVwiKCFpc05hbWVkRGFzaGJvYXJkICYmICFoaWRlQXZhaWxhYmlsaXR5KSB8fCBpc1JlcG9ydFwiXG4gICAgICAgIFtsYWJlbF09XCJUQUJTLmdlbmVyYWwubGFiZWxcIlxuICAgICAgICBbaWNvbl09XCInaW1hYy1zZXR0aW5ncydcIlxuICAgICAgICBbcHJpb3JpdHldPVwiMTAwXCJcbiAgICAgICAgW3RhYnNPdXRsZXRdPVwiVEFCU19PVVRMRVRfTkFNRVwiXG4gICAgICAgIChvblNlbGVjdCk9XCJzZWxlY3RUYWIoVEFCUy5nZW5lcmFsLmZlYXR1cmVJZClcIlxuICAgICAgICBbaXNBY3RpdmVdPVwic2VsZWN0ZWRUYWIgPT09IFRBQlMuZ2VuZXJhbC5mZWF0dXJlSWRcIlxuICAgICAgPjwvYzh5LXRhYj5cbiAgICAgIDxjOHktdGFiXG4gICAgICAgIFtsYWJlbF09XCJUQUJTLmFwcGVhcmFuY2UubGFiZWxcIlxuICAgICAgICBbcHJpb3JpdHldPVwiNTBcIlxuICAgICAgICBbaWNvbl09XCInd2ViLWRlc2lnbidcIlxuICAgICAgICBbdGFic091dGxldF09XCJUQUJTX09VVExFVF9OQU1FXCJcbiAgICAgICAgKG9uU2VsZWN0KT1cInNlbGVjdFRhYihUQUJTLmFwcGVhcmFuY2UuZmVhdHVyZUlkKVwiXG4gICAgICAgIFtpc0FjdGl2ZV09XCJzZWxlY3RlZFRhYiA9PT0gVEFCUy5hcHBlYXJhbmNlLmZlYXR1cmVJZFwiXG4gICAgICA+PC9jOHktdGFiPlxuICAgICAgPGM4eS10YWJcbiAgICAgICAgKm5nSWY9XCJtbz8uYzh5X0Rhc2hib2FyZEhpc3RvcnlcIlxuICAgICAgICBbbGFiZWxdPVwiVEFCUy52ZXJzaW9uSGlzdG9yeS5sYWJlbFwiXG4gICAgICAgIFtpY29uXT1cIid2ZXJzaW9ucydcIlxuICAgICAgICBbcHJpb3JpdHldPVwiMTBcIlxuICAgICAgICBbdGFic091dGxldF09XCJUQUJTX09VVExFVF9OQU1FXCJcbiAgICAgICAgKG9uU2VsZWN0KT1cInNlbGVjdFRhYihUQUJTLnZlcnNpb25IaXN0b3J5LmZlYXR1cmVJZClcIlxuICAgICAgICBbaXNBY3RpdmVdPVwic2VsZWN0ZWRUYWIgPT09IFRBQlMudmVyc2lvbkhpc3RvcnkuZmVhdHVyZUlkXCJcbiAgICAgID48L2M4eS10YWI+XG4gICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJzZWxlY3RlZFRhYlwiPlxuICAgICAgICA8Yzh5LWRhc2hib2FyZC1nZW5lcmFsLXNldHRpbmdzXG4gICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIlRBQlMuZ2VuZXJhbC5mZWF0dXJlSWRcIlxuICAgICAgICAgIFtpc1JlcG9ydF09XCJpc1JlcG9ydFwiXG4gICAgICAgICAgW2lzTmFtZWREYXNoYm9hcmRdPVwiaXNOYW1lZERhc2hib2FyZFwiXG4gICAgICAgICAgW2hpZGVBdmFpbGFiaWxpdHldPVwiaGlkZUF2YWlsYWJpbGl0eVwiXG4gICAgICAgICAgW2Rhc2hib2FyZF09XCJkYXNoYm9hcmRcIlxuICAgICAgICAgIFtnZW5lcmFsU2V0dGluZ3NGb3JtXT1cImdlbmVyYWxTZXR0aW5nc0Zvcm1cIlxuICAgICAgICAgIFtkZXZpY2VUeXBlVmFsdWVdPVwiZGV2aWNlVHlwZVZhbHVlXCJcbiAgICAgICAgICBbZGlzcGxheURldmljZVR5cGVWYWx1ZV09XCJkaXNwbGF5RGV2aWNlVHlwZVZhbHVlXCJcbiAgICAgICAgICBbbW9dPVwibW9cIlxuICAgICAgICAgIFthbGxvd1R5cGVEYXNoYm9hcmRdPVwiYWxsb3dUeXBlRGFzaGJvYXJkXCJcbiAgICAgICAgICBbaXNEZXZpY2VdPVwiISFjb250ZXh0Py5jOHlfSXNEZXZpY2VcIlxuICAgICAgICAgIGNsYXNzPVwiYW5pbWF0ZWQgZmFkZUluXCJcbiAgICAgICAgICAob25EdXBsaWNhdGVXaXRob3V0VHlwZSk9XCJkdXBsaWNhdGVXaXRob3V0VHlwZSgpXCJcbiAgICAgICAgPjwvYzh5LWRhc2hib2FyZC1nZW5lcmFsLXNldHRpbmdzPlxuICAgICAgICA8Yzh5LWRhc2hib2FyZC1hcHBlYXJhbmNlLXNldHRpbmdzXG4gICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIlRBQlMuYXBwZWFyYW5jZS5mZWF0dXJlSWRcIlxuICAgICAgICAgIFtkYXNoYm9hcmRdPVwiZGFzaGJvYXJkXCJcbiAgICAgICAgICBbYXBwZWFyYW5jZVNldHRpbmdzRm9ybV09XCJhcHBlYXJhbmNlU2V0dGluZ3NGb3JtXCJcbiAgICAgICAgICAocHJldmlld0NoYW5nZWQpPVwicHJldmlld0NoYW5nZWQuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICBjbGFzcz1cImFuaW1hdGVkIGZhZGVJblwiXG4gICAgICAgID48L2M4eS1kYXNoYm9hcmQtYXBwZWFyYW5jZS1zZXR0aW5ncz5cbiAgICAgICAgPGM4eS1kYXNoYm9hcmQtdmVyc2lvbi1oaXN0b3J5XG4gICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIlRBQlMudmVyc2lvbkhpc3RvcnkuZmVhdHVyZUlkXCJcbiAgICAgICAgICBbZGFzaGJvYXJkSGlzdG9yeV09XCJtby5jOHlfRGFzaGJvYXJkSGlzdG9yeVwiXG4gICAgICAgICAgW2lzUmVwb3J0XT1cImlzUmVwb3J0XCJcbiAgICAgICAgICAob25SZXZlcnQpPVwicmV2ZXJ0RGFzaGJvYXJkKCRldmVudClcIlxuICAgICAgICAgIGNsYXNzPVwiYW5pbWF0ZWQgZmFkZUluXCJcbiAgICAgICAgPjwvYzh5LWRhc2hib2FyZC12ZXJzaW9uLWhpc3Rvcnk+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImM4eS10b3AtZHJhd2VyLS1mb290ZXJcIj5cbiAgICA8YnV0dG9uXG4gICAgICBjbGFzcz1cImJ0biBidG4tZGVmYXVsdFwiXG4gICAgICB0aXRsZT1cInt7ICdDYW5jZWwnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgZGF0YS1jeT1cImRhc2hib2FyZC1kZXRhaWwtLWNhbmNlbC1kYXNoYm9hcmRcIlxuICAgICAgKGNsaWNrKT1cImNhbmNlbCgpXCJcbiAgICA+XG4gICAgICB7eyAnQ2FuY2VsJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCJcbiAgICAgIHRpdGxlPVwie3sgJ1NhdmUnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgZGF0YS1jeT1cImRhc2hib2FyZC1kZXRhaWwtLXNhdmUtZGFzaGJvYXJkXCJcbiAgICAgIChjbGljayk9XCJzYXZlKClcIlxuICAgICAgW2Rpc2FibGVkXT1cIlxuICAgICAgICAoZGFzaGJvYXJkRGV0YWlsc0Zvcm0/LmludmFsaWQgfHwgZGFzaGJvYXJkRGV0YWlsc0Zvcm0/LnByaXN0aW5lKSAmJiB0aGlzLmlzRWRpdFxuICAgICAgXCJcbiAgICA+XG4gICAgICB7eyAnU2F2ZScgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLW1hbmFnZXIubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb250ZXh0LWRhc2hib2FyZC9kYXNoYm9hcmQtbWFuYWdlci9kYXNoYm9hcmQtbWFuYWdlci5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBUeXBlRGFzaGJvYXJkRmlsdGVyIHtcbiAgcXVlcnk6IHN0cmluZztcbiAgdGV4dD86IHN0cmluZztcbiAgcGFnZVNpemU6IG51bWJlcjtcbiAgY3VycmVudFBhZ2U6IG51bWJlcjtcbiAgd2l0aFRvdGFsUGFnZXM6IGJvb2xlYW47XG4gIHdpdGhUb3RhbEVsZW1lbnRzOiBib29sZWFuO1xufVxuIl19
|
|
@@ -66,22 +66,11 @@ export class DashboardManagerService extends DataGridService {
|
|
|
66
66
|
const filters = this.getFilters(columns, pagination, text);
|
|
67
67
|
return await this.inventory.list(filters);
|
|
68
68
|
}
|
|
69
|
-
async getCount(columns, pagination, text) {
|
|
70
|
-
const filters = this.getFilters(columns, pagination, text);
|
|
71
|
-
const filteredItemsCount = await this.inventory.list({
|
|
72
|
-
...filters,
|
|
73
|
-
pageSize: 1,
|
|
74
|
-
currentPage: 1,
|
|
75
|
-
withTotalPages: true
|
|
76
|
-
});
|
|
77
|
-
return filteredItemsCount.paging.totalPages;
|
|
78
|
-
}
|
|
79
69
|
async getTotal() {
|
|
80
70
|
return (await this.inventory.list({
|
|
81
71
|
query: this.TYPE_DASHBOARDS_QUERY,
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
})).paging.totalPages;
|
|
72
|
+
withTotalElements: true
|
|
73
|
+
})).paging.totalElements;
|
|
85
74
|
}
|
|
86
75
|
async delete(dashboard, onSuccess) {
|
|
87
76
|
try {
|
|
@@ -107,7 +96,8 @@ export class DashboardManagerService extends DataGridService {
|
|
|
107
96
|
...(text && { text }),
|
|
108
97
|
pageSize: pagination.pageSize,
|
|
109
98
|
currentPage: pagination.currentPage,
|
|
110
|
-
withTotalPages: true
|
|
99
|
+
withTotalPages: true,
|
|
100
|
+
withTotalElements: true
|
|
111
101
|
};
|
|
112
102
|
}
|
|
113
103
|
getQueryString(columns) {
|
|
@@ -124,4 +114,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
|
|
|
124
114
|
providedIn: 'root'
|
|
125
115
|
}]
|
|
126
116
|
}], ctorParameters: () => [{ type: i1.InventoryService }, { type: i2.UserPreferencesService }, { type: i2.ModalService }, { type: i3.TranslateService }] });
|
|
127
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLW1hbmFnZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvbnRleHQtZGFzaGJvYXJkL2Rhc2hib2FyZC1tYW5hZ2VyL2Rhc2hib2FyZC1tYW5hZ2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBRUwsZUFBZSxFQUNmLE9BQU8sRUFDUCxZQUFZLEVBRVosTUFBTSxFQUNOLHNCQUFzQixFQUN2QixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBa0IsZ0JBQWdCLEVBQTRCLE1BQU0sYUFBYSxDQUFDO0FBRXpGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDOzs7OztBQU1qRyxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsZUFBZTtJQVkxRCxZQUNZLFNBQTJCLEVBQzNCLHNCQUE4QyxFQUM5QyxLQUFtQixFQUNuQixnQkFBa0M7UUFFNUMsS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFMcEIsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0IsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUM5QyxVQUFLLEdBQUwsS0FBSyxDQUFjO1FBQ25CLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFkOUMsY0FBUyxHQUFHO1lBQ1YsUUFBUSxFQUFFO2dCQUNSLEtBQUssRUFBRTtvQkFDTCxFQUFFLDBCQUEwQixFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFO29CQUM5QyxFQUFFLEtBQUssRUFBRSwrQkFBK0IsRUFBRTtpQkFDM0M7YUFDRjtTQUNGLENBQUM7UUFDTSwwQkFBcUIsR0FDM0IsdUZBQXVGLENBQUM7SUFRMUYsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFP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Q0YsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUN2QyxTQUFTLEVBQUUsQ0FBQztRQUNkLENBQUM7UUFBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO1lBQ1osaUJBQWlCO1FBQ25CLENBQUM7SUFDSCxDQUFDO0lBRU8sVUFBVSxDQUNoQixPQUFpQixFQUNqQixVQUFzQixFQUN0QixJQUFhO1FBRWIsT0FBTztZQUNMLEtBQUssRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQztZQUNuQyxHQUFHLENBQUMsSUFBSSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFDckIsUUFBUSxFQUFFLFVBQVUsQ0FBQyxRQUFRO1lBQzdCLFdBQVcsRUFBRSxVQUFVLENBQUMsV0FBVztZQUNuQyxjQUFjLEVBQUUsSUFBSTtTQUNyQixDQUFDO0lBQ0osQ0FBQztJQUVPLGNBQWMsQ0FBQyxPQUFpQjtRQUN0QyxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbkQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2xGLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDaEQsQ0FBQzs4R0F6SVUsdUJBQXVCO2tIQUF2Qix1QkFBdUIsY0FGdEIsTUFBTTs7MkZBRVAsdUJBQXVCO2tCQUhuQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIENvbHVtbixcbiAgRGF0YUdyaWRTZXJ2aWNlLFxuICBnZXR0ZXh0LFxuICBNb2RhbFNlcnZpY2UsXG4gIFBhZ2luYXRpb24sXG4gIFN0YXR1cyxcbiAgVXNlclByZWZlcmVuY2VzU2VydmljZVxufSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcbmltcG9ydCB7IElNYW5hZ2VkT2JqZWN0LCBJbnZlbnRvcnlTZXJ2aWNlLCBJUmVzdWx0TGlzdCwgUXVlcmllc1V0aWwgfSBmcm9tICdAYzh5L2NsaWVudCc7XG5pbXBvcnQgeyBDb250ZXh0RGFzaGJvYXJkTWFuYWdlZE9iamVjdCB9IGZyb20gJy4uL2NvbnRleHQtZGFzaGJvYXJkLm1vZGVsJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IERldmljZVR5cGVWYWx1ZUdyaWRDb2x1bW4gfSBmcm9tICcuL3R5cGUtZGFzaGJvYXJkcy1saXN0L2RldmljZS10eXBlLXZhbHVlLmdyaWQtY29sdW1uJztcbmltcG9ydCB7IFR5cGVEYXNoYm9hcmRGaWx0ZXIgfSBmcm9tICcuL2Rhc2hib2FyZC1tYW5hZ2VyLm1vZGVsJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRGFzaGJvYXJkTWFuYWdlclNlcnZpY2UgZXh0ZW5kcyBEYXRhR3JpZFNlcnZpY2Uge1xuICBxdWVyaWVzVXRpbDogUXVlcmllc1V0aWw7XG4gIGJhc2VRdWVyeSA9IHtcbiAgICBfX2ZpbHRlcjoge1xuICAgICAgX19hbmQ6IFtcbiAgICAgICAgeyAnYzh5X0Rhc2hib2FyZC5kZXZpY2VUeXBlJzogeyBfX2VxOiB0cnVlIH0gfSxcbiAgICAgICAgeyBfX2hhczogJ2M4eV9EYXNoYm9hcmQuZGV2aWNlVHlwZVZhbHVlJyB9XG4gICAgICBdXG4gICAgfVxuICB9O1xuICBwcml2YXRlIFRZUEVfREFTSEJPQVJEU19RVUVSWSA9XG4gICAgJyRmaWx0ZXI9KChjOHlfRGFzaGJvYXJkLmRldmljZVR5cGUgZXEgdHJ1ZSkgYW5kIChoYXMoYzh5X0Rhc2hib2FyZC5kZXZpY2VUeXBlVmFsdWUpKSknO1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgaW52ZW50b3J5OiBJbnZlbnRvcnlTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCB1c2VyUHJlZmVyZW5jZXNTZXJ2aWNlOiBVc2VyUHJlZmVyZW5jZXNTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBtb2RhbDogTW9kYWxTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKHVzZXJQcmVmZXJlbmNlc1NlcnZpY2UpO1xuICB9XG5cbiAgZ2V0Q29sdW1ucygpOiBDb2x1bW5bXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ2ljb24nLFxuICAgICAgICBoZWFkZXI6IGdldHRleHQoJ0ljb24nKSxcbiAgICAgICAgcGF0aDogJ2M4eV9EYXNoYm9hcmQuaWNvbicsXG4gICAgICAgIHNvcnRhYmxlOiBmYWxzZSxcbiAgICAgICAgZ3JpZFRyYWNrU2l6ZTogJzQ1cHgnXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnbmFtZScsXG4gICAgICAgIGhlYWRlcjogZ2V0dGV4dCgnTmFtZScpLFxuICAgICAgICBwYXRoOiAnbmFtZScsXG4gICAgICAgIHNvcnRhYmxlOiBmYWxzZSxcbiAgICAgICAgZ3JpZFRyYWNrU2l6ZTogJzIwMHB4J1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ2Rlc2NyaXB0aW9uJyxcbiAgICAgICAgaGVhZGVyOiBnZXR0ZXh0KCdEZXNjcmlwdGlvbicpLFxuICAgICAgICBwYXRoOiAnYzh5X0Rhc2hib2FyZC5kZXNjcmlwdGlvbicsXG4gICAgICAgIHNvcnRhYmxlOiBmYWxzZVxuICAgICAgfSxcbiAgICAgIG5ldyBEZXZpY2VUeXBlVmFsdWVHcmlkQ29sdW1uKCksXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdsYXN0VXBkYXRlZCcsXG4gICAgICAgIGhlYWRlcjogZ2V0dGV4dCgnTGFzdCB1cGRhdGUnKSxcbiAgICAgICAgcGF0aDogJ2xhc3RVcGRhdGVkJyxcbiAgICAgICAgc29ydGFibGU6IGZhbHNlLFxuICAgICAgICBncmlkVHJhY2tTaXplOiAnMjAwcHgnXG4gICAgICB9XG4gICAgXTtcbiAgfVxuXG4gIGdldERlZmF1bHRQYWdpbmF0aW9uKCk6IFBhZ2luYXRpb24ge1xuICAgIHJldHVybiB7XG4gICAgICBwYWdlU2l6ZTogMjUsXG4gICAgICBjdXJyZW50UGFnZTogMVxuICAgIH07XG4gIH1cblxuICBhc3luYyBnZXREYXRhKFxuICAgIGNvbHVtbnM6IENvbHVtbltdLFxuICAgIHBhZ2luYXRpb246IFBhZ2luYXRpb24sXG4gICAgdGV4dD86IHN0cmluZ1xuICApOiBQcm9taXNlPElSZXN1bHRMaXN0PElNYW5hZ2VkT2JqZWN0Pj4ge1xuICAgIGNvbnN0IGZpbHRlcnMgPSB0aGlzLmdldEZpbHRlcnMoY29sdW1ucywgcGFnaW5hdGlvbiwgdGV4dCk7XG5cbiAgICByZXR1cm4gYXdhaXQgdGhpcy5pbnZlbnRvcnkubGlzdChmaWx0ZXJzKTtcbiAgfVxuXG4gIGFzeW5jIGdldENvdW50KGNvbHVtbnM6IENvbHVtbltdLCBwYWdpbmF0aW9uOiBQYWdpbmF0aW9uLCB0ZXh0Pzogc3RyaW5nKTogUHJvbWlzZTxudW1iZXI+IHtcbiAgICBjb25zdCBmaWx0ZXJzID0gdGhpcy5nZXRGaWx0ZXJzKGNvbHVtbnMsIHBhZ2luYXRpb24sIHRleHQpO1xuXG4gICAgY29uc3QgZmlsdGVyZWRJdGVtc0NvdW50ID0gYXdhaXQgdGhpcy5pbnZlbnRvcnkubGlzdCh7XG4gICAgICAuLi5maWx0ZXJzLFxuICAgICAgcGFnZVNpemU6IDEsXG4gICAgICBjdXJyZW50UGFnZTogMSxcbiAgICAgIHdpdGhUb3RhbFBhZ2VzOiB0cnVlXG4gICAgfSk7XG4gICAgcmV0dXJuIGZpbHRlcmVkSXRlbXNDb3VudC5wYWdpbmcudG90YWxQYWdlcztcbiAgfVxuXG4gIGFzeW5jIGdldFRvdGFsKCk6IFByb21pc2U8bnVtYmVyPiB7XG4gICAgcmV0dXJuIChcbiAgICAgIGF3YWl0IHRoaXMuaW52ZW50b3J5Lmxpc3Qoe1xuICAgICAgICBxdWVyeTogdGhpcy5UWVBFX0RBU0hCT0FSRFNfUVVFUlksXG4gICAgICAgIHBhZ2VTaXplOiAxLFxuICAgICAgICB3aXRoVG90YWxQYWdlczogdHJ1ZVxuICAgICAgfSlcbiAgICApLnBhZ2luZy50b3RhbFBhZ2VzO1xuICB9XG5cbiAgYXN5bmMgZGVsZXRlKGRhc2hib2FyZDogQ29udGV4dERhc2hib2FyZE1hbmFnZWRPYmplY3QsIG9uU3VjY2VzczogKCkgPT4gdm9pZCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBtc2c6IHN0cmluZyA9IGdldHRleHQoXG4gICAgICAgIGBZb3UgYXJlIGFib3V0IHRvIGRlbGV0ZSB0aGUgZGFzaGJvYXJkIFwie3sgZGFzaGJvYXJkTmFtZSB9fVwiIGZyb20gYWxsIGRldmljZXMgb2YgdHlwZSBcInt7IGRldmljZVR5cGUgfX1cIi5cbiAgICAgICAgICAgRG8geW91IHdhbnQgdG8gcHJvY2VlZD9gXG4gICAgICApO1xuXG4gICAgICBhd2FpdCB0aGlzLm1vZGFsLmNvbmZpcm0oXG4gICAgICAgIGdldHRleHQoJ0RlbGV0ZSBkYXNoYm9hcmQnKSxcbiAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQobXNnLCB7XG4gICAgICAgICAgZGFzaGJvYXJkTmFtZTogZGFzaGJvYXJkLmM4eV9EYXNoYm9hcmQubmFtZSxcbiAgICAgICAgICBkZXZpY2VUeXBlOiBkYXNoYm9hcmQuYzh5X0Rhc2hib2FyZC5kZXZpY2VUeXBlVmFsdWVcbiAgICAgICAgfSksXG4gICAgICAgIFN0YXR1cy5EQU5HRVIsXG4gICAgICAgIHtcbiAgICAgICAgICBvazogZ2V0dGV4dCgnRGVsZXRlJyksXG4gICAgICAgICAgY2FuY2VsOiBnZXR0ZXh0KCdDYW5jZWwnKVxuICAgICAgICB9XG4gICAgICApO1xuICAgICAgYXdhaXQgdGhpcy5pbnZlbnRvcnkuZGVsZXRlKGRhc2hib2FyZCk7XG4gICAgICBvblN1Y2Nlc3MoKTtcbiAgICB9IGNhdGNoIChleCkge1xuICAgICAgLy8gaW50ZW5kZWQgZW1wdHlcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldEZpbHRlcnMoXG4gICAgY29sdW1uczogQ29sdW1uW10sXG4gICAgcGFnaW5hdGlvbjogUGFnaW5hdGlvbixcbiAgICB0ZXh0Pzogc3RyaW5nXG4gICk6IFR5cGVEYXNoYm9hcmRGaWx0ZXIge1xuICAgIHJldHVybiB7XG4gICAgICBxdWVyeTogdGhpcy5nZXRRdWVyeVN0cmluZyhjb2x1bW5zKSxcbiAgICAgIC4uLih0ZXh0ICYmIHsgdGV4dCB9KSxcbiAgICAgIHBhZ2VTaXplOiBwYWdpbmF0aW9uLnBhZ2VTaXplLFxuICAgICAgY3VycmVudFBhZ2U6IHBhZ2luYXRpb24uY3VycmVudFBhZ2UsXG4gICAgICB3aXRoVG90YWxQYWdlczogdHJ1ZVxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGdldFF1ZXJ5U3RyaW5nKGNvbHVtbnM6IENvbHVtbltdKTogc3RyaW5nIHtcbiAgICBjb25zdCBxdWVyeUZyb21Db2x1bW5zID0gdGhpcy5nZXRRdWVyeU9iaihjb2x1bW5zKTtcbiAgICBjb25zdCBmdWxsUXVlcnkgPSB0aGlzLnF1ZXJpZXNVdGlsLmFkZEFuZEZpbHRlcihxdWVyeUZyb21Db2x1bW5zLCB0aGlzLmJhc2VRdWVyeSk7XG4gICAgcmV0dXJuIHRoaXMucXVlcmllc1V0aWwuYnVpbGRRdWVyeShmdWxsUXVlcnkpO1xuICB9XG59XG4iXX0=
|
|
117
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLW1hbmFnZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvbnRleHQtZGFzaGJvYXJkL2Rhc2hib2FyZC1tYW5hZ2VyL2Rhc2hib2FyZC1tYW5hZ2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBRUwsZUFBZSxFQUNmLE9BQU8sRUFDUCxZQUFZLEVBRVosTUFBTSxFQUNOLHNCQUFzQixFQUN2QixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBa0IsZ0JBQWdCLEVBQTRCLE1BQU0sYUFBYSxDQUFDO0FBRXpGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDOzs7OztBQU1qRyxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsZUFBZTtJQVkxRCxZQUNZLFNBQTJCLEVBQzNCLHNCQUE4QyxFQUM5QyxLQUFtQixFQUNuQixnQkFBa0M7UUFFNUMsS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFMcEIsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0IsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUM5QyxVQUFLLEdBQUwsS0FBSyxDQUFjO1FBQ25CLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFkOUMsY0FBUyxHQUFHO1lBQ1YsUUFBUSxFQUFFO2dCQUNSLEtBQUssRUFBRTtvQkFDTCxFQUFFLDBCQUEwQixFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFO29CQUM5QyxFQUFFLEtBQUssRUFBRSwrQkFBK0IsRUFBRTtpQkFDM0M7YUFDRjtTQUNGLENBQUM7UUFDTSwwQkFBcUIsR0FDM0IsdUZBQXVGLENBQUM7SUFRMUYsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFP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O1lBQ25DLGNBQWMsRUFBRSxJQUFJO1lBQ3BCLGlCQUFpQixFQUFFLElBQUk7U0FDeEIsQ0FBQztJQUNKLENBQUM7SUFFTyxjQUFjLENBQUMsT0FBaUI7UUFDdEMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ25ELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNsRixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2hELENBQUM7OEdBN0hVLHVCQUF1QjtrSEFBdkIsdUJBQXVCLGNBRnRCLE1BQU07OzJGQUVQLHVCQUF1QjtrQkFIbkMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBDb2x1bW4sXG4gIERhdGFHcmlkU2VydmljZSxcbiAgZ2V0dGV4dCxcbiAgTW9kYWxTZXJ2aWNlLFxuICBQYWdpbmF0aW9uLFxuICBTdGF0dXMsXG4gIFVzZXJQcmVmZXJlbmNlc1NlcnZpY2Vcbn0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBJTWFuYWdlZE9iamVjdCwgSW52ZW50b3J5U2VydmljZSwgSVJlc3VsdExpc3QsIFF1ZXJpZXNVdGlsIH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHsgQ29udGV4dERhc2hib2FyZE1hbmFnZWRPYmplY3QgfSBmcm9tICcuLi9jb250ZXh0LWRhc2hib2FyZC5tb2RlbCc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBEZXZpY2VUeXBlVmFsdWVHcmlkQ29sdW1uIH0gZnJvbSAnLi90eXBlLWRhc2hib2FyZHMtbGlzdC9kZXZpY2UtdHlwZS12YWx1ZS5ncmlkLWNvbHVtbic7XG5pbXBvcnQgeyBUeXBlRGFzaGJvYXJkRmlsdGVyIH0gZnJvbSAnLi9kYXNoYm9hcmQtbWFuYWdlci5tb2RlbCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIERhc2hib2FyZE1hbmFnZXJTZXJ2aWNlIGV4dGVuZHMgRGF0YUdyaWRTZXJ2aWNlIHtcbiAgcXVlcmllc1V0aWw6IFF1ZXJpZXNVdGlsO1xuICBiYXNlUXVlcnkgPSB7XG4gICAgX19maWx0ZXI6IHtcbiAgICAgIF9fYW5kOiBbXG4gICAgICAgIHsgJ2M4eV9EYXNoYm9hcmQuZGV2aWNlVHlwZSc6IHsgX19lcTogdHJ1ZSB9IH0sXG4gICAgICAgIHsgX19oYXM6ICdjOHlfRGFzaGJvYXJkLmRldmljZVR5cGVWYWx1ZScgfVxuICAgICAgXVxuICAgIH1cbiAgfTtcbiAgcHJpdmF0ZSBUWVBFX0RBU0hCT0FSRFNfUVVFUlkgPVxuICAgICckZmlsdGVyPSgoYzh5X0Rhc2hib2FyZC5kZXZpY2VUeXBlIGVxIHRydWUpIGFuZCAoaGFzKGM4eV9EYXNoYm9hcmQuZGV2aWNlVHlwZVZhbHVlKSkpJztcbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGludmVudG9yeTogSW52ZW50b3J5U2VydmljZSxcbiAgICBwcm90ZWN0ZWQgdXNlclByZWZlcmVuY2VzU2VydmljZTogVXNlclByZWZlcmVuY2VzU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgbW9kYWw6IE1vZGFsU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZVxuICApIHtcbiAgICBzdXBlcih1c2VyUHJlZmVyZW5jZXNTZXJ2aWNlKTtcbiAgfVxuXG4gIGdldENvbHVtbnMoKTogQ29sdW1uW10ge1xuICAgIHJldHVybiBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdpY29uJyxcbiAgICAgICAgaGVhZGVyOiBnZXR0ZXh0KCdJY29uJyksXG4gICAgICAgIHBhdGg6ICdjOHlfRGFzaGJvYXJkLmljb24nLFxuICAgICAgICBzb3J0YWJsZTogZmFsc2UsXG4gICAgICAgIGdyaWRUcmFja1NpemU6ICc0NXB4J1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ25hbWUnLFxuICAgICAgICBoZWFkZXI6IGdldHRleHQoJ05hbWUnKSxcbiAgICAgICAgcGF0aDogJ25hbWUnLFxuICAgICAgICBzb3J0YWJsZTogZmFsc2UsXG4gICAgICAgIGdyaWRUcmFja1NpemU6ICcyMDBweCdcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdkZXNjcmlwdGlvbicsXG4gICAgICAgIGhlYWRlcjogZ2V0dGV4dCgnRGVzY3JpcHRpb24nKSxcbiAgICAgICAgcGF0aDogJ2M4eV9EYXNoYm9hcmQuZGVzY3JpcHRpb24nLFxuICAgICAgICBzb3J0YWJsZTogZmFsc2VcbiAgICAgIH0sXG4gICAgICBuZXcgRGV2aWNlVHlwZVZhbHVlR3JpZENvbHVtbigpLFxuICAgICAge1xuICAgICAgICBuYW1lOiAnbGFzdFVwZGF0ZWQnLFxuICAgICAgICBoZWFkZXI6IGdldHRleHQoJ0xhc3QgdXBkYXRlJyksXG4gICAgICAgIHBhdGg6ICdsYXN0VXBkYXRlZCcsXG4gICAgICAgIHNvcnRhYmxlOiBmYWxzZSxcbiAgICAgICAgZ3JpZFRyYWNrU2l6ZTogJzIwMHB4J1xuICAgICAgfVxuICAgIF07XG4gIH1cblxuICBnZXREZWZhdWx0UGFnaW5hdGlvbigpOiBQYWdpbmF0aW9uIHtcbiAgICByZXR1cm4ge1xuICAgICAgcGFnZVNpemU6IDI1LFxuICAgICAgY3VycmVudFBhZ2U6IDFcbiAgICB9O1xuICB9XG5cbiAgYXN5bmMgZ2V0RGF0YShcbiAgICBjb2x1bW5zOiBDb2x1bW5bXSxcbiAgICBwYWdpbmF0aW9uOiBQYWdpbmF0aW9uLFxuICAgIHRleHQ/OiBzdHJpbmdcbiAgKTogUHJvbWlzZTxJUmVzdWx0TGlzdDxJTWFuYWdlZE9iamVjdD4+IHtcbiAgICBjb25zdCBmaWx0ZXJzID0gdGhpcy5nZXRGaWx0ZXJzKGNvbHVtbnMsIHBhZ2luYXRpb24sIHRleHQpO1xuXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuaW52ZW50b3J5Lmxpc3QoZmlsdGVycyk7XG4gIH1cblxuICBhc3luYyBnZXRUb3RhbCgpOiBQcm9taXNlPG51bWJlcj4ge1xuICAgIHJldHVybiAoXG4gICAgICBhd2FpdCB0aGlzLmludmVudG9yeS5saXN0KHtcbiAgICAgICAgcXVlcnk6IHRoaXMuVFlQRV9EQVNIQk9BUkRTX1FVRVJZLFxuICAgICAgICB3aXRoVG90YWxFbGVtZW50czogdHJ1ZVxuICAgICAgfSlcbiAgICApLnBhZ2luZy50b3RhbEVsZW1lbnRzO1xuICB9XG5cbiAgYXN5bmMgZGVsZXRlKGRhc2hib2FyZDogQ29udGV4dERhc2hib2FyZE1hbmFnZWRPYmplY3QsIG9uU3VjY2VzczogKCkgPT4gdm9pZCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBtc2c6IHN0cmluZyA9IGdldHRleHQoXG4gICAgICAgIGBZb3UgYXJlIGFib3V0IHRvIGRlbGV0ZSB0aGUgZGFzaGJvYXJkIFwie3sgZGFzaGJvYXJkTmFtZSB9fVwiIGZyb20gYWxsIGRldmljZXMgb2YgdHlwZSBcInt7IGRldmljZVR5cGUgfX1cIi5cbiAgICAgICAgICAgRG8geW91IHdhbnQgdG8gcHJvY2VlZD9gXG4gICAgICApO1xuXG4gICAgICBhd2FpdCB0aGlzLm1vZGFsLmNvbmZpcm0oXG4gICAgICAgIGdldHRleHQoJ0RlbGV0ZSBkYXNoYm9hcmQnKSxcbiAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQobXNnLCB7XG4gICAgICAgICAgZGFzaGJvYXJkTmFtZTogZGFzaGJvYXJkLmM4eV9EYXNoYm9hcmQubmFtZSxcbiAgICAgICAgICBkZXZpY2VUeXBlOiBkYXNoYm9hcmQuYzh5X0Rhc2hib2FyZC5kZXZpY2VUeXBlVmFsdWVcbiAgICAgICAgfSksXG4gICAgICAgIFN0YXR1cy5EQU5HRVIsXG4gICAgICAgIHtcbiAgICAgICAgICBvazogZ2V0dGV4dCgnRGVsZXRlJyksXG4gICAgICAgICAgY2FuY2VsOiBnZXR0ZXh0KCdDYW5jZWwnKVxuICAgICAgICB9XG4gICAgICApO1xuICAgICAgYXdhaXQgdGhpcy5pbnZlbnRvcnkuZGVsZXRlKGRhc2hib2FyZCk7XG4gICAgICBvblN1Y2Nlc3MoKTtcbiAgICB9IGNhdGNoIChleCkge1xuICAgICAgLy8gaW50ZW5kZWQgZW1wdHlcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldEZpbHRlcnMoXG4gICAgY29sdW1uczogQ29sdW1uW10sXG4gICAgcGFnaW5hdGlvbjogUGFnaW5hdGlvbixcbiAgICB0ZXh0Pzogc3RyaW5nXG4gICk6IFR5cGVEYXNoYm9hcmRGaWx0ZXIge1xuICAgIHJldHVybiB7XG4gICAgICBxdWVyeTogdGhpcy5nZXRRdWVyeVN0cmluZyhjb2x1bW5zKSxcbiAgICAgIC4uLih0ZXh0ICYmIHsgdGV4dCB9KSxcbiAgICAgIHBhZ2VTaXplOiBwYWdpbmF0aW9uLnBhZ2VTaXplLFxuICAgICAgY3VycmVudFBhZ2U6IHBhZ2luYXRpb24uY3VycmVudFBhZ2UsXG4gICAgICB3aXRoVG90YWxQYWdlczogdHJ1ZSxcbiAgICAgIHdpdGhUb3RhbEVsZW1lbnRzOiB0cnVlXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UXVlcnlTdHJpbmcoY29sdW1uczogQ29sdW1uW10pOiBzdHJpbmcge1xuICAgIGNvbnN0IHF1ZXJ5RnJvbUNvbHVtbnMgPSB0aGlzLmdldFF1ZXJ5T2JqKGNvbHVtbnMpO1xuICAgIGNvbnN0IGZ1bGxRdWVyeSA9IHRoaXMucXVlcmllc1V0aWwuYWRkQW5kRmlsdGVyKHF1ZXJ5RnJvbUNvbHVtbnMsIHRoaXMuYmFzZVF1ZXJ5KTtcbiAgICByZXR1cm4gdGhpcy5xdWVyaWVzVXRpbC5idWlsZFF1ZXJ5KGZ1bGxRdWVyeSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -58,7 +58,7 @@ export class TypeDashboardsListComponent {
|
|
|
58
58
|
}
|
|
59
59
|
async onDataSourceModifier(dataSourceModifier) {
|
|
60
60
|
const { res, data, paging } = await alertOnError(this.dashboardManagerService.getData(dataSourceModifier.columns, dataSourceModifier.pagination, dataSourceModifier.searchText));
|
|
61
|
-
const filteredSize =
|
|
61
|
+
const filteredSize = paging.totalElements;
|
|
62
62
|
const size = await alertOnError(this.dashboardManagerService.getTotal());
|
|
63
63
|
return {
|
|
64
64
|
res,
|
|
@@ -75,4 +75,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
|
|
|
75
75
|
type: Component,
|
|
76
76
|
args: [{ selector: 'c8y-dashboard-manager', template: "<c8y-title>\n {{ 'Dashboard manager' | translate }}\n</c8y-title>\n\n<div class=\"content-fullpage d-flex d-col border-top border-bottom\">\n <c8y-data-grid\n [title]=\"title\"\n [loadMoreItemsLabel]=\"loadMoreItemsLabel\"\n [loadingItemsLabel]=\"loadingItemsLabel\"\n [columns]=\"columns\"\n [pagination]=\"pagination\"\n [serverSideDataCallback]=\"serverSideDataCallback\"\n [infiniteScroll]=\"'auto'\"\n [actionControls]=\"actionControls\"\n [showSearch]=\"true\"\n [displayOptions]=\"displayOptions\"\n [refresh]=\"refresh\"\n [expandableRows]=\"'ASYNC'\"\n >\n <div\n *c8yExpandableRow=\"\n let context;\n let asyncRenderSuccess = asyncRenderSuccess;\n let asyncRenderFail = asyncRenderFail\n \"\n >\n <c8y-type-dashboard-info\n [context]=\"context\"\n [asyncRenderSuccess]=\"asyncRenderSuccess\"\n [asyncRenderFail]=\"asyncRenderFail\"\n ></c8y-type-dashboard-info>\n </div>\n\n <c8y-ui-empty-state\n [icon]=\"'search'\"\n [title]=\"'No matching dashboards.' | translate\"\n [subtitle]=\"'Refine your search terms' | translate\"\n [horizontal]=\"true\"\n ></c8y-ui-empty-state>\n\n <ng-container *ngFor=\"let column of columns; trackBy: trackByName\">\n <c8y-column name=\"icon\">\n <ng-container *c8yCellRendererDef=\"let context\">\n <i [c8yIcon]=\"context.value\"></i>\n </ng-container>\n </c8y-column>\n\n <c8y-column name=\"deviceTypeValue\">\n <ng-container *c8yCellRendererDef=\"let context\">\n <span class=\"label label-info\">\n {{ context.value }}\n </span>\n </ng-container>\n </c8y-column>\n\n <c8y-column [name]=\"column.name\"></c8y-column>\n </ng-container>\n </c8y-data-grid>\n</div>\n" }]
|
|
77
77
|
}], ctorParameters: () => [{ type: i1.DashboardManagerService }, { type: i2.BsModalService }] });
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS1kYXNoYm9hcmRzLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vY29udGV4dC1kYXNoYm9hcmQvZGFzaGJvYXJkLW1hbmFnZXIvdHlwZS1kYXNoYm9hcmRzLWxpc3QvdHlwZS1kYXNoYm9hcmRzLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vY29udGV4dC1kYXNoYm9hcmQvZGFzaGJvYXJkLW1hbmFnZXIvdHlwZS1kYXNoYm9hcmRzLWxpc3QvdHlwZS1kYXNoYm9hcmRzLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEQsT0FBTyxFQUVMLFlBQVksRUFDWixpQkFBaUIsRUFJakIsT0FBTyxFQUdSLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFdkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSx1Q0FBdUMsRUFBRSxNQUFNLG9GQUFvRixDQUFDOzs7Ozs7O0FBTTdJLE1BQU0sT0FBTywyQkFBMkI7SUE0QnRDLFlBQ1UsdUJBQWdELEVBQ2hELGNBQThCO1FBRDlCLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBeUI7UUFDaEQsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBN0J4QyxVQUFLLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDbkMsdUJBQWtCLEdBQUcsT0FBTyxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDckQsc0JBQWlCLEdBQVcsT0FBTyxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDM0QsWUFBTyxHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNwRCxlQUFVLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDakUsbUJBQWMsR0FBb0I7WUFDaEM7Z0JBQ0UsSUFBSSxFQUFFLGlCQUFpQixDQUFDLElBQUk7Z0JBQzVCLElBQUksRUFBRSxPQUFPLENBQUMsZ0JBQWdCLENBQUM7Z0JBQy9CLFFBQVEsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFxQyxDQUFDO2FBQ3BGO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLGlCQUFpQixDQUFDLE1BQU07Z0JBQzlCLElBQUksRUFBRSxPQUFPLENBQUMsa0JBQWtCLENBQUM7Z0JBQ2pDLFFBQVEsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBcUMsQ0FBQzthQUNyRTtTQUNGLENBQUM7UUFFRixtQkFBYyxHQUFtQjtZQUMvQixPQUFPLEVBQUUsSUFBSTtZQUNiLFFBQVEsRUFBRSxLQUFLO1lBQ2YsVUFBVSxFQUFFLElBQUk7WUFDaEIsTUFBTSxFQUFFLElBQUk7WUFDWixLQUFLLEVBQUUsS0FBSztTQUNiLENBQUM7UUFDRixZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQU1qQyxJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUF3QztRQUNuRCxNQUFNLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNsRixDQUFDO0lBRUQscUJBQXFCLENBQUMsU0FBd0M7UUFDNUQsTUFBTSxZQUFZLEdBQStELEVBQUUsU0FBUyxFQUFFLENBQUM7UUFDL0YsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsdUNBQXVDLEVBQUU7WUFDaEUsS0FBSyxFQUFFLFVBQVU7WUFDakIsZUFBZSxFQUFFLFlBQVk7WUFDN0IsY0FBYyxFQUFFLGFBQWE7WUFDN0IsbUJBQW1CLEVBQUUsSUFBSTtZQUN6QixZQUFZO1NBQ2IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVcsQ0FBQyxNQUFNLEVBQUUsTUFBYztRQUNoQyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUM7SUFDckIsQ0FBQztJQUVELEtBQUssQ0FBQyxvQkFBb0IsQ0FDeEIsa0JBQXNDO1FBRXRDLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxHQUFHLE1BQU0sWUFBWSxDQUM5QyxJQUFJLENBQUMsdUJBQXVCLENBQUMsT0FBTyxDQUNsQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQzFCLGtCQUFrQixDQUFDLFVBQVUsRUFDN0Isa0JBQWtCLENBQUMsVUFBVSxDQUM5QixDQUNGLENBQUM7UUFDRixNQUFNLFlBQVksR0FBRyxNQUFNLFlBQVksQ0FDckMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FDbkMsa0JBQWtCLENBQUMsT0FBTyxFQUMxQixrQkFBa0IsQ0FBQyxVQUFVLEVBQzdCLGtCQUFrQixDQUFDLFVBQVUsQ0FDOUIsQ0FDRixDQUFDO1FBQ0YsTUFBTSxJQUFJLEdBQUcsTUFBTSxZQUFZLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFFekUsT0FBTztZQUNMLEdBQUc7WUFDSCxJQUFJO1lBQ0osTUFBTTtZQUNOLFlBQVk7WUFDWixJQUFJO1NBQ0wsQ0FBQztJQUNKLENBQUM7OEdBaEZVLDJCQUEyQjtrR0FBM0IsMkJBQTJCLDZEQ3JCeEMsb3pEQTJEQTs7MkZEdENhLDJCQUEyQjtrQkFKdkMsU0FBUzsrQkFDRSx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWN0aW9uQ29udHJvbCxcbiAgYWxlcnRPbkVycm9yLFxuICBCdWlsdEluQWN0aW9uVHlwZSxcbiAgQ29sdW1uLFxuICBEYXRhU291cmNlTW9kaWZpZXIsXG4gIERpc3BsYXlPcHRpb25zLFxuICBnZXR0ZXh0LFxuICBTZXJ2ZXJTaWRlRGF0YUNhbGxiYWNrLFxuICBTZXJ2ZXJTaWRlRGF0YVJlc3VsdFxufSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcbmltcG9ydCB7IERhc2hib2FyZE1hbmFnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vZGFzaGJvYXJkLW1hbmFnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBDb250ZXh0RGFzaGJvYXJkTWFuYWdlZE9iamVjdCB9IGZyb20gJy4uLy4uL2NvbnRleHQtZGFzaGJvYXJkLm1vZGVsJztcbmltcG9ydCB7IEJzTW9kYWxTZXJ2aWNlIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC9tb2RhbCc7XG5pbXBvcnQgeyBUeXBlRGFzaGJvYXJkVGFyZ2V0QXNzZXRzTW9kYWxDb21wb25lbnQgfSBmcm9tICcuLi90eXBlLWRhc2hib2FyZC10YXJnZXQtYXNzZXRzLW1vZGFsL3R5cGUtZGFzaGJvYXJkLXRhcmdldC1hc3NldHMtbW9kYWwuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYzh5LWRhc2hib2FyZC1tYW5hZ2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3R5cGUtZGFzaGJvYXJkcy1saXN0LmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBUeXBlRGFzaGJvYXJkc0xpc3RDb21wb25lbnQge1xuICB0aXRsZSA9IGdldHRleHQoJ1R5cGUgZGFzaGJvYXJkcycpO1xuICBsb2FkTW9yZUl0ZW1zTGFiZWwgPSBnZXR0ZXh0KCdMb2FkIG1vcmUgZGFzaGJvYXJkcycpO1xuICBsb2FkaW5nSXRlbXNMYWJlbDogc3RyaW5nID0gZ2V0dGV4dCgnTG9hZGluZyBkYXNoYm9hcmRz4oCmJyk7XG4gIGNvbHVtbnMgPSB0aGlzLmRhc2hib2FyZE1hbmFnZXJTZXJ2aWNlLmdldENvbHVtbnMoKTtcbiAgcGFnaW5hdGlvbiA9IHRoaXMuZGFzaGJvYXJkTWFuYWdlclNlcnZpY2UuZ2V0RGVmYXVsdFBhZ2luYXRpb24oKTtcbiAgYWN0aW9uQ29udHJvbHM6IEFjdGlvbkNvbnRyb2xbXSA9IFtcbiAgICB7XG4gICAgICB0eXBlOiBCdWlsdEluQWN0aW9uVHlwZS5FZGl0LFxuICAgICAgdGV4dDogZ2V0dGV4dCgnRWRpdCBkYXNoYm9hcmQnKSxcbiAgICAgIGNhbGxiYWNrOiBpdGVtID0+IHRoaXMub3BlblRhcmdldEFzc2V0c01vZGFsKGl0ZW0gYXMgQ29udGV4dERhc2hib2FyZE1hbmFnZWRPYmplY3QpXG4gICAgfSxcbiAgICB7XG4gICAgICB0eXBlOiBCdWlsdEluQWN0aW9uVHlwZS5EZWxldGUsXG4gICAgICB0ZXh0OiBnZXR0ZXh0KCdEZWxldGUgZGFzaGJvYXJkJyksXG4gICAgICBjYWxsYmFjazogaXRlbSA9PiB0aGlzLmRlbGV0ZShpdGVtIGFzIENvbnRleHREYXNoYm9hcmRNYW5hZ2VkT2JqZWN0KVxuICAgIH1cbiAgXTtcbiAgc2VydmVyU2lkZURhdGFDYWxsYmFjazogU2VydmVyU2lkZURhdGFDYWxsYmFjaztcbiAgZGlzcGxheU9wdGlvbnM6IERpc3BsYXlPcHRpb25zID0ge1xuICAgIHN0cmlwZWQ6IHRydWUsXG4gICAgYm9yZGVyZWQ6IGZhbHNlLFxuICAgIGdyaWRIZWFkZXI6IHRydWUsXG4gICAgZmlsdGVyOiB0cnVlLFxuICAgIGhvdmVyOiBmYWxzZVxuICB9O1xuICByZWZyZXNoID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZGFzaGJvYXJkTWFuYWdlclNlcnZpY2U6IERhc2hib2FyZE1hbmFnZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgYnNNb2RhbFNlcnZpY2U6IEJzTW9kYWxTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuc2VydmVyU2lkZURhdGFDYWxsYmFjayA9IHRoaXMub25EYXRhU291cmNlTW9kaWZpZXIuYmluZCh0aGlzKTtcbiAgfVxuXG4gIGFzeW5jIGRlbGV0ZShkYXNoYm9hcmQ6IENvbnRleHREYXNoYm9hcmRNYW5hZ2VkT2JqZWN0KSB7XG4gICAgYXdhaXQgdGhpcy5kYXNoYm9hcmRNYW5hZ2VyU2VydmljZS5kZWxldGUoZGFzaGJvYXJkLCAoKSA9PiB0aGlzLnJlZnJlc2guZW1pdCgpKTtcbiAgfVxuXG4gIG9wZW5UYXJnZXRBc3NldHNNb2RhbChkYXNoYm9hcmQ6IENvbnRleHREYXNoYm9hcmRNYW5hZ2VkT2JqZWN0KTogdm9pZCB7XG4gICAgY29uc3QgaW5pdGlhbFN0YXRlOiBQaWNrPFR5cGVEYXNoYm9hcmRUYXJnZXRBc3NldHNNb2RhbENvbXBvbmVudCwgJ2Rhc2hib2FyZCc+ID0geyBkYXNoYm9hcmQgfTtcbiAgICB0aGlzLmJzTW9kYWxTZXJ2aWNlLnNob3coVHlwZURhc2hib2FyZFRhcmdldEFzc2V0c01vZGFsQ29tcG9uZW50LCB7XG4gICAgICBjbGFzczogJ21vZGFsLWxnJyxcbiAgICAgIGFyaWFEZXNjcmliZWRieTogJ21vZGFsLWJvZHknLFxuICAgICAgYXJpYUxhYmVsbGVkQnk6ICdtb2RhbC10aXRsZScsXG4gICAgICBpZ25vcmVCYWNrZHJvcENsaWNrOiB0cnVlLFxuICAgICAgaW5pdGlhbFN0YXRlXG4gICAgfSk7XG4gIH1cblxuICB0cmFja0J5TmFtZShfaW5kZXgsIGNvbHVtbjogQ29sdW1uKTogc3RyaW5nIHtcbiAgICByZXR1cm4gY29sdW1uLm5hbWU7XG4gIH1cblxuICBhc3luYyBvbkRhdGFTb3VyY2VNb2RpZmllcihcbiAgICBkYXRhU291cmNlTW9kaWZpZXI6IERhdGFTb3VyY2VNb2RpZmllclxuICApOiBQcm9taXNlPFNlcnZlclNpZGVEYXRhUmVzdWx0PiB7XG4gICAgY29uc3QgeyByZXMsIGRhdGEsIHBhZ2luZyB9ID0gYXdhaXQgYWxlcnRPbkVycm9yKFxuICAgICAgdGhpcy5kYXNoYm9hcmRNYW5hZ2VyU2VydmljZS5nZXREYXRhKFxuICAgICAgICBkYXRhU291cmNlTW9kaWZpZXIuY29sdW1ucyxcbiAgICAgICAgZGF0YVNvdXJjZU1vZGlmaWVyLnBhZ2luYXRpb24sXG4gICAgICAgIGRhdGFTb3VyY2VNb2RpZmllci5zZWFyY2hUZXh0XG4gICAgICApXG4gICAgKTtcbiAgICBjb25zdCBmaWx0ZXJlZFNpemUgPSBhd2FpdCBhbGVydE9uRXJyb3IoXG4gICAgICB0aGlzLmRhc2hib2FyZE1hbmFnZXJTZXJ2aWNlLmdldENvdW50KFxuICAgICAgICBkYXRhU291cmNlTW9kaWZpZXIuY29sdW1ucyxcbiAgICAgICAgZGF0YVNvdXJjZU1vZGlmaWVyLnBhZ2luYXRpb24sXG4gICAgICAgIGRhdGFTb3VyY2VNb2RpZmllci5zZWFyY2hUZXh0XG4gICAgICApXG4gICAgKTtcbiAgICBjb25zdCBzaXplID0gYXdhaXQgYWxlcnRPbkVycm9yKHRoaXMuZGFzaGJvYXJkTWFuYWdlclNlcnZpY2UuZ2V0VG90YWwoKSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgcmVzLFxuICAgICAgZGF0YSxcbiAgICAgIHBhZ2luZyxcbiAgICAgIGZpbHRlcmVkU2l6ZSxcbiAgICAgIHNpemVcbiAgICB9O1xuICB9XG59XG4iLCI8Yzh5LXRpdGxlPlxuICB7eyAnRGFzaGJvYXJkIG1hbmFnZXInIHwgdHJhbnNsYXRlIH19XG48L2M4eS10aXRsZT5cblxuPGRpdiBjbGFzcz1cImNvbnRlbnQtZnVsbHBhZ2UgZC1mbGV4IGQtY29sIGJvcmRlci10b3AgYm9yZGVyLWJvdHRvbVwiPlxuICA8Yzh5LWRhdGEtZ3JpZFxuICAgIFt0aXRsZV09XCJ0aXRsZVwiXG4gICAgW2xvYWRNb3JlSXRlbXNMYWJlbF09XCJsb2FkTW9yZUl0ZW1zTGFiZWxcIlxuICAgIFtsb2FkaW5nSXRlbXNMYWJlbF09XCJsb2FkaW5nSXRlbXNMYWJlbFwiXG4gICAgW2NvbHVtbnNdPVwiY29sdW1uc1wiXG4gICAgW3BhZ2luYXRpb25dPVwicGFnaW5hdGlvblwiXG4gICAgW3NlcnZlclNpZGVEYXRhQ2FsbGJhY2tdPVwic2VydmVyU2lkZURhdGFDYWxsYmFja1wiXG4gICAgW2luZmluaXRlU2Nyb2xsXT1cIidhdXRvJ1wiXG4gICAgW2FjdGlvbkNvbnRyb2xzXT1cImFjdGlvbkNvbnRyb2xzXCJcbiAgICBbc2hvd1NlYXJjaF09XCJ0cnVlXCJcbiAgICBbZGlzcGxheU9wdGlvbnNdPVwiZGlzcGxheU9wdGlvbnNcIlxuICAgIFtyZWZyZXNoXT1cInJlZnJlc2hcIlxuICAgIFtleHBhbmRhYmxlUm93c109XCInQVNZTkMnXCJcbiAgPlxuICAgIDxkaXZcbiAgICAgICpjOHlFeHBhbmRhYmxlUm93PVwiXG4gICAgICAgIGxldCBjb250ZXh0O1xuICAgICAgICBsZXQgYXN5bmNSZW5kZXJTdWNjZXNzID0gYXN5bmNSZW5kZXJTdWNjZXNzO1xuICAgICAgICBsZXQgYXN5bmNSZW5kZXJGYWlsID0gYXN5bmNSZW5kZXJGYWlsXG4gICAgICBcIlxuICAgID5cbiAgICAgIDxjOHktdHlwZS1kYXNoYm9hcmQtaW5mb1xuICAgICAgICBbY29udGV4dF09XCJjb250ZXh0XCJcbiAgICAgICAgW2FzeW5jUmVuZGVyU3VjY2Vzc109XCJhc3luY1JlbmRlclN1Y2Nlc3NcIlxuICAgICAgICBbYXN5bmNSZW5kZXJGYWlsXT1cImFzeW5jUmVuZGVyRmFpbFwiXG4gICAgICA+PC9jOHktdHlwZS1kYXNoYm9hcmQtaW5mbz5cbiAgICA8L2Rpdj5cblxuICAgIDxjOHktdWktZW1wdHktc3RhdGVcbiAgICAgIFtpY29uXT1cIidzZWFyY2gnXCJcbiAgICAgIFt0aXRsZV09XCInTm8gbWF0Y2hpbmcgZGFzaGJvYXJkcy4nIHwgdHJhbnNsYXRlXCJcbiAgICAgIFtzdWJ0aXRsZV09XCInUmVmaW5lIHlvdXIgc2VhcmNoIHRlcm1zJyB8IHRyYW5zbGF0ZVwiXG4gICAgICBbaG9yaXpvbnRhbF09XCJ0cnVlXCJcbiAgICA+PC9jOHktdWktZW1wdHktc3RhdGU+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgY29sdW1uczsgdHJhY2tCeTogdHJhY2tCeU5hbWVcIj5cbiAgICAgIDxjOHktY29sdW1uIG5hbWU9XCJpY29uXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKmM4eUNlbGxSZW5kZXJlckRlZj1cImxldCBjb250ZXh0XCI+XG4gICAgICAgICAgPGkgW2M4eUljb25dPVwiY29udGV4dC52YWx1ZVwiPjwvaT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L2M4eS1jb2x1bW4+XG5cbiAgICAgIDxjOHktY29sdW1uIG5hbWU9XCJkZXZpY2VUeXBlVmFsdWVcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqYzh5Q2VsbFJlbmRlcmVyRGVmPVwibGV0IGNvbnRleHRcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImxhYmVsIGxhYmVsLWluZm9cIj5cbiAgICAgICAgICAgIHt7IGNvbnRleHQudmFsdWUgfX1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9jOHktY29sdW1uPlxuXG4gICAgICA8Yzh5LWNvbHVtbiBbbmFtZV09XCJjb2x1bW4ubmFtZVwiPjwvYzh5LWNvbHVtbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9jOHktZGF0YS1ncmlkPlxuPC9kaXY+XG4iXX0=
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS1kYXNoYm9hcmRzLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vY29udGV4dC1kYXNoYm9hcmQvZGFzaGJvYXJkLW1hbmFnZXIvdHlwZS1kYXNoYm9hcmRzLWxpc3QvdHlwZS1kYXNoYm9hcmRzLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vY29udGV4dC1kYXNoYm9hcmQvZGFzaGJvYXJkLW1hbmFnZXIvdHlwZS1kYXNoYm9hcmRzLWxpc3QvdHlwZS1kYXNoYm9hcmRzLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEQsT0FBTyxFQUVMLFlBQVksRUFDWixpQkFBaUIsRUFJakIsT0FBTyxFQUdSLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFdkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSx1Q0FBdUMsRUFBRSxNQUFNLG9GQUFvRixDQUFDOzs7Ozs7O0FBTTdJLE1BQU0sT0FBTywyQkFBMkI7SUE0QnRDLFlBQ1UsdUJBQWdELEVBQ2hELGNBQThCO1FBRDlCLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBeUI7UUFDaEQsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBN0J4QyxVQUFLLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDbkMsdUJBQWtCLEdBQUcsT0FBTyxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDckQsc0JBQWlCLEdBQVcsT0FBTyxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDM0QsWUFBTyxHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNwRCxlQUFVLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDakUsbUJBQWMsR0FBb0I7WUFDaEM7Z0JBQ0UsSUFBSSxFQUFFLGlCQUFpQixDQUFDLElBQUk7Z0JBQzVCLElBQUksRUFBRSxPQUFPLENBQUMsZ0JBQWdCLENBQUM7Z0JBQy9CLFFBQVEsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFxQyxDQUFDO2FBQ3BGO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLGlCQUFpQixDQUFDLE1BQU07Z0JBQzlCLElBQUksRUFBRSxPQUFPLENBQUMsa0JBQWtCLENBQUM7Z0JBQ2pDLFFBQVEsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBcUMsQ0FBQzthQUNyRTtTQUNGLENBQUM7UUFFRixtQkFBYyxHQUFtQjtZQUMvQixPQUFPLEVBQUUsSUFBSTtZQUNiLFFBQVEsRUFBRSxLQUFLO1lBQ2YsVUFBVSxFQUFFLElBQUk7WUFDaEIsTUFBTSxFQUFFLElBQUk7WUFDWixLQUFLLEVBQUUsS0FBSztTQUNiLENBQUM7UUFDRixZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQU1qQyxJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUF3QztRQUNuRCxNQUFNLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNsRixDQUFDO0lBRUQscUJBQXFCLENBQUMsU0FBd0M7UUFDNUQsTUFBTSxZQUFZLEdBQStELEVBQUUsU0FBUyxFQUFFLENBQUM7UUFDL0YsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsdUNBQXVDLEVBQUU7WUFDaEUsS0FBSyxFQUFFLFVBQVU7WUFDakIsZUFBZSxFQUFFLFlBQVk7WUFDN0IsY0FBYyxFQUFFLGFBQWE7WUFDN0IsbUJBQW1CLEVBQUUsSUFBSTtZQUN6QixZQUFZO1NBQ2IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVcsQ0FBQyxNQUFNLEVBQUUsTUFBYztRQUNoQyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUM7SUFDckIsQ0FBQztJQUVELEtBQUssQ0FBQyxvQkFBb0IsQ0FDeEIsa0JBQXNDO1FBRXRDLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxHQUFHLE1BQU0sWUFBWSxDQUM5QyxJQUFJLENBQUMsdUJBQXVCLENBQUMsT0FBTyxDQUNsQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQzFCLGtCQUFrQixDQUFDLFVBQVUsRUFDN0Isa0JBQWtCLENBQUMsVUFBVSxDQUM5QixDQUNGLENBQUM7UUFDRixNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDO1FBQzFDLE1BQU0sSUFBSSxHQUFHLE1BQU0sWUFBWSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBRXpFLE9BQU87WUFDTCxHQUFHO1lBQ0gsSUFBSTtZQUNKLE1BQU07WUFDTixZQUFZO1lBQ1osSUFBSTtTQUNMLENBQUM7SUFDSixDQUFDOzhHQTFFVSwyQkFBMkI7a0dBQTNCLDJCQUEyQiw2RENyQnhDLG96REEyREE7OzJGRHRDYSwyQkFBMkI7a0JBSnZDLFNBQVM7K0JBQ0UsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFjdGlvbkNvbnRyb2wsXG4gIGFsZXJ0T25FcnJvcixcbiAgQnVpbHRJbkFjdGlvblR5cGUsXG4gIENvbHVtbixcbiAgRGF0YVNvdXJjZU1vZGlmaWVyLFxuICBEaXNwbGF5T3B0aW9ucyxcbiAgZ2V0dGV4dCxcbiAgU2VydmVyU2lkZURhdGFDYWxsYmFjayxcbiAgU2VydmVyU2lkZURhdGFSZXN1bHRcbn0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBEYXNoYm9hcmRNYW5hZ2VyU2VydmljZSB9IGZyb20gJy4uL2Rhc2hib2FyZC1tYW5hZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29udGV4dERhc2hib2FyZE1hbmFnZWRPYmplY3QgfSBmcm9tICcuLi8uLi9jb250ZXh0LWRhc2hib2FyZC5tb2RlbCc7XG5pbXBvcnQgeyBCc01vZGFsU2VydmljZSB9IGZyb20gJ25neC1ib290c3RyYXAvbW9kYWwnO1xuaW1wb3J0IHsgVHlwZURhc2hib2FyZFRhcmdldEFzc2V0c01vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi4vdHlwZS1kYXNoYm9hcmQtdGFyZ2V0LWFzc2V0cy1tb2RhbC90eXBlLWRhc2hib2FyZC10YXJnZXQtYXNzZXRzLW1vZGFsLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2M4eS1kYXNoYm9hcmQtbWFuYWdlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi90eXBlLWRhc2hib2FyZHMtbGlzdC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgVHlwZURhc2hib2FyZHNMaXN0Q29tcG9uZW50IHtcbiAgdGl0bGUgPSBnZXR0ZXh0KCdUeXBlIGRhc2hib2FyZHMnKTtcbiAgbG9hZE1vcmVJdGVtc0xhYmVsID0gZ2V0dGV4dCgnTG9hZCBtb3JlIGRhc2hib2FyZHMnKTtcbiAgbG9hZGluZ0l0ZW1zTGFiZWw6IHN0cmluZyA9IGdldHRleHQoJ0xvYWRpbmcgZGFzaGJvYXJkc+KApicpO1xuICBjb2x1bW5zID0gdGhpcy5kYXNoYm9hcmRNYW5hZ2VyU2VydmljZS5nZXRDb2x1bW5zKCk7XG4gIHBhZ2luYXRpb24gPSB0aGlzLmRhc2hib2FyZE1hbmFnZXJTZXJ2aWNlLmdldERlZmF1bHRQYWdpbmF0aW9uKCk7XG4gIGFjdGlvbkNvbnRyb2xzOiBBY3Rpb25Db250cm9sW10gPSBbXG4gICAge1xuICAgICAgdHlwZTogQnVpbHRJbkFjdGlvblR5cGUuRWRpdCxcbiAgICAgIHRleHQ6IGdldHRleHQoJ0VkaXQgZGFzaGJvYXJkJyksXG4gICAgICBjYWxsYmFjazogaXRlbSA9PiB0aGlzLm9wZW5UYXJnZXRBc3NldHNNb2RhbChpdGVtIGFzIENvbnRleHREYXNoYm9hcmRNYW5hZ2VkT2JqZWN0KVxuICAgIH0sXG4gICAge1xuICAgICAgdHlwZTogQnVpbHRJbkFjdGlvblR5cGUuRGVsZXRlLFxuICAgICAgdGV4dDogZ2V0dGV4dCgnRGVsZXRlIGRhc2hib2FyZCcpLFxuICAgICAgY2FsbGJhY2s6IGl0ZW0gPT4gdGhpcy5kZWxldGUoaXRlbSBhcyBDb250ZXh0RGFzaGJvYXJkTWFuYWdlZE9iamVjdClcbiAgICB9XG4gIF07XG4gIHNlcnZlclNpZGVEYXRhQ2FsbGJhY2s6IFNlcnZlclNpZGVEYXRhQ2FsbGJhY2s7XG4gIGRpc3BsYXlPcHRpb25zOiBEaXNwbGF5T3B0aW9ucyA9IHtcbiAgICBzdHJpcGVkOiB0cnVlLFxuICAgIGJvcmRlcmVkOiBmYWxzZSxcbiAgICBncmlkSGVhZGVyOiB0cnVlLFxuICAgIGZpbHRlcjogdHJ1ZSxcbiAgICBob3ZlcjogZmFsc2VcbiAgfTtcbiAgcmVmcmVzaCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGRhc2hib2FyZE1hbmFnZXJTZXJ2aWNlOiBEYXNoYm9hcmRNYW5hZ2VyU2VydmljZSxcbiAgICBwcml2YXRlIGJzTW9kYWxTZXJ2aWNlOiBCc01vZGFsU2VydmljZVxuICApIHtcbiAgICB0aGlzLnNlcnZlclNpZGVEYXRhQ2FsbGJhY2sgPSB0aGlzLm9uRGF0YVNvdXJjZU1vZGlmaWVyLmJpbmQodGhpcyk7XG4gIH1cblxuICBhc3luYyBkZWxldGUoZGFzaGJvYXJkOiBDb250ZXh0RGFzaGJvYXJkTWFuYWdlZE9iamVjdCkge1xuICAgIGF3YWl0IHRoaXMuZGFzaGJvYXJkTWFuYWdlclNlcnZpY2UuZGVsZXRlKGRhc2hib2FyZCwgKCkgPT4gdGhpcy5yZWZyZXNoLmVtaXQoKSk7XG4gIH1cblxuICBvcGVuVGFyZ2V0QXNzZXRzTW9kYWwoZGFzaGJvYXJkOiBDb250ZXh0RGFzaGJvYXJkTWFuYWdlZE9iamVjdCk6IHZvaWQge1xuICAgIGNvbnN0IGluaXRpYWxTdGF0ZTogUGljazxUeXBlRGFzaGJvYXJkVGFyZ2V0QXNzZXRzTW9kYWxDb21wb25lbnQsICdkYXNoYm9hcmQnPiA9IHsgZGFzaGJvYXJkIH07XG4gICAgdGhpcy5ic01vZGFsU2VydmljZS5zaG93KFR5cGVEYXNoYm9hcmRUYXJnZXRBc3NldHNNb2RhbENvbXBvbmVudCwge1xuICAgICAgY2xhc3M6ICdtb2RhbC1sZycsXG4gICAgICBhcmlhRGVzY3JpYmVkYnk6ICdtb2RhbC1ib2R5JyxcbiAgICAgIGFyaWFMYWJlbGxlZEJ5OiAnbW9kYWwtdGl0bGUnLFxuICAgICAgaWdub3JlQmFja2Ryb3BDbGljazogdHJ1ZSxcbiAgICAgIGluaXRpYWxTdGF0ZVxuICAgIH0pO1xuICB9XG5cbiAgdHJhY2tCeU5hbWUoX2luZGV4LCBjb2x1bW46IENvbHVtbik6IHN0cmluZyB7XG4gICAgcmV0dXJuIGNvbHVtbi5uYW1lO1xuICB9XG5cbiAgYXN5bmMgb25EYXRhU291cmNlTW9kaWZpZXIoXG4gICAgZGF0YVNvdXJjZU1vZGlmaWVyOiBEYXRhU291cmNlTW9kaWZpZXJcbiAgKTogUHJvbWlzZTxTZXJ2ZXJTaWRlRGF0YVJlc3VsdD4ge1xuICAgIGNvbnN0IHsgcmVzLCBkYXRhLCBwYWdpbmcgfSA9IGF3YWl0IGFsZXJ0T25FcnJvcihcbiAgICAgIHRoaXMuZGFzaGJvYXJkTWFuYWdlclNlcnZpY2UuZ2V0RGF0YShcbiAgICAgICAgZGF0YVNvdXJjZU1vZGlmaWVyLmNvbHVtbnMsXG4gICAgICAgIGRhdGFTb3VyY2VNb2RpZmllci5wYWdpbmF0aW9uLFxuICAgICAgICBkYXRhU291cmNlTW9kaWZpZXIuc2VhcmNoVGV4dFxuICAgICAgKVxuICAgICk7XG4gICAgY29uc3QgZmlsdGVyZWRTaXplID0gcGFnaW5nLnRvdGFsRWxlbWVudHM7XG4gICAgY29uc3Qgc2l6ZSA9IGF3YWl0IGFsZXJ0T25FcnJvcih0aGlzLmRhc2hib2FyZE1hbmFnZXJTZXJ2aWNlLmdldFRvdGFsKCkpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHJlcyxcbiAgICAgIGRhdGEsXG4gICAgICBwYWdpbmcsXG4gICAgICBmaWx0ZXJlZFNpemUsXG4gICAgICBzaXplXG4gICAgfTtcbiAgfVxufVxuIiwiPGM4eS10aXRsZT5cbiAge3sgJ0Rhc2hib2FyZCBtYW5hZ2VyJyB8IHRyYW5zbGF0ZSB9fVxuPC9jOHktdGl0bGU+XG5cbjxkaXYgY2xhc3M9XCJjb250ZW50LWZ1bGxwYWdlIGQtZmxleCBkLWNvbCBib3JkZXItdG9wIGJvcmRlci1ib3R0b21cIj5cbiAgPGM4eS1kYXRhLWdyaWRcbiAgICBbdGl0bGVdPVwidGl0bGVcIlxuICAgIFtsb2FkTW9yZUl0ZW1zTGFiZWxdPVwibG9hZE1vcmVJdGVtc0xhYmVsXCJcbiAgICBbbG9hZGluZ0l0ZW1zTGFiZWxdPVwibG9hZGluZ0l0ZW1zTGFiZWxcIlxuICAgIFtjb2x1bW5zXT1cImNvbHVtbnNcIlxuICAgIFtwYWdpbmF0aW9uXT1cInBhZ2luYXRpb25cIlxuICAgIFtzZXJ2ZXJTaWRlRGF0YUNhbGxiYWNrXT1cInNlcnZlclNpZGVEYXRhQ2FsbGJhY2tcIlxuICAgIFtpbmZpbml0ZVNjcm9sbF09XCInYXV0bydcIlxuICAgIFthY3Rpb25Db250cm9sc109XCJhY3Rpb25Db250cm9sc1wiXG4gICAgW3Nob3dTZWFyY2hdPVwidHJ1ZVwiXG4gICAgW2Rpc3BsYXlPcHRpb25zXT1cImRpc3BsYXlPcHRpb25zXCJcbiAgICBbcmVmcmVzaF09XCJyZWZyZXNoXCJcbiAgICBbZXhwYW5kYWJsZVJvd3NdPVwiJ0FTWU5DJ1wiXG4gID5cbiAgICA8ZGl2XG4gICAgICAqYzh5RXhwYW5kYWJsZVJvdz1cIlxuICAgICAgICBsZXQgY29udGV4dDtcbiAgICAgICAgbGV0IGFzeW5jUmVuZGVyU3VjY2VzcyA9IGFzeW5jUmVuZGVyU3VjY2VzcztcbiAgICAgICAgbGV0IGFzeW5jUmVuZGVyRmFpbCA9IGFzeW5jUmVuZGVyRmFpbFxuICAgICAgXCJcbiAgICA+XG4gICAgICA8Yzh5LXR5cGUtZGFzaGJvYXJkLWluZm9cbiAgICAgICAgW2NvbnRleHRdPVwiY29udGV4dFwiXG4gICAgICAgIFthc3luY1JlbmRlclN1Y2Nlc3NdPVwiYXN5bmNSZW5kZXJTdWNjZXNzXCJcbiAgICAgICAgW2FzeW5jUmVuZGVyRmFpbF09XCJhc3luY1JlbmRlckZhaWxcIlxuICAgICAgPjwvYzh5LXR5cGUtZGFzaGJvYXJkLWluZm8+XG4gICAgPC9kaXY+XG5cbiAgICA8Yzh5LXVpLWVtcHR5LXN0YXRlXG4gICAgICBbaWNvbl09XCInc2VhcmNoJ1wiXG4gICAgICBbdGl0bGVdPVwiJ05vIG1hdGNoaW5nIGRhc2hib2FyZHMuJyB8IHRyYW5zbGF0ZVwiXG4gICAgICBbc3VidGl0bGVdPVwiJ1JlZmluZSB5b3VyIHNlYXJjaCB0ZXJtcycgfCB0cmFuc2xhdGVcIlxuICAgICAgW2hvcml6b250YWxdPVwidHJ1ZVwiXG4gICAgPjwvYzh5LXVpLWVtcHR5LXN0YXRlPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGNvbHVtbnM7IHRyYWNrQnk6IHRyYWNrQnlOYW1lXCI+XG4gICAgICA8Yzh5LWNvbHVtbiBuYW1lPVwiaWNvblwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpjOHlDZWxsUmVuZGVyZXJEZWY9XCJsZXQgY29udGV4dFwiPlxuICAgICAgICAgIDxpIFtjOHlJY29uXT1cImNvbnRleHQudmFsdWVcIj48L2k+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9jOHktY29sdW1uPlxuXG4gICAgICA8Yzh5LWNvbHVtbiBuYW1lPVwiZGV2aWNlVHlwZVZhbHVlXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKmM4eUNlbGxSZW5kZXJlckRlZj1cImxldCBjb250ZXh0XCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJsYWJlbCBsYWJlbC1pbmZvXCI+XG4gICAgICAgICAgICB7eyBjb250ZXh0LnZhbHVlIH19XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvYzh5LWNvbHVtbj5cblxuICAgICAgPGM4eS1jb2x1bW4gW25hbWVdPVwiY29sdW1uLm5hbWVcIj48L2M4eS1jb2x1bW4+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvYzh5LWRhdGEtZ3JpZD5cbjwvZGl2PlxuIl19
|
|
@@ -36,4 +36,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
|
|
|
36
36
|
type: Injectable,
|
|
37
37
|
args: [{ providedIn: 'root' }]
|
|
38
38
|
}] });
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV3LWRhc2hib2FyZC5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2NvbnRleHQtZGFzaGJvYXJkL25ldy1kYXNoYm9hcmQuZ3VhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxPQUFPLEVBQU8sTUFBTSxxQkFBcUIsQ0FBQzs7QUFJbkQsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFnQjtJQUMxQyxTQUFTLEVBQUUsY0FBYztJQUN6QixJQUFJLEVBQUUsSUFBSTtJQUNWLEtBQUssRUFBRSxPQUFPLENBQUMsZUFBZSxDQUFDO0lBQy9CLElBQUksRUFBRSx5QkFBeUI7SUFDL0Isb0dBQW9HO0lBQ3BHLElBQUksRUFBRSxJQUFJO0lBQ1YsUUFBUSxFQUFFLENBQUMsUUFBUTtDQUNwQixDQUFDO0FBR0YsTUFBTSxPQUFPLGlCQUFpQjtJQUc1QixXQUFXLENBQUMsS0FBNkI7UUFDdkMsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEtBQUssZUFBZSxDQUFDLElBQUksQ0FBQztRQUNsRSxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQ2QsTUFBTSxTQUFTLEdBQTJDO2dCQUN4RCxhQUFhLEVBQUUsSUFBSTthQUNwQixDQUFDO1lBQ0YsS0FBSyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsRUFBRSxDQUFDO1FBQzdCLENBQUM7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ2QsSUFBSSxDQUFDLEdBQUcsR0FBRztnQkFDVCxHQUFHLGVBQWU7Z0JBQ2xCLElBQUksRUFBRSxDQUFDLFNBQVM7Z0JBQ2hCLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRO2FBQzNDLENBQUM7UUFDSixDQUFDO1FBQ0QsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN4QixDQUFDOzhHQW5CVSxpQkFBaUI7a0hBQWpCLGlCQUFpQixjQURKLE1BQU07OzJGQUNuQixpQkFBaUI7a0JBRDdCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGdldHRleHQsIFRhYiB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBDb250ZXh0RGFzaGJvYXJkTWFuYWdlZE9iamVjdCB9IGZyb20gJy4vY29udGV4dC1kYXNoYm9hcmQubW9kZWwnO1xuXG5leHBvcnQgY29uc3QgbmV3RGFzaGJvYXJkVGFiOiBUYWI8c3RyaW5nPiA9IHtcbiAgZmVhdHVyZUlkOiAnbmV3RGFzaGJvYXJkJyxcbiAgaWNvbjogJ3RoJyxcbiAgbGFiZWw6IGdldHRleHQoJ05ldyBkYXNoYm9hcmQnKSxcbiAgcGF0aDogJ2Rhc2hib2FyZC9uZXctZGFzaGJvYXJkJyxcbiAgLy8gcGxhY2UgdGFiIGFzIGxhc3Qgb25lIGFuZCBoaWRlIGl0IHNvIGl0IHdvbid0IGJlIG9wZW5lZCB1bnRpbCB1c2VyIGluaXRpYXRlcyBhZGRpbmcgbmV3IGRhc2hib2FyZFxuICBoaWRlOiB0cnVlLFxuICBwcmlvcml0eTogLUluZmluaXR5XG59O1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIE5ld0Rhc2hib2FyZEd1YXJkIHtcbiAgdGFiOiBUYWI7XG5cbiAgY2FuQWN0aXZhdGUocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpOiBPYnNlcnZhYmxlPGJvb2xlYW4gfCBUYWJbXT4ge1xuICAgIGNvbnN0IHRhYkFjdGl2ZSA9IHJvdXRlLnJvdXRlQ29uZmlnLnBhdGggPT09IG5ld0Rhc2hib2FyZFRhYi5wYXRoO1xuICAgIGlmICh0YWJBY3RpdmUpIHtcbiAgICAgIGNvbnN0IGRhc2hib2FyZDogUGFydGlhbDxDb250ZXh0RGFzaGJvYXJkTWFuYWdlZE9iamVjdD4gPSB7XG4gICAgICAgIGM4eV9EYXNoYm9hcmQ6IG51bGxcbiAgICAgIH07XG4gICAgICByb3V0ZS5kYXRhID0geyBkYXNoYm9hcmQgfTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLnRhYikge1xuICAgICAgdGhpcy50YWIgPSB7XG4gICAgICAgIC4uLm5ld0Rhc2hib2FyZFRhYixcbiAgICAgICAgaGlkZTogIXRhYkFjdGl2ZSxcbiAgICAgICAgcHJpb3JpdHk6IHRhYkFjdGl2ZSA/IEluZmluaXR5IDogLUluZmluaXR5XG4gICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4gb2YoW3RoaXMudGFiXSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -55,4 +55,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
|
|
|
55
55
|
}], injector: [{
|
|
56
56
|
type: Input
|
|
57
57
|
}] } });
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvcmUvYWN0aW9uL2FjdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9jb3JlL2FjdGlvbi9hY3Rpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxtQkFBbUIsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7OztBQUdqRDs7Ozs7Ozs7R0FRRztBQUtILE1BQU0sT0FBTyxlQUFlO0lBb0IxQixZQUNVLGFBQTRCLEVBQ3BDLFNBQThCO1FBRHRCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBcEJ0Qzs7V0FFRztRQUNNLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDMUI7O1dBRUc7UUFDTSxhQUFRLEdBQUcsQ0FBQyxDQUFDO1FBZ0JwQixJQUFJLENBQUMsUUFBUSxHQUFHLFNBQVMsQ0FBQztJQUM1QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxlQUFlO1FBQ2IsSUFBSSxDQUFDLGVBQWUsR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsSUFBYyxDQUFDLENBQUMsQ0FBQztJQUNsRixDQUFDO0lBRUQ7O09BRUc7SUFDSCxXQUFXO1FBQ1QsWUFBWSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFjLENBQUMsQ0FBQztJQUM1QyxDQUFDOzhHQXhDVSxlQUFlO2tHQUFmLGVBQWUsb1BDbEI1Qix5RkFJYzs7MkZEY0QsZUFBZTtrQkFKM0IsU0FBUzsrQkFDRSxZQUFZO29IQU9iLFFBQVE7c0JBQWhCLEtBQUs7Z0JBSUcsUUFBUTtzQkFBaEIsS0FBSztnQkFJRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRW9DLFFBQVE7c0JBQWpELFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFFL0IsUUFBUTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRW52aXJvbm1lbnRJbmplY3RvciwgSW5qZWN0b3IsIElucHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGlvbiwgQWN0aW9uV2l0aFRlbXBsYXRlIH0gZnJvbSAnLi9hY3Rpb24ubW9kZWwnO1xuaW1wb3J0IHsgQWN0aW9uU2VydmljZSB9IGZyb20gJy4vYWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3VwcG9ydGVkSWNvbnNTdWdnZXN0aW9ucyB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMvaWNvbi1zZWxlY3Rvci9pY29ucyc7XG5cbi8qKlxuICogQSA8Yzh5LWFjdGlvbj4gY2FuIGJlIGFkZGVkIHdpdGggY29udGVudCBwcm9qZWN0aW9uLlxuICpcbiAqIGBgYGh0bWxcbiAqIDxjOHktYWN0aW9uPlxuICogICA8YnV0dG9uIGNsYXNzPVwiYnRuXCIgKGNsaWNrKT1cIm15QWN0aW9uKClcIj5NeSBhY3Rpb248L2J1dHRvbj5cbiAqIDwvYzh5LWFjdGlvbj5cbiAqIGBgYFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjOHktYWN0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FjdGlvbi5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgQWN0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgQWN0aW9uV2l0aFRlbXBsYXRlIHtcbiAgLyoqXG4gICAqIElzIHRoaXMgYWN0aW9uIGRpc2FibGVkLlxuICAgKi9cbiAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcbiAgLyoqXG4gICAqIFRoZSBwcmlvcml0eSBvZiB0aGlzIGFjdGlvbiAodGhlIGhpZ2hlciB0aGUgbnVtYmVyLCB0aGUgaGlnaGVyIHRoZSBhY3Rpb24gd2lsbCBiZSBkaXNwbGF5ZWQ7IG9wdGlvbmFsKVxuICAgKi9cbiAgQElucHV0KCkgcHJpb3JpdHkgPSAwO1xuICAvKipcbiAgICogVGhlIGljb24gdG8gc2hvdyBvbiB0aGlzIGFjdGlvblxuICAgKi9cbiAgQElucHV0KCkgaWNvbjogU3VwcG9ydGVkSWNvbnNTdWdnZXN0aW9ucztcblxuICBAVmlld0NoaWxkKCd0ZW1wbGF0ZScsIHsgc3RhdGljOiBmYWxzZSB9KSB0ZW1wbGF0ZTogYW55O1xuXG4gIEBJbnB1dCgpIGluamVjdG9yOiBJbmplY3RvcjtcblxuICBwcml2YXRlIHZpZXdJbml0VGltZW91dDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGFjdGlvblNlcnZpY2U6IEFjdGlvblNlcnZpY2UsXG4gICAgX2luamVjdG9yOiBFbnZpcm9ubWVudEluamVjdG9yXG4gICkge1xuICAgIHRoaXMuaW5qZWN0b3IgPSBfaW5qZWN0b3I7XG4gIH1cblxuICAvKipcbiAgICogQWZ0ZXIgcGFnZSB2aWV3IGlzIGluaXRpYWxpemVkLCBjb21wb25lbnQgYWRkcyBpdHNlbGYgdG8gZ2xvYmFsIGFjdGlvbiBsaXN0LlxuICAgKi9cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMudmlld0luaXRUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB0aGlzLmFjdGlvblNlcnZpY2UuYWRkKHRoaXMgYXMgQWN0aW9uKSk7XG4gIH1cblxuICAvKipcbiAgICogQWN0aW9uIGlzIHJlbW92ZWQgZnJvbSBnbG9iYWwgYWN0aW9uIGxpc3QsIGlmIGNvbXBvbmVudCBpcyBub3QgdXNlZCBhbnltb3JlLlxuICAgKi9cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgY2xlYXJUaW1lb3V0KHRoaXMudmlld0luaXRUaW1lb3V0KTtcbiAgICB0aGlzLmFjdGlvblNlcnZpY2UucmVtb3ZlKHRoaXMgYXMgQWN0aW9uKTtcbiAgfVxufVxuIiwiPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZT5cbiAgPGxpPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9saT5cbjwvbmctdGVtcGxhdGU+Il19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29yZS9hY3Rpb24vYWN0aW9uLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RvciwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRXh0ZW5zaW9uRmFjdG9yeSB9IGZyb20gJy4uL2NvbW1vbi9leHRlbnNpb24taG9va3MnO1xuaW1wb3J0IHsgU3VwcG9ydGVkSWNvbnNTdWdnZXN0aW9ucyB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMvaWNvbi1zZWxlY3Rvci9pY29ucyc7XG5cbi8qKlxuICogQW4gYWN0aW9uIGlzIGEgZ2xvYmFsIG9wZXJhdGlvbiB3aGljaCB5b3UgY2FuXG4gKiBhZGQgdG8gdGhlIHBsdXMgc2lnbiBpbiB0aGUgdXBwZXIgcmlnaHQgY29ybmVyXG4gKiBvciBhbnkgY3VzdG9tIGNvbXBvbmVudCBhZGRlZCB0byB0aGUgaGVhZGVyLlxuICovXG5leHBvcnQgdHlwZSBBY3Rpb24gPSBBY3Rpb25XaXRoTGFiZWxBbmRGdW5jdGlvbiB8IEFjdGlvbldpdGhUZW1wbGF0ZSB8IEFjdGlvbldpdGhDb21wb25lbnQ7XG5cbmludGVyZmFjZSBBY3Rpb25CYXNlIHtcbiAgLyoqXG4gICAqIE9yZGVyaW5nIG9mIHRoZSBhY3Rpb25zIChoaWdoIG51bWJlciBmaXJzdCkgKG9wdGlvbmFsKVxuICAgKi9cbiAgcHJpb3JpdHk/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBJcyB0aGF0IGFjdGlvbiBkaXNhYmxlZC5cbiAgICovXG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFRoZSBpbmplY3RvciB0byB1c2UuIElmIG5vdCBzZXQsIHRoZSBkZWZhdWx0IHJvb3QgaW5qZWN0b3Igd2lsbCBiZSB1c2VkLlxuICAgKi9cbiAgaW5qZWN0b3I/OiBJbmplY3Rvcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBY3Rpb25XaXRoTGFiZWxBbmRGdW5jdGlvbiBleHRlbmRzIEFjdGlvbkJhc2Uge1xuICAvKipcbiAgICogVGhlIGxhYmVsIG9mIHRoZSBhY3Rpb24sIFtbQWN0aW9uV2l0aExhYmVsQW5kRnVuY3Rpb25dXSBhY3Rpb25zIGFyZSBjb21iaW5lZCBpbiBhIFwiYWRkXCItYnV0dG9uIGRyb3Bkb3duLlxuICAgKi9cbiAgbGFiZWw6IHN0cmluZztcbiAgLyoqXG4gICAqIFdoaWNoIGFjdGlvbiB0byB0cmlnZ2VyIG9uIGNsaWNrXG4gICAqL1xuICBhY3Rpb246ICguLi5hcmdzKSA9PiB2b2lkO1xuICAvKipcbiAgICogVGhlIGljb24gdG8gc2hvdyBvbiB0aGlzIGFjdGlvbiAob3B0aW9uYWwpXG4gICAqL1xuICBpY29uPzogU3VwcG9ydGVkSWNvbnNTdWdnZXN0aW9ucztcbiAgdGVtcGxhdGU/OiBuZXZlcjtcbiAgY29tcG9uZW50PzogbmV2ZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWN0aW9uV2l0aFRlbXBsYXRlIGV4dGVuZHMgQWN0aW9uQmFzZSB7XG4gIC8qKlxuICAgKiBBIHRlbXBsYXRlIHRoYXQgc2hvdWxkIGJlIHJlbmRlcmVkIGFzIHRoZSBhY3Rpb24uIFtbQWN0aW9uV2l0aFRlbXBsYXRlXV0gYWN0aW9uc1xuICAgKiBhcmUgY29tYmluZWQgaW4gYSBcImFkZFwiLWJ1dHRvbiBkcm9wZG93bi5cbiAgICogTm90ZTogQXMgYSBBY3Rpb24gaXMgcmVuZGVyZWQgaW4gYSA8bGk+IGl0IGlzIGdvb2QgcHJhY3RpY2VcbiAgICogdG8gcmVtb3ZlIHRoZSB3cmFwcGVyIG5vZGUgdG8gbm90IHJ1biBpbnRvIENTUyBpc3N1ZXMuIFlvdVxuICAgKiBjYW4gZG8gc28gYnkgZGVmaW5pbmcgdGhlIHNlbGVjdG9yIGFzIGEgbGk6IGBsaVtjdXN0b21FeHRlbnNpb25dYFxuICAgKiAoc2VlOiBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL2EvNTY4ODc2MzAvOTIzMjcwIG9yXG4gICAqIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vYS8zODcxNjE2NC85MjMyNzApXG4gICAqL1xuICB0ZW1wbGF0ZTogYW55O1xuICAvKipcbiAgICogVGhlIGljb24gdG8gc2hvdyBvbiB0aGlzIGFjdGlvbiAob3B0aW9uYWwpXG4gICAqL1xuICBpY29uPzogU3VwcG9ydGVkSWNvbnNTdWdnZXN0aW9ucztcbiAgbGFiZWw/OiBuZXZlcjtcbiAgYWN0aW9uPzogbmV2ZXI7XG4gIGNvbXBvbmVudD86IG5ldmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFjdGlvbldpdGhDb21wb25lbnQgZXh0ZW5kcyBBY3Rpb25CYXNlIHtcbiAgLyoqXG4gICAqIEEgY29tcG9uZW50IHRoYXQgc2hvdWxkIGJlIHJlbmRlcmVkIGFzIHRoZSBhY3Rpb24uIFRoaXMgY29tcG9uZW50IHdvdWxkIGJlIHNob3duXG4gICAqIGRpcmVjdGx5IGluIHRoZSBoZWFkZXIgYmFyLlxuICAgKi9cbiAgY29tcG9uZW50OiBUeXBlPGFueT47XG4gIHRlbXBsYXRlPzogbmV2ZXI7XG4gIGxhYmVsPzogbmV2ZXI7XG4gIGFjdGlvbj86IG5ldmVyO1xuICBpY29uPzogbmV2ZXI7XG59XG5cbi8qKlxuICogRmFjdG9yeSB0byBpbXBsZW1lbnQgaWYgdXNlZCBpbiBhIGhvb2sgZm9yIE11bHRpIFByb3ZpZGVyIGV4dGVuc2lvbi5cbiAqL1xuZXhwb3J0IHR5cGUgQWN0aW9uRmFjdG9yeSA9IEV4dGVuc2lvbkZhY3Rvcnk8QWN0aW9uPjtcbiJdfQ==
|
|
@@ -159,7 +159,7 @@ export class BootstrapComponent {
|
|
|
159
159
|
this.pluginsResolve.markPluginsAsLoaded();
|
|
160
160
|
}
|
|
161
161
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BootstrapComponent, deps: [{ token: i1.TabsService }, { token: i2.AppStateService }, { token: i3.NavigatorService }, { token: i4.ActionBarService }, { token: i5.HeaderService }, { token: i6.OptionsService }, { token: i7.PluginsResolveService }, { token: i8.SetupService }, { token: i9.LoginService }, { token: i10.TranslationLoaderService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
162
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BootstrapComponent, selector: "c8y-bootstrap", ngImport: i0, template: "<c8y-message-banner\n *ngIf=\"!(showLogin$ | async)\"\n class=\"c8y-message-banner\"\n></c8y-message-banner>\n<c8y-login *ngIf=\"showLogin$ | async\"></c8y-login>\n\n<div\n class=\"init-load\"\n *ngIf=\"showLoadingIndicator$ | async\"\n>\n <div class=\"spinner-snake\"></div>\n <div class=\"mainlogo-placeholder mainlogo\"></div>\n</div>\n\n<div\n [class.head-open]=\"headerService.headerOpen\"\n *ngIf=\"showMainView$ | async\"\n>\n <c8y-header-bar\n *ngIf=\"!headerService.hideHeader\"\n #header\n ></c8y-header-bar>\n <c8y-drawer-outlet\n [tabindex]=\"(headerService.navigatorOpen$ | async) ? '0' : '-1'\"\n role=\"region\"\n position=\"left\"\n data-cy=\"bootstrap.template--c8y-drawer-outlet\"\n [open]=\"headerService.navigatorOpen$ | async\"\n ></c8y-drawer-outlet>\n\n <div class=\"alerts\">\n <c8y-alert-outlet></c8y-alert-outlet>\n </div>\n <c8y-tabs-outlet\n role=\"navigation\"\n #tabsComponent\n [tabs]=\"tabs.items$ | async\"\n [hasHeader]=\"tabsComponent.hasHeader\"\n [navigatorOpen]=\"headerService.navigatorOpen$ | async\"\n [orientation]=\"tabs.orientation$ | async\"\n ></c8y-tabs-outlet>\n <c8y-action-bar\n role=\"group\"\n #actionBarComponent\n [navigatorOpen]=\"headerService.navigatorOpen$ | async\"\n [hasTabs]=\"tabsComponent.hasTabs\"\n [hasHeader]=\"tabsComponent.hasHeader\"\n [isTabsHorizontal]=\"tabsComponent?.isHorizontal\"\n [items$]=\"actionBar.items$\"\n ></c8y-action-bar>\n\n <div\n class=\"mcontainer\"\n [ngClass]=\"{\n open: headerService.navigatorOpen$ | async,\n 'no-apps-margin': noAppsMargin$ | async,\n 'horizontal-tabs': tabsComponent.isHorizontal,\n 'vertical-tabs': !tabsComponent.isHorizontal,\n 'has-tabs': tabsComponent.hasTabs,\n 'has-action-bar': !actionBarComponent?.hidden,\n 'has-header': headerService.hideHeader\n }\"\n >\n <main\n class=\"container-fluid\"\n id=\"main-content\"\n tabindex=\"-1\"\n >\n <router-outlet></router-outlet>\n <ng-content select=\"#c8y-legacy-view\"></ng-content>\n <!-- legacy ng-view, will not be migrated atm -->\n </main>\n </div>\n</div>\n\n<div *ngIf=\"showSetup$ | async\">\n <c8y-header-bar\n *ngIf=\"!headerService.hideHeader\"\n [simple]=\"true\"\n ></c8y-header-bar>\n <div class=\"alerts\">\n <c8y-alert-outlet></c8y-alert-outlet>\n </div>\n <div\n class=\"mcontainer\"\n role=\"main\"\n >\n <div class=\"container-fluid\">\n <c8y-setup></c8y-setup>\n </div>\n </div>\n</div>\n\n<c8y-cookie-banner></c8y-cookie-banner>\n", dependencies: [{ kind: "directive", type: i11.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i11.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i12.HeaderBarComponent, selector: "c8y-header-bar", inputs: ["simple"] }, { kind: "component", type: i13.LoginComponent, selector: "c8y-login", inputs: ["name"] }, { kind: "directive", type: i14.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: i15.TabsOutletComponent, selector: "c8y-tabs-outlet,c8y-ui-tabs", inputs: ["tabs", "orientation", "navigatorOpen", "outletName", "context", "hasHeader"] }, { kind: "component", type: i16.ActionBarComponent, selector: "c8y-action-bar", inputs: ["navigatorOpen", "hasTabs", "hasHeader", "isTabsHorizontal", "items$"] }, { kind: "component", type: i17.AlertOutletComponent, selector: "c8y-alert-outlet" }, { kind: "component", type: i18.SetupComponent, selector: "c8y-setup" }, { kind: "component", type: i19.DrawerOutletComponent, selector: "c8y-drawer-outlet", inputs: ["position", "open"] }, { kind: "component", type: i20.CookieBannerComponent, selector: "c8y-cookie-banner" }, { kind: "component", type: i21.MessageBannerComponent, selector: "c8y-message-banner" }, { kind: "pipe", type: i11.AsyncPipe, name: "async" }] }); }
|
|
162
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BootstrapComponent, selector: "c8y-bootstrap", ngImport: i0, template: "<c8y-message-banner\n *ngIf=\"!(showLogin$ | async)\"\n class=\"c8y-message-banner\"\n></c8y-message-banner>\n<c8y-login *ngIf=\"showLogin$ | async\"></c8y-login>\n\n<div\n class=\"init-load\"\n *ngIf=\"showLoadingIndicator$ | async\"\n>\n <div class=\"spinner-snake\"></div>\n <div class=\"mainlogo-placeholder mainlogo\"></div>\n</div>\n\n<div\n [class.head-open]=\"headerService.headerOpen\"\n *ngIf=\"showMainView$ | async\"\n>\n <c8y-header-bar\n *ngIf=\"!headerService.hideHeader\"\n #header\n ></c8y-header-bar>\n <c8y-drawer-outlet\n [tabindex]=\"(headerService.navigatorOpen$ | async) ? '0' : '-1'\"\n role=\"region\"\n position=\"left\"\n data-cy=\"bootstrap.template--c8y-drawer-outlet\"\n [open]=\"headerService.navigatorOpen$ | async\"\n ></c8y-drawer-outlet>\n\n <div class=\"alerts\">\n <c8y-alert-outlet></c8y-alert-outlet>\n </div>\n <c8y-tabs-outlet\n role=\"navigation\"\n #tabsComponent\n [tabs]=\"tabs.items$ | async\"\n [hasHeader]=\"tabsComponent.hasHeader\"\n [navigatorOpen]=\"headerService.navigatorOpen$ | async\"\n [orientation]=\"tabs.orientation$ | async\"\n ></c8y-tabs-outlet>\n <c8y-action-bar\n role=\"group\"\n #actionBarComponent\n [navigatorOpen]=\"headerService.navigatorOpen$ | async\"\n [hasTabs]=\"tabsComponent.hasTabs\"\n [hasHeader]=\"tabsComponent.hasHeader\"\n [isTabsHorizontal]=\"tabsComponent?.isHorizontal\"\n [items$]=\"actionBar.items$\"\n ></c8y-action-bar>\n\n <div\n class=\"mcontainer\"\n [ngClass]=\"{\n open: headerService.navigatorOpen$ | async,\n 'no-apps-margin': noAppsMargin$ | async,\n 'horizontal-tabs': tabsComponent.isHorizontal,\n 'vertical-tabs': !tabsComponent.isHorizontal,\n 'has-tabs': tabsComponent.hasTabs,\n 'has-action-bar': !actionBarComponent?.hidden,\n 'has-header': headerService.hideHeader\n }\"\n >\n <main\n class=\"container-fluid\"\n id=\"main-content\"\n tabindex=\"-1\"\n >\n <router-outlet></router-outlet>\n <ng-content select=\"#c8y-legacy-view\"></ng-content>\n <!-- legacy ng-view, will not be migrated atm -->\n </main>\n </div>\n</div>\n\n<div *ngIf=\"showSetup$ | async\">\n <c8y-header-bar\n *ngIf=\"!headerService.hideHeader\"\n [simple]=\"true\"\n ></c8y-header-bar>\n <div class=\"alerts\">\n <c8y-alert-outlet></c8y-alert-outlet>\n </div>\n <div\n class=\"mcontainer\"\n role=\"main\"\n >\n <div class=\"container-fluid\">\n <c8y-setup></c8y-setup>\n </div>\n </div>\n</div>\n\n<c8y-cookie-banner></c8y-cookie-banner>\n", dependencies: [{ kind: "directive", type: i11.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i11.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i12.HeaderBarComponent, selector: "c8y-header-bar", inputs: ["simple"] }, { kind: "component", type: i13.LoginComponent, selector: "c8y-login", inputs: ["name"] }, { kind: "directive", type: i14.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: i15.TabsOutletComponent, selector: "c8y-tabs-outlet,c8y-ui-tabs", inputs: ["tabs", "orientation", "navigatorOpen", "outletName", "context", "openFirstTab", "hasHeader"] }, { kind: "component", type: i16.ActionBarComponent, selector: "c8y-action-bar", inputs: ["navigatorOpen", "hasTabs", "hasHeader", "isTabsHorizontal", "items$"] }, { kind: "component", type: i17.AlertOutletComponent, selector: "c8y-alert-outlet" }, { kind: "component", type: i18.SetupComponent, selector: "c8y-setup" }, { kind: "component", type: i19.DrawerOutletComponent, selector: "c8y-drawer-outlet", inputs: ["position", "open"] }, { kind: "component", type: i20.CookieBannerComponent, selector: "c8y-cookie-banner" }, { kind: "component", type: i21.MessageBannerComponent, selector: "c8y-message-banner" }, { kind: "pipe", type: i11.AsyncPipe, name: "async" }] }); }
|
|
163
163
|
}
|
|
164
164
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BootstrapComponent, decorators: [{
|
|
165
165
|
type: Component,
|
|
@@ -24,4 +24,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
|
|
|
24
24
|
type: ViewChild,
|
|
25
25
|
args: ['template', { static: false }]
|
|
26
26
|
}] } });
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvcmUvYnJlYWRjcnVtYi9icmVhZGNydW1iLWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vY29yZS9icmVhZGNydW1iL2JyZWFkY3J1bWItaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU8zRixNQUFNLE9BQU8sdUJBQXVCO0lBcUJsQyxZQUFZLFNBQThCO1FBQ3hDLElBQUksQ0FBQyxRQUFRLEdBQUcsU0FBUyxDQUFDO0lBQzVCLENBQUM7OEdBdkJVLHVCQUF1QjtrR0FBdkIsdUJBQXVCLHVRQ1BwQyxzRUFFYzs7MkZES0QsdUJBQXVCO2tCQUpuQyxTQUFTOytCQUNFLHFCQUFxQjt3RkFPdEIsSUFBSTtzQkFBWixLQUFLO2dCQUtHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBSUcsS0FBSztzQkFBYixLQUFLO2dCQUlHLElBQUk7c0JBQVosS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNvQyxRQUFRO3NCQUFqRCxTQUFTO3VCQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVudmlyb25tZW50SW5qZWN0b3IsIEluamVjdG9yLCBJbnB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdXBwb3J0ZWRJY29uc1N1Z2dlc3Rpb25zIH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cy9pY29uLXNlbGVjdG9yL2ljb25zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYzh5LWJyZWFkY3J1bWItaXRlbScsXG4gIHRlbXBsYXRlVXJsOiAnLi9icmVhZGNydW1iLWl0ZW0uY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEJyZWFkY3J1bWJJdGVtQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIEljb24gdG8gZGlzcGxheSBpbiB0aGUgYnJlYWRjcnVtYiBpdGVtLlxuICAgKi9cbiAgQElucHV0KCkgaWNvbjogU3VwcG9ydGVkSWNvbnNTdWdnZXN0aW9ucztcbiAgLyoqXG4gICAqIERldGVybWluZXMgaWYgdGhlIGxhYmVsIHNob3VsZCBiZSB0cmFuc2xhdGVkLiBTZXQgdG8gdHJ1ZSB0byBlbmFibGUgdHJhbnNsYXRpb24uXG4gICAqIFRyYW5zbGF0aW9uIG9jY3VycyBpZiB0cmFuc2xhdGVkIHRleHQgaXMgYXZhaWxhYmxlLlxuICAgKi9cbiAgQElucHV0KCkgdHJhbnNsYXRlOiBib29sZWFuO1xuICAvKipcbiAgICogVGhlIGxhYmVsIHRleHQgb2YgdGhlIGJyZWFkY3J1bWIgaXRlbS4gVGhpcyBpcyBkaXNwbGF5ZWQgdG8gdGhlIHVzZXIuXG4gICAqL1xuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIG5hdmlnYXRpb24gcGF0aCB0aGF0IHRoZSBicmVhZGNydW1iIGl0ZW0gbGlua3MgdG8uXG4gICAqL1xuICBASW5wdXQoKSBwYXRoOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGluamVjdG9yOiBJbmplY3RvcjtcbiAgQFZpZXdDaGlsZCgndGVtcGxhdGUnLCB7IHN0YXRpYzogZmFsc2UgfSkgdGVtcGxhdGU6IGFueTtcblxuICBjb25zdHJ1Y3RvcihfaW5qZWN0b3I6IEVudmlyb25tZW50SW5qZWN0b3IpIHtcbiAgICB0aGlzLmluamVjdG9yID0gX2luamVjdG9yO1xuICB9XG59XG4iLCI8bmctdGVtcGxhdGUgI3RlbXBsYXRlPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L25nLXRlbXBsYXRlPiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvcmUvYnJlYWRjcnVtYi9icmVhZGNydW1iLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RvciwgVGVtcGxhdGVSZWYsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEV4dGVuc2lvbkZhY3RvcnkgfSBmcm9tICcuLi9jb21tb24vZXh0ZW5zaW9uLWhvb2tzJztcbmltcG9ydCB7IFN1cHBvcnRlZEljb25zU3VnZ2VzdGlvbnMgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzL2ljb24tc2VsZWN0b3IvaWNvbnMnO1xuXG4vKipcbiAqIEEgY3J1bWIgb2YgdGhlIGJyZWFkY3J1bWIuXG4gKi9cbmV4cG9ydCB0eXBlIEJyZWFkY3J1bWJJdGVtID0gQnJlYWRjcnVtYkl0ZW1XaXRoQ29tcG9uZW50IHwgQnJlYWRjcnVtYkl0ZW1XaXRoTGFiZWw7XG5cbmludGVyZmFjZSBCcmVhZGNydW1iSXRlbUJhc2Uge1xuICAvKipcbiAgICogVGhlIGljb24gdG8gc2hvdyBvbiB0aGlzIEJyZWFkQ3J1bWIgaXRlbS5cbiAgICogVGhlIGljb24gd2lsbCBvbmx5IGJlIGRpc3BsYXllZCBpZiBpdCBpcyB0aGUgZmlyc3QgY3J1bWIuIChvcHRpb25hbClcbiAgICovXG4gIGljb24/OiBTdXBwb3J0ZWRJY29uc1N1Z2dlc3Rpb25zO1xuICAvKipcbiAgICogU2hvdWxkIGl0IGJlIHRyYW5zbGF0ZWQgb3Igbm90LlxuICAgKiBAdG9kbyB2ZXJpZnkgaWYgbmVlZGVkLlxuICAgKiBAZGVwcmVjYXRlZCBPbmx5IG5lZWRlZCBpbiB1cGdyYWRlIGNhc2UuXG4gICAqL1xuICB0cmFuc2xhdGU/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJyZWFkY3J1bWJJdGVtV2l0aExhYmVsIGV4dGVuZHMgQnJlYWRjcnVtYkl0ZW1CYXNlIHtcbiAgLyoqXG4gICAqIFRoZSBsYWJlbCB0byBzaG93IGZvciB0aGF0IGNydW1iLlxuICAgKi9cbiAgbGFiZWw6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBhbmd1bGFyIHJvdXRlIHBhdGggdG8gbmF2aWdhdGUgdG8gb24gY2xpY2suXG4gICAqL1xuICBwYXRoOiBzdHJpbmc7XG4gIHRlbXBsYXRlPzogbmV2ZXI7XG4gIGNvbXBvbmVudD86IG5ldmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJyZWFkY3J1bWJJdGVtV2l0aFRlbXBsYXRlIGV4dGVuZHMgQnJlYWRjcnVtYkl0ZW1CYXNlIHtcbiAgLyoqXG4gICAqIEFuZ3VsYXIgdGVtcGxhdGUgdXNlZCBmb3IgQ29udGVudCBQcm9qZWN0aW9uIChvcHRpb25hbClcbiAgICovXG4gIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBsYWJlbD86IG5ldmVyO1xuICBwYXRoPzogbmV2ZXI7XG4gIGNvbXBvbmVudD86IG5ldmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJyZWFkY3J1bWJJdGVtV2l0aENvbXBvbmVudCBleHRlbmRzIEJyZWFkY3J1bWJJdGVtQmFzZSB7XG4gIC8qKlxuICAgKiBBIGNvbXBvbmVudCB0byB1c2UgYXMgYSBCcmVhZGNydW1iSXRlbS5cbiAgICogTm90ZTogQXMgYSBCcmVhZGNydW1iSXRlbSBpcyByZW5kZXJlZCBpbiBhIDxsaT4gaXQgaXMgZ29vZCBwcmFjdGljZVxuICAgKiB0byByZW1vdmUgdGhlIHdyYXBwZXIgbm9kZSB0byBub3QgcnVuIGludG8gQ1NTIGlzc3Vlcy4gWW91XG4gICAqIGNhbiBkbyBzbyBieSBkZWZpbmluZyB0aGUgc2VsZWN0b3IgYXMgYSBsaTogYGxpW2N1c3RvbUV4dGVuc2lvbl1gXG4gICAqIChzZWU6IGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vYS81Njg4NzYzMC85MjMyNzAgb3JcbiAgICogaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9hLzM4NzE2MTY0LzkyMzI3MClcbiAgICovXG4gIGNvbXBvbmVudDogVHlwZTxhbnk+O1xuICAvKipcbiAgICogVGhlIGluamVjdG9yIHRvIHVzZS4gSWYgbm90IHNldCwgdGhlIGRlZmF1bHQgcm9vdCBpbmplY3RvciB3aWxsIGJlIHVzZWQuXG4gICAqL1xuICBpbmplY3Rvcj86IEluamVjdG9yO1xuICBsYWJlbD86IG5ldmVyO1xuICBwYXRoPzogbmV2ZXI7XG4gIHRlbXBsYXRlPzogbmV2ZXI7XG59XG5cbi8qKlxuICogT25lIFBhZ2UgY2FuIGhhdmUgbXVsdGlwbGUgQnJlYWRjcnVtYiBwYXRocyBjb21wb25lbnRzLlxuICogRS5nLiBBIGRldmljZSB3aGljaCBpcyBpbiBtdWx0aXBsZSBmb2xkZXJzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJyZWFkY3J1bWIge1xuICAvKipcbiAgICogVGhlIGNydW1icy5cbiAgICovXG4gIGl0ZW1zOiBCcmVhZGNydW1iSXRlbVtdO1xuICAvKipcbiAgICogVGhlIGluamVjdG9yIHRvIHVzZS4gSWYgbm90IHNldCwgdGhlIGRlZmF1bHQgcm9vdCBpbmplY3RvciB3aWxsIGJlIHVzZWQuXG4gICAqL1xuICBpbmplY3Rvcj86IEluamVjdG9yO1xuICAvKipcbiAgICogVGhlIGJyZWFkY3J1bWJzIHdpdGggdGhlIGhpZ2hlc3QgcHJpb3JpdHkgd2lsbCBiZSBzaG93biBmaXJzdC5cbiAgICovXG4gIHByaW9yaXR5PzogbnVtYmVyO1xufVxuXG4vKipcbiAqIEZhY3RvcnkgdG8gaW1wbGVtZW50IGlmIHVzZWQgaW4gYSBob29rIGZvciBNdWx0aSBQcm92aWRlciBleHRlbnNpb24uXG4gKi9cbmV4cG9ydCB0eXBlIEJyZWFkY3J1bWJGYWN0b3J5ID0gRXh0ZW5zaW9uRmFjdG9yeTxCcmVhZGNydW1iPjtcbiJdfQ==
|