@alauda-fe/common 1.4.9 → 1.4.11
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/core/pipes/parse-json-translate.pipe.d.ts +1 -1
- package/core/services/plugin-util.service.d.ts +31 -0
- package/core/services/public-api.d.ts +1 -0
- package/core/types/k8s/crd.d.ts +3 -2
- package/core/types/resource-definitions.d.ts +21 -1
- package/esm2022/api/project-api.service.mjs +7 -2
- package/esm2022/chart/common/axis/x-axis-ticks.component.mjs +8 -13
- package/esm2022/chart/common/legend/legend.component.mjs +5 -6
- package/esm2022/chart/common/tooltip/tooltip.component.mjs +6 -7
- package/esm2022/code/code-display-dialog/component.mjs +3 -3
- package/esm2022/core/pipes/parse-json-translate.pipe.mjs +3 -4
- package/esm2022/core/services/plugin-util.service.mjs +60 -0
- package/esm2022/core/services/public-api.mjs +2 -1
- package/esm2022/core/types/k8s/crd.mjs +1 -1
- package/esm2022/core/types/resource-definitions.mjs +11 -1
- package/esm2022/core/utils/resources.mjs +2 -2
- package/esm2022/editable/editable.component.mjs +5 -17
- package/esm2022/k8s-resource-list/footer/component.mjs +2 -2
- package/esm2022/multi-search/action-input/component.mjs +83 -51
- package/esm2022/multi-search/form/component.mjs +33 -16
- package/esm2022/multi-search/multi-search-tags/component.mjs +7 -5
- package/esm2022/page-scaffold/navigation/lottie-icons/animation-data.mjs +3 -1
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/observe.json +1 -0
- package/esm2022/page-scaffold/page-header/common-layout/context.service.mjs +6 -11
- package/esm2022/page-scaffold/page-header/common-layout/product-select/component.mjs +12 -13
- package/esm2022/table/component.mjs +6 -6
- package/esm2022/translate/i18n-assets-loader.mjs +4 -4
- package/esm2022/translate/i18n-config.mjs +4 -1
- package/esm2022/translate/translate.pipe.mjs +17 -23
- package/esm2022/translate/translate.service.mjs +14 -24
- package/esm2022/view-chart/legend/legend.component.mjs +5 -6
- package/esm2022/view-chart/view-chart.component.mjs +7 -9
- package/esm2022/view-zchart/legend/legend.component.mjs +5 -6
- package/esm2022/view-zchart/view-zchart.component.mjs +8 -15
- package/esm2022/widget/field-set/item/component.mjs +2 -2
- package/multi-search/action-input/component.d.ts +4 -1
- package/multi-search/form/component.d.ts +4 -1
- package/multi-search/multi-search-tags/component.d.ts +2 -1
- package/package.json +1 -1
- package/page-scaffold/page-header/common-layout/context.service.d.ts +1 -2
- package/styles/markdown-body.scss +4 -2
- package/translate/i18n-config.d.ts +1 -0
- package/translate/translate.pipe.d.ts +1 -2
- package/translate/translate.service.d.ts +8 -10
|
@@ -3,7 +3,7 @@ import { TranslatePipe } from '../../translate/translate.pipe';
|
|
|
3
3
|
import { TranslateKey } from '../../translate/types';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export declare class ParseJsonTranslatePipe extends TranslatePipe implements PipeTransform {
|
|
6
|
-
transform(key: TranslateKey, data?: unknown
|
|
6
|
+
transform(key: TranslateKey, data?: unknown): string;
|
|
7
7
|
static ɵfac: i0.ɵɵFactoryDeclaration<ParseJsonTranslatePipe, never>;
|
|
8
8
|
static ɵpipe: i0.ɵɵPipeDeclaration<ParseJsonTranslatePipe, "aclParseJsonTranslate", true>;
|
|
9
9
|
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @packageDocumentation
|
|
3
|
+
* @module utils
|
|
4
|
+
*/
|
|
5
|
+
import { HttpClient } from '@angular/common/http';
|
|
6
|
+
import { Observable } from 'rxjs';
|
|
7
|
+
import { KubernetesResource } from '../types/k8s/core';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
export type ModulePluginPhase = 'Running' | 'Processing' | 'Deleting' | 'Failed' | 'Upgrading' | 'Unknown';
|
|
10
|
+
export interface ModulePluginInstallStatus {
|
|
11
|
+
cluster: string;
|
|
12
|
+
name: string;
|
|
13
|
+
phase: ModulePluginPhase;
|
|
14
|
+
version: string;
|
|
15
|
+
}
|
|
16
|
+
export interface ModulePluginView extends KubernetesResource {
|
|
17
|
+
status: {
|
|
18
|
+
modulePluginExist: boolean;
|
|
19
|
+
installed: ModulePluginInstallStatus[];
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
export declare const modulePluginIsRunning: (pluginView: ModulePluginView, cluster: string) => boolean;
|
|
23
|
+
export declare class PluginUtilService {
|
|
24
|
+
private readonly httpClient;
|
|
25
|
+
constructor(httpClient: HttpClient);
|
|
26
|
+
isOperatorEnabled(operator: string, cluster: string): Observable<boolean>;
|
|
27
|
+
isModulePluginEnabled(plugin: string, cluster: string): Observable<boolean>;
|
|
28
|
+
getModulePluginsViews(): Observable<ModulePluginView[]>;
|
|
29
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PluginUtilService, never>;
|
|
30
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<PluginUtilService>;
|
|
31
|
+
}
|
|
@@ -13,4 +13,5 @@ export * from './yaml-util.service';
|
|
|
13
13
|
export * from './form-row-duplicate/form-row-duplicate.service';
|
|
14
14
|
export * from './context.service';
|
|
15
15
|
export * from './disaster-recovery.service';
|
|
16
|
+
export * from './plugin-util.service';
|
|
16
17
|
export { EncodeUrlParamsSafelyInterceptor } from './encode-url-param.interceptor';
|
package/core/types/k8s/crd.d.ts
CHANGED
|
@@ -111,8 +111,9 @@ type GenProduct<T extends ProductKey> = Record<T, {
|
|
|
111
111
|
install: boolean;
|
|
112
112
|
}>;
|
|
113
113
|
export interface Tls {
|
|
114
|
-
|
|
115
|
-
|
|
114
|
+
secretRef: {
|
|
115
|
+
name: string;
|
|
116
|
+
};
|
|
116
117
|
}
|
|
117
118
|
export interface ProductBaseSpec extends GenProduct<ProductKey> {
|
|
118
119
|
alternativeURLs: string[];
|
|
@@ -402,6 +402,16 @@ export declare const COMMON_RESOURCE_DEFINITIONS: {
|
|
|
402
402
|
readonly apiVersion: string;
|
|
403
403
|
readonly type: string;
|
|
404
404
|
};
|
|
405
|
+
readonly OPERATOR_VIEW: {
|
|
406
|
+
readonly type: string;
|
|
407
|
+
readonly apiGroup: string;
|
|
408
|
+
readonly apiVersion: string;
|
|
409
|
+
};
|
|
410
|
+
readonly MODULE_PLUGIN_VIEW: {
|
|
411
|
+
readonly type: string;
|
|
412
|
+
readonly apiGroup: string;
|
|
413
|
+
readonly apiVersion: string;
|
|
414
|
+
};
|
|
405
415
|
};
|
|
406
416
|
export declare const RESOURCE_TYPES: {
|
|
407
417
|
readonly ALAUDA_LOADBALANCER2: "ALAUDA_LOADBALANCER2";
|
|
@@ -494,8 +504,10 @@ export declare const RESOURCE_TYPES: {
|
|
|
494
504
|
readonly OAM_APPLICATION: "OAM_APPLICATION";
|
|
495
505
|
readonly ARGOCD_APPLICATION_SET: "ARGOCD_APPLICATION_SET";
|
|
496
506
|
readonly ARGOCD_APPLICATION: "ARGOCD_APPLICATION";
|
|
507
|
+
readonly OPERATOR_VIEW: "OPERATOR_VIEW";
|
|
508
|
+
readonly MODULE_PLUGIN_VIEW: "MODULE_PLUGIN_VIEW";
|
|
497
509
|
};
|
|
498
|
-
export declare const getYamlApiVersion: (definition: "ALAUDA_LOADBALANCER2" | "ALB2" | "HELM_REQUEST" | "HELM_REQUEST_V1" | "DEPLOYMENT" | "DAEMONSET" | "STATEFULSET" | "FRONTEND" | "RULE" | "POD" | "PODS_EXEC" | "PODS_ROOT_EXEC" | "CONFIG_MAP" | "ALERT_TEMPLATE" | "APPLICATION" | "APPLICATION_HISTORY" | "CLUSTER" | "CLUSTER_VIEW" | "DAEMON_SET" | "STATEFUL_SET" | "DOMAIN" | "FEATURE" | "ALAUDA_FEATURE_GATE" | "CLUSTER_ALAUDA_FEATURE_GATE" | "HORIZONTAL_POD_AUTOSCALER" | "LOG" | "PROJECT" | "PROMETHEUS_RULE" | "ALERT_HISTORY" | "SELF_SUBJECT_ACCESS_REVIEW" | "VIEW" | "SERVICE" | "LIMIT_RANGE" | "SECRET" | "CRON_JOB" | "ADVANCED_CRON_JOB" | "JOB" | "INGRESS" | "PERSISTENT_VOLUME_CLAIM" | "NAMESPACE" | "NODE" | "NODE_METRICS" | "PV" | "CRD" | "CHART_REPO" | "CHART" | "NETWORK_POLICY" | "SERVICE_ACCOUNT" | "REPLICA_SET" | "POD_SECURITY_POLICY" | "NAMESPACE_OVERVIEW" | "CSP" | "RESOURCE_QUOTA" | "CLUSTER_NETWORK_POLICY" | "PROJECT_QUOTA" | "TKE_CLUSTER" | "TKE_MACHINE" | "MACHINE" | "NODE_GROUP" | "CLUSTERSERVICEVERSION" | "TENANT" | "SUBSCRIPTION" | "PACKAGE_MANIFEST" | "BUCKET_CLASS" | "PRODUCT_CONFIG" | "STORAGE_CLASS" | "VOLUME_SNAPSHOT_CLASS" | "PRODUCT_BASE" | "MODULE_INFO" | "MODULE_CONFIG" | "MODULE_PLUGIN" | "PRODUCT_ENTRY" | "PRODUCT_DOCS_ENTRY" | "SERVICEMESH_GROUP" | "CLUSTER_MODULE" | "USER_SECURITY_POLICY" | "CONNECTOR" | "ACCESS_TOKEN_INFO" | "FUNCTION_RESOURCE" | "USER_BINDING" | "USER" | "GROUP" | "PROJECT_MEMBER" | "ROLE_TEMPLATE" | "BATCH_ACTION" | "EVENT" | "SERVICE_MONITOR" | "OAM_APPLICATION" | "ARGOCD_APPLICATION_SET" | "ARGOCD_APPLICATION" | {
|
|
510
|
+
export declare const getYamlApiVersion: (definition: "ALAUDA_LOADBALANCER2" | "ALB2" | "HELM_REQUEST" | "HELM_REQUEST_V1" | "DEPLOYMENT" | "DAEMONSET" | "STATEFULSET" | "FRONTEND" | "RULE" | "POD" | "PODS_EXEC" | "PODS_ROOT_EXEC" | "CONFIG_MAP" | "ALERT_TEMPLATE" | "APPLICATION" | "APPLICATION_HISTORY" | "CLUSTER" | "CLUSTER_VIEW" | "DAEMON_SET" | "STATEFUL_SET" | "DOMAIN" | "FEATURE" | "ALAUDA_FEATURE_GATE" | "CLUSTER_ALAUDA_FEATURE_GATE" | "HORIZONTAL_POD_AUTOSCALER" | "LOG" | "PROJECT" | "PROMETHEUS_RULE" | "ALERT_HISTORY" | "SELF_SUBJECT_ACCESS_REVIEW" | "VIEW" | "SERVICE" | "LIMIT_RANGE" | "SECRET" | "CRON_JOB" | "ADVANCED_CRON_JOB" | "JOB" | "INGRESS" | "PERSISTENT_VOLUME_CLAIM" | "NAMESPACE" | "NODE" | "NODE_METRICS" | "PV" | "CRD" | "CHART_REPO" | "CHART" | "NETWORK_POLICY" | "SERVICE_ACCOUNT" | "REPLICA_SET" | "POD_SECURITY_POLICY" | "NAMESPACE_OVERVIEW" | "CSP" | "RESOURCE_QUOTA" | "CLUSTER_NETWORK_POLICY" | "PROJECT_QUOTA" | "TKE_CLUSTER" | "TKE_MACHINE" | "MACHINE" | "NODE_GROUP" | "CLUSTERSERVICEVERSION" | "TENANT" | "SUBSCRIPTION" | "PACKAGE_MANIFEST" | "BUCKET_CLASS" | "PRODUCT_CONFIG" | "STORAGE_CLASS" | "VOLUME_SNAPSHOT_CLASS" | "PRODUCT_BASE" | "MODULE_INFO" | "MODULE_CONFIG" | "MODULE_PLUGIN" | "PRODUCT_ENTRY" | "PRODUCT_DOCS_ENTRY" | "SERVICEMESH_GROUP" | "CLUSTER_MODULE" | "USER_SECURITY_POLICY" | "CONNECTOR" | "ACCESS_TOKEN_INFO" | "FUNCTION_RESOURCE" | "USER_BINDING" | "USER" | "GROUP" | "PROJECT_MEMBER" | "ROLE_TEMPLATE" | "BATCH_ACTION" | "EVENT" | "SERVICE_MONITOR" | "OAM_APPLICATION" | "ARGOCD_APPLICATION_SET" | "ARGOCD_APPLICATION" | "OPERATOR_VIEW" | "MODULE_PLUGIN_VIEW" | {
|
|
499
511
|
apiGroup: string;
|
|
500
512
|
type: string;
|
|
501
513
|
} | {
|
|
@@ -800,6 +812,14 @@ export declare const getYamlApiVersion: (definition: "ALAUDA_LOADBALANCER2" | "A
|
|
|
800
812
|
apiGroup: string;
|
|
801
813
|
apiVersion: string;
|
|
802
814
|
type: string;
|
|
815
|
+
} | {
|
|
816
|
+
type: string;
|
|
817
|
+
apiGroup: string;
|
|
818
|
+
apiVersion: string;
|
|
819
|
+
} | {
|
|
820
|
+
type: string;
|
|
821
|
+
apiGroup: string;
|
|
822
|
+
apiVersion: string;
|
|
803
823
|
}) => string;
|
|
804
824
|
export type ResourceType = keyof typeof RESOURCE_TYPES;
|
|
805
825
|
export declare const MachineMeta: TypeMeta;
|
|
@@ -3,6 +3,7 @@ import { Injectable } from '@angular/core';
|
|
|
3
3
|
import { flatMap } from 'lodash-es';
|
|
4
4
|
import { forkJoin, map, switchMap } from 'rxjs';
|
|
5
5
|
import { API_GATEWAY, skipError, } from '../core/public-api';
|
|
6
|
+
import { matchLabelsToString } from '../k8s-resource-list/utils';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
8
|
import * as i1 from "@angular/common/http";
|
|
8
9
|
const BASE_URL = `${API_GATEWAY}/auth/v1/projects`;
|
|
@@ -26,7 +27,11 @@ export class ProjectApiService {
|
|
|
26
27
|
return this.http.get(`${BASE_URL}/${project}/clusters/${cluster}/namespaces`);
|
|
27
28
|
}
|
|
28
29
|
get(name) {
|
|
29
|
-
return this.
|
|
30
|
+
return this.getProjects({
|
|
31
|
+
fieldSelector: matchLabelsToString({
|
|
32
|
+
'metadata.name': name,
|
|
33
|
+
}),
|
|
34
|
+
}).pipe(map(list => list[0]));
|
|
30
35
|
}
|
|
31
36
|
getClusterNamespaces(project, cluster) {
|
|
32
37
|
return this.http
|
|
@@ -52,4 +57,4 @@ export class ProjectApiService {
|
|
|
52
57
|
type: Injectable,
|
|
53
58
|
args: [{ providedIn: 'root' }]
|
|
54
59
|
}], () => [{ type: i1.HttpClient }], null); })();
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVjdC1hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9hcGkvcHJvamVjdC1hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3BDLE9BQU8sRUFBYyxRQUFRLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUU1RCxPQUFPLEVBQ0wsV0FBVyxFQUtYLFNBQVMsR0FDVixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7QUFFakUsTUFBTSxRQUFRLEdBQUcsR0FBRyxXQUFXLG1CQUFtQixDQUFDO0FBR25ELE1BQU0sT0FBTyxpQkFBaUI7SUFDNUIsWUFBNkIsSUFBZ0I7UUFBaEIsU0FBSSxHQUFKLElBQUksQ0FBWTtJQUFHLENBQUM7SUFFakQsV0FBVyxDQUFDLE1BQTJCO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLElBQUk7YUFDYixHQUFHLENBRUYsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO2FBQzNDLElBQUksQ0FDSCxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQ3JCLFNBQVMsQ0FBQyxFQUFlLENBQUMsQ0FDM0IsQ0FBQztJQUNOLENBQUM7SUFFRCxjQUFjLENBQUMsTUFBMkI7UUFDeEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FDbEIsUUFBUSxFQUNSLE1BQU07WUFDSixDQUFDLENBQUM7Z0JBQ0UsTUFBTTthQUNQO1lBQ0gsQ0FBQyxDQUFDLFNBQVMsQ0FDZCxDQUFDO0lBQ0osQ0FBQztJQUVELGFBQWEsQ0FBQyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQXdDO1FBQ3RFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQ2xCLEdBQUcsUUFBUSxJQUFJLE9BQU8sYUFBYSxPQUFPLGFBQWEsQ0FDeEQsQ0FBQztJQUNKLENBQUM7SUFFRCxHQUFHLENBQUMsSUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztZQUN0QixhQUFhLEVBQUUsbUJBQW1CLENBQUM7Z0JBQ2pDLGVBQWUsRUFBRSxJQUFJO2FBQ3RCLENBQUM7U0FDSCxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELG9CQUFvQixDQUFDLE9BQWUsRUFBRSxPQUFlO1FBQ25ELE9BQU8sSUFBSSxDQUFDLElBQUk7YUFDYixHQUFHLENBRUYsb0NBQW9DLE9BQU8sYUFBYSxPQUFPLGFBQWEsQ0FBQzthQUM5RSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELGFBQWEsQ0FBQyxPQUFlO1FBQzNCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQ3JCLEdBQUcsV0FBVyxxQkFBcUIsT0FBTyxFQUFFLENBQzdDLENBQUM7SUFDSixDQUFDO0lBRUQsb0JBQW9CLENBQ2xCLFdBQW1CO1FBRW5CLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQy9CLFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNsQixNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztZQUV2QyxPQUFPLFFBQVEsQ0FDYixRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxDQUNyQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsV0FBVyxFQUFFLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FDdEQsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQ1QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ2hCLFNBQVMsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUk7Z0JBQzdCLE9BQU8sRUFBRSxXQUFXO2FBQ3JCLENBQUMsQ0FBQyxDQUNKLEVBQ0QsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUNkLENBQ0YsQ0FDRixDQUFDO1FBQ0osQ0FBQyxDQUFDLEVBQ0YsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQzlCLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FDZCxDQUFDO0lBQ0osQ0FBQztrRkE3RVUsaUJBQWlCO3VFQUFqQixpQkFBaUIsV0FBakIsaUJBQWlCLG1CQURKLE1BQU07O2lGQUNuQixpQkFBaUI7Y0FEN0IsVUFBVTtlQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmbGF0TWFwIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IE9ic2VydmFibGUsIGZvcmtKb2luLCBtYXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1xuICBBUElfR0FURVdBWSxcbiAgS3ViZXJuZXRlc1Jlc291cmNlTGlzdCxcbiAgTmFtZXNwYWNlLFxuICBQcm9qZWN0LFxuICBSZXNvdXJjZUxpc3RQYXJhbXMsXG4gIHNraXBFcnJvcixcbn0gZnJvbSAnLi4vY29yZS9wdWJsaWMtYXBpJztcbmltcG9ydCB7IG1hdGNoTGFiZWxzVG9TdHJpbmcgfSBmcm9tICcuLi9rOHMtcmVzb3VyY2UtbGlzdC91dGlscyc7XG5cbmNvbnN0IEJBU0VfVVJMID0gYCR7QVBJX0dBVEVXQVl9L2F1dGgvdjEvcHJvamVjdHNgO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFByb2plY3RBcGlTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBodHRwOiBIdHRwQ2xpZW50KSB7fVxuXG4gIGdldFByb2plY3RzKHBhcmFtcz86IFJlc291cmNlTGlzdFBhcmFtcykge1xuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5nZXQ8XG4gICAgICAgIEt1YmVybmV0ZXNSZXNvdXJjZUxpc3Q8UHJvamVjdD5cbiAgICAgID4oQkFTRV9VUkwsIHBhcmFtcyA/IHsgcGFyYW1zIH0gOiB1bmRlZmluZWQpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKHJlcyA9PiByZXMuaXRlbXMpLFxuICAgICAgICBza2lwRXJyb3IoW10gYXMgUHJvamVjdFtdKSxcbiAgICAgICk7XG4gIH1cblxuICBnZXRQcm9qZWN0TGlzdChwYXJhbXM/OiBSZXNvdXJjZUxpc3RQYXJhbXMpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxLdWJlcm5ldGVzUmVzb3VyY2VMaXN0PFByb2plY3Q+PihcbiAgICAgIEJBU0VfVVJMLFxuICAgICAgcGFyYW1zXG4gICAgICAgID8ge1xuICAgICAgICAgICAgcGFyYW1zLFxuICAgICAgICAgIH1cbiAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgKTtcbiAgfVxuXG4gIGdldE5hbWVzcGFjZXMoeyBwcm9qZWN0LCBjbHVzdGVyIH06IHsgcHJvamVjdDogc3RyaW5nOyBjbHVzdGVyOiBzdHJpbmcgfSkge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEt1YmVybmV0ZXNSZXNvdXJjZUxpc3Q8TmFtZXNwYWNlPj4oXG4gICAgICBgJHtCQVNFX1VSTH0vJHtwcm9qZWN0fS9jbHVzdGVycy8ke2NsdXN0ZXJ9L25hbWVzcGFjZXNgLFxuICAgICk7XG4gIH1cblxuICBnZXQobmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxQcm9qZWN0PiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0UHJvamVjdHMoe1xuICAgICAgZmllbGRTZWxlY3RvcjogbWF0Y2hMYWJlbHNUb1N0cmluZyh7XG4gICAgICAgICdtZXRhZGF0YS5uYW1lJzogbmFtZSxcbiAgICAgIH0pLFxuICAgIH0pLnBpcGUobWFwKGxpc3QgPT4gbGlzdFswXSkpO1xuICB9XG5cbiAgZ2V0Q2x1c3Rlck5hbWVzcGFjZXMocHJvamVjdDogc3RyaW5nLCBjbHVzdGVyOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAuZ2V0PFxuICAgICAgICBLdWJlcm5ldGVzUmVzb3VyY2VMaXN0PE5hbWVzcGFjZT5cbiAgICAgID4oYHt7QVBJX0dBVEVXQVl9fS9hdXRoL3YxL3Byb2plY3RzLyR7cHJvamVjdH0vY2x1c3RlcnMvJHtjbHVzdGVyfS9uYW1lc3BhY2VzYClcbiAgICAgIC5waXBlKG1hcChyZXMgPT4gcmVzLml0ZW1zKSk7XG4gIH1cblxuICBkZWxldGVQcm9qZWN0KHByb2plY3Q6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlPFByb2plY3Q+KFxuICAgICAgYCR7QVBJX0dBVEVXQVl9L2F1dGgvdjEvcHJvamVjdHMvJHtwcm9qZWN0fWAsXG4gICAgKTtcbiAgfVxuXG4gIGdldFByb2plY3ROYW1lc3BhY2VzKFxuICAgIHByb2plY3ROYW1lOiBzdHJpbmcsXG4gICk6IE9ic2VydmFibGU8QXJyYXk8eyBjbHVzdGVyOiBzdHJpbmc7IG5hbWVzcGFjZTogc3RyaW5nIH0+PiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KHByb2plY3ROYW1lKS5waXBlKFxuICAgICAgc3dpdGNoTWFwKHByb2plY3QgPT4ge1xuICAgICAgICBjb25zdCBjbHVzdGVycyA9IHByb2plY3Quc3BlYy5jbHVzdGVycztcblxuICAgICAgICByZXR1cm4gZm9ya0pvaW4oXG4gICAgICAgICAgY2x1c3RlcnMubWFwKCh7IG5hbWU6IGNsdXN0ZXJOYW1lIH0pID0+XG4gICAgICAgICAgICB0aGlzLmdldENsdXN0ZXJOYW1lc3BhY2VzKHByb2plY3ROYW1lLCBjbHVzdGVyTmFtZSkucGlwZShcbiAgICAgICAgICAgICAgbWFwKGxpc3QgPT5cbiAgICAgICAgICAgICAgICBsaXN0Lm1hcChpdGVtID0+ICh7XG4gICAgICAgICAgICAgICAgICBuYW1lc3BhY2U6IGl0ZW0ubWV0YWRhdGEubmFtZSxcbiAgICAgICAgICAgICAgICAgIGNsdXN0ZXI6IGNsdXN0ZXJOYW1lLFxuICAgICAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgc2tpcEVycm9yKFtdKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgKSxcbiAgICAgICAgKTtcbiAgICAgIH0pLFxuICAgICAgbWFwKGdyb3VwcyA9PiBmbGF0TWFwKGdyb3VwcykpLFxuICAgICAgc2tpcEVycm9yKFtdKSxcbiAgICApO1xuICB9XG59XG4iXX0=
|
|
@@ -7,7 +7,6 @@ import { ScaleType, reduceTicks } from '../../utils';
|
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
import * as i1 from "../../chart.service";
|
|
9
9
|
const _c0 = ["aclXAxisTicks", ""];
|
|
10
|
-
const _c1 = () => ({});
|
|
11
10
|
function XAxisTicksComponent_ng_container_0__svg_g_1_Template(rf, ctx) { if (rf & 1) {
|
|
12
11
|
i0.ɵɵnamespaceSVG();
|
|
13
12
|
i0.ɵɵelementStart(0, "g")(1, "text", 4);
|
|
@@ -23,13 +22,13 @@ function XAxisTicksComponent_ng_container_0__svg_g_1_Template(rf, ctx) { if (rf
|
|
|
23
22
|
i0.ɵɵadvance();
|
|
24
23
|
i0.ɵɵattribute("x", i_r2 === ctx_r2.ticks.length - 1 && tick_r1.x >= (ctx_r2.context.chartView == null ? null : ctx_r2.context.chartView.height) ? tick_r1.x - 5 : tick_r1.x)("y", tick_r1.y + 16)("text-anchor", ctx_r2.textAnchor);
|
|
25
24
|
i0.ɵɵadvance();
|
|
26
|
-
i0.ɵɵtextInterpolate1(" ", ctx_r2.translation ? i0.ɵɵ
|
|
25
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r2.translation ? i0.ɵɵpipeBind1(3, 8, tick_r1.value) : tick_r1.value, " ");
|
|
27
26
|
i0.ɵɵadvance(2);
|
|
28
27
|
i0.ɵɵattribute("x1", tick_r1.x)("x2", tick_r1.x)("y1", tick_r1.y)("y2", tick_r1.y + 6);
|
|
29
28
|
} }
|
|
30
29
|
function XAxisTicksComponent_ng_container_0_Template(rf, ctx) { if (rf & 1) {
|
|
31
30
|
i0.ɵɵelementContainerStart(0);
|
|
32
|
-
i0.ɵɵtemplate(1, XAxisTicksComponent_ng_container_0__svg_g_1_Template, 5,
|
|
31
|
+
i0.ɵɵtemplate(1, XAxisTicksComponent_ng_container_0__svg_g_1_Template, 5, 10, "g", 2);
|
|
33
32
|
i0.ɵɵnamespaceSVG();
|
|
34
33
|
i0.ɵɵelementStart(2, "g");
|
|
35
34
|
i0.ɵɵelement(3, "path", 3);
|
|
@@ -55,10 +54,10 @@ function XAxisTicksComponent_ng_template_1__svg_g_0_Template(rf, ctx) { if (rf &
|
|
|
55
54
|
i0.ɵɵadvance();
|
|
56
55
|
i0.ɵɵattribute("y", tick_r4.x);
|
|
57
56
|
i0.ɵɵadvance();
|
|
58
|
-
i0.ɵɵtextInterpolate1(" ", ctx_r2.translation ? i0.ɵɵ
|
|
57
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r2.translation ? i0.ɵɵpipeBind1(4, 4, i0.ɵɵpipeBind1(3, 2, tick_r4.value)) : tick_r4.value, " ");
|
|
59
58
|
} }
|
|
60
59
|
function XAxisTicksComponent_ng_template_1_Template(rf, ctx) { if (rf & 1) {
|
|
61
|
-
i0.ɵɵtemplate(0, XAxisTicksComponent_ng_template_1__svg_g_0_Template, 5,
|
|
60
|
+
i0.ɵɵtemplate(0, XAxisTicksComponent_ng_template_1__svg_g_0_Template, 5, 6, "g", 2);
|
|
62
61
|
i0.ɵɵnamespaceSVG();
|
|
63
62
|
i0.ɵɵelementStart(1, "g");
|
|
64
63
|
i0.ɵɵelement(2, "path", 3);
|
|
@@ -160,7 +159,7 @@ export class XAxisTicksComponent {
|
|
|
160
159
|
[attr.text-anchor]="textAnchor"
|
|
161
160
|
font-size="11"
|
|
162
161
|
>
|
|
163
|
-
{{ translation ? (tick.value | translate
|
|
162
|
+
{{ translation ? (tick.value | translate) : tick.value }}
|
|
164
163
|
</text>
|
|
165
164
|
<line
|
|
166
165
|
[attr.x1]="tick.x"
|
|
@@ -190,11 +189,7 @@ export class XAxisTicksComponent {
|
|
|
190
189
|
font-size="11"
|
|
191
190
|
alignment-baseline="middle"
|
|
192
191
|
>
|
|
193
|
-
{{
|
|
194
|
-
translation
|
|
195
|
-
? (tick.value | translate | translate: {}:true)
|
|
196
|
-
: tick.value
|
|
197
|
-
}}
|
|
192
|
+
{{ translation ? (tick.value | translate | translate) : tick.value }}
|
|
198
193
|
</text>
|
|
199
194
|
</svg:g>
|
|
200
195
|
<svg:g>
|
|
@@ -213,5 +208,5 @@ export class XAxisTicksComponent {
|
|
|
213
208
|
}], translation: [{
|
|
214
209
|
type: Input
|
|
215
210
|
}] }); })();
|
|
216
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(XAxisTicksComponent, { className: "XAxisTicksComponent", filePath: "chart/common/axis/x-axis-ticks.component.ts", lineNumber:
|
|
217
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
211
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(XAxisTicksComponent, { className: "XAxisTicksComponent", filePath: "chart/common/axis/x-axis-ticks.component.ts", lineNumber: 82 }); })();
|
|
212
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieC1heGlzLXRpY2tzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9jaGFydC9jb21tb24vYXhpcy94LWF4aXMtdGlja3MuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxLQUFLLEdBRU4sTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFM0IsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBbUIsTUFBTSxhQUFhLENBQUM7QUFDM0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7Ozs7OztJQWE3QyxBQURGLHlCQUFpRCxjQVc5QztJQUNDLFlBQ0Y7O0lBQUEsaUJBQU87SUFDUCwwQkFPUTtJQUNWLGlCQUFROzs7OztJQXBCSixjQUlDOztJQU1ELGNBQ0Y7SUFERSx5R0FDRjtJQUVFLGVBQWtCOzs7O0lBckJ4Qiw2QkFLQztJQUNDLHFGQUFpRDs7SUF1QmpELHlCQUFPO0lBQ0wsMEJBSUU7SUFDSixpQkFBUTs7OztJQTdCZ0IsY0FBVTtJQUFWLHNDQUFVO0lBeUI5QixlQUFvQjs7Ozs7SUFTdEIsQUFERix5QkFBaUQsY0FROUM7SUFDQyxZQUNGOzs7SUFDRixBQURFLGlCQUFPLEVBQ0Q7Ozs7SUFSSixjQUFpQjs7SUFNakIsY0FDRjtJQURFLCtIQUNGOzs7SUFWRixtRkFBaUQ7O0lBWWpELHlCQUFPO0lBQ0wsMEJBSUU7SUFDSixpQkFBUTs7O0lBbEJnQixzQ0FBVTtJQWM5QixlQUFvQjs7O0FBUzlCLE1BQU0sT0FBTyxtQkFBbUI7SUFPOUIsSUFB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QyxTQUFTLEtBQUssU0FBUyxDQUFDLElBQUk7WUFDckQsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztZQUN0QyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ1osQ0FBQztvRkF4RVUsbUJBQW1CO29FQUFuQixtQkFBbUI7WUF4QjVCLEFBdENBLHNGQUtDLHdHQWlDMEI7OztZQW5DZCxBQUZWLHNGQUVVLDZCQUVqQjs7O2lGQXlEYSxtQkFBbUI7Y0FsRS9CLFNBQVM7ZUFBQztnQkFDVCw4REFBOEQ7Z0JBQzlELFFBQVEsRUFBRSxrQkFBa0I7Z0JBQzVCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNERUO2dCQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2FBQ2hEO29GQUVVLFVBQVU7a0JBQWxCLEtBQUs7WUFFRyxXQUFXO2tCQUFuQixLQUFLOztrRkFISyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTY2FsZVBvaW50LCBTY2FsZVRpbWUgfSBmcm9tICdkMyc7XG5pbXBvcnQgZGF5anMgZnJvbSAnZGF5anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IENvbnRleHRDaGFydFNlcnZpY2UgfSBmcm9tICcuLi8uLi9jaGFydC5zZXJ2aWNlJztcbmltcG9ydCB7IE9yaWVudGF0aW9uLCBUaWNrLCBUaWNrVmFsdWUgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBTY2FsZVR5cGUsIHJlZHVjZVRpY2tzIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdnW2FjbFhBeGlzVGlja3NdJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8bmctY29udGFpbmVyXG4gICAgICAqbmdJZj1cIlxuICAgICAgICBjb250ZXh0LmJhck9wdGlvbnMub3JpZW50YXRpb24gPT09IG9yaWVudGF0aW9uLlZFUlRJQ0FMO1xuICAgICAgICBlbHNlIGVsc2VUZW1wbGF0ZVxuICAgICAgXCJcbiAgICA+XG4gICAgICA8c3ZnOmcgKm5nRm9yPVwibGV0IHRpY2sgb2YgdGlja3M7IGxldCBpID0gaW5kZXhcIj5cbiAgICAgICAgPHRleHRcbiAgICAgICAgICBbYXR0ci54XT1cIlxuICAgICAgICAgICAgaSA9PT0gdGlja3MubGVuZ3RoIC0gMSAmJiB0aWNrLnggPj0gY29udGV4dC5jaGFydFZpZXc/LmhlaWdodFxuICAgICAgICAgICAgICA/IHRpY2sueCAtIDVcbiAgICAgICAgICAgICAgOiB0aWNrLnhcbiAgICAgICAgICBcIlxuICAgICAgICAgIFthdHRyLnldPVwidGljay55ICsgMTZcIlxuICAgICAgICAgIGZpbGw9XCIjNjY2XCJcbiAgICAgICAgICBbYXR0ci50ZXh0LWFuY2hvcl09XCJ0ZXh0QW5jaG9yXCJcbiAgICAgICAgICBmb250LXNpemU9XCIxMVwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyB0cmFuc2xhdGlvbiA/ICh0aWNrLnZhbHVlIHwgdHJhbnNsYXRlKSA6IHRpY2sudmFsdWUgfX1cbiAgICAgICAgPC90ZXh0PlxuICAgICAgICA8bGluZVxuICAgICAgICAgIFthdHRyLngxXT1cInRpY2sueFwiXG4gICAgICAgICAgW2F0dHIueDJdPVwidGljay54XCJcbiAgICAgICAgICBbYXR0ci55MV09XCJ0aWNrLnlcIlxuICAgICAgICAgIFthdHRyLnkyXT1cInRpY2sueSArIDZcIlxuICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjFcIlxuICAgICAgICAgIHN0cm9rZT1cIiNjY2Q2ZWJcIlxuICAgICAgICA+PC9saW5lPlxuICAgICAgPC9zdmc6Zz5cbiAgICAgIDxzdmc6Zz5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBbYXR0ci5kXT1cInhBeGlzTGluZVwiXG4gICAgICAgICAgc3Ryb2tlPVwiI2NjZDZlYlwiXG4gICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAvPlxuICAgICAgPC9zdmc6Zz5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy10ZW1wbGF0ZSAjZWxzZVRlbXBsYXRlPlxuICAgICAgPHN2ZzpnICpuZ0Zvcj1cImxldCB0aWNrIG9mIHRpY2tzOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgIDx0ZXh0XG4gICAgICAgICAgeD1cIi04XCJcbiAgICAgICAgICBbYXR0ci55XT1cInRpY2sueFwiXG4gICAgICAgICAgZmlsbD1cIiM2NjZcIlxuICAgICAgICAgIHRleHQtYW5jaG9yPVwiZW5kXCJcbiAgICAgICAgICBmb250LXNpemU9XCIxMVwiXG4gICAgICAgICAgYWxpZ25tZW50LWJhc2VsaW5lPVwibWlkZGxlXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IHRyYW5zbGF0aW9uID8gKHRpY2sudmFsdWUgfCB0cmFuc2xhdGUgfCB0cmFuc2xhdGUpIDogdGljay52YWx1ZSB9fVxuICAgICAgICA8L3RleHQ+XG4gICAgICA8L3N2ZzpnPlxuICAgICAgPHN2ZzpnPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIFthdHRyLmRdPVwieUF4aXNMaW5lXCJcbiAgICAgICAgICBzdHJva2U9XCIjY2NkNmViXCJcbiAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIC8+XG4gICAgICA8L3N2ZzpnPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIGAsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBYQXhpc1RpY2tzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgZGF0ZUZvcm1hdDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIHRyYW5zbGF0aW9uOiBib29sZWFuO1xuXG4gIHRleHRBbmNob3IgPSAnbWlkZGxlJztcbiAgb3JpZW50YXRpb24gPSBPcmllbnRhdGlvbjtcbiAgZ2V0IGNvbnRleHQoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dFNlcnZpY2U7XG4gIH1cblxuICB0aWNrczogVGlja1tdO1xuICBnZXQgeUF4aXNMaW5lKCkge1xuICAgIHJldHVybiBgTSR7MH0gJHswfUwkezB9ICR7dGhpcy5jb250ZXh0LmNoYXJ0Vmlldy5oZWlnaHR9WmA7XG4gIH1cblxuICBnZXQgeEF4aXNMaW5lKCkge1xuICAgIGNvbnN0IHsgd2lkdGggfSA9IHRoaXMuY29udGV4dFNlcnZpY2UuY2hhcnRWaWV3O1xuICAgIHJldHVybiBgTTAgMEwke3dpZHRofSAwWmA7XG4gIH1cblxuICBnZXRUaWNrcygpIHtcbiAgICBsZXQgdGlja3M6IFRpY2tbXTtcbiAgICBpZiAodGhpcy5jb250ZXh0LnNjYWxlVHlwZSA9PT0gU2NhbGVUeXBlLk9SRElOQUwpIHtcbiAgICAgIGNvbnN0IG1heFRpY2tzID0gdGhpcy5nZXRNYXhUaWNrcygyMCk7XG4gICAgICB0aWNrcyA9IHJlZHVjZVRpY2tzKHRoaXMuY29udGV4dC54LmRvbWFpbigpLCBtYXhUaWNrcykubWFwKFxuICAgICAgICB0aGlzLmhhbmRsZVRpY2tzRGF0YSxcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRpY2tzID0gKHRoaXMuY29udGV4dC54IGFzIFNjYWxlVGltZTxudW1iZXIsIG51bWJlcj4pXG4gICAgICAgIC50aWNrcyh0aGlzLmdldE1heFRpY2tzKDEwMCkpXG4gICAgICAgIC5tYXAodGhpcy5oYW5kbGVUaWNrc0RhdGEpO1xuICAgIH1cbiAgICByZXR1cm4gdGlja3M7XG4gIH1cblxuICBoYW5kbGVUaWNrc0RhdGEgPSAodmFsdWU6IFRpY2tWYWx1ZSk6IFRpY2sgPT4ge1xuICAgIGNvbnN0IGJhbmR3aWR0aCA9IHRoaXMuY29udGV4dC5iYXJPcHRpb25zLmlzQmFuZFxuICAgICAgPyAodGhpcy5jb250ZXh0LnggYXMgU2NhbGVQb2ludDxzdHJpbmc+KS5iYW5kd2lkdGgoKSAqIDAuNVxuICAgICAgOiAwO1xuICAgIHJldHVybiB7XG4gICAgICB2YWx1ZTogdGhpcy5mb3JtYXQodmFsdWUpLFxuICAgICAgeDogdGhpcy5jb250ZXh0LngodmFsdWUpICsgYmFuZHdpZHRoLFxuICAgICAgeTogMCxcbiAgICB9IGFzIFRpY2s7XG4gIH07XG5cbiAgZ2V0TWF4VGlja3ModGlja1dpZHRoOiBudW1iZXIpOiBudW1iZXIge1xuICAgIGNvbnN0IHdpZHRoID0gdGhpcy5jb250ZXh0Lmhvcml6b250YWxcbiAgICAgID8gdGhpcy5jb250ZXh0LmNoYXJ0Vmlldy5oZWlnaHRcbiAgICAgIDogdGhpcy5jb250ZXh0LmNoYXJ0Vmlldy53aWR0aDtcbiAgICByZXR1cm4gTWF0aC5mbG9vcih3aWR0aCAvIHRpY2tXaWR0aCk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbnRleHRTZXJ2aWNlOiBDb250ZXh0Q2hhcnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuY29udGV4dFNlcnZpY2Uuc2VyaWVzRGF0YSRcbiAgICAgIC5waXBlKG1hcCgoKSA9PiB0aGlzLmdldFRpY2tzKCkpKVxuICAgICAgLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgICB0aGlzLnRpY2tzID0gcmVzO1xuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIGZvcm1hdCh2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIHwgRGF0ZSkge1xuICAgIHJldHVybiB0aGlzLmNvbnRleHRTZXJ2aWNlLnNjYWxlVHlwZSA9PT0gU2NhbGVUeXBlLlRJTUVcbiAgICAgID8gZGF5anModmFsdWUpLmZvcm1hdCh0aGlzLmRhdGVGb3JtYXQpXG4gICAgICA6IHZhbHVlO1xuICB9XG59XG4iXX0=
|
|
@@ -5,7 +5,6 @@ import * as i0 from "@angular/core";
|
|
|
5
5
|
import * as i1 from "../../chart.service";
|
|
6
6
|
const _c0 = a0 => ({ context: a0 });
|
|
7
7
|
const _c1 = a0 => [a0, "label-symbol"];
|
|
8
|
-
const _c2 = () => ({});
|
|
9
8
|
function ChartLegendComponent_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
10
9
|
i0.ɵɵelementStart(0, "div", 5);
|
|
11
10
|
i0.ɵɵelementContainer(1, 6);
|
|
@@ -110,15 +109,15 @@ function ChartLegendComponent_ng_template_3_li_3_Template(rf, ctx) { if (rf & 1)
|
|
|
110
109
|
i0.ɵɵclassProp("disable", !legend_r7.activate || i0.ɵɵpipeBind1(1, 10, ctx_r0.context.noData$))("forbid", i0.ɵɵpipeBind1(2, 12, ctx_r0.context.noData$))("hover", legend_r7.activate && legend_r7.hover);
|
|
111
110
|
i0.ɵɵadvance(3);
|
|
112
111
|
i0.ɵɵstyleProp("background", legend_r7.color);
|
|
113
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(
|
|
112
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(16, _c1, ctx_r0.symbolName));
|
|
114
113
|
i0.ɵɵadvance(2);
|
|
115
|
-
i0.ɵɵtextInterpolate(ctx_r0.translation ? i0.ɵɵ
|
|
114
|
+
i0.ɵɵtextInterpolate(ctx_r0.translation ? i0.ɵɵpipeBind1(6, 14, legend_r7.name) : legend_r7.name);
|
|
116
115
|
} }
|
|
117
116
|
function ChartLegendComponent_ng_template_3_Template(rf, ctx) { if (rf & 1) {
|
|
118
117
|
i0.ɵɵelementStart(0, "ul", 13);
|
|
119
118
|
i0.ɵɵtemplate(1, ChartLegendComponent_ng_template_3_li_1_Template, 4, 4, "li", 14);
|
|
120
119
|
i0.ɵɵpipe(2, "async");
|
|
121
|
-
i0.ɵɵtemplate(3, ChartLegendComponent_ng_template_3_li_3_Template, 7,
|
|
120
|
+
i0.ɵɵtemplate(3, ChartLegendComponent_ng_template_3_li_3_Template, 7, 18, "li", 15);
|
|
122
121
|
i0.ɵɵelementEnd();
|
|
123
122
|
} if (rf & 2) {
|
|
124
123
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
@@ -236,7 +235,7 @@ export class ChartLegendComponent {
|
|
|
236
235
|
}
|
|
237
236
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ChartLegendComponent, [{
|
|
238
237
|
type: Component,
|
|
239
|
-
args: [{ selector: 'acl-legend', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"operation\"\n *ngIf=\"isTemplateRef(leftOperation)\"\n>\n <ng-container [ngTemplateOutlet]=\"leftOperation\"></ng-container>\n</div>\n\n<div\n class=\"legend-wrap\"\n *ngIf=\"!hideLegend\"\n>\n <ng-container *ngIf=\"!template; else custom\">\n <ng-container [ngTemplateOutlet]=\"legendTemplate\"></ng-container>\n </ng-container>\n <ng-template #custom>\n <ng-container *ngIf=\"isTemplateRef(template); else builtinTemplate\">\n <ng-container\n [ngTemplateOutlet]=\"$any(template)\"\n [ngTemplateOutletContext]=\"{ context: legendEntries }\"\n ></ng-container>\n </ng-container>\n <ng-template #builtinTemplate>\n <ng-container [ngSwitch]=\"template\">\n <acl-dropdown-legend\n class=\"legend-vertical\"\n *ngSwitchCase=\"'dropdown'\"\n [data]=\"legendEntries\"\n [noData]=\"context.noData$ | async\"\n [legendTemplate]=\"legendTemplate\"\n [isCard]=\"mode === 'card'\"\n >\n </acl-dropdown-legend>\n </ng-container>\n </ng-template>\n </ng-template>\n</div>\n\n<div\n class=\"operation\"\n *ngIf=\"isTemplateRef(rightOperation)\"\n>\n <ng-container [ngTemplateOutlet]=\"rightOperation\"></ng-container>\n</div>\n\n<ng-template #legendTemplate>\n <ul class=\"legend-labels\">\n <li\n class=\"select-all\"\n *ngIf=\"\n !(context.noData$ | async) &&\n selectAllOperation &&\n template === 'dropdown'\n \"\n >\n <aui-checkbox\n [(ngModel)]=\"allSelected\"\n (ngModelChange)=\"allSelect($event)\"\n >\n {{ selectAllName || ('select_all' | translate) }}\n </aui-checkbox>\n </li>\n <li\n class=\"legend-label\"\n [class.disable]=\"!legend.activate || (context.noData$ | async)\"\n [class.forbid]=\"context.noData$ | async\"\n *ngFor=\"let legend of legendEntries\"\n (click)=\"selected(legend)\"\n [class.hover]=\"legend.activate && legend.hover\"\n (mouseenter)=\"mouseenter(legend)\"\n (mouseleave)=\"mouseleave(legend)\"\n >\n <span\n [ngClass]=\"[symbolName, 'label-symbol']\"\n [style.background]=\"legend.color\"\n >\n </span>\n <span class=\"label-name\">{{\n translation ? (legend.name | translate
|
|
238
|
+
args: [{ selector: 'acl-legend', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"operation\"\n *ngIf=\"isTemplateRef(leftOperation)\"\n>\n <ng-container [ngTemplateOutlet]=\"leftOperation\"></ng-container>\n</div>\n\n<div\n class=\"legend-wrap\"\n *ngIf=\"!hideLegend\"\n>\n <ng-container *ngIf=\"!template; else custom\">\n <ng-container [ngTemplateOutlet]=\"legendTemplate\"></ng-container>\n </ng-container>\n <ng-template #custom>\n <ng-container *ngIf=\"isTemplateRef(template); else builtinTemplate\">\n <ng-container\n [ngTemplateOutlet]=\"$any(template)\"\n [ngTemplateOutletContext]=\"{ context: legendEntries }\"\n ></ng-container>\n </ng-container>\n <ng-template #builtinTemplate>\n <ng-container [ngSwitch]=\"template\">\n <acl-dropdown-legend\n class=\"legend-vertical\"\n *ngSwitchCase=\"'dropdown'\"\n [data]=\"legendEntries\"\n [noData]=\"context.noData$ | async\"\n [legendTemplate]=\"legendTemplate\"\n [isCard]=\"mode === 'card'\"\n >\n </acl-dropdown-legend>\n </ng-container>\n </ng-template>\n </ng-template>\n</div>\n\n<div\n class=\"operation\"\n *ngIf=\"isTemplateRef(rightOperation)\"\n>\n <ng-container [ngTemplateOutlet]=\"rightOperation\"></ng-container>\n</div>\n\n<ng-template #legendTemplate>\n <ul class=\"legend-labels\">\n <li\n class=\"select-all\"\n *ngIf=\"\n !(context.noData$ | async) &&\n selectAllOperation &&\n template === 'dropdown'\n \"\n >\n <aui-checkbox\n [(ngModel)]=\"allSelected\"\n (ngModelChange)=\"allSelect($event)\"\n >\n {{ selectAllName || ('select_all' | translate) }}\n </aui-checkbox>\n </li>\n <li\n class=\"legend-label\"\n [class.disable]=\"!legend.activate || (context.noData$ | async)\"\n [class.forbid]=\"context.noData$ | async\"\n *ngFor=\"let legend of legendEntries\"\n (click)=\"selected(legend)\"\n [class.hover]=\"legend.activate && legend.hover\"\n (mouseenter)=\"mouseenter(legend)\"\n (mouseleave)=\"mouseleave(legend)\"\n >\n <span\n [ngClass]=\"[symbolName, 'label-symbol']\"\n [style.background]=\"legend.color\"\n >\n </span>\n <span class=\"label-name\">{{\n translation ? (legend.name | translate) : legend.name\n }}</span>\n </li>\n </ul>\n</ng-template>\n", styles: [".legend-wrap{display:inline-block}.legend-wrap ul,.legend-wrap li{padding:0;margin:0;list-style:none}.legend-wrap .legend-labels{display:flex}.legend-wrap .legend-label{display:flex;align-items:center;cursor:pointer;justify-content:center}.legend-wrap .legend-label:not(:last-child){margin-right:20px}.legend-wrap .forbid{cursor:no-drop}.legend-wrap .label-name{font-size:12px;color:rgb(var(--aui-color-secondary-text))}.legend-wrap .label-symbol{margin-right:4px}.disable .label-symbol{background:rgb(var(--aui-color-n-6))!important}.disable .label-name{color:rgb(var(--aui-color-n-6))}.hover .label-name{color:rgb(var(--aui-color-n-1))}.symbol-square{width:12px;height:12px;display:inline-block}.symbol-line{width:12px;height:2px;display:inline-block}.symbol-circle{width:12px;height:12px;border-radius:50%;display:inline-block}.operation{display:flex;justify-content:center}.select-all ::ng-deep .aui-checkbox{font-size:12px;line-height:16px;margin-bottom:8px}\n"] }]
|
|
240
239
|
}], () => [{ type: i1.ContextChartService }, { type: i0.ChangeDetectorRef }], { symbol: [{
|
|
241
240
|
type: Input
|
|
242
241
|
}], template: [{
|
|
@@ -263,4 +262,4 @@ export class ChartLegendComponent {
|
|
|
263
262
|
type: Output
|
|
264
263
|
}] }); })();
|
|
265
264
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ChartLegendComponent, { className: "ChartLegendComponent", filePath: "chart/common/legend/legend.component.ts", lineNumber: 33 }); })();
|
|
266
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVnZW5kLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9jaGFydC9jb21tb24vbGVnZW5kL2xlZ2VuZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvY2hhcnQvY29tbW9uL2xlZ2VuZC9sZWdlbmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMzQyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sV0FBVyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7O0lDYjFELDhCQUdDO0lBQ0MsMkJBQWdFO0lBQ2xFLGlCQUFNOzs7SUFEVSxjQUFrQztJQUFsQyx1REFBa0M7OztJQU9oRCw2QkFBNkM7SUFDM0MsMkJBQWlFOzs7OztJQUFuRCxjQUFtQztJQUFuQyxvREFBbUM7OztJQUdqRCw2QkFBb0U7SUFDbEUsMkJBR2dCOzs7O0lBRmQsY0FBbUM7SUFDbkMsQUFEQSxrREFBbUMsNkVBQ21COzs7SUFLdEQsMENBUXNCOzs7OztJQUZwQixBQURBLEFBREEsQUFEQSwyQ0FBc0Isd0RBQ1kscUNBQ0Qsa0NBQ1A7OztJQVA5QixpQ0FBb0M7SUFDbEMsd0lBT0M7Ozs7SUFSVywwQ0FBcUI7SUFHOUIsY0FBd0I7SUFBeEIseUNBQXdCOzs7SUFKL0IsQUFOQSwyR0FBb0UsNkhBTXRDOzs7O0lBTmdCLEFBQS9CLDREQUErQixnQ0FBb0I7OztJQVJ0RSw4QkFHQztJQUlDLEFBSEEsNkZBQTZDLCtHQUd4QjtJQXFCdkIsaUJBQU07Ozs7SUF4QlcsY0FBaUI7SUFBQSxBQUFq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QUFhLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDeEUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7WUFDbkIsVUFBVSxFQUFFLElBQUk7WUFDaEIsT0FBTyxFQUFFLElBQUksQ0FBQyxhQUFhO1NBQzVCLENBQUMsQ0FBQztJQUNMLENBQUM7cUZBaElVLG9CQUFvQjtvRUFBcEIsb0JBQW9CO1lDWWpDLEFBUEEsQUE5QkEsQUFQQSxxRUFHQyx3REFPQSx3REE4QkEseUdBSTRCOztZQTFDMUIsMkRBQWtDO1lBT2xDLGNBQWlCO1lBQWpCLHNDQUFpQjtZQThCakIsY0FBbUM7WUFBbkMsNERBQW1DOzs7aUZEUHpCLG9CQUFvQjtjQU5oQyxTQUFTOzJCQUNFLFlBQVksbUJBR0wsdUJBQXVCLENBQUMsTUFBTTtvRkFLdEMsTUFBTTtrQkFBZCxLQUFLO1lBRUcsUUFBUTtrQkFBaEIsS0FBSztZQUVHLElBQUk7a0JBQVosS0FBSztZQUVHLFdBQVc7a0JBQW5CLEtBQUs7WUFFRyxhQUFhO2tCQUFyQixLQUFLO1lBRUcsY0FBYztrQkFBdEIsS0FBSztZQUVHLFVBQVU7a0JBQWxCLEtBQUs7WUFFRyxrQkFBa0I7a0JBQTFCLEtBQUs7WUFFRyxhQUFhO2tCQUFyQixLQUFLO1lBRUksVUFBVTtrQkFBbkIsTUFBTTtZQUVHLGFBQWE7a0JBQXRCLE1BQU07WUFFRyxlQUFlO2tCQUF4QixNQUFNOztrRkF6Qkksb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNUZW1wbGF0ZVJlZiB9IGZyb20gJ0BhbGF1ZGEvdWknO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBUZW1wbGF0ZVJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IENoYXJ0RGF0YUl0ZW0gfSBmcm9tICcuLi8uLi8uLi9wdWJsaWMtYXBpJztcbmltcG9ydCB7IENvbnRleHRDaGFydFNlcnZpY2UgfSBmcm9tICcuLi8uLi9jaGFydC5zZXJ2aWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBMZWdlbmRJdGVtIHtcbiAgbmFtZTogc3RyaW5nO1xuICBjb2xvcjogc3RyaW5nO1xuICBhY3RpdmF0ZT86IGJvb2xlYW47XG4gIGhvdmVyPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNsYXNzIExlZ2VuZFBheWxvYWQge1xuICBsZWdlbmRJdGVtOiBMZWdlbmRJdGVtO1xuICBsZWdlbmRzOiBMZWdlbmRJdGVtW107XG59XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhY2wtbGVnZW5kJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xlZ2VuZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2xlZ2VuZC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQ2hhcnRMZWdlbmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBsZWdlbmRFbnRyaWVzOiBMZWdlbmRJdGVtW107XG5cbiAgQElucHV0KCkgc3ltYm9sOiAnY2lyY2xlJyB8ICdzcXVhcmUnIHwgJ2xpbmUnID0gJ2xpbmUnO1xuXG4gIEBJbnB1dCgpIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB8IHN0cmluZyB8ICdkcm9wZG93bic7XG5cbiAgQElucHV0KCkgbW9kZTogJ2NhcmQnIHwgJ2RlZmF1bHQnID0gJ2RlZmF1bHQnO1xuXG4gIEBJbnB1dCgpIHRyYW5zbGF0aW9uID0gdHJ1ZTtcblxuICBASW5wdXQoKSBsZWZ0T3BlcmF0aW9uOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICBASW5wdXQoKSByaWdodE9wZXJhdGlvbjogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgQElucHV0KCkgaGlkZUxlZ2VuZDogYm9vbGVhbjtcblxuICBASW5wdXQoKSBzZWxlY3RBbGxPcGVyYXRpb24gPSBmYWxzZTtcblxuICBASW5wdXQoKSBzZWxlY3RBbGxOYW1lOiBzdHJpbmc7XG5cbiAgQE91dHB1dCgpIGxhYmVsQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPExlZ2VuZFBheWxvYWQ+KCk7XG5cbiAgQE91dHB1dCgpIGxhYmVsQWN0aXZhdGUgPSBuZXcgRXZlbnRFbWl0dGVyPExlZ2VuZEl0ZW0+KCk7XG5cbiAgQE91dHB1dCgpIGxhYmVsRGVhY3RpdmF0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8TGVnZW5kSXRlbT4oKTtcblxuICBpc1RlbXBsYXRlUmVmID0gaXNUZW1wbGF0ZVJlZjtcblxuICBhbGxTZWxlY3RlZCA9IHRydWU7XG5cbiAgZ2V0IHN5bWJvbE5hbWUoKSB7XG4gICAgcmV0dXJuIGBzeW1ib2wtJHt0aGlzLnN5bWJvbH1gO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IGNvbnRleHQ6IENvbnRleHRDaGFydFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICApIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jb250ZXh0LnNlcmllc0RhdGEkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmxlZ2VuZEVudHJpZXMgPSB0aGlzLmNvbnRleHQuYmFyT3B0aW9ucy5pc0JhbmRcbiAgICAgICAgPyB0aGlzLmNvbnRleHQuY2hhcnREYXRhXG4gICAgICAgICAgICAuZmxhdE1hcChpdGVtID0+IGl0ZW0udmFsdWVzKVxuICAgICAgICAgICAgLnJlZHVjZShcbiAgICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgIHByZSxcbiAgICAgICAgICAgICAgICBjdXI6IENoYXJ0RGF0YUl0ZW08eyB4OiBzdHJpbmc7IHk6IG51bWJlcjsgY29sb3I/OiBzdHJpbmcgfT4sXG4gICAgICAgICAgICAgICkgPT4gW1xuICAgICAgICAgICAgICAgIC4uLnByZSxcbiAgICAgICAgICAgICAgICAuLi4ocHJlLnNvbWUoZCA9PiBkLm5hbWUgPT09IGN1ci54KVxuICAgICAgICAgICAgICAgICAgPyBbXVxuICAgICAgICAgICAgICAgICAgOiBbXG4gICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogY3VyLngsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY3VyLmNvbG9yIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29udGV4dC5nZXRDaGFydERlZmF1bHRDb2xvcihwcmUubGVuZ3RoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGFjdGl2YXRlOiAhdGhpcy5jb250ZXh0LmRpc2FibGVkTGVnZW5kLmhhcyhjdXIueCksXG4gICAgICAgICAgICAgICAgICAgICAgICBob3ZlcjogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIFtdLFxuICAgICAgICAgICAgKVxuICAgICAgICA6IHRoaXMuY29udGV4dC5ub0RhdGFcbiAgICAgICAgPyBbXVxuICAgICAgICA6IHRoaXMuY29udGV4dC5jaGFydERhdGEubWFwKGQgPT4gKHtcbiAgICAgICAgICAgIG5hbWU6IGQubmFtZSxcbiAgICAgICAgICAgIGNvbG9yOiBkLmNvbG9yLFxuICAgICAgICAgICAgYWN0aXZhdGU6ICF0aGlzLmNvbnRleHQuZGlzYWJsZWRMZWdlbmQuaGFzKGQubmFtZSksXG4gICAgICAgICAgICBob3ZlcjogZmFsc2UsXG4gICAgICAgICAgfSkpO1xuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH0pO1xuICB9XG5cbiAgc2VsZWN0ZWQobGVnZW5kOiBMZWdlbmRJdGVtKSB7XG4gICAgaWYgKHRoaXMuY29udGV4dC5ub0RhdGEpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgbGVnZW5kSXRlbSA9IHRoaXMubGVnZW5kRW50cmllcy5maW5kKFxuICAgICAgaXRlbSA9PiBpdGVtLm5hbWUgPT09IGxlZ2VuZC5uYW1lLFxuICAgICk7XG4gICAgbGVnZW5kSXRlbS5hY3RpdmF0ZSA9ICFsZWdlbmQuYWN0aXZhdGU7XG4gICAgY29uc3QgcGF5bG9hZCA9IHtcbiAgICAgIGxlZ2VuZEl0ZW0sXG4gICAgICBsZWdlbmRzOiB0aGlzLmxlZ2VuZEVudHJpZXMsXG4gICAgfTtcbiAgICB0aGlzLmxhYmVsQ2xpY2submV4dChwYXlsb2FkKTtcbiAgICBpZiAobGVnZW5kLmFjdGl2YXRlKSB7XG4gICAgICB0aGlzLmxhYmVsQWN0aXZhdGUubmV4dChsZWdlbmQpO1xuICAgICAgdGhpcy5jb250ZXh0LnNlbGVjdGVkTGVnZW5kKHBheWxvYWQpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmxhYmVsRGVhY3RpdmF0ZS5uZXh0KGxlZ2VuZCk7XG4gICAgICBsZWdlbmQuaG92ZXIgPSBmYWxzZTtcbiAgICAgIHRoaXMuY29udGV4dC5kZWFjdGl2YXRlTGVnZW5kKHBheWxvYWQpO1xuICAgIH1cbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBtb3VzZWVudGVyKGxlZ2VuZDogTGVnZW5kSXRlbSkge1xuICAgIGlmIChsZWdlbmQuYWN0aXZhdGUgJiYgIXRoaXMuY29udGV4dC5ub0RhdGEpIHtcbiAgICAgIGxlZ2VuZC5ob3ZlciA9IHRydWU7XG4gICAgICB0aGlzLmNvbnRleHQubGVnZW5kQWN0aXZhdGUkJC5uZXh0KGxlZ2VuZC5uYW1lKTtcbiAgICB9XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgbW91c2VsZWF2ZShsZWdlbmQ6IExlZ2VuZEl0ZW0pIHtcbiAgICB0aGlzLmNvbnRleHQubGVnZW5kQWN0aXZhdGUkJC5uZXh0KCcnKTtcbiAgICBsZWdlbmQuaG92ZXIgPSBmYWxzZTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBhbGxTZWxlY3Qoc2VsZWN0OiBib29sZWFuKSB7XG4gICAgdGhpcy5sZWdlbmRFbnRyaWVzID0gdGhpcy5sZWdlbmRFbnRyaWVzLm1hcChkID0+ICh7XG4gICAgICAuLi5kLFxuICAgICAgYWN0aXZhdGU6IHNlbGVjdCxcbiAgICB9KSk7XG4gICAgc2VsZWN0XG4gICAgICA/IHRoaXMuY29udGV4dC5zZWxlY3RlZEFsbExlZ2VuZCgpXG4gICAgICA6IHRoaXMuY29udGV4dC51bnNlbGVjdEFsbExlZ2VuZCh0aGlzLmxlZ2VuZEVudHJpZXMubWFwKGQgPT4gZC5uYW1lKSk7XG4gICAgdGhpcy5sYWJlbENsaWNrLm5leHQoe1xuICAgICAgbGVnZW5kSXRlbTogbnVsbCxcbiAgICAgIGxlZ2VuZHM6IHRoaXMubGVnZW5kRW50cmllcyxcbiAgICB9KTtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cIm9wZXJhdGlvblwiXG4gICpuZ0lmPVwiaXNUZW1wbGF0ZVJlZihsZWZ0T3BlcmF0aW9uKVwiXG4+XG4gIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwibGVmdE9wZXJhdGlvblwiPjwvbmctY29udGFpbmVyPlxuPC9kaXY+XG5cbjxkaXZcbiAgY2xhc3M9XCJsZWdlbmQtd3JhcFwiXG4gICpuZ0lmPVwiIWhpZGVMZWdlbmRcIlxuPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXRlbXBsYXRlOyBlbHNlIGN1c3RvbVwiPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwibGVnZW5kVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy10ZW1wbGF0ZSAjY3VzdG9tPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc1RlbXBsYXRlUmVmKHRlbXBsYXRlKTsgZWxzZSBidWlsdGluVGVtcGxhdGVcIj5cbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiJGFueSh0ZW1wbGF0ZSlcIlxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBjb250ZXh0OiBsZWdlbmRFbnRyaWVzIH1cIlxuICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy10ZW1wbGF0ZSAjYnVpbHRpblRlbXBsYXRlPlxuICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwidGVtcGxhdGVcIj5cbiAgICAgICAgPGFjbC1kcm9wZG93bi1sZWdlbmRcbiAgICAgICAgICBjbGFzcz1cImxlZ2VuZC12ZXJ0aWNhbFwiXG4gICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidkcm9wZG93bidcIlxuICAgICAgICAgIFtkYXRhXT1cImxlZ2VuZEVudHJpZXNcIlxuICAgICAgICAgIFtub0RhdGFdPVwiY29udGV4dC5ub0RhdGEkIHwgYXN5bmNcIlxuICAgICAgICAgIFtsZWdlbmRUZW1wbGF0ZV09XCJsZWdlbmRUZW1wbGF0ZVwiXG4gICAgICAgICAgW2lzQ2FyZF09XCJtb2RlID09PSAnY2FyZCdcIlxuICAgICAgICA+XG4gICAgICAgIDwvYWNsLWRyb3Bkb3duLWxlZ2VuZD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbmctdGVtcGxhdGU+XG48L2Rpdj5cblxuPGRpdlxuICBjbGFzcz1cIm9wZXJhdGlvblwiXG4gICpuZ0lmPVwiaXNUZW1wbGF0ZVJlZihyaWdodE9wZXJhdGlvbilcIlxuPlxuICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInJpZ2h0T3BlcmF0aW9uXCI+PC9uZy1jb250YWluZXI+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNsZWdlbmRUZW1wbGF0ZT5cbiAgPHVsIGNsYXNzPVwibGVnZW5kLWxhYmVsc1wiPlxuICAgIDxsaVxuICAgICAgY2xhc3M9XCJzZWxlY3QtYWxsXCJcbiAgICAgICpuZ0lmPVwiXG4gICAgICAgICEoY29udGV4dC5ub0RhdGEkIHwgYXN5bmMpICYmXG4gICAgICAgIHNlbGVjdEFsbE9wZXJhdGlvbiAmJlxuICAgICAgICB0ZW1wbGF0ZSA9PT0gJ2Ryb3Bkb3duJ1xuICAgICAgXCJcbiAgICA+XG4gICAgICA8YXVpLWNoZWNrYm94XG4gICAgICAgIFsobmdNb2RlbCldPVwiYWxsU2VsZWN0ZWRcIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJhbGxTZWxlY3QoJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICAgIHt7IHNlbGVjdEFsbE5hbWUgfHwgKCdzZWxlY3RfYWxsJyB8IHRyYW5zbGF0ZSkgfX1cbiAgICAgIDwvYXVpLWNoZWNrYm94PlxuICAgIDwvbGk+XG4gICAgPGxpXG4gICAgICBjbGFzcz1cImxlZ2VuZC1sYWJlbFwiXG4gICAgICBbY2xhc3MuZGlzYWJsZV09XCIhbGVnZW5kLmFjdGl2YXRlIHx8IChjb250ZXh0Lm5vRGF0YSQgfCBhc3luYylcIlxuICAgICAgW2NsYXNzLmZvcmJpZF09XCJjb250ZXh0Lm5vRGF0YSQgfCBhc3luY1wiXG4gICAgICAqbmdGb3I9XCJsZXQgbGVnZW5kIG9mIGxlZ2VuZEVudHJpZXNcIlxuICAgICAgKGNsaWNrKT1cInNlbGVjdGVkKGxlZ2VuZClcIlxuICAgICAgW2NsYXNzLmhvdmVyXT1cImxlZ2VuZC5hY3RpdmF0ZSAmJiBsZWdlbmQuaG92ZXJcIlxuICAgICAgKG1vdXNlZW50ZXIpPVwibW91c2VlbnRlcihsZWdlbmQpXCJcbiAgICAgIChtb3VzZWxlYXZlKT1cIm1vdXNlbGVhdmUobGVnZW5kKVwiXG4gICAgPlxuICAgICAgPHNwYW5cbiAgICAgICAgW25nQ2xhc3NdPVwiW3N5bWJvbE5hbWUsICdsYWJlbC1zeW1ib2wnXVwiXG4gICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kXT1cImxlZ2VuZC5jb2xvclwiXG4gICAgICA+XG4gICAgICA8L3NwYW4+XG4gICAgICA8c3BhbiBjbGFzcz1cImxhYmVsLW5hbWVcIj57e1xuICAgICAgICB0cmFuc2xhdGlvbiA/IChsZWdlbmQubmFtZSB8IHRyYW5zbGF0ZToge306dHJ1ZSkgOiBsZWdlbmQubmFtZVxuICAgICAgfX08L3NwYW4+XG4gICAgPC9saT5cbiAgPC91bD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
265
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVnZW5kLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9jaGFydC9jb21tb24vbGVnZW5kL2xlZ2VuZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvY2hhcnQvY29tbW9uL2xlZ2VuZC9sZWdlbmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMzQyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sV0FBVyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7SUNiMUQsOEJBR0M7SUFDQywyQkFBZ0U7SUFDbEUsaUJBQU07OztJQURVLGNBQWtDO0lBQWxDLHVEQUFrQzs7O0lBT2hELDZCQUE2QztJQUMzQywyQkFBaUU7Ozs7O0lBQW5ELGNBQW1DO0lBQW5DLG9EQUFtQzs7O0lBR2pELDZCQUFvRTtJQUNsRSwyQkFHZ0I7Ozs7SUFGZCxjQUFtQztJQUNuQyxBQURBLGtEQUFtQyw2RUFDbUI7OztJQUt0RCwwQ0FRc0I7Ozs7O0lBRnBCLEFBREEsQUFEQSxBQURBLDJDQUFzQix3REFDWSxxQ0FDRCxrQ0FDUDs7O0lBUDlCLGlDQUFvQztJQUNsQyx3SUFPQzs7OztJQVJXLDBDQUFxQjtJQUc5QixjQUF3QjtJQUF4Qix5Q0FBd0I7OztJQUovQixBQU5BLDJHQUFvRSw2SEFNdEM7Ozs7SUFOZ0IsQUFBL0IsNERBQStCLGdDQUFvQjs7O0lBUnRFLDhCQUdDO0lBSUMsQUFIQSw2RkFBNkMsK0dBR3hCO0lBcUJ2QixpQkFBTTs7OztJQXhCVyxjQUFpQjtJQUFBLEFBQWpC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QWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUN4RSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQztZQUNuQixVQUFVLEVBQUUsSUFBSTtZQUNoQixPQUFPLEVBQUUsSUFBSSxDQUFDLGFBQWE7U0FDNUIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztxRkFoSVUsb0JBQW9CO29FQUFwQixvQkFBb0I7WUNZakMsQUFQQSxBQTlCQSxBQVBBLHFFQUdDLHdEQU9BLHdEQThCQSx5R0FJNEI7O1lBMUMxQiwyREFBa0M7WUFPbEMsY0FBaUI7WUFBakIsc0NBQWlCO1lBOEJqQixjQUFtQztZQUFuQyw0REFBbUM7OztpRkRQekIsb0JBQW9CO2NBTmhDLFNBQVM7MkJBQ0UsWUFBWSxtQkFHTCx1QkFBdUIsQ0FBQyxNQUFNO29GQUt0QyxNQUFNO2tCQUFkLEtBQUs7WUFFRyxRQUFRO2tCQUFoQixLQUFLO1lBRUcsSUFBSTtrQkFBWixLQUFLO1lBRUcsV0FBVztrQkFBbkIsS0FBSztZQUVHLGFBQWE7a0JBQXJCLEtBQUs7WUFFRyxjQUFjO2tCQUF0QixLQUFLO1lBRUcsVUFBVTtrQkFBbEIsS0FBSztZQUVHLGtCQUFrQjtrQkFBMUIsS0FBSztZQUVHLGFBQWE7a0JBQXJCLEtBQUs7WUFFSSxVQUFVO2tCQUFuQixNQUFNO1lBRUcsYUFBYTtrQkFBdEIsTUFBTTtZQUVHLGVBQWU7a0JBQXhCLE1BQU07O2tGQXpCSSxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc1RlbXBsYXRlUmVmIH0gZnJvbSAnQGFsYXVkYS91aSc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFRlbXBsYXRlUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQ2hhcnREYXRhSXRlbSB9IGZyb20gJy4uLy4uLy4uL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgQ29udGV4dENoYXJ0U2VydmljZSB9IGZyb20gJy4uLy4uL2NoYXJ0LnNlcnZpY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIExlZ2VuZEl0ZW0ge1xuICBuYW1lOiBzdHJpbmc7XG4gIGNvbG9yOiBzdHJpbmc7XG4gIGFjdGl2YXRlPzogYm9vbGVhbjtcbiAgaG92ZXI/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY2xhc3MgTGVnZW5kUGF5bG9hZCB7XG4gIGxlZ2VuZEl0ZW06IExlZ2VuZEl0ZW07XG4gIGxlZ2VuZHM6IExlZ2VuZEl0ZW1bXTtcbn1cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FjbC1sZWdlbmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vbGVnZW5kLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbGVnZW5kLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBDaGFydExlZ2VuZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGxlZ2VuZEVudHJpZXM6IExlZ2VuZEl0ZW1bXTtcblxuICBASW5wdXQoKSBzeW1ib2w6ICdjaXJjbGUnIHwgJ3NxdWFyZScgfCAnbGluZScgPSAnbGluZSc7XG5cbiAgQElucHV0KCkgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVua25vd24+IHwgc3RyaW5nIHwgJ2Ryb3Bkb3duJztcblxuICBASW5wdXQoKSBtb2RlOiAnY2FyZCcgfCAnZGVmYXVsdCcgPSAnZGVmYXVsdCc7XG5cbiAgQElucHV0KCkgdHJhbnNsYXRpb24gPSB0cnVlO1xuXG4gIEBJbnB1dCgpIGxlZnRPcGVyYXRpb246IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIEBJbnB1dCgpIHJpZ2h0T3BlcmF0aW9uOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICBASW5wdXQoKSBoaWRlTGVnZW5kOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpIHNlbGVjdEFsbE9wZXJhdGlvbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIHNlbGVjdEFsbE5hbWU6IHN0cmluZztcblxuICBAT3V0cHV0KCkgbGFiZWxDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8TGVnZW5kUGF5bG9hZD4oKTtcblxuICBAT3V0cHV0KCkgbGFiZWxBY3RpdmF0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8TGVnZW5kSXRlbT4oKTtcblxuICBAT3V0cHV0KCkgbGFiZWxEZWFjdGl2YXRlID0gbmV3IEV2ZW50RW1pdHRlcjxMZWdlbmRJdGVtPigpO1xuXG4gIGlzVGVtcGxhdGVSZWYgPSBpc1RlbXBsYXRlUmVmO1xuXG4gIGFsbFNlbGVjdGVkID0gdHJ1ZTtcblxuICBnZXQgc3ltYm9sTmFtZSgpIHtcbiAgICByZXR1cm4gYHN5bWJvbC0ke3RoaXMuc3ltYm9sfWA7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgY29udGV4dDogQ29udGV4dENoYXJ0U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbnRleHQuc2VyaWVzRGF0YSQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMubGVnZW5kRW50cmllcyA9IHRoaXMuY29udGV4dC5iYXJPcHRpb25zLmlzQmFuZFxuICAgICAgICA/IHRoaXMuY29udGV4dC5jaGFydERhdGFcbiAgICAgICAgICAgIC5mbGF0TWFwKGl0ZW0gPT4gaXRlbS52YWx1ZXMpXG4gICAgICAgICAgICAucmVkdWNlKFxuICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgcHJlLFxuICAgICAgICAgICAgICAgIGN1cjogQ2hhcnREYXRhSXRlbTx7IHg6IHN0cmluZzsgeTogbnVtYmVyOyBjb2xvcj86IHN0cmluZyB9PixcbiAgICAgICAgICAgICAgKSA9PiBbXG4gICAgICAgICAgICAgICAgLi4ucHJlLFxuICAgICAgICAgICAgICAgIC4uLihwcmUuc29tZShkID0+IGQubmFtZSA9PT0gY3VyLngpXG4gICAgICAgICAgICAgICAgICA/IFtdXG4gICAgICAgICAgICAgICAgICA6IFtcbiAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBjdXIueCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOlxuICAgICAgICAgICAgICAgICAgICAgICAgICBjdXIuY29sb3IgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250ZXh0LmdldENoYXJ0RGVmYXVsdENvbG9yKHByZS5sZW5ndGgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgYWN0aXZhdGU6ICF0aGlzLmNvbnRleHQuZGlzYWJsZWRMZWdlbmQuaGFzKGN1ci54KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGhvdmVyOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgW10sXG4gICAgICAgICAgICApXG4gICAgICAgIDogdGhpcy5jb250ZXh0Lm5vRGF0YVxuICAgICAgICA/IFtdXG4gICAgICAgIDogdGhpcy5jb250ZXh0LmNoYXJ0RGF0YS5tYXAoZCA9PiAoe1xuICAgICAgICAgICAgbmFtZTogZC5uYW1lLFxuICAgICAgICAgICAgY29sb3I6IGQuY29sb3IsXG4gICAgICAgICAgICBhY3RpdmF0ZTogIXRoaXMuY29udGV4dC5kaXNhYmxlZExlZ2VuZC5oYXMoZC5uYW1lKSxcbiAgICAgICAgICAgIGhvdmVyOiBmYWxzZSxcbiAgICAgICAgICB9KSk7XG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfSk7XG4gIH1cblxuICBzZWxlY3RlZChsZWdlbmQ6IExlZ2VuZEl0ZW0pIHtcbiAgICBpZiAodGhpcy5jb250ZXh0Lm5vRGF0YSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBsZWdlbmRJdGVtID0gdGhpcy5sZWdlbmRFbnRyaWVzLmZpbmQoXG4gICAgICBpdGVtID0+IGl0ZW0ubmFtZSA9PT0gbGVnZW5kLm5hbWUsXG4gICAgKTtcbiAgICBsZWdlbmRJdGVtLmFjdGl2YXRlID0gIWxlZ2VuZC5hY3RpdmF0ZTtcbiAgICBjb25zdCBwYXlsb2FkID0ge1xuICAgICAgbGVnZW5kSXRlbSxcbiAgICAgIGxlZ2VuZHM6IHRoaXMubGVnZW5kRW50cmllcyxcbiAgICB9O1xuICAgIHRoaXMubGFiZWxDbGljay5uZXh0KHBheWxvYWQpO1xuICAgIGlmIChsZWdlbmQuYWN0aXZhdGUpIHtcbiAgICAgIHRoaXMubGFiZWxBY3RpdmF0ZS5uZXh0KGxlZ2VuZCk7XG4gICAgICB0aGlzLmNvbnRleHQuc2VsZWN0ZWRMZWdlbmQocGF5bG9hZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubGFiZWxEZWFjdGl2YXRlLm5leHQobGVnZW5kKTtcbiAgICAgIGxlZ2VuZC5ob3ZlciA9IGZhbHNlO1xuICAgICAgdGhpcy5jb250ZXh0LmRlYWN0aXZhdGVMZWdlbmQocGF5bG9hZCk7XG4gICAgfVxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIG1vdXNlZW50ZXIobGVnZW5kOiBMZWdlbmRJdGVtKSB7XG4gICAgaWYgKGxlZ2VuZC5hY3RpdmF0ZSAmJiAhdGhpcy5jb250ZXh0Lm5vRGF0YSkge1xuICAgICAgbGVnZW5kLmhvdmVyID0gdHJ1ZTtcbiAgICAgIHRoaXMuY29udGV4dC5sZWdlbmRBY3RpdmF0ZSQkLm5leHQobGVnZW5kLm5hbWUpO1xuICAgIH1cbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBtb3VzZWxlYXZlKGxlZ2VuZDogTGVnZW5kSXRlbSkge1xuICAgIHRoaXMuY29udGV4dC5sZWdlbmRBY3RpdmF0ZSQkLm5leHQoJycpO1xuICAgIGxlZ2VuZC5ob3ZlciA9IGZhbHNlO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIGFsbFNlbGVjdChzZWxlY3Q6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmxlZ2VuZEVudHJpZXMgPSB0aGlzLmxlZ2VuZEVudHJpZXMubWFwKGQgPT4gKHtcbiAgICAgIC4uLmQsXG4gICAgICBhY3RpdmF0ZTogc2VsZWN0LFxuICAgIH0pKTtcbiAgICBzZWxlY3RcbiAgICAgID8gdGhpcy5jb250ZXh0LnNlbGVjdGVkQWxsTGVnZW5kKClcbiAgICAgIDogdGhpcy5jb250ZXh0LnVuc2VsZWN0QWxsTGVnZW5kKHRoaXMubGVnZW5kRW50cmllcy5tYXAoZCA9PiBkLm5hbWUpKTtcbiAgICB0aGlzLmxhYmVsQ2xpY2submV4dCh7XG4gICAgICBsZWdlbmRJdGVtOiBudWxsLFxuICAgICAgbGVnZW5kczogdGhpcy5sZWdlbmRFbnRyaWVzLFxuICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwib3BlcmF0aW9uXCJcbiAgKm5nSWY9XCJpc1RlbXBsYXRlUmVmKGxlZnRPcGVyYXRpb24pXCJcbj5cbiAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJsZWZ0T3BlcmF0aW9uXCI+PC9uZy1jb250YWluZXI+XG48L2Rpdj5cblxuPGRpdlxuICBjbGFzcz1cImxlZ2VuZC13cmFwXCJcbiAgKm5nSWY9XCIhaGlkZUxlZ2VuZFwiXG4+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCIhdGVtcGxhdGU7IGVsc2UgY3VzdG9tXCI+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJsZWdlbmRUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLXRlbXBsYXRlICNjdXN0b20+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzVGVtcGxhdGVSZWYodGVtcGxhdGUpOyBlbHNlIGJ1aWx0aW5UZW1wbGF0ZVwiPlxuICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCIkYW55KHRlbXBsYXRlKVwiXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGNvbnRleHQ6IGxlZ2VuZEVudHJpZXMgfVwiXG4gICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlICNidWlsdGluVGVtcGxhdGU+XG4gICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJ0ZW1wbGF0ZVwiPlxuICAgICAgICA8YWNsLWRyb3Bkb3duLWxlZ2VuZFxuICAgICAgICAgIGNsYXNzPVwibGVnZW5kLXZlcnRpY2FsXCJcbiAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ2Ryb3Bkb3duJ1wiXG4gICAgICAgICAgW2RhdGFdPVwibGVnZW5kRW50cmllc1wiXG4gICAgICAgICAgW25vRGF0YV09XCJjb250ZXh0Lm5vRGF0YSQgfCBhc3luY1wiXG4gICAgICAgICAgW2xlZ2VuZFRlbXBsYXRlXT1cImxlZ2VuZFRlbXBsYXRlXCJcbiAgICAgICAgICBbaXNDYXJkXT1cIm1vZGUgPT09ICdjYXJkJ1wiXG4gICAgICAgID5cbiAgICAgICAgPC9hY2wtZHJvcGRvd24tbGVnZW5kPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuXG48ZGl2XG4gIGNsYXNzPVwib3BlcmF0aW9uXCJcbiAgKm5nSWY9XCJpc1RlbXBsYXRlUmVmKHJpZ2h0T3BlcmF0aW9uKVwiXG4+XG4gIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwicmlnaHRPcGVyYXRpb25cIj48L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2xlZ2VuZFRlbXBsYXRlPlxuICA8dWwgY2xhc3M9XCJsZWdlbmQtbGFiZWxzXCI+XG4gICAgPGxpXG4gICAgICBjbGFzcz1cInNlbGVjdC1hbGxcIlxuICAgICAgKm5nSWY9XCJcbiAgICAgICAgIShjb250ZXh0Lm5vRGF0YSQgfCBhc3luYykgJiZcbiAgICAgICAgc2VsZWN0QWxsT3BlcmF0aW9uICYmXG4gICAgICAgIHRlbXBsYXRlID09PSAnZHJvcGRvd24nXG4gICAgICBcIlxuICAgID5cbiAgICAgIDxhdWktY2hlY2tib3hcbiAgICAgICAgWyhuZ01vZGVsKV09XCJhbGxTZWxlY3RlZFwiXG4gICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImFsbFNlbGVjdCgkZXZlbnQpXCJcbiAgICAgID5cbiAgICAgICAge3sgc2VsZWN0QWxsTmFtZSB8fCAoJ3NlbGVjdF9hbGwnIHwgdHJhbnNsYXRlKSB9fVxuICAgICAgPC9hdWktY2hlY2tib3g+XG4gICAgPC9saT5cbiAgICA8bGlcbiAgICAgIGNsYXNzPVwibGVnZW5kLWxhYmVsXCJcbiAgICAgIFtjbGFzcy5kaXNhYmxlXT1cIiFsZWdlbmQuYWN0aXZhdGUgfHwgKGNvbnRleHQubm9EYXRhJCB8IGFzeW5jKVwiXG4gICAgICBbY2xhc3MuZm9yYmlkXT1cImNvbnRleHQubm9EYXRhJCB8IGFzeW5jXCJcbiAgICAgICpuZ0Zvcj1cImxldCBsZWdlbmQgb2YgbGVnZW5kRW50cmllc1wiXG4gICAgICAoY2xpY2spPVwic2VsZWN0ZWQobGVnZW5kKVwiXG4gICAgICBbY2xhc3MuaG92ZXJdPVwibGVnZW5kLmFjdGl2YXRlICYmIGxlZ2VuZC5ob3ZlclwiXG4gICAgICAobW91c2VlbnRlcik9XCJtb3VzZWVudGVyKGxlZ2VuZClcIlxuICAgICAgKG1vdXNlbGVhdmUpPVwibW91c2VsZWF2ZShsZWdlbmQpXCJcbiAgICA+XG4gICAgICA8c3BhblxuICAgICAgICBbbmdDbGFzc109XCJbc3ltYm9sTmFtZSwgJ2xhYmVsLXN5bWJvbCddXCJcbiAgICAgICAgW3N0eWxlLmJhY2tncm91bmRdPVwibGVnZW5kLmNvbG9yXCJcbiAgICAgID5cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWwtbmFtZVwiPnt7XG4gICAgICAgIHRyYW5zbGF0aW9uID8gKGxlZ2VuZC5uYW1lIHwgdHJhbnNsYXRlKSA6IGxlZ2VuZC5uYW1lXG4gICAgICB9fTwvc3Bhbj5cbiAgICA8L2xpPlxuICA8L3VsPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|