@c8y/ngx-components 1021.60.0 → 1021.62.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/alarms/alarm-details.component.d.ts +0 -4
- package/alarms/alarm-details.component.d.ts.map +1 -1
- package/core/authentication/new-password.component.d.ts +6 -3
- package/core/authentication/new-password.component.d.ts.map +1 -1
- package/core/common/interval-based-reload.abstract.d.ts +12 -1
- package/core/common/interval-based-reload.abstract.d.ts.map +1 -1
- package/core/common/permissions.service.d.ts +2 -0
- package/core/common/permissions.service.d.ts.map +1 -1
- package/core/common/tenant-ui.service.d.ts +9 -2
- package/core/common/tenant-ui.service.d.ts.map +1 -1
- package/core/forms/phone-validation.directive.d.ts +3 -6
- package/core/forms/phone-validation.directive.d.ts.map +1 -1
- package/core/router/router.module.d.ts.map +1 -1
- package/device-provisioned-certificates/device-provisioned-certificates.service.d.ts.map +1 -1
- package/esm2022/alarms/alarm-details.component.mjs +10 -10
- package/esm2022/core/authentication/new-password.component.mjs +26 -5
- package/esm2022/core/common/interval-based-reload.abstract.mjs +50 -2
- package/esm2022/core/common/permissions.service.mjs +3 -1
- package/esm2022/core/common/tenant-ui.service.mjs +28 -6
- package/esm2022/core/forms/phone-validation.directive.mjs +18 -19
- package/esm2022/core/router/router.module.mjs +1 -5
- package/esm2022/core/user/user-edit.component.mjs +1 -1
- package/esm2022/device-provisioned-certificates/device-provisioned-certificates.service.mjs +8 -3
- package/esm2022/tenants/custom-properties/custom-properties.component.mjs +25 -5
- package/esm2022/tenants/existing-tenant.guard.mjs +18 -0
- package/esm2022/tenants/index.mjs +3 -1
- package/esm2022/tenants/support-user-access/support-user-access.component.mjs +31 -0
- package/esm2022/tenants/tenant-form/tenant-form-inputs-definitions.mjs +116 -0
- package/esm2022/tenants/tenant-form/tenant-form.component.mjs +294 -0
- package/esm2022/tenants/tenant-limits/tenant-limits-definitions.mjs +10 -17
- package/esm2022/tenants/tenant-limits/tenant-limits.component.mjs +42 -29
- package/esm2022/tenants/tenant-list/tenant-list.component.mjs +17 -8
- package/esm2022/tenants/tenants.model.mjs +30 -1
- package/esm2022/tenants/tenants.module.mjs +57 -22
- package/esm2022/translation-editor/data/translation-store.service.mjs +11 -8
- package/esm2022/translation-editor/index.mjs +22 -5
- package/esm2022/translation-editor/lazy/advanced-translation-editor/advanced-translation-editor.component.mjs +136 -0
- package/esm2022/translation-editor/lazy/index.mjs +2 -1
- package/esm2022/translation-editor/translation-editor-tab-factory.service.mjs +40 -0
- package/esm2022/translation-editor/translation-editor.constants.mjs +4 -0
- package/esm2022/upgrade/upgraded-services/index.mjs +2 -1
- package/esm2022/upgrade/upgraded-services/tenant-policies.service.mjs +11 -0
- package/esm2022/upgrade/upgraded-services/upgraded-services.module.mjs +12 -3
- package/esm2022/widgets/implementations/alarms/alarm-widget-alarms-reload.component.mjs +9 -7
- package/esm2022/widgets/implementations/datapoints-table/datapoints-table-view/datapoints-reload/datapoints-reload.component.mjs +9 -7
- package/fesm2022/c8y-ngx-components-alarms.mjs +5 -5
- package/fesm2022/c8y-ngx-components-alarms.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-device-provisioned-certificates.mjs +7 -2
- package/fesm2022/c8y-ngx-components-device-provisioned-certificates.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-tenants.mjs +603 -82
- package/fesm2022/c8y-ngx-components-tenants.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-translation-editor-data.mjs +9 -6
- package/fesm2022/c8y-ngx-components-translation-editor-data.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-translation-editor-lazy.mjs +127 -2
- package/fesm2022/c8y-ngx-components-translation-editor-lazy.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-translation-editor.mjs +58 -4
- package/fesm2022/c8y-ngx-components-translation-editor.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-upgrade-upgraded-services.mjs +22 -3
- package/fesm2022/c8y-ngx-components-upgrade-upgraded-services.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-alarms.mjs +8 -6
- package/fesm2022/c8y-ngx-components-widgets-implementations-alarms.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-table.mjs +8 -6
- package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-table.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components.mjs +499 -413
- package/fesm2022/c8y-ngx-components.mjs.map +1 -1
- package/locales/de.po +17 -25
- package/locales/es.po +17 -25
- package/locales/fr.po +17 -25
- package/locales/ja_JP.po +17 -25
- package/locales/ko.po +17 -25
- package/locales/locales.pot +34 -24
- package/locales/nl.po +17 -25
- package/locales/pl.po +17 -25
- package/locales/pt_BR.po +17 -25
- package/locales/zh_CN.po +17 -25
- package/locales/zh_TW.po +17 -25
- package/package.json +1 -1
- package/tenants/custom-properties/custom-properties.component.d.ts +4 -2
- package/tenants/custom-properties/custom-properties.component.d.ts.map +1 -1
- package/tenants/existing-tenant.guard.d.ts +13 -0
- package/tenants/existing-tenant.guard.d.ts.map +1 -0
- package/tenants/index.d.ts +2 -0
- package/tenants/index.d.ts.map +1 -1
- package/tenants/support-user-access/support-user-access.component.d.ts +18 -0
- package/tenants/support-user-access/support-user-access.component.d.ts.map +1 -0
- package/tenants/tenant-form/tenant-form-inputs-definitions.d.ts +113 -0
- package/tenants/tenant-form/tenant-form-inputs-definitions.d.ts.map +1 -0
- package/tenants/tenant-form/tenant-form.component.d.ts +79 -0
- package/tenants/tenant-form/tenant-form.component.d.ts.map +1 -0
- package/tenants/tenant-limits/tenant-limits-definitions.d.ts +11 -15
- package/tenants/tenant-limits/tenant-limits-definitions.d.ts.map +1 -1
- package/tenants/tenant-limits/tenant-limits.component.d.ts +9 -7
- package/tenants/tenant-limits/tenant-limits.component.d.ts.map +1 -1
- package/tenants/tenant-list/tenant-list.component.d.ts +6 -3
- package/tenants/tenant-list/tenant-list.component.d.ts.map +1 -1
- package/tenants/tenants.model.d.ts +31 -0
- package/tenants/tenants.model.d.ts.map +1 -1
- package/tenants/tenants.module.d.ts +4 -2
- package/tenants/tenants.module.d.ts.map +1 -1
- package/translation-editor/data/translation-store.service.d.ts +3 -2
- package/translation-editor/data/translation-store.service.d.ts.map +1 -1
- package/translation-editor/index.d.ts.map +1 -1
- package/translation-editor/lazy/advanced-translation-editor/advanced-translation-editor.component.d.ts +28 -0
- package/translation-editor/lazy/advanced-translation-editor/advanced-translation-editor.component.d.ts.map +1 -0
- package/translation-editor/lazy/index.d.ts +1 -0
- package/translation-editor/lazy/index.d.ts.map +1 -1
- package/translation-editor/translation-editor-tab-factory.service.d.ts +22 -0
- package/translation-editor/translation-editor-tab-factory.service.d.ts.map +1 -0
- package/translation-editor/translation-editor.constants.d.ts +4 -0
- package/translation-editor/translation-editor.constants.d.ts.map +1 -0
- package/upgrade/upgraded-services/index.d.ts +1 -0
- package/upgrade/upgraded-services/index.d.ts.map +1 -1
- package/upgrade/upgraded-services/tenant-policies.service.d.ts +11 -0
- package/upgrade/upgraded-services/tenant-policies.service.d.ts.map +1 -0
- package/upgrade/upgraded-services/upgraded-services.module.d.ts.map +1 -1
- package/widgets/implementations/alarms/alarm-widget-alarms-reload.component.d.ts +7 -2
- package/widgets/implementations/alarms/alarm-widget-alarms-reload.component.d.ts.map +1 -1
- package/widgets/implementations/datapoints-table/datapoints-table-view/datapoints-reload/datapoints-reload.component.d.ts +7 -2
- package/widgets/implementations/datapoints-table/datapoints-table-view/datapoints-reload/datapoints-reload.component.d.ts.map +1 -1
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { Router } from '@angular/router';
|
|
3
|
+
import { gettext } from '@c8y/ngx-components/gettext';
|
|
4
|
+
import { translationEditorAdvancedPath, translationEditorBasePath, translationEditorBasicPath } from './translation-editor.constants';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/router";
|
|
7
|
+
export class TranslationEditorTabFactoryService {
|
|
8
|
+
constructor(router) {
|
|
9
|
+
this.router = router;
|
|
10
|
+
this.tabs = [
|
|
11
|
+
{
|
|
12
|
+
label: gettext('Basic'),
|
|
13
|
+
path: `/${translationEditorBasePath}/${translationEditorBasicPath}`,
|
|
14
|
+
priority: 200,
|
|
15
|
+
icon: 'language1'
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
label: gettext('Advanced'),
|
|
19
|
+
path: `/${translationEditorBasePath}/${translationEditorAdvancedPath}`,
|
|
20
|
+
priority: 100,
|
|
21
|
+
icon: 'c8y-css'
|
|
22
|
+
}
|
|
23
|
+
];
|
|
24
|
+
}
|
|
25
|
+
get() {
|
|
26
|
+
if (this.router.url.startsWith(`/${translationEditorBasePath}/`)) {
|
|
27
|
+
return this.tabs;
|
|
28
|
+
}
|
|
29
|
+
return [];
|
|
30
|
+
}
|
|
31
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TranslationEditorTabFactoryService, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
32
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TranslationEditorTabFactoryService, providedIn: 'root' }); }
|
|
33
|
+
}
|
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TranslationEditorTabFactoryService, decorators: [{
|
|
35
|
+
type: Injectable,
|
|
36
|
+
args: [{
|
|
37
|
+
providedIn: 'root'
|
|
38
|
+
}]
|
|
39
|
+
}], ctorParameters: () => [{ type: i1.Router }] });
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24tZWRpdG9yLXRhYi1mYWN0b3J5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90cmFuc2xhdGlvbi1lZGl0b3IvdHJhbnNsYXRpb24tZWRpdG9yLXRhYi1mYWN0b3J5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFekMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3RELE9BQU8sRUFDTCw2QkFBNkIsRUFDN0IseUJBQXlCLEVBQ3pCLDBCQUEwQixFQUMzQixNQUFNLGdDQUFnQyxDQUFDOzs7QUFLeEMsTUFBTSxPQUFPLGtDQUFrQztJQWdCN0MsWUFBb0IsTUFBYztRQUFkLFdBQU0sR0FBTixNQUFNLENBQVE7UUFmeEIsU0FBSSxHQUFHO1lBQ2Y7Z0JBQ0UsS0FBSyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUM7Z0JBQ3ZCLElBQUksRUFBRSxJQUFJLHlCQUF5QixJQUFJLDBCQUEwQixFQUFFO2dCQUNuRSxRQUFRLEVBQUUsR0FBRztnQkFDYixJQUFJLEVBQUUsV0FBVzthQUNsQjtZQUNEO2dCQUNFLEtBQUssRUFBRSxPQUFPLENBQUMsVUFBVSxDQUFDO2dCQUMxQixJQUFJLEVBQUUsSUFBSSx5QkFBeUIsSUFBSSw2QkFBNkIsRUFBRTtnQkFDdEUsUUFBUSxFQUFFLEdBQUc7Z0JBQ2IsSUFBSSxFQUFFLFNBQVM7YUFDaEI7U0FDdUIsQ0FBQztJQUVVLENBQUM7SUFFdEMsR0FBRztRQUNELElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUkseUJBQXlCLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDakUsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ25CLENBQUM7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7K0dBdkJVLGtDQUFrQzttSEFBbEMsa0NBQWtDLGNBRmpDLE1BQU07OzRGQUVQLGtDQUFrQztrQkFIOUMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgRXh0ZW5zaW9uRmFjdG9yeSwgVGFiIH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBnZXR0ZXh0IH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cy9nZXR0ZXh0JztcbmltcG9ydCB7XG4gIHRyYW5zbGF0aW9uRWRpdG9yQWR2YW5jZWRQYXRoLFxuICB0cmFuc2xhdGlvbkVkaXRvckJhc2VQYXRoLFxuICB0cmFuc2xhdGlvbkVkaXRvckJhc2ljUGF0aFxufSBmcm9tICcuL3RyYW5zbGF0aW9uLWVkaXRvci5jb25zdGFudHMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBUcmFuc2xhdGlvbkVkaXRvclRhYkZhY3RvcnlTZXJ2aWNlIGltcGxlbWVudHMgRXh0ZW5zaW9uRmFjdG9yeTxUYWI+IHtcbiAgcHJvdGVjdGVkIHRhYnMgPSBbXG4gICAge1xuICAgICAgbGFiZWw6IGdldHRleHQoJ0Jhc2ljJyksXG4gICAgICBwYXRoOiBgLyR7dHJhbnNsYXRpb25FZGl0b3JCYXNlUGF0aH0vJHt0cmFuc2xhdGlvbkVkaXRvckJhc2ljUGF0aH1gLFxuICAgICAgcHJpb3JpdHk6IDIwMCxcbiAgICAgIGljb246ICdsYW5ndWFnZTEnXG4gICAgfSxcbiAgICB7XG4gICAgICBsYWJlbDogZ2V0dGV4dCgnQWR2YW5jZWQnKSxcbiAgICAgIHBhdGg6IGAvJHt0cmFuc2xhdGlvbkVkaXRvckJhc2VQYXRofS8ke3RyYW5zbGF0aW9uRWRpdG9yQWR2YW5jZWRQYXRofWAsXG4gICAgICBwcmlvcml0eTogMTAwLFxuICAgICAgaWNvbjogJ2M4eS1jc3MnXG4gICAgfVxuICBdIGFzIGNvbnN0IHNhdGlzZmllcyBUYWJbXTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyKSB7fVxuXG4gIGdldCgpOiBUYWJbXSB7XG4gICAgaWYgKHRoaXMucm91dGVyLnVybC5zdGFydHNXaXRoKGAvJHt0cmFuc2xhdGlvbkVkaXRvckJhc2VQYXRofS9gKSkge1xuICAgICAgcmV0dXJuIHRoaXMudGFicztcbiAgICB9XG4gICAgcmV0dXJuIFtdO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export const translationEditorBasePath = 'localization';
|
|
2
|
+
export const translationEditorBasicPath = 'basic';
|
|
3
|
+
export const translationEditorAdvancedPath = 'advanced';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24tZWRpdG9yLmNvbnN0YW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3RyYW5zbGF0aW9uLWVkaXRvci90cmFuc2xhdGlvbi1lZGl0b3IuY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLGNBQWMsQ0FBQztBQUN4RCxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxPQUFPLENBQUM7QUFDbEQsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQUcsVUFBVSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IHRyYW5zbGF0aW9uRWRpdG9yQmFzZVBhdGggPSAnbG9jYWxpemF0aW9uJztcbmV4cG9ydCBjb25zdCB0cmFuc2xhdGlvbkVkaXRvckJhc2ljUGF0aCA9ICdiYXNpYyc7XG5leHBvcnQgY29uc3QgdHJhbnNsYXRpb25FZGl0b3JBZHZhbmNlZFBhdGggPSAnYWR2YW5jZWQnO1xuIl19
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export * from './roles.service';
|
|
2
2
|
export * from './upgraded-services.module';
|
|
3
3
|
export * from './user-inventory-roles.service';
|
|
4
|
-
|
|
4
|
+
export * from './tenant-policies.service';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi91cGdyYWRlL3VwZ3JhZGVkLXNlcnZpY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsMkJBQTJCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3JvbGVzLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi91cGdyYWRlZC1zZXJ2aWNlcy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi91c2VyLWludmVudG9yeS1yb2xlcy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vdGVuYW50LXBvbGljaWVzLnNlcnZpY2UnO1xuIl19
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export class Ng1TenantPoliciesService {
|
|
2
|
+
}
|
|
3
|
+
export function TenantPoliciesFactory(injector) {
|
|
4
|
+
return injector.get('c8yTenantPolicies');
|
|
5
|
+
}
|
|
6
|
+
export const tenantPoliciesServiceProvider = {
|
|
7
|
+
provide: Ng1TenantPoliciesService,
|
|
8
|
+
useFactory: TenantPoliciesFactory,
|
|
9
|
+
deps: ['$injector']
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LXBvbGljaWVzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi91cGdyYWRlL3VwZ3JhZGVkLXNlcnZpY2VzL3RlbmFudC1wb2xpY2llcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBZ0Isd0JBQXdCO0NBRzdDO0FBRUQsTUFBTSxVQUFVLHFCQUFxQixDQUFDLFFBQWE7SUFDakQsT0FBTyxRQUFRLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLENBQUM7QUFDM0MsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHO0lBQzNDLE9BQU8sRUFBRSx3QkFBd0I7SUFDakMsVUFBVSxFQUFFLHFCQUFxQjtJQUNqQyxJQUFJLEVBQUUsQ0FBQyxXQUFXLENBQUM7Q0FDcEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBhYnN0cmFjdCBjbGFzcyBOZzFUZW5hbnRQb2xpY2llc1NlcnZpY2Uge1xuICBhYnN0cmFjdCBsaXN0KCk7XG4gIGFic3RyYWN0IGRvZXNFbmZvcmNlU3Ryb25nUGFzc3dvcmQocG9saWN5T3JJZDogYW55KTogUHJvbWlzZTxib29sZWFuPjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFRlbmFudFBvbGljaWVzRmFjdG9yeShpbmplY3RvcjogYW55KSB7XG4gIHJldHVybiBpbmplY3Rvci5nZXQoJ2M4eVRlbmFudFBvbGljaWVzJyk7XG59XG5cbmV4cG9ydCBjb25zdCB0ZW5hbnRQb2xpY2llc1NlcnZpY2VQcm92aWRlciA9IHtcbiAgcHJvdmlkZTogTmcxVGVuYW50UG9saWNpZXNTZXJ2aWNlLFxuICB1c2VGYWN0b3J5OiBUZW5hbnRQb2xpY2llc0ZhY3RvcnksXG4gIGRlcHM6IFsnJGluamVjdG9yJ11cbn07XG4iXX0=
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { NgModule } from '@angular/core';
|
|
2
2
|
import { rolesServiceProvider } from './roles.service';
|
|
3
3
|
import { userInventoryRolesServiceProvider } from './user-inventory-roles.service';
|
|
4
|
+
import { tenantPoliciesServiceProvider } from './tenant-policies.service';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
/**
|
|
6
7
|
* This module is used for providing upgraded services from AngularJS to Angular. Separate module is created
|
|
@@ -10,12 +11,20 @@ import * as i0 from "@angular/core";
|
|
|
10
11
|
export class UpgradedServicesModule {
|
|
11
12
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UpgradedServicesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
12
13
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: UpgradedServicesModule }); }
|
|
13
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UpgradedServicesModule, providers: [
|
|
14
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UpgradedServicesModule, providers: [
|
|
15
|
+
rolesServiceProvider,
|
|
16
|
+
userInventoryRolesServiceProvider,
|
|
17
|
+
tenantPoliciesServiceProvider
|
|
18
|
+
] }); }
|
|
14
19
|
}
|
|
15
20
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UpgradedServicesModule, decorators: [{
|
|
16
21
|
type: NgModule,
|
|
17
22
|
args: [{
|
|
18
|
-
providers: [
|
|
23
|
+
providers: [
|
|
24
|
+
rolesServiceProvider,
|
|
25
|
+
userInventoryRolesServiceProvider,
|
|
26
|
+
tenantPoliciesServiceProvider
|
|
27
|
+
]
|
|
19
28
|
}]
|
|
20
29
|
}] });
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBncmFkZWQtc2VydmljZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdXBncmFkZS91cGdyYWRlZC1zZXJ2aWNlcy91cGdyYWRlZC1zZXJ2aWNlcy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNuRixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7QUFFMUU7Ozs7R0FJRztBQVFILE1BQU0sT0FBTyxzQkFBc0I7K0dBQXRCLHNCQUFzQjtnSEFBdEIsc0JBQXNCO2dIQUF0QixzQkFBc0IsYUFOdEI7WUFDVCxvQkFBb0I7WUFDcEIsaUNBQWlDO1lBQ2pDLDZCQUE2QjtTQUM5Qjs7NEZBRVUsc0JBQXNCO2tCQVBsQyxRQUFRO21CQUFDO29CQUNSLFNBQVMsRUFBRTt3QkFDVCxvQkFBb0I7d0JBQ3BCLGlDQUFpQzt3QkFDakMsNkJBQTZCO3FCQUM5QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyByb2xlc1NlcnZpY2VQcm92aWRlciB9IGZyb20gJy4vcm9sZXMuc2VydmljZSc7XG5pbXBvcnQgeyB1c2VySW52ZW50b3J5Um9sZXNTZXJ2aWNlUHJvdmlkZXIgfSBmcm9tICcuL3VzZXItaW52ZW50b3J5LXJvbGVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgdGVuYW50UG9saWNpZXNTZXJ2aWNlUHJvdmlkZXIgfSBmcm9tICcuL3RlbmFudC1wb2xpY2llcy5zZXJ2aWNlJztcblxuLyoqXG4gKiBUaGlzIG1vZHVsZSBpcyB1c2VkIGZvciBwcm92aWRpbmcgdXBncmFkZWQgc2VydmljZXMgZnJvbSBBbmd1bGFySlMgdG8gQW5ndWxhci4gU2VwYXJhdGUgbW9kdWxlIGlzIGNyZWF0ZWRcbiAqIHRvIHByZXZlbnQgY2lyY3VsYXIgZGVwZW5kZW5jeSBlcnJvcnMgaW4gbW9yZSBjb21wbGV4IHNpdHVhdGlvbnMsIHdoZXJlIGRvd25ncmFkZWQgTmdYIGNvbXBvbmVudCBpbmplY3RzXG4gKiBOZ0pTIHVwZ3JhZGVkIHNlcnZpY2VzLlxuICovXG5ATmdNb2R1bGUoe1xuICBwcm92aWRlcnM6IFtcbiAgICByb2xlc1NlcnZpY2VQcm92aWRlcixcbiAgICB1c2VySW52ZW50b3J5Um9sZXNTZXJ2aWNlUHJvdmlkZXIsXG4gICAgdGVuYW50UG9saWNpZXNTZXJ2aWNlUHJvdmlkZXJcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBVcGdyYWRlZFNlcnZpY2VzTW9kdWxlIHt9XG4iXX0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ChangeDetectorRef, Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
|
|
2
|
-
import { CountdownIntervalComponent, gettext, IntervalBasedReload, WidgetGlobalAutoRefreshService } from '@c8y/ngx-components';
|
|
2
|
+
import { CountdownIntervalComponent, gettext, IntervalBasedReload, WIDGET_TYPE_VALUES, WidgetGlobalAutoRefreshService, GainsightService } from '@c8y/ngx-components';
|
|
3
3
|
import { AlarmsViewService } from '@c8y/ngx-components/alarms';
|
|
4
4
|
import { TranslateService } from '@ngx-translate/core';
|
|
5
5
|
import { BehaviorSubject } from 'rxjs';
|
|
@@ -12,13 +12,15 @@ import * as i3 from "@c8y/ngx-components";
|
|
|
12
12
|
import * as i4 from "@angular/common";
|
|
13
13
|
import * as i5 from "ngx-bootstrap/tooltip";
|
|
14
14
|
export class AlarmWidgetAlarmsReloadComponent extends IntervalBasedReload {
|
|
15
|
-
constructor(alarmsViewService, cdRef, translateService, widgetGlobalAutoRefreshService) {
|
|
15
|
+
constructor(alarmsViewService, cdRef, translateService, widgetGlobalAutoRefreshService, gainsightService) {
|
|
16
16
|
super();
|
|
17
17
|
this.alarmsViewService = alarmsViewService;
|
|
18
18
|
this.cdRef = cdRef;
|
|
19
19
|
this.translateService = translateService;
|
|
20
20
|
this.widgetGlobalAutoRefreshService = widgetGlobalAutoRefreshService;
|
|
21
|
+
this.gainsightService = gainsightService;
|
|
21
22
|
this.REALTIME_UPDATE_ALARMS_MESSAGE = this.alarmsViewService.REALTIME_UPDATE_ALARMS_MESSAGE;
|
|
23
|
+
this.WIDGET_TYPE_VALUES = WIDGET_TYPE_VALUES;
|
|
22
24
|
/**
|
|
23
25
|
* @inheritdoc
|
|
24
26
|
*/
|
|
@@ -157,13 +159,13 @@ export class AlarmWidgetAlarmsReloadComponent extends IntervalBasedReload {
|
|
|
157
159
|
? this.translateService.instant(gettext('Disable auto refresh'))
|
|
158
160
|
: this.translateService.instant(gettext('Enable auto refresh'));
|
|
159
161
|
}
|
|
160
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AlarmWidgetAlarmsReloadComponent, deps: [{ token: i1.AlarmsViewService }, { token: i0.ChangeDetectorRef }, { token: i2.TranslateService }, { token: i3.WidgetGlobalAutoRefreshService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
161
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AlarmWidgetAlarmsReloadComponent, selector: "c8y-alarm-widget-alarms-reload", inputs: { isIntervalRefresh: "isIntervalRefresh", refreshInterval: "refreshInterval", config: "config", isLoading: "isLoading", isScrolling: "isScrolling", isRefreshDisabled: "isRefreshDisabled" }, outputs: { onCountdownEnded: "onCountdownEnded", onRealTimeToggleChanged: "onRealTimeToggleChanged" }, viewQueries: [{ propertyName: "countdownIntervalComponent", first: true, predicate: CountdownIntervalComponent, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div\n class=\"m-l-auto d-flex p-t-4 p-b-4\"\n *ngIf=\"!globalAutoRefreshEnabled\"\n>\n <div class=\"m-l-auto d-flex a-i-center\">\n <label\n class=\"m-b-0 m-r-8 text-label-small text-truncate flex-no-shrink\"\n title=\" {{ 'Auto refresh' | translate }}\"\n *ngIf=\"isIntervalRefresh && refreshInterval && config.isAutoRefreshEnabled\"\n >\n {{ 'Auto refresh' | translate }}\n </label>\n <div class=\"input-group\">\n <label\n class=\"toggle-countdown\"\n [class.toggle-countdown-disabled]=\"isRefreshDisabled\"\n [attr.aria-label]=\"toggleCountdownButtonTooltipText\"\n [tooltip]=\"toggleCountdownButtonTooltipText\"\n placement=\"bottom\"\n *ngIf=\"isIntervalRefresh && refreshInterval && config.isAutoRefreshEnabled\"\n [adaptivePosition]=\"false\"\n [container]=\"'body'\"\n [delay]=\"500\"\n >\n <input\n type=\"checkbox\"\n data-cy=\"c8y-alarms-widget--interval-toggle-button\"\n (click)=\"onToggleCountdownButtonState($event)\"\n />\n <c8y-countdown-interval\n *ngIf=\"isIntervalRefreshToggleOn\"\n [countdownInterval]=\"refreshInterval\"\n (countdownEnded)=\"countdownEnded()\"\n ></c8y-countdown-interval>\n <i\n c8yIcon=\"pause\"\n *ngIf=\"!isIntervalRefreshToggleOn\"\n ></i>\n </label>\n\n <div class=\"input-group-btn\">\n <button\n class=\"btn btn-default\"\n [attr.aria-label]=\"'Refresh' | translate\"\n [tooltip]=\"\n !isNewAlarmMessageCleared\n ? (REALTIME_UPDATE_ALARMS_MESSAGE | translate)\n : ('Refresh' | translate)\n \"\n placement=\"bottom\"\n type=\"button\"\n [adaptivePosition]=\"false\"\n [container]=\"'body'\"\n [delay]=\"500\"\n [disabled]=\"isRefreshDisabled || (isLoading | async)\"\n (click)=\"reload()\"\n data-cy=\"c8y-alarms-widget--reload-button\"\n >\n <span\n class=\"tag tag--info m-r-8\"\n *ngIf=\"!isNewAlarmMessageCleared\"\n >\n {{ 'New alarms' | translate }}\n </span>\n <i\n c8yIcon=\"refresh\"\n [ngClass]=\"{ 'icon-spin': isLoading | async }\"\n ></i>\n </button>\n </div>\n <div\n class=\"input-group-btn input-group-btn--last\"\n *ngIf=\"!isIntervalRefresh\"\n >\n <button\n class=\"c8y-realtime btn btn-default\"\n [attr.aria-label]=\"realtimeIconTitle\"\n [tooltip]=\"realtimeIconTitle\"\n placement=\"bottom\"\n type=\"button\"\n [container]=\"'body'\"\n (click)=\"toggleRealtimeState()\"\n [disabled]=\"isRefreshDisabled\"\n >\n <span\n class=\"c8y-pulse m-0\"\n [ngClass]=\"{\n active: isRealtimeToggleOn,\n inactive: !isRealtimeToggleOn\n }\"\n ></span>\n </button>\n </div>\n </div>\n </div>\n</div
|
|
162
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AlarmWidgetAlarmsReloadComponent, deps: [{ token: i1.AlarmsViewService }, { token: i0.ChangeDetectorRef }, { token: i2.TranslateService }, { token: i3.WidgetGlobalAutoRefreshService }, { token: i3.GainsightService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
163
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AlarmWidgetAlarmsReloadComponent, selector: "c8y-alarm-widget-alarms-reload", inputs: { isIntervalRefresh: "isIntervalRefresh", refreshInterval: "refreshInterval", config: "config", isLoading: "isLoading", isScrolling: "isScrolling", isRefreshDisabled: "isRefreshDisabled" }, outputs: { onCountdownEnded: "onCountdownEnded", onRealTimeToggleChanged: "onRealTimeToggleChanged" }, viewQueries: [{ propertyName: "countdownIntervalComponent", first: true, predicate: CountdownIntervalComponent, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div\n class=\"m-l-auto d-flex p-t-4 p-b-4\"\n *ngIf=\"!globalAutoRefreshEnabled\"\n>\n <div class=\"m-l-auto d-flex a-i-center\">\n <label\n class=\"m-b-0 m-r-8 text-label-small text-truncate flex-no-shrink\"\n title=\" {{ 'Auto refresh' | translate }}\"\n *ngIf=\"isIntervalRefresh && refreshInterval && config.isAutoRefreshEnabled\"\n >\n {{ 'Auto refresh' | translate }}\n </label>\n <div class=\"input-group\">\n <label\n class=\"toggle-countdown\"\n [class.toggle-countdown-disabled]=\"isRefreshDisabled\"\n [attr.aria-label]=\"toggleCountdownButtonTooltipText\"\n [tooltip]=\"toggleCountdownButtonTooltipText\"\n placement=\"bottom\"\n *ngIf=\"isIntervalRefresh && refreshInterval && config.isAutoRefreshEnabled\"\n [adaptivePosition]=\"false\"\n [container]=\"'body'\"\n [delay]=\"500\"\n >\n <input\n type=\"checkbox\"\n data-cy=\"c8y-alarms-widget--interval-toggle-button\"\n (click)=\"onToggleCountdownButtonState($event, WIDGET_TYPE_VALUES.ALARMS)\"\n />\n <c8y-countdown-interval\n *ngIf=\"isIntervalRefreshToggleOn\"\n [countdownInterval]=\"refreshInterval\"\n (countdownEnded)=\"countdownEnded()\"\n ></c8y-countdown-interval>\n <i\n c8yIcon=\"pause\"\n *ngIf=\"!isIntervalRefreshToggleOn\"\n ></i>\n </label>\n\n <div class=\"input-group-btn\">\n <button\n class=\"btn btn-default\"\n [attr.aria-label]=\"'Refresh' | translate\"\n [tooltip]=\"\n !isNewAlarmMessageCleared\n ? (REALTIME_UPDATE_ALARMS_MESSAGE | translate)\n : ('Refresh' | translate)\n \"\n placement=\"bottom\"\n type=\"button\"\n [adaptivePosition]=\"false\"\n [container]=\"'body'\"\n [delay]=\"500\"\n [disabled]=\"isRefreshDisabled || (isLoading | async)\"\n (click)=\"reload()\"\n data-cy=\"c8y-alarms-widget--reload-button\"\n >\n <span\n class=\"tag tag--info m-r-8\"\n *ngIf=\"!isNewAlarmMessageCleared\"\n >\n {{ 'New alarms' | translate }}\n </span>\n <i\n c8yIcon=\"refresh\"\n [ngClass]=\"{ 'icon-spin': isLoading | async }\"\n ></i>\n </button>\n </div>\n <div\n class=\"input-group-btn input-group-btn--last\"\n *ngIf=\"!isIntervalRefresh\"\n >\n <button\n class=\"c8y-realtime btn btn-default\"\n [attr.aria-label]=\"realtimeIconTitle\"\n [tooltip]=\"realtimeIconTitle\"\n placement=\"bottom\"\n type=\"button\"\n [container]=\"'body'\"\n (click)=\"toggleRealtimeState()\"\n [disabled]=\"isRefreshDisabled\"\n data-cy=\"c8y-alarms-widget--realtime-indicator\"\n >\n <span\n class=\"c8y-pulse m-0\"\n [ngClass]=\"{\n active: isRealtimeToggleOn,\n inactive: !isRealtimeToggleOn\n }\"\n ></span>\n </button>\n </div>\n </div>\n </div>\n</div>", dependencies: [{ kind: "directive", type: i3.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.CountdownIntervalComponent, selector: "c8y-countdown-interval", inputs: ["countdownInterval"], outputs: ["countdownEnded"] }, { kind: "directive", type: i5.TooltipDirective, selector: "[tooltip], [tooltipHtml]", inputs: ["adaptivePosition", "tooltip", "placement", "triggers", "container", "containerClass", "boundariesElement", "isOpen", "isDisabled", "delay", "tooltipHtml", "tooltipPlacement", "tooltipIsOpen", "tooltipEnable", "tooltipAppendToBody", "tooltipAnimation", "tooltipClass", "tooltipContext", "tooltipPopupDelay", "tooltipFadeDuration", "tooltipTrigger"], outputs: ["tooltipChange", "onShown", "onHidden", "tooltipStateChanged"], exportAs: ["bs-tooltip"] }, { kind: "pipe", type: i3.C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }] }); }
|
|
162
164
|
}
|
|
163
165
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AlarmWidgetAlarmsReloadComponent, decorators: [{
|
|
164
166
|
type: Component,
|
|
165
|
-
args: [{ selector: 'c8y-alarm-widget-alarms-reload', template: "<div\n class=\"m-l-auto d-flex p-t-4 p-b-4\"\n *ngIf=\"!globalAutoRefreshEnabled\"\n>\n <div class=\"m-l-auto d-flex a-i-center\">\n <label\n class=\"m-b-0 m-r-8 text-label-small text-truncate flex-no-shrink\"\n title=\" {{ 'Auto refresh' | translate }}\"\n *ngIf=\"isIntervalRefresh && refreshInterval && config.isAutoRefreshEnabled\"\n >\n {{ 'Auto refresh' | translate }}\n </label>\n <div class=\"input-group\">\n <label\n class=\"toggle-countdown\"\n [class.toggle-countdown-disabled]=\"isRefreshDisabled\"\n [attr.aria-label]=\"toggleCountdownButtonTooltipText\"\n [tooltip]=\"toggleCountdownButtonTooltipText\"\n placement=\"bottom\"\n *ngIf=\"isIntervalRefresh && refreshInterval && config.isAutoRefreshEnabled\"\n [adaptivePosition]=\"false\"\n [container]=\"'body'\"\n [delay]=\"500\"\n >\n <input\n type=\"checkbox\"\n data-cy=\"c8y-alarms-widget--interval-toggle-button\"\n (click)=\"onToggleCountdownButtonState($event)\"\n />\n <c8y-countdown-interval\n *ngIf=\"isIntervalRefreshToggleOn\"\n [countdownInterval]=\"refreshInterval\"\n (countdownEnded)=\"countdownEnded()\"\n ></c8y-countdown-interval>\n <i\n c8yIcon=\"pause\"\n *ngIf=\"!isIntervalRefreshToggleOn\"\n ></i>\n </label>\n\n <div class=\"input-group-btn\">\n <button\n class=\"btn btn-default\"\n [attr.aria-label]=\"'Refresh' | translate\"\n [tooltip]=\"\n !isNewAlarmMessageCleared\n ? (REALTIME_UPDATE_ALARMS_MESSAGE | translate)\n : ('Refresh' | translate)\n \"\n placement=\"bottom\"\n type=\"button\"\n [adaptivePosition]=\"false\"\n [container]=\"'body'\"\n [delay]=\"500\"\n [disabled]=\"isRefreshDisabled || (isLoading | async)\"\n (click)=\"reload()\"\n data-cy=\"c8y-alarms-widget--reload-button\"\n >\n <span\n class=\"tag tag--info m-r-8\"\n *ngIf=\"!isNewAlarmMessageCleared\"\n >\n {{ 'New alarms' | translate }}\n </span>\n <i\n c8yIcon=\"refresh\"\n [ngClass]=\"{ 'icon-spin': isLoading | async }\"\n ></i>\n </button>\n </div>\n <div\n class=\"input-group-btn input-group-btn--last\"\n *ngIf=\"!isIntervalRefresh\"\n >\n <button\n class=\"c8y-realtime btn btn-default\"\n [attr.aria-label]=\"realtimeIconTitle\"\n [tooltip]=\"realtimeIconTitle\"\n placement=\"bottom\"\n type=\"button\"\n [container]=\"'body'\"\n (click)=\"toggleRealtimeState()\"\n [disabled]=\"isRefreshDisabled\"\n >\n <span\n class=\"c8y-pulse m-0\"\n [ngClass]=\"{\n active: isRealtimeToggleOn,\n inactive: !isRealtimeToggleOn\n }\"\n ></span>\n </button>\n </div>\n </div>\n </div>\n</div
|
|
166
|
-
}], ctorParameters: () => [{ type: i1.AlarmsViewService }, { type: i0.ChangeDetectorRef }, { type: i2.TranslateService }, { type: i3.WidgetGlobalAutoRefreshService }], propDecorators: { isIntervalRefresh: [{
|
|
167
|
+
args: [{ selector: 'c8y-alarm-widget-alarms-reload', template: "<div\n class=\"m-l-auto d-flex p-t-4 p-b-4\"\n *ngIf=\"!globalAutoRefreshEnabled\"\n>\n <div class=\"m-l-auto d-flex a-i-center\">\n <label\n class=\"m-b-0 m-r-8 text-label-small text-truncate flex-no-shrink\"\n title=\" {{ 'Auto refresh' | translate }}\"\n *ngIf=\"isIntervalRefresh && refreshInterval && config.isAutoRefreshEnabled\"\n >\n {{ 'Auto refresh' | translate }}\n </label>\n <div class=\"input-group\">\n <label\n class=\"toggle-countdown\"\n [class.toggle-countdown-disabled]=\"isRefreshDisabled\"\n [attr.aria-label]=\"toggleCountdownButtonTooltipText\"\n [tooltip]=\"toggleCountdownButtonTooltipText\"\n placement=\"bottom\"\n *ngIf=\"isIntervalRefresh && refreshInterval && config.isAutoRefreshEnabled\"\n [adaptivePosition]=\"false\"\n [container]=\"'body'\"\n [delay]=\"500\"\n >\n <input\n type=\"checkbox\"\n data-cy=\"c8y-alarms-widget--interval-toggle-button\"\n (click)=\"onToggleCountdownButtonState($event, WIDGET_TYPE_VALUES.ALARMS)\"\n />\n <c8y-countdown-interval\n *ngIf=\"isIntervalRefreshToggleOn\"\n [countdownInterval]=\"refreshInterval\"\n (countdownEnded)=\"countdownEnded()\"\n ></c8y-countdown-interval>\n <i\n c8yIcon=\"pause\"\n *ngIf=\"!isIntervalRefreshToggleOn\"\n ></i>\n </label>\n\n <div class=\"input-group-btn\">\n <button\n class=\"btn btn-default\"\n [attr.aria-label]=\"'Refresh' | translate\"\n [tooltip]=\"\n !isNewAlarmMessageCleared\n ? (REALTIME_UPDATE_ALARMS_MESSAGE | translate)\n : ('Refresh' | translate)\n \"\n placement=\"bottom\"\n type=\"button\"\n [adaptivePosition]=\"false\"\n [container]=\"'body'\"\n [delay]=\"500\"\n [disabled]=\"isRefreshDisabled || (isLoading | async)\"\n (click)=\"reload()\"\n data-cy=\"c8y-alarms-widget--reload-button\"\n >\n <span\n class=\"tag tag--info m-r-8\"\n *ngIf=\"!isNewAlarmMessageCleared\"\n >\n {{ 'New alarms' | translate }}\n </span>\n <i\n c8yIcon=\"refresh\"\n [ngClass]=\"{ 'icon-spin': isLoading | async }\"\n ></i>\n </button>\n </div>\n <div\n class=\"input-group-btn input-group-btn--last\"\n *ngIf=\"!isIntervalRefresh\"\n >\n <button\n class=\"c8y-realtime btn btn-default\"\n [attr.aria-label]=\"realtimeIconTitle\"\n [tooltip]=\"realtimeIconTitle\"\n placement=\"bottom\"\n type=\"button\"\n [container]=\"'body'\"\n (click)=\"toggleRealtimeState()\"\n [disabled]=\"isRefreshDisabled\"\n data-cy=\"c8y-alarms-widget--realtime-indicator\"\n >\n <span\n class=\"c8y-pulse m-0\"\n [ngClass]=\"{\n active: isRealtimeToggleOn,\n inactive: !isRealtimeToggleOn\n }\"\n ></span>\n </button>\n </div>\n </div>\n </div>\n</div>" }]
|
|
168
|
+
}], ctorParameters: () => [{ type: i1.AlarmsViewService }, { type: i0.ChangeDetectorRef }, { type: i2.TranslateService }, { type: i3.WidgetGlobalAutoRefreshService }, { type: i3.GainsightService }], propDecorators: { isIntervalRefresh: [{
|
|
167
169
|
type: Input
|
|
168
170
|
}], refreshInterval: [{
|
|
169
171
|
type: Input
|
|
@@ -183,4 +185,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
183
185
|
type: ViewChild,
|
|
184
186
|
args: [CountdownIntervalComponent, { static: false }]
|
|
185
187
|
}] } });
|
|
186
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxhcm0td2lkZ2V0LWFsYXJtcy1yZWxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vd2lkZ2V0cy9pbXBsZW1lbnRhdGlvbnMvYWxhcm1zL2FsYXJtLXdpZGdldC1hbGFybXMtcmVsb2FkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3dpZGdldHMvaW1wbGVtZW50YXRpb25zL2FsYXJtcy9hbGFybS13aWRnZXQtYWxhcm1zLXJlbG9hZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUlMLE1BQU0sRUFFTixTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLDBCQUEwQixFQUMxQixPQUFPLEVBQ1AsbUJBQW1CLEVBQ25CLDhCQUE4QixFQUMvQixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQXlCLHNCQUFzQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7Ozs7QUFNMUYsTUFBTSxPQUFPLGdDQUNYLFNBQVEsbUJBQW1CO0lBd0UzQixZQUNVLGlCQUFvQyxFQUNwQyxLQUF3QixFQUN4QixnQkFBa0MsRUFDbEMsOEJBQThEO1FBRXRFLEtBQUssRUFBRSxDQUFDO1FBTEEsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUN4QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xD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O09BRUc7SUFDTyxnQ0FBZ0MsQ0FBQyxVQUFtQjtRQUM1RCxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLGdDQUFnQyxHQUFHLFVBQVUsQ0FBQztZQUNuRCxPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksQ0FBQyxnQ0FBZ0MsR0FBRyxJQUFJLENBQUMseUJBQXlCO1lBQ3BFLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1lBQ2hFLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUM7SUFDcEUsQ0FBQzsrR0F2TlUsZ0NBQWdDO21HQUFoQyxnQ0FBZ0MsK2FBdUNoQywwQkFBMEIsNEZDcEV2QywrbEdBZ0dBOzs0RkRuRWEsZ0NBQWdDO2tCQUo1QyxTQUFTOytCQUNFLGdDQUFnQztrTUFZakMsaUJBQWlCO3NCQUF6QixLQUFLO2dCQUlHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBSUcsTUFBTTtzQkFBZCxLQUFLO2dCQUlHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBSUcsV0FBVztzQkFBbkIsS0FBSztnQkFJRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBSUksZ0JBQWdCO3NCQUF6QixNQUFNO2dCQUlHLHVCQUF1QjtzQkFBaEMsTUFBTTtnQkFHUCwwQkFBMEI7c0JBRHpCLFNBQVM7dUJBQUMsMEJBQTBCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBDb3VudGRvd25JbnRlcnZhbENvbXBvbmVudCxcbiAgZ2V0dGV4dCxcbiAgSW50ZXJ2YWxCYXNlZFJlbG9hZCxcbiAgV2lkZ2V0R2xvYmFsQXV0b1JlZnJlc2hTZXJ2aWNlXG59IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgQWxhcm1zVmlld1NlcnZpY2UgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzL2FsYXJtcyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQWxhcm1MaXN0V2lkZ2V0Q29uZmlnLCBHTE9CQUxfSU5URVJWQUxfT1BUSU9OIH0gZnJvbSAnLi9hbGFybS1saXN0LXdpZGdldC5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2M4eS1hbGFybS13aWRnZXQtYWxhcm1zLXJlbG9hZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9hbGFybS13aWRnZXQtYWxhcm1zLXJlbG9hZC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgQWxhcm1XaWRnZXRBbGFybXNSZWxvYWRDb21wb25lbnRcbiAgZXh0ZW5kcyBJbnRlcnZhbEJhc2VkUmVsb2FkXG4gIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveVxue1xuICByZWFkb25seSBSRUFMVElNRV9VUERBVEVfQUxBUk1TX01FU1NBR0UgPSB0aGlzLmFsYXJtc1ZpZXdTZXJ2aWNlLlJFQUxUSU1FX1VQREFURV9BTEFSTVNfTUVTU0FHRTtcblxuICAvKipcbiAgICogU3RhdGUgb2YgdGhpcyBib29sZWFuIGRlcGVuZHMgb24gYW4gQXBwbGljYXRpb24gT3B0aW9ucyBcImFsYXJtc1JlZnJlc2hUeXBlXCIgc2V0dGluZy5cbiAgICovXG4gIEBJbnB1dCgpIGlzSW50ZXJ2YWxSZWZyZXNoOiBib29sZWFuO1xuICAvKipcbiAgICogQGluaGVyaXRkb2NcbiAgICovXG4gIEBJbnB1dCgpIHJlZnJlc2hJbnRlcnZhbDogbnVtYmVyO1xuICAvKipcbiAgICogQWxhcm0gd2lkZ2V0cyBjb25maWcuXG4gICAqL1xuICBASW5wdXQoKSBjb25maWc6IEFsYXJtTGlzdFdpZGdldENvbmZpZztcbiAgLyoqXG4gICAqIEBpbmhlcml0ZG9jXG4gICAqL1xuICBASW5wdXQoKSBpc0xvYWRpbmc6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPjtcbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBhbGFybSBsaXN0IGlzIGJlaW5nIHNjcm9sbGVkIG9yIG5vdC5cbiAgICovXG4gIEBJbnB1dCgpIGlzU2Nyb2xsaW5nOiBib29sZWFuO1xuICAvKipcbiAgICogQGluaGVyaXRkb2NcbiAgICovXG4gIEBJbnB1dCgpIGlzUmVmcmVzaERpc2FibGVkOiBib29sZWFuO1xuICAvKipcbiAgICogQGluaGVyaXRkb2NcbiAgICovXG4gIEBPdXRwdXQoKSBvbkNvdW50ZG93bkVuZGVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICAvKipcbiAgICogRW1pdHRlZCB0byBpbmRpY2F0ZSB0aGF0IHRoZSB3aWRnZXRzIHJlYWx0aW1lIGJ1dHRvbiBzdGF0ZSBoYXMgY2hhbmdlZC5cbiAgICovXG4gIEBPdXRwdXQoKSBvblJlYWxUaW1lVG9nZ2xlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIEBWaWV3Q2hpbGQoQ291bnRkb3duSW50ZXJ2YWxDb21wb25lbnQsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBjb3VudGRvd25JbnRlcnZhbENvbXBvbmVudDogQ291bnRkb3duSW50ZXJ2YWxDb21wb25lbnQ7XG4gIC8qKlxuICAgKiBAaW5oZXJpdGRvY1xuICAgKi9cbiAgcHJvdGVjdGVkIGhpZGVDb3VudGRvd246IGJvb2xlYW47XG4gIC8qKlxuICAgKiBUb29sdGlwIGZvciBhIG5ldyByZWFsdGltZSBhbGFybSBpbmRpY2F0b3IuXG4gICAqL1xuICByZWFsdGltZUljb25UaXRsZTogc3RyaW5nO1xuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGNvdW50ZG93biBoYXMgYmVlbiBjbGVhcmVkIGFscmVhZHkuXG4gICAqL1xuICBpc05ld0FsYXJtTWVzc2FnZUNsZWFyZWQgPSB0cnVlO1xuICAvKipcbiAgICogQGluaGVyaXRkb2NcbiAgICovXG4gIGlzSW50ZXJ2YWxSZWZyZXNoVG9nZ2xlT246IGJvb2xlYW47XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgdGhlIGN1cnJlbnQgc3RhdGUgb2YgYW4gcmVhbHRpbWUgdG9nZ2xlIGJ1dHRvbi5cbiAgICovXG4gIGlzUmVhbHRpbWVUb2dnbGVPbjogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEhvbGRzIHRoZSBzdWJzY3JpcHRpb24gdG8gYSBjb3VudGRvd24gb2JzZXJ2YWJsZS5cbiAgICovXG4gIGNvdW50ZG93blN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICAvKipcbiAgICogQGluaGVyaXRkb2NcbiAgICovXG4gIHByb3RlY3RlZCBtYW51YWxseURpc2FibGVkQ291bnRkb3duID0gZmFsc2U7XG5cbiAgdG9nZ2xlQ291bnRkb3duQnV0dG9uVG9vbHRpcFRleHQ6IHN0cmluZztcbiAgZ2xvYmFsQXV0b1JlZnJlc2hFbmFibGVkOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYWxhcm1zVmlld1NlcnZpY2U6IEFsYXJtc1ZpZXdTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIHdpZGdldEdsb2JhbEF1dG9SZWZyZXNoU2VydmljZTogV2lkZ2V0R2xvYmFsQXV0b1JlZnJlc2hTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAoIXRoaXMuaXNJbnRlcnZhbFJlZnJlc2gpIHtcbiAgICAgIHRoaXMuaXNSZWFsdGltZVRvZ2dsZU9uID0gdGhpcy5jb25maWcuaXNBdXRvUmVmcmVzaEVuYWJsZWQ7XG4gICAgICB0aGlzLnJlYWx0aW1lSWNvblRpdGxlID0gdGhpcy5nZXRSZWFsdGltZUljb25UaXRsZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmlzSW50ZXJ2YWxSZWZyZXNoVG9nZ2xlT24gPVxuICAgICAgICAhdGhpcy5pc1JlZnJlc2hEaXNhYmxlZCAmJiAodGhpcy5jb25maWcuaXNBdXRvUmVmcmVzaEVuYWJsZWQgfHwgISF0aGlzLnJlZnJlc2hJbnRlcnZhbCk7XG4gICAgICB0aGlzLnVwZGF0ZUNvdW50ZG93bkJ1dHRvblRvb2x0aXBUZXh0KCk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGlmICh0aGlzLmlzSW50ZXJ2YWxSZWZyZXNoICYmIHRoaXMucmVmcmVzaEludGVydmFsKSB7XG4gICAgICB0aGlzLnN0YXJ0Q291bnRkb3duKCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZ2xvYmFsQXV0b1JlZnJlc2hFbmFibGVkKSB7XG4gICAgICB0aGlzLndpZGdldEdsb2JhbEF1dG9SZWZyZXNoU2VydmljZS5jb3VudGRvd25BY3Rpb25zLmNvdW50ZG93bkVuZGVkJFxuICAgICAgICAucGlwZSh0YXAoKCkgPT4gdGhpcy5vbkNvdW50ZG93bkVuZGVkLmVtaXQoKSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgY29uc3QgeyBpc0Rpc2FibGVkLCBjb25maWcgfSA9IGNoYW5nZXM7XG4gICAgaWYgKGNvbmZpZykge1xuICAgICAgdGhpcy5nbG9iYWxBdXRvUmVmcmVzaEVuYWJsZWQgPSB0aGlzLmNvbmZpZy5yZWZyZXNoT3B0aW9uID09PSBHTE9CQUxfSU5URVJWQUxfT1BUSU9OO1xuICAgIH1cbiAgICBpZiAoaXNEaXNhYmxlZCkge1xuICAgICAgdGhpcy5pc0ludGVydmFsUmVmcmVzaFRvZ2dsZU9uID1cbiAgICAgICAgIXRoaXMuaXNSZWZyZXNoRGlzYWJsZWQgJiYgKHRoaXMuY29uZmlnLmlzQXV0b1JlZnJlc2hFbmFibGVkIHx8ICEhdGhpcy5yZWZyZXNoSW50ZXJ2YWwpO1xuICAgICAgdGhpcy51cGRhdGVDb3VudGRvd25CdXR0b25Ub29sdGlwVGV4dChnZXR0ZXh0KCdEaXNhYmxlZCcpKTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICAhdGhpcy5pc0ludGVydmFsUmVmcmVzaCB8fFxuICAgICAgdGhpcy5tYW51YWxseURpc2FibGVkQ291bnRkb3duIHx8XG4gICAgICAhdGhpcy5jb25maWcuaXNBdXRvUmVmcmVzaEVuYWJsZWRcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmhhbmRsZVNjcm9sbGluZygpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMuY291bnRkb3duU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLmNvdW50ZG93blN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAaW5oZXJpdGRvY1xuICAgKi9cbiAgY291bnRkb3duRW5kZWQoKTogdm9pZCB7XG4gICAgLyoqXG4gICAgICogQGluaGVyaXRkb2NcbiAgICAgKi9cbiAgICB0aGlzLmF1dG9SZWZyZXNoTGlzdCgpO1xuICB9XG5cbiAgcmVsb2FkKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzSW50ZXJ2YWxSZWZyZXNoKSB7XG4gICAgICB0aGlzLmF1dG9SZWZyZXNoTGlzdCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm9uQ291bnRkb3duRW5kZWQuZW1pdCgpO1xuICAgICAgdGhpcy5pc05ld0FsYXJtTWVzc2FnZUNsZWFyZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBUb2dnbGVzIHRoZSByZWFsLXRpbWUgc3RhdGUgb2YgdGhlIGNvbXBvbmVudC5cbiAgICpcbiAgICogVGhpcyBtZXRob2Qgc3dpdGNoZXMgdGhlIGBpc1JlYWx0aW1lVG9nZ2xlT25gIHN0YXRlIGJldHdlZW4gdHJ1ZSBhbmQgZmFsc2UuXG4gICAqIFdoZW4gdGhlIHN0YXRlIGlzIHRvZ2dsZWQsIGl0IGVtaXRzIHRoZSBjdXJyZW50IHN0YXRlIHRocm91Z2ggYG9uUmVhbFRpbWVUb2dnbGVDaGFuZ2VkYCBldmVudC5cbiAgICogSXQgYWxzbyB1cGRhdGVzIHRoZSBgcmVhbHRpbWVJY29uVGl0bGVgIGJhc2VkIG9uIHRoZSBuZXcgc3RhdGUuXG4gICAqL1xuICB0b2dnbGVSZWFsdGltZVN0YXRlKCk6IHZvaWQge1xuICAgIHRoaXMuaXNSZWFsdGltZVRvZ2dsZU9uID0gIXRoaXMuaXNSZWFsdGltZVRvZ2dsZU9uO1xuICAgIHRoaXMub25SZWFsVGltZVRvZ2dsZUNoYW5nZWQuZW1pdCh0aGlzLmlzUmVhbHRpbWVUb2dnbGVPbik7XG4gICAgdGhpcy5yZWFsdGltZUljb25UaXRsZSA9IHRoaXMuZ2V0UmVhbHRpbWVJY29uVGl0bGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdG9wcyB0aGUgY291bnRkb3duIGFuZCB0cmlnZ2VycyBhIHJlZnJlc2ggYWN0aW9uLlxuICAgKiBUaGlzIGZ1bmN0aW9uIGlzIHJlc3BvbnNpYmxlIGZvciBoYWx0aW5nIHRoZSBjb3VudGRvd24gaW50ZXJ2YWwgY29tcG9uZW50J3Mgb3BlcmF0aW9uLlxuICAgKiBBZnRlciBzdG9wcGluZyB0aGUgY291bnRkb3duLCBpdCBlbWl0cyBhbiBgb25Db3VudGRvd25FbmRlZGAgZXZlbnQuXG4gICAqIFRoaXMgZXZlbnQgaXMgdXNlZCB0byBpbmZvcm0gZXh0ZXJuYWwgY29tcG9uZW50cyB0aGF0IHRoZSBjb3VudGRvd24gaGFzIGVuZGVkLFxuICAgKiB0eXBpY2FsbHkgcHJvbXB0aW5nIHRoZW0gdG8gcmVsb2FkIG9yIHJlZnJlc2ggdGhlaXIgZGF0YS5cbiAgICovXG4gIGF1dG9SZWZyZXNoTGlzdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc0ludGVydmFsUmVmcmVzaFRvZ2dsZU9uICYmIHRoaXMuY29uZmlnLmlzQXV0b1JlZnJlc2hFbmFibGVkKSB7XG4gICAgICB0aGlzLmNvdW50ZG93bkludGVydmFsQ29tcG9uZW50LnN0b3AoKTtcbiAgICB9XG4gICAgdGhpcy5vbkNvdW50ZG93bkVuZGVkLmVtaXQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSB0b29sdGlwIG1lc3NhZ2UgZm9yIGEgbmV3IHJlYWx0aW1lIGFsYXJtIGluZGljYXRvci5cbiAgICogQHJldHVybnMgVG9vbHRpcCBtZXNzYWdlLlxuICAgKi9cbiAgZ2V0UmVhbHRpbWVJY29uVGl0bGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pc1JlYWx0aW1lVG9nZ2xlT25cbiAgICAgID8gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoZ2V0dGV4dCgnUmVhbHRpbWUgYWN0aXZlJykpXG4gICAgICA6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KGdldHRleHQoJ1JlYWx0aW1lIGluYWN0aXZlJykpO1xuICB9XG5cbiAgLyoqXG4gICAqIEVuYWJsZXMgYW5kIHN0YXJ0cyB0aGUgY291bnRkb3duIHRpbWVyLlxuICAgKlxuICAgKiBUaGlzIG1ldGhvZCBtYWtlcyB0aGUgY291bnRkb3duIHZpc2libGUgKGBoaWRlQ291bnRkb3duYCBpcyBzZXQgdG8gZmFsc2UpIGFuZCB0aGVuXG4gICAqIHN0YXJ0cyB0aGUgY291bnRkb3duIHByb2Nlc3MuIEl0IGVuc3VyZXMgdGhlIGNvdW50ZG93biB0aW1lciBpcyB1cGRhdGVkIGltbWVkaWF0ZWx5XG4gICAqIGJ5IHRyaWdnZXJpbmcgY2hhbmdlIGRldGVjdGlvbiB3aXRoIGBjZFJlZi5kZXRlY3RDaGFuZ2VzKClgIGJlZm9yZSBzdGFydGluZyB0aGUgY291bnRkb3duLlxuICAgKiBUaGlzIG1ldGhvZCBlbmNhcHN1bGF0ZXMgdGhlIGxvZ2ljIHJlcXVpcmVkIHRvIGluaXRpYXRlIHRoZSBjb3VudGRvd24gdGltZXIuXG4gICAqL1xuICBlbmFibGVDb3VudGRvd24oKTogdm9pZCB7XG4gICAgdGhpcy5oaWRlQ291bnRkb3duID0gZmFsc2U7XG4gICAgLy8gUHJldmVudHMgdGhlIGNvdW50ZG93biBmcm9tIGdldHRpbmcgc3R1Y2sgb24gYW4gaW5pdGlhbCB2YWx1ZS5cbiAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB0aGlzLnN0YXJ0Q291bnRkb3duKCk7XG4gIH1cblxuICAvKipcbiAgICogQGluaGVyaXRkb2NcbiAgICovXG4gIHByb3RlY3RlZCB1cGRhdGVDb3VudGRvd25CdXR0b25Ub29sdGlwVGV4dChjdXN0b21UZXh0Pzogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKGN1c3RvbVRleHQpIHtcbiAgICAgIHRoaXMudG9nZ2xlQ291bnRkb3duQnV0dG9uVG9vbHRpcFRleHQgPSBjdXN0b21UZXh0O1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnRvZ2dsZUNvdW50ZG93bkJ1dHRvblRvb2x0aXBUZXh0ID0gdGhpcy5pc0ludGVydmFsUmVmcmVzaFRvZ2dsZU9uXG4gICAgICA/IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KGdldHRleHQoJ0Rpc2FibGUgYXV0byByZWZyZXNoJykpXG4gICAgICA6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KGdldHRleHQoJ0VuYWJsZSBhdXRvIHJlZnJlc2gnKSk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJtLWwtYXV0byBkLWZsZXggcC10LTQgcC1iLTRcIlxuICAqbmdJZj1cIiFnbG9iYWxBdXRvUmVmcmVzaEVuYWJsZWRcIlxuPlxuICA8ZGl2IGNsYXNzPVwibS1sLWF1dG8gZC1mbGV4IGEtaS1jZW50ZXJcIj5cbiAgICA8bGFiZWxcbiAgICAgIGNsYXNzPVwibS1iLTAgbS1yLTggdGV4dC1sYWJlbC1zbWFsbCB0ZXh0LXRydW5jYXRlIGZsZXgtbm8tc2hyaW5rXCJcbiAgICAgIHRpdGxlPVwiIHt7ICdBdXRvIHJlZnJlc2gnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICpuZ0lmPVwiaXNJbnRlcnZhbFJlZnJlc2ggJiYgcmVmcmVzaEludGVydmFsICYmIGNvbmZpZy5pc0F1dG9SZWZyZXNoRW5hYmxlZFwiXG4gICAgPlxuICAgICAge3sgJ0F1dG8gcmVmcmVzaCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2xhYmVsPlxuICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cFwiPlxuICAgICAgPGxhYmVsXG4gICAgICAgIGNsYXNzPVwidG9nZ2xlLWNvdW50ZG93blwiXG4gICAgICAgIFtjbGFzcy50b2dnbGUtY291bnRkb3duLWRpc2FibGVkXT1cImlzUmVmcmVzaERpc2FibGVkXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJ0b2dnbGVDb3VudGRvd25CdXR0b25Ub29sdGlwVGV4dFwiXG4gICAgICAgIFt0b29sdGlwXT1cInRvZ2dsZUNvdW50ZG93bkJ1dHRvblRvb2x0aXBUZXh0XCJcbiAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tXCJcbiAgICAgICAgKm5nSWY9XCJpc0ludGVydmFsUmVmcmVzaCAmJiByZWZyZXNoSW50ZXJ2YWwgJiYgY29uZmlnLmlzQXV0b1JlZnJlc2hFbmFibGVkXCJcbiAgICAgICAgW2FkYXB0aXZlUG9zaXRpb25dPVwiZmFsc2VcIlxuICAgICAgICBbY29udGFpbmVyXT1cIidib2R5J1wiXG4gICAgICAgIFtkZWxheV09XCI1MDBcIlxuICAgICAgPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgIGRhdGEtY3k9XCJjOHktYWxhcm1zLXdpZGdldC0taW50ZXJ2YWwtdG9nZ2xlLWJ1dHRvblwiXG4gICAgICAgICAgKGNsaWNrKT1cIm9uVG9nZ2xlQ291bnRkb3duQnV0dG9uU3RhdGUoJGV2ZW50KVwiXG4gICAgICAgIC8+XG4gICAgICAgIDxjOHktY291bnRkb3duLWludGVydmFsXG4gICAgICAgICAgKm5nSWY9XCJpc0ludGVydmFsUmVmcmVzaFRvZ2dsZU9uXCJcbiAgICAgICAgICBbY291bnRkb3duSW50ZXJ2YWxdPVwicmVmcmVzaEludGVydmFsXCJcbiAgICAgICAgICAoY291bnRkb3duRW5kZWQpPVwiY291bnRkb3duRW5kZWQoKVwiXG4gICAgICAgID48L2M4eS1jb3VudGRvd24taW50ZXJ2YWw+XG4gICAgICAgIDxpXG4gICAgICAgICAgYzh5SWNvbj1cInBhdXNlXCJcbiAgICAgICAgICAqbmdJZj1cIiFpc0ludGVydmFsUmVmcmVzaFRvZ2dsZU9uXCJcbiAgICAgICAgPjwvaT5cbiAgICAgIDwvbGFiZWw+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cC1idG5cIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0XCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidSZWZyZXNoJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgW3Rvb2x0aXBdPVwiXG4gICAgICAgICAgICAhaXNOZXdBbGFybU1lc3NhZ2VDbGVhcmVkXG4gICAgICAgICAgICAgID8gKFJFQUxUSU1FX1VQREFURV9BTEFSTVNfTUVTU0FHRSB8IHRyYW5zbGF0ZSlcbiAgICAgICAgICAgICAgOiAoJ1JlZnJlc2gnIHwgdHJhbnNsYXRlKVxuICAgICAgICAgIFwiXG4gICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tXCJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBbYWRhcHRpdmVQb3NpdGlvbl09XCJmYWxzZVwiXG4gICAgICAgICAgW2NvbnRhaW5lcl09XCInYm9keSdcIlxuICAgICAgICAgIFtkZWxheV09XCI1MDBcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJpc1JlZnJlc2hEaXNhYmxlZCB8fCAoaXNMb2FkaW5nIHwgYXN5bmMpXCJcbiAgICAgICAgICAoY2xpY2spPVwicmVsb2FkKClcIlxuICAgICAgICAgIGRhdGEtY3k9XCJjOHktYWxhcm1zLXdpZGdldC0tcmVsb2FkLWJ1dHRvblwiXG4gICAgICAgID5cbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgY2xhc3M9XCJ0YWcgdGFnLS1pbmZvIG0tci04XCJcbiAgICAgICAgICAgICpuZ0lmPVwiIWlzTmV3QWxhcm1NZXNzYWdlQ2xlYXJlZFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgJ05ldyBhbGFybXMnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxpXG4gICAgICAgICAgICBjOHlJY29uPVwicmVmcmVzaFwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdpY29uLXNwaW4nOiBpc0xvYWRpbmcgfCBhc3luYyB9XCJcbiAgICAgICAgICA+PC9pPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImlucHV0LWdyb3VwLWJ0biBpbnB1dC1ncm91cC1idG4tLWxhc3RcIlxuICAgICAgICAqbmdJZj1cIiFpc0ludGVydmFsUmVmcmVzaFwiXG4gICAgICA+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBjbGFzcz1cImM4eS1yZWFsdGltZSBidG4gYnRuLWRlZmF1bHRcIlxuICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwicmVhbHRpbWVJY29uVGl0bGVcIlxuICAgICAgICAgIFt0b29sdGlwXT1cInJlYWx0aW1lSWNvblRpdGxlXCJcbiAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b21cIlxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIFtjb250YWluZXJdPVwiJ2JvZHknXCJcbiAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlUmVhbHRpbWVTdGF0ZSgpXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNSZWZyZXNoRGlzYWJsZWRcIlxuICAgICAgICA+XG4gICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgIGNsYXNzPVwiYzh5LXB1bHNlIG0tMFwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgIGFjdGl2ZTogaXNSZWFsdGltZVRvZ2dsZU9uLFxuICAgICAgICAgICAgICBpbmFjdGl2ZTogIWlzUmVhbHRpbWVUb2dnbGVPblxuICAgICAgICAgICAgfVwiXG4gICAgICAgICAgPjwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
188
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxhcm0td2lkZ2V0LWFsYXJtcy1yZWxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vd2lkZ2V0cy9pbXBsZW1lbnRhdGlvbnMvYWxhcm1zL2FsYXJtLXdpZGdldC1hbGFybXMtcmVsb2FkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3dpZGdldHMvaW1wbGVtZW50YXRpb25zL2FsYXJtcy9hbGFybS13aWRnZXQtYWxhcm1zLXJlbG9hZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUlMLE1BQU0sRUFFTixTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLDBCQUEwQixFQUMxQixPQUFPLEVBQ1AsbUJBQW1CLEVBQ25CLGtCQUFrQixFQUNsQiw4QkFBOEIsRUFDOUIsZ0JBQWdCLEVBQ2pCLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDckQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBeUIsc0JBQXNCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7OztBQU0xRixNQUFNLE9BQU8sZ0NBQ1gsU0FBUSxtQkFBbUI7SUF5RTNCLFlBQ1UsaUJBQW9DLEVBQ3BDLEtBQXdCLEVBQ3hCLGdCQUFrQyxFQUNsQyw4QkFBOEQsRUFDNUQsZ0JBQWtDO1FBRTVDLEtBQUssRUFBRSxDQUFDO1FBTkEsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUN4QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLG1DQUE4QixHQUE5Qiw4QkFBOEIsQ0FBZ0M7UUFDNUQscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQTNFckMsbUNBQThCLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLDhCQUE4QixDQUFDO1FBQ3ZGLHVCQUFrQixHQUFHLGtCQUFrQixDQUFDO1FBMEJqRDs7V0FFRztRQUNPLHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDdEQ7O1dBRUc7UUFDTyw0QkFBdUIsR0FBMEIsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQVl2Rjs7V0FFRztRQUNILDZCQUF3QixHQUFHLElBQUksQ0FBQztRQWFoQzs7V0FFRztRQUNPLDhCQUF5QixHQUFHLEtBQUssQ0FBQztJQWE1QyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQztZQUMzRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDdkQsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMseUJBQXlCO2dCQUM1QixDQUFDLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsb0JBQW9CLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUMxRixJQUFJLENBQUMsZ0NBQWdDLEVBQUUsQ0FBQztRQUMxQyxDQUFDO0lBQ0gsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDbkQsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3hCLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlO2lCQUNqRSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO2lCQUM3QyxTQUFTLEVBQUUsQ0FBQztRQUNqQixDQUFDO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUN2QyxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ1gsSUFBSSxDQUFDLHdCQUF3QixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxLQUFLLHNCQUFzQixDQUFDO1FBQ3ZGLENBQUM7UUFDRCxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLHlCQUF5QjtnQkFDNUIsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLG9CQUFvQixJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDMUYsSUFBSSxDQUFDLGdDQUFnQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQzdELENBQUM7UUFFRCxJQUNFLENBQUMsSUFBSSxDQUFDLGlCQUFpQjtZQUN2QixJQUFJLENBQUMseUJBQXlCO1lBQzlCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsRUFDakMsQ0FBQztZQUNELE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztZQUMvQixJQUFJLENBQUMscUJBQXFCLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDM0MsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILGNBQWM7UUFDWjs7V0FFRztRQUNILElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3pCLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLENBQUM7UUFDdkMsQ0FBQztJQUNILENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxtQkFBbUI7UUFDakIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDO1FBQ25ELElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDM0QsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQ3ZELENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxlQUFlO1FBQ2IsSUFBSSxJQUFJLENBQUMseUJBQXlCLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1lBQ3ZFLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN6QyxDQUFDO1FBQ0QsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRDs7O09BR0c7SUFDSCxvQkFBb0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsa0JBQWtCO1lBQzVCLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1lBQzNELENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxlQUFlO1FBQ2IsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7UUFDM0IsaUVBQWlFO1FBQ2pFLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRDs7T0FFRztJQUNPLGdDQUFnQyxDQUFDLFVBQW1CO1FBQzVELElBQUksVUFBVSxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsZ0NBQWdDLEdBQUcsVUFBVSxDQUFDO1lBQ25ELE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLGdDQUFnQyxHQUFHLElBQUksQ0FBQyx5QkFBeUI7WUFDcEUsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLHNCQUFzQixDQUFDLENBQUM7WUFDaEUsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQztJQUNwRSxDQUFDOytHQXpOVSxnQ0FBZ0M7bUdBQWhDLGdDQUFnQywrYUF3Q2hDLDBCQUEwQiw0RkN2RXZDLHFyR0FnR007OzRGRGpFTyxnQ0FBZ0M7a0JBSjVDLFNBQVM7K0JBQ0UsZ0NBQWdDO2lPQWFqQyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBSUcsZUFBZTtzQkFBdkIsS0FBSztnQkFJRyxNQUFNO3NCQUFkLEtBQUs7Z0JBSUcsU0FBUztzQkFBakIsS0FBSztnQkFJRyxXQUFXO3NCQUFuQixLQUFLO2dCQUlHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFJSSxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBSUcsdUJBQXVCO3NCQUFoQyxNQUFNO2dCQUdQLDBCQUEwQjtzQkFEekIsU0FBUzt1QkFBQywwQkFBMEIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIENvdW50ZG93bkludGVydmFsQ29tcG9uZW50LFxuICBnZXR0ZXh0LFxuICBJbnRlcnZhbEJhc2VkUmVsb2FkLFxuICBXSURHRVRfVFlQRV9WQUxVRVMsXG4gIFdpZGdldEdsb2JhbEF1dG9SZWZyZXNoU2VydmljZSxcbiAgR2FpbnNpZ2h0U2VydmljZVxufSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcbmltcG9ydCB7IEFsYXJtc1ZpZXdTZXJ2aWNlIH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cy9hbGFybXMnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFsYXJtTGlzdFdpZGdldENvbmZpZywgR0xPQkFMX0lOVEVSVkFMX09QVElPTiB9IGZyb20gJy4vYWxhcm0tbGlzdC13aWRnZXQubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjOHktYWxhcm0td2lkZ2V0LWFsYXJtcy1yZWxvYWQnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWxhcm0td2lkZ2V0LWFsYXJtcy1yZWxvYWQuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEFsYXJtV2lkZ2V0QWxhcm1zUmVsb2FkQ29tcG9uZW50XG4gIGV4dGVuZHMgSW50ZXJ2YWxCYXNlZFJlbG9hZFxuICBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3lcbntcbiAgcmVhZG9ubHkgUkVBTFRJTUVfVVBEQVRFX0FMQVJNU19NRVNTQUdFID0gdGhpcy5hbGFybXNWaWV3U2VydmljZS5SRUFMVElNRV9VUERBVEVfQUxBUk1TX01FU1NBR0U7XG4gIHJlYWRvbmx5IFdJREdFVF9UWVBFX1ZBTFVFUyA9IFdJREdFVF9UWVBFX1ZBTFVFUztcblxuICAvKipcbiAgICogU3RhdGUgb2YgdGhpcyBib29sZWFuIGRlcGVuZHMgb24gYW4gQXBwbGljYXRpb24gT3B0aW9ucyBcImFsYXJtc1JlZnJlc2hUeXBlXCIgc2V0dGluZy5cbiAgICovXG4gIEBJbnB1dCgpIGlzSW50ZXJ2YWxSZWZyZXNoOiBib29sZWFuO1xuICAvKipcbiAgICogQGluaGVyaXRkb2NcbiAgICovXG4gIEBJbnB1dCgpIHJlZnJlc2hJbnRlcnZhbDogbnVtYmVyO1xuICAvKipcbiAgICogQWxhcm0gd2lkZ2V0cyBjb25maWcuXG4gICAqL1xuICBASW5wdXQoKSBjb25maWc6IEFsYXJtTGlzdFdpZGdldENvbmZpZztcbiAgLyoqXG4gICAqIEBpbmhlcml0ZG9jXG4gICAqL1xuICBASW5wdXQoKSBpc0xvYWRpbmc6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPjtcbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBhbGFybSBsaXN0IGlzIGJlaW5nIHNjcm9sbGVkIG9yIG5vdC5cbiAgICovXG4gIEBJbnB1dCgpIGlzU2Nyb2xsaW5nOiBib29sZWFuO1xuICAvKipcbiAgICogQGluaGVyaXRkb2NcbiAgICovXG4gIEBJbnB1dCgpIGlzUmVmcmVzaERpc2FibGVkOiBib29sZWFuO1xuICAvKipcbiAgICogQGluaGVyaXRkb2NcbiAgICovXG4gIEBPdXRwdXQoKSBvbkNvdW50ZG93bkVuZGVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICAvKipcbiAgICogRW1pdHRlZCB0byBpbmRpY2F0ZSB0aGF0IHRoZSB3aWRnZXRzIHJlYWx0aW1lIGJ1dHRvbiBzdGF0ZSBoYXMgY2hhbmdlZC5cbiAgICovXG4gIEBPdXRwdXQoKSBvblJlYWxUaW1lVG9nZ2xlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIEBWaWV3Q2hpbGQoQ291bnRkb3duSW50ZXJ2YWxDb21wb25lbnQsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBjb3VudGRvd25JbnRlcnZhbENvbXBvbmVudDogQ291bnRkb3duSW50ZXJ2YWxDb21wb25lbnQ7XG4gIC8qKlxuICAgKiBAaW5oZXJpdGRvY1xuICAgKi9cbiAgcHJvdGVjdGVkIGhpZGVDb3VudGRvd246IGJvb2xlYW47XG4gIC8qKlxuICAgKiBUb29sdGlwIGZvciBhIG5ldyByZWFsdGltZSBhbGFybSBpbmRpY2F0b3IuXG4gICAqL1xuICByZWFsdGltZUljb25UaXRsZTogc3RyaW5nO1xuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGNvdW50ZG93biBoYXMgYmVlbiBjbGVhcmVkIGFscmVhZHkuXG4gICAqL1xuICBpc05ld0FsYXJtTWVzc2FnZUNsZWFyZWQgPSB0cnVlO1xuICAvKipcbiAgICogQGluaGVyaXRkb2NcbiAgICovXG4gIGlzSW50ZXJ2YWxSZWZyZXNoVG9nZ2xlT246IGJvb2xlYW47XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgdGhlIGN1cnJlbnQgc3RhdGUgb2YgYW4gcmVhbHRpbWUgdG9nZ2xlIGJ1dHRvbi5cbiAgICovXG4gIGlzUmVhbHRpbWVUb2dnbGVPbjogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEhvbGRzIHRoZSBzdWJzY3JpcHRpb24gdG8gYSBjb3VudGRvd24gb2JzZXJ2YWJsZS5cbiAgICovXG4gIGNvdW50ZG93blN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICAvKipcbiAgICogQGluaGVyaXRkb2NcbiAgICovXG4gIHByb3RlY3RlZCBtYW51YWxseURpc2FibGVkQ291bnRkb3duID0gZmFsc2U7XG5cbiAgdG9nZ2xlQ291bnRkb3duQnV0dG9uVG9vbHRpcFRleHQ6IHN0cmluZztcbiAgZ2xvYmFsQXV0b1JlZnJlc2hFbmFibGVkOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYWxhcm1zVmlld1NlcnZpY2U6IEFsYXJtc1ZpZXdTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIHdpZGdldEdsb2JhbEF1dG9SZWZyZXNoU2VydmljZTogV2lkZ2V0R2xvYmFsQXV0b1JlZnJlc2hTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBnYWluc2lnaHRTZXJ2aWNlOiBHYWluc2lnaHRTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAoIXRoaXMuaXNJbnRlcnZhbFJlZnJlc2gpIHtcbiAgICAgIHRoaXMuaXNSZWFsdGltZVRvZ2dsZU9uID0gdGhpcy5jb25maWcuaXNBdXRvUmVmcmVzaEVuYWJsZWQ7XG4gICAgICB0aGlzLnJlYWx0aW1lSWNvblRpdGxlID0gdGhpcy5nZXRSZWFsdGltZUljb25UaXRsZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmlzSW50ZXJ2YWxSZWZyZXNoVG9nZ2xlT24gPVxuICAgICAgICAhdGhpcy5pc1JlZnJlc2hEaXNhYmxlZCAmJiAodGhpcy5jb25maWcuaXNBdXRvUmVmcmVzaEVuYWJsZWQgfHwgISF0aGlzLnJlZnJlc2hJbnRlcnZhbCk7XG4gICAgICB0aGlzLnVwZGF0ZUNvdW50ZG93bkJ1dHRvblRvb2x0aXBUZXh0KCk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGlmICh0aGlzLmlzSW50ZXJ2YWxSZWZyZXNoICYmIHRoaXMucmVmcmVzaEludGVydmFsKSB7XG4gICAgICB0aGlzLnN0YXJ0Q291bnRkb3duKCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZ2xvYmFsQXV0b1JlZnJlc2hFbmFibGVkKSB7XG4gICAgICB0aGlzLndpZGdldEdsb2JhbEF1dG9SZWZyZXNoU2VydmljZS5jb3VudGRvd25BY3Rpb25zLmNvdW50ZG93bkVuZGVkJFxuICAgICAgICAucGlwZSh0YXAoKCkgPT4gdGhpcy5vbkNvdW50ZG93bkVuZGVkLmVtaXQoKSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgY29uc3QgeyBpc0Rpc2FibGVkLCBjb25maWcgfSA9IGNoYW5nZXM7XG4gICAgaWYgKGNvbmZpZykge1xuICAgICAgdGhpcy5nbG9iYWxBdXRvUmVmcmVzaEVuYWJsZWQgPSB0aGlzLmNvbmZpZy5yZWZyZXNoT3B0aW9uID09PSBHTE9CQUxfSU5URVJWQUxfT1BUSU9OO1xuICAgIH1cbiAgICBpZiAoaXNEaXNhYmxlZCkge1xuICAgICAgdGhpcy5pc0ludGVydmFsUmVmcmVzaFRvZ2dsZU9uID1cbiAgICAgICAgIXRoaXMuaXNSZWZyZXNoRGlzYWJsZWQgJiYgKHRoaXMuY29uZmlnLmlzQXV0b1JlZnJlc2hFbmFibGVkIHx8ICEhdGhpcy5yZWZyZXNoSW50ZXJ2YWwpO1xuICAgICAgdGhpcy51cGRhdGVDb3VudGRvd25CdXR0b25Ub29sdGlwVGV4dChnZXR0ZXh0KCdEaXNhYmxlZCcpKTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICAhdGhpcy5pc0ludGVydmFsUmVmcmVzaCB8fFxuICAgICAgdGhpcy5tYW51YWxseURpc2FibGVkQ291bnRkb3duIHx8XG4gICAgICAhdGhpcy5jb25maWcuaXNBdXRvUmVmcmVzaEVuYWJsZWRcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmhhbmRsZVNjcm9sbGluZygpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMuY291bnRkb3duU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLmNvdW50ZG93blN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAaW5oZXJpdGRvY1xuICAgKi9cbiAgY291bnRkb3duRW5kZWQoKTogdm9pZCB7XG4gICAgLyoqXG4gICAgICogQGluaGVyaXRkb2NcbiAgICAgKi9cbiAgICB0aGlzLmF1dG9SZWZyZXNoTGlzdCgpO1xuICB9XG5cbiAgcmVsb2FkKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzSW50ZXJ2YWxSZWZyZXNoKSB7XG4gICAgICB0aGlzLmF1dG9SZWZyZXNoTGlzdCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm9uQ291bnRkb3duRW5kZWQuZW1pdCgpO1xuICAgICAgdGhpcy5pc05ld0FsYXJtTWVzc2FnZUNsZWFyZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBUb2dnbGVzIHRoZSByZWFsLXRpbWUgc3RhdGUgb2YgdGhlIGNvbXBvbmVudC5cbiAgICpcbiAgICogVGhpcyBtZXRob2Qgc3dpdGNoZXMgdGhlIGBpc1JlYWx0aW1lVG9nZ2xlT25gIHN0YXRlIGJldHdlZW4gdHJ1ZSBhbmQgZmFsc2UuXG4gICAqIFdoZW4gdGhlIHN0YXRlIGlzIHRvZ2dsZWQsIGl0IGVtaXRzIHRoZSBjdXJyZW50IHN0YXRlIHRocm91Z2ggYG9uUmVhbFRpbWVUb2dnbGVDaGFuZ2VkYCBldmVudC5cbiAgICogSXQgYWxzbyB1cGRhdGVzIHRoZSBgcmVhbHRpbWVJY29uVGl0bGVgIGJhc2VkIG9uIHRoZSBuZXcgc3RhdGUuXG4gICAqL1xuICB0b2dnbGVSZWFsdGltZVN0YXRlKCk6IHZvaWQge1xuICAgIHRoaXMuaXNSZWFsdGltZVRvZ2dsZU9uID0gIXRoaXMuaXNSZWFsdGltZVRvZ2dsZU9uO1xuICAgIHRoaXMub25SZWFsVGltZVRvZ2dsZUNoYW5nZWQuZW1pdCh0aGlzLmlzUmVhbHRpbWVUb2dnbGVPbik7XG4gICAgdGhpcy5yZWFsdGltZUljb25UaXRsZSA9IHRoaXMuZ2V0UmVhbHRpbWVJY29uVGl0bGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdG9wcyB0aGUgY291bnRkb3duIGFuZCB0cmlnZ2VycyBhIHJlZnJlc2ggYWN0aW9uLlxuICAgKiBUaGlzIGZ1bmN0aW9uIGlzIHJlc3BvbnNpYmxlIGZvciBoYWx0aW5nIHRoZSBjb3VudGRvd24gaW50ZXJ2YWwgY29tcG9uZW50J3Mgb3BlcmF0aW9uLlxuICAgKiBBZnRlciBzdG9wcGluZyB0aGUgY291bnRkb3duLCBpdCBlbWl0cyBhbiBgb25Db3VudGRvd25FbmRlZGAgZXZlbnQuXG4gICAqIFRoaXMgZXZlbnQgaXMgdXNlZCB0byBpbmZvcm0gZXh0ZXJuYWwgY29tcG9uZW50cyB0aGF0IHRoZSBjb3VudGRvd24gaGFzIGVuZGVkLFxuICAgKiB0eXBpY2FsbHkgcHJvbXB0aW5nIHRoZW0gdG8gcmVsb2FkIG9yIHJlZnJlc2ggdGhlaXIgZGF0YS5cbiAgICovXG4gIGF1dG9SZWZyZXNoTGlzdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc0ludGVydmFsUmVmcmVzaFRvZ2dsZU9uICYmIHRoaXMuY29uZmlnLmlzQXV0b1JlZnJlc2hFbmFibGVkKSB7XG4gICAgICB0aGlzLmNvdW50ZG93bkludGVydmFsQ29tcG9uZW50LnN0b3AoKTtcbiAgICB9XG4gICAgdGhpcy5vbkNvdW50ZG93bkVuZGVkLmVtaXQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSB0b29sdGlwIG1lc3NhZ2UgZm9yIGEgbmV3IHJlYWx0aW1lIGFsYXJtIGluZGljYXRvci5cbiAgICogQHJldHVybnMgVG9vbHRpcCBtZXNzYWdlLlxuICAgKi9cbiAgZ2V0UmVhbHRpbWVJY29uVGl0bGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pc1JlYWx0aW1lVG9nZ2xlT25cbiAgICAgID8gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoZ2V0dGV4dCgnUmVhbHRpbWUgYWN0aXZlJykpXG4gICAgICA6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KGdldHRleHQoJ1JlYWx0aW1lIGluYWN0aXZlJykpO1xuICB9XG5cbiAgLyoqXG4gICAqIEVuYWJsZXMgYW5kIHN0YXJ0cyB0aGUgY291bnRkb3duIHRpbWVyLlxuICAgKlxuICAgKiBUaGlzIG1ldGhvZCBtYWtlcyB0aGUgY291bnRkb3duIHZpc2libGUgKGBoaWRlQ291bnRkb3duYCBpcyBzZXQgdG8gZmFsc2UpIGFuZCB0aGVuXG4gICAqIHN0YXJ0cyB0aGUgY291bnRkb3duIHByb2Nlc3MuIEl0IGVuc3VyZXMgdGhlIGNvdW50ZG93biB0aW1lciBpcyB1cGRhdGVkIGltbWVkaWF0ZWx5XG4gICAqIGJ5IHRyaWdnZXJpbmcgY2hhbmdlIGRldGVjdGlvbiB3aXRoIGBjZFJlZi5kZXRlY3RDaGFuZ2VzKClgIGJlZm9yZSBzdGFydGluZyB0aGUgY291bnRkb3duLlxuICAgKiBUaGlzIG1ldGhvZCBlbmNhcHN1bGF0ZXMgdGhlIGxvZ2ljIHJlcXVpcmVkIHRvIGluaXRpYXRlIHRoZSBjb3VudGRvd24gdGltZXIuXG4gICAqL1xuICBlbmFibGVDb3VudGRvd24oKTogdm9pZCB7XG4gICAgdGhpcy5oaWRlQ291bnRkb3duID0gZmFsc2U7XG4gICAgLy8gUHJldmVudHMgdGhlIGNvdW50ZG93biBmcm9tIGdldHRpbmcgc3R1Y2sgb24gYW4gaW5pdGlhbCB2YWx1ZS5cbiAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB0aGlzLnN0YXJ0Q291bnRkb3duKCk7XG4gIH1cblxuICAvKipcbiAgICogQGluaGVyaXRkb2NcbiAgICovXG4gIHByb3RlY3RlZCB1cGRhdGVDb3VudGRvd25CdXR0b25Ub29sdGlwVGV4dChjdXN0b21UZXh0Pzogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKGN1c3RvbVRleHQpIHtcbiAgICAgIHRoaXMudG9nZ2xlQ291bnRkb3duQnV0dG9uVG9vbHRpcFRleHQgPSBjdXN0b21UZXh0O1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnRvZ2dsZUNvdW50ZG93bkJ1dHRvblRvb2x0aXBUZXh0ID0gdGhpcy5pc0ludGVydmFsUmVmcmVzaFRvZ2dsZU9uXG4gICAgICA/IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KGdldHRleHQoJ0Rpc2FibGUgYXV0byByZWZyZXNoJykpXG4gICAgICA6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KGdldHRleHQoJ0VuYWJsZSBhdXRvIHJlZnJlc2gnKSk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJtLWwtYXV0byBkLWZsZXggcC10LTQgcC1iLTRcIlxuICAqbmdJZj1cIiFnbG9iYWxBdXRvUmVmcmVzaEVuYWJsZWRcIlxuPlxuICA8ZGl2IGNsYXNzPVwibS1sLWF1dG8gZC1mbGV4IGEtaS1jZW50ZXJcIj5cbiAgICA8bGFiZWxcbiAgICAgIGNsYXNzPVwibS1iLTAgbS1yLTggdGV4dC1sYWJlbC1zbWFsbCB0ZXh0LXRydW5jYXRlIGZsZXgtbm8tc2hyaW5rXCJcbiAgICAgIHRpdGxlPVwiIHt7ICdBdXRvIHJlZnJlc2gnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICpuZ0lmPVwiaXNJbnRlcnZhbFJlZnJlc2ggJiYgcmVmcmVzaEludGVydmFsICYmIGNvbmZpZy5pc0F1dG9SZWZyZXNoRW5hYmxlZFwiXG4gICAgPlxuICAgICAge3sgJ0F1dG8gcmVmcmVzaCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2xhYmVsPlxuICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cFwiPlxuICAgICAgPGxhYmVsXG4gICAgICAgIGNsYXNzPVwidG9nZ2xlLWNvdW50ZG93blwiXG4gICAgICAgIFtjbGFzcy50b2dnbGUtY291bnRkb3duLWRpc2FibGVkXT1cImlzUmVmcmVzaERpc2FibGVkXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJ0b2dnbGVDb3VudGRvd25CdXR0b25Ub29sdGlwVGV4dFwiXG4gICAgICAgIFt0b29sdGlwXT1cInRvZ2dsZUNvdW50ZG93bkJ1dHRvblRvb2x0aXBUZXh0XCJcbiAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tXCJcbiAgICAgICAgKm5nSWY9XCJpc0ludGVydmFsUmVmcmVzaCAmJiByZWZyZXNoSW50ZXJ2YWwgJiYgY29uZmlnLmlzQXV0b1JlZnJlc2hFbmFibGVkXCJcbiAgICAgICAgW2FkYXB0aXZlUG9zaXRpb25dPVwiZmFsc2VcIlxuICAgICAgICBbY29udGFpbmVyXT1cIidib2R5J1wiXG4gICAgICAgIFtkZWxheV09XCI1MDBcIlxuICAgICAgPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgIGRhdGEtY3k9XCJjOHktYWxhcm1zLXdpZGdldC0taW50ZXJ2YWwtdG9nZ2xlLWJ1dHRvblwiXG4gICAgICAgICAgKGNsaWNrKT1cIm9uVG9nZ2xlQ291bnRkb3duQnV0dG9uU3RhdGUoJGV2ZW50LCBXSURHRVRfVFlQRV9WQUxVRVMuQUxBUk1TKVwiXG4gICAgICAgIC8+XG4gICAgICAgIDxjOHktY291bnRkb3duLWludGVydmFsXG4gICAgICAgICAgKm5nSWY9XCJpc0ludGVydmFsUmVmcmVzaFRvZ2dsZU9uXCJcbiAgICAgICAgICBbY291bnRkb3duSW50ZXJ2YWxdPVwicmVmcmVzaEludGVydmFsXCJcbiAgICAgICAgICAoY291bnRkb3duRW5kZWQpPVwiY291bnRkb3duRW5kZWQoKVwiXG4gICAgICAgID48L2M4eS1jb3VudGRvd24taW50ZXJ2YWw+XG4gICAgICAgIDxpXG4gICAgICAgICAgYzh5SWNvbj1cInBhdXNlXCJcbiAgICAgICAgICAqbmdJZj1cIiFpc0ludGVydmFsUmVmcmVzaFRvZ2dsZU9uXCJcbiAgICAgICAgPjwvaT5cbiAgICAgIDwvbGFiZWw+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cC1idG5cIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0XCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidSZWZyZXNoJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgW3Rvb2x0aXBdPVwiXG4gICAgICAgICAgICAhaXNOZXdBbGFybU1lc3NhZ2VDbGVhcmVkXG4gICAgICAgICAgICAgID8gKFJFQUxUSU1FX1VQREFURV9BTEFSTVNfTUVTU0FHRSB8IHRyYW5zbGF0ZSlcbiAgICAgICAgICAgICAgOiAoJ1JlZnJlc2gnIHwgdHJhbnNsYXRlKVxuICAgICAgICAgIFwiXG4gICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tXCJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBbYWRhcHRpdmVQb3NpdGlvbl09XCJmYWxzZVwiXG4gICAgICAgICAgW2NvbnRhaW5lcl09XCInYm9keSdcIlxuICAgICAgICAgIFtkZWxheV09XCI1MDBcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJpc1JlZnJlc2hEaXNhYmxlZCB8fCAoaXNMb2FkaW5nIHwgYXN5bmMpXCJcbiAgICAgICAgICAoY2xpY2spPVwicmVsb2FkKClcIlxuICAgICAgICAgIGRhdGEtY3k9XCJjOHktYWxhcm1zLXdpZGdldC0tcmVsb2FkLWJ1dHRvblwiXG4gICAgICAgID5cbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgY2xhc3M9XCJ0YWcgdGFnLS1pbmZvIG0tci04XCJcbiAgICAgICAgICAgICpuZ0lmPVwiIWlzTmV3QWxhcm1NZXNzYWdlQ2xlYXJlZFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgJ05ldyBhbGFybXMnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxpXG4gICAgICAgICAgICBjOHlJY29uPVwicmVmcmVzaFwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdpY29uLXNwaW4nOiBpc0xvYWRpbmcgfCBhc3luYyB9XCJcbiAgICAgICAgICA+PC9pPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImlucHV0LWdyb3VwLWJ0biBpbnB1dC1ncm91cC1idG4tLWxhc3RcIlxuICAgICAgICAqbmdJZj1cIiFpc0ludGVydmFsUmVmcmVzaFwiXG4gICAgICA+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBjbGFzcz1cImM4eS1yZWFsdGltZSBidG4gYnRuLWRlZmF1bHRcIlxuICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwicmVhbHRpbWVJY29uVGl0bGVcIlxuICAgICAgICAgIFt0b29sdGlwXT1cInJlYWx0aW1lSWNvblRpdGxlXCJcbiAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b21cIlxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIFtjb250YWluZXJdPVwiJ2JvZHknXCJcbiAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlUmVhbHRpbWVTdGF0ZSgpXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNSZWZyZXNoRGlzYWJsZWRcIlxuICAgICAgICAgIGRhdGEtY3k9XCJjOHktYWxhcm1zLXdpZGdldC0tcmVhbHRpbWUtaW5kaWNhdG9yXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICBjbGFzcz1cImM4eS1wdWxzZSBtLTBcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICBhY3RpdmU6IGlzUmVhbHRpbWVUb2dnbGVPbixcbiAgICAgICAgICAgICAgaW5hY3RpdmU6ICFpc1JlYWx0aW1lVG9nZ2xlT25cbiAgICAgICAgICAgIH1cIlxuICAgICAgICAgID48L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+Il19
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ChangeDetectorRef, Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
|
|
2
|
-
import { CommonModule, CountdownIntervalComponent, CountdownIntervalModule, IntervalBasedReload, ListGroupModule, WidgetGlobalAutoRefreshService, gettext } from '@c8y/ngx-components';
|
|
2
|
+
import { CommonModule, CountdownIntervalComponent, CountdownIntervalModule, GainsightService, IntervalBasedReload, ListGroupModule, WIDGET_TYPE_VALUES, WidgetGlobalAutoRefreshService, gettext } from '@c8y/ngx-components';
|
|
3
3
|
import { TranslateService } from '@ngx-translate/core';
|
|
4
4
|
import { TooltipModule } from 'ngx-bootstrap/tooltip';
|
|
5
5
|
import { BehaviorSubject, Subject, takeUntil, tap } from 'rxjs';
|
|
@@ -9,11 +9,13 @@ import * as i2 from "@c8y/ngx-components";
|
|
|
9
9
|
import * as i3 from "@angular/common";
|
|
10
10
|
import * as i4 from "ngx-bootstrap/tooltip";
|
|
11
11
|
export class DatapointsReloadComponent extends IntervalBasedReload {
|
|
12
|
-
constructor(cdRef, translateService, widgetGlobalAutoRefreshService) {
|
|
12
|
+
constructor(cdRef, translateService, widgetGlobalAutoRefreshService, gainsightService) {
|
|
13
13
|
super();
|
|
14
14
|
this.cdRef = cdRef;
|
|
15
15
|
this.translateService = translateService;
|
|
16
16
|
this.widgetGlobalAutoRefreshService = widgetGlobalAutoRefreshService;
|
|
17
|
+
this.gainsightService = gainsightService;
|
|
18
|
+
this.WIDGET_TYPE_VALUES = WIDGET_TYPE_VALUES;
|
|
17
19
|
/**
|
|
18
20
|
* @inheritdoc
|
|
19
21
|
*/
|
|
@@ -109,13 +111,13 @@ export class DatapointsReloadComponent extends IntervalBasedReload {
|
|
|
109
111
|
!this.isScrolling &&
|
|
110
112
|
!this.hideCountdown);
|
|
111
113
|
}
|
|
112
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DatapointsReloadComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.TranslateService }, { token: i2.WidgetGlobalAutoRefreshService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
113
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DatapointsReloadComponent, isStandalone: true, selector: "c8y-datapoints-reload", inputs: { isAutoRefreshEnabled: "isAutoRefreshEnabled", isRefreshDisabled: "isRefreshDisabled", isLoading: "isLoading", isScrolling: "isScrolling", isExportModalOpen: "isExportModalOpen", refreshInterval: "refreshInterval", widgetInstanceGlobalAutoRefreshContext: "widgetInstanceGlobalAutoRefreshContext" }, outputs: { onCountdownEnded: "onCountdownEnded" }, viewQueries: [{ propertyName: "countdownIntervalComponent", first: true, predicate: CountdownIntervalComponent, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"!widgetInstanceGlobalAutoRefreshContext\">\n <div class=\"a-i-center input-group p-t-4 p-b-4 max-width-fit m-l-auto\">\n <label\n class=\"m-b-0 m-r-8 text-label-small text-truncate flex-no-shrink\"\n title=\" {{ 'Auto refresh' | translate }}\"\n *ngIf=\"refreshInterval && isAutoRefreshEnabled\"\n >\n {{ 'Auto refresh' | translate }}\n </label>\n <div class=\"input-group\">\n <label\n class=\"toggle-countdown\"\n [class.toggle-countdown-disabled]=\"isRefreshDisabled\"\n [attr.aria-label]=\"toggleCountdownButtonTooltipText\"\n [tooltip]=\"toggleCountdownButtonTooltipText\"\n placement=\"bottom\"\n *ngIf=\"refreshInterval && isAutoRefreshEnabled\"\n [adaptivePosition]=\"false\"\n [container]=\"'body'\"\n [delay]=\"500\"\n >\n <input\n type=\"checkbox\"\n [checked]=\"isIntervalRefreshToggleOn\"\n [disabled]=\"isRefreshDisabled\"\n data-cy=\"c8y-data-points-table-widget--interval-toggle-button\"\n (click)=\"onToggleCountdownButtonState($event)\"\n />\n\n <c8y-countdown-interval\n *ngIf=\"isIntervalRefreshToggleOn\"\n [countdownInterval]=\"refreshInterval\"\n (countdownEnded)=\"countdownEnded()\"\n ></c8y-countdown-interval>\n <i\n c8yIcon=\"pause\"\n *ngIf=\"!isIntervalRefreshToggleOn\"\n ></i>\n </label>\n\n <div class=\"input-group-btn\">\n <button\n class=\"btn btn-default\"\n [attr.aria-label]=\"'Refresh' | translate\"\n [tooltip]=\"'Refresh' | translate\"\n placement=\"bottom\"\n type=\"button\"\n [adaptivePosition]=\"false\"\n [container]=\"'body'\"\n [delay]=\"500\"\n [disabled]=\"isRefreshDisabled || (isLoading | async)\"\n (click)=\"reload()\"\n data-cy=\"c8y-data-points-table-widget--reload-button\"\n >\n <i\n c8yIcon=\"refresh\"\n [ngClass]=\"{ 'icon-spin': isLoading | async }\"\n ></i>\n </button>\n </div>\n </div>\n </div>\n</ng-container>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "pipe", type: i2.C8yTranslatePipe, name: "translate" }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "ngmodule", type: CountdownIntervalModule }, { kind: "component", type: i2.CountdownIntervalComponent, selector: "c8y-countdown-interval", inputs: ["countdownInterval"], outputs: ["countdownEnded"] }, { kind: "ngmodule", type: ListGroupModule }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i4.TooltipDirective, selector: "[tooltip], [tooltipHtml]", inputs: ["adaptivePosition", "tooltip", "placement", "triggers", "container", "containerClass", "boundariesElement", "isOpen", "isDisabled", "delay", "tooltipHtml", "tooltipPlacement", "tooltipIsOpen", "tooltipEnable", "tooltipAppendToBody", "tooltipAnimation", "tooltipClass", "tooltipContext", "tooltipPopupDelay", "tooltipFadeDuration", "tooltipTrigger"], outputs: ["tooltipChange", "onShown", "onHidden", "tooltipStateChanged"], exportAs: ["bs-tooltip"] }] }); }
|
|
114
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DatapointsReloadComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.TranslateService }, { token: i2.WidgetGlobalAutoRefreshService }, { token: i2.GainsightService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
115
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DatapointsReloadComponent, isStandalone: true, selector: "c8y-datapoints-reload", inputs: { isAutoRefreshEnabled: "isAutoRefreshEnabled", isRefreshDisabled: "isRefreshDisabled", isLoading: "isLoading", isScrolling: "isScrolling", isExportModalOpen: "isExportModalOpen", refreshInterval: "refreshInterval", widgetInstanceGlobalAutoRefreshContext: "widgetInstanceGlobalAutoRefreshContext" }, outputs: { onCountdownEnded: "onCountdownEnded" }, viewQueries: [{ propertyName: "countdownIntervalComponent", first: true, predicate: CountdownIntervalComponent, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"!widgetInstanceGlobalAutoRefreshContext\">\n <div class=\"a-i-center input-group p-t-4 p-b-4 max-width-fit m-l-auto\">\n <label\n class=\"m-b-0 m-r-8 text-label-small text-truncate flex-no-shrink\"\n title=\" {{ 'Auto refresh' | translate }}\"\n *ngIf=\"refreshInterval && isAutoRefreshEnabled\"\n >\n {{ 'Auto refresh' | translate }}\n </label>\n <div class=\"input-group\">\n <label\n class=\"toggle-countdown\"\n [class.toggle-countdown-disabled]=\"isRefreshDisabled\"\n [attr.aria-label]=\"toggleCountdownButtonTooltipText\"\n [tooltip]=\"toggleCountdownButtonTooltipText\"\n placement=\"bottom\"\n *ngIf=\"refreshInterval && isAutoRefreshEnabled\"\n [adaptivePosition]=\"false\"\n [container]=\"'body'\"\n [delay]=\"500\"\n >\n <input\n type=\"checkbox\"\n [checked]=\"isIntervalRefreshToggleOn\"\n [disabled]=\"isRefreshDisabled\"\n data-cy=\"c8y-data-points-table-widget--interval-toggle-button\"\n (click)=\"onToggleCountdownButtonState($event, WIDGET_TYPE_VALUES.DATA_POINTS_TABLE)\"\n />\n\n <c8y-countdown-interval\n *ngIf=\"isIntervalRefreshToggleOn\"\n [countdownInterval]=\"refreshInterval\"\n (countdownEnded)=\"countdownEnded()\"\n ></c8y-countdown-interval>\n <i\n c8yIcon=\"pause\"\n *ngIf=\"!isIntervalRefreshToggleOn\"\n ></i>\n </label>\n\n <div class=\"input-group-btn\">\n <button\n class=\"btn btn-default\"\n [attr.aria-label]=\"'Refresh' | translate\"\n [tooltip]=\"'Refresh' | translate\"\n placement=\"bottom\"\n type=\"button\"\n [adaptivePosition]=\"false\"\n [container]=\"'body'\"\n [delay]=\"500\"\n [disabled]=\"isRefreshDisabled || (isLoading | async)\"\n (click)=\"reload()\"\n data-cy=\"c8y-data-points-table-widget--reload-button\"\n >\n <i\n c8yIcon=\"refresh\"\n [ngClass]=\"{ 'icon-spin': isLoading | async }\"\n ></i>\n </button>\n </div>\n </div>\n </div>\n</ng-container>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "pipe", type: i2.C8yTranslatePipe, name: "translate" }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "ngmodule", type: CountdownIntervalModule }, { kind: "component", type: i2.CountdownIntervalComponent, selector: "c8y-countdown-interval", inputs: ["countdownInterval"], outputs: ["countdownEnded"] }, { kind: "ngmodule", type: ListGroupModule }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i4.TooltipDirective, selector: "[tooltip], [tooltipHtml]", inputs: ["adaptivePosition", "tooltip", "placement", "triggers", "container", "containerClass", "boundariesElement", "isOpen", "isDisabled", "delay", "tooltipHtml", "tooltipPlacement", "tooltipIsOpen", "tooltipEnable", "tooltipAppendToBody", "tooltipAnimation", "tooltipClass", "tooltipContext", "tooltipPopupDelay", "tooltipFadeDuration", "tooltipTrigger"], outputs: ["tooltipChange", "onShown", "onHidden", "tooltipStateChanged"], exportAs: ["bs-tooltip"] }] }); }
|
|
114
116
|
}
|
|
115
117
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DatapointsReloadComponent, decorators: [{
|
|
116
118
|
type: Component,
|
|
117
|
-
args: [{ selector: 'c8y-datapoints-reload', standalone: true, imports: [CommonModule, CountdownIntervalModule, ListGroupModule, TooltipModule], template: "<ng-container *ngIf=\"!widgetInstanceGlobalAutoRefreshContext\">\n <div class=\"a-i-center input-group p-t-4 p-b-4 max-width-fit m-l-auto\">\n <label\n class=\"m-b-0 m-r-8 text-label-small text-truncate flex-no-shrink\"\n title=\" {{ 'Auto refresh' | translate }}\"\n *ngIf=\"refreshInterval && isAutoRefreshEnabled\"\n >\n {{ 'Auto refresh' | translate }}\n </label>\n <div class=\"input-group\">\n <label\n class=\"toggle-countdown\"\n [class.toggle-countdown-disabled]=\"isRefreshDisabled\"\n [attr.aria-label]=\"toggleCountdownButtonTooltipText\"\n [tooltip]=\"toggleCountdownButtonTooltipText\"\n placement=\"bottom\"\n *ngIf=\"refreshInterval && isAutoRefreshEnabled\"\n [adaptivePosition]=\"false\"\n [container]=\"'body'\"\n [delay]=\"500\"\n >\n <input\n type=\"checkbox\"\n [checked]=\"isIntervalRefreshToggleOn\"\n [disabled]=\"isRefreshDisabled\"\n data-cy=\"c8y-data-points-table-widget--interval-toggle-button\"\n (click)=\"onToggleCountdownButtonState($event)\"\n />\n\n <c8y-countdown-interval\n *ngIf=\"isIntervalRefreshToggleOn\"\n [countdownInterval]=\"refreshInterval\"\n (countdownEnded)=\"countdownEnded()\"\n ></c8y-countdown-interval>\n <i\n c8yIcon=\"pause\"\n *ngIf=\"!isIntervalRefreshToggleOn\"\n ></i>\n </label>\n\n <div class=\"input-group-btn\">\n <button\n class=\"btn btn-default\"\n [attr.aria-label]=\"'Refresh' | translate\"\n [tooltip]=\"'Refresh' | translate\"\n placement=\"bottom\"\n type=\"button\"\n [adaptivePosition]=\"false\"\n [container]=\"'body'\"\n [delay]=\"500\"\n [disabled]=\"isRefreshDisabled || (isLoading | async)\"\n (click)=\"reload()\"\n data-cy=\"c8y-data-points-table-widget--reload-button\"\n >\n <i\n c8yIcon=\"refresh\"\n [ngClass]=\"{ 'icon-spin': isLoading | async }\"\n ></i>\n </button>\n </div>\n </div>\n </div>\n</ng-container>\n" }]
|
|
118
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.TranslateService }, { type: i2.WidgetGlobalAutoRefreshService }], propDecorators: { countdownIntervalComponent: [{
|
|
119
|
+
args: [{ selector: 'c8y-datapoints-reload', standalone: true, imports: [CommonModule, CountdownIntervalModule, ListGroupModule, TooltipModule], template: "<ng-container *ngIf=\"!widgetInstanceGlobalAutoRefreshContext\">\n <div class=\"a-i-center input-group p-t-4 p-b-4 max-width-fit m-l-auto\">\n <label\n class=\"m-b-0 m-r-8 text-label-small text-truncate flex-no-shrink\"\n title=\" {{ 'Auto refresh' | translate }}\"\n *ngIf=\"refreshInterval && isAutoRefreshEnabled\"\n >\n {{ 'Auto refresh' | translate }}\n </label>\n <div class=\"input-group\">\n <label\n class=\"toggle-countdown\"\n [class.toggle-countdown-disabled]=\"isRefreshDisabled\"\n [attr.aria-label]=\"toggleCountdownButtonTooltipText\"\n [tooltip]=\"toggleCountdownButtonTooltipText\"\n placement=\"bottom\"\n *ngIf=\"refreshInterval && isAutoRefreshEnabled\"\n [adaptivePosition]=\"false\"\n [container]=\"'body'\"\n [delay]=\"500\"\n >\n <input\n type=\"checkbox\"\n [checked]=\"isIntervalRefreshToggleOn\"\n [disabled]=\"isRefreshDisabled\"\n data-cy=\"c8y-data-points-table-widget--interval-toggle-button\"\n (click)=\"onToggleCountdownButtonState($event, WIDGET_TYPE_VALUES.DATA_POINTS_TABLE)\"\n />\n\n <c8y-countdown-interval\n *ngIf=\"isIntervalRefreshToggleOn\"\n [countdownInterval]=\"refreshInterval\"\n (countdownEnded)=\"countdownEnded()\"\n ></c8y-countdown-interval>\n <i\n c8yIcon=\"pause\"\n *ngIf=\"!isIntervalRefreshToggleOn\"\n ></i>\n </label>\n\n <div class=\"input-group-btn\">\n <button\n class=\"btn btn-default\"\n [attr.aria-label]=\"'Refresh' | translate\"\n [tooltip]=\"'Refresh' | translate\"\n placement=\"bottom\"\n type=\"button\"\n [adaptivePosition]=\"false\"\n [container]=\"'body'\"\n [delay]=\"500\"\n [disabled]=\"isRefreshDisabled || (isLoading | async)\"\n (click)=\"reload()\"\n data-cy=\"c8y-data-points-table-widget--reload-button\"\n >\n <i\n c8yIcon=\"refresh\"\n [ngClass]=\"{ 'icon-spin': isLoading | async }\"\n ></i>\n </button>\n </div>\n </div>\n </div>\n</ng-container>\n" }]
|
|
120
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.TranslateService }, { type: i2.WidgetGlobalAutoRefreshService }, { type: i2.GainsightService }], propDecorators: { countdownIntervalComponent: [{
|
|
119
121
|
type: ViewChild,
|
|
120
122
|
args: [CountdownIntervalComponent, { static: false }]
|
|
121
123
|
}], isAutoRefreshEnabled: [{
|
|
@@ -135,4 +137,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
135
137
|
}], onCountdownEnded: [{
|
|
136
138
|
type: Output
|
|
137
139
|
}] } });
|
|
138
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXBvaW50cy1yZWxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vd2lkZ2V0cy9pbXBsZW1lbnRhdGlvbnMvZGF0YXBvaW50cy10YWJsZS9kYXRhcG9pbnRzLXRhYmxlLXZpZXcvZGF0YXBvaW50cy1yZWxvYWQvZGF0YXBvaW50cy1yZWxvYWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vd2lkZ2V0cy9pbXBsZW1lbnRhdGlvbnMvZGF0YXBvaW50cy10YWJsZS9kYXRhcG9pbnRzLXRhYmxlLXZpZXcvZGF0YXBvaW50cy1yZWxvYWQvZGF0YXBvaW50cy1yZWxvYWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBRU4sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxZQUFZLEVBQ1osMEJBQTBCLEVBQzFCLHVCQUF1QixFQUN2QixtQkFBbUIsRUFDbkIsZUFBZSxFQUNmLDhCQUE4QixFQUM5QixPQUFPLEVBQ1IsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7O0FBUWhFLE1BQU0sT0FBTyx5QkFDWCxTQUFRLG1CQUFtQjtJQWdEM0IsWUFDVSxLQUF3QixFQUN4QixnQkFBa0MsRUFDbEMsOEJBQThEO1FBRXRFLEtBQUssRUFBRSxDQUFDO1FBSkEsVUFBSyxHQUFMLEtBQUssQ0FBbUI7UUFDeEIscUJBQWdCLEdBQWhCLGdCQUFnQixD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Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQ29tbW9uTW9kdWxlLFxuICBDb3VudGRvd25JbnRlcnZhbENvbXBvbmVudCxcbiAgQ291bnRkb3duSW50ZXJ2YWxNb2R1bGUsXG4gIEludGVydmFsQmFzZWRSZWxvYWQsXG4gIExpc3RHcm91cE1vZHVsZSxcbiAgV2lkZ2V0R2xvYmFsQXV0b1JlZnJlc2hTZXJ2aWNlLFxuICBnZXR0ZXh0XG59IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgVG9vbHRpcE1vZHVsZSB9IGZyb20gJ25neC1ib290c3RyYXAvdG9vbHRpcCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YmplY3QsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2M4eS1kYXRhcG9pbnRzLXJlbG9hZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRhcG9pbnRzLXJlbG9hZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIENvdW50ZG93bkludGVydmFsTW9kdWxlLCBMaXN0R3JvdXBNb2R1bGUsIFRvb2x0aXBNb2R1bGVdXG59KVxuZXhwb3J0IGNsYXNzIERhdGFwb2ludHNSZWxvYWRDb21wb25lbnRcbiAgZXh0ZW5kcyBJbnRlcnZhbEJhc2VkUmVsb2FkXG4gIGltcGxlbWVudHMgT25DaGFuZ2VzLCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3lcbntcbiAgQFZpZXdDaGlsZChDb3VudGRvd25JbnRlcnZhbENvbXBvbmVudCwgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIGNvdW50ZG93bkludGVydmFsQ29tcG9uZW50OiBDb3VudGRvd25JbnRlcnZhbENvbXBvbmVudDtcbiAgLyoqXG4gICAqIEBpbmhlcml0ZG9jXG4gICAqL1xuICBASW5wdXQoKSBpc0F1dG9SZWZyZXNoRW5hYmxlZDogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEBpbmhlcml0ZG9jXG4gICAqL1xuICBASW5wdXQoKSBpc1JlZnJlc2hEaXNhYmxlZCA9IGZhbHNlO1xuICAvKipcbiAgICogQGluaGVyaXRkb2NcbiAgICovXG4gIEBJbnB1dCgpIGlzTG9hZGluZzogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+O1xuXG4gIEBJbnB1dCgpIGlzU2Nyb2xsaW5nOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpIGlzRXhwb3J0TW9kYWxPcGVuOiBib29sZWFuO1xuICAvKipcbiAgICogQGluaGVyaXRkb2NcbiAgICovXG4gIEBJbnB1dCgpIHJlZnJlc2hJbnRlcnZhbDogbnVtYmVyO1xuXG4gIEBJbnB1dCgpIHdpZGdldEluc3RhbmNlR2xvYmFsQXV0b1JlZnJlc2hDb250ZXh0OiBib29sZWFuO1xuICAvKipcbiAgICogQGluaGVyaXRkb2NcbiAgICovXG4gIEBPdXRwdXQoKSBvbkNvdW50ZG93bkVuZGVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICAvKipcbiAgICogQGluaGVyaXRkb2NcbiAgICovXG4gIGlzSW50ZXJ2YWxSZWZyZXNoVG9nZ2xlT246IGJvb2xlYW47XG5cbiAgdG9nZ2xlQ291bnRkb3duQnV0dG9uVG9vbHRpcFRleHQ6IHN0cmluZztcbiAgLyoqXG4gICAqIEBpbmhlcml0ZG9jXG4gICAqL1xuICBwcm90ZWN0ZWQgbWFudWFsbHlEaXNhYmxlZENvdW50ZG93biA9IGZhbHNlO1xuICAvKipcbiAgICogQGluaGVyaXRkb2NcbiAgICovXG4gIHByb3RlY3RlZCBoaWRlQ291bnRkb3duOiBib29sZWFuO1xuXG4gIHByb3RlY3RlZCBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgd2lkZ2V0R2xvYmFsQXV0b1JlZnJlc2hTZXJ2aWNlOiBXaWRnZXRHbG9iYWxBdXRvUmVmcmVzaFNlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBpZiAodGhpcy53aWRnZXRJbnN0YW5jZUdsb2JhbEF1dG9SZWZyZXNoQ29udGV4dCkge1xuICAgICAgdGhpcy53aWRnZXRHbG9iYWxBdXRvUmVmcmVzaFNlcnZpY2UuY291bnRkb3duQWN0aW9ucy5jb3VudGRvd25FbmRlZCRcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgICAgIHRhcCgoKSA9PiB0aGlzLm9uQ291bnRkb3duRW5kZWQuZW1pdCgpKVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNSZWZyZXNoRGlzYWJsZWQgJiYgdGhpcy5pc0F1dG9SZWZyZXNoRW5hYmxlZCkge1xuICAgICAgdGhpcy5pc0ludGVydmFsUmVmcmVzaFRvZ2dsZU9uID0gZmFsc2U7XG4gICAgICB0aGlzLmRpc2FibGVDb3VudGRvd24oKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pc0V4cG9ydE1vZGFsT3BlbiAmJiB0aGlzLmNhbkRpc2FibGVDb3VudGRvd25XaGVuTW9kYWxJc09wZW4oKSkge1xuICAgICAgdGhpcy5pc0ludGVydmFsUmVmcmVzaFRvZ2dsZU9uID0gIXRoaXMuaXNJbnRlcnZhbFJlZnJlc2hUb2dnbGVPbjtcbiAgICAgIHRoaXMuZGlzYWJsZUNvdW50ZG93bigpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5jYW5TdGFydENvdW50ZG93bihjaGFuZ2VzKSkge1xuICAgICAgICB0aGlzLmlzSW50ZXJ2YWxSZWZyZXNoVG9nZ2xlT24gPSB0cnVlO1xuICAgICAgICB0aGlzLnN0YXJ0Q291bnRkb3duKCk7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLmNhbkhhbmRsZVNjcm9sbGluZygpKSB7XG4gICAgICAgIHRoaXMuaGFuZGxlU2Nyb2xsaW5nKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY291bnRkb3duU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLmNvdW50ZG93blN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxuICAvKipcbiAgICogQGluaGVyaXRkb2NcbiAgICovXG4gIGNvdW50ZG93bkVuZGVkKCk6IHZvaWQge1xuICAgIC8qKlxuICAgICAqIEBpbmhlcml0ZG9jXG4gICAgICovXG4gICAgdGhpcy5hdXRvUmVmcmVzaExpc3QoKTtcbiAgfVxuXG4gIHJlbG9hZCgpOiB2b2lkIHtcbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdGRvY1xuICAgICAqL1xuICAgIHRoaXMuYXV0b1JlZnJlc2hMaXN0KCk7XG4gIH1cblxuICAvKipcbiAgICogQGluaGVyaXRkb2NcbiAgICovXG4gIGVuYWJsZUNvdW50ZG93bigpOiB2b2lkIHtcbiAgICB0aGlzLmhpZGVDb3VudGRvd24gPSBmYWxzZTtcbiAgICAvLyBQcmV2ZW50cyB0aGUgY291bnRkb3duIGZyb20gZ2V0dGluZyBzdHVjayBvbiBhbiBpbml0aWFsIHZhbHVlLlxuICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIHRoaXMuc3RhcnRDb3VudGRvd24oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW5oZXJpdGRvY1xuICAgKi9cbiAgcHJvdGVjdGVkIHVwZGF0ZUNvdW50ZG93bkJ1dHRvblRvb2x0aXBUZXh0KCk6IHZvaWQge1xuICAgIHRoaXMudG9nZ2xlQ291bnRkb3duQnV0dG9uVG9vbHRpcFRleHQgPSB0aGlzLmlzSW50ZXJ2YWxSZWZyZXNoVG9nZ2xlT25cbiAgICAgID8gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoZ2V0dGV4dCgnRGlzYWJsZSBhdXRvIHJlZnJlc2gnKSlcbiAgICAgIDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoZ2V0dGV4dCgnRW5hYmxlIGF1dG8gcmVmcmVzaCcpKTtcbiAgfVxuXG4gIHByaXZhdGUgY2FuU3RhcnRDb3VudGRvd24oY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHsgaXNBdXRvUmVmcmVzaEVuYWJsZWQsIHJlZnJlc2hJbnRlcnZhbCB9ID0gY2hhbmdlcztcbiAgICByZXR1cm4gKFxuICAgICAgKGlzQXV0b1JlZnJlc2hFbmFibGVkIHx8IHJlZnJlc2hJbnRlcnZhbCkgJiZcbiAgICAgICh0aGlzLmlzQXV0b1JlZnJlc2hFbmFibGVkIHx8ICEhdGhpcy5yZWZyZXNoSW50ZXJ2YWwpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgY2FuSGFuZGxlU2Nyb2xsaW5nKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5tYW51YWxseURpc2FibGVkQ291bnRkb3duICYmIHRoaXMuaXNBdXRvUmVmcmVzaEVuYWJsZWQ7XG4gIH1cblxuICBwcml2YXRlIGNhbkRpc2FibGVDb3VudGRvd25XaGVuTW9kYWxJc09wZW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuaXNBdXRvUmVmcmVzaEVuYWJsZWQgJiZcbiAgICAgICEhdGhpcy5yZWZyZXNoSW50ZXJ2YWwgJiZcbiAgICAgICF0aGlzLm1hbnVhbGx5RGlzYWJsZWRDb3VudGRvd24gJiZcbiAgICAgICF0aGlzLmlzU2Nyb2xsaW5nICYmXG4gICAgICAhdGhpcy5oaWRlQ291bnRkb3duXG4gICAgKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIiF3aWRnZXRJbnN0YW5jZUdsb2JhbEF1dG9SZWZyZXNoQ29udGV4dFwiPlxuICA8ZGl2IGNsYXNzPVwiYS1pLWNlbnRlciBpbnB1dC1ncm91cCBwLXQtNCBwLWItNCBtYXgtd2lkdGgtZml0IG0tbC1hdXRvXCI+XG4gICAgPGxhYmVsXG4gICAgICBjbGFzcz1cIm0tYi0wIG0tci04IHRleHQtbGFiZWwtc21hbGwgdGV4dC10cnVuY2F0ZSBmbGV4LW5vLXNocmlua1wiXG4gICAgICB0aXRsZT1cIiB7eyAnQXV0byByZWZyZXNoJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAqbmdJZj1cInJlZnJlc2hJbnRlcnZhbCAmJiBpc0F1dG9SZWZyZXNoRW5hYmxlZFwiXG4gICAgPlxuICAgICAge3sgJ0F1dG8gcmVmcmVzaCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2xhYmVsPlxuICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cFwiPlxuICAgICAgPGxhYmVsXG4gICAgICAgIGNsYXNzPVwidG9nZ2xlLWNvdW50ZG93blwiXG4gICAgICAgIFtjbGFzcy50b2dnbGUtY291bnRkb3duLWRpc2FibGVkXT1cImlzUmVmcmVzaERpc2FibGVkXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJ0b2dnbGVDb3VudGRvd25CdXR0b25Ub29sdGlwVGV4dFwiXG4gICAgICAgIFt0b29sdGlwXT1cInRvZ2dsZUNvdW50ZG93bkJ1dHRvblRvb2x0aXBUZXh0XCJcbiAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tXCJcbiAgICAgICAgKm5nSWY9XCJyZWZyZXNoSW50ZXJ2YWwgJiYgaXNBdXRvUmVmcmVzaEVuYWJsZWRcIlxuICAgICAgICBbYWRhcHRpdmVQb3NpdGlvbl09XCJmYWxzZVwiXG4gICAgICAgIFtjb250YWluZXJdPVwiJ2JvZHknXCJcbiAgICAgICAgW2RlbGF5XT1cIjUwMFwiXG4gICAgICA+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgW2NoZWNrZWRdPVwiaXNJbnRlcnZhbFJlZnJlc2hUb2dnbGVPblwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImlzUmVmcmVzaERpc2FibGVkXCJcbiAgICAgICAgICBkYXRhLWN5PVwiYzh5LWRhdGEtcG9pbnRzLXRhYmxlLXdpZGdldC0taW50ZXJ2YWwtdG9nZ2xlLWJ1dHRvblwiXG4gICAgICAgICAgKGNsaWNrKT1cIm9uVG9nZ2xlQ291bnRkb3duQnV0dG9uU3RhdGUoJGV2ZW50KVwiXG4gICAgICAgIC8+XG5cbiAgICAgICAgPGM4eS1jb3VudGRvd24taW50ZXJ2YWxcbiAgICAgICAgICAqbmdJZj1cImlzSW50ZXJ2YWxSZWZyZXNoVG9nZ2xlT25cIlxuICAgICAgICAgIFtjb3VudGRvd25JbnRlcnZhbF09XCJyZWZyZXNoSW50ZXJ2YWxcIlxuICAgICAgICAgIChjb3VudGRvd25FbmRlZCk9XCJjb3VudGRvd25FbmRlZCgpXCJcbiAgICAgICAgPjwvYzh5LWNvdW50ZG93bi1pbnRlcnZhbD5cbiAgICAgICAgPGlcbiAgICAgICAgICBjOHlJY29uPVwicGF1c2VcIlxuICAgICAgICAgICpuZ0lmPVwiIWlzSW50ZXJ2YWxSZWZyZXNoVG9nZ2xlT25cIlxuICAgICAgICA+PC9pPlxuICAgICAgPC9sYWJlbD5cblxuICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwLWJ0blwiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWRlZmF1bHRcIlxuICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ1JlZnJlc2gnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICBbdG9vbHRpcF09XCInUmVmcmVzaCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbVwiXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgW2FkYXB0aXZlUG9zaXRpb25dPVwiZmFsc2VcIlxuICAgICAgICAgIFtjb250YWluZXJdPVwiJ2JvZHknXCJcbiAgICAgICAgICBbZGVsYXldPVwiNTAwXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNSZWZyZXNoRGlzYWJsZWQgfHwgKGlzTG9hZGluZyB8IGFzeW5jKVwiXG4gICAgICAgICAgKGNsaWNrKT1cInJlbG9hZCgpXCJcbiAgICAgICAgICBkYXRhLWN5PVwiYzh5LWRhdGEtcG9pbnRzLXRhYmxlLXdpZGdldC0tcmVsb2FkLWJ1dHRvblwiXG4gICAgICAgID5cbiAgICAgICAgICA8aVxuICAgICAgICAgICAgYzh5SWNvbj1cInJlZnJlc2hcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnaWNvbi1zcGluJzogaXNMb2FkaW5nIHwgYXN5bmMgfVwiXG4gICAgICAgICAgPjwvaT5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
|
140
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXBvaW50cy1yZWxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vd2lkZ2V0cy9pbXBsZW1lbnRhdGlvbnMvZGF0YXBvaW50cy10YWJsZS9kYXRhcG9pbnRzLXRhYmxlLXZpZXcvZGF0YXBvaW50cy1yZWxvYWQvZGF0YXBvaW50cy1yZWxvYWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vd2lkZ2V0cy9pbXBsZW1lbnRhdGlvbnMvZGF0YXBvaW50cy10YWJsZS9kYXRhcG9pbnRzLXRhYmxlLXZpZXcvZGF0YXBvaW50cy1yZWxvYWQvZGF0YXBvaW50cy1yZWxvYWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBRU4sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxZQUFZLEVBQ1osMEJBQTBCLEVBQzFCLHVCQUF1QixFQUN2QixnQkFBZ0IsRUFDaEIsbUJBQW1CLEVBQ25CLGVBQWUsRUFDZixrQkFBa0IsRUFDbEIsOEJBQThCLEVBQzlCLE9BQU8sRUFDUixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7QUFRaEUsTUFBTSxPQUFPLHlCQUNYLFNBQVEsbUJBQW1CO0lBa0QzQixZQUNVLEtBQXdCLEVBQ3hCLGdCQUFrQyxFQUNsQyw4QkFBOEQsRUFDNUQsZ0JBQWtDO1FBRTVDLEtBQUssRUFBRSxDQUFDO1FBTEEsVUFBSyxHQUFM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QUFLO2dCQUVHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFJRyxlQUFlO3NCQUF2QixLQUFLO2dCQUVHLHNDQUFzQztzQkFBOUMsS0FBSztnQkFJSSxnQkFBZ0I7c0JBQXpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBDb21tb25Nb2R1bGUsXG4gIENvdW50ZG93bkludGVydmFsQ29tcG9uZW50LFxuICBDb3VudGRvd25JbnRlcnZhbE1vZHVsZSxcbiAgR2FpbnNpZ2h0U2VydmljZSxcbiAgSW50ZXJ2YWxCYXNlZFJlbG9hZCxcbiAgTGlzdEdyb3VwTW9kdWxlLFxuICBXSURHRVRfVFlQRV9WQUxVRVMsXG4gIFdpZGdldEdsb2JhbEF1dG9SZWZyZXNoU2VydmljZSxcbiAgZ2V0dGV4dFxufSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IFRvb2x0aXBNb2R1bGUgfSBmcm9tICduZ3gtYm9vdHN0cmFwL3Rvb2x0aXAnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJqZWN0LCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjOHktZGF0YXBvaW50cy1yZWxvYWQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF0YXBvaW50cy1yZWxvYWQuY29tcG9uZW50Lmh0bWwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBDb3VudGRvd25JbnRlcnZhbE1vZHVsZSwgTGlzdEdyb3VwTW9kdWxlLCBUb29sdGlwTW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBEYXRhcG9pbnRzUmVsb2FkQ29tcG9uZW50XG4gIGV4dGVuZHMgSW50ZXJ2YWxCYXNlZFJlbG9hZFxuICBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95XG57XG4gIHJlYWRvbmx5IFdJREdFVF9UWVBFX1ZBTFVFUyA9IFdJREdFVF9UWVBFX1ZBTFVFUztcblxuICBAVmlld0NoaWxkKENvdW50ZG93bkludGVydmFsQ29tcG9uZW50LCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgY291bnRkb3duSW50ZXJ2YWxDb21wb25lbnQ6IENvdW50ZG93bkludGVydmFsQ29tcG9uZW50O1xuICAvKipcbiAgICogQGluaGVyaXRkb2NcbiAgICovXG4gIEBJbnB1dCgpIGlzQXV0b1JlZnJlc2hFbmFibGVkOiBib29sZWFuO1xuICAvKipcbiAgICogQGluaGVyaXRkb2NcbiAgICovXG4gIEBJbnB1dCgpIGlzUmVmcmVzaERpc2FibGVkID0gZmFsc2U7XG4gIC8qKlxuICAgKiBAaW5oZXJpdGRvY1xuICAgKi9cbiAgQElucHV0KCkgaXNMb2FkaW5nOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj47XG5cbiAgQElucHV0KCkgaXNTY3JvbGxpbmc6IGJvb2xlYW47XG5cbiAgQElucHV0KCkgaXNFeHBvcnRNb2RhbE9wZW46IGJvb2xlYW47XG4gIC8qKlxuICAgKiBAaW5oZXJpdGRvY1xuICAgKi9cbiAgQElucHV0KCkgcmVmcmVzaEludGVydmFsOiBudW1iZXI7XG5cbiAgQElucHV0KCkgd2lkZ2V0SW5zdGFuY2VHbG9iYWxBdXRvUmVmcmVzaENvbnRleHQ6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBAaW5oZXJpdGRvY1xuICAgKi9cbiAgQE91dHB1dCgpIG9uQ291bnRkb3duRW5kZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIC8qKlxuICAgKiBAaW5oZXJpdGRvY1xuICAgKi9cbiAgaXNJbnRlcnZhbFJlZnJlc2hUb2dnbGVPbjogYm9vbGVhbjtcblxuICB0b2dnbGVDb3VudGRvd25CdXR0b25Ub29sdGlwVGV4dDogc3RyaW5nO1xuICAvKipcbiAgICogQGluaGVyaXRkb2NcbiAgICovXG4gIHByb3RlY3RlZCBtYW51YWxseURpc2FibGVkQ291bnRkb3duID0gZmFsc2U7XG4gIC8qKlxuICAgKiBAaW5oZXJpdGRvY1xuICAgKi9cbiAgcHJvdGVjdGVkIGhpZGVDb3VudGRvd246IGJvb2xlYW47XG5cbiAgcHJvdGVjdGVkIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSB3aWRnZXRHbG9iYWxBdXRvUmVmcmVzaFNlcnZpY2U6IFdpZGdldEdsb2JhbEF1dG9SZWZyZXNoU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgZ2FpbnNpZ2h0U2VydmljZTogR2FpbnNpZ2h0U2VydmljZVxuICApIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGlmICh0aGlzLndpZGdldEluc3RhbmNlR2xvYmFsQXV0b1JlZnJlc2hDb250ZXh0KSB7XG4gICAgICB0aGlzLndpZGdldEdsb2JhbEF1dG9SZWZyZXNoU2VydmljZS5jb3VudGRvd25BY3Rpb25zLmNvdW50ZG93bkVuZGVkJFxuICAgICAgICAucGlwZShcbiAgICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgICAgICAgdGFwKCgpID0+IHRoaXMub25Db3VudGRvd25FbmRlZC5lbWl0KCkpXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc1JlZnJlc2hEaXNhYmxlZCAmJiB0aGlzLmlzQXV0b1JlZnJlc2hFbmFibGVkKSB7XG4gICAgICB0aGlzLmlzSW50ZXJ2YWxSZWZyZXNoVG9nZ2xlT24gPSBmYWxzZTtcbiAgICAgIHRoaXMuZGlzYWJsZUNvdW50ZG93bigpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmlzRXhwb3J0TW9kYWxPcGVuICYmIHRoaXMuY2FuRGlzYWJsZUNvdW50ZG93bldoZW5Nb2RhbElzT3BlbigpKSB7XG4gICAgICB0aGlzLmlzSW50ZXJ2YWxSZWZyZXNoVG9nZ2xlT24gPSAhdGhpcy5pc0ludGVydmFsUmVmcmVzaFRvZ2dsZU9uO1xuICAgICAgdGhpcy5kaXNhYmxlQ291bnRkb3duKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLmNhblN0YXJ0Q291bnRkb3duKGNoYW5nZXMpKSB7XG4gICAgICAgIHRoaXMuaXNJbnRlcnZhbFJlZnJlc2hUb2dnbGVPbiA9IHRydWU7XG4gICAgICAgIHRoaXMuc3RhcnRDb3VudGRvd24oKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuY2FuSGFuZGxlU2Nyb2xsaW5nKCkpIHtcbiAgICAgICAgdGhpcy5oYW5kbGVTY3JvbGxpbmcoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jb3VudGRvd25TdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuY291bnRkb3duU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW5oZXJpdGRvY1xuICAgKi9cbiAgY291bnRkb3duRW5kZWQoKTogdm9pZCB7XG4gICAgLyoqXG4gICAgICogQGluaGVyaXRkb2NcbiAgICAgKi9cbiAgICB0aGlzLmF1dG9SZWZyZXNoTGlzdCgpO1xuICB9XG5cbiAgcmVsb2FkKCk6IHZvaWQge1xuICAgIC8qKlxuICAgICAqIEBpbmhlcml0ZG9jXG4gICAgICovXG4gICAgdGhpcy5hdXRvUmVmcmVzaExpc3QoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW5oZXJpdGRvY1xuICAgKi9cbiAgZW5hYmxlQ291bnRkb3duKCk6IHZvaWQge1xuICAgIHRoaXMuaGlkZUNvdW50ZG93biA9IGZhbHNlO1xuICAgIC8vIFByZXZlbnRzIHRoZSBjb3VudGRvd24gZnJvbSBnZXR0aW5nIHN0dWNrIG9uIGFuIGluaXRpYWwgdmFsdWUuXG4gICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgdGhpcy5zdGFydENvdW50ZG93bigpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbmhlcml0ZG9jXG4gICAqL1xuICBwcm90ZWN0ZWQgdXBkYXRlQ291bnRkb3duQnV0dG9uVG9vbHRpcFRleHQoKTogdm9pZCB7XG4gICAgdGhpcy50b2dnbGVDb3VudGRvd25CdXR0b25Ub29sdGlwVGV4dCA9IHRoaXMuaXNJbnRlcnZhbFJlZnJlc2hUb2dnbGVPblxuICAgICAgPyB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChnZXR0ZXh0KCdEaXNhYmxlIGF1dG8gcmVmcmVzaCcpKVxuICAgICAgOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChnZXR0ZXh0KCdFbmFibGUgYXV0byByZWZyZXNoJykpO1xuICB9XG5cbiAgcHJpdmF0ZSBjYW5TdGFydENvdW50ZG93bihjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogYm9vbGVhbiB7XG4gICAgY29uc3QgeyBpc0F1dG9SZWZyZXNoRW5hYmxlZCwgcmVmcmVzaEludGVydmFsIH0gPSBjaGFuZ2VzO1xuICAgIHJldHVybiAoXG4gICAgICAoaXNBdXRvUmVmcmVzaEVuYWJsZWQgfHwgcmVmcmVzaEludGVydmFsKSAmJlxuICAgICAgKHRoaXMuaXNBdXRvUmVmcmVzaEVuYWJsZWQgfHwgISF0aGlzLnJlZnJlc2hJbnRlcnZhbClcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBjYW5IYW5kbGVTY3JvbGxpbmcoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF0aGlzLm1hbnVhbGx5RGlzYWJsZWRDb3VudGRvd24gJiYgdGhpcy5pc0F1dG9SZWZyZXNoRW5hYmxlZDtcbiAgfVxuXG4gIHByaXZhdGUgY2FuRGlzYWJsZUNvdW50ZG93bldoZW5Nb2RhbElzT3BlbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5pc0F1dG9SZWZyZXNoRW5hYmxlZCAmJlxuICAgICAgISF0aGlzLnJlZnJlc2hJbnRlcnZhbCAmJlxuICAgICAgIXRoaXMubWFudWFsbHlEaXNhYmxlZENvdW50ZG93biAmJlxuICAgICAgIXRoaXMuaXNTY3JvbGxpbmcgJiZcbiAgICAgICF0aGlzLmhpZGVDb3VudGRvd25cbiAgICApO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiIXdpZGdldEluc3RhbmNlR2xvYmFsQXV0b1JlZnJlc2hDb250ZXh0XCI+XG4gIDxkaXYgY2xhc3M9XCJhLWktY2VudGVyIGlucHV0LWdyb3VwIHAtdC00IHAtYi00IG1heC13aWR0aC1maXQgbS1sLWF1dG9cIj5cbiAgICA8bGFiZWxcbiAgICAgIGNsYXNzPVwibS1iLTAgbS1yLTggdGV4dC1sYWJlbC1zbWFsbCB0ZXh0LXRydW5jYXRlIGZsZXgtbm8tc2hyaW5rXCJcbiAgICAgIHRpdGxlPVwiIHt7ICdBdXRvIHJlZnJlc2gnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICpuZ0lmPVwicmVmcmVzaEludGVydmFsICYmIGlzQXV0b1JlZnJlc2hFbmFibGVkXCJcbiAgICA+XG4gICAgICB7eyAnQXV0byByZWZyZXNoJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvbGFiZWw+XG4gICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwXCI+XG4gICAgICA8bGFiZWxcbiAgICAgICAgY2xhc3M9XCJ0b2dnbGUtY291bnRkb3duXCJcbiAgICAgICAgW2NsYXNzLnRvZ2dsZS1jb3VudGRvd24tZGlzYWJsZWRdPVwiaXNSZWZyZXNoRGlzYWJsZWRcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInRvZ2dsZUNvdW50ZG93bkJ1dHRvblRvb2x0aXBUZXh0XCJcbiAgICAgICAgW3Rvb2x0aXBdPVwidG9nZ2xlQ291bnRkb3duQnV0dG9uVG9vbHRpcFRleHRcIlxuICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b21cIlxuICAgICAgICAqbmdJZj1cInJlZnJlc2hJbnRlcnZhbCAmJiBpc0F1dG9SZWZyZXNoRW5hYmxlZFwiXG4gICAgICAgIFthZGFwdGl2ZVBvc2l0aW9uXT1cImZhbHNlXCJcbiAgICAgICAgW2NvbnRhaW5lcl09XCInYm9keSdcIlxuICAgICAgICBbZGVsYXldPVwiNTAwXCJcbiAgICAgID5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICBbY2hlY2tlZF09XCJpc0ludGVydmFsUmVmcmVzaFRvZ2dsZU9uXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNSZWZyZXNoRGlzYWJsZWRcIlxuICAgICAgICAgIGRhdGEtY3k9XCJjOHktZGF0YS1wb2ludHMtdGFibGUtd2lkZ2V0LS1pbnRlcnZhbC10b2dnbGUtYnV0dG9uXCJcbiAgICAgICAgICAoY2xpY2spPVwib25Ub2dnbGVDb3VudGRvd25CdXR0b25TdGF0ZSgkZXZlbnQsIFdJREdFVF9UWVBFX1ZBTFVFUy5EQVRBX1BPSU5UU19UQUJMRSlcIlxuICAgICAgICAvPlxuXG4gICAgICAgIDxjOHktY291bnRkb3duLWludGVydmFsXG4gICAgICAgICAgKm5nSWY9XCJpc0ludGVydmFsUmVmcmVzaFRvZ2dsZU9uXCJcbiAgICAgICAgICBbY291bnRkb3duSW50ZXJ2YWxdPVwicmVmcmVzaEludGVydmFsXCJcbiAgICAgICAgICAoY291bnRkb3duRW5kZWQpPVwiY291bnRkb3duRW5kZWQoKVwiXG4gICAgICAgID48L2M4eS1jb3VudGRvd24taW50ZXJ2YWw+XG4gICAgICAgIDxpXG4gICAgICAgICAgYzh5SWNvbj1cInBhdXNlXCJcbiAgICAgICAgICAqbmdJZj1cIiFpc0ludGVydmFsUmVmcmVzaFRvZ2dsZU9uXCJcbiAgICAgICAgPjwvaT5cbiAgICAgIDwvbGFiZWw+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cC1idG5cIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0XCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidSZWZyZXNoJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgW3Rvb2x0aXBdPVwiJ1JlZnJlc2gnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b21cIlxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIFthZGFwdGl2ZVBvc2l0aW9uXT1cImZhbHNlXCJcbiAgICAgICAgICBbY29udGFpbmVyXT1cIidib2R5J1wiXG4gICAgICAgICAgW2RlbGF5XT1cIjUwMFwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImlzUmVmcmVzaERpc2FibGVkIHx8IChpc0xvYWRpbmcgfCBhc3luYylcIlxuICAgICAgICAgIChjbGljayk9XCJyZWxvYWQoKVwiXG4gICAgICAgICAgZGF0YS1jeT1cImM4eS1kYXRhLXBvaW50cy10YWJsZS13aWRnZXQtLXJlbG9hZC1idXR0b25cIlxuICAgICAgICA+XG4gICAgICAgICAgPGlcbiAgICAgICAgICAgIGM4eUljb249XCJyZWZyZXNoXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2ljb24tc3Bpbic6IGlzTG9hZGluZyB8IGFzeW5jIH1cIlxuICAgICAgICAgID48L2k+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG4iXX0=
|