ngx-edu-sharing-metaqs2 0.9.53 → 0.9.54
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/README.md +1 -14
- package/fesm2022/ngx-edu-sharing-metaqs2.mjs +195 -197
- package/fesm2022/ngx-edu-sharing-metaqs2.mjs.map +1 -1
- package/lib/components/collection-issues/collection-issues.component.d.ts +1 -1
- package/lib/components/donut-chart-tooltip/donut-chart-tooltip.component.d.ts +1 -1
- package/lib/components/filter/quality-matrix-filter.component.d.ts +4 -6
- package/lib/components/material-issues/material-issues.component.d.ts +1 -1
- package/lib/components/node-entry/node-entry.component.d.ts +1 -1
- package/lib/components/node-list/node-list.component.d.ts +1 -1
- package/lib/components/quality-matrix/quality_matrix.d.ts +1 -3
- package/lib/counts-with-history/counts-with-history.component.d.ts +1 -1
- package/lib/ng-meta-widgets-lib.module.d.ts +34 -37
- package/lib/node-image-url.pipe.d.ts +1 -1
- package/lib/wrap-observable.pipe.d.ts +1 -1
- package/package.json +6 -8
- package/esm2022/lib/collection-count-history/collection-count-history.component.mjs +0 -131
- package/esm2022/lib/collection-count-history/monthpicker/monthpicker.component.mjs +0 -114
- package/esm2022/lib/components/collection-issues/collection-issues.component.mjs +0 -23
- package/esm2022/lib/components/donut-chart/donut-chart.component.mjs +0 -85
- package/esm2022/lib/components/donut-chart/donut-chart.model.mjs +0 -2
- package/esm2022/lib/components/donut-chart/donut-chart.pipe.mjs +0 -50
- package/esm2022/lib/components/donut-chart-tooltip/donut-chart-tooltip.component.mjs +0 -79
- package/esm2022/lib/components/editorial-link-service/editorial-link.service.mjs +0 -169
- package/esm2022/lib/components/filter/datepicker/datepicker.component.mjs +0 -99
- package/esm2022/lib/components/filter/quality-matrix-filter.component.mjs +0 -47
- package/esm2022/lib/components/loading_indicator/overlay/overlay.service.mjs +0 -41
- package/esm2022/lib/components/loading_indicator/progress-spinner/progress-spinner.component.mjs +0 -65
- package/esm2022/lib/components/material-issues/material-issues.component.mjs +0 -23
- package/esm2022/lib/components/node-entry/node-entry.component.mjs +0 -35
- package/esm2022/lib/components/node-list/node-list.component.mjs +0 -112
- package/esm2022/lib/components/quality-matrix/quality_matrix.mjs +0 -413
- package/esm2022/lib/components/quality-matrix/scroll-marker.directive.mjs +0 -17
- package/esm2022/lib/config-helper.service.mjs +0 -32
- package/esm2022/lib/core/svg-icons.service.mjs +0 -44
- package/esm2022/lib/core/tooltip.service.mjs +0 -146
- package/esm2022/lib/counts-with-history/counts-with-history.component.mjs +0 -203
- package/esm2022/lib/java-api/api/api.mjs +0 -12
- package/esm2022/lib/java-api/api/authProxyController.service.mjs +0 -107
- package/esm2022/lib/java-api/api/collectionAPI.service.mjs +0 -409
- package/esm2022/lib/java-api/api/editorsAPI.service.mjs +0 -157
- package/esm2022/lib/java-api/api/filterAPI.service.mjs +0 -237
- package/esm2022/lib/java-api/api/replicationSourceAPI.service.mjs +0 -230
- package/esm2022/lib/java-api/api.base.service.mjs +0 -66
- package/esm2022/lib/java-api/api.module.mjs +0 -40
- package/esm2022/lib/java-api/configuration.mjs +0 -103
- package/esm2022/lib/java-api/encoder.mjs +0 -19
- package/esm2022/lib/java-api/index.mjs +0 -7
- package/esm2022/lib/java-api/model/collectionWithMissingAttributes.mjs +0 -11
- package/esm2022/lib/java-api/model/count.mjs +0 -11
- package/esm2022/lib/java-api/model/eduCollection.mjs +0 -11
- package/esm2022/lib/java-api/model/filter.mjs +0 -2
- package/esm2022/lib/java-api/model/filterValue.mjs +0 -11
- package/esm2022/lib/java-api/model/materialCountDto.mjs +0 -2
- package/esm2022/lib/java-api/model/materialCountFilter.mjs +0 -11
- package/esm2022/lib/java-api/model/materialWithMissingAttributes.mjs +0 -11
- package/esm2022/lib/java-api/model/matrixRowWithCounts.mjs +0 -2
- package/esm2022/lib/java-api/model/matrixWithCounts.mjs +0 -2
- package/esm2022/lib/java-api/model/missingAttributeResult.mjs +0 -2
- package/esm2022/lib/java-api/model/models.mjs +0 -16
- package/esm2022/lib/java-api/model/qualityMatrix.mjs +0 -2
- package/esm2022/lib/java-api/model/qualityMatrixHeader.mjs +0 -11
- package/esm2022/lib/java-api/model/qualityMatrixReplicationSourceCounts.mjs +0 -11
- package/esm2022/lib/java-api/model/qualityMatrixRow.mjs +0 -2
- package/esm2022/lib/java-api/param.mjs +0 -2
- package/esm2022/lib/java-api/variables.mjs +0 -9
- package/esm2022/lib/meta-api.service.mjs +0 -77
- package/esm2022/lib/ng-meta-widgets-lib.module.mjs +0 -198
- package/esm2022/lib/node-image-url.pipe.mjs +0 -29
- package/esm2022/lib/tree-collection-details/tree-collection-details.component.mjs +0 -87
- package/esm2022/lib/tree-license/tree-license.component.mjs +0 -136
- package/esm2022/lib/tree-search-counts/inline-worker.mjs +0 -102
- package/esm2022/lib/tree-search-counts/tree-search-counts.component.mjs +0 -209
- package/esm2022/lib/wrap-observable.pipe.mjs +0 -21
- package/esm2022/ngx-edu-sharing-metaqs2.mjs +0 -5
- package/esm2022/public-api.mjs +0 -18
- package/esm2022/web-components.mjs +0 -36
|
@@ -1,157 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* OpenAPI definition
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
7
|
-
* https://openapi-generator.tech
|
|
8
|
-
* Do not edit the class manually.
|
|
9
|
-
*/
|
|
10
|
-
/* tslint:disable:no-unused-variable member-ordering */
|
|
11
|
-
import { Inject, Injectable, Optional } from '@angular/core';
|
|
12
|
-
import { HttpContext } from '@angular/common/http';
|
|
13
|
-
// @ts-ignore
|
|
14
|
-
import { BASE_PATH } from '../variables';
|
|
15
|
-
import { BaseService } from '../api.base.service';
|
|
16
|
-
import * as i0 from "@angular/core";
|
|
17
|
-
import * as i1 from "@angular/common/http";
|
|
18
|
-
import * as i2 from "../configuration";
|
|
19
|
-
export class EditorsAPIService extends BaseService {
|
|
20
|
-
constructor(httpClient, basePath, configuration) {
|
|
21
|
-
super(basePath, configuration);
|
|
22
|
-
this.httpClient = httpClient;
|
|
23
|
-
}
|
|
24
|
-
getCompletenessForDisciplinaryPortals(filter, observe = 'body', reportProgress = false, options) {
|
|
25
|
-
let localVarHeaders = this.defaultHeaders;
|
|
26
|
-
const localVarHttpHeaderAcceptSelected = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept(['application/json']);
|
|
27
|
-
if (localVarHttpHeaderAcceptSelected !== undefined) {
|
|
28
|
-
localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);
|
|
29
|
-
}
|
|
30
|
-
const localVarHttpContext = options?.context ?? new HttpContext();
|
|
31
|
-
const localVarTransferCache = options?.transferCache ?? true;
|
|
32
|
-
// to determine the Content-Type header
|
|
33
|
-
const consumes = ['application/json'];
|
|
34
|
-
const httpContentTypeSelected = this.configuration.selectHeaderContentType(consumes);
|
|
35
|
-
if (httpContentTypeSelected !== undefined) {
|
|
36
|
-
localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);
|
|
37
|
-
}
|
|
38
|
-
let responseType_ = 'json';
|
|
39
|
-
if (localVarHttpHeaderAcceptSelected) {
|
|
40
|
-
if (localVarHttpHeaderAcceptSelected.startsWith('text')) {
|
|
41
|
-
responseType_ = 'text';
|
|
42
|
-
}
|
|
43
|
-
else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {
|
|
44
|
-
responseType_ = 'json';
|
|
45
|
-
}
|
|
46
|
-
else {
|
|
47
|
-
responseType_ = 'blob';
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
let localVarPath = `/editors/completeness`;
|
|
51
|
-
return this.httpClient.request('post', `${this.configuration.basePath}${localVarPath}`, {
|
|
52
|
-
context: localVarHttpContext,
|
|
53
|
-
body: filter,
|
|
54
|
-
responseType: responseType_,
|
|
55
|
-
withCredentials: this.configuration.withCredentials,
|
|
56
|
-
headers: localVarHeaders,
|
|
57
|
-
observe: observe,
|
|
58
|
-
transferCache: localVarTransferCache,
|
|
59
|
-
reportProgress: reportProgress,
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
getMaterialCount(materialCountFilter, observe = 'body', reportProgress = false, options) {
|
|
63
|
-
if (materialCountFilter === null || materialCountFilter === undefined) {
|
|
64
|
-
throw new Error('Required parameter materialCountFilter was null or undefined when calling getMaterialCount.');
|
|
65
|
-
}
|
|
66
|
-
let localVarHeaders = this.defaultHeaders;
|
|
67
|
-
const localVarHttpHeaderAcceptSelected = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept(['application/json']);
|
|
68
|
-
if (localVarHttpHeaderAcceptSelected !== undefined) {
|
|
69
|
-
localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);
|
|
70
|
-
}
|
|
71
|
-
const localVarHttpContext = options?.context ?? new HttpContext();
|
|
72
|
-
const localVarTransferCache = options?.transferCache ?? true;
|
|
73
|
-
// to determine the Content-Type header
|
|
74
|
-
const consumes = ['application/json'];
|
|
75
|
-
const httpContentTypeSelected = this.configuration.selectHeaderContentType(consumes);
|
|
76
|
-
if (httpContentTypeSelected !== undefined) {
|
|
77
|
-
localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);
|
|
78
|
-
}
|
|
79
|
-
let responseType_ = 'json';
|
|
80
|
-
if (localVarHttpHeaderAcceptSelected) {
|
|
81
|
-
if (localVarHttpHeaderAcceptSelected.startsWith('text')) {
|
|
82
|
-
responseType_ = 'text';
|
|
83
|
-
}
|
|
84
|
-
else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {
|
|
85
|
-
responseType_ = 'json';
|
|
86
|
-
}
|
|
87
|
-
else {
|
|
88
|
-
responseType_ = 'blob';
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
let localVarPath = `/editors/materialCount`;
|
|
92
|
-
return this.httpClient.request('post', `${this.configuration.basePath}${localVarPath}`, {
|
|
93
|
-
context: localVarHttpContext,
|
|
94
|
-
body: materialCountFilter,
|
|
95
|
-
responseType: responseType_,
|
|
96
|
-
withCredentials: this.configuration.withCredentials,
|
|
97
|
-
headers: localVarHeaders,
|
|
98
|
-
observe: observe,
|
|
99
|
-
transferCache: localVarTransferCache,
|
|
100
|
-
reportProgress: reportProgress,
|
|
101
|
-
});
|
|
102
|
-
}
|
|
103
|
-
getMaterialCountMatrixByLicenseGroup(filter, observe = 'body', reportProgress = false, options) {
|
|
104
|
-
let localVarHeaders = this.defaultHeaders;
|
|
105
|
-
const localVarHttpHeaderAcceptSelected = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept(['application/json']);
|
|
106
|
-
if (localVarHttpHeaderAcceptSelected !== undefined) {
|
|
107
|
-
localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);
|
|
108
|
-
}
|
|
109
|
-
const localVarHttpContext = options?.context ?? new HttpContext();
|
|
110
|
-
const localVarTransferCache = options?.transferCache ?? true;
|
|
111
|
-
// to determine the Content-Type header
|
|
112
|
-
const consumes = ['application/json'];
|
|
113
|
-
const httpContentTypeSelected = this.configuration.selectHeaderContentType(consumes);
|
|
114
|
-
if (httpContentTypeSelected !== undefined) {
|
|
115
|
-
localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);
|
|
116
|
-
}
|
|
117
|
-
let responseType_ = 'json';
|
|
118
|
-
if (localVarHttpHeaderAcceptSelected) {
|
|
119
|
-
if (localVarHttpHeaderAcceptSelected.startsWith('text')) {
|
|
120
|
-
responseType_ = 'text';
|
|
121
|
-
}
|
|
122
|
-
else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {
|
|
123
|
-
responseType_ = 'json';
|
|
124
|
-
}
|
|
125
|
-
else {
|
|
126
|
-
responseType_ = 'blob';
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
let localVarPath = `/editors/licenses/materialCount`;
|
|
130
|
-
return this.httpClient.request('post', `${this.configuration.basePath}${localVarPath}`, {
|
|
131
|
-
context: localVarHttpContext,
|
|
132
|
-
body: filter,
|
|
133
|
-
responseType: responseType_,
|
|
134
|
-
withCredentials: this.configuration.withCredentials,
|
|
135
|
-
headers: localVarHeaders,
|
|
136
|
-
observe: observe,
|
|
137
|
-
transferCache: localVarTransferCache,
|
|
138
|
-
reportProgress: reportProgress,
|
|
139
|
-
});
|
|
140
|
-
}
|
|
141
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EditorsAPIService, deps: [{ token: i1.HttpClient }, { token: BASE_PATH, optional: true }, { token: i2.Configuration, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
142
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EditorsAPIService, providedIn: 'root' }); }
|
|
143
|
-
}
|
|
144
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EditorsAPIService, decorators: [{
|
|
145
|
-
type: Injectable,
|
|
146
|
-
args: [{
|
|
147
|
-
providedIn: 'root',
|
|
148
|
-
}]
|
|
149
|
-
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: undefined, decorators: [{
|
|
150
|
-
type: Optional
|
|
151
|
-
}, {
|
|
152
|
-
type: Inject,
|
|
153
|
-
args: [BASE_PATH]
|
|
154
|
-
}] }, { type: i2.Configuration, decorators: [{
|
|
155
|
-
type: Optional
|
|
156
|
-
}] }] });
|
|
157
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yc0FQSS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctbWV0YS13aWRnZXRzLWxpYi9zcmMvbGliL2phdmEtYXBpL2FwaS9lZGl0b3JzQVBJLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7O0dBUUc7QUFDSCx1REFBdUQ7QUFFdkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBdUMsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFZeEYsYUFBYTtBQUNiLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7O0FBS2xELE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxXQUFXO0lBQ2hELFlBQ1ksVUFBc0IsRUFDRCxRQUEyQixFQUM5QyxhQUE2QjtRQUV6QyxLQUFLLENBQUMsUUFBUSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBSnJCLGVBQVUsR0FBVixVQUFVLENBQVk7SUFLbEMsQ0FBQztJQTJCTSxxQ0FBcUMsQ0FDMUMsTUFBc0IsRUFDdEIsVUFBZSxNQUFNLEVBQ3JCLGlCQUEwQixLQUFLLEVBQy9CLE9BQW1HO1FBRW5HLElBQUksZUFBZSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7UUFFMUMsTUFBTSxnQ0FBZ0MsR0FDcEMsT0FBTyxFQUFFLGdCQUFnQixJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7UUFDM0YsSUFBSSxnQ0FBZ0MsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNuRCxlQUFlLEdBQUcsZUFBZSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsZ0NBQWdDLENBQUMsQ0FBQztRQUNwRixDQUFDO1FB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O1lBQ3hHLE9BQU8sRUFBRSxtQkFBbUI7WUFDNUIsSUFBSSxFQUFFLE1BQU07WUFDWixZQUFZLEVBQU8sYUFBYTtZQUNoQyxlQUFlLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlO1lBQ25ELE9BQU8sRUFBRSxlQUFlO1lBQ3hCLE9BQU8sRUFBRSxPQUFPO1lBQ2hCLGFBQWEsRUFBRSxxQkFBcUI7WUFDcEMsY0FBYyxFQUFFLGNBQWM7U0FDL0IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0F6T1UsaUJBQWlCLDRDQUdOLFNBQVM7bUhBSHBCLGlCQUFpQixjQUZoQixNQUFNOzs0RkFFUCxpQkFBaUI7a0JBSDdCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFJSSxRQUFROzswQkFBSSxNQUFNOzJCQUFDLFNBQVM7OzBCQUM1QixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBPcGVuQVBJIGRlZmluaXRpb25cbiAqXG4gKlxuICpcbiAqIE5PVEU6IFRoaXMgY2xhc3MgaXMgYXV0byBnZW5lcmF0ZWQgYnkgT3BlbkFQSSBHZW5lcmF0b3IgKGh0dHBzOi8vb3BlbmFwaS1nZW5lcmF0b3IudGVjaCkuXG4gKiBodHRwczovL29wZW5hcGktZ2VuZXJhdG9yLnRlY2hcbiAqIERvIG5vdCBlZGl0IHRoZSBjbGFzcyBtYW51YWxseS5cbiAqL1xuLyogdHNsaW50OmRpc2FibGU6bm8tdW51c2VkLXZhcmlhYmxlIG1lbWJlci1vcmRlcmluZyAqL1xuXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwUmVzcG9uc2UsIEh0dHBFdmVudCwgSHR0cENvbnRleHQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbi8vIEB0cy1pZ25vcmVcbmltcG9ydCB7IEZpbHRlciB9IGZyb20gJy4uL21vZGVsL2ZpbHRlcic7XG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgeyBNYXRlcmlhbENvdW50RHRvIH0gZnJvbSAnLi4vbW9kZWwvbWF0ZXJpYWxDb3VudER0byc7XG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgeyBNYXRlcmlhbENvdW50RmlsdGVyIH0gZnJvbSAnLi4vbW9kZWwvbWF0ZXJpYWxDb3VudEZpbHRlcic7XG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgeyBNYXRyaXhXaXRoQ291bnRzIH0gZnJvbSAnLi4vbW9kZWwvbWF0cml4V2l0aENvdW50cyc7XG5cbi8vIEB0cy1pZ25vcmVcbmltcG9ydCB7IEJBU0VfUEFUSCB9IGZyb20gJy4uL3ZhcmlhYmxlcyc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uIH0gZnJvbSAnLi4vY29uZmlndXJhdGlvbic7XG5pbXBvcnQgeyBCYXNlU2VydmljZSB9IGZyb20gJy4uL2FwaS5iYXNlLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRWRpdG9yc0FQSVNlcnZpY2UgZXh0ZW5kcyBCYXNlU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBodHRwQ2xpZW50OiBIdHRwQ2xpZW50LFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoQkFTRV9QQVRIKSBiYXNlUGF0aDogc3RyaW5nIHwgc3RyaW5nW10sXG4gICAgQE9wdGlvbmFsKCkgY29uZmlndXJhdGlvbj86IENvbmZpZ3VyYXRpb25cbiAgKSB7XG4gICAgc3VwZXIoYmFzZVBhdGgsIGNvbmZpZ3VyYXRpb24pO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBjb21wbGV0ZW5lc3MgbWF0cml4IGZvciBkaXNjaXBsaW5hcnkgcG9ydGFsc1xuICAgKiBSZXR1cm4gbWF0cml4IHdpdGggY291bnQgb2YgbWF0ZXJpYWwgd2l0aCBpc3N1ZXMgZm9yIGFsbCBkaXNjaXBsaW5hcnkgcG9ydGFsc1xuICAgKiBAcGFyYW0gZmlsdGVyXG4gICAqIEBwYXJhbSBvYnNlcnZlIHNldCB3aGV0aGVyIG9yIG5vdCB0byByZXR1cm4gdGhlIGRhdGEgT2JzZXJ2YWJsZSBhcyB0aGUgYm9keSwgcmVzcG9uc2Ugb3IgZXZlbnRzLiBkZWZhdWx0cyB0byByZXR1cm5pbmcgdGhlIGJvZHkuXG4gICAqIEBwYXJhbSByZXBvcnRQcm9ncmVzcyBmbGFnIHRvIHJlcG9ydCByZXF1ZXN0IGFuZCByZXNwb25zZSBwcm9ncmVzcy5cbiAgICovXG4gIHB1YmxpYyBnZXRDb21wbGV0ZW5lc3NGb3JEaXNjaXBsaW5hcnlQb3J0YWxzKFxuICAgIGZpbHRlcj86IEFycmF5PEZpbHRlcj4sXG4gICAgb2JzZXJ2ZT86ICdib2R5JyxcbiAgICByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4sXG4gICAgb3B0aW9ucz86IHsgaHR0cEhlYWRlckFjY2VwdD86ICdhcHBsaWNhdGlvbi9qc29uJzsgY29udGV4dD86IEh0dHBDb250ZXh0OyB0cmFuc2ZlckNhY2hlPzogYm9vbGVhbiB9XG4gICk6IE9ic2VydmFibGU8TWF0cml4V2l0aENvdW50cz47XG4gIHB1YmxpYyBnZXRDb21wbGV0ZW5lc3NGb3JEaXNjaXBsaW5hcnlQb3J0YWxzKFxuICAgIGZpbHRlcj86IEFycmF5PEZpbHRlcj4sXG4gICAgb2JzZXJ2ZT86ICdyZXNwb25zZScsXG4gICAgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuLFxuICAgIG9wdGlvbnM/OiB7IGh0dHBIZWFkZXJBY2NlcHQ/OiAnYXBwbGljYXRpb24vanNvbic7IGNvbnRleHQ/OiBIdHRwQ29udGV4dDsgdHJhbnNmZXJDYWNoZT86IGJvb2xlYW4gfVxuICApOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxNYXRyaXhXaXRoQ291bnRzPj47XG4gIHB1YmxpYyBnZXRDb21wbGV0ZW5lc3NGb3JEaXNjaXBsaW5hcnlQb3J0YWxzKFxuICAgIGZpbHRlcj86IEFycmF5PEZpbHRlcj4sXG4gICAgb2JzZXJ2ZT86ICdldmVudHMnLFxuICAgIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbixcbiAgICBvcHRpb25zPzogeyBodHRwSGVhZGVyQWNjZXB0PzogJ2FwcGxpY2F0aW9uL2pzb24nOyBjb250ZXh0PzogSHR0cENvbnRleHQ7IHRyYW5zZmVyQ2FjaGU/OiBib29sZWFuIH1cbiAgKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8TWF0cml4V2l0aENvdW50cz4+O1xuICBwdWJsaWMgZ2V0Q29tcGxldGVuZXNzRm9yRGlzY2lwbGluYXJ5UG9ydGFscyhcbiAgICBmaWx0ZXI/OiBBcnJheTxGaWx0ZXI+LFxuICAgIG9ic2VydmU6IGFueSA9ICdib2R5JyxcbiAgICByZXBvcnRQcm9ncmVzczogYm9vbGVhbiA9IGZhbHNlLFxuICAgIG9wdGlvbnM/OiB7IGh0dHBIZWFkZXJBY2NlcHQ/OiAnYXBwbGljYXRpb24vanNvbic7IGNvbnRleHQ/OiBIdHRwQ29udGV4dDsgdHJhbnNmZXJDYWNoZT86IGJvb2xlYW4gfVxuICApOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBsb2NhbFZhckhlYWRlcnMgPSB0aGlzLmRlZmF1bHRIZWFkZXJzO1xuXG4gICAgY29uc3QgbG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9XG4gICAgICBvcHRpb25zPy5odHRwSGVhZGVyQWNjZXB0ID8/IHRoaXMuY29uZmlndXJhdGlvbi5zZWxlY3RIZWFkZXJBY2NlcHQoWydhcHBsaWNhdGlvbi9qc29uJ10pO1xuICAgIGlmIChsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBsb2NhbFZhckhlYWRlcnMgPSBsb2NhbFZhckhlYWRlcnMuc2V0KCdBY2NlcHQnLCBsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCk7XG4gICAgfVxuXG4gICAgY29uc3QgbG9jYWxWYXJIdHRwQ29udGV4dDogSHR0cENvbnRleHQgPSBvcHRpb25zPy5jb250ZXh0ID8/IG5ldyBIdHRwQ29udGV4dCgpO1xuXG4gICAgY29uc3QgbG9jYWxWYXJUcmFuc2ZlckNhY2hlOiBib29sZWFuID0gb3B0aW9ucz8udHJhbnNmZXJDYWNoZSA/PyB0cnVlO1xuXG4gICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBDb250ZW50LVR5cGUgaGVhZGVyXG4gICAgY29uc3QgY29uc3VtZXM6IHN0cmluZ1tdID0gWydhcHBsaWNhdGlvbi9qc29uJ107XG4gICAgY29uc3QgaHR0cENvbnRlbnRUeXBlU2VsZWN0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHRoaXMuY29uZmlndXJhdGlvbi5zZWxlY3RIZWFkZXJDb250ZW50VHlwZShjb25zdW1lcyk7XG4gICAgaWYgKGh0dHBDb250ZW50VHlwZVNlbGVjdGVkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGxvY2FsVmFySGVhZGVycyA9IGxvY2FsVmFySGVhZGVycy5zZXQoJ0NvbnRlbnQtVHlwZScsIGh0dHBDb250ZW50VHlwZVNlbGVjdGVkKTtcbiAgICB9XG5cbiAgICBsZXQgcmVzcG9uc2VUeXBlXzogJ3RleHQnIHwgJ2pzb24nIHwgJ2Jsb2InID0gJ2pzb24nO1xuICAgIGlmIChsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCkge1xuICAgICAgaWYgKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkLnN0YXJ0c1dpdGgoJ3RleHQnKSkge1xuICAgICAgICByZXNwb25zZVR5cGVfID0gJ3RleHQnO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLmNvbmZpZ3VyYXRpb24uaXNKc29uTWltZShsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCkpIHtcbiAgICAgICAgcmVzcG9uc2VUeXBlXyA9ICdqc29uJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlc3BvbnNlVHlwZV8gPSAnYmxvYic7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGV0IGxvY2FsVmFyUGF0aCA9IGAvZWRpdG9ycy9jb21wbGV0ZW5lc3NgO1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucmVxdWVzdDxNYXRyaXhXaXRoQ291bnRzPigncG9zdCcsIGAke3RoaXMuY29uZmlndXJhdGlvbi5iYXNlUGF0aH0ke2xvY2FsVmFyUGF0aH1gLCB7XG4gICAgICBjb250ZXh0OiBsb2NhbFZhckh0dHBDb250ZXh0LFxuICAgICAgYm9keTogZmlsdGVyLFxuICAgICAgcmVzcG9uc2VUeXBlOiA8YW55PnJlc3BvbnNlVHlwZV8sXG4gICAgICB3aXRoQ3JlZGVudGlhbHM6IHRoaXMuY29uZmlndXJhdGlvbi53aXRoQ3JlZGVudGlhbHMsXG4gICAgICBoZWFkZXJzOiBsb2NhbFZhckhlYWRlcnMsXG4gICAgICBvYnNlcnZlOiBvYnNlcnZlLFxuICAgICAgdHJhbnNmZXJDYWNoZTogbG9jYWxWYXJUcmFuc2ZlckNhY2hlLFxuICAgICAgcmVwb3J0UHJvZ3Jlc3M6IHJlcG9ydFByb2dyZXNzLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBNYXRlcmlhbCBDb3VudFxuICAgKiBSZXR1cm4gYSBsaXN0IG9mIGNvdW50cyBhZ2dyZWdhdGVkIGJ5IGRpc2NpcGxpbmUgKVxuICAgKiBAcGFyYW0gbWF0ZXJpYWxDb3VudEZpbHRlclxuICAgKiBAcGFyYW0gb2JzZXJ2ZSBzZXQgd2hldGhlciBvciBub3QgdG8gcmV0dXJuIHRoZSBkYXRhIE9ic2VydmFibGUgYXMgdGhlIGJvZHksIHJlc3BvbnNlIG9yIGV2ZW50cy4gZGVmYXVsdHMgdG8gcmV0dXJuaW5nIHRoZSBib2R5LlxuICAgKiBAcGFyYW0gcmVwb3J0UHJvZ3Jlc3MgZmxhZyB0byByZXBvcnQgcmVxdWVzdCBhbmQgcmVzcG9uc2UgcHJvZ3Jlc3MuXG4gICAqL1xuICBwdWJsaWMgZ2V0TWF0ZXJpYWxDb3VudChcbiAgICBtYXRlcmlhbENvdW50RmlsdGVyOiBNYXRlcmlhbENvdW50RmlsdGVyLFxuICAgIG9ic2VydmU/OiAnYm9keScsXG4gICAgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuLFxuICAgIG9wdGlvbnM/OiB7IGh0dHBIZWFkZXJBY2NlcHQ/OiAnYXBwbGljYXRpb24vanNvbic7IGNvbnRleHQ/OiBIdHRwQ29udGV4dDsgdHJhbnNmZXJDYWNoZT86IGJvb2xlYW4gfVxuICApOiBPYnNlcnZhYmxlPEFycmF5PE1hdGVyaWFsQ291bnREdG8+PjtcbiAgcHVibGljIGdldE1hdGVyaWFsQ291bnQoXG4gICAgbWF0ZXJpYWxDb3VudEZpbHRlcjogTWF0ZXJpYWxDb3VudEZpbHRlcixcbiAgICBvYnNlcnZlPzogJ3Jlc3BvbnNlJyxcbiAgICByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4sXG4gICAgb3B0aW9ucz86IHsgaHR0cEhlYWRlckFjY2VwdD86ICdhcHBsaWNhdGlvbi9qc29uJzsgY29udGV4dD86IEh0dHBDb250ZXh0OyB0cmFuc2ZlckNhY2hlPzogYm9vbGVhbiB9XG4gICk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPEFycmF5PE1hdGVyaWFsQ291bnREdG8+Pj47XG4gIHB1YmxpYyBnZXRNYXRlcmlhbENvdW50KFxuICAgIG1hdGVyaWFsQ291bnRGaWx0ZXI6IE1hdGVyaWFsQ291bnRGaWx0ZXIsXG4gICAgb2JzZXJ2ZT86ICdldmVudHMnLFxuICAgIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbixcbiAgICBvcHRpb25zPzogeyBodHRwSGVhZGVyQWNjZXB0PzogJ2FwcGxpY2F0aW9uL2pzb24nOyBjb250ZXh0PzogSHR0cENvbnRleHQ7IHRyYW5zZmVyQ2FjaGU/OiBib29sZWFuIH1cbiAgKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8QXJyYXk8TWF0ZXJpYWxDb3VudER0bz4+PjtcbiAgcHVibGljIGdldE1hdGVyaWFsQ291bnQoXG4gICAgbWF0ZXJpYWxDb3VudEZpbHRlcjogTWF0ZXJpYWxDb3VudEZpbHRlcixcbiAgICBvYnNlcnZlOiBhbnkgPSAnYm9keScsXG4gICAgcmVwb3J0UHJvZ3Jlc3M6IGJvb2xlYW4gPSBmYWxzZSxcbiAgICBvcHRpb25zPzogeyBodHRwSGVhZGVyQWNjZXB0PzogJ2FwcGxpY2F0aW9uL2pzb24nOyBjb250ZXh0PzogSHR0cENvbnRleHQ7IHRyYW5zZmVyQ2FjaGU/OiBib29sZWFuIH1cbiAgKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBpZiAobWF0ZXJpYWxDb3VudEZpbHRlciA9PT0gbnVsbCB8fCBtYXRlcmlhbENvdW50RmlsdGVyID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignUmVxdWlyZWQgcGFyYW1ldGVyIG1hdGVyaWFsQ291bnRGaWx0ZXIgd2FzIG51bGwgb3IgdW5kZWZpbmVkIHdoZW4gY2FsbGluZyBnZXRNYXRlcmlhbENvdW50LicpO1xuICAgIH1cblxuICAgIGxldCBsb2NhbFZhckhlYWRlcnMgPSB0aGlzLmRlZmF1bHRIZWFkZXJzO1xuXG4gICAgY29uc3QgbG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9XG4gICAgICBvcHRpb25zPy5odHRwSGVhZGVyQWNjZXB0ID8/IHRoaXMuY29uZmlndXJhdGlvbi5zZWxlY3RIZWFkZXJBY2NlcHQoWydhcHBsaWNhdGlvbi9qc29uJ10pO1xuICAgIGlmIChsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBsb2NhbFZhckhlYWRlcnMgPSBsb2NhbFZhckhlYWRlcnMuc2V0KCdBY2NlcHQnLCBsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCk7XG4gICAgfVxuXG4gICAgY29uc3QgbG9jYWxWYXJIdHRwQ29udGV4dDogSHR0cENvbnRleHQgPSBvcHRpb25zPy5jb250ZXh0ID8/IG5ldyBIdHRwQ29udGV4dCgpO1xuXG4gICAgY29uc3QgbG9jYWxWYXJUcmFuc2ZlckNhY2hlOiBib29sZWFuID0gb3B0aW9ucz8udHJhbnNmZXJDYWNoZSA/PyB0cnVlO1xuXG4gICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBDb250ZW50LVR5cGUgaGVhZGVyXG4gICAgY29uc3QgY29uc3VtZXM6IHN0cmluZ1tdID0gWydhcHBsaWNhdGlvbi9qc29uJ107XG4gICAgY29uc3QgaHR0cENvbnRlbnRUeXBlU2VsZWN0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHRoaXMuY29uZmlndXJhdGlvbi5zZWxlY3RIZWFkZXJDb250ZW50VHlwZShjb25zdW1lcyk7XG4gICAgaWYgKGh0dHBDb250ZW50VHlwZVNlbGVjdGVkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGxvY2FsVmFySGVhZGVycyA9IGxvY2FsVmFySGVhZGVycy5zZXQoJ0NvbnRlbnQtVHlwZScsIGh0dHBDb250ZW50VHlwZVNlbGVjdGVkKTtcbiAgICB9XG5cbiAgICBsZXQgcmVzcG9uc2VUeXBlXzogJ3RleHQnIHwgJ2pzb24nIHwgJ2Jsb2InID0gJ2pzb24nO1xuICAgIGlmIChsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCkge1xuICAgICAgaWYgKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkLnN0YXJ0c1dpdGgoJ3RleHQnKSkge1xuICAgICAgICByZXNwb25zZVR5cGVfID0gJ3RleHQnO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLmNvbmZpZ3VyYXRpb24uaXNKc29uTWltZShsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCkpIHtcbiAgICAgICAgcmVzcG9uc2VUeXBlXyA9ICdqc29uJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlc3BvbnNlVHlwZV8gPSAnYmxvYic7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGV0IGxvY2FsVmFyUGF0aCA9IGAvZWRpdG9ycy9tYXRlcmlhbENvdW50YDtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnJlcXVlc3Q8QXJyYXk8TWF0ZXJpYWxDb3VudER0bz4+KCdwb3N0JywgYCR7dGhpcy5jb25maWd1cmF0aW9uLmJhc2VQYXRofSR7bG9jYWxWYXJQYXRofWAsIHtcbiAgICAgIGNvbnRleHQ6IGxvY2FsVmFySHR0cENvbnRleHQsXG4gICAgICBib2R5OiBtYXRlcmlhbENvdW50RmlsdGVyLFxuICAgICAgcmVzcG9uc2VUeXBlOiA8YW55PnJlc3BvbnNlVHlwZV8sXG4gICAgICB3aXRoQ3JlZGVudGlhbHM6IHRoaXMuY29uZmlndXJhdGlvbi53aXRoQ3JlZGVudGlhbHMsXG4gICAgICBoZWFkZXJzOiBsb2NhbFZhckhlYWRlcnMsXG4gICAgICBvYnNlcnZlOiBvYnNlcnZlLFxuICAgICAgdHJhbnNmZXJDYWNoZTogbG9jYWxWYXJUcmFuc2ZlckNhY2hlLFxuICAgICAgcmVwb3J0UHJvZ3Jlc3M6IHJlcG9ydFByb2dyZXNzLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBNYXRlcmlhbCBDb3VudFxuICAgKiBSZXR1cm4gYSBsaXN0IG9mIGNvdW50cyBhZ2dyZWdhdGVkIGJ5IGRpc2NpcGxpbmUgYW5kIGxpY2Vuc2UgKVxuICAgKiBAcGFyYW0gZmlsdGVyXG4gICAqIEBwYXJhbSBvYnNlcnZlIHNldCB3aGV0aGVyIG9yIG5vdCB0byByZXR1cm4gdGhlIGRhdGEgT2JzZXJ2YWJsZSBhcyB0aGUgYm9keSwgcmVzcG9uc2Ugb3IgZXZlbnRzLiBkZWZhdWx0cyB0byByZXR1cm5pbmcgdGhlIGJvZHkuXG4gICAqIEBwYXJhbSByZXBvcnRQcm9ncmVzcyBmbGFnIHRvIHJlcG9ydCByZXF1ZXN0IGFuZCByZXNwb25zZSBwcm9ncmVzcy5cbiAgICovXG4gIHB1YmxpYyBnZXRNYXRlcmlhbENvdW50TWF0cml4QnlMaWNlbnNlR3JvdXAoXG4gICAgZmlsdGVyPzogQXJyYXk8RmlsdGVyPixcbiAgICBvYnNlcnZlPzogJ2JvZHknLFxuICAgIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbixcbiAgICBvcHRpb25zPzogeyBodHRwSGVhZGVyQWNjZXB0PzogJ2FwcGxpY2F0aW9uL2pzb24nOyBjb250ZXh0PzogSHR0cENvbnRleHQ7IHRyYW5zZmVyQ2FjaGU/OiBib29sZWFuIH1cbiAgKTogT2JzZXJ2YWJsZTxNYXRyaXhXaXRoQ291bnRzPjtcbiAgcHVibGljIGdldE1hdGVyaWFsQ291bnRNYXRyaXhCeUxpY2Vuc2VHcm91cChcbiAgICBmaWx0ZXI/OiBBcnJheTxGaWx0ZXI+LFxuICAgIG9ic2VydmU/OiAncmVzcG9uc2UnLFxuICAgIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbixcbiAgICBvcHRpb25zPzogeyBodHRwSGVhZGVyQWNjZXB0PzogJ2FwcGxpY2F0aW9uL2pzb24nOyBjb250ZXh0PzogSHR0cENvbnRleHQ7IHRyYW5zZmVyQ2FjaGU/OiBib29sZWFuIH1cbiAgKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8TWF0cml4V2l0aENvdW50cz4+O1xuICBwdWJsaWMgZ2V0TWF0ZXJpYWxDb3VudE1hdHJpeEJ5TGljZW5zZUdyb3VwKFxuICAgIGZpbHRlcj86IEFycmF5PEZpbHRlcj4sXG4gICAgb2JzZXJ2ZT86ICdldmVudHMnLFxuICAgIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbixcbiAgICBvcHRpb25zPzogeyBodHRwSGVhZGVyQWNjZXB0PzogJ2FwcGxpY2F0aW9uL2pzb24nOyBjb250ZXh0PzogSHR0cENvbnRleHQ7IHRyYW5zZmVyQ2FjaGU/OiBib29sZWFuIH1cbiAgKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8TWF0cml4V2l0aENvdW50cz4+O1xuICBwdWJsaWMgZ2V0TWF0ZXJpYWxDb3VudE1hdHJpeEJ5TGljZW5zZUdyb3VwKFxuICAgIGZpbHRlcj86IEFycmF5PEZpbHRlcj4sXG4gICAgb2JzZXJ2ZTogYW55ID0gJ2JvZHknLFxuICAgIHJlcG9ydFByb2dyZXNzOiBib29sZWFuID0gZmFsc2UsXG4gICAgb3B0aW9ucz86IHsgaHR0cEhlYWRlckFjY2VwdD86ICdhcHBsaWNhdGlvbi9qc29uJzsgY29udGV4dD86IEh0dHBDb250ZXh0OyB0cmFuc2ZlckNhY2hlPzogYm9vbGVhbiB9XG4gICk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IGxvY2FsVmFySGVhZGVycyA9IHRoaXMuZGVmYXVsdEhlYWRlcnM7XG5cbiAgICBjb25zdCBsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZDogc3RyaW5nIHwgdW5kZWZpbmVkID1cbiAgICAgIG9wdGlvbnM/Lmh0dHBIZWFkZXJBY2NlcHQgPz8gdGhpcy5jb25maWd1cmF0aW9uLnNlbGVjdEhlYWRlckFjY2VwdChbJ2FwcGxpY2F0aW9uL2pzb24nXSk7XG4gICAgaWYgKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGxvY2FsVmFySGVhZGVycyA9IGxvY2FsVmFySGVhZGVycy5zZXQoJ0FjY2VwdCcsIGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkKTtcbiAgICB9XG5cbiAgICBjb25zdCBsb2NhbFZhckh0dHBDb250ZXh0OiBIdHRwQ29udGV4dCA9IG9wdGlvbnM/LmNvbnRleHQgPz8gbmV3IEh0dHBDb250ZXh0KCk7XG5cbiAgICBjb25zdCBsb2NhbFZhclRyYW5zZmVyQ2FjaGU6IGJvb2xlYW4gPSBvcHRpb25zPy50cmFuc2ZlckNhY2hlID8/IHRydWU7XG5cbiAgICAvLyB0byBkZXRlcm1pbmUgdGhlIENvbnRlbnQtVHlwZSBoZWFkZXJcbiAgICBjb25zdCBjb25zdW1lczogc3RyaW5nW10gPSBbJ2FwcGxpY2F0aW9uL2pzb24nXTtcbiAgICBjb25zdCBodHRwQ29udGVudFR5cGVTZWxlY3RlZDogc3RyaW5nIHwgdW5kZWZpbmVkID0gdGhpcy5jb25maWd1cmF0aW9uLnNlbGVjdEhlYWRlckNvbnRlbnRUeXBlKGNvbnN1bWVzKTtcbiAgICBpZiAoaHR0cENvbnRlbnRUeXBlU2VsZWN0ZWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgbG9jYWxWYXJIZWFkZXJzID0gbG9jYWxWYXJIZWFkZXJzLnNldCgnQ29udGVudC1UeXBlJywgaHR0cENvbnRlbnRUeXBlU2VsZWN0ZWQpO1xuICAgIH1cblxuICAgIGxldCByZXNwb25zZVR5cGVfOiAndGV4dCcgfCAnanNvbicgfCAnYmxvYicgPSAnanNvbic7XG4gICAgaWYgKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkKSB7XG4gICAgICBpZiAobG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQuc3RhcnRzV2l0aCgndGV4dCcpKSB7XG4gICAgICAgIHJlc3BvbnNlVHlwZV8gPSAndGV4dCc7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuY29uZmlndXJhdGlvbi5pc0pzb25NaW1lKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkKSkge1xuICAgICAgICByZXNwb25zZVR5cGVfID0gJ2pzb24nO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzcG9uc2VUeXBlXyA9ICdibG9iJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBsZXQgbG9jYWxWYXJQYXRoID0gYC9lZGl0b3JzL2xpY2Vuc2VzL21hdGVyaWFsQ291bnRgO1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucmVxdWVzdDxNYXRyaXhXaXRoQ291bnRzPigncG9zdCcsIGAke3RoaXMuY29uZmlndXJhdGlvbi5iYXNlUGF0aH0ke2xvY2FsVmFyUGF0aH1gLCB7XG4gICAgICBjb250ZXh0OiBsb2NhbFZhckh0dHBDb250ZXh0LFxuICAgICAgYm9keTogZmlsdGVyLFxuICAgICAgcmVzcG9uc2VUeXBlOiA8YW55PnJlc3BvbnNlVHlwZV8sXG4gICAgICB3aXRoQ3JlZGVudGlhbHM6IHRoaXMuY29uZmlndXJhdGlvbi53aXRoQ3JlZGVudGlhbHMsXG4gICAgICBoZWFkZXJzOiBsb2NhbFZhckhlYWRlcnMsXG4gICAgICBvYnNlcnZlOiBvYnNlcnZlLFxuICAgICAgdHJhbnNmZXJDYWNoZTogbG9jYWxWYXJUcmFuc2ZlckNhY2hlLFxuICAgICAgcmVwb3J0UHJvZ3Jlc3M6IHJlcG9ydFByb2dyZXNzLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -1,237 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* OpenAPI definition
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
7
|
-
* https://openapi-generator.tech
|
|
8
|
-
* Do not edit the class manually.
|
|
9
|
-
*/
|
|
10
|
-
/* tslint:disable:no-unused-variable member-ordering */
|
|
11
|
-
import { Inject, Injectable, Optional } from '@angular/core';
|
|
12
|
-
import { HttpContext } from '@angular/common/http';
|
|
13
|
-
// @ts-ignore
|
|
14
|
-
import { BASE_PATH } from '../variables';
|
|
15
|
-
import { BaseService } from '../api.base.service';
|
|
16
|
-
import * as i0 from "@angular/core";
|
|
17
|
-
import * as i1 from "@angular/common/http";
|
|
18
|
-
import * as i2 from "../configuration";
|
|
19
|
-
export class FilterAPIService extends BaseService {
|
|
20
|
-
constructor(httpClient, basePath, configuration) {
|
|
21
|
-
super(basePath, configuration);
|
|
22
|
-
this.httpClient = httpClient;
|
|
23
|
-
}
|
|
24
|
-
getCollectionIssueFieldNames(observe = 'body', reportProgress = false, options) {
|
|
25
|
-
let localVarHeaders = this.defaultHeaders;
|
|
26
|
-
const localVarHttpHeaderAcceptSelected = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept(['application/json']);
|
|
27
|
-
if (localVarHttpHeaderAcceptSelected !== undefined) {
|
|
28
|
-
localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);
|
|
29
|
-
}
|
|
30
|
-
const localVarHttpContext = options?.context ?? new HttpContext();
|
|
31
|
-
const localVarTransferCache = options?.transferCache ?? true;
|
|
32
|
-
let responseType_ = 'json';
|
|
33
|
-
if (localVarHttpHeaderAcceptSelected) {
|
|
34
|
-
if (localVarHttpHeaderAcceptSelected.startsWith('text')) {
|
|
35
|
-
responseType_ = 'text';
|
|
36
|
-
}
|
|
37
|
-
else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {
|
|
38
|
-
responseType_ = 'json';
|
|
39
|
-
}
|
|
40
|
-
else {
|
|
41
|
-
responseType_ = 'blob';
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
let localVarPath = `/filters/collection/issues`;
|
|
45
|
-
return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, {
|
|
46
|
-
context: localVarHttpContext,
|
|
47
|
-
responseType: responseType_,
|
|
48
|
-
withCredentials: this.configuration.withCredentials,
|
|
49
|
-
headers: localVarHeaders,
|
|
50
|
-
observe: observe,
|
|
51
|
-
transferCache: localVarTransferCache,
|
|
52
|
-
reportProgress: reportProgress,
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
getHistoricalTimerange(observe = 'body', reportProgress = false, options) {
|
|
56
|
-
let localVarHeaders = this.defaultHeaders;
|
|
57
|
-
const localVarHttpHeaderAcceptSelected = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept(['application/json']);
|
|
58
|
-
if (localVarHttpHeaderAcceptSelected !== undefined) {
|
|
59
|
-
localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);
|
|
60
|
-
}
|
|
61
|
-
const localVarHttpContext = options?.context ?? new HttpContext();
|
|
62
|
-
const localVarTransferCache = options?.transferCache ?? true;
|
|
63
|
-
let responseType_ = 'json';
|
|
64
|
-
if (localVarHttpHeaderAcceptSelected) {
|
|
65
|
-
if (localVarHttpHeaderAcceptSelected.startsWith('text')) {
|
|
66
|
-
responseType_ = 'text';
|
|
67
|
-
}
|
|
68
|
-
else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {
|
|
69
|
-
responseType_ = 'json';
|
|
70
|
-
}
|
|
71
|
-
else {
|
|
72
|
-
responseType_ = 'blob';
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
let localVarPath = `/filters/timerange`;
|
|
76
|
-
return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, {
|
|
77
|
-
context: localVarHttpContext,
|
|
78
|
-
responseType: responseType_,
|
|
79
|
-
withCredentials: this.configuration.withCredentials,
|
|
80
|
-
headers: localVarHeaders,
|
|
81
|
-
observe: observe,
|
|
82
|
-
transferCache: localVarTransferCache,
|
|
83
|
-
reportProgress: reportProgress,
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
|
-
getMaterialIssueFieldNames(observe = 'body', reportProgress = false, options) {
|
|
87
|
-
let localVarHeaders = this.defaultHeaders;
|
|
88
|
-
const localVarHttpHeaderAcceptSelected = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept(['application/json']);
|
|
89
|
-
if (localVarHttpHeaderAcceptSelected !== undefined) {
|
|
90
|
-
localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);
|
|
91
|
-
}
|
|
92
|
-
const localVarHttpContext = options?.context ?? new HttpContext();
|
|
93
|
-
const localVarTransferCache = options?.transferCache ?? true;
|
|
94
|
-
let responseType_ = 'json';
|
|
95
|
-
if (localVarHttpHeaderAcceptSelected) {
|
|
96
|
-
if (localVarHttpHeaderAcceptSelected.startsWith('text')) {
|
|
97
|
-
responseType_ = 'text';
|
|
98
|
-
}
|
|
99
|
-
else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {
|
|
100
|
-
responseType_ = 'json';
|
|
101
|
-
}
|
|
102
|
-
else {
|
|
103
|
-
responseType_ = 'blob';
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
let localVarPath = `/filters/material/issues`;
|
|
107
|
-
return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, {
|
|
108
|
-
context: localVarHttpContext,
|
|
109
|
-
responseType: responseType_,
|
|
110
|
-
withCredentials: this.configuration.withCredentials,
|
|
111
|
-
headers: localVarHeaders,
|
|
112
|
-
observe: observe,
|
|
113
|
-
transferCache: localVarTransferCache,
|
|
114
|
-
reportProgress: reportProgress,
|
|
115
|
-
});
|
|
116
|
-
}
|
|
117
|
-
getMaterialTypesMapping(observe = 'body', reportProgress = false, options) {
|
|
118
|
-
let localVarHeaders = this.defaultHeaders;
|
|
119
|
-
const localVarHttpHeaderAcceptSelected = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept(['application/json']);
|
|
120
|
-
if (localVarHttpHeaderAcceptSelected !== undefined) {
|
|
121
|
-
localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);
|
|
122
|
-
}
|
|
123
|
-
const localVarHttpContext = options?.context ?? new HttpContext();
|
|
124
|
-
const localVarTransferCache = options?.transferCache ?? true;
|
|
125
|
-
let responseType_ = 'json';
|
|
126
|
-
if (localVarHttpHeaderAcceptSelected) {
|
|
127
|
-
if (localVarHttpHeaderAcceptSelected.startsWith('text')) {
|
|
128
|
-
responseType_ = 'text';
|
|
129
|
-
}
|
|
130
|
-
else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {
|
|
131
|
-
responseType_ = 'json';
|
|
132
|
-
}
|
|
133
|
-
else {
|
|
134
|
-
responseType_ = 'blob';
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
let localVarPath = `/filters/material/types`;
|
|
138
|
-
return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, {
|
|
139
|
-
context: localVarHttpContext,
|
|
140
|
-
responseType: responseType_,
|
|
141
|
-
withCredentials: this.configuration.withCredentials,
|
|
142
|
-
headers: localVarHeaders,
|
|
143
|
-
observe: observe,
|
|
144
|
-
transferCache: localVarTransferCache,
|
|
145
|
-
reportProgress: reportProgress,
|
|
146
|
-
});
|
|
147
|
-
}
|
|
148
|
-
getPublicEndpoints(observe = 'body', reportProgress = false, options) {
|
|
149
|
-
let localVarHeaders = this.defaultHeaders;
|
|
150
|
-
let localVarHttpHeaderAcceptSelected = options && options.httpHeaderAccept;
|
|
151
|
-
if (localVarHttpHeaderAcceptSelected === undefined) {
|
|
152
|
-
// to determine the Accept header
|
|
153
|
-
const httpHeaderAccepts = ['application/json'];
|
|
154
|
-
localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);
|
|
155
|
-
}
|
|
156
|
-
if (localVarHttpHeaderAcceptSelected !== undefined) {
|
|
157
|
-
localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);
|
|
158
|
-
}
|
|
159
|
-
let localVarHttpContext = options && options.context;
|
|
160
|
-
if (localVarHttpContext === undefined) {
|
|
161
|
-
localVarHttpContext = new HttpContext();
|
|
162
|
-
}
|
|
163
|
-
let localVarTransferCache = options && options.transferCache;
|
|
164
|
-
if (localVarTransferCache === undefined) {
|
|
165
|
-
localVarTransferCache = true;
|
|
166
|
-
}
|
|
167
|
-
let responseType_ = 'json';
|
|
168
|
-
if (localVarHttpHeaderAcceptSelected) {
|
|
169
|
-
if (localVarHttpHeaderAcceptSelected.startsWith('text')) {
|
|
170
|
-
responseType_ = 'text';
|
|
171
|
-
}
|
|
172
|
-
else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {
|
|
173
|
-
responseType_ = 'json';
|
|
174
|
-
}
|
|
175
|
-
else {
|
|
176
|
-
responseType_ = 'blob';
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
let localVarPath = `/filters/public_endpoints`;
|
|
180
|
-
return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, {
|
|
181
|
-
context: localVarHttpContext,
|
|
182
|
-
responseType: responseType_,
|
|
183
|
-
withCredentials: this.configuration.withCredentials,
|
|
184
|
-
headers: localVarHeaders,
|
|
185
|
-
observe: observe,
|
|
186
|
-
transferCache: localVarTransferCache,
|
|
187
|
-
reportProgress: reportProgress,
|
|
188
|
-
});
|
|
189
|
-
}
|
|
190
|
-
getQualitxMatrixFilters(observe = 'body', reportProgress = false, options) {
|
|
191
|
-
let localVarHeaders = this.defaultHeaders;
|
|
192
|
-
const localVarHttpHeaderAcceptSelected = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept(['application/json']);
|
|
193
|
-
if (localVarHttpHeaderAcceptSelected !== undefined) {
|
|
194
|
-
localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);
|
|
195
|
-
}
|
|
196
|
-
const localVarHttpContext = options?.context ?? new HttpContext();
|
|
197
|
-
const localVarTransferCache = options?.transferCache ?? true;
|
|
198
|
-
let responseType_ = 'json';
|
|
199
|
-
if (localVarHttpHeaderAcceptSelected) {
|
|
200
|
-
if (localVarHttpHeaderAcceptSelected.startsWith('text')) {
|
|
201
|
-
responseType_ = 'text';
|
|
202
|
-
}
|
|
203
|
-
else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {
|
|
204
|
-
responseType_ = 'json';
|
|
205
|
-
}
|
|
206
|
-
else {
|
|
207
|
-
responseType_ = 'blob';
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
let localVarPath = `/filters`;
|
|
211
|
-
return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, {
|
|
212
|
-
context: localVarHttpContext,
|
|
213
|
-
responseType: responseType_,
|
|
214
|
-
withCredentials: this.configuration.withCredentials,
|
|
215
|
-
headers: localVarHeaders,
|
|
216
|
-
observe: observe,
|
|
217
|
-
transferCache: localVarTransferCache,
|
|
218
|
-
reportProgress: reportProgress,
|
|
219
|
-
});
|
|
220
|
-
}
|
|
221
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FilterAPIService, deps: [{ token: i1.HttpClient }, { token: BASE_PATH, optional: true }, { token: i2.Configuration, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
222
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FilterAPIService, providedIn: 'root' }); }
|
|
223
|
-
}
|
|
224
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FilterAPIService, decorators: [{
|
|
225
|
-
type: Injectable,
|
|
226
|
-
args: [{
|
|
227
|
-
providedIn: 'root',
|
|
228
|
-
}]
|
|
229
|
-
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: undefined, decorators: [{
|
|
230
|
-
type: Optional
|
|
231
|
-
}, {
|
|
232
|
-
type: Inject,
|
|
233
|
-
args: [BASE_PATH]
|
|
234
|
-
}] }, { type: i2.Configuration, decorators: [{
|
|
235
|
-
type: Optional
|
|
236
|
-
}] }] });
|
|
237
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyQVBJLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1tZXRhLXdpZGdldHMtbGliL3NyYy9saWIvamF2YS1hcGkvYXBpL2ZpbHRlckFQSS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHO0FBQ0gsdURBQXVEO0FBRXZELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQXVDLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBTXhGLGFBQWE7QUFDYixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXpDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7OztBQUtsRCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsV0FBVztJQUMvQyxZQUNZLFVBQXNCLEVBQ0QsUUFBMkIsRUFDOUMsYUFBNkI7UUFFekMsS0FBSyxDQUFDLFFBQVEsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUpyQixlQUFVLEdBQVYsVUFBVSxDQUFZO0lBS2xDLENBQUM7SUFxQk0sNEJBQTRCLENBQ2pDLFVBQWUsTUFBTSxFQUNyQixpQkFBMEIsS0FBSyxFQUMvQixPQUFtRztRQUVuRyxJQUFJLGVBQWUsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBRTFDLE1BQU0sZ0NBQWdDLEdBQ3BDLE9BQU8sRUFBRSxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDO1FBQzNGLElBQUksZ0NBQWdDLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDbkQsZUFBZSxHQUFHLGVBQWUsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLGdDQUFnQyxDQUFDLENBQUM7UUFDcEYsQ0FBQztRQUVELE1BQU0sbUJBQW1C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LE9BQU8sRUFBRSxPQUFPO1lBQ2hCLGFBQWEsRUFBRSxxQkFBcUI7WUFDcEMsY0FBYyxFQUFFLGNBQWM7U0FDL0IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0EzWFUsZ0JBQWdCLDRDQUdMLFNBQVM7bUhBSHBCLGdCQUFnQixjQUZmLE1BQU07OzRGQUVQLGdCQUFnQjtrQkFINUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQUlJLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsU0FBUzs7MEJBQzVCLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIE9wZW5BUEkgZGVmaW5pdGlvblxuICpcbiAqXG4gKlxuICogTk9URTogVGhpcyBjbGFzcyBpcyBhdXRvIGdlbmVyYXRlZCBieSBPcGVuQVBJIEdlbmVyYXRvciAoaHR0cHM6Ly9vcGVuYXBpLWdlbmVyYXRvci50ZWNoKS5cbiAqIGh0dHBzOi8vb3BlbmFwaS1nZW5lcmF0b3IudGVjaFxuICogRG8gbm90IGVkaXQgdGhlIGNsYXNzIG1hbnVhbGx5LlxuICovXG4vKiB0c2xpbnQ6ZGlzYWJsZTpuby11bnVzZWQtdmFyaWFibGUgbWVtYmVyLW9yZGVyaW5nICovXG5cbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBSZXNwb25zZSwgSHR0cEV2ZW50LCBIdHRwQ29udGV4dCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHsgRmlsdGVyIH0gZnJvbSAnLi4vbW9kZWwvZmlsdGVyJztcblxuLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHsgQkFTRV9QQVRIIH0gZnJvbSAnLi4vdmFyaWFibGVzJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb24gfSBmcm9tICcuLi9jb25maWd1cmF0aW9uJztcbmltcG9ydCB7IEJhc2VTZXJ2aWNlIH0gZnJvbSAnLi4vYXBpLmJhc2Uuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBGaWx0ZXJBUElTZXJ2aWNlIGV4dGVuZHMgQmFzZVNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgaHR0cENsaWVudDogSHR0cENsaWVudCxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEJBU0VfUEFUSCkgYmFzZVBhdGg6IHN0cmluZyB8IHN0cmluZ1tdLFxuICAgIEBPcHRpb25hbCgpIGNvbmZpZ3VyYXRpb24/OiBDb25maWd1cmF0aW9uXG4gICkge1xuICAgIHN1cGVyKGJhc2VQYXRoLCBjb25maWd1cmF0aW9uKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0gb2JzZXJ2ZSBzZXQgd2hldGhlciBvciBub3QgdG8gcmV0dXJuIHRoZSBkYXRhIE9ic2VydmFibGUgYXMgdGhlIGJvZHksIHJlc3BvbnNlIG9yIGV2ZW50cy4gZGVmYXVsdHMgdG8gcmV0dXJuaW5nIHRoZSBib2R5LlxuICAgKiBAcGFyYW0gcmVwb3J0UHJvZ3Jlc3MgZmxhZyB0byByZXBvcnQgcmVxdWVzdCBhbmQgcmVzcG9uc2UgcHJvZ3Jlc3MuXG4gICAqL1xuICBwdWJsaWMgZ2V0Q29sbGVjdGlvbklzc3VlRmllbGROYW1lcyhcbiAgICBvYnNlcnZlPzogJ2JvZHknLFxuICAgIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbixcbiAgICBvcHRpb25zPzogeyBodHRwSGVhZGVyQWNjZXB0PzogJ2FwcGxpY2F0aW9uL2pzb24nOyBjb250ZXh0PzogSHR0cENvbnRleHQ7IHRyYW5zZmVyQ2FjaGU/OiBib29sZWFuIH1cbiAgKTogT2JzZXJ2YWJsZTxBcnJheTxzdHJpbmc+PjtcbiAgcHVibGljIGdldENvbGxlY3Rpb25Jc3N1ZUZpZWxkTmFtZXMoXG4gICAgb2JzZXJ2ZT86ICdyZXNwb25zZScsXG4gICAgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuLFxuICAgIG9wdGlvbnM/OiB7IGh0dHBIZWFkZXJBY2NlcHQ/OiAnYXBwbGljYXRpb24vanNvbic7IGNvbnRleHQ/OiBIdHRwQ29udGV4dDsgdHJhbnNmZXJDYWNoZT86IGJvb2xlYW4gfVxuICApOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxBcnJheTxzdHJpbmc+Pj47XG4gIHB1YmxpYyBnZXRDb2xsZWN0aW9uSXNzdWVGaWVsZE5hbWVzKFxuICAgIG9ic2VydmU/OiAnZXZlbnRzJyxcbiAgICByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4sXG4gICAgb3B0aW9ucz86IHsgaHR0cEhlYWRlckFjY2VwdD86ICdhcHBsaWNhdGlvbi9qc29uJzsgY29udGV4dD86IEh0dHBDb250ZXh0OyB0cmFuc2ZlckNhY2hlPzogYm9vbGVhbiB9XG4gICk6IE9ic2VydmFibGU8SHR0cEV2ZW50PEFycmF5PHN0cmluZz4+PjtcbiAgcHVibGljIGdldENvbGxlY3Rpb25Jc3N1ZUZpZWxkTmFtZXMoXG4gICAgb2JzZXJ2ZTogYW55ID0gJ2JvZHknLFxuICAgIHJlcG9ydFByb2dyZXNzOiBib29sZWFuID0gZmFsc2UsXG4gICAgb3B0aW9ucz86IHsgaHR0cEhlYWRlckFjY2VwdD86ICdhcHBsaWNhdGlvbi9qc29uJzsgY29udGV4dD86IEh0dHBDb250ZXh0OyB0cmFuc2ZlckNhY2hlPzogYm9vbGVhbiB9XG4gICk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IGxvY2FsVmFySGVhZGVycyA9IHRoaXMuZGVmYXVsdEhlYWRlcnM7XG5cbiAgICBjb25zdCBsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZDogc3RyaW5nIHwgdW5kZWZpbmVkID1cbiAgICAgIG9wdGlvbnM/Lmh0dHBIZWFkZXJBY2NlcHQgPz8gdGhpcy5jb25maWd1cmF0aW9uLnNlbGVjdEhlYWRlckFjY2VwdChbJ2FwcGxpY2F0aW9uL2pzb24nXSk7XG4gICAgaWYgKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGxvY2FsVmFySGVhZGVycyA9IGxvY2FsVmFySGVhZGVycy5zZXQoJ0FjY2VwdCcsIGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkKTtcbiAgICB9XG5cbiAgICBjb25zdCBsb2NhbFZhckh0dHBDb250ZXh0OiBIdHRwQ29udGV4dCA9IG9wdGlvbnM/LmNvbnRleHQgPz8gbmV3IEh0dHBDb250ZXh0KCk7XG5cbiAgICBjb25zdCBsb2NhbFZhclRyYW5zZmVyQ2FjaGU6IGJvb2xlYW4gPSBvcHRpb25zPy50cmFuc2ZlckNhY2hlID8/IHRydWU7XG5cbiAgICBsZXQgcmVzcG9uc2VUeXBlXzogJ3RleHQnIHwgJ2pzb24nIHwgJ2Jsb2InID0gJ2pzb24nO1xuICAgIGlmIChsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCkge1xuICAgICAgaWYgKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkLnN0YXJ0c1dpdGgoJ3RleHQnKSkge1xuICAgICAgICByZXNwb25zZVR5cGVfID0gJ3RleHQnO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLmNvbmZpZ3VyYXRpb24uaXNKc29uTWltZShsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCkpIHtcbiAgICAgICAgcmVzcG9uc2VUeXBlXyA9ICdqc29uJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlc3BvbnNlVHlwZV8gPSAnYmxvYic7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGV0IGxvY2FsVmFyUGF0aCA9IGAvZmlsdGVycy9jb2xsZWN0aW9uL2lzc3Vlc2A7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5yZXF1ZXN0PEFycmF5PHN0cmluZz4+KCdnZXQnLCBgJHt0aGlzLmNvbmZpZ3VyYXRpb24uYmFzZVBhdGh9JHtsb2NhbFZhclBhdGh9YCwge1xuICAgICAgY29udGV4dDogbG9jYWxWYXJIdHRwQ29udGV4dCxcbiAgICAgIHJlc3BvbnNlVHlwZTogPGFueT5yZXNwb25zZVR5cGVfLFxuICAgICAgd2l0aENyZWRlbnRpYWxzOiB0aGlzLmNvbmZpZ3VyYXRpb24ud2l0aENyZWRlbnRpYWxzLFxuICAgICAgaGVhZGVyczogbG9jYWxWYXJIZWFkZXJzLFxuICAgICAgb2JzZXJ2ZTogb2JzZXJ2ZSxcbiAgICAgIHRyYW5zZmVyQ2FjaGU6IGxvY2FsVmFyVHJhbnNmZXJDYWNoZSxcbiAgICAgIHJlcG9ydFByb2dyZXNzOiByZXBvcnRQcm9ncmVzcyxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0gb2JzZXJ2ZSBzZXQgd2hldGhlciBvciBub3QgdG8gcmV0dXJuIHRoZSBkYXRhIE9ic2VydmFibGUgYXMgdGhlIGJvZHksIHJlc3BvbnNlIG9yIGV2ZW50cy4gZGVmYXVsdHMgdG8gcmV0dXJuaW5nIHRoZSBib2R5LlxuICAgKiBAcGFyYW0gcmVwb3J0UHJvZ3Jlc3MgZmxhZyB0byByZXBvcnQgcmVxdWVzdCBhbmQgcmVzcG9uc2UgcHJvZ3Jlc3MuXG4gICAqL1xuICBwdWJsaWMgZ2V0SGlzdG9yaWNhbFRpbWVyYW5nZShcbiAgICBvYnNlcnZlPzogJ2JvZHknLFxuICAgIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbixcbiAgICBvcHRpb25zPzogeyBodHRwSGVhZGVyQWNjZXB0PzogJ2FwcGxpY2F0aW9uL2pzb24nOyBjb250ZXh0PzogSHR0cENvbnRleHQ7IHRyYW5zZmVyQ2FjaGU/OiBib29sZWFuIH1cbiAgKTogT2JzZXJ2YWJsZTxBcnJheTxGaWx0ZXI+PjtcbiAgcHVibGljIGdldEhpc3RvcmljYWxUaW1lcmFuZ2UoXG4gICAgb2JzZXJ2ZT86ICdyZXNwb25zZScsXG4gICAgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuLFxuICAgIG9wdGlvbnM/OiB7IGh0dHBIZWFkZXJBY2NlcHQ/OiAnYXBwbGljYXRpb24vanNvbic7IGNvbnRleHQ/OiBIdHRwQ29udGV4dDsgdHJhbnNmZXJDYWNoZT86IGJvb2xlYW4gfVxuICApOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxBcnJheTxGaWx0ZXI+Pj47XG4gIHB1YmxpYyBnZXRIaXN0b3JpY2FsVGltZXJhbmdlKFxuICAgIG9ic2VydmU/OiAnZXZlbnRzJyxcbiAgICByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4sXG4gICAgb3B0aW9ucz86IHsgaHR0cEhlYWRlckFjY2VwdD86ICdhcHBsaWNhdGlvbi9qc29uJzsgY29udGV4dD86IEh0dHBDb250ZXh0OyB0cmFuc2ZlckNhY2hlPzogYm9vbGVhbiB9XG4gICk6IE9ic2VydmFibGU8SHR0cEV2ZW50PEFycmF5PEZpbHRlcj4+PjtcbiAgcHVibGljIGdldEhpc3RvcmljYWxUaW1lcmFuZ2UoXG4gICAgb2JzZXJ2ZTogYW55ID0gJ2JvZHknLFxuICAgIHJlcG9ydFByb2dyZXNzOiBib29sZWFuID0gZmFsc2UsXG4gICAgb3B0aW9ucz86IHsgaHR0cEhlYWRlckFjY2VwdD86ICdhcHBsaWNhdGlvbi9qc29uJzsgY29udGV4dD86IEh0dHBDb250ZXh0OyB0cmFuc2ZlckNhY2hlPzogYm9vbGVhbiB9XG4gICk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IGxvY2FsVmFySGVhZGVycyA9IHRoaXMuZGVmYXVsdEhlYWRlcnM7XG5cbiAgICBjb25zdCBsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZDogc3RyaW5nIHwgdW5kZWZpbmVkID1cbiAgICAgIG9wdGlvbnM/Lmh0dHBIZWFkZXJBY2NlcHQgPz8gdGhpcy5jb25maWd1cmF0aW9uLnNlbGVjdEhlYWRlckFjY2VwdChbJ2FwcGxpY2F0aW9uL2pzb24nXSk7XG4gICAgaWYgKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGxvY2FsVmFySGVhZGVycyA9IGxvY2FsVmFySGVhZGVycy5zZXQoJ0FjY2VwdCcsIGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkKTtcbiAgICB9XG5cbiAgICBjb25zdCBsb2NhbFZhckh0dHBDb250ZXh0OiBIdHRwQ29udGV4dCA9IG9wdGlvbnM/LmNvbnRleHQgPz8gbmV3IEh0dHBDb250ZXh0KCk7XG5cbiAgICBjb25zdCBsb2NhbFZhclRyYW5zZmVyQ2FjaGU6IGJvb2xlYW4gPSBvcHRpb25zPy50cmFuc2ZlckNhY2hlID8/IHRydWU7XG5cbiAgICBsZXQgcmVzcG9uc2VUeXBlXzogJ3RleHQnIHwgJ2pzb24nIHwgJ2Jsb2InID0gJ2pzb24nO1xuICAgIGlmIChsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCkge1xuICAgICAgaWYgKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkLnN0YXJ0c1dpdGgoJ3RleHQnKSkge1xuICAgICAgICByZXNwb25zZVR5cGVfID0gJ3RleHQnO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLmNvbmZpZ3VyYXRpb24uaXNKc29uTWltZShsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCkpIHtcbiAgICAgICAgcmVzcG9uc2VUeXBlXyA9ICdqc29uJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlc3BvbnNlVHlwZV8gPSAnYmxvYic7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGV0IGxvY2FsVmFyUGF0aCA9IGAvZmlsdGVycy90aW1lcmFuZ2VgO1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucmVxdWVzdDxBcnJheTxGaWx0ZXI+PignZ2V0JywgYCR7dGhpcy5jb25maWd1cmF0aW9uLmJhc2VQYXRofSR7bG9jYWxWYXJQYXRofWAsIHtcbiAgICAgIGNvbnRleHQ6IGxvY2FsVmFySHR0cENvbnRleHQsXG4gICAgICByZXNwb25zZVR5cGU6IDxhbnk+cmVzcG9uc2VUeXBlXyxcbiAgICAgIHdpdGhDcmVkZW50aWFsczogdGhpcy5jb25maWd1cmF0aW9uLndpdGhDcmVkZW50aWFscyxcbiAgICAgIGhlYWRlcnM6IGxvY2FsVmFySGVhZGVycyxcbiAgICAgIG9ic2VydmU6IG9ic2VydmUsXG4gICAgICB0cmFuc2ZlckNhY2hlOiBsb2NhbFZhclRyYW5zZmVyQ2FjaGUsXG4gICAgICByZXBvcnRQcm9ncmVzczogcmVwb3J0UHJvZ3Jlc3MsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIG9ic2VydmUgc2V0IHdoZXRoZXIgb3Igbm90IHRvIHJldHVybiB0aGUgZGF0YSBPYnNlcnZhYmxlIGFzIHRoZSBib2R5LCByZXNwb25zZSBvciBldmVudHMuIGRlZmF1bHRzIHRvIHJldHVybmluZyB0aGUgYm9keS5cbiAgICogQHBhcmFtIHJlcG9ydFByb2dyZXNzIGZsYWcgdG8gcmVwb3J0IHJlcXVlc3QgYW5kIHJlc3BvbnNlIHByb2dyZXNzLlxuICAgKi9cbiAgcHVibGljIGdldE1hdGVyaWFsSXNzdWVGaWVsZE5hbWVzKFxuICAgIG9ic2VydmU/OiAnYm9keScsXG4gICAgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuLFxuICAgIG9wdGlvbnM/OiB7IGh0dHBIZWFkZXJBY2NlcHQ/OiAnYXBwbGljYXRpb24vanNvbic7IGNvbnRleHQ/OiBIdHRwQ29udGV4dDsgdHJhbnNmZXJDYWNoZT86IGJvb2xlYW4gfVxuICApOiBPYnNlcnZhYmxlPEFycmF5PHN0cmluZz4+O1xuICBwdWJsaWMgZ2V0TWF0ZXJpYWxJc3N1ZUZpZWxkTmFtZXMoXG4gICAgb2JzZXJ2ZT86ICdyZXNwb25zZScsXG4gICAgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuLFxuICAgIG9wdGlvbnM/OiB7IGh0dHBIZWFkZXJBY2NlcHQ/OiAnYXBwbGljYXRpb24vanNvbic7IGNvbnRleHQ/OiBIdHRwQ29udGV4dDsgdHJhbnNmZXJDYWNoZT86IGJvb2xlYW4gfVxuICApOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxBcnJheTxzdHJpbmc+Pj47XG4gIHB1YmxpYyBnZXRNYXRlcmlhbElzc3VlRmllbGROYW1lcyhcbiAgICBvYnNlcnZlPzogJ2V2ZW50cycsXG4gICAgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuLFxuICAgIG9wdGlvbnM/OiB7IGh0dHBIZWFkZXJBY2NlcHQ/OiAnYXBwbGljYXRpb24vanNvbic7IGNvbnRleHQ/OiBIdHRwQ29udGV4dDsgdHJhbnNmZXJDYWNoZT86IGJvb2xlYW4gfVxuICApOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxBcnJheTxzdHJpbmc+Pj47XG4gIHB1YmxpYyBnZXRNYXRlcmlhbElzc3VlRmllbGROYW1lcyhcbiAgICBvYnNlcnZlOiBhbnkgPSAnYm9keScsXG4gICAgcmVwb3J0UHJvZ3Jlc3M6IGJvb2xlYW4gPSBmYWxzZSxcbiAgICBvcHRpb25zPzogeyBodHRwSGVhZGVyQWNjZXB0PzogJ2FwcGxpY2F0aW9uL2pzb24nOyBjb250ZXh0PzogSHR0cENvbnRleHQ7IHRyYW5zZmVyQ2FjaGU/OiBib29sZWFuIH1cbiAgKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgbG9jYWxWYXJIZWFkZXJzID0gdGhpcy5kZWZhdWx0SGVhZGVycztcblxuICAgIGNvbnN0IGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkOiBzdHJpbmcgfCB1bmRlZmluZWQgPVxuICAgICAgb3B0aW9ucz8uaHR0cEhlYWRlckFjY2VwdCA/PyB0aGlzLmNvbmZpZ3VyYXRpb24uc2VsZWN0SGVhZGVyQWNjZXB0KFsnYXBwbGljYXRpb24vanNvbiddKTtcbiAgICBpZiAobG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgbG9jYWxWYXJIZWFkZXJzID0gbG9jYWxWYXJIZWFkZXJzLnNldCgnQWNjZXB0JywgbG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQpO1xuICAgIH1cblxuICAgIGNvbnN0IGxvY2FsVmFySHR0cENvbnRleHQ6IEh0dHBDb250ZXh0ID0gb3B0aW9ucz8uY29udGV4dCA/PyBuZXcgSHR0cENvbnRleHQoKTtcblxuICAgIGNvbnN0IGxvY2FsVmFyVHJhbnNmZXJDYWNoZTogYm9vbGVhbiA9IG9wdGlvbnM/LnRyYW5zZmVyQ2FjaGUgPz8gdHJ1ZTtcblxuICAgIGxldCByZXNwb25zZVR5cGVfOiAndGV4dCcgfCAnanNvbicgfCAnYmxvYicgPSAnanNvbic7XG4gICAgaWYgKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkKSB7XG4gICAgICBpZiAobG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQuc3RhcnRzV2l0aCgndGV4dCcpKSB7XG4gICAgICAgIHJlc3BvbnNlVHlwZV8gPSAndGV4dCc7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuY29uZmlndXJhdGlvbi5pc0pzb25NaW1lKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkKSkge1xuICAgICAgICByZXNwb25zZVR5cGVfID0gJ2pzb24nO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzcG9uc2VUeXBlXyA9ICdibG9iJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBsZXQgbG9jYWxWYXJQYXRoID0gYC9maWx0ZXJzL21hdGVyaWFsL2lzc3Vlc2A7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5yZXF1ZXN0PEFycmF5PHN0cmluZz4+KCdnZXQnLCBgJHt0aGlzLmNvbmZpZ3VyYXRpb24uYmFzZVBhdGh9JHtsb2NhbFZhclBhdGh9YCwge1xuICAgICAgY29udGV4dDogbG9jYWxWYXJIdHRwQ29udGV4dCxcbiAgICAgIHJlc3BvbnNlVHlwZTogPGFueT5yZXNwb25zZVR5cGVfLFxuICAgICAgd2l0aENyZWRlbnRpYWxzOiB0aGlzLmNvbmZpZ3VyYXRpb24ud2l0aENyZWRlbnRpYWxzLFxuICAgICAgaGVhZGVyczogbG9jYWxWYXJIZWFkZXJzLFxuICAgICAgb2JzZXJ2ZTogb2JzZXJ2ZSxcbiAgICAgIHRyYW5zZmVyQ2FjaGU6IGxvY2FsVmFyVHJhbnNmZXJDYWNoZSxcbiAgICAgIHJlcG9ydFByb2dyZXNzOiByZXBvcnRQcm9ncmVzcyxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgTWF0ZXJpYWwgVHlwZXNcbiAgICogUmV0dXJucyBhIG1hcCBvZiBodHRwOi8vdzNpZC5vcmcvb3BlbmVkdWh1Yi92b2NhYnMvbmV3X2xydF9hZ2dyZWdhdGVkLyBtYXRlcmlhbCB0eXBlcyB0byB0aGVpciBjb3JyZXNwb25kaW5nIGh0dHA6Ly93M2lkLm9yZy9vcGVuZWR1aHViL3ZvY2Ficy9uZXdfbHJ0IHR5cGVzXG4gICAqIEBwYXJhbSBvYnNlcnZlIHNldCB3aGV0aGVyIG9yIG5vdCB0byByZXR1cm4gdGhlIGRhdGEgT2JzZXJ2YWJsZSBhcyB0aGUgYm9keSwgcmVzcG9uc2Ugb3IgZXZlbnRzLiBkZWZhdWx0cyB0byByZXR1cm5pbmcgdGhlIGJvZHkuXG4gICAqIEBwYXJhbSByZXBvcnRQcm9ncmVzcyBmbGFnIHRvIHJlcG9ydCByZXF1ZXN0IGFuZCByZXNwb25zZSBwcm9ncmVzcy5cbiAgICovXG4gIHB1YmxpYyBnZXRNYXRlcmlhbFR5cGVzTWFwcGluZyhcbiAgICBvYnNlcnZlPzogJ2JvZHknLFxuICAgIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbixcbiAgICBvcHRpb25zPzogeyBodHRwSGVhZGVyQWNjZXB0PzogJ2FwcGxpY2F0aW9uL2pzb24nOyBjb250ZXh0PzogSHR0cENvbnRleHQ7IHRyYW5zZmVyQ2FjaGU/OiBib29sZWFuIH1cbiAgKTogT2JzZXJ2YWJsZTx7IFtrZXk6IHN0cmluZ106IEFycmF5PHN0cmluZz4gfT47XG4gIHB1YmxpYyBnZXRNYXRlcmlhbFR5cGVzTWFwcGluZyhcbiAgICBvYnNlcnZlPzogJ3Jlc3BvbnNlJyxcbiAgICByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4sXG4gICAgb3B0aW9ucz86IHsgaHR0cEhlYWRlckFjY2VwdD86ICdhcHBsaWNhdGlvbi9qc29uJzsgY29udGV4dD86IEh0dHBDb250ZXh0OyB0cmFuc2ZlckNhY2hlPzogYm9vbGVhbiB9XG4gICk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPHsgW2tleTogc3RyaW5nXTogQXJyYXk8c3RyaW5nPiB9Pj47XG4gIHB1YmxpYyBnZXRNYXRlcmlhbFR5cGVzTWFwcGluZyhcbiAgICBvYnNlcnZlPzogJ2V2ZW50cycsXG4gICAgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuLFxuICAgIG9wdGlvbnM/OiB7IGh0dHBIZWFkZXJBY2NlcHQ/OiAnYXBwbGljYXRpb24vanNvbic7IGNvbnRleHQ/OiBIdHRwQ29udGV4dDsgdHJhbnNmZXJDYWNoZT86IGJvb2xlYW4gfVxuICApOiBPYnNlcnZhYmxlPEh0dHBFdmVudDx7IFtrZXk6IHN0cmluZ106IEFycmF5PHN0cmluZz4gfT4+O1xuICBwdWJsaWMgZ2V0TWF0ZXJpYWxUeXBlc01hcHBpbmcoXG4gICAgb2JzZXJ2ZTogYW55ID0gJ2JvZHknLFxuICAgIHJlcG9ydFByb2dyZXNzOiBib29sZWFuID0gZmFsc2UsXG4gICAgb3B0aW9ucz86IHsgaHR0cEhlYWRlckFjY2VwdD86ICdhcHBsaWNhdGlvbi9qc29uJzsgY29udGV4dD86IEh0dHBDb250ZXh0OyB0cmFuc2ZlckNhY2hlPzogYm9vbGVhbiB9XG4gICk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IGxvY2FsVmFySGVhZGVycyA9IHRoaXMuZGVmYXVsdEhlYWRlcnM7XG5cbiAgICBjb25zdCBsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZDogc3RyaW5nIHwgdW5kZWZpbmVkID1cbiAgICAgIG9wdGlvbnM/Lmh0dHBIZWFkZXJBY2NlcHQgPz8gdGhpcy5jb25maWd1cmF0aW9uLnNlbGVjdEhlYWRlckFjY2VwdChbJ2FwcGxpY2F0aW9uL2pzb24nXSk7XG4gICAgaWYgKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGxvY2FsVmFySGVhZGVycyA9IGxvY2FsVmFySGVhZGVycy5zZXQoJ0FjY2VwdCcsIGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkKTtcbiAgICB9XG5cbiAgICBjb25zdCBsb2NhbFZhckh0dHBDb250ZXh0OiBIdHRwQ29udGV4dCA9IG9wdGlvbnM/LmNvbnRleHQgPz8gbmV3IEh0dHBDb250ZXh0KCk7XG5cbiAgICBjb25zdCBsb2NhbFZhclRyYW5zZmVyQ2FjaGU6IGJvb2xlYW4gPSBvcHRpb25zPy50cmFuc2ZlckNhY2hlID8/IHRydWU7XG5cbiAgICBsZXQgcmVzcG9uc2VUeXBlXzogJ3RleHQnIHwgJ2pzb24nIHwgJ2Jsb2InID0gJ2pzb24nO1xuICAgIGlmIChsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCkge1xuICAgICAgaWYgKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkLnN0YXJ0c1dpdGgoJ3RleHQnKSkge1xuICAgICAgICByZXNwb25zZVR5cGVfID0gJ3RleHQnO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLmNvbmZpZ3VyYXRpb24uaXNKc29uTWltZShsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCkpIHtcbiAgICAgICAgcmVzcG9uc2VUeXBlXyA9ICdqc29uJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlc3BvbnNlVHlwZV8gPSAnYmxvYic7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGV0IGxvY2FsVmFyUGF0aCA9IGAvZmlsdGVycy9tYXRlcmlhbC90eXBlc2A7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5yZXF1ZXN0PHsgW2tleTogc3RyaW5nXTogQXJyYXk8c3RyaW5nPiB9PihcbiAgICAgICdnZXQnLFxuICAgICAgYCR7dGhpcy5jb25maWd1cmF0aW9uLmJhc2VQYXRofSR7bG9jYWxWYXJQYXRofWAsXG4gICAgICB7XG4gICAgICAgIGNvbnRleHQ6IGxvY2FsVmFySHR0cENvbnRleHQsXG4gICAgICAgIHJlc3BvbnNlVHlwZTogPGFueT5yZXNwb25zZVR5cGVfLFxuICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRoaXMuY29uZmlndXJhdGlvbi53aXRoQ3JlZGVudGlhbHMsXG4gICAgICAgIGhlYWRlcnM6IGxvY2FsVmFySGVhZGVycyxcbiAgICAgICAgb2JzZXJ2ZTogb2JzZXJ2ZSxcbiAgICAgICAgdHJhbnNmZXJDYWNoZTogbG9jYWxWYXJUcmFuc2ZlckNhY2hlLFxuICAgICAgICByZXBvcnRQcm9ncmVzczogcmVwb3J0UHJvZ3Jlc3MsXG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgUHVibGljIEVuZHBvaW50c1xuICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBhbGwgcHVibGljIGVuZHBvaW50cyB0aGF0IGFyZSBhbGxvd2VkIGZvciBndWVzdHNcbiAgICogQHBhcmFtIG9ic2VydmUgc2V0IHdoZXRoZXIgb3Igbm90IHRvIHJldHVybiB0aGUgZGF0YSBPYnNlcnZhYmxlIGFzIHRoZSBib2R5LCByZXNwb25zZSBvciBldmVudHMuIGRlZmF1bHRzIHRvIHJldHVybmluZyB0aGUgYm9keS5cbiAgICogQHBhcmFtIHJlcG9ydFByb2dyZXNzIGZsYWcgdG8gcmVwb3J0IHJlcXVlc3QgYW5kIHJlc3BvbnNlIHByb2dyZXNzLlxuICAgKi9cbiAgcHVibGljIGdldFB1YmxpY0VuZHBvaW50cyhcbiAgICBvYnNlcnZlPzogJ2JvZHknLFxuICAgIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbixcbiAgICBvcHRpb25zPzogeyBodHRwSGVhZGVyQWNjZXB0PzogJ2FwcGxpY2F0aW9uL2pzb24nOyBjb250ZXh0PzogSHR0cENvbnRleHQ7IHRyYW5zZmVyQ2FjaGU/OiBib29sZWFuIH1cbiAgKTogT2JzZXJ2YWJsZTxBcnJheTxzdHJpbmc+PjtcbiAgcHVibGljIGdldFB1YmxpY0VuZHBvaW50cyhcbiAgICBvYnNlcnZlPzogJ3Jlc3BvbnNlJyxcbiAgICByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4sXG4gICAgb3B0aW9ucz86IHsgaHR0cEhlYWRlckFjY2VwdD86ICdhcHBsaWNhdGlvbi9qc29uJzsgY29udGV4dD86IEh0dHBDb250ZXh0OyB0cmFuc2ZlckNhY2hlPzogYm9vbGVhbiB9XG4gICk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPEFycmF5PHN0cmluZz4+PjtcbiAgcHVibGljIGdldFB1YmxpY0VuZHBvaW50cyhcbiAgICBvYnNlcnZlPzogJ2V2ZW50cycsXG4gICAgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuLFxuICAgIG9wdGlvbnM/OiB7IGh0dHBIZWFkZXJBY2NlcHQ/OiAnYXBwbGljYXRpb24vanNvbic7IGNvbnRleHQ/OiBIdHRwQ29udGV4dDsgdHJhbnNmZXJDYWNoZT86IGJvb2xlYW4gfVxuICApOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxBcnJheTxzdHJpbmc+Pj47XG4gIHB1YmxpYyBnZXRQdWJsaWNFbmRwb2ludHMoXG4gICAgb2JzZXJ2ZTogYW55ID0gJ2JvZHknLFxuICAgIHJlcG9ydFByb2dyZXNzOiBib29sZWFuID0gZmFsc2UsXG4gICAgb3B0aW9ucz86IHsgaHR0cEhlYWRlckFjY2VwdD86ICdhcHBsaWNhdGlvbi9qc29uJzsgY29udGV4dD86IEh0dHBDb250ZXh0OyB0cmFuc2ZlckNhY2hlPzogYm9vbGVhbiB9XG4gICk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IGxvY2FsVmFySGVhZGVycyA9IHRoaXMuZGVmYXVsdEhlYWRlcnM7XG5cbiAgICBsZXQgbG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IG9wdGlvbnMgJiYgb3B0aW9ucy5odHRwSGVhZGVyQWNjZXB0O1xuICAgIGlmIChsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAvLyB0byBkZXRlcm1pbmUgdGhlIEFjY2VwdCBoZWFkZXJcbiAgICAgIGNvbnN0IGh0dHBIZWFkZXJBY2NlcHRzOiBzdHJpbmdbXSA9IFsnYXBwbGljYXRpb24vanNvbiddO1xuICAgICAgbG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQgPSB0aGlzLmNvbmZpZ3VyYXRpb24uc2VsZWN0SGVhZGVyQWNjZXB0KGh0dHBIZWFkZXJBY2NlcHRzKTtcbiAgICB9XG4gICAgaWYgKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGxvY2FsVmFySGVhZGVycyA9IGxvY2FsVmFySGVhZGVycy5zZXQoJ0FjY2VwdCcsIGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkKTtcbiAgICB9XG5cbiAgICBsZXQgbG9jYWxWYXJIdHRwQ29udGV4dDogSHR0cENvbnRleHQgfCB1bmRlZmluZWQgPSBvcHRpb25zICYmIG9wdGlvbnMuY29udGV4dDtcbiAgICBpZiAobG9jYWxWYXJIdHRwQ29udGV4dCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBsb2NhbFZhckh0dHBDb250ZXh0ID0gbmV3IEh0dHBDb250ZXh0KCk7XG4gICAgfVxuXG4gICAgbGV0IGxvY2FsVmFyVHJhbnNmZXJDYWNoZTogYm9vbGVhbiB8IHVuZGVmaW5lZCA9IG9wdGlvbnMgJiYgb3B0aW9ucy50cmFuc2ZlckNhY2hlO1xuICAgIGlmIChsb2NhbFZhclRyYW5zZmVyQ2FjaGUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgbG9jYWxWYXJUcmFuc2ZlckNhY2hlID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBsZXQgcmVzcG9uc2VUeXBlXzogJ3RleHQnIHwgJ2pzb24nIHwgJ2Jsb2InID0gJ2pzb24nO1xuICAgIGlmIChsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCkge1xuICAgICAgaWYgKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkLnN0YXJ0c1dpdGgoJ3RleHQnKSkge1xuICAgICAgICByZXNwb25zZVR5cGVfID0gJ3RleHQnO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLmNvbmZpZ3VyYXRpb24uaXNKc29uTWltZShsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCkpIHtcbiAgICAgICAgcmVzcG9uc2VUeXBlXyA9ICdqc29uJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlc3BvbnNlVHlwZV8gPSAnYmxvYic7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGV0IGxvY2FsVmFyUGF0aCA9IGAvZmlsdGVycy9wdWJsaWNfZW5kcG9pbnRzYDtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnJlcXVlc3Q8QXJyYXk8c3RyaW5nPj4oJ2dldCcsIGAke3RoaXMuY29uZmlndXJhdGlvbi5iYXNlUGF0aH0ke2xvY2FsVmFyUGF0aH1gLCB7XG4gICAgICBjb250ZXh0OiBsb2NhbFZhckh0dHBDb250ZXh0LFxuICAgICAgcmVzcG9uc2VUeXBlOiA8YW55PnJlc3BvbnNlVHlwZV8sXG4gICAgICB3aXRoQ3JlZGVudGlhbHM6IHRoaXMuY29uZmlndXJhdGlvbi53aXRoQ3JlZGVudGlhbHMsXG4gICAgICBoZWFkZXJzOiBsb2NhbFZhckhlYWRlcnMsXG4gICAgICBvYnNlcnZlOiBvYnNlcnZlLFxuICAgICAgdHJhbnNmZXJDYWNoZTogbG9jYWxWYXJUcmFuc2ZlckNhY2hlLFxuICAgICAgcmVwb3J0UHJvZ3Jlc3M6IHJlcG9ydFByb2dyZXNzLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSBvYnNlcnZlIHNldCB3aGV0aGVyIG9yIG5vdCB0byByZXR1cm4gdGhlIGRhdGEgT2JzZXJ2YWJsZSBhcyB0aGUgYm9keSwgcmVzcG9uc2Ugb3IgZXZlbnRzLiBkZWZhdWx0cyB0byByZXR1cm5pbmcgdGhlIGJvZHkuXG4gICAqIEBwYXJhbSByZXBvcnRQcm9ncmVzcyBmbGFnIHRvIHJlcG9ydCByZXF1ZXN0IGFuZCByZXNwb25zZSBwcm9ncmVzcy5cbiAgICovXG4gIHB1YmxpYyBnZXRRdWFsaXR4TWF0cml4RmlsdGVycyhcbiAgICBvYnNlcnZlPzogJ2JvZHknLFxuICAgIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbixcbiAgICBvcHRpb25zPzogeyBodHRwSGVhZGVyQWNjZXB0PzogJ2FwcGxpY2F0aW9uL2pzb24nOyBjb250ZXh0PzogSHR0cENvbnRleHQ7IHRyYW5zZmVyQ2FjaGU/OiBib29sZWFuIH1cbiAgKTogT2JzZXJ2YWJsZTxBcnJheTxGaWx0ZXI+PjtcbiAgcHVibGljIGdldFF1YWxpdHhNYXRyaXhGaWx0ZXJzKFxuICAgIG9ic2VydmU/OiAncmVzcG9uc2UnLFxuICAgIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbixcbiAgICBvcHRpb25zPzogeyBodHRwSGVhZGVyQWNjZXB0PzogJ2FwcGxpY2F0aW9uL2pzb24nOyBjb250ZXh0PzogSHR0cENvbnRleHQ7IHRyYW5zZmVyQ2FjaGU/OiBib29sZWFuIH1cbiAgKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8QXJyYXk8RmlsdGVyPj4+O1xuICBwdWJsaWMgZ2V0UXVhbGl0eE1hdHJpeEZpbHRlcnMoXG4gICAgb2JzZXJ2ZT86ICdldmVudHMnLFxuICAgIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbixcbiAgICBvcHRpb25zPzogeyBodHRwSGVhZGVyQWNjZXB0PzogJ2FwcGxpY2F0aW9uL2pzb24nOyBjb250ZXh0PzogSHR0cENvbnRleHQ7IHRyYW5zZmVyQ2FjaGU/OiBib29sZWFuIH1cbiAgKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8QXJyYXk8RmlsdGVyPj4+O1xuICBwdWJsaWMgZ2V0UXVhbGl0eE1hdHJpeEZpbHRlcnMoXG4gICAgb2JzZXJ2ZTogYW55ID0gJ2JvZHknLFxuICAgIHJlcG9ydFByb2dyZXNzOiBib29sZWFuID0gZmFsc2UsXG4gICAgb3B0aW9ucz86IHsgaHR0cEhlYWRlckFjY2VwdD86ICdhcHBsaWNhdGlvbi9qc29uJzsgY29udGV4dD86IEh0dHBDb250ZXh0OyB0cmFuc2ZlckNhY2hlPzogYm9vbGVhbiB9XG4gICk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IGxvY2FsVmFySGVhZGVycyA9IHRoaXMuZGVmYXVsdEhlYWRlcnM7XG5cbiAgICBjb25zdCBsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZDogc3RyaW5nIHwgdW5kZWZpbmVkID1cbiAgICAgIG9wdGlvbnM/Lmh0dHBIZWFkZXJBY2NlcHQgPz8gdGhpcy5jb25maWd1cmF0aW9uLnNlbGVjdEhlYWRlckFjY2VwdChbJ2FwcGxpY2F0aW9uL2pzb24nXSk7XG4gICAgaWYgKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGxvY2FsVmFySGVhZGVycyA9IGxvY2FsVmFySGVhZGVycy5zZXQoJ0FjY2VwdCcsIGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkKTtcbiAgICB9XG5cbiAgICBjb25zdCBsb2NhbFZhckh0dHBDb250ZXh0OiBIdHRwQ29udGV4dCA9IG9wdGlvbnM/LmNvbnRleHQgPz8gbmV3IEh0dHBDb250ZXh0KCk7XG5cbiAgICBjb25zdCBsb2NhbFZhclRyYW5zZmVyQ2FjaGU6IGJvb2xlYW4gPSBvcHRpb25zPy50cmFuc2ZlckNhY2hlID8/IHRydWU7XG5cbiAgICBsZXQgcmVzcG9uc2VUeXBlXzogJ3RleHQnIHwgJ2pzb24nIHwgJ2Jsb2InID0gJ2pzb24nO1xuICAgIGlmIChsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCkge1xuICAgICAgaWYgKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkLnN0YXJ0c1dpdGgoJ3RleHQnKSkge1xuICAgICAgICByZXNwb25zZVR5cGVfID0gJ3RleHQnO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLmNvbmZpZ3VyYXRpb24uaXNKc29uTWltZShsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCkpIHtcbiAgICAgICAgcmVzcG9uc2VUeXBlXyA9ICdqc29uJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlc3BvbnNlVHlwZV8gPSAnYmxvYic7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGV0IGxvY2FsVmFyUGF0aCA9IGAvZmlsdGVyc2A7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5yZXF1ZXN0PEFycmF5PEZpbHRlcj4+KCdnZXQnLCBgJHt0aGlzLmNvbmZpZ3VyYXRpb24uYmFzZVBhdGh9JHtsb2NhbFZhclBhdGh9YCwge1xuICAgICAgY29udGV4dDogbG9jYWxWYXJIdHRwQ29udGV4dCxcbiAgICAgIHJlc3BvbnNlVHlwZTogPGFueT5yZXNwb25zZVR5cGVfLFxuICAgICAgd2l0aENyZWRlbnRpYWxzOiB0aGlzLmNvbmZpZ3VyYXRpb24ud2l0aENyZWRlbnRpYWxzLFxuICAgICAgaGVhZGVyczogbG9jYWxWYXJIZWFkZXJzLFxuICAgICAgb2JzZXJ2ZTogb2JzZXJ2ZSxcbiAgICAgIHRyYW5zZmVyQ2FjaGU6IGxvY2FsVmFyVHJhbnNmZXJDYWNoZSxcbiAgICAgIHJlcG9ydFByb2dyZXNzOiByZXBvcnRQcm9ncmVzcyxcbiAgICB9KTtcbiAgfVxufVxuIl19
|