@c8y/ngx-components 1017.0.74 → 1017.0.76
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/common/ApplicationOptions.d.ts +6 -5
- package/core/docs/docs.service.d.ts +23 -2
- package/core/help/help.component.d.ts +3 -12
- package/esm2020/core/common/ApplicationOptions.mjs +1 -1
- package/esm2020/core/docs/docs.service.mjs +37 -5
- package/esm2020/core/help/help.component.mjs +19 -50
- package/fesm2015/c8y-ngx-components.mjs +42 -38
- package/fesm2015/c8y-ngx-components.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components.mjs +42 -38
- package/fesm2020/c8y-ngx-components.mjs.map +1 -1
- package/package.json +2 -2
|
@@ -116,7 +116,7 @@ export declare class ApplicationOptions {
|
|
|
116
116
|
companyName?: string;
|
|
117
117
|
/** URL template for documentation links (default: `'${docsBaseUrl}${partialUrl}'`). */
|
|
118
118
|
guideHrefTemplate?: string;
|
|
119
|
-
/** Base URL for documentation links. */
|
|
119
|
+
/** Base URL for documentation links (include `{{ version }}` placeholder, if you want versioned links). */
|
|
120
120
|
docsBaseUrl?: string;
|
|
121
121
|
/** CSP string to be applied to `index.html` by replacing default values. */
|
|
122
122
|
contentSecurityPolicy?: string;
|
|
@@ -145,10 +145,11 @@ export declare class ApplicationOptions {
|
|
|
145
145
|
*/
|
|
146
146
|
copy?: [];
|
|
147
147
|
/**
|
|
148
|
-
* Allows to enable or disable context help.
|
|
149
|
-
* By default the context help uses the base URL defined in the
|
|
150
|
-
* if this option is
|
|
151
|
-
*
|
|
148
|
+
* Allows to enable or disable context help, or to override the default base URL used to load its contents.
|
|
149
|
+
* By default, the context help uses the same base URL as defined in the `docsBaseUrl` option
|
|
150
|
+
* (if this option is undefined, then the following value will be used: `https://www.cumulocity.com/guides/{{version}}`).
|
|
151
|
+
* Alternatively, if a string is provided here, it'll be used as the base URL
|
|
152
|
+
* and any `{{ version }}` placeholder will be replaced with the relevant docs version.
|
|
152
153
|
*/
|
|
153
154
|
contextHelp?: boolean | string;
|
|
154
155
|
/**
|
|
@@ -24,9 +24,21 @@ export declare class DocsService implements ExtensionPoint<DocLink> {
|
|
|
24
24
|
/**
|
|
25
25
|
* Default documentation URL.
|
|
26
26
|
*/
|
|
27
|
-
readonly DEFAULT_DOCS_BASE_URL = "https://www.cumulocity.com/guides";
|
|
27
|
+
readonly DEFAULT_DOCS_BASE_URL = "https://www.cumulocity.com/guides/{{ version }}";
|
|
28
28
|
constructor(options: OptionsService, app: AppStateService, rootInjector: Injector, router: Router);
|
|
29
|
-
getBaseUrl(
|
|
29
|
+
getBaseUrl(uiVersion?: string | {
|
|
30
|
+
ngx: string;
|
|
31
|
+
}): string;
|
|
32
|
+
/**
|
|
33
|
+
* Takes a URL and replaces all `{{ version }}` placeholders with the relevant docs version
|
|
34
|
+
* (the version is derived from the app state or from the provided parameter).
|
|
35
|
+
* @param url Any URL that contains `{{ version }}` placeholders.
|
|
36
|
+
* @param uiVersion A version string or object, defaults to the app state version.
|
|
37
|
+
* @returns The URL with replaced `{{ version }}` placeholders.
|
|
38
|
+
*/
|
|
39
|
+
getUrlWithDocsVersion(url: string, uiVersion?: string | {
|
|
40
|
+
ngx: string;
|
|
41
|
+
}): string;
|
|
30
42
|
get templateStr(): string;
|
|
31
43
|
getUserGuideLink(link: any): any;
|
|
32
44
|
list(): Promise<DocLink[]>;
|
|
@@ -44,6 +56,15 @@ export declare class DocsService implements ExtensionPoint<DocLink> {
|
|
|
44
56
|
}[];
|
|
45
57
|
private getLink;
|
|
46
58
|
private prefixWithSlash;
|
|
59
|
+
/**
|
|
60
|
+
* Returns the most relevant version of documentation for the given version of UI.
|
|
61
|
+
* For maintenance versions, it's the first version in the line, e.g. 1017.0.123 -> 10.17.0.
|
|
62
|
+
* For develop versions, it's the next minor one, e.g. 1017.123.0-SNAPSHOT -> 10.18.0.
|
|
63
|
+
*
|
|
64
|
+
* @param uiVersion The version of UI.
|
|
65
|
+
* @private
|
|
66
|
+
*/
|
|
67
|
+
private getDocsVersionForUiVersion;
|
|
47
68
|
static ɵfac: i0.ɵɵFactoryDeclaration<DocsService, never>;
|
|
48
69
|
static ɵprov: i0.ɵɵInjectableDeclaration<DocsService>;
|
|
49
70
|
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { AppStateService } from '../common/ui-state.service';
|
|
2
1
|
import { DocsService } from '../docs/docs.service';
|
|
3
2
|
import { HelpService } from './help.service';
|
|
4
3
|
import * as i0 from "@angular/core";
|
|
@@ -13,7 +12,6 @@ import * as i0 from "@angular/core";
|
|
|
13
12
|
*/
|
|
14
13
|
export declare class HelpComponent {
|
|
15
14
|
private docsService;
|
|
16
|
-
private appState;
|
|
17
15
|
helpService: HelpService;
|
|
18
16
|
/**
|
|
19
17
|
* The source of the documentation. Used to link to the documentation as well as
|
|
@@ -29,17 +27,11 @@ export declare class HelpComponent {
|
|
|
29
27
|
*/
|
|
30
28
|
priority: number;
|
|
31
29
|
/**
|
|
32
|
-
*
|
|
30
|
+
* A custom icon. If not set, the navigator icon is resolved
|
|
33
31
|
*/
|
|
34
32
|
icon: any;
|
|
35
33
|
/**
|
|
36
|
-
*
|
|
37
|
-
* the docs. If the UI version is equal to the latest doc version, the value
|
|
38
|
-
* must be ''.
|
|
39
|
-
*/
|
|
40
|
-
version: string;
|
|
41
|
-
/**
|
|
42
|
-
* An title. Set in open by passing the source.
|
|
34
|
+
* A title. Set in open by passing the source.
|
|
43
35
|
*/
|
|
44
36
|
title: string;
|
|
45
37
|
/**
|
|
@@ -69,7 +61,7 @@ export declare class HelpComponent {
|
|
|
69
61
|
/**
|
|
70
62
|
* @ignore Only private DI
|
|
71
63
|
*/
|
|
72
|
-
constructor(docsService: DocsService,
|
|
64
|
+
constructor(docsService: DocsService, helpService: HelpService);
|
|
73
65
|
/**
|
|
74
66
|
* The component is shown by default and therefore breaks e2e test. This is
|
|
75
67
|
* to prevent the visibility on first navigation.
|
|
@@ -96,7 +88,6 @@ export declare class HelpComponent {
|
|
|
96
88
|
open(): void;
|
|
97
89
|
private requestContent;
|
|
98
90
|
private clean;
|
|
99
|
-
private parseVersion;
|
|
100
91
|
private resolveIcon;
|
|
101
92
|
private render;
|
|
102
93
|
static ɵfac: i0.ɵɵFactoryDeclaration<HelpComponent, never>;
|
|
@@ -5,4 +5,4 @@
|
|
|
5
5
|
*/
|
|
6
6
|
export class ApplicationOptions {
|
|
7
7
|
}
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBwbGljYXRpb25PcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29yZS9jb21tb24vQXBwbGljYXRpb25PcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBOzs7O0dBSUc7QUFDSCxNQUFNLE9BQU8sa0JBQWtCO0NBbUw5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElBcHBsaWNhdGlvbiB9IGZyb20gJ0BjOHkvY2xpZW50JztcblxuLypcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tV0FSTklORy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVGhpcyBmaWxlIGhhcyBhbiAqZXhhY3QqIGNvcHkgaW4gcGFja2FnZXMvY2xpL3NyYy93ZWJwYWNrLy5cbiAqIEFueSBjaGFuZ2VzIHRvIHRoaXMgZmlsZSBtdXN0IGJlIHJlZmxlY3RlZCB0aGVyZSwgdG9vLlxuICovXG5leHBvcnQgY2xhc3MgQXBwbGljYXRpb25PcHRpb25zIHtcbiAgLyoqIEFwcGxpY2F0aW9uIG5hbWUgKHNhdmVkIHRvIHRoZSBzZXJ2ZXIpLiAqL1xuICBuYW1lOiBzdHJpbmc7XG4gIC8qKiBBcHBsaWNhdGlvbiBjb250ZXh0IHBhdGggKHNhdmVkIHRvIHRoZSBzZXJ2ZXIpLiAqL1xuICBjb250ZXh0UGF0aDogc3RyaW5nO1xuICAvKiogQXBwbGljYXRpb24ga2V5IChzYXZlZCB0byB0aGUgc2VydmVyKS4gKi9cbiAga2V5OiBzdHJpbmc7XG4gIC8qKiBTZXQgdG8gYHRydWVgIGlmIHRoZSBhcHBsaWNhdGlvbiBpcyBoeWJyaWQgYW5kIHVzZXMgQW5ndWxhciBhbmQgQW5ndWxhckpTIHNpbXVsdGFuZW91c2x5LiAqL1xuICB1cGdyYWRlPzogYm9vbGVhbjtcbiAgLyoqIFBhdGggdG8gdGhlIGJyYW5kaW5nIGVudHJ5IGZpbGUuIChTZXQgaXQgdG8gZmFsc2UgdG8gZGlzYWJsZSBhbnkgc3R5bGluZy4gWW91IGNhbiBoYW5kbGUgdGhlIHN0eWxpbmcgdGhlbiBvbiB5b3VyIG93biBlLmcuIGluIGFuIGFuZ3VsYXIuanNvbiBmaWxlIHVzaW5nIG5nLWNsaSkgKi9cbiAgYnJhbmRpbmdFbnRyeT86IHN0cmluZyB8IGJvb2xlYW47XG4gIC8qKiBQYXRoIHRvIHRzY2NuZmlnLmpzb24gZmlsZSBpZiBUeXBlU2NyaXB0IGlzIHVzZWQgKGRlZmF1bHQ6IC4vdHNjb25maWcuanNvbikuICovXG4gIHRzQ29uZmlnUGF0aD86IHN0cmluZztcbiAgLyoqIEVudHJ5IG1vZHVsZSBmb3IgQW5ndWxhciBjb21waWxlciAob25seSB1c2VkIHdpdGggbGF6eSBsb2FkZWQgcm91dGVzKSwgZS5nLiBgJ2FwcC5tb2R1bGUudHMjQXBwTW9kdWxlJ2AuICovXG4gIGVudHJ5TW9kdWxlPzogc3RyaW5nO1xuICAvKiogUGF0aCB0byBjdXN0b20gaW5kZXguaHRtbCAob3RoZXJ3aXNlIGRlZmF1bHQgb25lIHdpbGwgYmUgdXNlZCkuICovXG4gIGluZGV4VGVtcGxhdGU/OiBzdHJpbmc7XG4gIC8qKiBVUkwgdG8gZHluYW1pY2FsbHkgZmV0Y2hlZCBvcHRpb25zLiAqL1xuICBkeW5hbWljT3B0aW9uc1VybD86IHN0cmluZztcbiAgLyoqIFVSTCB0byBmYXZpY29uLiAqL1xuICBmYXZpY29uVXJsPzogc3RyaW5nO1xuICAvKiogVVJMIHRvICouY3NzIGZpbGUgd2hpY2ggd2lsbCByZXBsYWNlIGRlZmF1bHQgYnJhbmRpbmcuICovXG4gIGJyYW5kaW5nVXJsPzogc3RyaW5nO1xuICAvKiogT2JqZWN0IHdpdGggcHJvcGVydGllcyB0aGF0IHdpbGwgYmUgY29udmVydGVkIHRvIENTUyBjdXN0b20gdmFyaWFibGVzLiAqL1xuICBicmFuZGluZ0Nzc1ZhcnM/OiBCcmFuZGluZ0Nzc1ZhcnM7XG4gIC8qKlxuICAgKiBBbGxvd3MgZm9yIGFkZGluZyBvciBvdmVycmlkaW5nIGxhbmd1YWdlcyBhdmFpbGFibGUgaW4gdGhlIGFwcGxpY2F0aW9uLlxuICAgKlxuICAgKiBJdHMga2V5cyBhcmUgbGFuZ3VhZ2UgY29kZXMgYW5kIGl0cyB2YWx1ZXMgYXJlIG9iamVjdHMgd2l0aCB0aGUgZm9sbG93aW5nIHByb3BlcnRpZXM6XG4gICAqXG4gICAqIC0gYG5hbWVgOiBFbmdsaXNoIG5hbWUgb2YgdGhlIGxhbmd1YWdlLFxuICAgKiAtIGBuYXRpdmVOYW1lYDogbmF0aXZlIG5hbWUgb2YgdGhlIGxhbmd1YWdlLFxuICAgKiAtIGB1cmxgOiBmdWxsIFVSTCB0byBKU09OIGZpbGUgd2l0aCBjb21waWxlZCB0cmFuc2xhdGlvbnM7XG4gICAqICAgIGlmIG5vdCBkZWZpbmVkLCB0cmFuc2xhdGlvbnMgd2lsbCBiZSBsb2FkZWQgZnJvbSBgJHtsb2NhbGVQYXRofS8ke2xhbmdDb2RlfS5qc29uYC5cbiAgICpcbiAgICogRXhhbXBsZTpcbiAgICogYGBganNvblxuICAgKiBcImxhbmd1YWdlc1wiOiB7XG4gICAqICAgXCJkZVwiOiB7XG4gICAqICAgICBcIm5hbWVcIjogXCJHZXJtYW5cIixcbiAgICogICAgIFwibmF0aXZlTmFtZVwiOiBcIkRldXRzY2hcIixcbiAgICogICAgIFwidXJsXCI6IFwiL2FwcHMvcHVibGljL3VpLWFzc2V0cy9kZS5qc29uXCJcbiAgICogICB9XG4gICAqIH1cbiAgICogYGBgXG4gICAqL1xuICBsYW5ndWFnZXM/OiBMYW5ndWFnZXM7XG4gIC8qKlxuICAgKiBBbGxvd3MgZm9yIGFkZGluZyBjdXN0b20gdHJhbnNsYXRpb25zLiBJdCBpcyBhbiBvcHRpb25hbCBwcm9wZXJ0eS5cbiAgICpcbiAgICogSXRzIGtleXMgYXJlIGxhbmd1YWdlIGNvZGVzIChodHRwczovL2N1bXVsb2NpdHkuY29tL2d1aWRlcy91c2Vycy1ndWlkZS9nZXR0aW5nLXN0YXJ0ZWQvI2EtbmFtZS1sYW5ndWFnZXMtYS1hdmFpbGFibGUtbGFuZ3VhZ2VzKVxuICAgKiBhbmQgaXRzIHZhbHVlcyBhcmUgb2JqZWN0cyB3aXRoIGtleS12YWx1ZSBwYWlycywgd2hlcmUgdGhlIGtleSBpcyB0aGUgb3JpZ2luYWwgc3RyaW5nIGluIEVuZ2xpc2ggYW5kIHRoZSB2YWx1ZSAtIGl0cyB0cmFuc2xhdGlvbi5cbiAgICpcbiAgICogLSBgSG9tZWA6IFwiU3RhcnRzZWl0ZVwiXG4gICAqXG4gICAqIEZvciBleGFtcGxlIHlvdSBjYW4gYWRkIHRoZSB0cmFuc2xhdGlvbiBvZiB5b3VyIGN1c3RvbSBjb29raWUgYmFubmVyIGNvbmZpZ3VyZWQgaW4gdGhlIGJyYW5kaW5nIHNldHRpbmdzOlxuICAgKiBgYGBqc29uXG4gICAqIFwiaTE4bkV4dHJhXCI6IHtcbiAgICogICBcImRlXCI6IHtcbiAgICogICAgIFwiQWJvdXQgY29va2llcyBvbiBDdW11bG9jaXR5IElvVFwiOiBcIkluZm9ybWF0aW9uZW4genUgQ29va2llcyBpbiBDdW11bG9jaXR5IElvVFwiLFxuICAgKiAgICAgXCJDbGljayBBZ3JlZSBhbmQgUHJvY2VlZCB0byBhY2NlcHQgY29va2llcyBhbmQgZ28gZGlyZWN0bHkgdG8gdGhlIHBsYXRmb3JtIG9yIGNsaWNrIG9uIFByaXZhY3kgUG9saWN5IHRvIHNlZSBkZXRhaWxlZCBkZXNjcmlwdGlvbnMgb2YgdGhlIHVzZWQgY29va2llcy5cIjogXCJLbGlja2VuIFNpZSBhdWYgWnVzdGltbWVuIHVuZCBmb3J0ZmFocmVuLCB1bSBDb29raWVzIHp1IGFremVwdGllcmVuIHVuZCBkaXJla3QgenVyIFBsYXR0Zm9ybSB6dSBnZWxhbmdlbiwgb2RlciBrbGlja2VuIFNpZSBhdWYgRGF0ZW5zY2h1dHpyaWNodGxpbmllLCB1bSBkZXRhaWxsaWVydGUgQmVzY2hyZWlidW5nZW4gZGVyIHZlcndlbmRldGVuIENvb2tpZXMgYW56dXplaWdlbi5cIlxuICAgKiAgIH1cbiAgICogfVxuICAgKiBgYGBcbiAgICovXG4gIGkxOG5FeHRyYT86IEkxOG5FeHRyYTtcbiAgLyoqIFBhdGggdG8gdGhlIGZvbGRlciBmcm9tIHdoaWNoICoucG8gZmlsZXMgd2lsbCBiZSBsb2FkZWQuICovXG4gIGxvY2FsZVBhdGg/OiBzdHJpbmc7XG4gIC8qKiBBcnJheSBvZiBVUkxzIHRvIGFkZGl0aW9uYWwgKi5jc3MgZmlsZXMgdG8gYmUgbG9hZGVkIGF0IHJ1bnRpbWUuICovXG4gIGV4dHJhQ3NzVXJscz86IHN0cmluZ1tdO1xuICAvKiogRG9jdW1lbnRhdGlvbiBsaW5rcyBzZXR0aW5ncy4gKi9cbiAgZG9jcz86IERvY3M7XG4gIC8qKiBBcHBsaWNhdGlvbiBpY29uIHRvIGJlIGRpc3BsYXllZCBpbiBhcHAgc3dpdGNoZXIgYW5kIGhlYWRlciBiYXIuICovXG4gIGljb24/OiBJY29uO1xuXG4gIC8vIFRoZXNlIGFyZSB0aGUgb2xkIG9wdGlvbnNcbiAgLyoqIEhpZGUgYXBwbGljYXRpb24gaW4gYXBwIHN3aXRjaGVyIChzYXZlZCB0byB0aGUgc2VydmVyKS4gKi9cbiAgbm9BcHBTd2l0Y2hlcj86IGJvb2xlYW47XG4gIC8qKiBIVE1MIHBhZ2UgdGl0bGUuICovXG4gIGdsb2JhbFRpdGxlPzogc3RyaW5nO1xuICAvKiogSGlkZSBcInBvd2VyZWQgYnlcIiBhbmQgdmVyc2lvbiBpbmZvIGF0IHRoZSBib3R0b20gb2YgdGhlIG5hdmlnYXRvciBhbmQgaW4gdGhlIHJpZ2h0IGRyYXdlci4gKi9cbiAgaGlkZVBvd2VyZWQ/OiBib29sZWFuO1xuICAvKiogSGlkZXMgdGhlIFwiUGxhdGZvcm0gaW5mb3JtYXRpb25cIiBpbiB0aGUgcmlnaHQgZHJhd2VyLCB3aWxsIG92ZXJydWxlIHRoZSBcImhpZGVQb3dlcmVkXCIgb3B0aW9uICovXG4gIGhpZGVQbGF0Zm9ybUluZm9ybWF0aW9uPzogYm9vbGVhbjtcbiAgLyoqIFVSTCB0byBzdXBwb3J0IHBhZ2UgKHNldCB0byBgZmFsc2VgIHRvIGhpZGUgdGhlIGxpbmspLiAqL1xuICBzdXBwb3J0VXJsPzogYm9vbGVhbiB8IHN0cmluZztcbiAgLyoqXG4gICAqIFJlcGxhY2VtZW50IHN0cmluZyBmb3IgYHVzZXJgIGZpZWxkIGluIGF1ZGl0IGxvZ3MgZm9yIGFjdGlvbnMgcGVyZm9ybWVkIGJ5IGEgc3VwcG9ydCB1c2VyXG4gICAqIChhdmFpbGFibGUgcGxhY2Vob2xkZXJzOiBge3tzdXBwb3J0X3VzZXJ9fWAsIGB7e3N1cHBvcnRlZF91c2VyfX1gKS5cbiAgICovXG4gIHN1cHBvcnRVc2VyU3RyaW5nPzogc3RyaW5nO1xuICAvKipcbiAgICogRGlzYWJsZXMgcmVhbHRpbWUgdXBkYXRlcyBvbiB0aGUgbWFwIHdpZGdldCBhbmQgbWFwcyBpbiBnZW5lcmFsLlxuICAgKi9cbiAgbWFwV2lkZ2V0UmVhbHRpbWVEaXNhYmxlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBBbGxvd3MgdG8gYWRqdXN0IHRoZSBkZWZhdWx0IHBhZ2VzaXplIG9mIDEwMCBpdGVtcyBvZiB0aGUgbWFwIHdpZGdldCBhbmQgbWFwcyBpbiBnZW5lcmFsLlxuICAgKi9cbiAgbWFwV2lkZ2V0UGFnZVNpemU/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBBbGxvd3MgdG8gaGlkZSB0aGUgaGludCB0aGF0IHRoZXJlIGFyZSBtb3JlIGRldmljZXMgd2l0aCBnZW8gY29vcmRpbmF0ZXMgdGhlbiBkaXNwbGF5ZWQgb24gdGhlIG1hcCB3aWRnZXQgYW5kIG1hcHMgaW4gZ2VuZXJhbC5cbiAgICovXG4gIG1hcFdpZGdldEhpZGVNYXhEZXZpY2VPbk1hcEhpbnQ/OiBib29sZWFuO1xuICAvKiogRW5hYmxlIG9yIGRpc2FibGUgdGhlIHJpZ2h0IGRyYXdlci4gKi9cbiAgcmlnaHREcmF3ZXI/OiBib29sZWFuO1xuICAvKiogRW5hYmxlIG9yIGRpc2FibGUgYnJlYWRjcnVtYnMgaW4gdGhlIGhlYWRlciBmb3IgZ3JvdXBzIGFuZCBkZXZpY2VzIChkZWZhdWx0OiBmYWxzZSkuICovXG4gIGJyZWFkY3J1bWJzPzogYm9vbGVhbjtcbiAgLyoqIENvbGxhcHNlIG5hdmlnYXRvciBvbiBpbml0aWFsIGxvYWQuICovXG4gIGhpZGVOYXZpZ2F0b3I/OiBib29sZWFuO1xuICAvKiogU2hvdyB0YWJzIGhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5LiAqL1xuICB0YWJzSG9yaXpvbnRhbD86IGJvb2xlYW47XG4gIC8qKiBBZGRpdGlvbmFsIGxpbmsgdG8gZGlzcGxheSBvbiBsb2dpbiBzY3JlZW4uICovXG4gIGxvZ2luRXh0cmFMaW5rPzogTG9naW5FeHRyYUxpbms7XG4gIC8qKiBFbmFibGUgb3IgZGlzYWJsZSBzdG9yYWdlIGxpbWl0YXRpb24gZmVhdHVyZS4gKi9cbiAgc3RvcmFnZUxpbWl0YXRpb25GZWF0dXJlRW5hYmxlZD86IGJvb2xlYW47XG4gIC8qKiBOYW1lIG9mIGNvbXBhbnkgaGFuZGxpbmcgc3VwcG9ydCByZXF1ZXN0cyBmcm9tIGFwcCB1c2VycyAoZGlzcGxheWVkIGluIG5vdGlmaWNhdGlvbiBtZXNzYWdlKS4gKi9cbiAgY29tcGFueU5hbWU/OiBzdHJpbmc7XG4gIC8qKiBVUkwgdGVtcGxhdGUgZm9yIGRvY3VtZW50YXRpb24gbGlua3MgKGRlZmF1bHQ6IGAnJHtkb2NzQmFzZVVybH0ke3BhcnRpYWxVcmx9J2ApLiAqL1xuICBndWlkZUhyZWZUZW1wbGF0ZT86IHN0cmluZztcbiAgLyoqIEJhc2UgVVJMIGZvciBkb2N1bWVudGF0aW9uIGxpbmtzLiAqL1xuICBkb2NzQmFzZVVybD86IHN0cmluZztcbiAgLyoqIENTUCBzdHJpbmcgdG8gYmUgYXBwbGllZCB0byBgaW5kZXguaHRtbGAgYnkgcmVwbGFjaW5nIGRlZmF1bHQgdmFsdWVzLiAqL1xuICBjb250ZW50U2VjdXJpdHlQb2xpY3k/OiBzdHJpbmc7XG4gIC8qKiBFbmFibGVzIGNsb3VkIHNlbnNvciB3aXphcmQgKi9cbiAgc2Vuc29yUGhvbmU/OiBib29sZWFuO1xuICAvKiogU2hvdyBvciBoaWRlIGEgbmV3c2xldHRlciBzdWJzY3JpcHRpb24gY2hlY2tib3ggaW4gZWRpdCB1c2VyIG1vZGFsLiAqL1xuICBuZXdzbGV0dGVyPzogYm9vbGVhbjtcbiAgLyoqIFBhdGggdG8gdGhlIHJvb3Qgbm9kZV9tb2R1bGVzIGRpciAodXNlZnVsIHdoZW4gd29ya2luZyBpbiBtb25vcmVwbyBzZXR1cCwgZS5nLiB5YXJuIHdvcmtzcGFjZXMpLiAqL1xuICByb290Tm9kZU1vZHVsZXNQYXRoPzogc3RyaW5nO1xuICAvKiogQ29va2llIEJhbm5lciBjb25maWd1cmF0aW9uICovXG4gIGNvb2tpZUJhbm5lcj86IENvb2tpZUJhbm5lckNvbmZpZ3VyYXRpb247XG4gIC8qKiBDb29raWUgcHJlZmVyZW5jZXMgY29uZmlndXJhdGlvbi4gSGVyZSB5b3UgY2FuIGVuYWJsZSBvciBkaXNhYmxlIGNvb2tpZSBjYXRlZ29yaWVzICovXG4gIGNvb2tpZVByZWZlcmVuY2VzPzogQ29va2llUHJlZmVyZW5jZXNDb25maWd1cmF0aW9uO1xuICAvKiogQSBrZXkgZm9yIHRoZSBwcm9kdWN0IGV4cGVyaWVuY2Ugc29mdHdhcmUgR2FpbnNpZ2h0LiAqL1xuICBnYWluc2lnaHRLZXk/OiBzdHJpbmc7XG4gIC8qKiBOZ01vZHVsZSBleHBvcnQgZm9yIHBsdWdpbnMuICovXG4gIGV4cG9ydHM/OiBQbHVnaW5zRXhwb3J0c1tdO1xuICAvKiogTGlzdCBvZiBpbXBvcnRlZCByZW1vdGUgcGx1Z2lucy4gKi9cbiAgcmVtb3Rlcz86IFJlbW90ZVBsdWdpbnM7XG4gIC8qKiBUaGUgcGFja2FnZSBzb3VyY2UgYSBhcHBsaWNhdGlvbiBvcmlnaW5zIGZyb20gYXMgSUFwcGxpY2F0aW9uIG9yIHNpbXBseSB0aGUgaWQgb2YgdGhlIHNvdXJjZSAqL1xuICBzb3VyY2U/OiBzdHJpbmcgfCBudW1iZXIgfCBJQXBwbGljYXRpb247XG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIGFzc2V0cyB0byBjb3B5IHRvIHRoZSBidWlsZCBvdXRwdXQuXG4gICAqIFNlZSBodHRwczovL2dpdGh1Yi5jb20vd2VicGFjay1jb250cmliL2NvcHktd2VicGFjay1wbHVnaW4gZm9yIG1vcmUgaW5mb3JtYXRpb25cbiAgICogYWJvdXQgdGhlIHBhdHRlcm5zIHRvIGFkZCBoZXJlLlxuICAgKi9cbiAgY29weT86IFtdO1xuICAvKipcbiAgICogQWxsb3dzIHRvIGVuYWJsZSBvciBkaXNhYmxlIGNvbnRleHQgaGVscC5cbiAgICogQnkgZGVmYXVsdCB0aGUgY29udGV4dCBoZWxwIHVzZXMgdGhlIGJhc2UgVVJMIGRlZmluZWQgaW4gdGhlIFwiZG9jc0Jhc2VVcmxcIiBvcHRpb24sXG4gICAqIGlmIHRoaXMgb3B0aW9uIGlzIG5vdCBkZWZpbmVkIHRoZSBmb2xsb3dpbmcgd2lsbCBiZSB1c2VkIGFzIHRoZSBiYXNlIFVSTDogaHR0cHM6Ly93d3cuY3VtdWxvY2l0eS5jb20vZ3VpZGVzLlxuICAgKiBUaGUgYmFzZSBVUkwgY2FuIGFsc28gYmUgcGFzc2VkIHRvIHRoaXMgb3B0aW9uIHRvIG92ZXJyaWRlIHRoZSBwcmV2aW91c2x5IG1lbnRpb25lZCB2YWx1ZXMuXG4gICAqL1xuICBjb250ZXh0SGVscD86IGJvb2xlYW4gfCBzdHJpbmc7XG4gIC8qKlxuICAgKiBCeSBkZWZhdWx0LCBjb2NrcGl0IGFuZCBkZXZpY2VtYW5hZ2VtZW50IHVzZSB0aGUgb25seVJvb3RzIHF1ZXJ5IHRvIHJlc29sdmUgcm9vdCBub2Rlcy4gVGhpc1xuICAgKiBjb3VsZCBsZWFkIHRvIHBlcmZvcm1hbmNlIGlzc3VlcywgaWYgYSBjdXN0b21lciBoYXMgYSBsb3Qgb2Ygcm9vdCBub2Rlcy4gVGhlcmVmb3JlIHlvdSBjYW4gZGlzYWJsZVxuICAgKiB0aGUgdXNlIG9mIHRoaXMgcXVlcnkgd2l0aCB0aGlzIGZsYWcuXG4gICAqL1xuICBkaXNhYmxlT25seVJvb3RzUXVlcnk/OiBib29sZWFuO1xuICAvKipcbiAgICogQWxsb3dzIHRvIGZvcmNlIHNob3dpbmcgdGhlIHNldHVwIHdpemFyZC5cbiAgICovXG4gIGZvcmNlU2V0dXA/OiBib29sZWFuO1xuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoZSBhcHBsaWNhdGlvbiBuZWVkcyB0byBzaG93IHRoZSBzZXR1cCB3aXphcmQuXG4gICAqL1xuICBpc1NldHVwPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEJ5IGRlZmF1bHQgYSBXZWJTREsgYXBwIHJlcXVpcmVzIHRoZSB1c2VyIHRvIGJlIGxvZ2dlZCBpbi5cbiAgICogSW4gY2FzZSB5b3Ugd291bGQgbGlrZSB0byBkZXZlbG9wIGp1c3QgYSBzdGF0aWMgYXBwbGljYXRpb24sIHRoYXQgZG9lcyBub3QgcmVxdWlyZSBhbnkga2luZCBvZiBhY2Nlc3MgdG8gdGhlIGJhY2tlbmQsXG4gICAqIHlvdSBjYW4gdXNlIHRoaXMgZmxhZyB0byBkaXNhYmxlIHRoZSBsb2dpbiBzY3JlZW4uXG4gICAqIE5PVEU6IG5vdCBhbGwgV2ViU0RLIGNvbXBvbmVudHMgc3VwcG9ydCB0aGlzLCBzb21lIG1pZ2h0IHJlcXVpcmUgdGhlIHVzZXIgdG8gYmUgbG9nZ2VkIGluIGFuZCB3b24ndCB3b3JrLlxuICAgKi9cbiAgbm9Mb2dpbj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBBbGxvd3MgdG8gb3B0IG91dCBvZiBzdXBwb3J0aW5nL2xvYWRpbmcgcGx1Z2lucyBmb3IgdGhpcyBhcHBsaWNhdGlvbi5cbiAgICovXG4gIG5vUGx1Z2lucz86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVtb3RlUGx1Z2lucyB7XG4gIC8qKlxuICAgKiBBIGtleSB2YWx1ZSBwYWlyLCB3aGlsZSB0aGUgdmFsdWUgaXMgYW4gYXJyYXkgb2YgbW9kdWxlcyB0byBsb2FkIGFuZCB0aGVcbiAgICoga2V5IGlzIHRoZSBjb250ZXh0IHBhdGguXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYGpzXG4gICAqIHtcbiAgICogICAgJ2NvY2twaXQnOiBbJ0hvbWVEYXNoYm9hcmRNb2R1bGUnLCAnRGF0YUV4cGxvcmVyRGFzaGJvYXJkJ10sXG4gICAqICAgICd3aWRnZXQtcGFja2FnZUAxLjAuMCc6IFsnRXh0ZW5kZWRNYXBXaWRnZXQnXVxuICAgKiB9XG4gICAqIGBgXG4gICAqL1xuICBba2V5OiBzdHJpbmddOiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQbHVnaW5zRXhwb3J0cyB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgQW5ndWxhciBtb2R1bGUgY2xhc3MuXG4gICAqL1xuICBuYW1lOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgZmlsZSBwYXRoIHRvIHRoZSBtb2R1bGUgdHlwZXNjcmlwdCBmaWxlLlxuICAgKi9cbiAgcGF0aDogc3RyaW5nO1xuICAvKipcbiAgICogQW4gc2hvcnQgZGVzY3JpcHRpb24gYWJvdXQgd2hhdCB0aGUgbW9kdWxlIGRvZXMuXG4gICAqL1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgLyoqXG4gICAqIEFsbG93cyB0byBzY29wZSB0aGUgcGx1Z2luIHRvIGNlcnRhaW4gYXBwbGljYXRpb25zLiBFLmcuIGlmIHlvdVxuICAgKiBhZGQgaGVyZSAnY29ja3BpdCcsIHRoZSBwbHVnaW4gY2FuIG9ubHkgYmUgaW5zdGFsbGVkIGludG8gYW5cbiAgICogYXBwbGljYXRpb24gb24gdGhlIGNvbnRleHRQYXRoIGBhcHBzL2NvY2twaXRgLiBZb3UgY2FuIHVzZSBjb21tYVxuICAgKiBzZXBhcmF0ZWQgdmFsdWVzLCBhc3RlcmlzayAoZGVmYXVsdCkgdG8gYWxsb3cgYWxsIGFwcGxpY2F0aW9ucyBvclxuICAgKiBgc2VsZmAgdG8gbGltaXQgdGhlIHBsdWdpbiB0byB0aGUgY3VycmVudCBzb2x1dGlvbi5cbiAgICovXG4gIHNjb3BlPzogJyonIHwgJ3NlbGYnIHwgc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvb2tpZUJhbm5lckNvbmZpZ3VyYXRpb24ge1xuICAvKiogSGVyZSB5b3UgY2FuIHNldCB0aGUgdGl0bGUgb2YgQ29va2llIEJhbm5lciAqL1xuICBjb29raWVCYW5uZXJUaXRsZT86IHN0cmluZztcbiAgLyoqIEhlcmUgeW91IGNhbiBzZXQgdGhlIFRleHQgb2YgQ29va2llIEJhbm5lciAqL1xuICBjb29raWVCYW5uZXJUZXh0Pzogc3RyaW5nO1xuICAvKiogSGVyZSB5b3UgY2FuIHNldCB0aGUgcG9saWN5VXJsIG9mIENvb2tpZSBCYW5uZXIgKi9cbiAgcG9saWN5VXJsPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvb2tpZVByZWZlcmVuY2VzQ29uZmlndXJhdGlvbiB7XG4gIC8qKiBUaGlzIGNhdGVnb3J5IGluY2x1ZGVzIGUuZy4gY29va2llcyByZWxhdGVkIHRvIGxvZ2dpbmcgaW4gICovXG4gIHJlcXVpcmVkPzogYm9vbGVhbiB8IHN0cmluZztcbiAgLyoqIFRoaXMgY2F0ZWdvcnkgaW5jbHVkZXMgZS5nLiB0cmFja2luZyBjb29raWVzICAqL1xuICBmdW5jdGlvbmFsPzogYm9vbGVhbiB8IHN0cmluZztcbiAgLyoqIFRoaXMgY2F0ZWdvcnkgaW5jbHVkZXMgZS5nLiBjb29raWVzIHJlbGF0ZWQgdG8gYWR2ZXJ0aXNpbmcgICovXG4gIG1hcmtldGluZz86IGJvb2xlYW4gfCBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG9naW5FeHRyYUxpbmsge1xuICB1cmw6IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJY29uIHtcbiAgY2xhc3M/OiBzdHJpbmc7XG4gIHVybD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEb2NzIHtcbiAgLyoqIEhpZGUgZGVmYXVsdCBsaW5rcyB0byBkb2N1bWVudGF0aW9uLiAqL1xuICBub0RlZmF1bHQ6IGJvb2xlYW47XG4gIC8qKiBMaXN0IG9mIHJlZ2V4IHN0cmluZ3MuIE1hdGNoaW5nIGRlZmF1bHQgZG9jcyBVUkxzIHdpbGwgYmUgaGlkZGVuLiAqL1xuICBleGNsdWRlRGVmYXVsdDogc3RyaW5nW107XG4gIC8qKiBBZGRpdGlvbmFsIGxpbmtzIHRvIGJlIGRpc3BsYXllZC4gKi9cbiAgbGlua3M6IExpbmtzW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlua3Mge1xuICAvKiogSWNvbiBjbGFzc2VzIHdpdGggYGM4eS1pY29uYCwgZS5nLiBgYzh5LWljb24gYzh5LWljb24tYWRkLXVzZXJgIG9yIGBjOHktaWNvbiBjOHktaWNvbi1kZXZpY2UtY29ubmVjdGAuICovXG4gIGljb246IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZztcbiAgdXJsOiBzdHJpbmc7XG4gIHR5cGU6ICdkb2MnIHwgJ3F1aWNrbGluayc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSTE4bkV4dHJhIHtcbiAgW2xhbmdDb2RlOiBzdHJpbmddOiBJMThuRXh0cmFMYW5nQ29kZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJMThuRXh0cmFMYW5nQ29kZSB7XG4gIFtrZXk6IHN0cmluZ106IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMYW5ndWFnZXMge1xuICBbbGFuZ0NvZGU6IHN0cmluZ106IExhbmd1YWdlc0xhbmdDb2RlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExhbmd1YWdlc0xhbmdDb2RlIHtcbiAgbmFtZTogc3RyaW5nO1xuICBuYXRpdmVOYW1lOiBzdHJpbmc7XG4gIHVybDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJyYW5kaW5nQ3NzVmFycyB7XG4gIFtrZXk6IHN0cmluZ106IHN0cmluZztcbn1cbiJdfQ==
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBwbGljYXRpb25PcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29yZS9jb21tb24vQXBwbGljYXRpb25PcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBOzs7O0dBSUc7QUFDSCxNQUFNLE9BQU8sa0JBQWtCO0NBb0w5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElBcHBsaWNhdGlvbiB9IGZyb20gJ0BjOHkvY2xpZW50JztcblxuLypcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tV0FSTklORy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVGhpcyBmaWxlIGhhcyBhbiAqZXhhY3QqIGNvcHkgaW4gcGFja2FnZXMvY2xpL3NyYy93ZWJwYWNrLy5cbiAqIEFueSBjaGFuZ2VzIHRvIHRoaXMgZmlsZSBtdXN0IGJlIHJlZmxlY3RlZCB0aGVyZSwgdG9vLlxuICovXG5leHBvcnQgY2xhc3MgQXBwbGljYXRpb25PcHRpb25zIHtcbiAgLyoqIEFwcGxpY2F0aW9uIG5hbWUgKHNhdmVkIHRvIHRoZSBzZXJ2ZXIpLiAqL1xuICBuYW1lOiBzdHJpbmc7XG4gIC8qKiBBcHBsaWNhdGlvbiBjb250ZXh0IHBhdGggKHNhdmVkIHRvIHRoZSBzZXJ2ZXIpLiAqL1xuICBjb250ZXh0UGF0aDogc3RyaW5nO1xuICAvKiogQXBwbGljYXRpb24ga2V5IChzYXZlZCB0byB0aGUgc2VydmVyKS4gKi9cbiAga2V5OiBzdHJpbmc7XG4gIC8qKiBTZXQgdG8gYHRydWVgIGlmIHRoZSBhcHBsaWNhdGlvbiBpcyBoeWJyaWQgYW5kIHVzZXMgQW5ndWxhciBhbmQgQW5ndWxhckpTIHNpbXVsdGFuZW91c2x5LiAqL1xuICB1cGdyYWRlPzogYm9vbGVhbjtcbiAgLyoqIFBhdGggdG8gdGhlIGJyYW5kaW5nIGVudHJ5IGZpbGUuIChTZXQgaXQgdG8gZmFsc2UgdG8gZGlzYWJsZSBhbnkgc3R5bGluZy4gWW91IGNhbiBoYW5kbGUgdGhlIHN0eWxpbmcgdGhlbiBvbiB5b3VyIG93biBlLmcuIGluIGFuIGFuZ3VsYXIuanNvbiBmaWxlIHVzaW5nIG5nLWNsaSkgKi9cbiAgYnJhbmRpbmdFbnRyeT86IHN0cmluZyB8IGJvb2xlYW47XG4gIC8qKiBQYXRoIHRvIHRzY2NuZmlnLmpzb24gZmlsZSBpZiBUeXBlU2NyaXB0IGlzIHVzZWQgKGRlZmF1bHQ6IC4vdHNjb25maWcuanNvbikuICovXG4gIHRzQ29uZmlnUGF0aD86IHN0cmluZztcbiAgLyoqIEVudHJ5IG1vZHVsZSBmb3IgQW5ndWxhciBjb21waWxlciAob25seSB1c2VkIHdpdGggbGF6eSBsb2FkZWQgcm91dGVzKSwgZS5nLiBgJ2FwcC5tb2R1bGUudHMjQXBwTW9kdWxlJ2AuICovXG4gIGVudHJ5TW9kdWxlPzogc3RyaW5nO1xuICAvKiogUGF0aCB0byBjdXN0b20gaW5kZXguaHRtbCAob3RoZXJ3aXNlIGRlZmF1bHQgb25lIHdpbGwgYmUgdXNlZCkuICovXG4gIGluZGV4VGVtcGxhdGU/OiBzdHJpbmc7XG4gIC8qKiBVUkwgdG8gZHluYW1pY2FsbHkgZmV0Y2hlZCBvcHRpb25zLiAqL1xuICBkeW5hbWljT3B0aW9uc1VybD86IHN0cmluZztcbiAgLyoqIFVSTCB0byBmYXZpY29uLiAqL1xuICBmYXZpY29uVXJsPzogc3RyaW5nO1xuICAvKiogVVJMIHRvICouY3NzIGZpbGUgd2hpY2ggd2lsbCByZXBsYWNlIGRlZmF1bHQgYnJhbmRpbmcuICovXG4gIGJyYW5kaW5nVXJsPzogc3RyaW5nO1xuICAvKiogT2JqZWN0IHdpdGggcHJvcGVydGllcyB0aGF0IHdpbGwgYmUgY29udmVydGVkIHRvIENTUyBjdXN0b20gdmFyaWFibGVzLiAqL1xuICBicmFuZGluZ0Nzc1ZhcnM/OiBCcmFuZGluZ0Nzc1ZhcnM7XG4gIC8qKlxuICAgKiBBbGxvd3MgZm9yIGFkZGluZyBvciBvdmVycmlkaW5nIGxhbmd1YWdlcyBhdmFpbGFibGUgaW4gdGhlIGFwcGxpY2F0aW9uLlxuICAgKlxuICAgKiBJdHMga2V5cyBhcmUgbGFuZ3VhZ2UgY29kZXMgYW5kIGl0cyB2YWx1ZXMgYXJlIG9iamVjdHMgd2l0aCB0aGUgZm9sbG93aW5nIHByb3BlcnRpZXM6XG4gICAqXG4gICAqIC0gYG5hbWVgOiBFbmdsaXNoIG5hbWUgb2YgdGhlIGxhbmd1YWdlLFxuICAgKiAtIGBuYXRpdmVOYW1lYDogbmF0aXZlIG5hbWUgb2YgdGhlIGxhbmd1YWdlLFxuICAgKiAtIGB1cmxgOiBmdWxsIFVSTCB0byBKU09OIGZpbGUgd2l0aCBjb21waWxlZCB0cmFuc2xhdGlvbnM7XG4gICAqICAgIGlmIG5vdCBkZWZpbmVkLCB0cmFuc2xhdGlvbnMgd2lsbCBiZSBsb2FkZWQgZnJvbSBgJHtsb2NhbGVQYXRofS8ke2xhbmdDb2RlfS5qc29uYC5cbiAgICpcbiAgICogRXhhbXBsZTpcbiAgICogYGBganNvblxuICAgKiBcImxhbmd1YWdlc1wiOiB7XG4gICAqICAgXCJkZVwiOiB7XG4gICAqICAgICBcIm5hbWVcIjogXCJHZXJtYW5cIixcbiAgICogICAgIFwibmF0aXZlTmFtZVwiOiBcIkRldXRzY2hcIixcbiAgICogICAgIFwidXJsXCI6IFwiL2FwcHMvcHVibGljL3VpLWFzc2V0cy9kZS5qc29uXCJcbiAgICogICB9XG4gICAqIH1cbiAgICogYGBgXG4gICAqL1xuICBsYW5ndWFnZXM/OiBMYW5ndWFnZXM7XG4gIC8qKlxuICAgKiBBbGxvd3MgZm9yIGFkZGluZyBjdXN0b20gdHJhbnNsYXRpb25zLiBJdCBpcyBhbiBvcHRpb25hbCBwcm9wZXJ0eS5cbiAgICpcbiAgICogSXRzIGtleXMgYXJlIGxhbmd1YWdlIGNvZGVzIChodHRwczovL2N1bXVsb2NpdHkuY29tL2d1aWRlcy91c2Vycy1ndWlkZS9nZXR0aW5nLXN0YXJ0ZWQvI2EtbmFtZS1sYW5ndWFnZXMtYS1hdmFpbGFibGUtbGFuZ3VhZ2VzKVxuICAgKiBhbmQgaXRzIHZhbHVlcyBhcmUgb2JqZWN0cyB3aXRoIGtleS12YWx1ZSBwYWlycywgd2hlcmUgdGhlIGtleSBpcyB0aGUgb3JpZ2luYWwgc3RyaW5nIGluIEVuZ2xpc2ggYW5kIHRoZSB2YWx1ZSAtIGl0cyB0cmFuc2xhdGlvbi5cbiAgICpcbiAgICogLSBgSG9tZWA6IFwiU3RhcnRzZWl0ZVwiXG4gICAqXG4gICAqIEZvciBleGFtcGxlIHlvdSBjYW4gYWRkIHRoZSB0cmFuc2xhdGlvbiBvZiB5b3VyIGN1c3RvbSBjb29raWUgYmFubmVyIGNvbmZpZ3VyZWQgaW4gdGhlIGJyYW5kaW5nIHNldHRpbmdzOlxuICAgKiBgYGBqc29uXG4gICAqIFwiaTE4bkV4dHJhXCI6IHtcbiAgICogICBcImRlXCI6IHtcbiAgICogICAgIFwiQWJvdXQgY29va2llcyBvbiBDdW11bG9jaXR5IElvVFwiOiBcIkluZm9ybWF0aW9uZW4genUgQ29va2llcyBpbiBDdW11bG9jaXR5IElvVFwiLFxuICAgKiAgICAgXCJDbGljayBBZ3JlZSBhbmQgUHJvY2VlZCB0byBhY2NlcHQgY29va2llcyBhbmQgZ28gZGlyZWN0bHkgdG8gdGhlIHBsYXRmb3JtIG9yIGNsaWNrIG9uIFByaXZhY3kgUG9saWN5IHRvIHNlZSBkZXRhaWxlZCBkZXNjcmlwdGlvbnMgb2YgdGhlIHVzZWQgY29va2llcy5cIjogXCJLbGlja2VuIFNpZSBhdWYgWnVzdGltbWVuIHVuZCBmb3J0ZmFocmVuLCB1bSBDb29raWVzIHp1IGFremVwdGllcmVuIHVuZCBkaXJla3QgenVyIFBsYXR0Zm9ybSB6dSBnZWxhbmdlbiwgb2RlciBrbGlja2VuIFNpZSBhdWYgRGF0ZW5zY2h1dHpyaWNodGxpbmllLCB1bSBkZXRhaWxsaWVydGUgQmVzY2hyZWlidW5nZW4gZGVyIHZlcndlbmRldGVuIENvb2tpZXMgYW56dXplaWdlbi5cIlxuICAgKiAgIH1cbiAgICogfVxuICAgKiBgYGBcbiAgICovXG4gIGkxOG5FeHRyYT86IEkxOG5FeHRyYTtcbiAgLyoqIFBhdGggdG8gdGhlIGZvbGRlciBmcm9tIHdoaWNoICoucG8gZmlsZXMgd2lsbCBiZSBsb2FkZWQuICovXG4gIGxvY2FsZVBhdGg/OiBzdHJpbmc7XG4gIC8qKiBBcnJheSBvZiBVUkxzIHRvIGFkZGl0aW9uYWwgKi5jc3MgZmlsZXMgdG8gYmUgbG9hZGVkIGF0IHJ1bnRpbWUuICovXG4gIGV4dHJhQ3NzVXJscz86IHN0cmluZ1tdO1xuICAvKiogRG9jdW1lbnRhdGlvbiBsaW5rcyBzZXR0aW5ncy4gKi9cbiAgZG9jcz86IERvY3M7XG4gIC8qKiBBcHBsaWNhdGlvbiBpY29uIHRvIGJlIGRpc3BsYXllZCBpbiBhcHAgc3dpdGNoZXIgYW5kIGhlYWRlciBiYXIuICovXG4gIGljb24/OiBJY29uO1xuXG4gIC8vIFRoZXNlIGFyZSB0aGUgb2xkIG9wdGlvbnNcbiAgLyoqIEhpZGUgYXBwbGljYXRpb24gaW4gYXBwIHN3aXRjaGVyIChzYXZlZCB0byB0aGUgc2VydmVyKS4gKi9cbiAgbm9BcHBTd2l0Y2hlcj86IGJvb2xlYW47XG4gIC8qKiBIVE1MIHBhZ2UgdGl0bGUuICovXG4gIGdsb2JhbFRpdGxlPzogc3RyaW5nO1xuICAvKiogSGlkZSBcInBvd2VyZWQgYnlcIiBhbmQgdmVyc2lvbiBpbmZvIGF0IHRoZSBib3R0b20gb2YgdGhlIG5hdmlnYXRvciBhbmQgaW4gdGhlIHJpZ2h0IGRyYXdlci4gKi9cbiAgaGlkZVBvd2VyZWQ/OiBib29sZWFuO1xuICAvKiogSGlkZXMgdGhlIFwiUGxhdGZvcm0gaW5mb3JtYXRpb25cIiBpbiB0aGUgcmlnaHQgZHJhd2VyLCB3aWxsIG92ZXJydWxlIHRoZSBcImhpZGVQb3dlcmVkXCIgb3B0aW9uICovXG4gIGhpZGVQbGF0Zm9ybUluZm9ybWF0aW9uPzogYm9vbGVhbjtcbiAgLyoqIFVSTCB0byBzdXBwb3J0IHBhZ2UgKHNldCB0byBgZmFsc2VgIHRvIGhpZGUgdGhlIGxpbmspLiAqL1xuICBzdXBwb3J0VXJsPzogYm9vbGVhbiB8IHN0cmluZztcbiAgLyoqXG4gICAqIFJlcGxhY2VtZW50IHN0cmluZyBmb3IgYHVzZXJgIGZpZWxkIGluIGF1ZGl0IGxvZ3MgZm9yIGFjdGlvbnMgcGVyZm9ybWVkIGJ5IGEgc3VwcG9ydCB1c2VyXG4gICAqIChhdmFpbGFibGUgcGxhY2Vob2xkZXJzOiBge3tzdXBwb3J0X3VzZXJ9fWAsIGB7e3N1cHBvcnRlZF91c2VyfX1gKS5cbiAgICovXG4gIHN1cHBvcnRVc2VyU3RyaW5nPzogc3RyaW5nO1xuICAvKipcbiAgICogRGlzYWJsZXMgcmVhbHRpbWUgdXBkYXRlcyBvbiB0aGUgbWFwIHdpZGdldCBhbmQgbWFwcyBpbiBnZW5lcmFsLlxuICAgKi9cbiAgbWFwV2lkZ2V0UmVhbHRpbWVEaXNhYmxlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBBbGxvd3MgdG8gYWRqdXN0IHRoZSBkZWZhdWx0IHBhZ2VzaXplIG9mIDEwMCBpdGVtcyBvZiB0aGUgbWFwIHdpZGdldCBhbmQgbWFwcyBpbiBnZW5lcmFsLlxuICAgKi9cbiAgbWFwV2lkZ2V0UGFnZVNpemU/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBBbGxvd3MgdG8gaGlkZSB0aGUgaGludCB0aGF0IHRoZXJlIGFyZSBtb3JlIGRldmljZXMgd2l0aCBnZW8gY29vcmRpbmF0ZXMgdGhlbiBkaXNwbGF5ZWQgb24gdGhlIG1hcCB3aWRnZXQgYW5kIG1hcHMgaW4gZ2VuZXJhbC5cbiAgICovXG4gIG1hcFdpZGdldEhpZGVNYXhEZXZpY2VPbk1hcEhpbnQ/OiBib29sZWFuO1xuICAvKiogRW5hYmxlIG9yIGRpc2FibGUgdGhlIHJpZ2h0IGRyYXdlci4gKi9cbiAgcmlnaHREcmF3ZXI/OiBib29sZWFuO1xuICAvKiogRW5hYmxlIG9yIGRpc2FibGUgYnJlYWRjcnVtYnMgaW4gdGhlIGhlYWRlciBmb3IgZ3JvdXBzIGFuZCBkZXZpY2VzIChkZWZhdWx0OiBmYWxzZSkuICovXG4gIGJyZWFkY3J1bWJzPzogYm9vbGVhbjtcbiAgLyoqIENvbGxhcHNlIG5hdmlnYXRvciBvbiBpbml0aWFsIGxvYWQuICovXG4gIGhpZGVOYXZpZ2F0b3I/OiBib29sZWFuO1xuICAvKiogU2hvdyB0YWJzIGhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5LiAqL1xuICB0YWJzSG9yaXpvbnRhbD86IGJvb2xlYW47XG4gIC8qKiBBZGRpdGlvbmFsIGxpbmsgdG8gZGlzcGxheSBvbiBsb2dpbiBzY3JlZW4uICovXG4gIGxvZ2luRXh0cmFMaW5rPzogTG9naW5FeHRyYUxpbms7XG4gIC8qKiBFbmFibGUgb3IgZGlzYWJsZSBzdG9yYWdlIGxpbWl0YXRpb24gZmVhdHVyZS4gKi9cbiAgc3RvcmFnZUxpbWl0YXRpb25GZWF0dXJlRW5hYmxlZD86IGJvb2xlYW47XG4gIC8qKiBOYW1lIG9mIGNvbXBhbnkgaGFuZGxpbmcgc3VwcG9ydCByZXF1ZXN0cyBmcm9tIGFwcCB1c2VycyAoZGlzcGxheWVkIGluIG5vdGlmaWNhdGlvbiBtZXNzYWdlKS4gKi9cbiAgY29tcGFueU5hbWU/OiBzdHJpbmc7XG4gIC8qKiBVUkwgdGVtcGxhdGUgZm9yIGRvY3VtZW50YXRpb24gbGlua3MgKGRlZmF1bHQ6IGAnJHtkb2NzQmFzZVVybH0ke3BhcnRpYWxVcmx9J2ApLiAqL1xuICBndWlkZUhyZWZUZW1wbGF0ZT86IHN0cmluZztcbiAgLyoqIEJhc2UgVVJMIGZvciBkb2N1bWVudGF0aW9uIGxpbmtzIChpbmNsdWRlIGB7eyB2ZXJzaW9uIH19YCBwbGFjZWhvbGRlciwgaWYgeW91IHdhbnQgdmVyc2lvbmVkIGxpbmtzKS4gKi9cbiAgZG9jc0Jhc2VVcmw/OiBzdHJpbmc7XG4gIC8qKiBDU1Agc3RyaW5nIHRvIGJlIGFwcGxpZWQgdG8gYGluZGV4Lmh0bWxgIGJ5IHJlcGxhY2luZyBkZWZhdWx0IHZhbHVlcy4gKi9cbiAgY29udGVudFNlY3VyaXR5UG9saWN5Pzogc3RyaW5nO1xuICAvKiogRW5hYmxlcyBjbG91ZCBzZW5zb3Igd2l6YXJkICovXG4gIHNlbnNvclBob25lPzogYm9vbGVhbjtcbiAgLyoqIFNob3cgb3IgaGlkZSBhIG5ld3NsZXR0ZXIgc3Vic2NyaXB0aW9uIGNoZWNrYm94IGluIGVkaXQgdXNlciBtb2RhbC4gKi9cbiAgbmV3c2xldHRlcj86IGJvb2xlYW47XG4gIC8qKiBQYXRoIHRvIHRoZSByb290IG5vZGVfbW9kdWxlcyBkaXIgKHVzZWZ1bCB3aGVuIHdvcmtpbmcgaW4gbW9ub3JlcG8gc2V0dXAsIGUuZy4geWFybiB3b3Jrc3BhY2VzKS4gKi9cbiAgcm9vdE5vZGVNb2R1bGVzUGF0aD86IHN0cmluZztcbiAgLyoqIENvb2tpZSBCYW5uZXIgY29uZmlndXJhdGlvbiAqL1xuICBjb29raWVCYW5uZXI/OiBDb29raWVCYW5uZXJDb25maWd1cmF0aW9uO1xuICAvKiogQ29va2llIHByZWZlcmVuY2VzIGNvbmZpZ3VyYXRpb24uIEhlcmUgeW91IGNhbiBlbmFibGUgb3IgZGlzYWJsZSBjb29raWUgY2F0ZWdvcmllcyAqL1xuICBjb29raWVQcmVmZXJlbmNlcz86IENvb2tpZVByZWZlcmVuY2VzQ29uZmlndXJhdGlvbjtcbiAgLyoqIEEga2V5IGZvciB0aGUgcHJvZHVjdCBleHBlcmllbmNlIHNvZnR3YXJlIEdhaW5zaWdodC4gKi9cbiAgZ2FpbnNpZ2h0S2V5Pzogc3RyaW5nO1xuICAvKiogTmdNb2R1bGUgZXhwb3J0IGZvciBwbHVnaW5zLiAqL1xuICBleHBvcnRzPzogUGx1Z2luc0V4cG9ydHNbXTtcbiAgLyoqIExpc3Qgb2YgaW1wb3J0ZWQgcmVtb3RlIHBsdWdpbnMuICovXG4gIHJlbW90ZXM/OiBSZW1vdGVQbHVnaW5zO1xuICAvKiogVGhlIHBhY2thZ2Ugc291cmNlIGEgYXBwbGljYXRpb24gb3JpZ2lucyBmcm9tIGFzIElBcHBsaWNhdGlvbiBvciBzaW1wbHkgdGhlIGlkIG9mIHRoZSBzb3VyY2UgKi9cbiAgc291cmNlPzogc3RyaW5nIHwgbnVtYmVyIHwgSUFwcGxpY2F0aW9uO1xuICAvKipcbiAgICogQWRkaXRpb25hbCBhc3NldHMgdG8gY29weSB0byB0aGUgYnVpbGQgb3V0cHV0LlxuICAgKiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3dlYnBhY2stY29udHJpYi9jb3B5LXdlYnBhY2stcGx1Z2luIGZvciBtb3JlIGluZm9ybWF0aW9uXG4gICAqIGFib3V0IHRoZSBwYXR0ZXJucyB0byBhZGQgaGVyZS5cbiAgICovXG4gIGNvcHk/OiBbXTtcbiAgLyoqXG4gICAqIEFsbG93cyB0byBlbmFibGUgb3IgZGlzYWJsZSBjb250ZXh0IGhlbHAsIG9yIHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0IGJhc2UgVVJMIHVzZWQgdG8gbG9hZCBpdHMgY29udGVudHMuXG4gICAqIEJ5IGRlZmF1bHQsIHRoZSBjb250ZXh0IGhlbHAgdXNlcyB0aGUgc2FtZSBiYXNlIFVSTCBhcyBkZWZpbmVkIGluIHRoZSBgZG9jc0Jhc2VVcmxgIG9wdGlvblxuICAgKiAoaWYgdGhpcyBvcHRpb24gaXMgdW5kZWZpbmVkLCB0aGVuIHRoZSBmb2xsb3dpbmcgdmFsdWUgd2lsbCBiZSB1c2VkOiBgaHR0cHM6Ly93d3cuY3VtdWxvY2l0eS5jb20vZ3VpZGVzL3t7dmVyc2lvbn19YCkuXG4gICAqIEFsdGVybmF0aXZlbHksIGlmIGEgc3RyaW5nIGlzIHByb3ZpZGVkIGhlcmUsIGl0J2xsIGJlIHVzZWQgYXMgdGhlIGJhc2UgVVJMXG4gICAqIGFuZCBhbnkgYHt7IHZlcnNpb24gfX1gIHBsYWNlaG9sZGVyIHdpbGwgYmUgcmVwbGFjZWQgd2l0aCB0aGUgcmVsZXZhbnQgZG9jcyB2ZXJzaW9uLlxuICAgKi9cbiAgY29udGV4dEhlbHA/OiBib29sZWFuIHwgc3RyaW5nO1xuICAvKipcbiAgICogQnkgZGVmYXVsdCwgY29ja3BpdCBhbmQgZGV2aWNlbWFuYWdlbWVudCB1c2UgdGhlIG9ubHlSb290cyBxdWVyeSB0byByZXNvbHZlIHJvb3Qgbm9kZXMuIFRoaXNcbiAgICogY291bGQgbGVhZCB0byBwZXJmb3JtYW5jZSBpc3N1ZXMsIGlmIGEgY3VzdG9tZXIgaGFzIGEgbG90IG9mIHJvb3Qgbm9kZXMuIFRoZXJlZm9yZSB5b3UgY2FuIGRpc2FibGVcbiAgICogdGhlIHVzZSBvZiB0aGlzIHF1ZXJ5IHdpdGggdGhpcyBmbGFnLlxuICAgKi9cbiAgZGlzYWJsZU9ubHlSb290c1F1ZXJ5PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEFsbG93cyB0byBmb3JjZSBzaG93aW5nIHRoZSBzZXR1cCB3aXphcmQuXG4gICAqL1xuICBmb3JjZVNldHVwPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgYXBwbGljYXRpb24gbmVlZHMgdG8gc2hvdyB0aGUgc2V0dXAgd2l6YXJkLlxuICAgKi9cbiAgaXNTZXR1cD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBCeSBkZWZhdWx0IGEgV2ViU0RLIGFwcCByZXF1aXJlcyB0aGUgdXNlciB0byBiZSBsb2dnZWQgaW4uXG4gICAqIEluIGNhc2UgeW91IHdvdWxkIGxpa2UgdG8gZGV2ZWxvcCBqdXN0IGEgc3RhdGljIGFwcGxpY2F0aW9uLCB0aGF0IGRvZXMgbm90IHJlcXVpcmUgYW55IGtpbmQgb2YgYWNjZXNzIHRvIHRoZSBiYWNrZW5kLFxuICAgKiB5b3UgY2FuIHVzZSB0aGlzIGZsYWcgdG8gZGlzYWJsZSB0aGUgbG9naW4gc2NyZWVuLlxuICAgKiBOT1RFOiBub3QgYWxsIFdlYlNESyBjb21wb25lbnRzIHN1cHBvcnQgdGhpcywgc29tZSBtaWdodCByZXF1aXJlIHRoZSB1c2VyIHRvIGJlIGxvZ2dlZCBpbiBhbmQgd29uJ3Qgd29yay5cbiAgICovXG4gIG5vTG9naW4/OiBib29sZWFuO1xuICAvKipcbiAgICogQWxsb3dzIHRvIG9wdCBvdXQgb2Ygc3VwcG9ydGluZy9sb2FkaW5nIHBsdWdpbnMgZm9yIHRoaXMgYXBwbGljYXRpb24uXG4gICAqL1xuICBub1BsdWdpbnM/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlbW90ZVBsdWdpbnMge1xuICAvKipcbiAgICogQSBrZXkgdmFsdWUgcGFpciwgd2hpbGUgdGhlIHZhbHVlIGlzIGFuIGFycmF5IG9mIG1vZHVsZXMgdG8gbG9hZCBhbmQgdGhlXG4gICAqIGtleSBpcyB0aGUgY29udGV4dCBwYXRoLlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGBqc1xuICAgKiB7XG4gICAqICAgICdjb2NrcGl0JzogWydIb21lRGFzaGJvYXJkTW9kdWxlJywgJ0RhdGFFeHBsb3JlckRhc2hib2FyZCddLFxuICAgKiAgICAnd2lkZ2V0LXBhY2thZ2VAMS4wLjAnOiBbJ0V4dGVuZGVkTWFwV2lkZ2V0J11cbiAgICogfVxuICAgKiBgYFxuICAgKi9cbiAgW2tleTogc3RyaW5nXTogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGx1Z2luc0V4cG9ydHMge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIEFuZ3VsYXIgbW9kdWxlIGNsYXNzLlxuICAgKi9cbiAgbmFtZTogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIGZpbGUgcGF0aCB0byB0aGUgbW9kdWxlIHR5cGVzY3JpcHQgZmlsZS5cbiAgICovXG4gIHBhdGg6IHN0cmluZztcbiAgLyoqXG4gICAqIEFuIHNob3J0IGRlc2NyaXB0aW9uIGFib3V0IHdoYXQgdGhlIG1vZHVsZSBkb2VzLlxuICAgKi9cbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBbGxvd3MgdG8gc2NvcGUgdGhlIHBsdWdpbiB0byBjZXJ0YWluIGFwcGxpY2F0aW9ucy4gRS5nLiBpZiB5b3VcbiAgICogYWRkIGhlcmUgJ2NvY2twaXQnLCB0aGUgcGx1Z2luIGNhbiBvbmx5IGJlIGluc3RhbGxlZCBpbnRvIGFuXG4gICAqIGFwcGxpY2F0aW9uIG9uIHRoZSBjb250ZXh0UGF0aCBgYXBwcy9jb2NrcGl0YC4gWW91IGNhbiB1c2UgY29tbWFcbiAgICogc2VwYXJhdGVkIHZhbHVlcywgYXN0ZXJpc2sgKGRlZmF1bHQpIHRvIGFsbG93IGFsbCBhcHBsaWNhdGlvbnMgb3JcbiAgICogYHNlbGZgIHRvIGxpbWl0IHRoZSBwbHVnaW4gdG8gdGhlIGN1cnJlbnQgc29sdXRpb24uXG4gICAqL1xuICBzY29wZT86ICcqJyB8ICdzZWxmJyB8IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb29raWVCYW5uZXJDb25maWd1cmF0aW9uIHtcbiAgLyoqIEhlcmUgeW91IGNhbiBzZXQgdGhlIHRpdGxlIG9mIENvb2tpZSBCYW5uZXIgKi9cbiAgY29va2llQmFubmVyVGl0bGU/OiBzdHJpbmc7XG4gIC8qKiBIZXJlIHlvdSBjYW4gc2V0IHRoZSBUZXh0IG9mIENvb2tpZSBCYW5uZXIgKi9cbiAgY29va2llQmFubmVyVGV4dD86IHN0cmluZztcbiAgLyoqIEhlcmUgeW91IGNhbiBzZXQgdGhlIHBvbGljeVVybCBvZiBDb29raWUgQmFubmVyICovXG4gIHBvbGljeVVybD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb29raWVQcmVmZXJlbmNlc0NvbmZpZ3VyYXRpb24ge1xuICAvKiogVGhpcyBjYXRlZ29yeSBpbmNsdWRlcyBlLmcuIGNvb2tpZXMgcmVsYXRlZCB0byBsb2dnaW5nIGluICAqL1xuICByZXF1aXJlZD86IGJvb2xlYW4gfCBzdHJpbmc7XG4gIC8qKiBUaGlzIGNhdGVnb3J5IGluY2x1ZGVzIGUuZy4gdHJhY2tpbmcgY29va2llcyAgKi9cbiAgZnVuY3Rpb25hbD86IGJvb2xlYW4gfCBzdHJpbmc7XG4gIC8qKiBUaGlzIGNhdGVnb3J5IGluY2x1ZGVzIGUuZy4gY29va2llcyByZWxhdGVkIHRvIGFkdmVydGlzaW5nICAqL1xuICBtYXJrZXRpbmc/OiBib29sZWFuIHwgc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExvZ2luRXh0cmFMaW5rIHtcbiAgdXJsOiBzdHJpbmc7XG4gIGxhYmVsOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWNvbiB7XG4gIGNsYXNzPzogc3RyaW5nO1xuICB1cmw/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRG9jcyB7XG4gIC8qKiBIaWRlIGRlZmF1bHQgbGlua3MgdG8gZG9jdW1lbnRhdGlvbi4gKi9cbiAgbm9EZWZhdWx0OiBib29sZWFuO1xuICAvKiogTGlzdCBvZiByZWdleCBzdHJpbmdzLiBNYXRjaGluZyBkZWZhdWx0IGRvY3MgVVJMcyB3aWxsIGJlIGhpZGRlbi4gKi9cbiAgZXhjbHVkZURlZmF1bHQ6IHN0cmluZ1tdO1xuICAvKiogQWRkaXRpb25hbCBsaW5rcyB0byBiZSBkaXNwbGF5ZWQuICovXG4gIGxpbmtzOiBMaW5rc1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpbmtzIHtcbiAgLyoqIEljb24gY2xhc3NlcyB3aXRoIGBjOHktaWNvbmAsIGUuZy4gYGM4eS1pY29uIGM4eS1pY29uLWFkZC11c2VyYCBvciBgYzh5LWljb24gYzh5LWljb24tZGV2aWNlLWNvbm5lY3RgLiAqL1xuICBpY29uOiBzdHJpbmc7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIHVybDogc3RyaW5nO1xuICB0eXBlOiAnZG9jJyB8ICdxdWlja2xpbmsnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEkxOG5FeHRyYSB7XG4gIFtsYW5nQ29kZTogc3RyaW5nXTogSTE4bkV4dHJhTGFuZ0NvZGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSTE4bkV4dHJhTGFuZ0NvZGUge1xuICBba2V5OiBzdHJpbmddOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGFuZ3VhZ2VzIHtcbiAgW2xhbmdDb2RlOiBzdHJpbmddOiBMYW5ndWFnZXNMYW5nQ29kZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMYW5ndWFnZXNMYW5nQ29kZSB7XG4gIG5hbWU6IHN0cmluZztcbiAgbmF0aXZlTmFtZTogc3RyaW5nO1xuICB1cmw6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCcmFuZGluZ0Nzc1ZhcnMge1xuICBba2V5OiBzdHJpbmddOiBzdHJpbmc7XG59XG4iXX0=
|
|
@@ -8,7 +8,7 @@ import { fromTriggerOnce, getInjectedHooks } from '../common/extension-hooks';
|
|
|
8
8
|
import { Subject } from 'rxjs';
|
|
9
9
|
import { Router } from '@angular/router';
|
|
10
10
|
import { shareReplay, first, filter, distinctUntilChanged } from 'rxjs/operators';
|
|
11
|
-
import { isUndefined } from 'lodash-es';
|
|
11
|
+
import { isUndefined, get } from 'lodash-es';
|
|
12
12
|
import * as i0 from "@angular/core";
|
|
13
13
|
import * as i1 from "../common/options.service";
|
|
14
14
|
import * as i2 from "../common/ui-state.service";
|
|
@@ -31,12 +31,28 @@ export class DocsService {
|
|
|
31
31
|
/**
|
|
32
32
|
* Default documentation URL.
|
|
33
33
|
*/
|
|
34
|
-
this.DEFAULT_DOCS_BASE_URL = 'https://www.cumulocity.com/guides';
|
|
34
|
+
this.DEFAULT_DOCS_BASE_URL = 'https://www.cumulocity.com/guides/{{ version }}';
|
|
35
35
|
const supportUrlRefreshTrigger = this.app.map(({ supportUrl }) => supportUrl);
|
|
36
36
|
this.items$ = fromTriggerOnce(router, [supportUrlRefreshTrigger, this.refreshTrigger], [getInjectedHooks(HOOK_DOCS, this.injectors), () => this.factories, this]).pipe(shareReplay(1), distinctUntilChanged());
|
|
37
37
|
}
|
|
38
|
-
getBaseUrl() {
|
|
39
|
-
|
|
38
|
+
getBaseUrl(uiVersion) {
|
|
39
|
+
const docsBaseUrl = this.options.get('docsBaseUrl', this.DEFAULT_DOCS_BASE_URL);
|
|
40
|
+
return this.getUrlWithDocsVersion(docsBaseUrl, uiVersion);
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Takes a URL and replaces all `{{ version }}` placeholders with the relevant docs version
|
|
44
|
+
* (the version is derived from the app state or from the provided parameter).
|
|
45
|
+
* @param url Any URL that contains `{{ version }}` placeholders.
|
|
46
|
+
* @param uiVersion A version string or object, defaults to the app state version.
|
|
47
|
+
* @returns The URL with replaced `{{ version }}` placeholders.
|
|
48
|
+
*/
|
|
49
|
+
getUrlWithDocsVersion(url, uiVersion = this.app.uiVersion) {
|
|
50
|
+
const version = typeof uiVersion === 'string' ? uiVersion : get(uiVersion, 'ngx');
|
|
51
|
+
let docsVersion = '';
|
|
52
|
+
if (!(isUndefined(version) || version === '')) {
|
|
53
|
+
docsVersion = this.getDocsVersionForUiVersion(version);
|
|
54
|
+
}
|
|
55
|
+
return url.replace(/{{\s*version\s*}}/g, docsVersion).replace(/\/+$/g, '');
|
|
40
56
|
}
|
|
41
57
|
get templateStr() {
|
|
42
58
|
return this.options.get('guideHrefTemplate', '${docsBaseUrl}${partialUrl}');
|
|
@@ -100,6 +116,22 @@ export class DocsService {
|
|
|
100
116
|
const prefix = shouldPrefix ? '/' : '';
|
|
101
117
|
return `${prefix}${partialLink}`;
|
|
102
118
|
}
|
|
119
|
+
/**
|
|
120
|
+
* Returns the most relevant version of documentation for the given version of UI.
|
|
121
|
+
* For maintenance versions, it's the first version in the line, e.g. 1017.0.123 -> 10.17.0.
|
|
122
|
+
* For develop versions, it's the next minor one, e.g. 1017.123.0-SNAPSHOT -> 10.18.0.
|
|
123
|
+
*
|
|
124
|
+
* @param uiVersion The version of UI.
|
|
125
|
+
* @private
|
|
126
|
+
*/
|
|
127
|
+
getDocsVersionForUiVersion(uiVersion) {
|
|
128
|
+
const [majorMinorStr, patchStr] = uiVersion.split('.');
|
|
129
|
+
const patchNumber = parseInt(patchStr, 10);
|
|
130
|
+
const takeNextMinor = patchNumber > 0;
|
|
131
|
+
const majorNumber = Math.floor(parseInt(majorMinorStr, 10) / 100);
|
|
132
|
+
const minorNumber = parseInt(majorMinorStr, 10) - majorNumber * 100 + (takeNextMinor ? 1 : 0);
|
|
133
|
+
return `${majorNumber}.${minorNumber}.0`;
|
|
134
|
+
}
|
|
103
135
|
}
|
|
104
136
|
DocsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: DocsService, deps: [{ token: i1.OptionsService }, { token: i2.AppStateService }, { token: i0.Injector }, { token: i3.Router }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
105
137
|
DocsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: DocsService, providedIn: 'root' });
|
|
@@ -109,4 +141,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
|
|
|
109
141
|
providedIn: 'root'
|
|
110
142
|
}]
|
|
111
143
|
}], ctorParameters: function () { return [{ type: i1.OptionsService }, { type: i2.AppStateService }, { type: i0.Injector }, { type: i3.Router }]; } });
|
|
112
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29yZS9kb2NzL2RvY3Muc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQVcsU0FBUyxFQUFvQixNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQW9DLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2hILE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxXQUFXLENBQUM7Ozs7O0FBS3hDLE1BQU0sT0FBTyxXQUFXO0lBa0J0QixZQUNVLE9BQXVCLEVBQ3ZCLEdBQW9CLEVBQ3BCLFlBQXNCLEVBQzlCLE1BQWM7UUFITixZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUN2QixRQUFHLEdBQUgsR0FBRyxDQUFpQjtRQUNwQixpQkFBWSxHQUFaLFlBQVksQ0FBVTtRQW5CaEM7O1dBRUc7UUFDSCxjQUFTLEdBQWdDLEVBQUUsQ0FBQztRQUM1Qzs7O1dBR0c7UUFDTSxtQkFBYyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFF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b3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT3B0aW9uc1NlcnZpY2UgfSBmcm9tICcuLi9jb21tb24vb3B0aW9ucy5zZXJ2aWNlJztcbmltcG9ydCB7IGRvY3VtZW50YXRpb25JdGVtcyB9IGZyb20gJy4vZGVmYXVsdHMuaXRlbXMnO1xuaW1wb3J0IHsgQXBwU3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vY29tbW9uL3VpLXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgZ2V0dGV4dCB9IGZyb20gJy4uL2kxOG4vZ2V0dGV4dCc7XG5pbXBvcnQgeyBEb2NMaW5rLCBIT09LX0RPQ1MsIERvY0xpbmtXaXRoTGFiZWwgfSBmcm9tICcuL2RvY3MubW9kZWxzJztcbmltcG9ydCB7IEV4dGVuc2lvbkZhY3RvcnksIEV4dGVuc2lvblBvaW50LCBmcm9tVHJpZ2dlck9uY2UsIGdldEluamVjdGVkSG9va3MgfSBmcm9tICcuLi9jb21tb24vZXh0ZW5zaW9uLWhvb2tzJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBzaGFyZVJlcGxheSwgZmlyc3QsIGZpbHRlciwgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBpc1VuZGVmaW5lZCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIERvY3NTZXJ2aWNlIGltcGxlbWVudHMgRXh0ZW5zaW9uUG9pbnQ8RG9jTGluaz4ge1xuICBpdGVtcyQ6IE9ic2VydmFibGU8RG9jTGlua1tdPjtcbiAgLyoqXG4gICAqIEFkZGl0aW9uYWwgZmFjdG9yaWVzIHRoYXQgY2FuIGJlIGFkZGVkIGJ5IHBsdWdpbnMuXG4gICAqL1xuICBmYWN0b3JpZXM6IEV4dGVuc2lvbkZhY3Rvcnk8RG9jTGluaz5bXSA9IFtdO1xuICAvKipcbiAgICogUmVmcmVzaCB0aGUgZXh0ZW5zaW9uIGZhY3RvcmllcyBzdWJqZWN0LlxuICAgKiBAcmVhZG9ubHlcbiAgICovXG4gIHJlYWRvbmx5IHJlZnJlc2hUcmlnZ2VyID0gbmV3IFN1YmplY3QoKTtcblxuICBpbmplY3RvcnMgPSBbdGhpcy5yb290SW5qZWN0b3JdO1xuXG4gIC8qKlxuICAgKiBEZWZhdWx0IGRvY3VtZW50YXRpb24gVVJMLlxuICAgKi9cbiAgcmVhZG9ubHkgREVGQVVMVF9ET0NTX0JBU0VfVVJMID0gJ2h0dHBzOi8vd3d3LmN1bXVsb2NpdHkuY29tL2d1aWRlcyc7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgb3B0aW9uczogT3B0aW9uc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBhcHA6IEFwcFN0YXRlU2VydmljZSxcbiAgICBwcml2YXRlIHJvb3RJbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcm91dGVyOiBSb3V0ZXJcbiAgKSB7XG4gICAgY29uc3Qgc3VwcG9ydFVybFJlZnJlc2hUcmlnZ2VyID0gdGhpcy5hcHAubWFwKCh7IHN1cHBvcnRVcmwgfSkgPT4gc3VwcG9ydFVybCk7XG5cbiAgICB0aGlzLml0ZW1zJCA9IGZyb21UcmlnZ2VyT25jZTxEb2NMaW5rPihcbiAgICAgIHJvdXRlcixcbiAgICAgIFtzdXBwb3J0VXJsUmVmcmVzaFRyaWdnZXIsIHRoaXMucmVmcmVzaFRyaWdnZXJdLFxuICAgICAgW2dldEluamVjdGVkSG9va3M8RG9jTGluaz4oSE9PS19ET0NTLCB0aGlzLmluamVjdG9ycyksICgpID0+IHRoaXMuZmFjdG9yaWVzLCB0aGlzXVxuICAgICkucGlwZShzaGFyZVJlcGxheSgxKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSk7XG4gIH1cblxuICBnZXRCYXNlVXJsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9ucy5nZXQoJ2RvY3NCYXNlVXJsJywgdGhpcy5ERUZBVUxUX0RPQ1NfQkFTRV9VUkwpO1xuICB9XG5cbiAgZ2V0IHRlbXBsYXRlU3RyKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9ucy5nZXQoJ2d1aWRlSHJlZlRlbXBsYXRlJywgJyR7ZG9jc0Jhc2VVcmx9JHtwYXJ0aWFsVXJsfScpO1xuICB9XG5cbiAgZ2V0VXNlckd1aWRlTGluayhsaW5rKSB7XG4gICAgaWYgKC9eaHR0cHM/Oi8udGVzdChsaW5rKSkge1xuICAgICAgcmV0dXJuIGxpbms7XG4gICAgfVxuICAgIGlmICh0aGlzLmdldEJhc2VVcmwgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5nZXRMaW5rKHRoaXMudGVtcGxhdGVTdHIsIGxpbmspO1xuICB9XG5cbiAgbGlzdCgpIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtcyRcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoaSA9PiAhIWkubGVuZ3RoKSxcbiAgICAgICAgZmlyc3QoKVxuICAgICAgKVxuICAgICAgLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgcmVmcmVzaCgpIHtcbiAgICB0aGlzLnJlZnJlc2hUcmlnZ2VyLm5leHQoMSk7XG4gIH1cblxuICBnZXQoKSB7XG4gICAgLy8gdXNlIHRoZSBmdW5jdGlvbiBhcyBhIGZhY3RvcnlcbiAgICBjb25zdCB7IGxpbmtzLCBub0RlZmF1bHQsIGV4Y2x1ZGVEZWZhdWx0ID0gW10gfSA9IHRoaXMub3B0aW9ucy5nZXQoJ2RvY3MnLCB7fSk7XG4gICAgY29uc3QgeyBzdXBwb3J0VXJsIH0gPSB0aGlzLmFwcC5zdGF0ZTtcbiAgICBsZXQgc3RhdGljTGlua3MgPSBub0RlZmF1bHRcbiAgICAgID8gW11cbiAgICAgIDogZG9jdW1lbnRhdGlvbkl0ZW1zXG4gICAgICAgICAgLm1hcCgoaXRlbTogRG9jTGlua1dpdGhMYWJlbCkgPT4gKHsgLi4uaXRlbSwgdXJsOiB0aGlzLmdldFVzZXJHdWlkZUxpbmsoaXRlbS51cmwpIH0pKVxuICAgICAgICAgIC5maWx0ZXIoKHsgdXJsIH0pID0+ICFleGNsdWRlRGVmYXVsdC5zb21lKGUgPT4gbmV3IFJlZ0V4cChlKS50ZXN0KHVybCkpKTtcblxuICAgIGlmIChsaW5rcykge1xuICAgICAgLy8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcbiAgICAgIGxpbmtzLm1hcCgobG5rOiBEb2NMaW5rKSA9PiB7XG4gICAgICAgIGlmIChpc1VuZGVmaW5lZChsbmsudHlwZSkpIHtcbiAgICAgICAgICBsbmsudHlwZSA9ICdkb2MnO1xuICAgICAgICAgIHJldHVybiBsbms7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgc3RhdGljTGlua3MgPSBzdGF0aWNMaW5rcy5jb25jYXQobGlua3MpO1xuICAgIH1cbiAgICBpZiAoc3VwcG9ydFVybCkge1xuICAgICAgc3RhdGljTGlua3MucHVzaCh7XG4gICAgICAgIGljb246ICdjb21tZW50cycsXG4gICAgICAgIGxhYmVsOiBnZXR0ZXh0KCdGb3J1bSBzdXBwb3J0JyksXG4gICAgICAgIHVybDogc3VwcG9ydFVybCxcbiAgICAgICAgdHlwZTogJ2RvYydcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gc3RhdGljTGlua3M7XG4gIH1cblxuICBwcml2YXRlIGdldExpbmsodGVtcGxhdGVTdHIsIHBhcnRpYWxMaW5rKSB7XG4gICAgaWYgKCF0ZW1wbGF0ZVN0cikge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgcmV0dXJuIHRlbXBsYXRlU3RyXG4gICAgICAucmVwbGFjZSgvXFwke2RvY3NCYXNlVXJsfS8sIHRoaXMuZ2V0QmFzZVVybCgpKVxuICAgICAgLnJlcGxhY2UoL1xcJHtwYXJ0aWFsVXJsfS8sIHRoaXMucHJlZml4V2l0aFNsYXNoKHBhcnRpYWxMaW5rKSk7XG4gIH1cblxuICBwcml2YXRlIHByZWZpeFdpdGhTbGFzaChwYXJ0aWFsTGluayA9ICcnKSB7XG4gICAgY29uc3Qgc2hvdWxkUHJlZml4ID0gIShwYXJ0aWFsTGluayAmJiAvXlxcLy8udGVzdChwYXJ0aWFsTGluaykpO1xuICAgIGNvbnN0IHByZWZpeCA9IHNob3VsZFByZWZpeCA/ICcvJyA6ICcnO1xuICAgIHJldHVybiBgJHtwcmVmaXh9JHtwYXJ0aWFsTGlua31gO1xuICB9XG59XG4iXX0=
|
|
144
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29yZS9kb2NzL2RvY3Muc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQVcsU0FBUyxFQUFvQixNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQW9DLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2hILE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xGLE9BQU8sRUFBRSxXQUFXLEVBQUUsR0FBRyxFQUFFLE1BQU0sV0FBVyxDQUFDOzs7OztBQUs3QyxNQUFNLE9BQU8sV0FBVztJQWtCdEIsWUFDVSxPQUF1QixFQUN2QixHQUFvQixFQUNwQixZQUFzQixFQUM5QixNQUFjO1FBSE4sWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFDdkIsUUFBRyxHQUFILEdBQUcsQ0FBaUI7UUFDcEIsaUJBQVksR0FBWixZQUFZLENBQVU7UUFuQmhDOztXQUVHO1FBQ0gsY0FBUyxHQUFnQyxFQUFFLENBQUM7UUFDNUM7OztXQUdHO1FBQ00sbUJBQWMsR0FBRyxJQUFJLE9BQU8sRUFB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V0FBVyxJQUFJLFdBQVcsSUFBSSxDQUFDO0lBQzNDLENBQUM7O3dHQWpKVSxXQUFXOzRHQUFYLFdBQVcsY0FGVixNQUFNOzJGQUVQLFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9wdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi4vY29tbW9uL29wdGlvbnMuc2VydmljZSc7XG5pbXBvcnQgeyBkb2N1bWVudGF0aW9uSXRlbXMgfSBmcm9tICcuL2RlZmF1bHRzLml0ZW1zJztcbmltcG9ydCB7IEFwcFN0YXRlU2VydmljZSB9IGZyb20gJy4uL2NvbW1vbi91aS1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IGdldHRleHQgfSBmcm9tICcuLi9pMThuL2dldHRleHQnO1xuaW1wb3J0IHsgRG9jTGluaywgSE9PS19ET0NTLCBEb2NMaW5rV2l0aExhYmVsIH0gZnJvbSAnLi9kb2NzLm1vZGVscyc7XG5pbXBvcnQgeyBFeHRlbnNpb25GYWN0b3J5LCBFeHRlbnNpb25Qb2ludCwgZnJvbVRyaWdnZXJPbmNlLCBnZXRJbmplY3RlZEhvb2tzIH0gZnJvbSAnLi4vY29tbW9uL2V4dGVuc2lvbi1ob29rcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgc2hhcmVSZXBsYXksIGZpcnN0LCBmaWx0ZXIsIGRpc3RpbmN0VW50aWxDaGFuZ2VkIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgaXNVbmRlZmluZWQsIGdldCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIERvY3NTZXJ2aWNlIGltcGxlbWVudHMgRXh0ZW5zaW9uUG9pbnQ8RG9jTGluaz4ge1xuICBpdGVtcyQ6IE9ic2VydmFibGU8RG9jTGlua1tdPjtcbiAgLyoqXG4gICAqIEFkZGl0aW9uYWwgZmFjdG9yaWVzIHRoYXQgY2FuIGJlIGFkZGVkIGJ5IHBsdWdpbnMuXG4gICAqL1xuICBmYWN0b3JpZXM6IEV4dGVuc2lvbkZhY3Rvcnk8RG9jTGluaz5bXSA9IFtdO1xuICAvKipcbiAgICogUmVmcmVzaCB0aGUgZXh0ZW5zaW9uIGZhY3RvcmllcyBzdWJqZWN0LlxuICAgKiBAcmVhZG9ubHlcbiAgICovXG4gIHJlYWRvbmx5IHJlZnJlc2hUcmlnZ2VyID0gbmV3IFN1YmplY3QoKTtcblxuICBpbmplY3RvcnMgPSBbdGhpcy5yb290SW5qZWN0b3JdO1xuXG4gIC8qKlxuICAgKiBEZWZhdWx0IGRvY3VtZW50YXRpb24gVVJMLlxuICAgKi9cbiAgcmVhZG9ubHkgREVGQVVMVF9ET0NTX0JBU0VfVVJMID0gJ2h0dHBzOi8vd3d3LmN1bXVsb2NpdHkuY29tL2d1aWRlcy97eyB2ZXJzaW9uIH19JztcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBvcHRpb25zOiBPcHRpb25zU2VydmljZSxcbiAgICBwcml2YXRlIGFwcDogQXBwU3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcm9vdEluamVjdG9yOiBJbmplY3RvcixcbiAgICByb3V0ZXI6IFJvdXRlclxuICApIHtcbiAgICBjb25zdCBzdXBwb3J0VXJsUmVmcmVzaFRyaWdnZXIgPSB0aGlzLmFwcC5tYXAoKHsgc3VwcG9ydFVybCB9KSA9PiBzdXBwb3J0VXJsKTtcblxuICAgIHRoaXMuaXRlbXMkID0gZnJvbVRyaWdnZXJPbmNlPERvY0xpbms+KFxuICAgICAgcm91dGVyLFxuICAgICAgW3N1cHBvcnRVcmxSZWZyZXNoVHJpZ2dlciwgdGhpcy5yZWZyZXNoVHJpZ2dlcl0sXG4gICAgICBbZ2V0SW5qZWN0ZWRIb29rczxEb2NMaW5rPihIT09LX0RPQ1MsIHRoaXMuaW5qZWN0b3JzKSwgKCkgPT4gdGhpcy5mYWN0b3JpZXMsIHRoaXNdXG4gICAgKS5waXBlKHNoYXJlUmVwbGF5KDEpLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKTtcbiAgfVxuXG4gIGdldEJhc2VVcmwodWlWZXJzaW9uPzogc3RyaW5nIHwgeyBuZ3g6IHN0cmluZyB9KTogc3RyaW5nIHtcbiAgICBjb25zdCBkb2NzQmFzZVVybCA9IHRoaXMub3B0aW9ucy5nZXQoJ2RvY3NCYXNlVXJsJywgdGhpcy5ERUZBVUxUX0RPQ1NfQkFTRV9VUkwpO1xuICAgIHJldHVybiB0aGlzLmdldFVybFdpdGhEb2NzVmVyc2lvbihkb2NzQmFzZVVybCwgdWlWZXJzaW9uKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUYWtlcyBhIFVSTCBhbmQgcmVwbGFjZXMgYWxsIGB7eyB2ZXJzaW9uIH19YCBwbGFjZWhvbGRlcnMgd2l0aCB0aGUgcmVsZXZhbnQgZG9jcyB2ZXJzaW9uXG4gICAqICh0aGUgdmVyc2lvbiBpcyBkZXJpdmVkIGZyb20gdGhlIGFwcCBzdGF0ZSBvciBmcm9tIHRoZSBwcm92aWRlZCBwYXJhbWV0ZXIpLlxuICAgKiBAcGFyYW0gdXJsIEFueSBVUkwgdGhhdCBjb250YWlucyBge3sgdmVyc2lvbiB9fWAgcGxhY2Vob2xkZXJzLlxuICAgKiBAcGFyYW0gdWlWZXJzaW9uIEEgdmVyc2lvbiBzdHJpbmcgb3Igb2JqZWN0LCBkZWZhdWx0cyB0byB0aGUgYXBwIHN0YXRlIHZlcnNpb24uXG4gICAqIEByZXR1cm5zIFRoZSBVUkwgd2l0aCByZXBsYWNlZCBge3sgdmVyc2lvbiB9fWAgcGxhY2Vob2xkZXJzLlxuICAgKi9cbiAgZ2V0VXJsV2l0aERvY3NWZXJzaW9uKFxuICAgIHVybDogc3RyaW5nLFxuICAgIHVpVmVyc2lvbjogc3RyaW5nIHwgeyBuZ3g6IHN0cmluZyB9ID0gdGhpcy5hcHAudWlWZXJzaW9uXG4gICk6IHN0cmluZyB7XG4gICAgY29uc3QgdmVyc2lvbjogc3RyaW5nID0gdHlwZW9mIHVpVmVyc2lvbiA9PT0gJ3N0cmluZycgPyB1aVZlcnNpb24gOiBnZXQodWlWZXJzaW9uLCAnbmd4Jyk7XG4gICAgbGV0IGRvY3NWZXJzaW9uID0gJyc7XG4gICAgaWYgKCEoaXNVbmRlZmluZWQodmVyc2lvbikgfHwgdmVyc2lvbiA9PT0gJycpKSB7XG4gICAgICBkb2NzVmVyc2lvbiA9IHRoaXMuZ2V0RG9jc1ZlcnNpb25Gb3JVaVZlcnNpb24odmVyc2lvbik7XG4gICAgfVxuICAgIHJldHVybiB1cmwucmVwbGFjZSgve3tcXHMqdmVyc2lvblxccyp9fS9nLCBkb2NzVmVyc2lvbikucmVwbGFjZSgvXFwvKyQvZywgJycpO1xuICB9XG5cbiAgZ2V0IHRlbXBsYXRlU3RyKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9ucy5nZXQoJ2d1aWRlSHJlZlRlbXBsYXRlJywgJyR7ZG9jc0Jhc2VVcmx9JHtwYXJ0aWFsVXJsfScpO1xuICB9XG5cbiAgZ2V0VXNlckd1aWRlTGluayhsaW5rKSB7XG4gICAgaWYgKC9eaHR0cHM/Oi8udGVzdChsaW5rKSkge1xuICAgICAgcmV0dXJuIGxpbms7XG4gICAgfVxuICAgIGlmICh0aGlzLmdldEJhc2VVcmwgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5nZXRMaW5rKHRoaXMudGVtcGxhdGVTdHIsIGxpbmspO1xuICB9XG5cbiAgbGlzdCgpIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtcyRcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoaSA9PiAhIWkubGVuZ3RoKSxcbiAgICAgICAgZmlyc3QoKVxuICAgICAgKVxuICAgICAgLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgcmVmcmVzaCgpIHtcbiAgICB0aGlzLnJlZnJlc2hUcmlnZ2VyLm5leHQoMSk7XG4gIH1cblxuICBnZXQoKSB7XG4gICAgLy8gdXNlIHRoZSBmdW5jdGlvbiBhcyBhIGZhY3RvcnlcbiAgICBjb25zdCB7IGxpbmtzLCBub0RlZmF1bHQsIGV4Y2x1ZGVEZWZhdWx0ID0gW10gfSA9IHRoaXMub3B0aW9ucy5nZXQoJ2RvY3MnLCB7fSk7XG4gICAgY29uc3QgeyBzdXBwb3J0VXJsIH0gPSB0aGlzLmFwcC5zdGF0ZTtcbiAgICBsZXQgc3RhdGljTGlua3MgPSBub0RlZmF1bHRcbiAgICAgID8gW11cbiAgICAgIDogZG9jdW1lbnRhdGlvbkl0ZW1zXG4gICAgICAgICAgLm1hcCgoaXRlbTogRG9jTGlua1dpdGhMYWJlbCkgPT4gKHsgLi4uaXRlbSwgdXJsOiB0aGlzLmdldFVzZXJHdWlkZUxpbmsoaXRlbS51cmwpIH0pKVxuICAgICAgICAgIC5maWx0ZXIoKHsgdXJsIH0pID0+ICFleGNsdWRlRGVmYXVsdC5zb21lKGUgPT4gbmV3IFJlZ0V4cChlKS50ZXN0KHVybCkpKTtcblxuICAgIGlmIChsaW5rcykge1xuICAgICAgLy8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcbiAgICAgIGxpbmtzLm1hcCgobG5rOiBEb2NMaW5rKSA9PiB7XG4gICAgICAgIGlmIChpc1VuZGVmaW5lZChsbmsudHlwZSkpIHtcbiAgICAgICAgICBsbmsudHlwZSA9ICdkb2MnO1xuICAgICAgICAgIHJldHVybiBsbms7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgc3RhdGljTGlua3MgPSBzdGF0aWNMaW5rcy5jb25jYXQobGlua3MpO1xuICAgIH1cbiAgICBpZiAoc3VwcG9ydFVybCkge1xuICAgICAgc3RhdGljTGlua3MucHVzaCh7XG4gICAgICAgIGljb246ICdjb21tZW50cycsXG4gICAgICAgIGxhYmVsOiBnZXR0ZXh0KCdGb3J1bSBzdXBwb3J0JyksXG4gICAgICAgIHVybDogc3VwcG9ydFVybCxcbiAgICAgICAgdHlwZTogJ2RvYydcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gc3RhdGljTGlua3M7XG4gIH1cblxuICBwcml2YXRlIGdldExpbmsodGVtcGxhdGVTdHIsIHBhcnRpYWxMaW5rKSB7XG4gICAgaWYgKCF0ZW1wbGF0ZVN0cikge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgcmV0dXJuIHRlbXBsYXRlU3RyXG4gICAgICAucmVwbGFjZSgvXFwke2RvY3NCYXNlVXJsfS8sIHRoaXMuZ2V0QmFzZVVybCgpKVxuICAgICAgLnJlcGxhY2UoL1xcJHtwYXJ0aWFsVXJsfS8sIHRoaXMucHJlZml4V2l0aFNsYXNoKHBhcnRpYWxMaW5rKSk7XG4gIH1cblxuICBwcml2YXRlIHByZWZpeFdpdGhTbGFzaChwYXJ0aWFsTGluayA9ICcnKSB7XG4gICAgY29uc3Qgc2hvdWxkUHJlZml4ID0gIShwYXJ0aWFsTGluayAmJiAvXlxcLy8udGVzdChwYXJ0aWFsTGluaykpO1xuICAgIGNvbnN0IHByZWZpeCA9IHNob3VsZFByZWZpeCA/ICcvJyA6ICcnO1xuICAgIHJldHVybiBgJHtwcmVmaXh9JHtwYXJ0aWFsTGlua31gO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIG1vc3QgcmVsZXZhbnQgdmVyc2lvbiBvZiBkb2N1bWVudGF0aW9uIGZvciB0aGUgZ2l2ZW4gdmVyc2lvbiBvZiBVSS5cbiAgICogRm9yIG1haW50ZW5hbmNlIHZlcnNpb25zLCBpdCdzIHRoZSBmaXJzdCB2ZXJzaW9uIGluIHRoZSBsaW5lLCBlLmcuIDEwMTcuMC4xMjMgLT4gMTAuMTcuMC5cbiAgICogRm9yIGRldmVsb3AgdmVyc2lvbnMsIGl0J3MgdGhlIG5leHQgbWlub3Igb25lLCBlLmcuIDEwMTcuMTIzLjAtU05BUFNIT1QgLT4gMTAuMTguMC5cbiAgICpcbiAgICogQHBhcmFtIHVpVmVyc2lvbiBUaGUgdmVyc2lvbiBvZiBVSS5cbiAgICogQHByaXZhdGVcbiAgICovXG4gIHByaXZhdGUgZ2V0RG9jc1ZlcnNpb25Gb3JVaVZlcnNpb24odWlWZXJzaW9uOiBzdHJpbmcpIHtcbiAgICBjb25zdCBbbWFqb3JNaW5vclN0ciwgcGF0Y2hTdHJdID0gdWlWZXJzaW9uLnNwbGl0KCcuJyk7XG4gICAgY29uc3QgcGF0Y2hOdW1iZXIgPSBwYXJzZUludChwYXRjaFN0ciwgMTApO1xuICAgIGNvbnN0IHRha2VOZXh0TWlub3IgPSBwYXRjaE51bWJlciA+IDA7XG4gICAgY29uc3QgbWFqb3JOdW1iZXIgPSBNYXRoLmZsb29yKHBhcnNlSW50KG1ham9yTWlub3JTdHIsIDEwKSAvIDEwMCk7XG4gICAgY29uc3QgbWlub3JOdW1iZXIgPSBwYXJzZUludChtYWpvck1pbm9yU3RyLCAxMCkgLSBtYWpvck51bWJlciAqIDEwMCArICh0YWtlTmV4dE1pbm9yID8gMSA6IDApO1xuICAgIHJldHVybiBgJHttYWpvck51bWJlcn0uJHttaW5vck51bWJlcn0uMGA7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,21 +1,18 @@
|
|
|
1
1
|
import { Component, Input } from '@angular/core';
|
|
2
|
-
import { get, isUndefined } from 'lodash-es';
|
|
3
|
-
import { AppStateService } from '../common/ui-state.service';
|
|
4
2
|
import { DocsService } from '../docs/docs.service';
|
|
5
3
|
import { HelpService } from './help.service';
|
|
6
4
|
import * as i0 from "@angular/core";
|
|
7
5
|
import * as i1 from "../docs/docs.service";
|
|
8
|
-
import * as i2 from "
|
|
9
|
-
import * as i3 from "
|
|
10
|
-
import * as i4 from "../
|
|
11
|
-
import * as i5 from "
|
|
12
|
-
import * as i6 from "
|
|
13
|
-
import * as i7 from "
|
|
14
|
-
import * as i8 from "ngx-bootstrap/
|
|
15
|
-
import * as i9 from "
|
|
16
|
-
import * as i10 from "../
|
|
17
|
-
import * as i11 from "../
|
|
18
|
-
import * as i12 from "../i18n/c8y-translate.pipe";
|
|
6
|
+
import * as i2 from "./help.service";
|
|
7
|
+
import * as i3 from "../common/icon.directive";
|
|
8
|
+
import * as i4 from "../i18n/c8y-translate.directive";
|
|
9
|
+
import * as i5 from "@angular/common";
|
|
10
|
+
import * as i6 from "../common/loading.component";
|
|
11
|
+
import * as i7 from "ngx-bootstrap/collapse";
|
|
12
|
+
import * as i8 from "ngx-bootstrap/tooltip";
|
|
13
|
+
import * as i9 from "../action-bar/action-bar-item.component";
|
|
14
|
+
import * as i10 from "../product-experience/product-experience.directive";
|
|
15
|
+
import * as i11 from "../i18n/c8y-translate.pipe";
|
|
19
16
|
/**
|
|
20
17
|
* A component which shows a context help in
|
|
21
18
|
* the action bar.
|
|
@@ -29,9 +26,8 @@ export class HelpComponent {
|
|
|
29
26
|
/**
|
|
30
27
|
* @ignore Only private DI
|
|
31
28
|
*/
|
|
32
|
-
constructor(docsService,
|
|
29
|
+
constructor(docsService, helpService) {
|
|
33
30
|
this.docsService = docsService;
|
|
34
|
-
this.appState = appState;
|
|
35
31
|
this.helpService = helpService;
|
|
36
32
|
/**
|
|
37
33
|
* The source of the documentation. Used to link to the documentation as well as
|
|
@@ -47,13 +43,7 @@ export class HelpComponent {
|
|
|
47
43
|
*/
|
|
48
44
|
this.priority = Infinity;
|
|
49
45
|
/**
|
|
50
|
-
*
|
|
51
|
-
* the docs. If the UI version is equal to the latest doc version, the value
|
|
52
|
-
* must be ''.
|
|
53
|
-
*/
|
|
54
|
-
this.version = this.parseVersion(this.appState.uiVersion);
|
|
55
|
-
/**
|
|
56
|
-
* An title. Set in open by passing the source.
|
|
46
|
+
* A title. Set in open by passing the source.
|
|
57
47
|
*/
|
|
58
48
|
this.title = '';
|
|
59
49
|
/**
|
|
@@ -99,23 +89,19 @@ export class HelpComponent {
|
|
|
99
89
|
try {
|
|
100
90
|
docsUrl =
|
|
101
91
|
typeof this.helpService.contextHelp.value === 'string'
|
|
102
|
-
? new URL(this.helpService.contextHelp.value)
|
|
92
|
+
? new URL(this.docsService.getUrlWithDocsVersion(this.helpService.contextHelp.value))
|
|
103
93
|
: new URL(this.docsService.getBaseUrl());
|
|
104
94
|
}
|
|
105
95
|
catch (error) {
|
|
106
|
-
docsUrl = new URL(this.docsService.
|
|
96
|
+
docsUrl = new URL(this.docsService.getBaseUrl());
|
|
107
97
|
console.warn(error);
|
|
108
98
|
}
|
|
109
|
-
const srcUrl = new URL(`${docsUrl}${src}`);
|
|
110
99
|
const [url, hashFragment] = src.split('#');
|
|
111
100
|
this.sectionHeading = hashFragment;
|
|
112
101
|
if (index) {
|
|
113
102
|
src = `${url}index.json`;
|
|
114
103
|
}
|
|
115
|
-
|
|
116
|
-
return index ? `${docsUrl.href + src}` : srcUrl.href;
|
|
117
|
-
}
|
|
118
|
-
return `${docsUrl.href}/${this.version}${src}`;
|
|
104
|
+
return `${docsUrl.href}${src}`;
|
|
119
105
|
}
|
|
120
106
|
/**
|
|
121
107
|
* Toggles the visibility of the help dialog.
|
|
@@ -159,19 +145,6 @@ export class HelpComponent {
|
|
|
159
145
|
this.hasError = false;
|
|
160
146
|
this.sectionContent = '';
|
|
161
147
|
}
|
|
162
|
-
parseVersion(uiVersion) {
|
|
163
|
-
const version = typeof uiVersion === 'string' ? uiVersion : get(uiVersion, 'ngx');
|
|
164
|
-
if (isUndefined(version)) {
|
|
165
|
-
return undefined;
|
|
166
|
-
}
|
|
167
|
-
if (version === '') {
|
|
168
|
-
return '';
|
|
169
|
-
}
|
|
170
|
-
const versionToParse = version.split('.').shift();
|
|
171
|
-
const majorNumber = Math.floor(parseInt(versionToParse, 10) / 100);
|
|
172
|
-
const minorNumber = parseInt(versionToParse, 10) - majorNumber * 100;
|
|
173
|
-
return `${majorNumber}.${minorNumber}.0`;
|
|
174
|
-
}
|
|
175
148
|
resolveIcon() {
|
|
176
149
|
try {
|
|
177
150
|
const icon = Array.from(document.querySelector('nav .active i').classList).find(classes => classes.startsWith('c8y-icon-') || classes.startsWith('dlt-c8y-icon-'));
|
|
@@ -184,10 +157,6 @@ export class HelpComponent {
|
|
|
184
157
|
render(req) {
|
|
185
158
|
if (req.readyState === 4) {
|
|
186
159
|
this.isLoading = false;
|
|
187
|
-
if (req.status === 404 && this.version !== '') {
|
|
188
|
-
this.version = '';
|
|
189
|
-
this.open();
|
|
190
|
-
}
|
|
191
160
|
if (req.status === 200) {
|
|
192
161
|
this.hasError = false;
|
|
193
162
|
const sectionData = req.response[this.sectionHeading];
|
|
@@ -202,12 +171,12 @@ export class HelpComponent {
|
|
|
202
171
|
}
|
|
203
172
|
}
|
|
204
173
|
}
|
|
205
|
-
HelpComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: HelpComponent, deps: [{ token: i1.DocsService }, { token: i2.
|
|
206
|
-
HelpComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: HelpComponent, selector: "c8y-help", inputs: { src: "src", isCollapsed: "isCollapsed", priority: "priority", icon: "icon" }, ngImport: i0, template: "<c8y-action-bar-item\n [placement]=\"'right'\"\n itemClass=\"pull-right m-l-8\"\n [priority]=\"priority\"\n *ngIf=\"!!(helpService.contextHelp | async)\"\n>\n <button\n class=\"btn-help\"\n type=\"button\"\n [attr.aria-label]=\"'About this page' | translate\"\n [attr.aria-expanded]=\"!isCollapsed\"\n aria-controls=\"collapseHelp\"\n tooltip=\"{{ 'About this page' | translate }}\"\n [delay]=\"750\"\n placement=\"left\"\n container=\"body\"\n (click)=\"toggle()\"\n c8yProductExperience\n [actionName]=\"isCollapsed ? 'helpOpened' : 'helpClosed'\"\n [actionData]=\"{ src: src }\"\n >\n </button>\n</c8y-action-bar-item>\n\n<div\n id=\"collapseHelp\"\n class=\"c8y-help-drawer\"\n [collapse]=\"isCollapsed\"\n [isAnimated]=\"true\"\n (collapsed)=\"onCollapsed()\"\n>\n <div\n [ngClass]=\"{ 'c8y-help-drawer-block': isInit }\"\n #docOutlet\n >\n <div *ngIf=\"isLoading\">\n <c8y-loading></c8y-loading>\n </div>\n\n <div *ngIf=\"!isLoading\">\n <div class=\"d-flex\">\n <i\n [c8yIcon]=\"!hasError ? icon : 'unlink'\"\n [ngClass]=\"{ 'text-warning': hasError, 'text-muted': !hasError }\"\n class=\"c8y-icon-duocolor icon-48\"\n ></i>\n <div\n class=\"p-l-16 flex-grow\"\n *ngIf=\"!hasError\"\n >\n <div\n class=\"alert alert-info m-b-16\"\n *ngIf=\"\n !helpService.isSupportedLanguage() &&\n !showLangWarning &&\n !helpService.isWarningAlertViewed\n \"\n >\n <button\n class=\"close\"\n type=\"button\"\n (click)=\"\n showLangWarning = !showLangWarning;\n helpService.isWarningAlertViewed = !helpService.isWarningAlertViewed\n \"\n [attr.aria-label]=\"'Close' | translate\"\n >\n <span aria-hidden=\"true\">\u00D7</span>\n <span class=\"sr-only\">Close</span>\n </button>\n <p>\n {{ 'Help content is only available in English.' | translate }}\n </p>\n </div>\n <h4 class=\"text-bold text-primary p-t-16 m-b-16\">\n {{ title }}\n </h4>\n <div\n id=\"helpContent\"\n class=\"help-content\"\n [innerHTML]=\"sectionContent\"\n ></div>\n </div>\n\n <div\n class=\"p-l-16 p-t-16 flex-grow\"\n *ngIf=\"hasError\"\n >\n <h4\n class=\"text-bold m-b-16\"\n translate\n >Sorry, that didn't work</h4>\n <div class=\"help-content\">\n <p translate>The content couldn't be loaded.</p>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div\n class=\"c8y-help-drawer-footer animated fadeIn\"\n style=\"animation-delay: 0.35s\"\n *ngIf=\"!isLoading && !hasError\"\n >\n <button\n class=\"btn btn-default\"\n (click)=\"toggle()\"\n [title]=\"'Close help' | translate\"\n type=\"button\"\n [attr.aria-expanded]=\"!isCollapsed\"\n aria-controls=\"collapseHelp\"\n translate\n >\n Close\n </button>\n <a\n href=\"{{ hasError ? getUrl() : getUrl(src) }}\"\n class=\"btn btn-primary\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <span\n translate\n *ngIf=\"!hasError\"\n >\n Open the\n <span>User guide`KEEP_ORIGINAL`</span>\n </span>\n <span\n translate\n *ngIf=\"hasError\"\n >\n Check the\n <span>User guide`KEEP_ORIGINAL`</span>\n </span>\n </a>\n </div>\n</div>", dependencies: [{ kind: "directive", type:
|
|
174
|
+
HelpComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: HelpComponent, deps: [{ token: i1.DocsService }, { token: i2.HelpService }], target: i0.ɵɵFactoryTarget.Component });
|
|
175
|
+
HelpComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: HelpComponent, selector: "c8y-help", inputs: { src: "src", isCollapsed: "isCollapsed", priority: "priority", icon: "icon" }, ngImport: i0, template: "<c8y-action-bar-item\n [placement]=\"'right'\"\n itemClass=\"pull-right m-l-8\"\n [priority]=\"priority\"\n *ngIf=\"!!(helpService.contextHelp | async)\"\n>\n <button\n class=\"btn-help\"\n type=\"button\"\n [attr.aria-label]=\"'About this page' | translate\"\n [attr.aria-expanded]=\"!isCollapsed\"\n aria-controls=\"collapseHelp\"\n tooltip=\"{{ 'About this page' | translate }}\"\n [delay]=\"750\"\n placement=\"left\"\n container=\"body\"\n (click)=\"toggle()\"\n c8yProductExperience\n [actionName]=\"isCollapsed ? 'helpOpened' : 'helpClosed'\"\n [actionData]=\"{ src: src }\"\n >\n </button>\n</c8y-action-bar-item>\n\n<div\n id=\"collapseHelp\"\n class=\"c8y-help-drawer\"\n [collapse]=\"isCollapsed\"\n [isAnimated]=\"true\"\n (collapsed)=\"onCollapsed()\"\n>\n <div\n [ngClass]=\"{ 'c8y-help-drawer-block': isInit }\"\n #docOutlet\n >\n <div *ngIf=\"isLoading\">\n <c8y-loading></c8y-loading>\n </div>\n\n <div *ngIf=\"!isLoading\">\n <div class=\"d-flex\">\n <i\n [c8yIcon]=\"!hasError ? icon : 'unlink'\"\n [ngClass]=\"{ 'text-warning': hasError, 'text-muted': !hasError }\"\n class=\"c8y-icon-duocolor icon-48\"\n ></i>\n <div\n class=\"p-l-16 flex-grow\"\n *ngIf=\"!hasError\"\n >\n <div\n class=\"alert alert-info m-b-16\"\n *ngIf=\"\n !helpService.isSupportedLanguage() &&\n !showLangWarning &&\n !helpService.isWarningAlertViewed\n \"\n >\n <button\n class=\"close\"\n type=\"button\"\n (click)=\"\n showLangWarning = !showLangWarning;\n helpService.isWarningAlertViewed = !helpService.isWarningAlertViewed\n \"\n [attr.aria-label]=\"'Close' | translate\"\n >\n <span aria-hidden=\"true\">\u00D7</span>\n <span class=\"sr-only\">Close</span>\n </button>\n <p>\n {{ 'Help content is only available in English.' | translate }}\n </p>\n </div>\n <h4 class=\"text-bold text-primary p-t-16 m-b-16\">\n {{ title }}\n </h4>\n <div\n id=\"helpContent\"\n class=\"help-content\"\n [innerHTML]=\"sectionContent\"\n ></div>\n </div>\n\n <div\n class=\"p-l-16 p-t-16 flex-grow\"\n *ngIf=\"hasError\"\n >\n <h4\n class=\"text-bold m-b-16\"\n translate\n >Sorry, that didn't work</h4>\n <div class=\"help-content\">\n <p translate>The content couldn't be loaded.</p>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div\n class=\"c8y-help-drawer-footer animated fadeIn\"\n style=\"animation-delay: 0.35s\"\n *ngIf=\"!isLoading && !hasError\"\n >\n <button\n class=\"btn btn-default\"\n (click)=\"toggle()\"\n [title]=\"'Close help' | translate\"\n type=\"button\"\n [attr.aria-expanded]=\"!isCollapsed\"\n aria-controls=\"collapseHelp\"\n translate\n >\n Close\n </button>\n <a\n href=\"{{ hasError ? getUrl() : getUrl(src) }}\"\n class=\"btn btn-primary\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <span\n translate\n *ngIf=\"!hasError\"\n >\n Open the\n <span>User guide`KEEP_ORIGINAL`</span>\n </span>\n <span\n translate\n *ngIf=\"hasError\"\n >\n Check the\n <span>User guide`KEEP_ORIGINAL`</span>\n </span>\n </a>\n </div>\n</div>", dependencies: [{ kind: "directive", type: i3.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: i4.C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.LoadingComponent, selector: "c8y-loading" }, { kind: "directive", type: i7.CollapseDirective, selector: "[collapse]", inputs: ["display", "isAnimated", "collapse"], outputs: ["collapsed", "collapses", "expanded", "expands"], exportAs: ["bs-collapse"] }, { kind: "directive", type: i8.TooltipDirective, selector: "[tooltip], [tooltipHtml]", inputs: ["adaptivePosition", "tooltip", "placement", "triggers", "container", "containerClass", "boundariesElement", "isOpen", "isDisabled", "delay", "tooltipHtml", "tooltipPlacement", "tooltipIsOpen", "tooltipEnable", "tooltipAppendToBody", "tooltipAnimation", "tooltipClass", "tooltipContext", "tooltipPopupDelay", "tooltipFadeDuration", "tooltipTrigger"], outputs: ["tooltipChange", "onShown", "onHidden", "tooltipStateChanged"], exportAs: ["bs-tooltip"] }, { kind: "component", type: i9.ActionBarItemComponent, selector: "c8y-action-bar-item", inputs: ["placement", "priority", "itemClass", "injector", "groupId"] }, { kind: "directive", type: i10.ProductExperienceDirective, selector: "[c8yProductExperience]", inputs: ["actionName", "actionData", "inherit"] }, { kind: "pipe", type: i11.C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }] });
|
|
207
176
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: HelpComponent, decorators: [{
|
|
208
177
|
type: Component,
|
|
209
178
|
args: [{ selector: 'c8y-help', template: "<c8y-action-bar-item\n [placement]=\"'right'\"\n itemClass=\"pull-right m-l-8\"\n [priority]=\"priority\"\n *ngIf=\"!!(helpService.contextHelp | async)\"\n>\n <button\n class=\"btn-help\"\n type=\"button\"\n [attr.aria-label]=\"'About this page' | translate\"\n [attr.aria-expanded]=\"!isCollapsed\"\n aria-controls=\"collapseHelp\"\n tooltip=\"{{ 'About this page' | translate }}\"\n [delay]=\"750\"\n placement=\"left\"\n container=\"body\"\n (click)=\"toggle()\"\n c8yProductExperience\n [actionName]=\"isCollapsed ? 'helpOpened' : 'helpClosed'\"\n [actionData]=\"{ src: src }\"\n >\n </button>\n</c8y-action-bar-item>\n\n<div\n id=\"collapseHelp\"\n class=\"c8y-help-drawer\"\n [collapse]=\"isCollapsed\"\n [isAnimated]=\"true\"\n (collapsed)=\"onCollapsed()\"\n>\n <div\n [ngClass]=\"{ 'c8y-help-drawer-block': isInit }\"\n #docOutlet\n >\n <div *ngIf=\"isLoading\">\n <c8y-loading></c8y-loading>\n </div>\n\n <div *ngIf=\"!isLoading\">\n <div class=\"d-flex\">\n <i\n [c8yIcon]=\"!hasError ? icon : 'unlink'\"\n [ngClass]=\"{ 'text-warning': hasError, 'text-muted': !hasError }\"\n class=\"c8y-icon-duocolor icon-48\"\n ></i>\n <div\n class=\"p-l-16 flex-grow\"\n *ngIf=\"!hasError\"\n >\n <div\n class=\"alert alert-info m-b-16\"\n *ngIf=\"\n !helpService.isSupportedLanguage() &&\n !showLangWarning &&\n !helpService.isWarningAlertViewed\n \"\n >\n <button\n class=\"close\"\n type=\"button\"\n (click)=\"\n showLangWarning = !showLangWarning;\n helpService.isWarningAlertViewed = !helpService.isWarningAlertViewed\n \"\n [attr.aria-label]=\"'Close' | translate\"\n >\n <span aria-hidden=\"true\">\u00D7</span>\n <span class=\"sr-only\">Close</span>\n </button>\n <p>\n {{ 'Help content is only available in English.' | translate }}\n </p>\n </div>\n <h4 class=\"text-bold text-primary p-t-16 m-b-16\">\n {{ title }}\n </h4>\n <div\n id=\"helpContent\"\n class=\"help-content\"\n [innerHTML]=\"sectionContent\"\n ></div>\n </div>\n\n <div\n class=\"p-l-16 p-t-16 flex-grow\"\n *ngIf=\"hasError\"\n >\n <h4\n class=\"text-bold m-b-16\"\n translate\n >Sorry, that didn't work</h4>\n <div class=\"help-content\">\n <p translate>The content couldn't be loaded.</p>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div\n class=\"c8y-help-drawer-footer animated fadeIn\"\n style=\"animation-delay: 0.35s\"\n *ngIf=\"!isLoading && !hasError\"\n >\n <button\n class=\"btn btn-default\"\n (click)=\"toggle()\"\n [title]=\"'Close help' | translate\"\n type=\"button\"\n [attr.aria-expanded]=\"!isCollapsed\"\n aria-controls=\"collapseHelp\"\n translate\n >\n Close\n </button>\n <a\n href=\"{{ hasError ? getUrl() : getUrl(src) }}\"\n class=\"btn btn-primary\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <span\n translate\n *ngIf=\"!hasError\"\n >\n Open the\n <span>User guide`KEEP_ORIGINAL`</span>\n </span>\n <span\n translate\n *ngIf=\"hasError\"\n >\n Check the\n <span>User guide`KEEP_ORIGINAL`</span>\n </span>\n </a>\n </div>\n</div>" }]
|
|
210
|
-
}], ctorParameters: function () { return [{ type: i1.DocsService }, { type: i2.
|
|
179
|
+
}], ctorParameters: function () { return [{ type: i1.DocsService }, { type: i2.HelpService }]; }, propDecorators: { src: [{
|
|
211
180
|
type: Input
|
|
212
181
|
}], isCollapsed: [{
|
|
213
182
|
type: Input
|
|
@@ -216,4 +185,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
|
|
|
216
185
|
}], icon: [{
|
|
217
186
|
type: Input
|
|
218
187
|
}] } });
|
|
219
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb3JlL2hlbHAvaGVscC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9jb3JlL2hlbHAvaGVscC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7QUFDN0M7Ozs7Ozs7O0dBUUc7QUFLSCxNQUFNLE9BQU8sYUFBYTtJQW9FeEI7O09BRUc7SUFDSCxZQUNVLFdBQXdCLEVBQ3hCLFFBQXlCLEVBQzFCLFdBQXdCO1FBRnZCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGFBQVEsR0FBUixRQUFRLENBQWlCO1FBQzFCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBekVqQzs7O1dBR0c7UUFFSCxRQUFHLEdBQVcsRUFBRSxDQUFDO1FBRWpCOztXQUVHO1FBRUgsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFFbkI7O1dBRUc7UUFFSCxhQUFRLEdBQUcsUUFBUSxDQUFDO1FBUXBCOzs7O1dBSUc7UUFDSCxZQUFPLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXJEOztXQUVHO1FBQ0gsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUVYOztXQUVHO1FBQ0gsbUJBQWMsR0FBRyxFQUFFLENBQUM7UUFFcEI7O1dBRUc7UUFDSCxtQkFBYyxHQUFHLEVBQUUsQ0FB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YUFDRjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQzthQUN0QjtTQUNGO0lBQ0gsQ0FBQzs7MEdBbk5VLGFBQWE7OEZBQWIsYUFBYSx3SUNsQjFCLDRySEF5SU07MkZEdkhPLGFBQWE7a0JBSnpCLFNBQVM7K0JBQ0UsVUFBVTswSkFTcEIsR0FBRztzQkFERixLQUFLO2dCQU9OLFdBQVc7c0JBRFYsS0FBSztnQkFPTixRQUFRO3NCQURQLEtBQUs7Z0JBT04sSUFBSTtzQkFESCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZ2V0LCBpc1VuZGVmaW5lZCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBBcHBTdGF0ZVNlcnZpY2UgfSBmcm9tICcuLi9jb21tb24vdWktc3RhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBEb2NzU2VydmljZSB9IGZyb20gJy4uL2RvY3MvZG9jcy5zZXJ2aWNlJztcbmltcG9ydCB7IEhlbHBTZXJ2aWNlIH0gZnJvbSAnLi9oZWxwLnNlcnZpY2UnO1xuLyoqXG4gKiBBIGNvbXBvbmVudCB3aGljaCBzaG93cyBhIGNvbnRleHQgaGVscCBpblxuICogdGhlIGFjdGlvbiBiYXIuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYGh0bWxcbiAqIDxjOHktaGVscCBzcmM9XCIvdXNlcnMtZ3VpZGUvY29ja3BpdC8jZGFzaGJvYXJkc1wiPjwvYzh5LWhlbHA+XG4gKiBgYGBcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYzh5LWhlbHAnLFxuICB0ZW1wbGF0ZVVybDogJy4vaGVscC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgSGVscENvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBUaGUgc291cmNlIG9mIHRoZSBkb2N1bWVudGF0aW9uLiBVc2VkIHRvIGxpbmsgdG8gdGhlIGRvY3VtZW50YXRpb24gYXMgd2VsbCBhc1xuICAgKiB0byBwYXJzZSB0aGUgc291cmNlIHRvIGRpc3BsYXkuXG4gICAqL1xuICBASW5wdXQoKVxuICBzcmM6IHN0cmluZyA9ICcnO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGhlbHAgZGlhbG9nIGlzIGNvbGxhcHNlZC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIGlzQ29sbGFwc2VkID0gdHJ1ZTtcblxuICAvKipcbiAgICogVGhlIHByaW9yaXR5IHdoZXJlIHRoZSBoZWxwIGljb24gc2hvdWxkIGJlIHNob3duIGluIHRoZSBhY3Rpb24gYmFyXG4gICAqL1xuICBASW5wdXQoKVxuICBwcmlvcml0eSA9IEluZmluaXR5O1xuXG4gIC8qKlxuICAgKiBBbiBjdXN0b20gaWNvbi4gSWYgbm90IHNldCwgdGhlIG5hdmlnYXRvciBpY29uIGlzIHJlc29sdmVkXG4gICAqL1xuICBASW5wdXQoKVxuICBpY29uO1xuXG4gIC8qKlxuICAgKiBDdXJycmVudCB2ZXJzaW9uIG9mIHRoZSBVSSB3aGljaCB3aWxsIGJlIHVzZWQgdG8gZ2V0IHRoZSBjb3JyZWN0IGRhdGEgZnJvbVxuICAgKiB0aGUgZG9jcy4gSWYgdGhlIFVJIHZlcnNpb24gaXMgZXF1YWwgdG8gdGhlIGxhdGVzdCBkb2MgdmVyc2lvbiwgdGhlIHZhbHVlXG4gICAqIG11c3QgYmUgJycuXG4gICAqL1xuICB2ZXJzaW9uID0gdGhpcy5wYXJzZVZlcnNpb24odGhpcy5hcHBTdGF0ZS51aVZlcnNpb24pO1xuXG4gIC8qKlxuICAgKiBBbiB0aXRsZS4gU2V0IGluIG9wZW4gYnkgcGFzc2luZyB0aGUgc291cmNlLlxuICAgKi9cbiAgdGl0bGUgPSAnJztcblxuICAvKipcbiAgICogVGhlIHNlY3Rpb24gaGVhZGluZyBpbiB0aGUgZG9jIHdoaWNoIGlzIGdvaW5nIHRvIGJlIGRpc3BsYXllZC5cbiAgICovXG4gIHNlY3Rpb25IZWFkaW5nID0gJyc7XG5cbiAgLyoqXG4gICAqIFRoZSBzZWN0aW9uIGNvbnRlbnQgaW4gdGhlIGRvYyB3aGljaCBpcyBnb2luZyB0byBiZSBkaXNwbGF5ZWQuXG4gICAqL1xuICBzZWN0aW9uQ29udGVudCA9ICcnO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGNvbXBvbmVudCBpcyBsb2FkaW5nLlxuICAgKi9cbiAgaXNMb2FkaW5nID0gdHJ1ZTtcblxuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoZSBjb21wb25lbnQgZmFpbGVkIGxvYWRpbmcgdGhlIHNvdXJjZS5cbiAgICovXG4gIGhhc0Vycm9yID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiBhIHdhcm5pbmcgc2hvdWxkIGJlIHNob3duLlxuICAgKi9cbiAgc2hvd0xhbmdXYXJuaW5nOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIGlzSW5pdCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBAaWdub3JlIE9ubHkgcHJpdmF0ZSBESVxuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBkb2NzU2VydmljZTogRG9jc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBhcHBTdGF0ZTogQXBwU3RhdGVTZXJ2aWNlLFxuICAgIHB1YmxpYyBoZWxwU2VydmljZTogSGVscFNlcnZpY2VcbiAgKSB7fVxuXG4gIC8qKlxuICAgKiBUaGUgY29tcG9uZW50IGlzIHNob3duIGJ5IGRlZmF1bHQgYW5kIHRoZXJlZm9yZSBicmVha3MgZTJlIHRlc3QuIFRoaXMgaXNcbiAgICogdG8gcHJldmVudCB0aGUgdmlzaWJpbGl0eSBvbiBmaXJzdCBuYXZpZ2F0aW9uLlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBvbkNvbGxhcHNlZCgpIHtcbiAgICB0aGlzLmlzSW5pdCA9IHRydWU7XG4gIH1cblxuICAvKipcbiAgICogQnVpbGRzIHRoZSBVUkwgYmFzZWQgb24gdGhlIHNyYy4gVGhlIEJhc2UgVVJMIGNhbiBiZSBzZXQgaW4gdGhlIGFwcGxpY2F0aW9uIG9wdGlvbnMgZG9jQmFzZVVybC5cbiAgICogQHBhcmFtIHNyYyBUaGUgc291cmNlIG9mIHRoZSBoZWxwIG9uIHRoZSBndWlkZS5cbiAgICogQHBhcmFtIGluZGV4IFRoaXMgZmxhZyBpcyB1c2VkIHRvIGNhbGwgdGhlIGluZGV4Lmpzb24gY29udGVudCBvZiBhIGd1aWRlLiBGb3IgZXhhbXBsZSwgXCJodHRwczovL3d3dy5jdW11bG9jaXR5LmNvbS9ndWlkZXMvdXNlcnMtZ3VpZGUvY29ja3BpdC9pbmRleC5qc29uXCIuXG4gICAqL1xuICBnZXRVcmwoc3JjID0gJycsIGluZGV4ID0gZmFsc2UpIHtcbiAgICBsZXQgZG9jc1VybDtcblxuICAgIHRyeSB7XG4gICAgICBkb2NzVXJsID1cbiAgICAgICAgdHlwZW9mIHRoaXMuaGVscFNlcnZpY2UuY29udGV4dEhlbHAudmFsdWUgPT09ICdzdHJpbmcnXG4gICAgICAgICAgPyBuZXcgVVJMKHRoaXMuaGVscFNlcnZpY2UuY29udGV4dEhlbHAudmFsdWUpXG4gICAgICAgICAgOiBuZXcgVVJMKHRoaXMuZG9jc1NlcnZpY2UuZ2V0QmFzZVVybCgpKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgZG9jc1VybCA9IG5ldyBVUkwodGhpcy5kb2NzU2VydmljZS5ERUZBVUxUX0RPQ1NfQkFTRV9VUkwpO1xuICAgICAgY29uc29sZS53YXJuKGVycm9yKTtcbiAgICB9XG5cbiAgICBjb25zdCBzcmNVcmwgPSBuZXcgVVJMKGAke2RvY3NVcmx9JHtzcmN9YCk7XG5cbiAgICBjb25zdCBbdXJsLCBoYXNoRnJhZ21lbnRdID0gc3JjLnNwbGl0KCcjJyk7XG4gICAgdGhpcy5zZWN0aW9uSGVhZGluZyA9IGhhc2hGcmFnbWVudDtcblxuICAgIGlmIChpbmRleCkge1xuICAgICAgc3JjID0gYCR7dXJsfWluZGV4Lmpzb25gO1xuICAgIH1cbiAgICBpZiAodGhpcy52ZXJzaW9uID09PSAnJykge1xuICAgICAgcmV0dXJuIGluZGV4ID8gYCR7ZG9jc1VybC5ocmVmICsgc3JjfWAgOiBzcmNVcmwuaHJlZjtcbiAgICB9XG4gICAgcmV0dXJuIGAke2RvY3NVcmwuaHJlZn0vJHt0aGlzLnZlcnNpb259JHtzcmN9YDtcbiAgfVxuXG4gIC8qKlxuICAgKiBUb2dnbGVzIHRoZSB2aXNpYmlsaXR5IG9mIHRoZSBoZWxwIGRpYWxvZy5cbiAgICovXG4gIHRvZ2dsZSgpIHtcbiAgICBpZiAodGhpcy5pc0NvbGxhcHNlZCkge1xuICAgICAgdGhpcy5vcGVuKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuY2xvc2UoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbG9zZXMgdGhlIGhlbHAgZGlhbG9nLlxuICAgKi9cbiAgY2xvc2UoKSB7XG4gICAgdGhpcy5pc0NvbGxhcHNlZCA9IHRydWU7XG4gICAgdGhpcy5jbGVhbigpO1xuICB9XG5cbiAgLyoqXG4gICAqIE9wZW5zIHRoZSBoZWxwIGRpYWxvZy5cbiAgICovXG4gIG9wZW4oKSB7XG4gICAgdGhpcy5pc0NvbGxhcHNlZCA9IGZhbHNlO1xuICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLnJlcXVlc3RDb250ZW50KCk7XG4gICAgaWYgKCF0aGlzLmljb24pIHtcbiAgICAgIHRoaXMuaWNvbiA9IHRoaXMucmVzb2x2ZUljb24oKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlcXVlc3RDb250ZW50KCkge1xuICAgIGNvbnN0IHJlcSA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpO1xuICAgIHJlcS5vbnJlYWR5c3RhdGVjaGFuZ2UgPSAoKSA9PiB0aGlzLnJlbmRlcihyZXEpO1xuICAgIHJlcS5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgKCkgPT4gdGhpcy5yZW5kZXIocmVxKSk7XG4gICAgcmVxLm9wZW4oJ0dFVCcsIHRoaXMuZ2V0VXJsKHRoaXMuc3JjLCB0cnVlKSk7XG4gICAgcmVxLnJlc3BvbnNlVHlwZSA9ICdqc29uJztcbiAgICByZXEuc2V0UmVxdWVzdEhlYWRlcignQWNjZXB0JywgJ3RleHQvaHRtbCcpO1xuICAgIHJlcS5zZW5kKCk7XG4gIH1cblxuICBwcml2YXRlIGNsZWFuKCkge1xuICAgIHRoaXMudGl0bGUgPSAnJztcbiAgICB0aGlzLmhhc0Vycm9yID0gZmFsc2U7XG4gICAgdGhpcy5zZWN0aW9uQ29udGVudCA9ICcnO1xuICB9XG5cbiAgcHJpdmF0ZSBwYXJzZVZlcnNpb24odWlWZXJzaW9uOiBzdHJpbmcgfCB7IG5neDogc3RyaW5nIH0pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IHZlcnNpb246IHN0cmluZyA9IHR5cGVvZiB1aVZlcnNpb24gPT09ICdzdHJpbmcnID8gdWlWZXJzaW9uIDogZ2V0KHVpVmVyc2lvbiwgJ25neCcpO1xuXG4gICAgaWYgKGlzVW5kZWZpbmVkKHZlcnNpb24pKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGlmICh2ZXJzaW9uID09PSAnJykge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIGNvbnN0IHZlcnNpb25Ub1BhcnNlID0gdmVyc2lvbi5zcGxpdCgnLicpLnNoaWZ0KCk7XG4gICAgY29uc3QgbWFqb3JOdW1iZXIgPSBNYXRoLmZsb29yKHBhcnNlSW50KHZlcnNpb25Ub1BhcnNlLCAxMCkgLyAxMDApO1xuICAgIGNvbnN0IG1pbm9yTnVtYmVyID0gcGFyc2VJbnQodmVyc2lvblRvUGFyc2UsIDEwKSAtIG1ham9yTnVtYmVyICogMTAwO1xuICAgIHJldHVybiBgJHttYWpvck51bWJlcn0uJHttaW5vck51bWJlcn0uMGA7XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVJY29uKCkge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBpY29uID0gQXJyYXkuZnJvbShkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCduYXYgLmFjdGl2ZSBpJykuY2xhc3NMaXN0KS5maW5kKFxuICAgICAgICBjbGFzc2VzID0+IGNsYXNzZXMuc3RhcnRzV2l0aCgnYzh5LWljb24tJykgfHwgY2xhc3Nlcy5zdGFydHNXaXRoKCdkbHQtYzh5LWljb24tJylcbiAgICAgICk7XG4gICAgICByZXR1cm4gaWNvbi5yZXBsYWNlKCdkbHQtYzh5LWljb24tJywgJycpLnJlcGxhY2UoJ2M4eS1pY29uLScsICdjOHktJyk7XG4gICAgfSBjYXRjaCAoZXgpIHtcbiAgICAgIHJldHVybiAnbGlmZS1zYXZlcic7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZW5kZXIocmVxOiBYTUxIdHRwUmVxdWVzdCkge1xuICAgIGlmIChyZXEucmVhZHlTdGF0ZSA9PT0gNCkge1xuICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgIGlmIChyZXEuc3RhdHVzID09PSA0MDQgJiYgdGhpcy52ZXJzaW9uICE9PSAnJykge1xuICAgICAgICB0aGlzLnZlcnNpb24gPSAnJztcbiAgICAgICAgdGhpcy5vcGVuKCk7XG4gICAgICB9XG4gICAgICBpZiAocmVxLnN0YXR1cyA9PT0gMjAwKSB7XG4gICAgICAgIHRoaXMuaGFzRXJyb3IgPSBmYWxzZTtcbiAgICAgICAgY29uc3Qgc2VjdGlvbkRhdGEgPSByZXEucmVzcG9uc2VbdGhpcy5zZWN0aW9uSGVhZGluZ107XG4gICAgICAgIGlmIChzZWN0aW9uRGF0YSkge1xuICAgICAgICAgIHRoaXMudGl0bGUgPSBzZWN0aW9uRGF0YS50aXRsZTtcbiAgICAgICAgICB0aGlzLnNlY3Rpb25Db250ZW50ID0gc2VjdGlvbkRhdGEuaGVscGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuaGFzRXJyb3IgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiPGM4eS1hY3Rpb24tYmFyLWl0ZW1cbiAgW3BsYWNlbWVudF09XCIncmlnaHQnXCJcbiAgaXRlbUNsYXNzPVwicHVsbC1yaWdodCBtLWwtOFwiXG4gIFtwcmlvcml0eV09XCJwcmlvcml0eVwiXG4gICpuZ0lmPVwiISEoaGVscFNlcnZpY2UuY29udGV4dEhlbHAgfCBhc3luYylcIlxuPlxuICA8YnV0dG9uXG4gICAgY2xhc3M9XCJidG4taGVscFwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCInQWJvdXQgdGhpcyBwYWdlJyB8IHRyYW5zbGF0ZVwiXG4gICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCIhaXNDb2xsYXBzZWRcIlxuICAgIGFyaWEtY29udHJvbHM9XCJjb2xsYXBzZUhlbHBcIlxuICAgIHRvb2x0aXA9XCJ7eyAnQWJvdXQgdGhpcyBwYWdlJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgW2RlbGF5XT1cIjc1MFwiXG4gICAgcGxhY2VtZW50PVwibGVmdFwiXG4gICAgY29udGFpbmVyPVwiYm9keVwiXG4gICAgKGNsaWNrKT1cInRvZ2dsZSgpXCJcbiAgICBjOHlQcm9kdWN0RXhwZXJpZW5jZVxuICAgIFthY3Rpb25OYW1lXT1cImlzQ29sbGFwc2VkID8gJ2hlbHBPcGVuZWQnIDogJ2hlbHBDbG9zZWQnXCJcbiAgICBbYWN0aW9uRGF0YV09XCJ7IHNyYzogc3JjIH1cIlxuICA+XG4gIDwvYnV0dG9uPlxuPC9jOHktYWN0aW9uLWJhci1pdGVtPlxuXG48ZGl2XG4gIGlkPVwiY29sbGFwc2VIZWxwXCJcbiAgY2xhc3M9XCJjOHktaGVscC1kcmF3ZXJcIlxuICBbY29sbGFwc2VdPVwiaXNDb2xsYXBzZWRcIlxuICBbaXNBbmltYXRlZF09XCJ0cnVlXCJcbiAgKGNvbGxhcHNlZCk9XCJvbkNvbGxhcHNlZCgpXCJcbj5cbiAgPGRpdlxuICAgIFtuZ0NsYXNzXT1cInsgJ2M4eS1oZWxwLWRyYXdlci1ibG9jayc6IGlzSW5pdCB9XCJcbiAgICAjZG9jT3V0bGV0XG4gID5cbiAgICA8ZGl2ICpuZ0lmPVwiaXNMb2FkaW5nXCI+XG4gICAgICA8Yzh5LWxvYWRpbmc+PC9jOHktbG9hZGluZz5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgKm5nSWY9XCIhaXNMb2FkaW5nXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XG4gICAgICAgIDxpXG4gICAgICAgICAgW2M4eUljb25dPVwiIWhhc0Vycm9yID8gaWNvbiA6ICd1bmxpbmsnXCJcbiAgICAgICAgICBbbmdDbGFzc109XCJ7ICd0ZXh0LXdhcm5pbmcnOiBoYXNFcnJvciwgJ3RleHQtbXV0ZWQnOiAhaGFzRXJyb3IgfVwiXG4gICAgICAgICAgY2xhc3M9XCJjOHktaWNvbi1kdW9jb2xvciBpY29uLTQ4XCJcbiAgICAgICAgPjwvaT5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwicC1sLTE2IGZsZXgtZ3Jvd1wiXG4gICAgICAgICAgKm5nSWY9XCIhaGFzRXJyb3JcIlxuICAgICAgICA+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJhbGVydCBhbGVydC1pbmZvIG0tYi0xNlwiXG4gICAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgICAhaGVscFNlcnZpY2UuaXNTdXBwb3J0ZWRMYW5ndWFnZSgpICYmXG4gICAgICAgICAgICAgICFzaG93TGFuZ1dhcm5pbmcgJiZcbiAgICAgICAgICAgICAgIWhlbHBTZXJ2aWNlLmlzV2FybmluZ0FsZXJ0Vmlld2VkXG4gICAgICAgICAgICBcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgY2xhc3M9XCJjbG9zZVwiXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiXG4gICAgICAgICAgICAgICAgc2hvd0xhbmdXYXJuaW5nID0gIXNob3dMYW5nV2FybmluZztcbiAgICAgICAgICAgICAgICBoZWxwU2VydmljZS5pc1dhcm5pbmdBbGVydFZpZXdlZCA9ICFoZWxwU2VydmljZS5pc1dhcm5pbmdBbGVydFZpZXdlZFxuICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidDbG9zZScgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8c3BhbiBhcmlhLWhpZGRlbj1cInRydWVcIj7Dlzwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzci1vbmx5XCI+Q2xvc2U8L3NwYW4+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICB7eyAnSGVscCBjb250ZW50IGlzIG9ubHkgYXZhaWxhYmxlIGluIEVuZ2xpc2guJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxoNCBjbGFzcz1cInRleHQtYm9sZCB0ZXh0LXByaW1hcnkgcC10LTE2IG0tYi0xNlwiPlxuICAgICAgICAgICAge3sgdGl0bGUgfX1cbiAgICAgICAgICA8L2g0PlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGlkPVwiaGVscENvbnRlbnRcIlxuICAgICAgICAgICAgY2xhc3M9XCJoZWxwLWNvbnRlbnRcIlxuICAgICAgICAgICAgW2lubmVySFRNTF09XCJzZWN0aW9uQ29udGVudFwiXG4gICAgICAgICAgPjwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJwLWwtMTYgcC10LTE2IGZsZXgtZ3Jvd1wiXG4gICAgICAgICAgKm5nSWY9XCJoYXNFcnJvclwiXG4gICAgICAgID5cbiAgICAgICAgICA8aDRcbiAgICAgICAgICAgIGNsYXNzPVwidGV4dC1ib2xkIG0tYi0xNlwiXG4gICAgICAgICAgICB0cmFuc2xhdGVcbiAgICAgICAgICA+U29ycnksIHRoYXQgZGlkbid0IHdvcms8L2g0PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWxwLWNvbnRlbnRcIj5cbiAgICAgICAgICAgIDxwIHRyYW5zbGF0ZT5UaGUgY29udGVudCBjb3VsZG4ndCBiZSBsb2FkZWQuPC9wPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdlxuICAgIGNsYXNzPVwiYzh5LWhlbHAtZHJhd2VyLWZvb3RlciBhbmltYXRlZCBmYWRlSW5cIlxuICAgIHN0eWxlPVwiYW5pbWF0aW9uLWRlbGF5OiAwLjM1c1wiXG4gICAgKm5nSWY9XCIhaXNMb2FkaW5nICYmICFoYXNFcnJvclwiXG4gID5cbiAgICA8YnV0dG9uXG4gICAgICBjbGFzcz1cImJ0biBidG4tZGVmYXVsdFwiXG4gICAgICAoY2xpY2spPVwidG9nZ2xlKClcIlxuICAgICAgW3RpdGxlXT1cIidDbG9zZSBoZWxwJyB8IHRyYW5zbGF0ZVwiXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiIWlzQ29sbGFwc2VkXCJcbiAgICAgIGFyaWEtY29udHJvbHM9XCJjb2xsYXBzZUhlbHBcIlxuICAgICAgdHJhbnNsYXRlXG4gICAgPlxuICAgICAgQ2xvc2VcbiAgICA8L2J1dHRvbj5cbiAgICA8YVxuICAgICAgaHJlZj1cInt7IGhhc0Vycm9yID8gZ2V0VXJsKCkgOiBnZXRVcmwoc3JjKSB9fVwiXG4gICAgICBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiXG4gICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiXG4gICAgPlxuICAgICAgPHNwYW5cbiAgICAgICAgdHJhbnNsYXRlXG4gICAgICAgICpuZ0lmPVwiIWhhc0Vycm9yXCJcbiAgICAgID5cbiAgICAgICAgT3BlbiB0aGVcbiAgICAgICAgPHNwYW4+VXNlciBndWlkZWBLRUVQX09SSUdJTkFMYDwvc3Bhbj5cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxzcGFuXG4gICAgICAgIHRyYW5zbGF0ZVxuICAgICAgICAqbmdJZj1cImhhc0Vycm9yXCJcbiAgICAgID5cbiAgICAgICAgQ2hlY2sgdGhlXG4gICAgICAgIDxzcGFuPlVzZXIgZ3VpZGVgS0VFUF9PUklHSU5BTGA8L3NwYW4+XG4gICAgICA8L3NwYW4+XG4gICAgPC9hPlxuICA8L2Rpdj5cbjwvZGl2PiJdfQ==
|
|
188
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb3JlL2hlbHAvaGVscC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9jb3JlL2hlbHAvaGVscC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7O0FBRTdDOzs7Ozs7OztHQVFHO0FBS0gsTUFBTSxPQUFPLGFBQWE7SUE2RHhCOztPQUVHO0lBQ0gsWUFBb0IsV0FBd0IsRUFBUyxXQUF3QjtRQUF6RCxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUFTLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBL0Q3RTs7O1dBR0c7UUFFSCxRQUFHLEdBQVcsRUFBRSxDQUFDO1FBRWpCOztXQUVHO1FBRUgsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFFbkI7O1dBRUc7UUFFSCxhQUFRLEdBQUcsUUFBUSxDQUFDO1FBUXBCOztXQUVHO1FBQ0gsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUVYOztXQUVHO1FBQ0gsbUJBQWMsR0FBRyxFQUFFLENBQUM7UUFFcEI7O1dBRUc7UUFDSCxtQkFBYyxHQUFHLEVBQUUsQ0FBQztRQUVwQjs7V0FFRztRQUNILGNBQVMsR0FBRyxJQUFJLENBQUM7UUFFakI7O1dBRUc7UUFDSCxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRWpCOztXQUVHO1FBQ0gsb0JBQWUsR0FBWSxLQUFLLENBQUM7UUFFakM7O1dBRUc7UUFDSCxXQUFNLEdBQUcsS0FBSyxDQUFDO0lBS2lFLENBQUM7SUFFakY7Ozs7T0FJRztJQUNILFdBQVc7UUFDVCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FB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O3NCQURQLEtBQUs7Z0JBT04sSUFBSTtzQkFESCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9jc1NlcnZpY2UgfSBmcm9tICcuLi9kb2NzL2RvY3Muc2VydmljZSc7XG5pbXBvcnQgeyBIZWxwU2VydmljZSB9IGZyb20gJy4vaGVscC5zZXJ2aWNlJztcblxuLyoqXG4gKiBBIGNvbXBvbmVudCB3aGljaCBzaG93cyBhIGNvbnRleHQgaGVscCBpblxuICogdGhlIGFjdGlvbiBiYXIuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYGh0bWxcbiAqIDxjOHktaGVscCBzcmM9XCIvdXNlcnMtZ3VpZGUvY29ja3BpdC8jZGFzaGJvYXJkc1wiPjwvYzh5LWhlbHA+XG4gKiBgYGBcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYzh5LWhlbHAnLFxuICB0ZW1wbGF0ZVVybDogJy4vaGVscC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgSGVscENvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBUaGUgc291cmNlIG9mIHRoZSBkb2N1bWVudGF0aW9uLiBVc2VkIHRvIGxpbmsgdG8gdGhlIGRvY3VtZW50YXRpb24gYXMgd2VsbCBhc1xuICAgKiB0byBwYXJzZSB0aGUgc291cmNlIHRvIGRpc3BsYXkuXG4gICAqL1xuICBASW5wdXQoKVxuICBzcmM6IHN0cmluZyA9ICcnO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGhlbHAgZGlhbG9nIGlzIGNvbGxhcHNlZC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIGlzQ29sbGFwc2VkID0gdHJ1ZTtcblxuICAvKipcbiAgICogVGhlIHByaW9yaXR5IHdoZXJlIHRoZSBoZWxwIGljb24gc2hvdWxkIGJlIHNob3duIGluIHRoZSBhY3Rpb24gYmFyXG4gICAqL1xuICBASW5wdXQoKVxuICBwcmlvcml0eSA9IEluZmluaXR5O1xuXG4gIC8qKlxuICAgKiBBIGN1c3RvbSBpY29uLiBJZiBub3Qgc2V0LCB0aGUgbmF2aWdhdG9yIGljb24gaXMgcmVzb2x2ZWRcbiAgICovXG4gIEBJbnB1dCgpXG4gIGljb247XG5cbiAgLyoqXG4gICAqIEEgdGl0bGUuIFNldCBpbiBvcGVuIGJ5IHBhc3NpbmcgdGhlIHNvdXJjZS5cbiAgICovXG4gIHRpdGxlID0gJyc7XG5cbiAgLyoqXG4gICAqIFRoZSBzZWN0aW9uIGhlYWRpbmcgaW4gdGhlIGRvYyB3aGljaCBpcyBnb2luZyB0byBiZSBkaXNwbGF5ZWQuXG4gICAqL1xuICBzZWN0aW9uSGVhZGluZyA9ICcnO1xuXG4gIC8qKlxuICAgKiBUaGUgc2VjdGlvbiBjb250ZW50IGluIHRoZSBkb2Mgd2hpY2ggaXMgZ29pbmcgdG8gYmUgZGlzcGxheWVkLlxuICAgKi9cbiAgc2VjdGlvbkNvbnRlbnQgPSAnJztcblxuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoZSBjb21wb25lbnQgaXMgbG9hZGluZy5cbiAgICovXG4gIGlzTG9hZGluZyA9IHRydWU7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgY29tcG9uZW50IGZhaWxlZCBsb2FkaW5nIHRoZSBzb3VyY2UuXG4gICAqL1xuICBoYXNFcnJvciA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgYSB3YXJuaW5nIHNob3VsZCBiZSBzaG93bi5cbiAgICovXG4gIHNob3dMYW5nV2FybmluZzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBpc0luaXQgPSBmYWxzZTtcblxuICAvKipcbiAgICogQGlnbm9yZSBPbmx5IHByaXZhdGUgRElcbiAgICovXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZG9jc1NlcnZpY2U6IERvY3NTZXJ2aWNlLCBwdWJsaWMgaGVscFNlcnZpY2U6IEhlbHBTZXJ2aWNlKSB7fVxuXG4gIC8qKlxuICAgKiBUaGUgY29tcG9uZW50IGlzIHNob3duIGJ5IGRlZmF1bHQgYW5kIHRoZXJlZm9yZSBicmVha3MgZTJlIHRlc3QuIFRoaXMgaXNcbiAgICogdG8gcHJldmVudCB0aGUgdmlzaWJpbGl0eSBvbiBmaXJzdCBuYXZpZ2F0aW9uLlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBvbkNvbGxhcHNlZCgpIHtcbiAgICB0aGlzLmlzSW5pdCA9IHRydWU7XG4gIH1cblxuICAvKipcbiAgICogQnVpbGRzIHRoZSBVUkwgYmFzZWQgb24gdGhlIHNyYy4gVGhlIEJhc2UgVVJMIGNhbiBiZSBzZXQgaW4gdGhlIGFwcGxpY2F0aW9uIG9wdGlvbnMgZG9jQmFzZVVybC5cbiAgICogQHBhcmFtIHNyYyBUaGUgc291cmNlIG9mIHRoZSBoZWxwIG9uIHRoZSBndWlkZS5cbiAgICogQHBhcmFtIGluZGV4IFRoaXMgZmxhZyBpcyB1c2VkIHRvIGNhbGwgdGhlIGluZGV4Lmpzb24gY29udGVudCBvZiBhIGd1aWRlLiBGb3IgZXhhbXBsZSwgXCJodHRwczovL3d3dy5jdW11bG9jaXR5LmNvbS9ndWlkZXMvdXNlcnMtZ3VpZGUvY29ja3BpdC9pbmRleC5qc29uXCIuXG4gICAqL1xuICBnZXRVcmwoc3JjID0gJycsIGluZGV4ID0gZmFsc2UpOiBzdHJpbmcge1xuICAgIGxldCBkb2NzVXJsOiBVUkw7XG5cbiAgICB0cnkge1xuICAgICAgZG9jc1VybCA9XG4gICAgICAgIHR5cGVvZiB0aGlzLmhlbHBTZXJ2aWNlLmNvbnRleHRIZWxwLnZhbHVlID09PSAnc3RyaW5nJ1xuICAgICAgICAgID8gbmV3IFVSTCh0aGlzLmRvY3NTZXJ2aWNlLmdldFVybFdpdGhEb2NzVmVyc2lvbih0aGlzLmhlbHBTZXJ2aWNlLmNvbnRleHRIZWxwLnZhbHVlKSlcbiAgICAgICAgICA6IG5ldyBVUkwodGhpcy5kb2NzU2VydmljZS5nZXRCYXNlVXJsKCkpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBkb2NzVXJsID0gbmV3IFVSTCh0aGlzLmRvY3NTZXJ2aWNlLmdldEJhc2VVcmwoKSk7XG4gICAgICBjb25zb2xlLndhcm4oZXJyb3IpO1xuICAgIH1cblxuICAgIGNvbnN0IFt1cmwsIGhhc2hGcmFnbWVudF0gPSBzcmMuc3BsaXQoJyMnKTtcbiAgICB0aGlzLnNlY3Rpb25IZWFkaW5nID0gaGFzaEZyYWdtZW50O1xuXG4gICAgaWYgKGluZGV4KSB7XG4gICAgICBzcmMgPSBgJHt1cmx9aW5kZXguanNvbmA7XG4gICAgfVxuICAgIHJldHVybiBgJHtkb2NzVXJsLmhyZWZ9JHtzcmN9YDtcbiAgfVxuXG4gIC8qKlxuICAgKiBUb2dnbGVzIHRoZSB2aXNpYmlsaXR5IG9mIHRoZSBoZWxwIGRpYWxvZy5cbiAgICovXG4gIHRvZ2dsZSgpIHtcbiAgICBpZiAodGhpcy5pc0NvbGxhcHNlZCkge1xuICAgICAgdGhpcy5vcGVuKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuY2xvc2UoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbG9zZXMgdGhlIGhlbHAgZGlhbG9nLlxuICAgKi9cbiAgY2xvc2UoKSB7XG4gICAgdGhpcy5pc0NvbGxhcHNlZCA9IHRydWU7XG4gICAgdGhpcy5jbGVhbigpO1xuICB9XG5cbiAgLyoqXG4gICAqIE9wZW5zIHRoZSBoZWxwIGRpYWxvZy5cbiAgICovXG4gIG9wZW4oKSB7XG4gICAgdGhpcy5pc0NvbGxhcHNlZCA9IGZhbHNlO1xuICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLnJlcXVlc3RDb250ZW50KCk7XG4gICAgaWYgKCF0aGlzLmljb24pIHtcbiAgICAgIHRoaXMuaWNvbiA9IHRoaXMucmVzb2x2ZUljb24oKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlcXVlc3RDb250ZW50KCkge1xuICAgIGNvbnN0IHJlcSA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpO1xuICAgIHJlcS5vbnJlYWR5c3RhdGVjaGFuZ2UgPSAoKSA9PiB0aGlzLnJlbmRlcihyZXEpO1xuICAgIHJlcS5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgKCkgPT4gdGhpcy5yZW5kZXIocmVxKSk7XG4gICAgcmVxLm9wZW4oJ0dFVCcsIHRoaXMuZ2V0VXJsKHRoaXMuc3JjLCB0cnVlKSk7XG4gICAgcmVxLnJlc3BvbnNlVHlwZSA9ICdqc29uJztcbiAgICByZXEuc2V0UmVxdWVzdEhlYWRlcignQWNjZXB0JywgJ3RleHQvaHRtbCcpO1xuICAgIHJlcS5zZW5kKCk7XG4gIH1cblxuICBwcml2YXRlIGNsZWFuKCkge1xuICAgIHRoaXMudGl0bGUgPSAnJztcbiAgICB0aGlzLmhhc0Vycm9yID0gZmFsc2U7XG4gICAgdGhpcy5zZWN0aW9uQ29udGVudCA9ICcnO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNvbHZlSWNvbigpIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgaWNvbiA9IEFycmF5LmZyb20oZG9jdW1lbnQucXVlcnlTZWxlY3RvcignbmF2IC5hY3RpdmUgaScpLmNsYXNzTGlzdCkuZmluZChcbiAgICAgICAgY2xhc3NlcyA9PiBjbGFzc2VzLnN0YXJ0c1dpdGgoJ2M4eS1pY29uLScpIHx8IGNsYXNzZXMuc3RhcnRzV2l0aCgnZGx0LWM4eS1pY29uLScpXG4gICAgICApO1xuICAgICAgcmV0dXJuIGljb24ucmVwbGFjZSgnZGx0LWM4eS1pY29uLScsICcnKS5yZXBsYWNlKCdjOHktaWNvbi0nLCAnYzh5LScpO1xuICAgIH0gY2F0Y2ggKGV4KSB7XG4gICAgICByZXR1cm4gJ2xpZmUtc2F2ZXInO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcmVuZGVyKHJlcTogWE1MSHR0cFJlcXVlc3QpIHtcbiAgICBpZiAocmVxLnJlYWR5U3RhdGUgPT09IDQpIHtcbiAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICBpZiAocmVxLnN0YXR1cyA9PT0gMjAwKSB7XG4gICAgICAgIHRoaXMuaGFzRXJyb3IgPSBmYWxzZTtcbiAgICAgICAgY29uc3Qgc2VjdGlvbkRhdGEgPSByZXEucmVzcG9uc2VbdGhpcy5zZWN0aW9uSGVhZGluZ107XG4gICAgICAgIGlmIChzZWN0aW9uRGF0YSkge1xuICAgICAgICAgIHRoaXMudGl0bGUgPSBzZWN0aW9uRGF0YS50aXRsZTtcbiAgICAgICAgICB0aGlzLnNlY3Rpb25Db250ZW50ID0gc2VjdGlvbkRhdGEuaGVscGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuaGFzRXJyb3IgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiPGM4eS1hY3Rpb24tYmFyLWl0ZW1cbiAgW3BsYWNlbWVudF09XCIncmlnaHQnXCJcbiAgaXRlbUNsYXNzPVwicHVsbC1yaWdodCBtLWwtOFwiXG4gIFtwcmlvcml0eV09XCJwcmlvcml0eVwiXG4gICpuZ0lmPVwiISEoaGVscFNlcnZpY2UuY29udGV4dEhlbHAgfCBhc3luYylcIlxuPlxuICA8YnV0dG9uXG4gICAgY2xhc3M9XCJidG4taGVscFwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCInQWJvdXQgdGhpcyBwYWdlJyB8IHRyYW5zbGF0ZVwiXG4gICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCIhaXNDb2xsYXBzZWRcIlxuICAgIGFyaWEtY29udHJvbHM9XCJjb2xsYXBzZUhlbHBcIlxuICAgIHRvb2x0aXA9XCJ7eyAnQWJvdXQgdGhpcyBwYWdlJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgW2RlbGF5XT1cIjc1MFwiXG4gICAgcGxhY2VtZW50PVwibGVmdFwiXG4gICAgY29udGFpbmVyPVwiYm9keVwiXG4gICAgKGNsaWNrKT1cInRvZ2dsZSgpXCJcbiAgICBjOHlQcm9kdWN0RXhwZXJpZW5jZVxuICAgIFthY3Rpb25OYW1lXT1cImlzQ29sbGFwc2VkID8gJ2hlbHBPcGVuZWQnIDogJ2hlbHBDbG9zZWQnXCJcbiAgICBbYWN0aW9uRGF0YV09XCJ7IHNyYzogc3JjIH1cIlxuICA+XG4gIDwvYnV0dG9uPlxuPC9jOHktYWN0aW9uLWJhci1pdGVtPlxuXG48ZGl2XG4gIGlkPVwiY29sbGFwc2VIZWxwXCJcbiAgY2xhc3M9XCJjOHktaGVscC1kcmF3ZXJcIlxuICBbY29sbGFwc2VdPVwiaXNDb2xsYXBzZWRcIlxuICBbaXNBbmltYXRlZF09XCJ0cnVlXCJcbiAgKGNvbGxhcHNlZCk9XCJvbkNvbGxhcHNlZCgpXCJcbj5cbiAgPGRpdlxuICAgIFtuZ0NsYXNzXT1cInsgJ2M4eS1oZWxwLWRyYXdlci1ibG9jayc6IGlzSW5pdCB9XCJcbiAgICAjZG9jT3V0bGV0XG4gID5cbiAgICA8ZGl2ICpuZ0lmPVwiaXNMb2FkaW5nXCI+XG4gICAgICA8Yzh5LWxvYWRpbmc+PC9jOHktbG9hZGluZz5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgKm5nSWY9XCIhaXNMb2FkaW5nXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XG4gICAgICAgIDxpXG4gICAgICAgICAgW2M4eUljb25dPVwiIWhhc0Vycm9yID8gaWNvbiA6ICd1bmxpbmsnXCJcbiAgICAgICAgICBbbmdDbGFzc109XCJ7ICd0ZXh0LXdhcm5pbmcnOiBoYXNFcnJvciwgJ3RleHQtbXV0ZWQnOiAhaGFzRXJyb3IgfVwiXG4gICAgICAgICAgY2xhc3M9XCJjOHktaWNvbi1kdW9jb2xvciBpY29uLTQ4XCJcbiAgICAgICAgPjwvaT5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwicC1sLTE2IGZsZXgtZ3Jvd1wiXG4gICAgICAgICAgKm5nSWY9XCIhaGFzRXJyb3JcIlxuICAgICAgICA+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJhbGVydCBhbGVydC1pbmZvIG0tYi0xNlwiXG4gICAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgICAhaGVscFNlcnZpY2UuaXNTdXBwb3J0ZWRMYW5ndWFnZSgpICYmXG4gICAgICAgICAgICAgICFzaG93TGFuZ1dhcm5pbmcgJiZcbiAgICAgICAgICAgICAgIWhlbHBTZXJ2aWNlLmlzV2FybmluZ0FsZXJ0Vmlld2VkXG4gICAgICAgICAgICBcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgY2xhc3M9XCJjbG9zZVwiXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiXG4gICAgICAgICAgICAgICAgc2hvd0xhbmdXYXJuaW5nID0gIXNob3dMYW5nV2FybmluZztcbiAgICAgICAgICAgICAgICBoZWxwU2VydmljZS5pc1dhcm5pbmdBbGVydFZpZXdlZCA9ICFoZWxwU2VydmljZS5pc1dhcm5pbmdBbGVydFZpZXdlZFxuICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidDbG9zZScgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8c3BhbiBhcmlhLWhpZGRlbj1cInRydWVcIj7Dlzwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzci1vbmx5XCI+Q2xvc2U8L3NwYW4+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICB7eyAnSGVscCBjb250ZW50IGlzIG9ubHkgYXZhaWxhYmxlIGluIEVuZ2xpc2guJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxoNCBjbGFzcz1cInRleHQtYm9sZCB0ZXh0LXByaW1hcnkgcC10LTE2IG0tYi0xNlwiPlxuICAgICAgICAgICAge3sgdGl0bGUgfX1cbiAgICAgICAgICA8L2g0PlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGlkPVwiaGVscENvbnRlbnRcIlxuICAgICAgICAgICAgY2xhc3M9XCJoZWxwLWNvbnRlbnRcIlxuICAgICAgICAgICAgW2lubmVySFRNTF09XCJzZWN0aW9uQ29udGVudFwiXG4gICAgICAgICAgPjwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJwLWwtMTYgcC10LTE2IGZsZXgtZ3Jvd1wiXG4gICAgICAgICAgKm5nSWY9XCJoYXNFcnJvclwiXG4gICAgICAgID5cbiAgICAgICAgICA8aDRcbiAgICAgICAgICAgIGNsYXNzPVwidGV4dC1ib2xkIG0tYi0xNlwiXG4gICAgICAgICAgICB0cmFuc2xhdGVcbiAgICAgICAgICA+U29ycnksIHRoYXQgZGlkbid0IHdvcms8L2g0PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWxwLWNvbnRlbnRcIj5cbiAgICAgICAgICAgIDxwIHRyYW5zbGF0ZT5UaGUgY29udGVudCBjb3VsZG4ndCBiZSBsb2FkZWQuPC9wPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdlxuICAgIGNsYXNzPVwiYzh5LWhlbHAtZHJhd2VyLWZvb3RlciBhbmltYXRlZCBmYWRlSW5cIlxuICAgIHN0eWxlPVwiYW5pbWF0aW9uLWRlbGF5OiAwLjM1c1wiXG4gICAgKm5nSWY9XCIhaXNMb2FkaW5nICYmICFoYXNFcnJvclwiXG4gID5cbiAgICA8YnV0dG9uXG4gICAgICBjbGFzcz1cImJ0biBidG4tZGVmYXVsdFwiXG4gICAgICAoY2xpY2spPVwidG9nZ2xlKClcIlxuICAgICAgW3RpdGxlXT1cIidDbG9zZSBoZWxwJyB8IHRyYW5zbGF0ZVwiXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiIWlzQ29sbGFwc2VkXCJcbiAgICAgIGFyaWEtY29udHJvbHM9XCJjb2xsYXBzZUhlbHBcIlxuICAgICAgdHJhbnNsYXRlXG4gICAgPlxuICAgICAgQ2xvc2VcbiAgICA8L2J1dHRvbj5cbiAgICA8YVxuICAgICAgaHJlZj1cInt7IGhhc0Vycm9yID8gZ2V0VXJsKCkgOiBnZXRVcmwoc3JjKSB9fVwiXG4gICAgICBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiXG4gICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiXG4gICAgPlxuICAgICAgPHNwYW5cbiAgICAgICAgdHJhbnNsYXRlXG4gICAgICAgICpuZ0lmPVwiIWhhc0Vycm9yXCJcbiAgICAgID5cbiAgICAgICAgT3BlbiB0aGVcbiAgICAgICAgPHNwYW4+VXNlciBndWlkZWBLRUVQX09SSUdJTkFMYDwvc3Bhbj5cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxzcGFuXG4gICAgICAgIHRyYW5zbGF0ZVxuICAgICAgICAqbmdJZj1cImhhc0Vycm9yXCJcbiAgICAgID5cbiAgICAgICAgQ2hlY2sgdGhlXG4gICAgICAgIDxzcGFuPlVzZXIgZ3VpZGVgS0VFUF9PUklHSU5BTGA8L3NwYW4+XG4gICAgICA8L3NwYW4+XG4gICAgPC9hPlxuICA8L2Rpdj5cbjwvZGl2PiJdfQ==
|