@alauda-fe/common 1.4.30 → 1.4.31-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/api/platform-ui.service.d.ts +0 -6
- package/array-form-table/form/component.d.ts +1 -1
- package/business/resource-select/exports/cluster-list/component.d.ts +1 -1
- package/core/abstract/base-nested-form-control.d.ts +1 -1
- package/core/pipes/pure.pipe.d.ts +1 -1
- package/core/types/k8s/raw.d.ts +2 -1
- package/core/types/resource-definitions.d.ts +1 -1
- package/core/utils/version.d.ts +1 -1
- package/esm2022/abnormal-page/abnormal-page.component.mjs +1 -1
- package/esm2022/api/platform-ui.service.mjs +1 -7
- package/esm2022/array-form-table/form/component.mjs +1 -1
- package/esm2022/array-form-table/key-value-form/component.mjs +1 -1
- package/esm2022/array-form-table/key-value-table/component.mjs +1 -1
- package/esm2022/array-form-table/string-array-form/component.mjs +1 -1
- package/esm2022/async-data/error-page/component.mjs +1 -1
- package/esm2022/async-data/page-state/component.mjs +1 -1
- package/esm2022/business/notification-disabled-container/component.mjs +1 -1
- package/esm2022/business/resource-select/exports/cluster-list/component.mjs +1 -1
- package/esm2022/business/resource-select/exports/cluster-selector/component.mjs +1 -1
- package/esm2022/business/resource-select/exports/icon/component.mjs +1 -1
- package/esm2022/business/resource-select/exports/mesh-group-selector/component.mjs +1 -1
- package/esm2022/business/resource-select/exports/namespace-list/component.mjs +1 -1
- package/esm2022/business/resource-select/exports/namespace-page/component.mjs +1 -1
- package/esm2022/business/resource-select/exports/namespace-selector/component.mjs +1 -1
- package/esm2022/business/resource-select/exports/project-list/component.mjs +1 -1
- package/esm2022/business/resource-select/exports/project-page/component.mjs +1 -1
- package/esm2022/business/resource-select/exports/project-selector/component.mjs +1 -1
- package/esm2022/business/resource-select/internals/data-grid/component.mjs +1 -1
- package/esm2022/business/resource-select/internals/meshgroup-list/component.mjs +1 -1
- package/esm2022/business/resource-select/internals/no-data/component.mjs +1 -1
- package/esm2022/business/resource-select/internals/resource-dashboard/component.mjs +1 -1
- package/esm2022/business/resource-select/internals/selector-popup/component.mjs +1 -1
- package/esm2022/chart/common/axis/axis-label.component.mjs +1 -1
- package/esm2022/chart/common/axis/x-axis-ticks.component.mjs +1 -1
- package/esm2022/chart/common/axis/x-axis.component.mjs +1 -1
- package/esm2022/chart/common/axis/x-plot-lines.component.mjs +1 -1
- package/esm2022/chart/common/axis/y-axis-ticks.component.mjs +1 -1
- package/esm2022/chart/common/axis/y-axis.component.mjs +1 -1
- package/esm2022/chart/common/axis/y-plot-lines.component.mjs +1 -1
- package/esm2022/chart/common/chart/chart.component.mjs +1 -1
- package/esm2022/chart/common/legend/legend.component.mjs +1 -1
- package/esm2022/chart/common/range-area/range-area.component.mjs +1 -1
- package/esm2022/chart/common/reference-area/reference-area.component.mjs +1 -1
- package/esm2022/chart/common/series/area-series.component.mjs +1 -1
- package/esm2022/chart/common/series/bar-path.component.mjs +1 -1
- package/esm2022/chart/common/series/bar-series.component.mjs +1 -1
- package/esm2022/chart/common/series/line-series.component.mjs +1 -1
- package/esm2022/chart/common/tooltip/tooltip.component.mjs +1 -1
- package/esm2022/chart/custom-template/dropdown-legend.mjs +1 -1
- package/esm2022/code/code-display-dialog/component.mjs +1 -1
- package/esm2022/code/k8s-yaml-display-dialog/component.mjs +1 -1
- package/esm2022/code/resource-yaml-display/component.mjs +1 -1
- package/esm2022/code/resource-yaml-editor/component.mjs +1 -1
- package/esm2022/code/yaml-examples.mjs +141 -57
- package/esm2022/code/yaml-sidebar/component.mjs +5 -5
- package/esm2022/core/abstract/base-form-container.mjs +3 -2
- package/esm2022/core/components/tree/node/component.mjs +1 -1
- package/esm2022/core/components/tree/tree/component.mjs +1 -1
- package/esm2022/core/directives/readonly-field.directive.mjs +1 -1
- package/esm2022/core/pipes/pure.pipe.mjs +1 -1
- package/esm2022/core/types/k8s/raw.mjs +1 -1
- package/esm2022/custom-columns-setting/component.mjs +1 -1
- package/esm2022/disabled-container/disabled-container.component.mjs +1 -1
- package/esm2022/editable/editable.component.mjs +1 -1
- package/esm2022/editable-text/component.mjs +1 -1
- package/esm2022/exec/placeholder/component.mjs +1 -1
- package/esm2022/exec/terminal/component.mjs +1 -1
- package/esm2022/exec/terminal-group/component.mjs +1 -1
- package/esm2022/feature-gate-forbidden/component/component.mjs +1 -1
- package/esm2022/form/errors-mapper/errors-mapper-component/component.mjs +1 -1
- package/esm2022/form/errors-mapper/errors-mapper.directive.mjs +1 -1
- package/esm2022/form/labels-editor/component.mjs +1 -1
- package/esm2022/form/taints-editor/component.mjs +1 -1
- package/esm2022/form/upload-file/component.mjs +1 -1
- package/esm2022/form/validators/strong-password/strong-password-tooltip/component.mjs +1 -1
- package/esm2022/graph-canvas/components/graph-actions.component.mjs +1 -1
- package/esm2022/graph-canvas/components/graph-canvas.component.mjs +1 -1
- package/esm2022/graph-canvas/components/graph-link.component.mjs +1 -1
- package/esm2022/graph-canvas/components/graph-links.component.mjs +1 -1
- package/esm2022/grid-layout/components/grid/component.mjs +1 -1
- package/esm2022/grid-layout/components/grid-items/component.mjs +1 -1
- package/esm2022/help-document/component.mjs +1 -1
- package/esm2022/k8s-resource-list/footer/component.mjs +1 -1
- package/esm2022/k8s-shared/resource-mark/k8s-resource-mark.component.mjs +1 -1
- package/esm2022/k8s-shared/update-description-dialog/component.mjs +1 -1
- package/esm2022/k8s-shared/update-display-name-dialog/component.mjs +1 -1
- package/esm2022/k8s-shared/update-key-value-dialog/component.mjs +1 -1
- package/esm2022/lazy-component/lazy-load-component.mjs +1 -1
- package/esm2022/license/license-api.mjs +28 -24
- package/esm2022/license/license-error/component.mjs +1 -1
- package/esm2022/license/license.service.mjs +25 -34
- package/esm2022/list-display/component.mjs +1 -1
- package/esm2022/metric-chart/metric-chart.component.mjs +1 -1
- package/esm2022/metric-chart/metric-time-pick.mjs +1 -1
- package/esm2022/metric-chart/utils.mjs +4 -2
- package/esm2022/multi-search/action-input/component.mjs +1 -1
- package/esm2022/multi-search/form/component.mjs +1 -1
- package/esm2022/multi-search/multi-search-tags/component.mjs +1 -1
- package/esm2022/mutable/mosaic/mosaic.component.mjs +1 -1
- package/esm2022/notification/feedback-notification/component.mjs +1 -1
- package/esm2022/overview-banner/overview-banner.component.mjs +1 -1
- package/esm2022/page-guard/component/component.mjs +1 -1
- package/esm2022/page-scaffold/navigation/breadcrumb/breadcrumb.component.mjs +38 -37
- package/esm2022/page-scaffold/navigation/nav-menu/nav-item-li/nav-item-li.component.mjs +1 -1
- package/esm2022/page-scaffold/navigation/nav-menu/nav-item-ul/nav-item-ul.component.mjs +1 -1
- package/esm2022/page-scaffold/navigation/nav-menu/nav-menu.component.mjs +1 -1
- package/esm2022/page-scaffold/page/notices/maintenance.component.mjs +1 -1
- package/esm2022/page-scaffold/page/notices/notice.component.mjs +1 -1
- package/esm2022/page-scaffold/page/page.component.mjs +1 -1
- package/esm2022/page-scaffold/page-header/account-menu/component/component.mjs +1 -1
- package/esm2022/page-scaffold/page-header/common-layout/namespace-select/component.mjs +1 -1
- package/esm2022/page-scaffold/page-header/common-layout/product-select/component.mjs +1 -1
- package/esm2022/page-scaffold/page-header/component.mjs +19 -8
- package/esm2022/page-scaffold/page-header/enterprise-support-status/component.mjs +1 -1
- package/esm2022/page-scaffold/page-header/header-notify/component/header-notify.component.mjs +26 -27
- package/esm2022/page-scaffold/page-header/header-notify/component/notification-list/notification-list.component.mjs +1 -1
- package/esm2022/page-scaffold/page-header/help-menu/component/component.mjs +3 -3
- package/esm2022/permission/k8s-permission.service.mjs +5 -2
- package/esm2022/permission/types.mjs +1 -1
- package/esm2022/pie-derivative-chart/donut-status/component.mjs +1 -1
- package/esm2022/pie-derivative-chart/radial-bar/radial-bar-chart.component.mjs +1 -1
- package/esm2022/pod-status/component.mjs +1 -1
- package/esm2022/searchable-selector/component.mjs +1 -1
- package/esm2022/skeleton/item/component.mjs +1 -1
- package/esm2022/skeleton/nav-skeleton/component.mjs +1 -1
- package/esm2022/table/component.mjs +1 -1
- package/esm2022/view-chart/custom-template/dropdown-legend.mjs +1 -1
- package/esm2022/view-chart/legend/legend.component.mjs +1 -1
- package/esm2022/view-chart/view-chart.component.mjs +1 -1
- package/esm2022/view-zchart/custom-template/dropdown-legend.mjs +1 -1
- package/esm2022/view-zchart/legend/legend.component.mjs +1 -1
- package/esm2022/view-zchart/units.mjs +2 -2
- package/esm2022/view-zchart/view-zchart.component.mjs +1 -1
- package/esm2022/widget/card-section/card-section.component.mjs +1 -1
- package/esm2022/widget/confirm-delete/confirm-delete.component.mjs +1 -1
- package/esm2022/widget/current-time/component.mjs +1 -1
- package/esm2022/widget/date-range-picker/component.mjs +1 -1
- package/esm2022/widget/field-set/column/component.mjs +2 -2
- package/esm2022/widget/field-set/group/component.mjs +1 -1
- package/esm2022/widget/field-set/item/component.mjs +1 -1
- package/esm2022/widget/foldable-block/component.mjs +1 -1
- package/esm2022/widget/foldable-item-in-table/component.mjs +1 -1
- package/esm2022/widget/loading-mask/loading-mask.component.mjs +1 -1
- package/esm2022/widget/password-input/component.mjs +1 -1
- package/esm2022/widget/relative-time/component.mjs +1 -1
- package/esm2022/widget/resource-label/component.mjs +1 -1
- package/esm2022/widget/resource-multi-select/component.mjs +1 -1
- package/esm2022/widget/search-panel/component.mjs +1 -1
- package/esm2022/widget/search-panel/search-item/component.mjs +1 -1
- package/esm2022/widget/status-icon/status-icon.component.mjs +1 -1
- package/esm2022/widget/tags-label/component.mjs +1 -1
- package/esm2022/widget/terminating-tag/component.mjs +1 -1
- package/esm2022/widget/text-ellipsis/component.mjs +1 -1
- package/esm2022/widget/text-with-url/component.mjs +1 -1
- package/esm2022/widget/zero-state/zero-state.component.mjs +1 -1
- package/esm2022/workload-status-icon/component.mjs +1 -1
- package/esm2022/xterm/xterm-terminal/xterm-terminal.component.mjs +1 -1
- package/esm2022/xterm/xterm.component.mjs +1 -1
- package/license/license-api.d.ts +5 -8
- package/license/license.service.d.ts +2 -8
- package/package.json +1 -1
- package/page-scaffold/page-header/component.d.ts +1 -0
- package/permission/types.d.ts +17 -8
- package/styles/markdown-body.scss +2 -0
- package/table/component.d.ts +1 -1
- package/table/helper.d.ts +1 -1
|
@@ -3,53 +3,57 @@
|
|
|
3
3
|
* @module license-api
|
|
4
4
|
*/
|
|
5
5
|
import { HttpClient } from '@angular/common/http';
|
|
6
|
-
import { Injectable } from '@angular/core';
|
|
7
|
-
import { map } from 'rxjs';
|
|
6
|
+
import { inject, Injectable } from '@angular/core';
|
|
7
|
+
import { catchError, map, of, shareReplay, switchMap } from 'rxjs';
|
|
8
8
|
import { API_GATEWAY } from '../core/constants/constants';
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
10
|
-
import * as i1 from "@angular/common/http";
|
|
11
10
|
export const LICENSE_FEATURE_GATE = `${API_GATEWAY}/fg/v1/featuregates/license`;
|
|
11
|
+
export const ENTERPRISE_SUPPORT_FEATURE_GATE = `${API_GATEWAY}/fg/v1/featuregates/enterprise-support`;
|
|
12
12
|
export function getResourceNum(resource = {}) {
|
|
13
13
|
return Object.values(resource).reduce((pre, cur) => cur + pre, 0);
|
|
14
14
|
}
|
|
15
|
-
// replace space to -, as Container-Platform
|
|
16
15
|
export function formatProductName(productName) {
|
|
17
16
|
return productName.replaceAll(/\s+/g, '-');
|
|
18
17
|
}
|
|
19
18
|
export class LicenseApiService {
|
|
20
|
-
constructor(
|
|
21
|
-
this.http =
|
|
19
|
+
constructor() {
|
|
20
|
+
this.http = inject(HttpClient);
|
|
21
|
+
this.licenseExempted$ = this.http
|
|
22
|
+
.get(ENTERPRISE_SUPPORT_FEATURE_GATE)
|
|
23
|
+
.pipe(map(res => res.status.licenseExempted ?? false), catchError(() => of(true)), shareReplay(1));
|
|
22
24
|
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
? { check, targetVersion: resource }
|
|
26
|
-
: { check, resourceNum: resource };
|
|
27
|
-
return this.http
|
|
28
|
-
.get(LICENSE_FEATURE_GATE, {
|
|
29
|
-
params,
|
|
30
|
-
})
|
|
31
|
-
.pipe(map(res => res.status.enabled));
|
|
25
|
+
isLicenseExempted() {
|
|
26
|
+
return this.licenseExempted$;
|
|
32
27
|
}
|
|
33
|
-
|
|
28
|
+
getLicense(product) {
|
|
34
29
|
return this.http.get(LICENSE_FEATURE_GATE, {
|
|
35
|
-
params: {
|
|
36
|
-
check: 'version',
|
|
37
|
-
targetVersion: version,
|
|
38
|
-
},
|
|
30
|
+
params: { product },
|
|
39
31
|
});
|
|
40
32
|
}
|
|
41
33
|
getEnterpriseSupport(product) {
|
|
42
|
-
return this.http.get(
|
|
34
|
+
return this.http.get(ENTERPRISE_SUPPORT_FEATURE_GATE, {
|
|
43
35
|
params: product && {
|
|
44
36
|
product,
|
|
45
37
|
},
|
|
46
38
|
});
|
|
47
39
|
}
|
|
48
|
-
|
|
40
|
+
getLicenseResourceLimit(check, resource) {
|
|
41
|
+
const params = check === 'version'
|
|
42
|
+
? { check, targetVersion: resource }
|
|
43
|
+
: { check, resourceNum: resource };
|
|
44
|
+
return this.isLicenseExempted().pipe(switchMap(exempted => exempted
|
|
45
|
+
? of(true)
|
|
46
|
+
: this.http
|
|
47
|
+
.get(LICENSE_FEATURE_GATE, {
|
|
48
|
+
params,
|
|
49
|
+
})
|
|
50
|
+
.pipe(map(res => res.status.enabled))));
|
|
51
|
+
}
|
|
52
|
+
static { this.ɵfac = function LicenseApiService_Factory(t) { return new (t || LicenseApiService)(); }; }
|
|
49
53
|
static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: LicenseApiService, factory: LicenseApiService.ɵfac, providedIn: 'root' }); }
|
|
50
54
|
}
|
|
51
55
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LicenseApiService, [{
|
|
52
56
|
type: Injectable,
|
|
53
57
|
args: [{ providedIn: 'root' }]
|
|
54
|
-
}],
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
58
|
+
}], null, null); })();
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGljZW5zZS1hcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvbGljZW5zZS9saWNlbnNlLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFFSCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFbkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDOztBQUcxRCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxHQUFHLFdBQVcsNkJBQTZCLENBQUM7QUFDaEYsTUFBTSxDQUFDLE1BQU0sK0JBQStCLEdBQUcsR0FBRyxXQUFXLHdDQUF3QyxDQUFDO0FBRXRHLE1BQU0sVUFBVSxjQUFjLENBQUMsV0FBbUMsRUFBRTtJQUNsRSxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUNwRSxDQUFDO0FBRUQsTUFBTSxVQUFVLGlCQUFpQixDQUFDLFdBQW1CO0lBQ25ELE9BQU8sV0FBVyxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFDN0MsQ0FBQztBQUdELE1BQU0sT0FBTyxpQkFBaUI7SUFEOUI7UUFFbUIsU0FBSSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUUxQixxQkFBZ0IsR0FBRyxJQUFJLENBQUMsSUFBSTthQUMxQyxHQUFHLENBQStCLCtCQUErQixDQUFDO2FBQ2xFLElBQUksQ0FDSCxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLGVBQWUsSUFBSSxLQUFLLENBQUMsRUFDL0MsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUMxQixXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQztLQTJDTDtJQXpDQyxpQkFBaUI7UUFDZixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUMvQixDQUFDO0lBRUQsVUFBVSxDQUFDLE9BQWU7UUFDeEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBYyxvQkFBb0IsRUFBRTtZQUN0RCxNQUFNLEVBQUUsRUFBRSxPQUFPLEVBQUU7U0FDcEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELG9CQUFvQixDQUFDLE9BQWdCO1FBQ25DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQ2xCLCtCQUErQixFQUMvQjtZQUNFLE1BQU0sRUFBRSxPQUFPLElBQUk7Z0JBQ2pCLE9BQU87YUFDUjtTQUNGLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCx1QkFBdUIsQ0FDckIsS0FBc0MsRUFDdEMsUUFBZ0I7UUFFaEIsTUFBTSxNQUFNLEdBQ1YsS0FBSyxLQUFLLFNBQVM7WUFDakIsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUU7WUFDcEMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsQ0FBQztRQUN2QyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLElBQUksQ0FDbEMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQ25CLFFBQVE7WUFDTixDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQztZQUNWLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSTtpQkFDTixHQUFHLENBQWMsb0JBQW9CLEVBQUU7Z0JBQ3RDLE1BQU07YUFDUCxDQUFDO2lCQUNELElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQzVDLENBQ0YsQ0FBQztJQUNKLENBQUM7a0ZBbkRVLGlCQUFpQjt1RUFBakIsaUJBQWlCLFdBQWpCLGlCQUFpQixtQkFESixNQUFNOztpRkFDbkIsaUJBQWlCO2NBRDdCLFVBQVU7ZUFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICogQG1vZHVsZSBsaWNlbnNlLWFwaVxuICovXG5cbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCwgb2YsIHNoYXJlUmVwbGF5LCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQVBJX0dBVEVXQVkgfSBmcm9tICcuLi9jb3JlL2NvbnN0YW50cy9jb25zdGFudHMnO1xuaW1wb3J0IHsgRmVhdHVyZUdhdGUsIEZlYXR1cmVHYXRlRW50ZXJwcmlzZVN1cHBvcnQgfSBmcm9tICcuLi9jb3JlL3B1YmxpYy1hcGknO1xuXG5leHBvcnQgY29uc3QgTElDRU5TRV9GRUFUVVJFX0dBVEUgPSBgJHtBUElfR0FURVdBWX0vZmcvdjEvZmVhdHVyZWdhdGVzL2xpY2Vuc2VgO1xuZXhwb3J0IGNvbnN0IEVOVEVSUFJJU0VfU1VQUE9SVF9GRUFUVVJFX0dBVEUgPSBgJHtBUElfR0FURVdBWX0vZmcvdjEvZmVhdHVyZWdhdGVzL2VudGVycHJpc2Utc3VwcG9ydGA7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZXNvdXJjZU51bShyZXNvdXJjZTogUmVjb3JkPHN0cmluZywgbnVtYmVyPiA9IHt9KTogbnVtYmVyIHtcbiAgcmV0dXJuIE9iamVjdC52YWx1ZXMocmVzb3VyY2UpLnJlZHVjZSgocHJlLCBjdXIpID0+IGN1ciArIHByZSwgMCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRQcm9kdWN0TmFtZShwcm9kdWN0TmFtZTogc3RyaW5nKSB7XG4gIHJldHVybiBwcm9kdWN0TmFtZS5yZXBsYWNlQWxsKC9cXHMrL2csICctJyk7XG59XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgTGljZW5zZUFwaVNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IGh0dHAgPSBpbmplY3QoSHR0cENsaWVudCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBsaWNlbnNlRXhlbXB0ZWQkID0gdGhpcy5odHRwXG4gICAgLmdldDxGZWF0dXJlR2F0ZUVudGVycHJpc2VTdXBwb3J0PihFTlRFUlBSSVNFX1NVUFBPUlRfRkVBVFVSRV9HQVRFKVxuICAgIC5waXBlKFxuICAgICAgbWFwKHJlcyA9PiByZXMuc3RhdHVzLmxpY2Vuc2VFeGVtcHRlZCA/PyBmYWxzZSksXG4gICAgICBjYXRjaEVycm9yKCgpID0+IG9mKHRydWUpKSxcbiAgICAgIHNoYXJlUmVwbGF5KDEpLFxuICAgICk7XG5cbiAgaXNMaWNlbnNlRXhlbXB0ZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMubGljZW5zZUV4ZW1wdGVkJDtcbiAgfVxuXG4gIGdldExpY2Vuc2UocHJvZHVjdDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8RmVhdHVyZUdhdGU+KExJQ0VOU0VfRkVBVFVSRV9HQVRFLCB7XG4gICAgICBwYXJhbXM6IHsgcHJvZHVjdCB9LFxuICAgIH0pO1xuICB9XG5cbiAgZ2V0RW50ZXJwcmlzZVN1cHBvcnQocHJvZHVjdD86IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEZlYXR1cmVHYXRlRW50ZXJwcmlzZVN1cHBvcnQ+KFxuICAgICAgRU5URVJQUklTRV9TVVBQT1JUX0ZFQVRVUkVfR0FURSxcbiAgICAgIHtcbiAgICAgICAgcGFyYW1zOiBwcm9kdWN0ICYmIHtcbiAgICAgICAgICBwcm9kdWN0LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICApO1xuICB9XG5cbiAgZ2V0TGljZW5zZVJlc291cmNlTGltaXQoXG4gICAgY2hlY2s6ICdyZXNvdXJjZScgfCAnbm9kZScgfCAndmVyc2lvbicsXG4gICAgcmVzb3VyY2U6IG51bWJlcixcbiAgKSB7XG4gICAgY29uc3QgcGFyYW1zID1cbiAgICAgIGNoZWNrID09PSAndmVyc2lvbidcbiAgICAgICAgPyB7IGNoZWNrLCB0YXJnZXRWZXJzaW9uOiByZXNvdXJjZSB9XG4gICAgICAgIDogeyBjaGVjaywgcmVzb3VyY2VOdW06IHJlc291cmNlIH07XG4gICAgcmV0dXJuIHRoaXMuaXNMaWNlbnNlRXhlbXB0ZWQoKS5waXBlKFxuICAgICAgc3dpdGNoTWFwKGV4ZW1wdGVkID0+XG4gICAgICAgIGV4ZW1wdGVkXG4gICAgICAgICAgPyBvZih0cnVlKVxuICAgICAgICAgIDogdGhpcy5odHRwXG4gICAgICAgICAgICAgIC5nZXQ8RmVhdHVyZUdhdGU+KExJQ0VOU0VfRkVBVFVSRV9HQVRFLCB7XG4gICAgICAgICAgICAgICAgcGFyYW1zLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAucGlwZShtYXAocmVzID0+IHJlcy5zdGF0dXMuZW5hYmxlZCkpLFxuICAgICAgKSxcbiAgICApO1xuICB9XG59XG4iXX0=
|
|
@@ -109,5 +109,5 @@ export class LicenseErrorComponent {
|
|
|
109
109
|
type: Inject,
|
|
110
110
|
args: [LICENSE_PRODUCT_NAME_TOKEN]
|
|
111
111
|
}] }], null); })();
|
|
112
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LicenseErrorComponent, { className: "LicenseErrorComponent"
|
|
112
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LicenseErrorComponent, { className: "LicenseErrorComponent" }); })();
|
|
113
113
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2xpY2Vuc2UvbGljZW5zZS1lcnJvci9jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvbGljZW5zZS9saWNlbnNlLWVycm9yL3RlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBRUgsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFM0IsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7SUNYOUMsNkJBQTZCO0lBQzNCLGtCQUF5Qjs7OztJQXNCbkIsQUFQRiw0QkFNQyxnQkFDOEI7SUFDM0IsWUFDRjs7O0lBQ0YsQUFERSxpQkFBUyxFQUNQOzs7SUFGQSxlQUNGO0lBREUsK0lBQ0Y7OztJQVZKLDZCQUFxQztJQUNuQyx1RkFNQzs7Ozs7O0lBSEUsY0FBbUQ7SUFBbkQsK0dBQW1EOzs7SUFaMUQsQUFKRiw4QkFHQyx3QkFRRTs7Ozs7O0lBQ0MsOEZBQXFDO0lBY3pDLEFBREUsaUJBQWlCLEVBQ2I7OztJQXJCRixjQUFpQjtJQUdqQixBQURBLEFBREEsQUFEQSwrQkFBaUIseUNBQ2dCLHNIQUMrQixtSUFHL0Q7O0FEQVAsTUFBTSwwQkFBMEIsR0FBMkM7SUFDekUsWUFBWSxFQUFFLDRCQUE0QjtJQUMxQyxPQUFPLEVBQUUsaUJBQWlCO0lBQzFCLGFBQWEsRUFBRSx1QkFBdUI7Q0FDdkMsQ0FBQztBQVFGLE1BQU0sT0FBTyxxQkFBcUI7SUFjaEMsWUFDbUIsTUFBYyxFQUNkLGNBQThCLEVBQy9CLFNBQTJCLEVBRTNCLFdBQW1CO1FBSmxCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDL0IsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFFM0IsZ0JBQVcsR0FBWCxXQUFXLENBQVE7UUFsQnJDLFdBQU0sR0FBRyxNQUFNLENBQUM7UUFFaEIsaUJBQVksR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJO1FBQzdDLHVDQUF1QztRQUN2QyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDWCxJQUFJLE1BQU0sS0FBSyxhQUFhLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQ3hDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2pDLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFDO1FBRUYsa0JBQWEsR0FBRyxhQUFhLENBQUM7UUFTNUIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2RCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxhQUFhLENBQUMsTUFBcUI7UUFDakMsT0FBTywwQkFBMEIsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsZUFBZSxDQUFDLE1BQXFCLEVBQUUsT0FBZ0I7UUFDckQsT0FBTyxNQUFNLEtBQUssYUFBYSxDQUFDLGFBQWE7WUFDM0MsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLDRCQUE0QixDQUFDO1lBQ2xELENBQUMsQ0FBQyxNQUFNLEtBQUssYUFBYSxDQUFDLFlBQVk7Z0JBQ3ZDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQztnQkFDakQsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLG9CQUFvQixFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxNQUFxQjtRQUNwQyxPQUFPLE1BQU0sS0FBSyxhQUFhLENBQUMsYUFBYSxDQUFDO0lBQ2hELENBQUM7SUFFRCxhQUFhLENBQUMsTUFBcUIsRUFBRSxPQUFnQjtRQUNuRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUN2QixNQUFNLEtBQUssYUFBYSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQ3RFLENBQUM7SUFDSixDQUFDO3NGQTdDVSxxQkFBcUIsNElBa0J0QiwwQkFBMEI7b0VBbEJ6QixxQkFBcUI7O1lDMUJsQyxnQ0FBVTtZQUlSLEFBSEEsd0ZBQTZCLDBEQU01QjtZQXdCSCxpQkFBVzs7O2lGRExFLHFCQUFxQjtjQU5qQyxTQUFTOzJCQUNFLG1CQUFtQixtQkFHWix1QkFBdUIsQ0FBQyxNQUFNOztzQkFvQjVDLE1BQU07dUJBQUMsMEJBQTBCOztrRkFsQnpCLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uXG4gKiBAbW9kdWxlIGxpY2Vuc2VcbiAqL1xuXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyB0YXAgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgUmVhc29uIH0gZnJvbSAnLi4vLi4vcGFnZS1ndWFyZC9wdWJsaWMtYXBpJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi90cmFuc2xhdGUvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBMSUNFTlNFX1BST0RVQ1RfTkFNRV9UT0tFTiwgTGljZW5zZVNlcnZpY2UgfSBmcm9tICcuLi9saWNlbnNlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTGljZW5zZVN0YXR1cyB9IGZyb20gJy4uL2xpY2Vuc2UudHlwZSc7XG5cbmNvbnN0IExJQ0VOU0VfRVJST1JfVElUTEVfTUFQUEVSOiBQYXJ0aWFsPFJlY29yZDxMaWNlbnNlU3RhdHVzLCBzdHJpbmc+PiA9IHtcbiAgdW5hdXRob3JpemVkOiAnbm9fYXZhaWxhYmxlX2xpY2Vuc2VfdGl0bGUnLFxuICBleHBpcmVkOiAnZXhwaXJlZF9saWNlbnNlJyxcbiAgbm9fcGVybWlzc2lvbjogJ25vX3Blcm1pc3Npb25fbGljZW5zZScsXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhY2wtbGljZW5zZS1lcnJvcicsXG4gIHRlbXBsYXRlVXJsOiAnLi90ZW1wbGF0ZS5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc3R5bGUuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgTGljZW5zZUVycm9yQ29tcG9uZW50IHtcbiAgUmVhc29uID0gUmVhc29uO1xuXG4gIGVycm9yU3RhdHVzJCA9IHRoaXMubGljZW5zZVNlcnZpY2Uuc3RhdHVzJC5waXBlKFxuICAgIC8vIGluIGNhc2UgdXNlciBpbnB1dCBsaWNlbnNlLWVycm9yIHVybFxuICAgIHRhcChzdGF0dXMgPT4ge1xuICAgICAgaWYgKHN0YXR1cyA9PT0gTGljZW5zZVN0YXR1cy5BVVRIT1JJWkVEKSB7XG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoJy8nKTtcbiAgICAgIH1cbiAgICB9KSxcbiAgKTtcblxuICBMaWNlbnNlU3RhdHVzID0gTGljZW5zZVN0YXR1cztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbGljZW5zZVNlcnZpY2U6IExpY2Vuc2VTZXJ2aWNlLFxuICAgIHB1YmxpYyByZWFkb25seSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgQEluamVjdChMSUNFTlNFX1BST0RVQ1RfTkFNRV9UT0tFTilcbiAgICBwdWJsaWMgcmVhZG9ubHkgcHJvZHVjdE5hbWU6IHN0cmluZyxcbiAgKSB7XG4gICAgdGhpcy5nZXRFcnJvckNvbnRlbnQgPSB0aGlzLmdldEVycm9yQ29udGVudC5iaW5kKHRoaXMpO1xuICAgIHRoaXMuZ2V0QnV0dG9uVGV4dCA9IHRoaXMuZ2V0QnV0dG9uVGV4dC5iaW5kKHRoaXMpO1xuICB9XG5cbiAgZ2V0RXJyb3JUaXRsZShzdGF0dXM6IExpY2Vuc2VTdGF0dXMpIHtcbiAgICByZXR1cm4gTElDRU5TRV9FUlJPUl9USVRMRV9NQVBQRVJbc3RhdHVzXTtcbiAgfVxuXG4gIGdldEVycm9yQ29udGVudChzdGF0dXM6IExpY2Vuc2VTdGF0dXMsIF9sb2NhbGU/OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gc3RhdHVzID09PSBMaWNlbnNlU3RhdHVzLk5PX1BFUk1JU1NJT05cbiAgICAgID8gdGhpcy50cmFuc2xhdGUuZ2V0KCdub19wZXJtaXNzaW9uX2xpY2Vuc2VfaGludCcpXG4gICAgICA6IHN0YXR1cyA9PT0gTGljZW5zZVN0YXR1cy5VTkFVVEhPUklaRURcbiAgICAgID8gdGhpcy50cmFuc2xhdGUuZ2V0KCdsaWNlbnNlX3VuYXV0aG9yaXplZF9oaW50JylcbiAgICAgIDogdGhpcy50cmFuc2xhdGUuZ2V0KCdsaWNlbnNlX2Vycm9yX2hpbnQnLCB7IHByb2R1Y3Q6IHRoaXMucHJvZHVjdE5hbWUgfSk7XG4gIH1cblxuICBzaG91bGRTaG93SW1wb3J0KHN0YXR1czogTGljZW5zZVN0YXR1cykge1xuICAgIHJldHVybiBzdGF0dXMgIT09IExpY2Vuc2VTdGF0dXMuTk9fUEVSTUlTU0lPTjtcbiAgfVxuXG4gIGdldEJ1dHRvblRleHQoc3RhdHVzOiBMaWNlbnNlU3RhdHVzLCBfbG9jYWxlPzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmdldChcbiAgICAgIHN0YXR1cyA9PT0gTGljZW5zZVN0YXR1cy5VTkFVVEhPUklaRUQgPyAnc2hvd19saWNlbnNlJyA6ICdpbXBvcnRfbm93JyxcbiAgICApO1xuICB9XG59XG4iLCI8YWNsLXBhZ2U+XG4gIDxuZy1jb250YWluZXIgKmFjbFBhZ2VIZWFkZXI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPGRpdlxuICAgICphY2xQYWdlQ29udGVudFxuICAgIGNsYXNzPVwibGF5b3V0LXBhZ2UtY29udGVudFwiXG4gID5cbiAgICA8YWNsLXBhZ2UtZ3VhcmRcbiAgICAgIFthbGxvd2VkXT1cImZhbHNlXCJcbiAgICAgIFtyZWFzb25dPVwiUmVhc29uLkxpY2Vuc2VBYm5vcm1hbFwiXG4gICAgICBbdGl0bGVdPVwiZXJyb3JTdGF0dXMkIHwgYXN5bmMgfCBwdXJlOiBnZXRFcnJvclRpdGxlIHwgdHJhbnNsYXRlXCJcbiAgICAgIFtkZXNjcmlwdGlvbl09XCJcbiAgICAgICAgZXJyb3JTdGF0dXMkIHwgYXN5bmMgfCBwdXJlOiBnZXRFcnJvckNvbnRlbnQ6dHJhbnNsYXRlLmxvY2FsZVxuICAgICAgXCJcbiAgICA+XG4gICAgICA8bmctY29udGFpbmVyICphY2xQYWdlR3VhcmRPcGVyYXRpb24+XG4gICAgICAgIDxhXG4gICAgICAgICAgaHJlZj1cIi9jb25zb2xlLXBsYXRmb3JtL21hbmFnZS1wbGF0Zm9ybS9wbGF0Zm9ybS1zZXR0aW5nL2xpY2Vuc2VcIlxuICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgKm5nSWY9XCJlcnJvclN0YXR1cyQgfCBhc3luYyB8IHB1cmU6IHNob3VsZFNob3dJbXBvcnRcIlxuICAgICAgICAgIG5vb3BlbmVyXG4gICAgICAgICAgbm9yZWZlcnJlclxuICAgICAgICA+XG4gICAgICAgICAgPGJ1dHRvbiBhdWktYnV0dG9uPVwicHJpbWFyeVwiPlxuICAgICAgICAgICAge3sgZXJyb3JTdGF0dXMkIHwgYXN5bmMgfCBwdXJlOiBnZXRCdXR0b25UZXh0OnRyYW5zbGF0ZS5sb2NhbGUgfX1cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9hPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9hY2wtcGFnZS1ndWFyZD5cbiAgPC9kaXY+XG48L2FjbC1wYWdlPlxuIl19
|
|
@@ -2,52 +2,43 @@
|
|
|
2
2
|
* @packageDocumentation
|
|
3
3
|
* @module license
|
|
4
4
|
*/
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import { LicenseProductName, LicenseStatus } from './license.type';
|
|
5
|
+
import { inject, Injectable, InjectionToken } from '@angular/core';
|
|
6
|
+
import { catchError, map, of, shareReplay, switchMap } from 'rxjs';
|
|
7
|
+
import { getSubdomainAnnotation } from '../core/public-api';
|
|
8
|
+
import { formatProductName, LicenseApiService } from './license-api';
|
|
9
|
+
import { LicenseStatus } from './license.type';
|
|
11
10
|
import * as i0 from "@angular/core";
|
|
12
|
-
import * as i1 from "@angular/common/http";
|
|
13
|
-
import * as i2 from "../core/public-api";
|
|
14
|
-
import * as i3 from "./license.type";
|
|
15
|
-
// each platform inject this token to specify product name
|
|
16
|
-
export const LICENSE_PRODUCT_NAME_TOKEN = new InjectionToken('product_name');
|
|
17
11
|
const FAILED_STATUS_MAPPER = {
|
|
18
12
|
Expired: LicenseStatus.EXPIRED,
|
|
19
13
|
Forbidden: LicenseStatus.NO_PERMISSION,
|
|
20
14
|
NotExist: LicenseStatus.UNAUTHORIZED,
|
|
21
15
|
};
|
|
16
|
+
// each platform inject this token to specify product name
|
|
17
|
+
export const LICENSE_PRODUCT_NAME_TOKEN = new InjectionToken('product_name');
|
|
22
18
|
export class LicenseService {
|
|
23
|
-
constructor(
|
|
24
|
-
this.productName =
|
|
25
|
-
this.
|
|
26
|
-
this.
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
getStatus() {
|
|
30
|
-
return this.http
|
|
31
|
-
.get(LICENSE_FEATURE_GATE, {
|
|
32
|
-
params: { product: formatProductName(this.productName) },
|
|
33
|
-
})
|
|
34
|
-
.pipe(catchError(() => of(null)), map(featureGate => {
|
|
35
|
-
if (featureGate?.status?.enabled) {
|
|
36
|
-
return LicenseStatus.AUTHORIZED;
|
|
19
|
+
constructor() {
|
|
20
|
+
this.productName = inject(LICENSE_PRODUCT_NAME_TOKEN);
|
|
21
|
+
this.licenseApi = inject(LicenseApiService);
|
|
22
|
+
this.status$ = this.licenseApi.isLicenseExempted().pipe(switchMap(exempted => {
|
|
23
|
+
if (exempted) {
|
|
24
|
+
return of(LicenseStatus.AUTHORIZED);
|
|
37
25
|
}
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
26
|
+
return this.licenseApi
|
|
27
|
+
.getLicense(formatProductName(this.productName))
|
|
28
|
+
.pipe(catchError(() => of(null)), map(featureGate => {
|
|
29
|
+
if (featureGate?.status?.enabled) {
|
|
30
|
+
return LicenseStatus.AUTHORIZED;
|
|
31
|
+
}
|
|
32
|
+
const reason = getSubdomainAnnotation('license', 'reason', featureGate);
|
|
33
|
+
return ((reason && FAILED_STATUS_MAPPER[reason]) || LicenseStatus.INVALID);
|
|
34
|
+
}));
|
|
41
35
|
}), shareReplay(1));
|
|
42
36
|
}
|
|
43
|
-
static { this.ɵfac = function LicenseService_Factory(t) { return new (t || LicenseService)(
|
|
37
|
+
static { this.ɵfac = function LicenseService_Factory(t) { return new (t || LicenseService)(); }; }
|
|
44
38
|
static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: LicenseService, factory: LicenseService.ɵfac, providedIn: 'root' }); }
|
|
45
39
|
}
|
|
46
40
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LicenseService, [{
|
|
47
41
|
type: Injectable,
|
|
48
42
|
args: [{ providedIn: 'root' }]
|
|
49
|
-
}],
|
|
50
|
-
|
|
51
|
-
args: [LICENSE_PRODUCT_NAME_TOKEN]
|
|
52
|
-
}] }, { type: i1.HttpClient }, { type: i2.K8sUtilService }], null); })();
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGljZW5zZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2xpY2Vuc2UvbGljZW5zZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFjLFVBQVUsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVwRSxPQUFPLEVBQWUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFakUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxhQUFhLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFFbkUsMERBQTBEO0FBQzFELE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUNyQyxJQUFJLGNBQWMsQ0FBcUIsY0FBYyxDQUFDLENBQUM7QUFFekQsTUFBTSxvQkFBb0IsR0FBa0M7SUFDMUQsT0FBTyxFQUFFLGFBQWEsQ0FBQyxPQUFPO0lBQzlCLFNBQVMsRUFBRSxhQUFhLENBQUMsYUFBYTtJQUN0QyxRQUFRLEVBQUUsYUFBYSxDQUFDLFlBQVk7Q0FDckMsQ0FBQztBQUdGLE1BQU0sT0FBTyxjQUFjO0lBR3pCLFlBRW1CLFdBQStCLEVBQy9CLElBQWdCLEVBQ2hCLE9BQXVCO1FBRnZCLGdCQUFXLEdBQVgsV0FBVyxDQUFvQjtRQUMvQixTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBTjFDLFlBQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFPeEIsQ0FBQztJQUVKLFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ2IsR0FBRyxDQUFjLG9CQUFvQixFQUFFO1lBQ3RDLE1BQU0sRUFBRSxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUU7U0FDekQsQ0FBQzthQUNELElBQUksQ0FDSCxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQzFCLEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUNoQixJQUFJLFdBQVcsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUM7Z0JBQ2pDLE9BQU8sYUFBYSxDQUFDLFVBQVUsQ0FBQztZQUNsQyxDQUFDO1lBQ0QsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQzNDLFdBQVcsRUFDWCxRQUFRLEVBQ1IsU0FBUyxDQUNWLENBQUM7WUFDRixPQUFPLENBQ0wsQ0FBQyxVQUFVLElBQUksb0JBQW9CLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQ2hELGFBQWEsQ0FBQyxPQUFPLENBQ3RCLENBQUM7UUFDSixDQUFDLENBQUMsRUFDRixXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQztJQUNOLENBQUM7K0VBakNVLGNBQWMsY0FJZiwwQkFBMEI7dUVBSnpCLGNBQWMsV0FBZCxjQUFjLG1CQURELE1BQU07O2lGQUNuQixjQUFjO2NBRDFCLFVBQVU7ZUFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7O3NCQUs3QixNQUFNO3VCQUFDLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uXG4gKiBAbW9kdWxlIGxpY2Vuc2VcbiAqL1xuXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgY2F0Y2hFcnJvciwgbWFwLCBvZiwgc2hhcmVSZXBsYXkgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgRmVhdHVyZUdhdGUsIEs4c1V0aWxTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9wdWJsaWMtYXBpJztcblxuaW1wb3J0IHsgZm9ybWF0UHJvZHVjdE5hbWUsIExJQ0VOU0VfRkVBVFVSRV9HQVRFIH0gZnJvbSAnLi9saWNlbnNlLWFwaSc7XG5pbXBvcnQgeyBMaWNlbnNlUHJvZHVjdE5hbWUsIExpY2Vuc2VTdGF0dXMgfSBmcm9tICcuL2xpY2Vuc2UudHlwZSc7XG5cbi8vIGVhY2ggcGxhdGZvcm0gaW5qZWN0IHRoaXMgdG9rZW4gdG8gc3BlY2lmeSBwcm9kdWN0IG5hbWVcbmV4cG9ydCBjb25zdCBMSUNFTlNFX1BST0RVQ1RfTkFNRV9UT0tFTiA9XG4gIG5ldyBJbmplY3Rpb25Ub2tlbjxMaWNlbnNlUHJvZHVjdE5hbWU+KCdwcm9kdWN0X25hbWUnKTtcblxuY29uc3QgRkFJTEVEX1NUQVRVU19NQVBQRVI6IFJlY29yZDxzdHJpbmcsIExpY2Vuc2VTdGF0dXM+ID0ge1xuICBFeHBpcmVkOiBMaWNlbnNlU3RhdHVzLkVYUElSRUQsXG4gIEZvcmJpZGRlbjogTGljZW5zZVN0YXR1cy5OT19QRVJNSVNTSU9OLFxuICBOb3RFeGlzdDogTGljZW5zZVN0YXR1cy5VTkFVVEhPUklaRUQsXG59O1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIExpY2Vuc2VTZXJ2aWNlIHtcbiAgc3RhdHVzJCA9IHRoaXMuZ2V0U3RhdHVzKCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChMSUNFTlNFX1BST0RVQ1RfTkFNRV9UT0tFTilcbiAgICBwcml2YXRlIHJlYWRvbmx5IHByb2R1Y3ROYW1lOiBMaWNlbnNlUHJvZHVjdE5hbWUsXG4gICAgcHJpdmF0ZSByZWFkb25seSBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgazhzVXRpbDogSzhzVXRpbFNlcnZpY2UsXG4gICkge31cblxuICBnZXRTdGF0dXMoKTogT2JzZXJ2YWJsZTxMaWNlbnNlU3RhdHVzPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldDxGZWF0dXJlR2F0ZT4oTElDRU5TRV9GRUFUVVJFX0dBVEUsIHtcbiAgICAgICAgcGFyYW1zOiB7IHByb2R1Y3Q6IGZvcm1hdFByb2R1Y3ROYW1lKHRoaXMucHJvZHVjdE5hbWUpIH0sXG4gICAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIGNhdGNoRXJyb3IoKCkgPT4gb2YobnVsbCkpLFxuICAgICAgICBtYXAoZmVhdHVyZUdhdGUgPT4ge1xuICAgICAgICAgIGlmIChmZWF0dXJlR2F0ZT8uc3RhdHVzPy5lbmFibGVkKSB7XG4gICAgICAgICAgICByZXR1cm4gTGljZW5zZVN0YXR1cy5BVVRIT1JJWkVEO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjb25zdCBhbm5vdGF0aW9uID0gdGhpcy5rOHNVdGlsLmdldEFubm90YXRpb24oXG4gICAgICAgICAgICBmZWF0dXJlR2F0ZSxcbiAgICAgICAgICAgICdyZWFzb24nLFxuICAgICAgICAgICAgJ2xpY2Vuc2UnLFxuICAgICAgICAgICk7XG4gICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIChhbm5vdGF0aW9uICYmIEZBSUxFRF9TVEFUVVNfTUFQUEVSW2Fubm90YXRpb25dKSB8fFxuICAgICAgICAgICAgTGljZW5zZVN0YXR1cy5JTlZBTElEXG4gICAgICAgICAgKTtcbiAgICAgICAgfSksXG4gICAgICAgIHNoYXJlUmVwbGF5KDEpLFxuICAgICAgKTtcbiAgfVxufVxuIl19
|
|
43
|
+
}], null, null); })();
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGljZW5zZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2xpY2Vuc2UvbGljZW5zZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUVILE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVuRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUU1RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFzQixhQUFhLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFFbkUsTUFBTSxvQkFBb0IsR0FBa0M7SUFDMUQsT0FBTyxFQUFFLGFBQWEsQ0FBQyxPQUFPO0lBQzlCLFNBQVMsRUFBRSxhQUFhLENBQUMsYUFBYTtJQUN0QyxRQUFRLEVBQUUsYUFBYSxDQUFDLFlBQVk7Q0FDckMsQ0FBQztBQUVGLDBEQUEwRDtBQUMxRCxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FDckMsSUFBSSxjQUFjLENBQXFCLGNBQWMsQ0FBQyxDQUFDO0FBR3pELE1BQU0sT0FBTyxjQUFjO0lBRDNCO1FBRW1CLGdCQUFXLEdBQUcsTUFBTSxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFDakQsZUFBVSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRXhELFlBQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGlCQUFpQixFQUFFLENBQUMsSUFBSSxDQUNoRCxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDbkIsSUFBSSxRQUFRLEVBQUUsQ0FBQztnQkFDYixPQUFPLEVBQUUsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDdEMsQ0FBQztZQUNELE9BQU8sSUFBSSxDQUFDLFVBQVU7aUJBQ25CLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7aUJBQy9DLElBQUksQ0FDSCxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQzFCLEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRTtnQkFDaEIsSUFBSSxXQUFXLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDO29CQUNqQyxPQUFPLGFBQWEsQ0FBQyxVQUFVLENBQUM7Z0JBQ2xDLENBQUM7Z0JBQ0QsTUFBTSxNQUFNLEdBQUcsc0JBQXNCLENBQ25DLFNBQVMsRUFDVCxRQUFRLEVBQ1IsV0FBVyxDQUNaLENBQUM7Z0JBQ0YsT0FBTyxDQUNMLENBQUMsTUFBTSxJQUFJLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksYUFBYSxDQUFDLE9BQU8sQ0FDbEUsQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUNILENBQUM7UUFDTixDQUFDLENBQUMsRUFDRixXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQztLQUNIOytFQTlCWSxjQUFjO3VFQUFkLGNBQWMsV0FBZCxjQUFjLG1CQURELE1BQU07O2lGQUNuQixjQUFjO2NBRDFCLFVBQVU7ZUFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICogQG1vZHVsZSBsaWNlbnNlXG4gKi9cblxuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwLCBvZiwgc2hhcmVSZXBsYXksIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBnZXRTdWJkb21haW5Bbm5vdGF0aW9uIH0gZnJvbSAnLi4vY29yZS9wdWJsaWMtYXBpJztcblxuaW1wb3J0IHsgZm9ybWF0UHJvZHVjdE5hbWUsIExpY2Vuc2VBcGlTZXJ2aWNlIH0gZnJvbSAnLi9saWNlbnNlLWFwaSc7XG5pbXBvcnQgeyBMaWNlbnNlUHJvZHVjdE5hbWUsIExpY2Vuc2VTdGF0dXMgfSBmcm9tICcuL2xpY2Vuc2UudHlwZSc7XG5cbmNvbnN0IEZBSUxFRF9TVEFUVVNfTUFQUEVSOiBSZWNvcmQ8c3RyaW5nLCBMaWNlbnNlU3RhdHVzPiA9IHtcbiAgRXhwaXJlZDogTGljZW5zZVN0YXR1cy5FWFBJUkVELFxuICBGb3JiaWRkZW46IExpY2Vuc2VTdGF0dXMuTk9fUEVSTUlTU0lPTixcbiAgTm90RXhpc3Q6IExpY2Vuc2VTdGF0dXMuVU5BVVRIT1JJWkVELFxufTtcblxuLy8gZWFjaCBwbGF0Zm9ybSBpbmplY3QgdGhpcyB0b2tlbiB0byBzcGVjaWZ5IHByb2R1Y3QgbmFtZVxuZXhwb3J0IGNvbnN0IExJQ0VOU0VfUFJPRFVDVF9OQU1FX1RPS0VOID1cbiAgbmV3IEluamVjdGlvblRva2VuPExpY2Vuc2VQcm9kdWN0TmFtZT4oJ3Byb2R1Y3RfbmFtZScpO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIExpY2Vuc2VTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBwcm9kdWN0TmFtZSA9IGluamVjdChMSUNFTlNFX1BST0RVQ1RfTkFNRV9UT0tFTik7XG4gIHByaXZhdGUgcmVhZG9ubHkgbGljZW5zZUFwaSA9IGluamVjdChMaWNlbnNlQXBpU2VydmljZSk7XG5cbiAgc3RhdHVzJCA9IHRoaXMubGljZW5zZUFwaS5pc0xpY2Vuc2VFeGVtcHRlZCgpLnBpcGUoXG4gICAgc3dpdGNoTWFwKGV4ZW1wdGVkID0+IHtcbiAgICAgIGlmIChleGVtcHRlZCkge1xuICAgICAgICByZXR1cm4gb2YoTGljZW5zZVN0YXR1cy5BVVRIT1JJWkVEKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzLmxpY2Vuc2VBcGlcbiAgICAgICAgLmdldExpY2Vuc2UoZm9ybWF0UHJvZHVjdE5hbWUodGhpcy5wcm9kdWN0TmFtZSkpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIGNhdGNoRXJyb3IoKCkgPT4gb2YobnVsbCkpLFxuICAgICAgICAgIG1hcChmZWF0dXJlR2F0ZSA9PiB7XG4gICAgICAgICAgICBpZiAoZmVhdHVyZUdhdGU/LnN0YXR1cz8uZW5hYmxlZCkge1xuICAgICAgICAgICAgICByZXR1cm4gTGljZW5zZVN0YXR1cy5BVVRIT1JJWkVEO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgcmVhc29uID0gZ2V0U3ViZG9tYWluQW5ub3RhdGlvbihcbiAgICAgICAgICAgICAgJ2xpY2Vuc2UnLFxuICAgICAgICAgICAgICAncmVhc29uJyxcbiAgICAgICAgICAgICAgZmVhdHVyZUdhdGUsXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgKHJlYXNvbiAmJiBGQUlMRURfU1RBVFVTX01BUFBFUltyZWFzb25dKSB8fCBMaWNlbnNlU3RhdHVzLklOVkFMSURcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgfSksXG4gICAgc2hhcmVSZXBsYXkoMSksXG4gICk7XG59XG4iXX0=
|
|
@@ -154,5 +154,5 @@ export class ListDisplayComponent {
|
|
|
154
154
|
type: ContentChild,
|
|
155
155
|
args: [TemplateRef]
|
|
156
156
|
}] }); })();
|
|
157
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ListDisplayComponent, { className: "ListDisplayComponent"
|
|
157
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ListDisplayComponent, { className: "ListDisplayComponent" }); })();
|
|
158
158
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2xpc3QtZGlzcGxheS9jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvbGlzdC1kaXNwbGF5L3RlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMzQyxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hFLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsV0FBVyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7Ozs7O0lDTjNELHdCQUtnQjs7O0lBTmxCLDBCQUFxRTtJQUNuRSw0RkFLQzs7SUFDSCxpQkFBSzs7OztJQUxBLGNBRVk7SUFBQSxBQUZaLDBFQUVZLGtGQUVyQjs7O0lBT0ksNkJBQXVDO0lBQ3JDLFlBQ0E7O0lBQUEsNEJBSUM7SUFDQyxZQUNGO0lBQUEsaUJBQUk7SUFDSixZQUNGOzs7Ozs7SUFURSxjQUNBO0lBREEsaUVBQ0E7SUFDRSxlQUFvQjtJQUFwQixxQ0FBb0I7SUFJcEIsY0FDRjtJQURFLG1EQUNGO0lBQ0EsY0FDRjtJQURFLDJEQUNGOzs7SUFFQSw2QkFBc0M7SUFDcEMsWUFDQTs7SUFBQSw0QkFLQztJQUNDLFlBQ0Y7SUFBQSxpQkFBSTtJQUNKLFlBQ0Y7Ozs7OztJQVZFLGNBQ0E7SUFEQSw2REFDQTtJQUNFLGVBQW1CO0lBQ25CLEFBREEsb0NBQW1CLHNGQUNrQztJQUlyRCxjQUNGO0lBREUsMkVBQ0Y7SUFDQSxjQUNGO0lBREUsNkRBQ0Y7OztJQTNCRiwyQkFHQztJQWFDLEFBWkEsNkZBQXVDLGlGQVlEO0lBWXhDLGlCQUFNOzs7SUEzQkoscUVBQTRDO0lBRzdCLGNBQXNCO0lBQXRCLDhDQUFzQjtJQVl0QixjQUFxQjtJQUFyQiw2Q0FBcUI7OztJQWdCdEMsc0NBR29COzs7SUFEbEIsQUFEQSxrQ0FBYSxxREFDeUI7OztJQVF4QyxzQ0FHb0I7Ozs7SUFEbEIsQUFEQSw4QkFBYSxxREFDeUI7O0FEdEIxQyxNQUFNLE9BQU8sb0JBQW9CO0lBdEJqQztRQThCRSxTQUFJLEdBQXFCLE9BQU8sQ0FBQztRQUdqQyxjQUFTLEdBQXFCLFFBQVEsQ0FBQztLQWN4QztJQU5DLGVBQWUsQ0FBQyxJQUFPO1FBQ3JCLE9BQU87WUFDTCxHQUFHLElBQUk7WUFDUCxTQUFTLEVBQUUsSUFBSTtTQUNoQixDQUFDO0lBQ0osQ0FBQztxRkF4QlUsb0JBQW9CO29FQUFwQixvQkFBb0I7d0NBZ0JqQixXQUFXOzs7OztZQ2hEekIsQUFKRiw4QkFHQyxTQUNLO1lBQ0YsbUVBQXFFO1lBUXZFLGlCQUFLO1lBQ0wscUVBR0M7WUEwQkgsaUJBQU07WUFTTixBQVBBLHNIQUFvQix5R0FVbkI7O1lBckRDLHFFQUFtRDtZQUc1QixlQUE4QztZQUE5QyxxRkFBOEM7WUFXbEUsY0FBMEM7WUFBMUMsdUVBQTBDOzRCRG9CbEMsb0JBQW9CLEVBVDdCLEtBQUs7WUFDTCxJQUFJO1lBQ0osZ0JBQWdCO1lBQ2hCLFFBQVEsb0JBRVIsYUFBYSx1QkFDYixxQkFBcUI7O2lGQUdaLG9CQUFvQjtjQXRCaEMsU0FBUzs2QkFDSSxJQUFJLFlBQ04sa0JBQWtCLG1CQVNYLHVCQUF1QixDQUFDLE1BQU0sV0FDdEM7b0JBQ1AsS0FBSztvQkFDTCxJQUFJO29CQUNKLGdCQUFnQjtvQkFDaEIsUUFBUTtvQkFDUixnQkFBZ0I7b0JBQ2hCLGFBQWE7b0JBQ2IscUJBQXFCO2lCQUN0QjtnQkFJRCxJQUFJO2tCQURILEtBQUs7WUFJTixTQUFTO2tCQURSLEtBQUs7WUFJTixJQUFJO2tCQURILEtBQUs7WUFJTixTQUFTO2tCQURSLEtBQUs7WUFJTixRQUFRO2tCQURQLEtBQUs7WUFJTixhQUFhO2tCQURaLFlBQVk7bUJBQUMsV0FBVzs7a0ZBaEJkLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYWxhdWRhL3VpJztcbmltcG9ydCB7IE5nRm9yLCBOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgSW5wdXQsXG4gIFRlbXBsYXRlUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgUHVyZVBpcGUgfSBmcm9tICcuLi9jb3JlL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgRWZmZWN0RGlyZWN0aXZlTW9kdWxlIH0gZnJvbSAnLi4vZWZmZWN0LWRpcmVjdGl2ZS9tb2R1bGUnO1xuaW1wb3J0IHsgVFJBTlNMQVRFX01PRFVMRSB9IGZyb20gJy4uL3RyYW5zbGF0ZS90cmFuc2xhdGUubW9kdWxlJztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnYWNsLWxpc3QtZGlzcGxheScsXG4gIHRlbXBsYXRlVXJsOiAndGVtcGxhdGUuaHRtbCcsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIGxpIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtcbiAgICBOZ0ZvcixcbiAgICBOZ0lmLFxuICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgUHVyZVBpcGUsXG4gICAgVFJBTlNMQVRFX01PRFVMRSxcbiAgICBUb29sdGlwTW9kdWxlLFxuICAgIEVmZmVjdERpcmVjdGl2ZU1vZHVsZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgTGlzdERpc3BsYXlDb21wb25lbnQ8VD4ge1xuICBASW5wdXQoKVxuICBkYXRhOiBUW107XG5cbiAgQElucHV0KClcbiAgdGhyZXNob2xkOiBudW1iZXI7XG5cbiAgQElucHV0KClcbiAgbW9kZTogJ3RvdGFsJyB8ICdtb3JlJyA9ICd0b3RhbCc7XG5cbiAgQElucHV0KClcbiAgZGlyZWN0aW9uOiAncm93JyB8ICdjb2x1bW4nID0gJ2NvbHVtbic7XG5cbiAgQElucHV0KClcbiAgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQENvbnRlbnRDaGlsZChUZW1wbGF0ZVJlZilcbiAgY2hpbGRUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICB0ZW1wbGF0ZUNvbnRleHQoaXRlbTogVCkge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5pdGVtLFxuICAgICAgJGltcGxpY2l0OiBpdGVtLFxuICAgIH07XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJ0dy1mbGV4XCJcbiAgW2NsYXNzXT1cInsgJ3R3LWZsZXgtY29sJzogZGlyZWN0aW9uID09PSAnY29sdW1uJyB9XCJcbj5cbiAgPHVsPlxuICAgIDxsaSAqbmdGb3I9XCJsZXQgaXRlbSBvZiB0aHJlc2hvbGQgPyBkYXRhLnNsaWNlKDAsIHRocmVzaG9sZCkgOiBkYXRhXCI+XG4gICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgY2hpbGRUZW1wbGF0ZSB8fCB0ZW1wbGF0ZTtcbiAgICAgICAgICBjb250ZXh0OiBpdGVtIHwgcHVyZTogdGVtcGxhdGVDb250ZXh0XG4gICAgICAgIFwiXG4gICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgPC9saT5cbiAgPC91bD5cbiAgPGRpdlxuICAgIFtjbGFzc109XCJ7ICd0dy1tbC04JzogZGlyZWN0aW9uID09PSAncm93JyB9XCJcbiAgICAqbmdJZj1cInRocmVzaG9sZCAmJiBkYXRhLmxlbmd0aCA+IHRocmVzaG9sZFwiXG4gID5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibW9kZSA9PT0gJ3RvdGFsJ1wiPlxuICAgICAge3sgJ2luX3RvdGFsJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPGFcbiAgICAgICAgW2F1aVRvb2x0aXBdPVwidG90YWxcIlxuICAgICAgICBhdWlUb29sdGlwVHlwZT1cImluZm9cIlxuICAgICAgICBhdWlUb29sdGlwUG9zaXRpb249XCJib3R0b20gY2VudGVyXCJcbiAgICAgID5cbiAgICAgICAge3sgZGF0YS5sZW5ndGggfX1cbiAgICAgIDwvYT5cbiAgICAgIHt7ICdnZScgfCB0cmFuc2xhdGUgfX1cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJtb2RlID09PSAnbW9yZSdcIj5cbiAgICAgIHt7ICdtb3JlJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPGFcbiAgICAgICAgW2F1aVRvb2x0aXBdPVwibW9yZVwiXG4gICAgICAgIFthdWlUb29sdGlwQ29udGV4dF09XCJ7IGRhdGE6IGRhdGEuc2xpY2UodGhyZXNob2xkKSB9XCJcbiAgICAgICAgYXVpVG9vbHRpcFR5cGU9XCJpbmZvXCJcbiAgICAgICAgYXVpVG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tIGNlbnRlclwiXG4gICAgICA+XG4gICAgICAgIHt7IGRhdGEuc2xpY2UodGhyZXNob2xkKS5sZW5ndGggfX1cbiAgICAgIDwvYT5cbiAgICAgIHt7ICd0aWFvJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI3RvdGFsPlxuICA8YWNsLWxpc3QtZGlzcGxheVxuICAgIFtkYXRhXT1cImRhdGFcIlxuICAgIFt0ZW1wbGF0ZV09XCJjaGlsZFRlbXBsYXRlIHx8IHRlbXBsYXRlXCJcbiAgPjwvYWNsLWxpc3QtZGlzcGxheT5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZVxuICAjbW9yZVxuICBsZXQtZGF0YT1cImRhdGFcIlxuPlxuICA8YWNsLWxpc3QtZGlzcGxheVxuICAgIFtkYXRhXT1cImRhdGFcIlxuICAgIFt0ZW1wbGF0ZV09XCJjaGlsZFRlbXBsYXRlIHx8IHRlbXBsYXRlXCJcbiAgPjwvYWNsLWxpc3QtZGlzcGxheT5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -343,5 +343,5 @@ __decorate([
|
|
|
343
343
|
}], dataCompleted: [{
|
|
344
344
|
type: Output
|
|
345
345
|
}] }); })();
|
|
346
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MetricChartComponent, { className: "MetricChartComponent"
|
|
346
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MetricChartComponent, { className: "MetricChartComponent" }); })();
|
|
347
347
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0cmljLWNoYXJ0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9tZXRyaWMtY2hhcnQvbWV0cmljLWNoYXJ0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9tZXRyaWMtY2hhcnQvbWV0cmljLWNoYXJ0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBRUwsTUFBTSxFQUNOLFdBQVcsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQ0wsVUFBVSxFQUNWLE9BQU8sRUFDUCxhQUFhLEVBQ2IsS0FBSyxFQUNMLEVBQUUsRUFDRixJQUFJLEVBQ0osZUFBZSxFQUNmLFVBQVUsRUFDVixNQUFNLEVBQ04sR0FBRyxFQUNILFNBQVMsRUFDVCxHQUFHLEVBQ0gsY0FBYyxHQUNmLE1BQU0sTUFBTSxDQUFDO0FBR2QsT0FBTyxFQUdMLHVCQUF1QixHQUN4QixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBYSxlQUFlLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFRNUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFtQixrQkFBa0IsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7O0FBUXRFLE1BQU0sT0FBTyxvQkFBb0I7SUFxQi9CLElBQ0ksUUFBUTtRQUNWLE9BQU8sQ0FBQyxJQUFJLENBQUMsbUJBQW1CLElBQUksT0FBTyxDQUFDO0lBQzlDLENBQUM7SUE0SUQsSUFBSSxTQUFTO1FBQ1gsT0FBTyxD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QUFtQjtrQkFBM0IsS0FBSztZQUVHLFVBQVU7a0JBQWxCLEtBQUs7WUFFRyxlQUFlO2tCQUF2QixLQUFLO1lBRUcsaUJBQWlCO2tCQUF6QixLQUFLO1lBRUcsZUFBZTtrQkFBdkIsS0FBSztZQUVHLGFBQWE7a0JBQXJCLEtBQUs7WUFFRyxvQkFBb0I7a0JBQTVCLEtBQUs7WUFFRyxjQUFjO2tCQUF0QixLQUFLO1lBRUcsSUFBSTtrQkFBWixLQUFLO1lBR04sU0FBUztrQkFEUixLQUFLO1lBSU4sVUFBVSxNQUdWLE9BQU87a0JBRE4sS0FBSztZQUlOLFFBQVEsTUFFQyxZQUFZO2tCQUFwQixLQUFLO1lBRUcsaUJBQWlCO2tCQUF6QixLQUFLO1lBRUcsVUFBVTtrQkFBbEIsS0FBSztZQUtHLFlBQVk7a0JBQXBCLEtBQUs7WUFDYSxhQUFhLE1BRXZCLGNBQWM7a0JBQXRCLEtBQUs7WUFJRyxXQUFXO2tCQUFuQixLQUFLO1lBRU4sWUFBWSxNQUVILGtCQUFrQjtrQkFBMUIsS0FBSztZQUVHLFVBQVU7a0JBQWxCLEtBQUs7WUFFRyxVQUFVO2tCQUFsQixLQUFLO1lBRUcsVUFBVTtrQkFBbEIsS0FBSztZQUVHLGlCQUFpQjtrQkFBekIsS0FBSztZQUVHLHdCQUF3QjtrQkFBaEMsS0FBSztZQUVHLGNBQWM7a0JBQXRCLEtBQUs7WUFFRyxVQUFVO2tCQUFsQixLQUFLO1lBRUcsUUFBUTtrQkFBaEIsS0FBSztZQUVHLG9CQUFvQjtrQkFBNUIsS0FBSztZQUVHLFNBQVM7a0JBQWpCLEtBQUs7WUFFRyxTQUFTO2tCQUFqQixLQUFLO1lBRUksWUFBWTtrQkFBckIsTUFBTTtZQUVHLGNBQWM7a0JBQXZCLE1BQU07WUFFRyxZQUFZO2tCQUFyQixNQUFNO1lBRUcsYUFBYTtrQkFBdEIsTUFBTTs7a0ZBL0lJLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRvb2x0aXBDb250ZXh0IH0gZnJvbSAnQGFsYXVkYS9jaGFydCc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBUZW1wbGF0ZVJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDdXJ2ZUZhY3RvcnksIEN1cnZlRmFjdG9yeUxpbmVPbmx5IH0gZnJvbSAnZDMnO1xuaW1wb3J0IHtcbiAgT2JzZXJ2YWJsZSxcbiAgU3ViamVjdCxcbiAgY29tYmluZUxhdGVzdCxcbiAgbWVyZ2UsXG4gIG9mLFxuICBwaXBlLFxuICBCZWhhdmlvclN1YmplY3QsXG4gIGNhdGNoRXJyb3IsXG4gIGZpbHRlcixcbiAgbWFwLFxuICBzd2l0Y2hNYXAsXG4gIHRhcCxcbiAgd2l0aExhdGVzdEZyb20sXG59IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ2hhcnQsIFRvb2x0aXBWYWx1ZSB9IGZyb20gJ3p6LWNoYXJ0JztcblxuaW1wb3J0IHtcbiAgQXJlYVBvc2l0aW9uLFxuICBDb250ZXh0SXRlbSxcbiAgREFURV9USU1FX0ZPUk1BVF9YX0FYSVMsXG59IGZyb20gJy4uL2NoYXJ0L3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgU3RyaW5nTWFwLCBPYnNlcnZhYmxlSW5wdXQsIHB1Ymxpc2hSZWYgfSBmcm9tICcuLi9jb3JlL3B1YmxpYy1hcGknO1xuaW1wb3J0IHtcbiAgQ2hhcnREYXRhLFxuICBDaGFydERhdGFJdGVtLFxuICBDaGFydFN0YXR1cyxcbiAgWFBsb3RMaW5lcyxcbn0gZnJvbSAnLi4vdmlldy1jaGFydC9wdWJsaWMtYXBpJztcblxuaW1wb3J0IHsgQ29tbW9uQ2hhcnRTZXJ2aWNlIH0gZnJvbSAnLi9jb21tb24tY2hhcnQuc2VydmljZSc7XG5pbXBvcnQgeyBNYXRjaFVuaXRQYXJhbXMsIFBJQ0tFUl9USU1FX1JBTkdFUyB9IGZyb20gJy4vaGVscGVycyc7XG5pbXBvcnQgeyBJbmRpY2F0b3IsIE1ldHJpY0FwaVBhcmFtcywgTWV0cmljUmVzdWx0IH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBjaGVja0ludGVydmFsLCBmaWxsTnVsbENoYXJ0RGF0YSwgaGFzTm9EYXRhIH0gZnJvbSAnLi91dGlscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FjbC1tZXRyaWMtY2hhcnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vbWV0cmljLWNoYXJ0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWV0cmljLWNoYXJ0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBNZXRyaWNDaGFydENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGNvbnRleHRDYWxsYmFja0Z1bmN0aW9uOiAoY29udGV4dDogQ2hhcnQpID0+IHZvaWQ7XG5cbiAgQElucHV0KCkgYmFja2dyb3VuZENvbG9yOiBzdHJpbmc7XG5cbiAgQElucHV0KCkgaGlkZUhlYWRlcjogYm9vbGVhbjtcblxuICBASW5wdXQoKSB0aXRsZTogc3RyaW5nIHwgVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgQElucHV0KCkgaGlkZVRpdGxlOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpIGNoYXJ0VHlwZTogJ2xpbmUnIHwgJ2FyZWEnIHwgJ2JhcicgfCAncG9pbnQnIHwgJ3N0YXQnID0gJ2FyZWEnO1xuXG4gIEBJbnB1dCgpIHRpdGxlRGVzY3JpcHRpb246IHN0cmluZyB8IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIEBJbnB1dCgpIHRpdGxlRGVzY3JpcHRpb25Db250ZXh0OiBTdHJpbmdNYXA7XG5cbiAgQElucHV0KCkgdW5pdDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIHRvb2x0aXBBcHBlbmRUb0JvZHkgPSB0cnVlO1xuXG4gIEBIb3N0QmluZGluZygnc3R5bGUub3ZlcmZsb3cnKVxuICBnZXQgb3ZlcmZsb3coKSB7XG4gICAgcmV0dXJuICF0aGlzLnRvb2x0aXBBcHBlbmRUb0JvZHkgJiYgJ3Vuc2V0JztcbiAgfVxuXG4gIEBPYnNlcnZhYmxlSW5wdXQoKVxuICB1bml0JCE6IE9ic2VydmFibGU8c3RyaW5nPjtcblxuICBASW5wdXQoKSBpbmRpY2F0b3I6IEluZGljYXRvcltdO1xuXG4gIEBJbnB1dCgpIGdyaWRPZmZzZXRUb3AgPSAwO1xuXG4gIEBJbnB1dCgpIHlBeGlzTWluU3RlcD86IG51bWJlcjtcblxuICBASW5wdXQoKSByb3RhdGVkOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpIGJhclR5cGU6ICdzdGFuZGFyZCcgfCAnc3RhY2tlZCcgPSAnc3RhbmRhcmQnO1xuXG4gIEBPYnNlcnZhYmxlSW5wdXQoKVxuICBpbmRpY2F0b3IkITogT2JzZXJ2YWJsZTxJbmRpY2F0b3JbXT47XG5cbiAgQElucHV0KCkgbWV0cmljQXBpUGFyYW1zOiBNZXRyaWNBcGlQYXJhbXM7XG5cbiAgQE9ic2VydmFibGVJbnB1dCgpXG4gIG1ldHJpY0FwaVBhcmFtcyQhOiBPYnNlcnZhYmxlPE1ldHJpY0FwaVBhcmFtcz47XG5cbiAgQElucHV0KCkgdG9vbHRpcFBvaW50TmFtZVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICBASW5wdXQoKSB0b29sdGlwUG9pbnRUZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgQElucHV0KCkgbGVnZW5kVGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVua25vd24+IHwgc3RyaW5nO1xuXG4gIEBJbnB1dCgpIGxlZ2VuZFNlbGVjdEFsbE9wZXJhdGlvbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIGxlZ2VuZFNlbGVjdEFsbE5hbWU6IHN0cmluZztcblxuICBASW5wdXQoKSB0b29sdGlwSGlkZTogYm9vbGVhbjtcblxuICBASW5wdXQoKSB0b29sdGlwUG9pbnRGb3JtYXQ6IChkOiBDb250ZXh0SXRlbSkgPT4gbnVtYmVyIHwgc3RyaW5nO1xuXG4gIEBJbnB1dCgpIHRvb2x0aXBQb2ludFRlbXBsYXRlQ29udGV4dDogeyBba2V5OiBzdHJpbmddOiBhbnkgfTtcblxuICBASW5wdXQoKSB0b29sdGlwQ29sdW1uTGF5b3V0OiBib29sZWFuO1xuXG4gIEBJbnB1dCgpIGhpZGVMZWdlbmQgPSBmYWxzZTtcblxuICBASW5wdXQoKSB0b29sdGlwQXV0b1NvcnQ6IGJvb2xlYW47XG5cbiAgQElucHV0KCkgdG9vbHRpcFNvcnRNZXRob2Q6IChhOiBUb29sdGlwVmFsdWUsIGI6IFRvb2x0aXBWYWx1ZSkgPT4gbnVtYmVyO1xuXG4gIEBJbnB1dCgpIGhpZGVUb29sdGlwVW5pdDogYm9vbGVhbjtcblxuICBASW5wdXQoKSBsZWZ0T3BlcmF0aW9uOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICBASW5wdXQoKSBsZWZ0T3BlcmF0aW9uQ29udGV4dDogU3RyaW5nTWFwO1xuXG4gIEBJbnB1dCgpIHJpZ2h0T3BlcmF0aW9uOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICBASW5wdXQoKSBtb2RlOiAnY2FyZCcgfCAnZGVmYXVsdCcgPSAnZGVmYXVsdCc7XG5cbiAgQElucHV0KClcbiAgYWRhcHRVbml0OiBib29sZWFuIHwgTWF0Y2hVbml0UGFyYW1zO1xuXG4gIEBPYnNlcnZhYmxlSW5wdXQoKVxuICBhZGFwdFVuaXQkITogT2JzZXJ2YWJsZTxib29sZWFuIHwgTWF0Y2hVbml0UGFyYW1zPjtcblxuICBASW5wdXQoKVxuICBwZXJjZW50OiBib29sZWFuO1xuXG4gIEBPYnNlcnZhYmxlSW5wdXQoKVxuICBwZXJjZW50JCE6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgQElucHV0KCkgZGVwZW5kT25EYXRhOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpIGN1c3RvbU5vRGF0YVRpdGxlOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB8IHN0cmluZztcblxuICBASW5wdXQoKSBkYXRhRm9ybWF0OiAoXG4gICAgZDogTWV0cmljUmVzdWx0W10sXG4gICAgaW5kaWNhdG9yOiBJbmRpY2F0b3JbXSxcbiAgKSA9PiBDaGFydERhdGFbXTtcblxuICBASW5wdXQoKSBjdXN0b21TZXJpZXMhOiBNZXRyaWNSZXN1bHRbXTtcbiAgQE9ic2VydmFibGVJbnB1dCgpIGN1c3RvbVNlcmllcyQhOiBPYnNlcnZhYmxlPE1ldHJpY1Jlc3VsdFtdPjtcblxuICBASW5wdXQoKSBpc0N1c3RvbVNlcmllczogYm9vbGVhbjtcblxuICBzZXJpZXMkOiBPYnNlcnZhYmxlPENoYXJ0RGF0YVtdPjtcblxuICBASW5wdXQoKSBjaGFydFN0YXR1czogQ2hhcnRTdGF0dXM7XG4gIEBPYnNlcnZhYmxlSW5wdXQoKVxuICBjaGFydFN0YXR1cyQhOiBPYnNlcnZhYmxlPENoYXJ0U3RhdHVzPjtcblxuICBASW5wdXQoKSB0b29sdGlwVHJhbnNsYXRpb24gPSB0cnVlO1xuXG4gIEBJbnB1dCgpIHhQbG90TGluZXM6IFhQbG90TGluZXM7XG5cbiAgQElucHV0KCkgeFBsb3RFbXB0eTogYm9vbGVhbjtcblxuICBASW5wdXQoKSB5UGxvdExpbmVzOiBUb29sdGlwQ29udGV4dDtcblxuICBASW5wdXQoKSB5UGxvdExpbmVzVG9vbHRpcDogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgQElucHV0KCkgeVBsb3RMaW5lc1Rvb2x0aXBDb250ZXh0OiBTdHJpbmdNYXA7XG5cbiAgQElucHV0KCkgeVBsb3RMaW5lc0hpZGUgPSBmYWxzZTtcblxuICBASW5wdXQoKSBlbmFibGVab29tOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpIHN0ZXBMaW5lOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpIHRvb2x0aXBUaXRsZVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICBASW5wdXQoKSB5QWNjZXNzb3I6IChkOiBDaGFydERhdGFJdGVtKSA9PiBudW1iZXI7XG5cbiAgQElucHV0KCkgY3VydmVUeXBlOiBDdXJ2ZUZhY3RvcnkgfCBDdXJ2ZUZhY3RvcnlMaW5lT25seTtcblxuICBAT3V0cHV0KCkgbW91c2VVcEV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxBcmVhUG9zaXRpb24+KCk7XG5cbiAgQE91dHB1dCgpIG1hcmtDbGlja0V2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxUb29sdGlwQ29udGV4dD4oKTtcblxuICBAT3V0cHV0KCkgcmVmcmVzaEV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBPdXRwdXQoKSBkYXRhQ29tcGxldGVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIHJlbG9hZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpO1xuXG4gIF9jaGFydFN0YXR1cyQkID0gbmV3IFN1YmplY3Q8Q2hhcnRTdGF0dXM+KCk7XG4gIF9zdGF0dXM6IENoYXJ0U3RhdHVzID0ge307XG4gIHN0YXR1cyQgPSBtZXJnZSh0aGlzLmNoYXJ0U3RhdHVzJCwgdGhpcy5fY2hhcnRTdGF0dXMkJCkucGlwZShcbiAgICBtYXAoc3RhdHVzID0+ICh7XG4gICAgICAuLi50aGlzLl9zdGF0dXMsXG4gICAgICAuLi5zdGF0dXMsXG4gICAgfSkpLFxuICAgIHRhcChzdGF0dXMgPT4gKHRoaXMuX3N0YXR1cyA9IHN0YXR1cykpLFxuICAgIHB1Ymxpc2hSZWYoKSxcbiAgKTtcblxuICBub0RhdGE6IGJvb2xlYW47XG5cbiAgZGF0ZUF4aXNMYWJlbEZvcm1hdHMgPSBEQVRFX1RJTUVfRk9STUFUX1hfQVhJUztcblxuICBkYXRlWEF4aXNMYWJlbEZvcm1hdHMgPSAnJUg6JU0nO1xuXG4gIGdldCB4QWNjZXNzb3IoKSB7XG4gICAgcmV0dXJuIChkOiBDaGFydERhdGFJdGVtPHsgeDogbnVtYmVyOyB5OiBudW1iZXIgfT4pID0+IGQueCAqIDEwMDA7XG4gIH1cblxuICB5QWNjZXNzb3IkID0gdGhpcy5wZXJjZW50JC5waXBlKFxuICAgIHRhcChwZXJjZW50ID0+IHtcbiAgICAgIGlmIChwZXJjZW50KSB7XG4gICAgICAgIHRoaXMudW5pdCA9ICclJztcbiAgICAgIH1cbiAgICB9KSxcbiAgICBtYXAocGVyY2VudCA9PiAoZDogQ2hhcnREYXRhSXRlbTx7IHg6IG51bWJlcjsgeTogbnVtYmVyIH0+KSA9PiB7XG4gICAgICAvLyBwcm9tZXRoZXVzIOWPr+iDveWHuueOsCBJbmZpbml0eeaDheWGte+8jOWkhOeQhuS4uiBudWxsXG4gICAgICBpZiAoIU51bWJlci5pc0Zpbml0ZShkLnkpIHx8IFN0cmluZyhkLnkpLmluY2x1ZGVzKCdJbmYnKSkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBwZXJjZW50ICYmIGQueSA/ICtkLnkgKiAxMDAgOiBkLnkgPT09IG51bGwgPyBkLnkgOiArZC55O1xuICAgIH0pLFxuICApO1xuXG4gIF9jYWNoZVRpbWU6IE1ldHJpY0FwaVBhcmFtcyA9IHtcbiAgICBzdGFydDogUElDS0VSX1RJTUVfUkFOR0VTWzFdLnN0YXJ0VGltZSgpLFxuICAgIGVuZDogUElDS0VSX1RJTUVfUkFOR0VTWzFdLmVuZFRpbWUoKSxcbiAgICBzdGVwOiBQSUNLRVJfVElNRV9SQU5HRVNbMV0uc3RlcCxcbiAgfTtcblxuICBwcml2YXRlIGNoYXJ0UGFyYW1zOiBNZXRyaWNBcGlQYXJhbXM7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBzZXJ2aWNlOiBDb21tb25DaGFydFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMubWV0cmljQXBpUGFyYW1zKSB7XG4gICAgICB0aGlzLl9jYWNoZVRpbWUgPSB0aGlzLm1ldHJpY0FwaVBhcmFtcztcbiAgICB9XG5cbiAgICB0aGlzLnNlcmllcyQgPSAoXG4gICAgICB0aGlzLmlzQ3VzdG9tU2VyaWVzID8gdGhpcy5jdXN0b21TZXJpZXMkIDogdGhpcy5kZWZhdWx0U2VyaWVzJFxuICAgICkucGlwZSh0aGlzLmhhbmRsZU1ldHJpY0RhdGFQaXBlKCkpO1xuICB9XG5cbiAgZGVmYXVsdFNlcmllcyQ6IE9ic2VydmFibGU8TWV0cmljUmVzdWx0W10+ID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy5tZXRyaWNBcGlQYXJhbXMkLFxuICAgIHRoaXMuaW5kaWNhdG9yJCxcbiAgICB0aGlzLnJlbG9hZCQsXG4gIF0pLnBpcGUoXG4gICAgdGFwKChbLCBpbmRpY2F0b3JdKSA9PiB7XG4gICAgICB0aGlzLmhhbmRsZVRpbWVQYXJhbXMoKTtcbiAgICAgIHRoaXMuaGFuZGxlRGF0ZUF4aXNMYWJlbEZvcm1hdHModGhpcy5jaGFydFBhcmFtcyk7XG4gICAgICB0aGlzLmhhbmRlbENoYXJ0U3RhdHVzKHtcbiAgICAgICAgbG9hZGluZzogISFpbmRpY2F0b3I/Lmxlbmd0aCxcbiAgICAgICAgZmFpbGVkOiBmYWxzZSxcbiAgICAgICAgbm9EYXRhOiAhaW5kaWNhdG9yPy5sZW5ndGgsXG4gICAgICB9KTtcbiAgICB9KSxcbiAgICBzd2l0Y2hNYXAoKFtfLCBpbmRpY2F0b3JdKSA9PlxuICAgICAgaW5kaWNhdG9yPy5sZW5ndGggJiYgdGhpcy5jaGFydFBhcmFtc1xuICAgICAgICA/IHRoaXMuc2VydmljZS5yZXF1ZXN0Q2hhcnREYXRhKHRoaXMuY2hhcnRQYXJhbXMsIGluZGljYXRvcikucGlwZShcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKCkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLmhhbmRlbENoYXJ0U3RhdHVzKHsgbG9hZGluZzogZmFsc2UsIGZhaWxlZDogdHJ1ZSB9KTtcbiAgICAgICAgICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgKVxuICAgICAgICA6IG9mKG51bGwpLFxuICAgICksXG4gICk7XG5cbiAgaGFuZGxlVGltZVBhcmFtcygpIHtcbiAgICBsZXQgdGltZVBhcmFtcyA9IHRoaXMubWV0cmljQXBpUGFyYW1zO1xuICAgIGlmICh0aW1lUGFyYW1zKSB7XG4gICAgICBpZiAoY2hlY2tJbnRlcnZhbCh0aGlzLm1ldHJpY0FwaVBhcmFtcywgdGhpcy5fY2FjaGVUaW1lKSkge1xuICAgICAgICB0aGlzLl9jYWNoZVRpbWUgPSB0aGlzLm1ldHJpY0FwaVBhcmFtcztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRpbWVQYXJhbXMgPSB0aGlzLl9jYWNoZVRpbWU7XG4gICAgICB9XG4gICAgICB0aGlzLmNoYXJ0UGFyYW1zID0ge1xuICAgICAgICAuLi50aGlzLm1ldHJpY0FwaVBhcmFtcyxcbiAgICAgICAgLi4udGltZVBhcmFtcyxcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgaGFuZGxlTWV0cmljRGF0YVBpcGUoKSB7XG4gICAgcmV0dXJuIHBpcGUoXG4gICAgICB0YXAoKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5pc0N1c3RvbVNlcmllcykge1xuICAgICAgICAgIHRoaXMuaGFuZGxlVGltZVBhcmFtcygpO1xuICAgICAgICB9XG4gICAgICB9KSxcbiAgICAgIGZpbHRlcihcbiAgICAgICAgKHJlczogTWV0cmljUmVzdWx0W10pID0+XG4gICAgICAgICAgISF0aGlzLmNoYXJ0UGFyYW1zICYmICghIXJlcyB8fCAhdGhpcy5pbmRpY2F0b3I/Lmxlbmd0aCksXG4gICAgICApLFxuICAgICAgbWFwKChyZXM6IE1ldHJpY1Jlc3VsdFtdKSA9PiB7XG4gICAgICAgIGNvbnN0IGZvcm1hdCA9IHRoaXMuZGF0YUZvcm1hdCB8fCB0aGlzLnNlcnZpY2UuaGFuZGVsQ2hhcnREYXRhO1xuICAgICAgICAvLyBgZmlsbE51bGxDaGFydERhdGFgIHByb21ldGhldXMg5a2Y5Zyo5p+Q5Liq5pe26Ze054K55pyq6YeH6ZuG5Yiw5pWw5o2u55qE5oOF5Ya177yM6L+Z6YeM5Li65Yy65YiGIOacqumHh+mbhuWIsOaVsOaNruS4ujDnmoTmg4XlhrXvvIzov5nph4zliY3nq6/moLnmja7ml7bpl7TmrrXoh6rliqjloavlhYXmlbDmja5cbiAgICAgICAgLy8g5ZCO56uvIOmcgOimgeWSjCBQcm9tZXRoZXVzIEFQSSDkv53mjIHlhbzlrrnvvIzov5jmmK/lnKjliY3nq6/lgZrlpITnkIbloavlhYVcbiAgICAgICAgcmV0dXJuIGZvcm1hdChyZXMsIHRoaXMuaW5kaWNhdG9yIHx8IFtdLCB0aGlzLmRlcGVuZE9uRGF0YSk/Lm1hcChcbiAgICAgICAgICBpdGVtID0+ICh7XG4gICAgICAgICAgICAuLi5pdGVtLFxuICAgICAgICAgICAgdW5pdDogdGhpcy51bml0LFxuICAgICAgICAgICAgdmFsdWVzOiBmaWxsTnVsbENoYXJ0RGF0YShcbiAgICAgICAgICAgICAgdGhpcy5jaGFydFBhcmFtcyxcbiAgICAgICAgICAgICAgaXRlbS52YWx1ZXMgYXMgQXJyYXk8Q2hhcnREYXRhSXRlbTx7IHg6IG51bWJlcjsgeTogbnVtYmVyIH0+PixcbiAgICAgICAgICAgICAgdGhpcy5zdGVwTGluZSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgICB9KSxcbiAgICAgIHRhcChyZXMgPT4ge1xuICAgICAgICB0aGlzLmhhbmRsZURhdGVBeGlzTGFiZWxGb3JtYXRzKHRoaXMuY2hhcnRQYXJhbXMpO1xuICAgICAgICB0aGlzLmhhbmRlbENoYXJ0U3RhdHVzKHtcbiAgICAgICAgICBsb2FkaW5nOiBmYWxzZSxcbiAgICAgICAgICBub0RhdGE6IGhhc05vRGF0YShyZXMpLFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KSxcbiAgICAgIG1hcChyZXMgPT5cbiAgICAgICAgcmVzPy5sZW5ndGhcbiAgICAgICAgICA/IHJlc1xuICAgICAgICAgIDogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgdmFsdWVzOiBmaWxsTnVsbENoYXJ0RGF0YSh0aGlzLmNoYXJ0UGFyYW1zLCBbXSwgdGhpcy5zdGVwTGluZSksXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgKSxcbiAgICAgIHdpdGhMYXRlc3RGcm9tKHRoaXMuYWRhcHRVbml0JCksXG4gICAgICBtYXAoKFtyZXMsIF9hZGFwdFVuaXRdKSA9PiB7XG4gICAgICAgIGlmIChfYWRhcHRVbml0ICYmICF0aGlzLm5vRGF0YSkge1xuICAgICAgICAgIGNvbnN0IHsgYmFzZSwgdW5pdCB9ID0gdGhpcy5zZXJ2aWNlLmFkYXB0Q2hhcnRVbml0KHJlcywgX2FkYXB0VW5pdCk7XG4gICAgICAgICAgdGhpcy51bml0ID0gYHVuaXRfJHt1bml0fWA7XG4gICAgICAgICAgaWYgKHR5cGVvZiBfYWRhcHRVbml0ID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgY29uc3QgeyBkZWZhdWx0UHJlZml4ID0gdHJ1ZSwgcHJlZml4IH0gPSBfYWRhcHRVbml0O1xuICAgICAgICAgICAgdGhpcy51bml0ID0gZGVmYXVsdFByZWZpeFxuICAgICAgICAgICAgICA/IGB1bml0XyR7dW5pdH1gXG4gICAgICAgICAgICAgIDogYCR7cHJlZml4IHx8ICcnfSR7dW5pdH1gO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gKHJlcyBhcyBDaGFydERhdGFbXSkubWFwKChpdGVtOiBDaGFydERhdGEpID0+ICh7XG4gICAgICAgICAgICAuLi5pdGVtLFxuICAgICAgICAgICAgdW5pdDogdGhpcy51bml0LFxuICAgICAgICAgICAgdmFsdWVzOiBpdGVtLnZhbHVlcy5tYXAoZCA9PiAoe1xuICAgICAgICAgICAgICAuLi5kLFxuICAgICAgICAgICAgICB5OiBkLnkgPyBkLnkgLyBiYXNlIDogZC55LFxuICAgICAgICAgICAgfSkpLFxuICAgICAgICAgIH0pKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzLm1hcChpdGVtID0+ICh7IC4uLml0ZW0sIHVuaXQ6IHRoaXMudW5pdCB9KSkgYXMgQ2hhcnREYXRhW107XG4gICAgICB9KSxcbiAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgIHRoaXMuZGF0YUNvbXBsZXRlZC5uZXh0KCk7XG4gICAgICB9KSxcbiAgICAgIHB1Ymxpc2hSZWYoKSxcbiAgICApO1xuICB9XG5cbiAgcmVmcmVzaCgpIHtcbiAgICB0aGlzLnJlbG9hZCQubmV4dChudWxsKTtcbiAgICB0aGlzLnJlZnJlc2hFdmVudC5uZXh0KG51bGwpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kZWxDaGFydFN0YXR1cyhzdGF0dXM6IENoYXJ0U3RhdHVzKSB7XG4gICAgdGhpcy5fY2hhcnRTdGF0dXMkJC5uZXh0KHtcbiAgICAgIC4uLnN0YXR1cyxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlRGF0ZUF4aXNMYWJlbEZvcm1hdHMocGFyYW1zOiBNZXRyaWNBcGlQYXJhbXMpIHtcbiAgICBpZiAocGFyYW1zKSB7XG4gICAgICBjb25zdCBkaWZmID0gcGFyYW1zLmVuZCAtIHBhcmFtcy5zdGFydDtcbiAgICAgIGNvbnN0IG0xID0gMjQgKiA2MCAqIDYwO1xuICAgICAgY29uc3QgbTMgPSAzICogbTE7XG4gICAgICBjb25zdCBtNyA9IDcgKiBtMTtcbiAgICAgIGNvbnN0IE1fRF9GT1JNQVQgPSAnTU0tREQnO1xuICAgICAgY29uc3QgZm9ybWF0ID1cbiAgICAgICAgZGlmZiA+PSBtN1xuICAgICAgICAgID8gTV9EX0ZPUk1BVFxuICAgICAgICAgIDogZGlmZiA8IG03ICYmIChkaWZmID49IG0zIHx8IGRpZmYgPiBtMSlcbiAgICAgICAgICA/IGAke01fRF9GT1JNQVR9ICR7REFURV9USU1FX0ZPUk1BVF9YX0FYSVN9YFxuICAgICAgICAgIDogREFURV9USU1FX0ZPUk1BVF9YX0FYSVM7XG4gICAgICB0aGlzLmRhdGVBeGlzTGFiZWxGb3JtYXRzID0gZm9ybWF0O1xuICAgICAgLy8gaHR0cHM6Ly9kM2pzLm9yZy5jbi9kb2N1bWVudC9kMy10aW1lLWZvcm1hdC8jYXBpLXJlZmVyZW5jZVxuICAgICAgdGhpcy5kYXRlWEF4aXNMYWJlbEZvcm1hdHMgPVxuICAgICAgICBkaWZmID49IG03XG4gICAgICAgICAgPyAnJW0tJWQnXG4gICAgICAgICAgOiBkaWZmIDwgbTcgJiYgKGRpZmYgPj0gbTMgfHwgZGlmZiA+IG0xKVxuICAgICAgICAgID8gYCVtLSVkICVIOiVNYFxuICAgICAgICAgIDogJyVIOiVNJztcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxhY2wtdmlldy16Y2hhcnRcbiAgW2NsYXNzLm92ZXJmbG93LWRpc3BsYXldPVwiIXRvb2x0aXBBcHBlbmRUb0JvZHlcIlxuICBbY29udGV4dENhbGxiYWNrRnVuY3Rpb25dPVwiY29udGV4dENhbGxiYWNrRnVuY3Rpb25cIlxuICBbdW5pdF09XCJ1bml0XCJcbiAgW2hpZGVIZWFkZXJdPVwiaGlkZUhlYWRlclwiXG4gIFtjdXN0b21Ob0RhdGFUaXRsZV09XCJjdXN0b21Ob0RhdGFUaXRsZVwiXG4gIFtjaGFydFN0YXR1c109XCJzdGF0dXMkIHwgYXN5bmNcIlxuICBbYmFja2dyb3VuZENvbG9yXT1cImJhY2tncm91bmRDb2xvclwiXG4gIFtzZXJpZXNdPVwic2VyaWVzJCB8IGFzeW5jXCJcbiAgW2N1cnZlVHlwZV09XCJjdXJ2ZVR5cGVcIlxuICBbdG9vbHRpcEFwcGVuZFRvQm9keV09XCJ0b29sdGlwQXBwZW5kVG9Cb2R5XCJcbiAgW21vZGVdPVwibW9kZVwiXG4gIFtncmlkT2Zmc2V0VG9wXT1cImdyaWRPZmZzZXRUb3BcIlxuICBbdGl0bGVdPVwidGl0bGVcIlxuICBbY2hhcnRUeXBlXT1cImNoYXJ0VHlwZVwiXG4gIFtoaWRlVGl0bGVdPVwiaGlkZVRpdGxlXCJcbiAgW3Rvb2x0aXBIaWRlXT1cInRvb2x0aXBIaWRlXCJcbiAgW3Rvb2x0aXBTb3J0TWV0aG9kXT1cInRvb2x0aXBTb3J0TWV0aG9kXCJcbiAgW3RpdGxlRGVzY3JpcHRpb25dPVwidGl0bGVEZXNjcmlwdGlvblwiXG4gIFt0aXRsZURlc2NyaXB0aW9uQ29udGV4dF09XCJ0aXRsZURlc2NyaXB0aW9uQ29udGV4dFwiXG4gIFtoaWRlTGVnZW5kXT1cIihkZXBlbmRPbkRhdGEgJiYgbm9EYXRhKSB8fCBoaWRlTGVnZW5kXCJcbiAgW2RhdGVBeGlzTGFiZWxGb3JtYXRzXT1cImRhdGVBeGlzTGFiZWxGb3JtYXRzXCJcbiAgW2VuYWJsZVpvb21dPVwiZW5hYmxlWm9vbVwiXG4gIFtzdGVwTGluZV09XCJzdGVwTGluZVwiXG4gIFtyb3RhdGVkXT1cInJvdGF0ZWRcIlxuICBbcmlnaHRPcGVyYXRpb25dPVwicmlnaHRPcGVyYXRpb25cIlxuICBbbGVmdE9wZXJhdGlvbl09XCJsZWZ0T3BlcmF0aW9uXCJcbiAgW2xlZnRPcGVyYXRpb25Db250ZXh0XT1cImxlZnRPcGVyYXRpb25Db250ZXh0XCJcbiAgW2xlZ2VuZFRlbXBsYXRlXT1cImxlZ2VuZFRlbXBsYXRlXCJcbiAgW2xlZ2VuZFNlbGVjdEFsbE9wZXJhdGlvbl09XCJsZWdlbmRTZWxlY3RBbGxPcGVyYXRpb25cIlxuICBbbGVnZW5kU2VsZWN0QWxsTmFtZV09XCJsZWdlbmRTZWxlY3RBbGxOYW1lXCJcbiAgW3lBY2Nlc3Nvcl09XCJ5QWNjZXNzb3IgfHwgKHlBY2Nlc3NvciQgfCBhc3luYylcIlxuICBbeEFjY2Vzc29yXT1cInhBY2Nlc3NvclwiXG4gIFt5QXhpc01pblN0ZXBdPVwieUF4aXNNaW5TdGVwXCJcbiAgW2hpZGVUb29sdGlwVW5pdF09XCJoaWRlVG9vbHRpcFVuaXRcIlxuICBbdG9vbHRpcFRpdGxlVGVtcGxhdGVdPVwidG9vbHRpcFRpdGxlVGVtcGxhdGVcIlxuICBbdG9vbHRpcEF1dG9Tb3J0XT1cInRvb2x0aXBBdXRvU29ydFwiXG4gIFt0b29sdGlwVHJhbnNsYXRpb25dPVwidG9vbHRpcFRyYW5zbGF0aW9uXCJcbiAgW3Rvb2x0aXBQb2ludE5hbWVUZW1wbGF0ZV09XCJ0b29sdGlwUG9pbnROYW1lVGVtcGxhdGVcIlxuICBbdG9vbHRpcFBvaW50VGVtcGxhdGVdPVwidG9vbHRpcFBvaW50VGVtcGxhdGVcIlxuICBbdG9vbHRpcFBvaW50VGVtcGxhdGVDb250ZXh0XT1cInRvb2x0aXBQb2ludFRlbXBsYXRlQ29udGV4dFwiXG4gIFt4UGxvdExpbmVzXT1cInhQbG90TGluZXNcIlxuICBbeFBsb3RFbXB0eV09XCJ4UGxvdEVtcHR5XCJcbiAgW3lQbG90TGluZXNIaWRlXT1cInlQbG90TGluZXNIaWRlXCJcbiAgW3lQbG90TGluZXNdPVwieVBsb3RMaW5lc1wiXG4gIChtb3VzZVVwRXZlbnQpPVwibW91c2VVcEV2ZW50Lm5leHQoJGV2ZW50KVwiXG4gIChtYXJrQ2xpY2tFdmVudCk9XCJtYXJrQ2xpY2tFdmVudC5uZXh0KCRldmVudClcIlxuICAocmVmcmVzaEV2ZW50KT1cInJlZnJlc2goKVwiXG4+XG48L2FjbC12aWV3LXpjaGFydD5cbjwhLS0gW3Rvb2x0aXBQb2ludEZvcm1hdF09XCJ0b29sdGlwUG9pbnRGb3JtYXRcIiAtLT5cbiJdfQ==
|
|
@@ -113,5 +113,5 @@ export class MetricTimePickComponent {
|
|
|
113
113
|
}], timeSelected: [{
|
|
114
114
|
type: Output
|
|
115
115
|
}] }); })();
|
|
116
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MetricTimePickComponent, { className: "MetricTimePickComponent"
|
|
116
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MetricTimePickComponent, { className: "MetricTimePickComponent" }); })();
|
|
117
117
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0cmljLXRpbWUtcGljay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9tZXRyaWMtY2hhcnQvbWV0cmljLXRpbWUtcGljay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN6RCxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFFckYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sV0FBVyxDQUFDOzs7Ozs7SUFPekMsNkJBQThDO0lBQzVDLDhCQUFrQzs7OztJQUVSLFlBQStCOzs7SUFBL0IsbUVBQStCOzs7SUFBM0QsQUFIQSx3R0FBOEMsMEhBR25COzs7O0lBSEEsQUFBWixrQ0FBWSw2QkFBaUI7OztJQVU1QyxxQ0FJQzs7SUFDQyxZQUNGOztJQUFBLGlCQUFhOzs7SUFIWCxBQURBLDBEQUErQixrQkFDakI7SUFFZCxlQUNGO0lBREUsbUVBQ0Y7O0FBaUJOLE1BQU0sT0FBTyx1QkFBdUI7SUFyQ3BDO1FBc0NXLFNBQUksR0FBRyxJQUFJLENBQUM7UUFFWixTQUFJLEdBQUcsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFN0IsY0FBUyxHQUF1QixrQkFBa0IsQ0FBQztRQUVsRCxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFvQixDQUFDO0tBSy9EO0lBSEMsVUFBVTtRQUNSLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQyxDQUFDO3dGQVhVLHVCQUF1QjtvRUFBdkIsdUJBQXVCOztZQWxDaEMseUhBQTBCO1lBTTFCLHFDQUlDO1lBRkMscVBBQWtCO1lBQ2xCLDhKQUFpQixnQkFBWSxLQUFDO1lBRTlCLHNGQUlDO1lBR0gsaUJBQWE7OztZQVhYLGVBQThCO1lBQTlCLCtDQUE4QjtZQUM5Qix3Q0FBa0I7WUFJQyxjQUFZO1lBQVosdUNBQVk7NEJBWWpDLElBQUk7WUFDSixhQUFhO1lBQ2IsZUFBZSxvQkFDZixZQUFZLDBDQUNaLHFCQUFxQjtZQUNyQiwwQkFBMEI7WUFDMUIsV0FBVyxrQ0FDWCxPQUFPOztpRkFHRSx1QkFBdUI7Y0FyQ25DLFNBQVM7MkJBQ0Usc0JBQXNCLFlBQ3RCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CVCxtQkFFZ0IsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7b0JBQ1AsSUFBSTtvQkFDSixhQUFhO29CQUNiLGVBQWU7b0JBQ2YsWUFBWTtvQkFDWixxQkFBcUI7b0JBQ3JCLDBCQUEwQjtvQkFDMUIsV0FBVztvQkFDWCxPQUFPO2lCQUNSO2dCQUdRLElBQUk7a0JBQVosS0FBSztZQUVHLElBQUk7a0JBQVosS0FBSztZQUVHLFNBQVM7a0JBQWpCLEtBQUs7WUFFSSxZQUFZO2tCQUFyQixNQUFNOztrRkFQSSx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJY29uQ29tcG9uZW50LCBTZWxlY3RNb2R1bGUgfSBmcm9tICdAYWxhdWRhL3VpJztcbmltcG9ydCB7IE5nRm9yT2YsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBFZmZlY3REaXJlY3RpdmVNb2R1bGUgfSBmcm9tICcuLi9lZmZlY3QtZGlyZWN0aXZlL21vZHVsZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICcuLi90cmFuc2xhdGUvdHJhbnNsYXRlLm1vZHVsZSc7XG5pbXBvcnQgeyBTZWxlY3RQcmVmaXhMYWJlbERpcmVjdGl2ZSB9IGZyb20gJy4uL3dpZGdldC9zZWxlY3QtcHJlZml4LWxhYmVsL2RpcmVjdGl2ZSc7XG5cbmltcG9ydCB7IFBJQ0tFUl9USU1FX1JBTkdFUyB9IGZyb20gJy4vaGVscGVycyc7XG5pbXBvcnQgeyBQaWNrZXJUaW1lUmFuZ2VzIH0gZnJvbSAnLi90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FjbC1tZXRyaWMtdGltZS1waWNrJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8bmctdGVtcGxhdGUgI2ljb25XcmFwcGVyPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImljb247IGVsc2UgZWxzZVRlbXBsYXRlXCI+XG4gICAgICAgIDxhdWktaWNvbiBpY29uPVwiY2xvY2tcIj48L2F1aS1pY29uPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctdGVtcGxhdGUgI2Vsc2VUZW1wbGF0ZT4ge3sgJ3RpbWVfcmFuZ2UnIHwgdHJhbnNsYXRlIH19OjwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8YXVpLXNlbGVjdFxuICAgICAgW2FjbFByZWZpeExhYmVsXT1cImljb25XcmFwcGVyXCJcbiAgICAgIFsobmdNb2RlbCldPVwidGltZVwiXG4gICAgICAobmdNb2RlbENoYW5nZSk9XCJjaGFuZ2VUaW1lKClcIlxuICAgID5cbiAgICAgIDxhdWktb3B0aW9uXG4gICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIHRpbWVSYW5nZVwiXG4gICAgICAgIFtsYWJlbF09XCJpdGVtLm5hbWUgfCB0cmFuc2xhdGVcIlxuICAgICAgICBbdmFsdWVdPVwiaXRlbVwiXG4gICAgICA+XG4gICAgICAgIHt7IGl0ZW0ubmFtZSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9hdWktb3B0aW9uPlxuICAgIDwvYXVpLXNlbGVjdD5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vbWV0cmljLXRpbWUtcGljay5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTmdJZixcbiAgICBJY29uQ29tcG9uZW50LFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBTZWxlY3RNb2R1bGUsXG4gICAgRWZmZWN0RGlyZWN0aXZlTW9kdWxlLFxuICAgIFNlbGVjdFByZWZpeExhYmVsRGlyZWN0aXZlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIE5nRm9yT2YsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIE1ldHJpY1RpbWVQaWNrQ29tcG9uZW50IHtcbiAgQElucHV0KCkgaWNvbiA9IHRydWU7XG5cbiAgQElucHV0KCkgdGltZSA9IFBJQ0tFUl9USU1FX1JBTkdFU1sxXTtcblxuICBASW5wdXQoKSB0aW1lUmFuZ2U6IFBpY2tlclRpbWVSYW5nZXNbXSA9IFBJQ0tFUl9USU1FX1JBTkdFUztcblxuICBAT3V0cHV0KCkgdGltZVNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxQaWNrZXJUaW1lUmFuZ2VzPigpO1xuXG4gIGNoYW5nZVRpbWUoKSB7XG4gICAgdGhpcy50aW1lU2VsZWN0ZWQuZW1pdCh0aGlzLnRpbWUpO1xuICB9XG59XG4iXX0=
|
|
@@ -215,6 +215,8 @@ export function handleChartUnit(metrics, type) {
|
|
|
215
215
|
export function hasNoData(res) {
|
|
216
216
|
return (!res ||
|
|
217
217
|
res?.length === 0 ||
|
|
218
|
-
res?.every(item =>
|
|
218
|
+
res?.every(item => {
|
|
219
|
+
return !item?.values?.length || item.values.every(d => d.y === null);
|
|
220
|
+
}));
|
|
219
221
|
}
|
|
220
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvbWV0cmljLWNoYXJ0L3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUUxQixPQUFPLEVBQUUsK0JBQStCLEVBQWEsTUFBTSxvQkFBb0IsQ0FBQztBQVdoRixNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxHQUFHLENBQUM7QUFFOUMsTUFBTSxVQUFVLHVCQUF1QixDQUNyQyxHQUFtQixFQUNuQixTQUFzQjtJQUV0QixPQUFPLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUU7UUFDcEMsTUFBTSxNQUFNLEdBQ1YsR0FBRyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLElBQUksRUFBRSxDQUFDO1FBQ2pFLE9BQU87WUFDTCxHQUFHLEdBQUc7WUFDTjtnQkFDRSxJQUFJLEVBQUUsR0FBRyxDQUFDLElBQUksSUFBSSxHQUFHLENBQUMsRUFBRTtnQkFDeEIsS0FBSyxFQUFFLEdBQUcsQ0FBQyxLQUFLO2dCQUNoQixNQUFNLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7b0JBQzFCLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO29CQUNWLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7aUJBQ1osQ0FBQyxDQUFDO2FBQ0o7U0FDRixDQUFDO0lBQ0osQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ1QsQ0FBQztBQUVELE1BQU0sVUFBVSxrQkFBa0IsQ0FDaEMsR0FBbUIsRUFDbkIsVUFBdUI7SUFFdkIsTUFBTSxTQUFT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Q0FBQyxHQUFHO1FBQ0osR0FBRyxFQUFFLE1BQU0sS0FBSyxDQUFDO1FBQ2pCLEdBQUcsRUFBRSxLQUFLLENBQ1IsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FDdEUsQ0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBkYXlqcyBmcm9tICdkYXlqcyc7XG5cbmltcG9ydCB7IEZJRUxEX05PVF9BVkFJTEFCTEVfUExBQ0VIT0xERVIsIFN0cmluZ01hcCB9IGZyb20gJy4uL2NvcmUvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBDaGFydERhdGEsIENoYXJ0RGF0YUl0ZW0gfSBmcm9tICcuLi92aWV3LWNoYXJ0L3B1YmxpYy1hcGknO1xuXG5pbXBvcnQge1xuICBFeHByZXNzaW9uSXRlbSxcbiAgSW5kaWNhdG9yLFxuICBNZXRyaWNBcGlQYXJhbXMsXG4gIE1ldHJpY1F1ZXJ5SXRlbSxcbiAgTWV0cmljUmVzdWx0LFxufSBmcm9tICcuL3R5cGVzJztcblxuZXhwb3J0IGNvbnN0IENIQVJUX0xJTUlUX01BWF9VTklUX1ZBTFVFID0gODAwO1xuXG5leHBvcnQgZnVuY3Rpb24gZGVwZW5kT25JbmRpY2F0b3JTZXJpZXMoXG4gIHJlczogTWV0cmljUmVzdWx0W10sXG4gIGluZGljYXRvcjogSW5kaWNhdG9yW10sXG4pOiBDaGFydERhdGFbXSB7XG4gIHJldHVybiBpbmRpY2F0b3I/LnJlZHVjZSgoYWNjLCBwcmUpID0+IHtcbiAgICBjb25zdCB2YWx1ZXMgPVxuICAgICAgcmVzPy5maW5kKGl0ZW0gPT4gaXRlbS5pZCA9PT0gcHJlLmlkKT8ucmVzdWx0WzBdPy52YWx1ZXMgfHwgW107XG4gICAgcmV0dXJuIFtcbiAgICAgIC4uLmFjYyxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogcHJlLm5hbWUgfHwgcHJlLmlkLFxuICAgICAgICBjb2xvcjogcHJlLmNvbG9yLFxuICAgICAgICB2YWx1ZXM6IHZhbHVlcy5tYXAoaXRlbSA9PiAoe1xuICAgICAgICAgIHg6IGl0ZW1bMF0sXG4gICAgICAgICAgeTogK2l0ZW1bMV0sXG4gICAgICAgIH0pKSxcbiAgICAgIH0sXG4gICAgXTtcbiAgfSwgW10pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGVwZW5kT25EYXRhU2VyaWVzKFxuICByZXM6IE1ldHJpY1Jlc3VsdFtdLFxuICBpbmRpY2F0b3JzOiBJbmRpY2F0b3JbXSxcbik6IENoYXJ0RGF0YVtdIHtcbiAgY29uc3QgaW5kaWNhdG9yID0gaW5kaWNhdG9yc1swXTtcbiAgcmV0dXJuIHJlcz8ucmVkdWNlKChhY2MsIHByZSkgPT4ge1xuICAgIGlmIChbaW5kaWNhdG9yLmlkLCBpbmRpY2F0b3IubmFtZV0uaW5jbHVkZXMocHJlLmlkKSkge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHVuaWNvcm4vYmV0dGVyLXJlZ2V4XG4gICAgICBjb25zdCBrZXlzID0gaW5kaWNhdG9yPy5sZWdlbmQ/Lm1hdGNoKC9cXHtcXHtcXC4oLis/KVxcfVxcfS8pIHx8IFtcbiAgICAgICAgbnVsbCxcbiAgICAgICAgaW5kaWNhdG9yPy5sZWdlbmQsXG4gICAgICBdO1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAgLi4uYWNjLFxuICAgICAgICAuLi5wcmUucmVzdWx0Lm1hcChpdGVtID0+ICh7XG4gICAgICAgICAgbmFtZTogZ2V0TWV0cmljTmFtZShcbiAgICAgICAgICAgIGtleXM/LlsxXSB8fCBpbmRpY2F0b3IubWV0cmljU291cmNlS2V5LFxuICAgICAgICAgICAgaXRlbS5tZXRyaWMsXG4gICAgICAgICAgKSxcbiAgICAgICAgICB2YWx1ZXM6IGl0ZW0udmFsdWVzLm1hcChkID0+ICh7XG4gICAgICAgICAgICB4OiBkWzBdLFxuICAgICAgICAgICAgeTogK2RbMV0sXG4gICAgICAgICAgfSkpLFxuICAgICAgICB9KSksXG4gICAgICBdO1xuICAgIH1cbiAgICByZXR1cm4gYWNjO1xuICB9LCBbXSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRNZXRyaWNOYW1lKG1ldHJpY0tleTogc3RyaW5nLCBtZXRyaWM6IFN0cmluZ01hcCkge1xuICBpZiAoIW1ldHJpY0tleSAmJiAhT2JqZWN0LmtleXMobWV0cmljIHx8IHt9KT8ubGVuZ3RoKSB7XG4gICAgcmV0dXJuIEZJRUxEX05PVF9BVkFJTEFCTEVfUExBQ0VIT0xERVI7XG4gIH1cbiAgaWYgKCFtZXRyaWNLZXkgJiYgbWV0cmljKSB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG1ldHJpYyk7XG4gIH1cbiAgY29uc3QgbWV0cmljS2V5cyA9IG1ldHJpY0tleT8uc3BsaXQoJywnKTtcbiAgaWYgKG1ldHJpY0tleXM/Lmxlbmd0aCA+IDEpIHtcbiAgICBjb25zdCB2YWx1ZSA9IG1ldHJpYz8uW21ldHJpY0tleXMuZmluZChpdGVtID0+IG1ldHJpY1tpdGVtXSldO1xuICAgIHJldHVybiB2YWx1ZSB8fCBtZXRyaWNLZXk7XG4gIH1cbiAgcmV0dXJuIG1ldHJpY1ttZXRyaWNLZXkgfHwgJ19fcXVlcnlfaWRfXyddIHx8IG1ldHJpY0tleTtcbn1cblxuLy8g5aGr5YWF56m65pWw5o2uXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc29uYXJqcy9jb2duaXRpdmUtY29tcGxleGl0eVxuZXhwb3J0IGZ1bmN0aW9uIGZpbGxOdWxsQ2hhcnREYXRhKFxuICB7IHN0YXJ0LCBlbmQsIHN0ZXAgfTogTWV0cmljQXBpUGFyYW1zLFxuICByZXM6IEFycmF5PENoYXJ0RGF0YUl0ZW08eyB4OiBudW1iZXI7IHk6IG51bWJlciB9Pj4gPSBbXSxcbiAgc3RlcExpbmUgPSBmYWxzZSxcbikge1xuICBpZiAoIStzdGFydCB8fCAhK2VuZCkge1xuICAgIHJldHVybiByZXM7XG4gIH1cblxuICBjb25zdCBjdXJTdGFydCA9ICtzdGFydDtcbiAgY29uc3QgY3VyRW5kID0gc3RhcnQgKyAoZW5kIC0gc3RhcnQpO1xuICBjb25zdCBwcmVYID0gc3RlcExpbmVcbiAgICA/IHtcbiAgICAgICAgcHJlWDogZGF5anMoY3VyU3RhcnQpXG4gICAgICAgICAgLnN1YnRyYWN0KChlbmQgLSBzdGFydCkgLyA2LCAncycpXG4gICAgICAgICAgLnZhbHVlT2YoKSxcbiAgICAgIH1cbiAgICA6IHt9O1xuICBjb25zdCByZXN1bHQgPSBbXG4gICAgLi4uKGN1clN0YXJ0ID09PSByZXNbMF0/LnggPyBbXSA6IFt7IHg6IGN1clN0YXJ0LCB5OiBudWxsLCAuLi5wcmVYIH1dKSxcbiAgICAuLi5yZXMsXG4gICAgLi4uKHJlcy5hdCgtMSk/LnggPT09IGN1ckVuZCA/IFtdIDogW3sgeDogY3VyRW5kLCB5OiBudWxsIH1dKSxcbiAgXTtcblxuICAvLyBxdWVyeSDov5Tlm57mlbDmja7lj6/og73lrZjlnKjmn5DkuKrml7bpl7TmrrXml6DmlbDmja7mg4XlhrXvvIzkvJrlr7zoh7TliY3nq69idWdcbiAgLy8g6YCa6L+HIHN0ZXAg6K6h566X5Ye6IOaAu+aVsOaNruOAglxuICAvLyDlnKjlh7rnjrDkuIDlvIDlp4vmlbDmja7nvLrlpLHmg4XlhrXvvIzlhYjnu5nmlbDmja7mt7vliqDlvIDlp4vml7bpl7TmlbDmja7vvIzlkoznu5PmnZ/ml7bpl7TmlbDmja7jgIJcbiAgLy8g5Zyo6L+b6KGM6YGN5Y6G77yM5Yik6K+75b2T5YmN5pWw5o2u5ZKM5LiL5LiA6Lez5pWw5o2u5LqL5Lu25beuIOaYr+WQpuaYr+i/meS4qiBzdGVwLFxuICAvLyDlpoLmnpzkuI3mmK/orqHnrpflh7rkuKTogIXnm7jlt64g5Yeg5p2h5pWw5o2u77yM54S25ZCO6L+b6KGM5aGr5YWFXG4gIGNvbnN0IGRhdGEgPSByZXN1bHQucmVkdWNlKChhY2MsIHByZXYsIGluZGV4KSA9PiB7XG4gICAgY29uc3QgZGlmZiA9XG4gICAgICByZXN1bHRbaW5kZXggKyAxXSAmJiByZXN1bHRbaW5kZXggKyAxXS54ICogMTAwMCAtIHByZXYueCAqIDEwMDA7XG4gICAgY29uc3Qgc3RlcE0gPSBzdGVwICogMTAwMDtcbiAgICAvLyDlkI7nq6/lj6/og73lh7rnjrAgK0lmbiDlr7zoh7TmiJAgTmFO77yM6K6+572u5Li6IG51bGxcbiAgICBjb25zdCBjdXJWYWx1ZSA9IHtcbiAgICAgIC4uLnByZXYsXG4gICAgICB5OiBpc05hTihwcmV2LnkpID8gbnVsbCA6IHByZXYueSxcbiAgICB9O1xuICAgIGlmIChkaWZmICYmIGRpZmYgIT09IHN0ZXBNKSB7XG4gICAgICBjb25zdCB0b3RhbCA9IE1hdGguY2VpbChkaWZmIC8gc3RlcE0gLSAxKTtcbiAgICAgIGNvbnN0IGRhdGEgPSBBcnJheS5mcm9tPG51bWJlcj4oeyBsZW5ndGg6IHRvdGFsIHx8IDAgfSlcbiAgICAgICAgLmZpbGwoMClcbiAgICAgICAgLnJlZHVjZSgob2xkLCBfY3VyciwgaSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHggPVxuICAgICAgICAgICAgaSA9PT0gMCA/IHByZXYueCAqIDEwMDAgKyBzdGVwTSA6IG9sZFtpIC0gMV0ueCAqIDEwMDAgKyBzdGVwTTtcbiAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgLi4ub2xkLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB4OiB4IC8gMTAwMCxcbiAgICAgICAgICAgICAgeTogbnVsbCxcbiAgICAgICAgICAgICAgLi4uKHN0ZXBMaW5lXG4gICAgICAgICAgICAgICAgPyB7IHByZVg6IGkgPT09IDAgPyByZXN1bHRbaW5kZXhdLnggOiBvbGRbaSAtIDFdLnggfVxuICAgICAgICAgICAgICAgIDoge30pLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdO1xuICAgICAgICB9LCBbXSk7XG4gICAgICByZXR1cm4gWy4uLmFjYywgY3VyVmFsdWUsIC4uLmRhdGFdO1xuICAgIH1cbiAgICByZXR1cm4gWy4uLmFjYywgY3VyVmFsdWVdO1xuICB9LCBbXSk7XG4gIHJldHVybiBkYXRhLnNvcnQoKGEsIGIpID0+IGEueCAtIGIueCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1bml0RGVhbFdpdGgoZGF0YTogTWV0cmljUmVzdWx0W10pIHtcbiAgcmV0dXJuIGRhdGEuc29tZShcbiAgICBpdGVtID0+XG4gICAgICBNYXRoLm1heChcbiAgICAgICAgLi4uaXRlbS5yZXN1bHQubWFwKHJlcyA9PiBNYXRoLm1heCguLi5yZXMudmFsdWVzLm1hcChkID0+ICtkWzFdKSkpLFxuICAgICAgKSA+PSBDSEFSVF9MSU1JVF9NQVhfVU5JVF9WQUxVRSxcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNoZWNrSW50ZXJ2YWwoXG4gIHRpbWU6IE1ldHJpY0FwaVBhcmFtcyxcbiAgY2FjaGVUaW1lOiBNZXRyaWNBcGlQYXJhbXMsXG4pIHtcbiAgaWYgKCF0aW1lKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGNvbnN0IGxhc3REaWZmID0gY2FjaGVUaW1lLmVuZCAtIGNhY2hlVGltZS5zdGFydDtcbiAgY29uc3QgY3VyckRpZmYgPSB0aW1lLmVuZCAtIHRpbWUuc3RhcnQ7XG4gIGlmIChsYXN0RGlmZiA9PT0gY3VyckRpZmYpIHtcbiAgICBjb25zdCBkaWZmUyA9IGN1cnJEaWZmIC8gKGN1cnJEaWZmIC8gdGltZS5zdGVwKTtcbiAgICByZXR1cm4gdGltZS5lbmQgLSBjYWNoZVRpbWUuZW5kID49IGRpZmZTO1xuICB9XG4gIHJldHVybiB0cnVlO1xufVxuXG5leHBvcnQgY29uc3QgQ2hhcnRVbml0VHlwZSA9IHtcbiAgQ1BVOiAnY3B1JyxcbiAgTUVNT1JZOiAnbWVtb3J5JyxcbiAgVElNRTogJ3RpbWUnLFxuICBNRUFTVVJFOiAnbWVhc3VyZScsXG4gIFJhdGU6ICdyYXRlJyxcbn0gYXMgY29uc3Q7XG5leHBvcnQgdHlwZSBDaGFydFVuaXRUeXBlID0gKHR5cGVvZiBDaGFydFVuaXRUeXBlKVtrZXlvZiB0eXBlb2YgQ2hhcnRVbml0VHlwZV07XG5leHBvcnQgY29uc3QgQ0hBUlRfVU5JVF9NQVAgPSB7XG4gIFtDaGFydFVuaXRUeXBlLkNQVV06IHtcbiAgICBtZWRpdW06IHtcbiAgICAgIHZhbHVlOiAwLFxuICAgICAgdW5pdDogJ3VuaXRfbScsXG4gICAgfSxcbiAgICBiaWc6IHtcbiAgICAgIHZhbHVlOiAxMDAwLFxuICAgICAgdW5pdDogJ3VuaXRfY29yZScsXG4gICAgfSxcbiAgfSxcbiAgW0NoYXJ0VW5pdFR5cGUuTUVNT1JZXToge1xuICAgIG1lZGl1bToge1xuICAgICAgdmFsdWU6IDAsXG4gICAgICB1bml0OiAndW5pdF9NaScsXG4gICAgfSxcbiAgICBiaWc6IHtcbiAgICAgIHZhbHVlOiAxMDI0LFxuICAgICAgdW5pdDogJ3VuaXRfR2knLFxuICAgIH0sXG4gIH0sXG4gIFtDaGFydFVuaXRUeXBlLlRJTUVdOiB7XG4gICAgbWVkaXVtOiB7XG4gICAgICB2YWx1ZTogMCxcbiAgICAgIHVuaXQ6ICdtcycsXG4gICAgfSxcbiAgICBiaWc6IHtcbiAgICAgIHZhbHVlOiAxMDAwLFxuICAgICAgdW5pdDogJ3MnLFxuICAgIH0sXG4gIH0sXG4gIFtDaGFydFVuaXRUeXBlLk1FQVNVUkVdOiB7XG4gICAgbWVkaXVtOiB7XG4gICAgICB2YWx1ZTogMCxcbiAgICAgIHVuaXQ6ICd1bml0X0tCJyxcbiAgICB9LFxuICAgIGJpZzoge1xuICAgICAgdmFsdWU6IDEwMjQsXG4gICAgICB1bml0OiAndW5pdF9NQicsXG4gICAgfSxcbiAgfSxcbiAgW0NoYXJ0VW5pdFR5cGUuUmF0ZV06IHtcbiAgICBtZWRpdW06IHtcbiAgICAgIHZhbHVlOiAwLFxuICAgICAgdW5pdDogJ0JwcycsXG4gICAgfSxcbiAgICBiaWc6IHtcbiAgICAgIHZhbHVlOiAxMDAwLFxuICAgICAgdW5pdDogJ0ticHMnLFxuICAgIH0sXG4gIH0sXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVNZXRyaWNRdWVyeVBhcmFtcyh7XG4gIGlkLFxuICB2YWx1ZSxcbn06IEV4cHJlc3Npb25JdGVtKTogTWV0cmljUXVlcnlJdGVtIHtcbiAgcmV0dXJuIHtcbiAgICBhZ2dyZWdhdG9yOiAnJyxcbiAgICBpZCxcbiAgICBsYWJlbHM6IFtcbiAgICAgIHsgbmFtZTogJ19fbmFtZV9fJywgdmFsdWU6ICdjdXN0b20nIH0sXG4gICAgICB7IG5hbWU6ICdleHByJywgdmFsdWUgfSxcbiAgICBdLFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVNZXRyaWNRdWVyeShleHByZXNzaW9uOiBFeHByZXNzaW9uSXRlbVtdKSB7XG4gIHJldHVybiBleHByZXNzaW9uLm1hcChnZW5lcmF0ZU1ldHJpY1F1ZXJ5UGFyYW1zKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhbmRsZUNoYXJ0VW5pdChtZXRyaWNzOiBNZXRyaWNSZXN1bHRbXSwgdHlwZTogQ2hhcnRVbml0VHlwZSkge1xuICBjb25zdCBkYXRhID0gQ0hBUlRfVU5JVF9NQVBbdHlwZV07XG4gIGNvbnN0IGRlYWxXaXRoID0gdW5pdERlYWxXaXRoKG1ldHJpY3MpO1xuICBpZiAoZGVhbFdpdGgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgdW5pdDogZGF0YS5iaWcudW5pdCxcbiAgICAgIGhhbmRsZUNiOiAodmFsdWU6IG51bWJlcikgPT4gKyh2YWx1ZSAvIGRhdGEuYmlnLnZhbHVlIHx8IDApLnRvRml4ZWQoMiksXG4gICAgICBkZWFsV2l0aCxcbiAgICB9O1xuICB9XG4gIHJldHVybiB7XG4gICAgLi4uZGF0YS5tZWRpdW0sXG4gICAgZGVhbFdpdGgsXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNOb0RhdGEocmVzOiBDaGFydERhdGFbXSkge1xuICByZXR1cm4gKFxuICAgICFyZXMgfHxcbiAgICByZXM/Lmxlbmd0aCA9PT0gMCB8fFxuICAgIHJlcz8uZXZlcnkoXG4gICAgICBpdGVtID0+ICFpdGVtPy52YWx1ZXM/Lmxlbmd0aCB8fCBpdGVtLnZhbHVlcy5ldmVyeShkID0+IGQueSA9PT0gbnVsbCksXG4gICAgKVxuICApO1xufVxuIl19
|
|
222
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvbWV0cmljLWNoYXJ0L3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUUxQixPQUFPLEVBQUUsK0JBQStCLEVBQWEsTUFBTSxvQkFBb0IsQ0FBQztBQVdoRixNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxHQUFHLENBQUM7QUFFOUMsTUFBTSxVQUFVLHVCQUF1QixDQUNyQyxHQUFtQixFQUNuQixTQUFzQjtJQUV0QixPQUFPLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUU7UUFDcEMsTUFBTSxNQUFNLEdBQ1YsR0FBRyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLElBQUksRUFBRSxDQUFDO1FBQ2pFLE9BQU87WUFDTCxHQUFHLEdBQUc7WUFDTjtnQkFDRSxJQUFJLEVBQUUsR0FBRyxDQUFDLElBQUksSUFBSSxHQUFHLENBQUMsRUFBRTtnQkFDeEIsS0FBSyxFQUFFLEdBQUcsQ0FBQyxLQUFLO2dCQUNoQixNQUFNLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7b0JBQzFCLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO29CQUNWLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7aUJBQ1osQ0FBQyxDQUFDO2FBQ0o7U0FDRixDQUFDO0lBQ0osQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ1QsQ0FBQztBQUVELE1BQU0sVUFBVSxrQkFBa0IsQ0FDaEMsR0FBbUIsRUFDbkIsVUFBdUI7SUFFdkIsTUFBTSxTQUFT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Q0FBQyxHQUFHO1FBQ0osR0FBRyxFQUFFLE1BQU0sS0FBSyxDQUFDO1FBQ2pCLEdBQUcsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDaEIsT0FBTyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQztRQUN2RSxDQUFDLENBQUMsQ0FDSCxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBkYXlqcyBmcm9tICdkYXlqcyc7XG5cbmltcG9ydCB7IEZJRUxEX05PVF9BVkFJTEFCTEVfUExBQ0VIT0xERVIsIFN0cmluZ01hcCB9IGZyb20gJy4uL2NvcmUvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBDaGFydERhdGEsIENoYXJ0RGF0YUl0ZW0gfSBmcm9tICcuLi92aWV3LWNoYXJ0L3B1YmxpYy1hcGknO1xuXG5pbXBvcnQge1xuICBFeHByZXNzaW9uSXRlbSxcbiAgSW5kaWNhdG9yLFxuICBNZXRyaWNBcGlQYXJhbXMsXG4gIE1ldHJpY1F1ZXJ5SXRlbSxcbiAgTWV0cmljUmVzdWx0LFxufSBmcm9tICcuL3R5cGVzJztcblxuZXhwb3J0IGNvbnN0IENIQVJUX0xJTUlUX01BWF9VTklUX1ZBTFVFID0gODAwO1xuXG5leHBvcnQgZnVuY3Rpb24gZGVwZW5kT25JbmRpY2F0b3JTZXJpZXMoXG4gIHJlczogTWV0cmljUmVzdWx0W10sXG4gIGluZGljYXRvcjogSW5kaWNhdG9yW10sXG4pOiBDaGFydERhdGFbXSB7XG4gIHJldHVybiBpbmRpY2F0b3I/LnJlZHVjZSgoYWNjLCBwcmUpID0+IHtcbiAgICBjb25zdCB2YWx1ZXMgPVxuICAgICAgcmVzPy5maW5kKGl0ZW0gPT4gaXRlbS5pZCA9PT0gcHJlLmlkKT8ucmVzdWx0WzBdPy52YWx1ZXMgfHwgW107XG4gICAgcmV0dXJuIFtcbiAgICAgIC4uLmFjYyxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogcHJlLm5hbWUgfHwgcHJlLmlkLFxuICAgICAgICBjb2xvcjogcHJlLmNvbG9yLFxuICAgICAgICB2YWx1ZXM6IHZhbHVlcy5tYXAoaXRlbSA9PiAoe1xuICAgICAgICAgIHg6IGl0ZW1bMF0sXG4gICAgICAgICAgeTogK2l0ZW1bMV0sXG4gICAgICAgIH0pKSxcbiAgICAgIH0sXG4gICAgXTtcbiAgfSwgW10pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGVwZW5kT25EYXRhU2VyaWVzKFxuICByZXM6IE1ldHJpY1Jlc3VsdFtdLFxuICBpbmRpY2F0b3JzOiBJbmRpY2F0b3JbXSxcbik6IENoYXJ0RGF0YVtdIHtcbiAgY29uc3QgaW5kaWNhdG9yID0gaW5kaWNhdG9yc1swXTtcbiAgcmV0dXJuIHJlcz8ucmVkdWNlKChhY2MsIHByZSkgPT4ge1xuICAgIGlmIChbaW5kaWNhdG9yLmlkLCBpbmRpY2F0b3IubmFtZV0uaW5jbHVkZXMocHJlLmlkKSkge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHVuaWNvcm4vYmV0dGVyLXJlZ2V4XG4gICAgICBjb25zdCBrZXlzID0gaW5kaWNhdG9yPy5sZWdlbmQ/Lm1hdGNoKC9cXHtcXHtcXC4oLis/KVxcfVxcfS8pIHx8IFtcbiAgICAgICAgbnVsbCxcbiAgICAgICAgaW5kaWNhdG9yPy5sZWdlbmQsXG4gICAgICBdO1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAgLi4uYWNjLFxuICAgICAgICAuLi5wcmUucmVzdWx0Lm1hcChpdGVtID0+ICh7XG4gICAgICAgICAgbmFtZTogZ2V0TWV0cmljTmFtZShcbiAgICAgICAgICAgIGtleXM/LlsxXSB8fCBpbmRpY2F0b3IubWV0cmljU291cmNlS2V5LFxuICAgICAgICAgICAgaXRlbS5tZXRyaWMsXG4gICAgICAgICAgKSxcbiAgICAgICAgICB2YWx1ZXM6IGl0ZW0udmFsdWVzLm1hcChkID0+ICh7XG4gICAgICAgICAgICB4OiBkWzBdLFxuICAgICAgICAgICAgeTogK2RbMV0sXG4gICAgICAgICAgfSkpLFxuICAgICAgICB9KSksXG4gICAgICBdO1xuICAgIH1cbiAgICByZXR1cm4gYWNjO1xuICB9LCBbXSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRNZXRyaWNOYW1lKG1ldHJpY0tleTogc3RyaW5nLCBtZXRyaWM6IFN0cmluZ01hcCkge1xuICBpZiAoIW1ldHJpY0tleSAmJiAhT2JqZWN0LmtleXMobWV0cmljIHx8IHt9KT8ubGVuZ3RoKSB7XG4gICAgcmV0dXJuIEZJRUxEX05PVF9BVkFJTEFCTEVfUExBQ0VIT0xERVI7XG4gIH1cbiAgaWYgKCFtZXRyaWNLZXkgJiYgbWV0cmljKSB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG1ldHJpYyk7XG4gIH1cbiAgY29uc3QgbWV0cmljS2V5cyA9IG1ldHJpY0tleT8uc3BsaXQoJywnKTtcbiAgaWYgKG1ldHJpY0tleXM/Lmxlbmd0aCA+IDEpIHtcbiAgICBjb25zdCB2YWx1ZSA9IG1ldHJpYz8uW21ldHJpY0tleXMuZmluZChpdGVtID0+IG1ldHJpY1tpdGVtXSldO1xuICAgIHJldHVybiB2YWx1ZSB8fCBtZXRyaWNLZXk7XG4gIH1cbiAgcmV0dXJuIG1ldHJpY1ttZXRyaWNLZXkgfHwgJ19fcXVlcnlfaWRfXyddIHx8IG1ldHJpY0tleTtcbn1cblxuLy8g5aGr5YWF56m65pWw5o2uXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc29uYXJqcy9jb2duaXRpdmUtY29tcGxleGl0eVxuZXhwb3J0IGZ1bmN0aW9uIGZpbGxOdWxsQ2hhcnREYXRhKFxuICB7IHN0YXJ0LCBlbmQsIHN0ZXAgfTogTWV0cmljQXBpUGFyYW1zLFxuICByZXM6IEFycmF5PENoYXJ0RGF0YUl0ZW08eyB4OiBudW1iZXI7IHk6IG51bWJlciB9Pj4gPSBbXSxcbiAgc3RlcExpbmUgPSBmYWxzZSxcbikge1xuICBpZiAoIStzdGFydCB8fCAhK2VuZCkge1xuICAgIHJldHVybiByZXM7XG4gIH1cblxuICBjb25zdCBjdXJTdGFydCA9ICtzdGFydDtcbiAgY29uc3QgY3VyRW5kID0gc3RhcnQgKyAoZW5kIC0gc3RhcnQpO1xuICBjb25zdCBwcmVYID0gc3RlcExpbmVcbiAgICA/IHtcbiAgICAgICAgcHJlWDogZGF5anMoY3VyU3RhcnQpXG4gICAgICAgICAgLnN1YnRyYWN0KChlbmQgLSBzdGFydCkgLyA2LCAncycpXG4gICAgICAgICAgLnZhbHVlT2YoKSxcbiAgICAgIH1cbiAgICA6IHt9O1xuICBjb25zdCByZXN1bHQgPSBbXG4gICAgLi4uKGN1clN0YXJ0ID09PSByZXNbMF0/LnggPyBbXSA6IFt7IHg6IGN1clN0YXJ0LCB5OiBudWxsLCAuLi5wcmVYIH1dKSxcbiAgICAuLi5yZXMsXG4gICAgLi4uKHJlcy5hdCgtMSk/LnggPT09IGN1ckVuZCA/IFtdIDogW3sgeDogY3VyRW5kLCB5OiBudWxsIH1dKSxcbiAgXTtcblxuICAvLyBxdWVyeSDov5Tlm57mlbDmja7lj6/og73lrZjlnKjmn5DkuKrml7bpl7TmrrXml6DmlbDmja7mg4XlhrXvvIzkvJrlr7zoh7TliY3nq69idWdcbiAgLy8g6YCa6L+HIHN0ZXAg6K6h566X5Ye6IOaAu+aVsOaNruOAglxuICAvLyDlnKjlh7rnjrDkuIDlvIDlp4vmlbDmja7nvLrlpLHmg4XlhrXvvIzlhYjnu5nmlbDmja7mt7vliqDlvIDlp4vml7bpl7TmlbDmja7vvIzlkoznu5PmnZ/ml7bpl7TmlbDmja7jgIJcbiAgLy8g5Zyo6L+b6KGM6YGN5Y6G77yM5Yik6K+75b2T5YmN5pWw5o2u5ZKM5LiL5LiA6Lez5pWw5o2u5LqL5Lu25beuIOaYr+WQpuaYr+i/meS4qiBzdGVwLFxuICAvLyDlpoLmnpzkuI3mmK/orqHnrpflh7rkuKTogIXnm7jlt64g5Yeg5p2h5pWw5o2u77yM54S25ZCO6L+b6KGM5aGr5YWFXG4gIGNvbnN0IGRhdGEgPSByZXN1bHQucmVkdWNlKChhY2MsIHByZXYsIGluZGV4KSA9PiB7XG4gICAgY29uc3QgZGlmZiA9XG4gICAgICByZXN1bHRbaW5kZXggKyAxXSAmJiByZXN1bHRbaW5kZXggKyAxXS54ICogMTAwMCAtIHByZXYueCAqIDEwMDA7XG4gICAgY29uc3Qgc3RlcE0gPSBzdGVwICogMTAwMDtcbiAgICAvLyDlkI7nq6/lj6/og73lh7rnjrAgK0lmbiDlr7zoh7TmiJAgTmFO77yM6K6+572u5Li6IG51bGxcbiAgICBjb25zdCBjdXJWYWx1ZSA9IHtcbiAgICAgIC4uLnByZXYsXG4gICAgICB5OiBpc05hTihwcmV2LnkpID8gbnVsbCA6IHByZXYueSxcbiAgICB9O1xuICAgIGlmIChkaWZmICYmIGRpZmYgIT09IHN0ZXBNKSB7XG4gICAgICBjb25zdCB0b3RhbCA9IE1hdGguY2VpbChkaWZmIC8gc3RlcE0gLSAxKTtcbiAgICAgIGNvbnN0IGRhdGEgPSBBcnJheS5mcm9tPG51bWJlcj4oeyBsZW5ndGg6IHRvdGFsIHx8IDAgfSlcbiAgICAgICAgLmZpbGwoMClcbiAgICAgICAgLnJlZHVjZSgob2xkLCBfY3VyciwgaSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHggPVxuICAgICAgICAgICAgaSA9PT0gMCA/IHByZXYueCAqIDEwMDAgKyBzdGVwTSA6IG9sZFtpIC0gMV0ueCAqIDEwMDAgKyBzdGVwTTtcbiAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgLi4ub2xkLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB4OiB4IC8gMTAwMCxcbiAgICAgICAgICAgICAgeTogbnVsbCxcbiAgICAgICAgICAgICAgLi4uKHN0ZXBMaW5lXG4gICAgICAgICAgICAgICAgPyB7IHByZVg6IGkgPT09IDAgPyByZXN1bHRbaW5kZXhdLnggOiBvbGRbaSAtIDFdLnggfVxuICAgICAgICAgICAgICAgIDoge30pLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdO1xuICAgICAgICB9LCBbXSk7XG4gICAgICByZXR1cm4gWy4uLmFjYywgY3VyVmFsdWUsIC4uLmRhdGFdO1xuICAgIH1cbiAgICByZXR1cm4gWy4uLmFjYywgY3VyVmFsdWVdO1xuICB9LCBbXSk7XG4gIHJldHVybiBkYXRhLnNvcnQoKGEsIGIpID0+IGEueCAtIGIueCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1bml0RGVhbFdpdGgoZGF0YTogTWV0cmljUmVzdWx0W10pIHtcbiAgcmV0dXJuIGRhdGEuc29tZShcbiAgICBpdGVtID0+XG4gICAgICBNYXRoLm1heChcbiAgICAgICAgLi4uaXRlbS5yZXN1bHQubWFwKHJlcyA9PiBNYXRoLm1heCguLi5yZXMudmFsdWVzLm1hcChkID0+ICtkWzFdKSkpLFxuICAgICAgKSA+PSBDSEFSVF9MSU1JVF9NQVhfVU5JVF9WQUxVRSxcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNoZWNrSW50ZXJ2YWwoXG4gIHRpbWU6IE1ldHJpY0FwaVBhcmFtcyxcbiAgY2FjaGVUaW1lOiBNZXRyaWNBcGlQYXJhbXMsXG4pIHtcbiAgaWYgKCF0aW1lKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGNvbnN0IGxhc3REaWZmID0gY2FjaGVUaW1lLmVuZCAtIGNhY2hlVGltZS5zdGFydDtcbiAgY29uc3QgY3VyckRpZmYgPSB0aW1lLmVuZCAtIHRpbWUuc3RhcnQ7XG4gIGlmIChsYXN0RGlmZiA9PT0gY3VyckRpZmYpIHtcbiAgICBjb25zdCBkaWZmUyA9IGN1cnJEaWZmIC8gKGN1cnJEaWZmIC8gdGltZS5zdGVwKTtcbiAgICByZXR1cm4gdGltZS5lbmQgLSBjYWNoZVRpbWUuZW5kID49IGRpZmZTO1xuICB9XG4gIHJldHVybiB0cnVlO1xufVxuXG5leHBvcnQgY29uc3QgQ2hhcnRVbml0VHlwZSA9IHtcbiAgQ1BVOiAnY3B1JyxcbiAgTUVNT1JZOiAnbWVtb3J5JyxcbiAgVElNRTogJ3RpbWUnLFxuICBNRUFTVVJFOiAnbWVhc3VyZScsXG4gIFJhdGU6ICdyYXRlJyxcbn0gYXMgY29uc3Q7XG5leHBvcnQgdHlwZSBDaGFydFVuaXRUeXBlID0gKHR5cGVvZiBDaGFydFVuaXRUeXBlKVtrZXlvZiB0eXBlb2YgQ2hhcnRVbml0VHlwZV07XG5leHBvcnQgY29uc3QgQ0hBUlRfVU5JVF9NQVAgPSB7XG4gIFtDaGFydFVuaXRUeXBlLkNQVV06IHtcbiAgICBtZWRpdW06IHtcbiAgICAgIHZhbHVlOiAwLFxuICAgICAgdW5pdDogJ3VuaXRfbScsXG4gICAgfSxcbiAgICBiaWc6IHtcbiAgICAgIHZhbHVlOiAxMDAwLFxuICAgICAgdW5pdDogJ3VuaXRfY29yZScsXG4gICAgfSxcbiAgfSxcbiAgW0NoYXJ0VW5pdFR5cGUuTUVNT1JZXToge1xuICAgIG1lZGl1bToge1xuICAgICAgdmFsdWU6IDAsXG4gICAgICB1bml0OiAndW5pdF9NaScsXG4gICAgfSxcbiAgICBiaWc6IHtcbiAgICAgIHZhbHVlOiAxMDI0LFxuICAgICAgdW5pdDogJ3VuaXRfR2knLFxuICAgIH0sXG4gIH0sXG4gIFtDaGFydFVuaXRUeXBlLlRJTUVdOiB7XG4gICAgbWVkaXVtOiB7XG4gICAgICB2YWx1ZTogMCxcbiAgICAgIHVuaXQ6ICdtcycsXG4gICAgfSxcbiAgICBiaWc6IHtcbiAgICAgIHZhbHVlOiAxMDAwLFxuICAgICAgdW5pdDogJ3MnLFxuICAgIH0sXG4gIH0sXG4gIFtDaGFydFVuaXRUeXBlLk1FQVNVUkVdOiB7XG4gICAgbWVkaXVtOiB7XG4gICAgICB2YWx1ZTogMCxcbiAgICAgIHVuaXQ6ICd1bml0X0tCJyxcbiAgICB9LFxuICAgIGJpZzoge1xuICAgICAgdmFsdWU6IDEwMjQsXG4gICAgICB1bml0OiAndW5pdF9NQicsXG4gICAgfSxcbiAgfSxcbiAgW0NoYXJ0VW5pdFR5cGUuUmF0ZV06IHtcbiAgICBtZWRpdW06IHtcbiAgICAgIHZhbHVlOiAwLFxuICAgICAgdW5pdDogJ0JwcycsXG4gICAgfSxcbiAgICBiaWc6IHtcbiAgICAgIHZhbHVlOiAxMDAwLFxuICAgICAgdW5pdDogJ0ticHMnLFxuICAgIH0sXG4gIH0sXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVNZXRyaWNRdWVyeVBhcmFtcyh7XG4gIGlkLFxuICB2YWx1ZSxcbn06IEV4cHJlc3Npb25JdGVtKTogTWV0cmljUXVlcnlJdGVtIHtcbiAgcmV0dXJuIHtcbiAgICBhZ2dyZWdhdG9yOiAnJyxcbiAgICBpZCxcbiAgICBsYWJlbHM6IFtcbiAgICAgIHsgbmFtZTogJ19fbmFtZV9fJywgdmFsdWU6ICdjdXN0b20nIH0sXG4gICAgICB7IG5hbWU6ICdleHByJywgdmFsdWUgfSxcbiAgICBdLFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVNZXRyaWNRdWVyeShleHByZXNzaW9uOiBFeHByZXNzaW9uSXRlbVtdKSB7XG4gIHJldHVybiBleHByZXNzaW9uLm1hcChnZW5lcmF0ZU1ldHJpY1F1ZXJ5UGFyYW1zKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhbmRsZUNoYXJ0VW5pdChtZXRyaWNzOiBNZXRyaWNSZXN1bHRbXSwgdHlwZTogQ2hhcnRVbml0VHlwZSkge1xuICBjb25zdCBkYXRhID0gQ0hBUlRfVU5JVF9NQVBbdHlwZV07XG4gIGNvbnN0IGRlYWxXaXRoID0gdW5pdERlYWxXaXRoKG1ldHJpY3MpO1xuICBpZiAoZGVhbFdpdGgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgdW5pdDogZGF0YS5iaWcudW5pdCxcbiAgICAgIGhhbmRsZUNiOiAodmFsdWU6IG51bWJlcikgPT4gKyh2YWx1ZSAvIGRhdGEuYmlnLnZhbHVlIHx8IDApLnRvRml4ZWQoMiksXG4gICAgICBkZWFsV2l0aCxcbiAgICB9O1xuICB9XG4gIHJldHVybiB7XG4gICAgLi4uZGF0YS5tZWRpdW0sXG4gICAgZGVhbFdpdGgsXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNOb0RhdGEocmVzOiBDaGFydERhdGFbXSkge1xuICByZXR1cm4gKFxuICAgICFyZXMgfHxcbiAgICByZXM/Lmxlbmd0aCA9PT0gMCB8fFxuICAgIHJlcz8uZXZlcnkoaXRlbSA9PiB7XG4gICAgICByZXR1cm4gIWl0ZW0/LnZhbHVlcz8ubGVuZ3RoIHx8IGl0ZW0udmFsdWVzLmV2ZXJ5KGQgPT4gZC55ID09PSBudWxsKTtcbiAgICB9KVxuICApO1xufVxuIl19
|