vcomply-workflow-engine 3.4.23 → 3.4.24
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/esm2020/lib/add-multiple-responsibility/add-multiple-responsibility.component.mjs +2 -4
- package/esm2020/lib/add-multiple-risk/add-multiple-risk.component.mjs +2 -3
- package/esm2020/lib/formgroup/cs-select/cs-select.component.mjs +5 -5
- package/esm2020/lib/formgroup/cs-switch/cs-switch.component.mjs +1 -4
- package/esm2020/lib/log-an-issue/log-an-issue.component.mjs +1 -11
- package/esm2020/lib/more-option/more-option.component.mjs +5 -6
- package/esm2020/lib/pipes/filter.pipe.mjs +1 -2
- package/esm2020/lib/pipes/search.pipe.mjs +3 -5
- package/esm2020/lib/sharedComponents/approval-workflow/approval-create-form/approval-create-form.component.mjs +3 -7
- package/esm2020/lib/sharedComponents/approval-workflow/approval-workflow-list/approval-workflow-list.component.mjs +1 -5
- package/esm2020/lib/sharedComponents/approval-workflow/approval-workflow.component.mjs +1 -7
- package/esm2020/lib/sharedComponents/assessment-editor/create-assessment-container/create-assessment-container.component.mjs +80 -36
- package/esm2020/lib/sharedComponents/assessment-list/assessment-list.component.mjs +27 -21
- package/esm2020/lib/sharedComponents/assessment-preview/preview/preview.component.mjs +7 -4
- package/esm2020/lib/sharedComponents/audit-category-list/audit-category-list.component.mjs +3 -4
- package/esm2020/lib/sharedComponents/bulk-responsibility-view/bulk-responsibility-view.component.mjs +3 -9
- package/esm2020/lib/sharedComponents/bulk-view/bulk-view.component.mjs +9 -7
- package/esm2020/lib/sharedComponents/category-multiselect/category-multi-select.component.mjs +6 -8
- package/esm2020/lib/sharedComponents/checkpoint/checkpoints/checkpoints.component.mjs +93 -27
- package/esm2020/lib/sharedComponents/checkpoint/checkpoints-questions/checkpoints-questions.component.mjs +11 -9
- package/esm2020/lib/sharedComponents/checkpoint-policy/checkpoints-policy-container/checkpoints-policy-container.component.mjs +13 -12
- package/esm2020/lib/sharedComponents/checkpoint-policy/checkpoints-policy-questions/checkpoints-policy-questions.component.mjs +28 -19
- package/esm2020/lib/sharedComponents/floating-bar/floating-bar.component.mjs +8 -8
- package/esm2020/lib/sharedComponents/format-and-evidence/format-and-evidence.component.mjs +35 -37
- package/esm2020/lib/sharedComponents/framework-list/parent-table/parent-table.component.mjs +7 -7
- package/esm2020/lib/sharedComponents/frequency/frequency-biannual/frequency-biannual.component.mjs +1 -12
- package/esm2020/lib/sharedComponents/frequency/frequency-container/frequency-container.component.mjs +1 -3
- package/esm2020/lib/sharedComponents/frequency/frequency-daily/frequency-daily.component.mjs +1 -13
- package/esm2020/lib/sharedComponents/frequency/frequency-due-date/frequency-due-date.component.mjs +1 -7
- package/esm2020/lib/sharedComponents/frequency/frequency-lifecycle/frequency-lifecycle.component.mjs +1 -26
- package/esm2020/lib/sharedComponents/frequency/frequency-monthly/frequency-monthly.component.mjs +1 -15
- package/esm2020/lib/sharedComponents/frequency/frequency-one-time/frequency-one-time.component.mjs +1 -14
- package/esm2020/lib/sharedComponents/frequency/frequency-ongoing/frequency-ongoing.component.mjs +14 -8
- package/esm2020/lib/sharedComponents/frequency/frequency-quarterly/frequency-quarterly.component.mjs +1 -13
- package/esm2020/lib/sharedComponents/frequency/frequency-radio-list/frequency-radio-list.component.mjs +1 -2
- package/esm2020/lib/sharedComponents/frequency/frequency-random/frequency-random.component.mjs +1 -18
- package/esm2020/lib/sharedComponents/frequency/frequency-top/frequency-top.component.mjs +2 -2
- package/esm2020/lib/sharedComponents/frequency/frequency-weekly/frequency-weekly.component.mjs +1 -12
- package/esm2020/lib/sharedComponents/frequency/frequency.service.mjs +2 -11
- package/esm2020/lib/sharedComponents/frequency-dialog/frequency-dialog-annual/frequency-dialog-annual.component.mjs +1 -2
- package/esm2020/lib/sharedComponents/frequency-dialog/frequency-dialog-biannual/frequency-dialog-biannual.component.mjs +1 -2
- package/esm2020/lib/sharedComponents/frequency-dialog/frequency-dialog-monthly/frequency-dialog-monthly.component.mjs +1 -2
- package/esm2020/lib/sharedComponents/frequency-dialog/frequency-dialog-one-time/frequency-dialog-one-time.component.mjs +1 -2
- package/esm2020/lib/sharedComponents/frequency-dialog/frequency-dialog-quarterly/frequency-dialog-quarterly.component.mjs +1 -2
- package/esm2020/lib/sharedComponents/frequency-dialog/frequency-dialog-radio-list/frequency-dialog-radio-list.component.mjs +1 -2
- package/esm2020/lib/sharedComponents/frequency-dialog/frequency-dialog-top/frequency-dialog-top.component.mjs +2 -2
- package/esm2020/lib/sharedComponents/group-users-list/group-users-list.component.mjs +1 -3
- package/esm2020/lib/sharedComponents/link-program/link-program/link-program.component.mjs +48 -38
- package/esm2020/lib/sharedComponents/link-program/restapi.service.mjs +31 -16
- package/esm2020/lib/sharedComponents/no-data/no-data.component.mjs +2 -4
- package/esm2020/lib/sharedComponents/owner-list/owner-list.component.mjs +12 -10
- package/esm2020/lib/sharedComponents/program-listing/program-listing.component.mjs +127 -58
- package/esm2020/lib/sharedComponents/radio-list-with-pagination/radio-list.component.mjs +4 -7
- package/esm2020/lib/sharedComponents/risk-classification/risk-classification.component.mjs +11 -6
- package/esm2020/lib/sharedComponents/select-approvers/select-approvers.component.mjs +1 -2
- package/esm2020/lib/sharedComponents/users-radio-list/users-radio-list.component.mjs +2 -3
- package/esm2020/lib/ui-kit/formgroup/cs-switch/cs-switch.component.mjs +1 -4
- package/esm2020/lib/ui-kit/popover/popover-longpress.directive.mjs +1 -3
- package/esm2020/lib/ui-kit/popover/popover.component.mjs +26 -12
- package/esm2020/lib/ui-kit/tooltip/tooltip.directive.mjs +8 -5
- package/esm2020/lib/workflow/shared/components/attributes/attributes.component.mjs +1 -2
- package/esm2020/lib/workflow/shared/components/edit-mode/edit-mode.component.mjs +1 -4
- package/esm2020/lib/workflow/shared/components/grc-object-list/grc-object-list.component.mjs +1 -2
- package/esm2020/lib/workflow/shared/components/list-popup/list-popup.component.mjs +1 -4
- package/esm2020/lib/workflow/shared/components/table-card/table-card.component.mjs +4 -8
- package/esm2020/lib/workflow-assessment/import-an-assessment/import-an-assessment.component.mjs +245 -108
- package/esm2020/lib/workflow-assessment/workflow-assessment.component.mjs +2 -4
- package/esm2020/lib/workflow-compliance/workflow-compliance.component.mjs +10 -8
- package/esm2020/lib/workflow-engine-container/workflow-engine-container.component.mjs +1 -5
- package/esm2020/lib/workflow-program/create-program-ui/assessment-picker/assessment-picker.component.mjs +45 -45
- package/esm2020/lib/workflow-program/create-program-ui/define-framework-listing/define-framework-listing.component.mjs +43 -25
- package/esm2020/lib/workflow-program/create-program-ui/define-framework-listing/pipes/sub-cat-indeter.pipe.mjs +4 -4
- package/esm2020/lib/workflow-program/create-program-ui/floating-bar/floating-bar.component.mjs +1 -2
- package/esm2020/lib/workflow-program/create-program-ui/pagination/pagination/pagination.component.mjs +25 -14
- package/esm2020/lib/workflow-program/create-program-ui/pipes/assessment-resolver.pipe.mjs +6 -3
- package/esm2020/lib/workflow-program/create-program-ui/role-list/role-list.component.mjs +25 -19
- package/esm2020/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.mjs +1 -4
- package/esm2020/lib/workflow-program/workflow-program.component.mjs +232 -110
- package/esm2020/lib/workflow-services/add-risk.service.mjs +1 -2
- package/esm2020/lib/workflow-services/assessment.service.mjs +1 -5
- package/esm2020/lib/workflow-services/programs.service.mjs +173 -57
- package/fesm2015/vcomply-workflow-engine.mjs +1376 -934
- package/fesm2015/vcomply-workflow-engine.mjs.map +1 -1
- package/fesm2020/vcomply-workflow-engine.mjs +1386 -939
- package/fesm2020/vcomply-workflow-engine.mjs.map +1 -1
- package/lib/formgroup/cs-switch/cs-switch.component.d.ts +2 -3
- package/lib/sharedComponents/assessment-list/assessment-list.component.d.ts +4 -5
- package/lib/sharedComponents/bulk-responsibility-view/bulk-responsibility-view.component.d.ts +2 -3
- package/lib/sharedComponents/bulk-view/bulk-view.component.d.ts +2 -3
- package/lib/sharedComponents/frequency/frequency-lifecycle/frequency-lifecycle.component.d.ts +2 -4
- package/lib/sharedComponents/frequency/frequency-ongoing/frequency-ongoing.component.d.ts +1 -1
- package/lib/sharedComponents/link-program/restapi.service.d.ts +3 -3
- package/lib/sharedComponents/no-data/no-data.component.d.ts +2 -4
- package/lib/ui-kit/formgroup/cs-switch/cs-switch.component.d.ts +2 -3
- package/lib/workflow/shared/components/edit-mode/edit-mode.component.d.ts +2 -3
- package/lib/workflow/shared/components/list-popup/list-popup.component.d.ts +2 -3
- package/lib/workflow/shared/components/table-card/table-card.component.d.ts +2 -5
- package/lib/workflow-program/create-program-ui/assessment-picker/assessment-picker.component.d.ts +8 -9
- package/lib/workflow-program/create-program-ui/pagination/pagination/pagination.component.d.ts +2 -4
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Injectable, Optional } from '@angular/core';
|
|
2
|
-
import { HttpHeaders } from '@angular/common/http';
|
|
2
|
+
import { HttpHeaders, } from '@angular/common/http';
|
|
3
3
|
import { throwError } from 'rxjs';
|
|
4
4
|
import { of } from 'rxjs';
|
|
5
5
|
import { retry, catchError } from 'rxjs/operators';
|
|
@@ -16,9 +16,9 @@ export class RestApiService {
|
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
18
|
/**
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
* Interceptor where will intercept any thing has to be intercept in header like token or business cycle
|
|
20
|
+
* anything related to common which needs to pass in each api
|
|
21
|
+
*/
|
|
22
22
|
intercept(request, next) {
|
|
23
23
|
return next.handle(request);
|
|
24
24
|
}
|
|
@@ -53,7 +53,7 @@ export class RestApiService {
|
|
|
53
53
|
const localStorageData = localStorage.getItem('businessCycle') ?? '';
|
|
54
54
|
const businessCycle = JSON.parse(localStorageData)?.selectedCycle;
|
|
55
55
|
let currentBusinessCycle = {
|
|
56
|
-
selected_cycle: businessCycle?.start_date +
|
|
56
|
+
selected_cycle: businessCycle?.start_date + '-' + businessCycle?.end_date,
|
|
57
57
|
start_date: businessCycle?.start_date,
|
|
58
58
|
end_date: businessCycle?.end_date,
|
|
59
59
|
selected_cycle_arr: businessCycle?.selected_cycle_arr,
|
|
@@ -74,18 +74,25 @@ export class RestApiService {
|
|
|
74
74
|
httpOptions.headers = httpOptions.headers.append('x-business-cycle', JSON.stringify(req.businessCycle));
|
|
75
75
|
}
|
|
76
76
|
const url = this.env[req?.action];
|
|
77
|
-
console.log("=============>", this.env, req);
|
|
78
77
|
switch (req.method.toLowerCase()) {
|
|
79
78
|
case 'get':
|
|
80
|
-
return this.httpClient
|
|
79
|
+
return this.httpClient
|
|
80
|
+
.get(url + additionalUrl, httpOptions)
|
|
81
|
+
.pipe(retry(2), catchError(this.handleError));
|
|
81
82
|
case 'post':
|
|
82
83
|
return this.httpClient.post(url + additionalUrl, req.data, httpOptions);
|
|
83
84
|
case 'put':
|
|
84
|
-
return this.httpClient
|
|
85
|
+
return this.httpClient
|
|
86
|
+
.put(url + additionalUrl, req.data)
|
|
87
|
+
.pipe(retry(2), catchError(this.handleError));
|
|
85
88
|
case 'patch':
|
|
86
|
-
return this.httpClient
|
|
89
|
+
return this.httpClient
|
|
90
|
+
.patch(url + additionalUrl, req.data)
|
|
91
|
+
.pipe(retry(2), catchError(this.handleError));
|
|
87
92
|
case 'delete':
|
|
88
|
-
return this.httpClient
|
|
93
|
+
return this.httpClient
|
|
94
|
+
.delete(url + additionalUrl, httpOptions)
|
|
95
|
+
.pipe(retry(2), catchError(this.handleError));
|
|
89
96
|
default:
|
|
90
97
|
return of('invalid req');
|
|
91
98
|
}
|
|
@@ -107,15 +114,23 @@ export class RestApiService {
|
|
|
107
114
|
const url = 'http://localhost:3000/dev';
|
|
108
115
|
switch (req.method.toLowerCase()) {
|
|
109
116
|
case 'get':
|
|
110
|
-
return this.httpClient
|
|
117
|
+
return this.httpClient
|
|
118
|
+
.get(url + req.action, httpOptions)
|
|
119
|
+
.pipe(retry(2), catchError(this.handleError));
|
|
111
120
|
case 'post':
|
|
112
121
|
return this.httpClient.post(url + req.action, req.data, httpOptions);
|
|
113
122
|
case 'put':
|
|
114
|
-
return this.httpClient
|
|
123
|
+
return this.httpClient
|
|
124
|
+
.put(url + req.action, req.data)
|
|
125
|
+
.pipe(retry(2), catchError(this.handleError));
|
|
115
126
|
case 'patch':
|
|
116
|
-
return this.httpClient
|
|
127
|
+
return this.httpClient
|
|
128
|
+
.patch(url + req.action, req.data)
|
|
129
|
+
.pipe(retry(2), catchError(this.handleError));
|
|
117
130
|
case 'delete':
|
|
118
|
-
return this.httpClient
|
|
131
|
+
return this.httpClient
|
|
132
|
+
.delete(url + req.action, httpOptions)
|
|
133
|
+
.pipe(retry(2), catchError(this.handleError));
|
|
119
134
|
default:
|
|
120
135
|
return of('invalid req');
|
|
121
136
|
}
|
|
@@ -126,9 +141,9 @@ RestApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", versi
|
|
|
126
141
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: RestApiService, decorators: [{
|
|
127
142
|
type: Injectable,
|
|
128
143
|
args: [{
|
|
129
|
-
providedIn: 'root'
|
|
144
|
+
providedIn: 'root',
|
|
130
145
|
}]
|
|
131
146
|
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.AuthService }, { type: i3.Configurations, decorators: [{
|
|
132
147
|
type: Optional
|
|
133
148
|
}] }]; } });
|
|
134
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdGFwaS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9saW5rLXByb2dyYW0vcmVzdGFwaS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBdUYsV0FBVyxFQUFjLE1BQU0sc0JBQXNCLENBQUM7QUFDcEosT0FBTyxFQUFFLFVBQVUsRUFBdUIsTUFBTSxNQUFNLENBQUM7QUFDdkQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQixPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7OztBQU9uRCxNQUFNLE9BQU8sY0FBYztJQUd6QixZQUFvQixVQUFzQixFQUFTLFdBQXVCLEVBQWUsTUFBdUI7UUFBNUYsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUFTLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBQ3hFLElBQUksTUFBTSxFQUFFO1lBQ1YsSUFBSSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDO1NBRTdCO0lBQ0gsQ0FBQztJQUVEOzs7TUFHRTtJQUNGLFNBQVMsQ0FBQyxPQUF5QixFQUFFLElBQWlCO1FBRXBELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQ7O09BRUc7SUFFSDs7Ozs7T0FLRztJQUNILFdBQVcsQ0FBQyxLQUF3QjtRQUNsQyxJQUFJLFlBQVksR0FBRyxnQkFBZ0IsQ0FBQztRQUNwQyxJQUFJLEtBQUssQ0FBQyxLQUFLLFlBQVksVUFBVSxFQUFFO1lBQ3JDLHFCQUFxQjtZQUNyQixZQUFZLEdBQUcsVUFBVSxLQUFLLENBQUMsS0FBSyxDQUFD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LFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztZQUN4RyxLQUFLLFFBQVE7Z0JBQ1gsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztZQUM1RztnQkFDRSxPQUFPLEVBQUUsQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUMxQjtJQUNILENBQUM7OzJHQTVIVSxjQUFjOytHQUFkLGNBQWMsY0FGYixNQUFNOzJGQUVQLGNBQWM7a0JBSDFCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFJK0UsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBFcnJvclJlc3BvbnNlLCBIdHRwSW50ZXJjZXB0b3IsIEh0dHBSZXF1ZXN0LCBIdHRwSGFuZGxlciwgSHR0cEV2ZW50LCBIdHRwSGVhZGVycywgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgdGhyb3dFcnJvciwgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyByZXRyeSwgY2F0Y2hFcnJvciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi8uLi93b3JrZmxvdy1zZXJ2aWNlcy9hdXRoLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDb25maWd1cmF0aW9ucyB9IGZyb20gJy4uLy4uL2NvbmZpZ3VyYXRpb25zJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFJlc3RBcGlTZXJ2aWNlIGltcGxlbWVudHMgSHR0cEludGVyY2VwdG9yIHtcclxuXHJcbiAgZW52ICE6IGFueTtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQscHJpdmF0ZSBhdXRoU2VydmljZTpBdXRoU2VydmljZSwgIEBPcHRpb25hbCgpIGNvbmZpZz86IENvbmZpZ3VyYXRpb25zKSB7IFxyXG4gICAgaWYgKGNvbmZpZykge1xyXG4gICAgICB0aGlzLmVudiA9IGNvbmZpZy5lbnZDb25maWc7XHJcblxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgKiBJbnRlcmNlcHRvciB3aGVyZSB3aWxsIGludGVyY2VwdCBhbnkgdGhpbmcgaGFzIHRvIGJlIGludGVyY2VwdCBpbiBoZWFkZXIgbGlrZSB0b2tlbiBvciBidXNpbmVzcyBjeWNsZVxyXG4gICogYW55dGhpbmcgcmVsYXRlZCB0byBjb21tb24gd2hpY2ggbmVlZHMgdG8gcGFzcyBpbiBlYWNoIGFwaVxyXG4gICovXHJcbiAgaW50ZXJjZXB0KHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4ge1xyXG5cclxuICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXF1ZXN0KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoaXMgSGFuZGxlciBjb250YWlucyBSRVNUX1VSTCB3aGljaCBpcyB1c2VkIHRvIGhvc3QgdGhlIHNlcnZlci5cclxuICAgKi9cclxuXHJcbiAgLyoqXHJcbiAgICogVGhpcyBkaXNwbGF5cyB0aGUgZXJyb3IgbWVzc2FnZSB3aGVuIHRoZSBzZXJ2ZXIgaXMgbm90IHRha2luZyB0aGUgZGF0YS5cclxuICAgKiBUaGVyZSBhcmUgVHdvIHR5cGVzIGVycm9ycy5cclxuICAgKiBDbGllbnQtc2lkZSBlcnJvcnMuXHJcbiAgICogU2VydmVyLXNpZGUgZXJyb3JzXHJcbiAgICovXHJcbiAgaGFuZGxlRXJyb3IoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSB7XHJcbiAgICBsZXQgZXJyb3JNZXNzYWdlID0gJ1Vua25vd24gZXJyb3IhJztcclxuICAgIGlmIChlcnJvci5lcnJvciBpbnN0YW5jZW9mIEVycm9yRXZlbnQpIHtcclxuICAgICAgLy8gQ2xpZW50LXNpZGUgZXJyb3JzXHJcbiAgICAgIGVycm9yTWVzc2FnZSA9IGBFcnJvcjogJHtlcnJvci5lcnJvci5tZXNzYWdlfWA7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAvLyBTZXJ2ZXItc2lkZSBlcnJvcnNcclxuICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PT0gNDAxKSB7XHJcbiAgICAgICAgLy8gYXV0byBsb2dvdXQgaWYgNDAxIHJlc3BvbnNlIHJldHVybmVkIGZyb20gYXBpXHJcbiAgICAgICAgbG9jYWxTdG9yYWdlLmNsZWFyKCk7XHJcbiAgICAgICAgbG9jYXRpb24ucmVsb2FkKCk7XHJcbiAgICAgIH1cclxuICAgICAgZXJyb3JNZXNzYWdlID0gYEVycm9yIENvZGU6ICR7ZXJyb3Iuc3RhdHVzfVxcbk1lc3NhZ2U6ICR7ZXJyb3IubWVzc2FnZX1gO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRocm93RXJyb3IoZXJyb3JNZXNzYWdlKTtcclxuICB9XHJcblxyXG4gICAvL2J1c2luZXNzIGN5Y2xlIGNvZGUgYWRkZWRcclxuICAgZ2V0QnVzaW5lc3NDeWNsZSgpe1xyXG5cclxuICAgIGNvbnN0IGxvY2FsU3RvcmFnZURhdGEgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnYnVzaW5lc3NDeWNsZScpID8/ICcnO1xyXG4gICAgY29uc3QgYnVzaW5lc3NDeWNsZSA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlRGF0YSk/LnNlbGVjdGVkQ3ljbGU7XHJcbiAgICBcclxuICAgIGxldCBjdXJyZW50QnVzaW5lc3NDeWNsZSA9IHtcclxuICAgICAgc2VsZWN0ZWRfY3ljbGU6IGJ1c2luZXNzQ3ljbGU/LnN0YXJ0X2RhdGUgKyBcIi1cIiArIGJ1c2luZXNzQ3ljbGU/LmVuZF9kYXRlLFxyXG4gICAgICBzdGFydF9kYXRlOiBidXNpbmVzc0N5Y2xlPy5zdGFydF9kYXRlLFxyXG4gICAgICBlbmRfZGF0ZTogYnVzaW5lc3NDeWNsZT8uZW5kX2RhdGUsXHJcbiAgICAgIHNlbGVjdGVkX2N5Y2xlX2FycjogYnVzaW5lc3NDeWNsZT8uc2VsZWN0ZWRfY3ljbGVfYXJyLFxyXG4gICAgfTtcclxuICAgIHJldHVybiBjdXJyZW50QnVzaW5lc3NDeWNsZTtcclxuXHJcbiAgfVxyXG5cclxuICBhcGlEZWxlZ2F0ZShyZXE6IGFueSwgYWRkaXRpb25hbFVybD86IHN0cmluZykge1xyXG4gICAgbGV0IGh0dHBPcHRpb25zOmFueSA9IHt9OyAgICBsZXQgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpO1xyXG4gICAgaHR0cE9wdGlvbnMuaGVhZGVycyA9IGhlYWRlcnMuYXBwZW5kKCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpXHJcbiAgICBpZihyZXE/LnBhcmFtcyl7XHJcbiAgICAgIGh0dHBPcHRpb25zLnBhcmFtcyA9IHJlcS5wYXJhbXM7XHJcbiAgICB9XHJcbiAgICBpZihyZXE/LnBheWxvYWRPYmplY3Qpe1xyXG4gICAgICBodHRwT3B0aW9ucy5oZWFkZXJzID0gaHR0cE9wdGlvbnMuaGVhZGVycy5hcHBlbmQoJ3BheWxvYWQtb2JqZWN0JyxKU09OLnN0cmluZ2lmeShyZXEucGF5bG9hZE9iamVjdCkpO1xyXG4gICAgfVxyXG4gICAgaWYocmVxPy5idXNpbmVzc0N5Y2xlKXtcclxuICAgICAgaHR0cE9wdGlvbnMuaGVhZGVycyA9IGh0dHBPcHRpb25zLmhlYWRlcnMuYXBwZW5kKCd4LWJ1c2luZXNzLWN5Y2xlJyxKU09OLnN0cmluZ2lmeShyZXEuYnVzaW5lc3NDeWNsZSkpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHVybCA9IHRoaXMuZW52W3JlcT8uYWN0aW9uXTtcclxuICAgIGNvbnNvbGUubG9nKFwiPT09PT09PT09PT09PT5cIiwgdGhpcy5lbnYsIHJlcSlcclxuICAgc3dpdGNoIChyZXEubWV0aG9kLnRvTG93ZXJDYXNlKCkpIHtcclxuICAgICAgY2FzZSAnZ2V0JzpcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldCh1cmwgKyBhZGRpdGlvbmFsVXJsLCBodHRwT3B0aW9ucykucGlwZShyZXRyeSgyKSwgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKSk7XHJcbiAgICAgIGNhc2UgJ3Bvc3QnOlxyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdCh1cmwgKyBhZGRpdGlvbmFsVXJsLCByZXEuZGF0YSwgaHR0cE9wdGlvbnMpO1xyXG4gICAgICBjYXNlICdwdXQnOlxyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucHV0KHVybCArIGFkZGl0aW9uYWxVcmwsIHJlcS5kYXRhKS5waXBlKHJldHJ5KDIpLCBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpKTtcclxuICAgICAgY2FzZSAncGF0Y2gnOlxyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucGF0Y2godXJsICsgYWRkaXRpb25hbFVybCwgcmVxLmRhdGEpLnBpcGUocmV0cnkoMiksIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcikpO1xyXG4gICAgICBjYXNlICdkZWxldGUnOlxyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZGVsZXRlKHVybCArIGFkZGl0aW9uYWxVcmwsIGh0dHBPcHRpb25zKS5waXBlKHJldHJ5KDIpLCBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpKTtcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gb2YoJ2ludmFsaWQgcmVxJyk7XHJcblxyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4vLyBkb24ndCB1c2UgdGhpc1xyXG4gIGFwaVRlc3REZWxlZ2F0ZShyZXE6IGFueSkge1xyXG4gICAgbGV0IGh0dHBPcHRpb25zOmFueSA9IHt9OyBcclxuICAgIGxldCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCk7XHJcbiAgICBodHRwT3B0aW9ucy5oZWFkZXJzID0gaGVhZGVycy5hcHBlbmQoJ3Rva2VuJywgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKSlcclxuICAgIGlmKHJlcT8ucGFyYW1zKXtcclxuICAgICAgaHR0cE9wdGlvbnMucGFyYW1zID0gcmVxLnBhcmFtcztcclxuICAgIH1cclxuICAgIGlmKHJlcT8ucGF5bG9hZE9iamVjdCl7XHJcbiAgICAgIGh0dHBPcHRpb25zLmhlYWRlcnMgPSBodHRwT3B0aW9ucy5oZWFkZXJzLmFwcGVuZCgncGF5bG9hZC1vYmplY3QnLEpTT04uc3RyaW5naWZ5KHJlcS5wYXlsb2FkT2JqZWN0KSk7XHJcbiAgICB9XHJcbiAgICBpZihyZXE/LmJ1c2luZXNzQ3ljbGUpe1xyXG4gICAgICBodHRwT3B0aW9ucy5oZWFkZXJzID0gaHR0cE9wdGlvbnMuaGVhZGVycy5hcHBlbmQoJ3gtYnVzaW5lc3MtY3ljbGUnLEpTT04uc3RyaW5naWZ5KHJlcS5idXNpbmVzc0N5Y2xlKSk7XHJcbiAgICB9XHJcbiAgICBjb25zdCB1cmwgPSAnaHR0cDovL2xvY2FsaG9zdDozMDAwL2Rldic7XHJcbiAgIHN3aXRjaCAocmVxLm1ldGhvZC50b0xvd2VyQ2FzZSgpKSB7XHJcbiAgICBjYXNlICdnZXQnOlxyXG4gICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldCh1cmwgKyByZXEuYWN0aW9uLCBodHRwT3B0aW9ucykucGlwZShyZXRyeSgyKSwgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKSk7XHJcbiAgICBjYXNlICdwb3N0JzpcclxuICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0KHVybCArIHJlcS5hY3Rpb24sIHJlcS5kYXRhLCBodHRwT3B0aW9ucyk7XHJcbiAgICBjYXNlICdwdXQnOlxyXG4gICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnB1dCh1cmwgKyByZXEuYWN0aW9uLCByZXEuZGF0YSkucGlwZShyZXRyeSgyKSwgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKSk7XHJcbiAgICBjYXNlICdwYXRjaCc6XHJcbiAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucGF0Y2godXJsICsgcmVxLmFjdGlvbiwgcmVxLmRhdGEpLnBpcGUocmV0cnkoMiksIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcikpO1xyXG4gICAgY2FzZSAnZGVsZXRlJzpcclxuICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5kZWxldGUodXJsICsgcmVxLmFjdGlvbiwgaHR0cE9wdGlvbnMpLnBpcGUocmV0cnkoMiksIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcikpO1xyXG4gICAgZGVmYXVsdDpcclxuICAgICAgcmV0dXJuIG9mKCdpbnZhbGlkIHJlcScpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG59XHJcbiJdfQ==
|
|
149
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdGFwaS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9saW5rLXByb2dyYW0vcmVzdGFwaS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFPTCxXQUFXLEdBRVosTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsVUFBVSxFQUF1QixNQUFNLE1BQU0sQ0FBQztBQUN2RCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFCLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBT25ELE1BQU0sT0FBTyxjQUFjO0lBRXpCLFlBQ1UsVUFBc0IsRUFDdEIsV0FBd0IsRUFDcEIsTUFBdUI7UUFGM0IsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUdoQyxJQUFJLE1BQU0sRUFBRTtZQUNWLElBQUksQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQztTQUM3QjtJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSCxTQUFTLENBQ1AsT0FBeUIsRUFDekIsSUFBaUI7UUFFakIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRDs7T0FFRztJQUVIOzs7OztPQUtHO0lBQ0gsV0FBVyxDQUFDLEtBQXdCO1FBQ2xDLElBQUksWUFBWSxHQUFHLGdCQUFnQixDQUFDO1FBQ3BDLElBQUksS0FBSyxDQUFDLEtBQUssWUFBWSxVQUFVLEVBQUU7WUFDckMscUJBQXFCO1lBQ3JCLFlBQVksR0FBRyxVQUFVLEtBQUssQ0FBQyxLQUFLLENB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Q0FBQyxDQUFDO1lBQ2xELEtBQUssUUFBUTtnQkFDWCxPQUFPLElBQUksQ0FBQyxVQUFVO3FCQUNuQixNQUFNLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDO3FCQUNyQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztZQUNsRDtnQkFDRSxPQUFPLEVBQUUsQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUM1QjtJQUNILENBQUM7OzJHQTlKVSxjQUFjOytHQUFkLGNBQWMsY0FGYixNQUFNOzJGQUVQLGNBQWM7a0JBSDFCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFNSSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBIdHRwQ2xpZW50LFxyXG4gIEh0dHBFcnJvclJlc3BvbnNlLFxyXG4gIEh0dHBJbnRlcmNlcHRvcixcclxuICBIdHRwUmVxdWVzdCxcclxuICBIdHRwSGFuZGxlcixcclxuICBIdHRwRXZlbnQsXHJcbiAgSHR0cEhlYWRlcnMsXHJcbiAgSHR0cFBhcmFtcyxcclxufSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IHRocm93RXJyb3IsIE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgb2YgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgcmV0cnksIGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vd29ya2Zsb3ctc2VydmljZXMvYXV0aC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ29uZmlndXJhdGlvbnMgfSBmcm9tICcuLi8uLi9jb25maWd1cmF0aW9ucyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmVzdEFwaVNlcnZpY2UgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xyXG4gIGVudiE6IGFueTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgaHR0cENsaWVudDogSHR0cENsaWVudCxcclxuICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxyXG4gICAgQE9wdGlvbmFsKCkgY29uZmlnPzogQ29uZmlndXJhdGlvbnNcclxuICApIHtcclxuICAgIGlmIChjb25maWcpIHtcclxuICAgICAgdGhpcy5lbnYgPSBjb25maWcuZW52Q29uZmlnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSW50ZXJjZXB0b3Igd2hlcmUgd2lsbCBpbnRlcmNlcHQgYW55IHRoaW5nIGhhcyB0byBiZSBpbnRlcmNlcHQgaW4gaGVhZGVyIGxpa2UgdG9rZW4gb3IgYnVzaW5lc3MgY3ljbGVcclxuICAgKiBhbnl0aGluZyByZWxhdGVkIHRvIGNvbW1vbiB3aGljaCBuZWVkcyB0byBwYXNzIGluIGVhY2ggYXBpXHJcbiAgICovXHJcbiAgaW50ZXJjZXB0KFxyXG4gICAgcmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55PixcclxuICAgIG5leHQ6IEh0dHBIYW5kbGVyXHJcbiAgKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4ge1xyXG4gICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcXVlc3QpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVGhpcyBIYW5kbGVyIGNvbnRhaW5zIFJFU1RfVVJMIHdoaWNoIGlzIHVzZWQgdG8gaG9zdCB0aGUgc2VydmVyLlxyXG4gICAqL1xyXG5cclxuICAvKipcclxuICAgKiBUaGlzIGRpc3BsYXlzIHRoZSBlcnJvciBtZXNzYWdlIHdoZW4gdGhlIHNlcnZlciBpcyBub3QgdGFraW5nIHRoZSBkYXRhLlxyXG4gICAqIFRoZXJlIGFyZSBUd28gdHlwZXMgZXJyb3JzLlxyXG4gICAqIENsaWVudC1zaWRlIGVycm9ycy5cclxuICAgKiBTZXJ2ZXItc2lkZSBlcnJvcnNcclxuICAgKi9cclxuICBoYW5kbGVFcnJvcihlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpIHtcclxuICAgIGxldCBlcnJvck1lc3NhZ2UgPSAnVW5rbm93biBlcnJvciEnO1xyXG4gICAgaWYgKGVycm9yLmVycm9yIGluc3RhbmNlb2YgRXJyb3JFdmVudCkge1xyXG4gICAgICAvLyBDbGllbnQtc2lkZSBlcnJvcnNcclxuICAgICAgZXJyb3JNZXNzYWdlID0gYEVycm9yOiAke2Vycm9yLmVycm9yLm1lc3NhZ2V9YDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIC8vIFNlcnZlci1zaWRlIGVycm9yc1xyXG4gICAgICBpZiAoZXJyb3Iuc3RhdHVzID09PSA0MDEpIHtcclxuICAgICAgICAvLyBhdXRvIGxvZ291dCBpZiA0MDEgcmVzcG9uc2UgcmV0dXJuZWQgZnJvbSBhcGlcclxuICAgICAgICBsb2NhbFN0b3JhZ2UuY2xlYXIoKTtcclxuICAgICAgICBsb2NhdGlvbi5yZWxvYWQoKTtcclxuICAgICAgfVxyXG4gICAgICBlcnJvck1lc3NhZ2UgPSBgRXJyb3IgQ29kZTogJHtlcnJvci5zdGF0dXN9XFxuTWVzc2FnZTogJHtlcnJvci5tZXNzYWdlfWA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhyb3dFcnJvcihlcnJvck1lc3NhZ2UpO1xyXG4gIH1cclxuXHJcbiAgLy9idXNpbmVzcyBjeWNsZSBjb2RlIGFkZGVkXHJcbiAgZ2V0QnVzaW5lc3NDeWNsZSgpIHtcclxuICAgIGNvbnN0IGxvY2FsU3RvcmFnZURhdGEgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnYnVzaW5lc3NDeWNsZScpID8/ICcnO1xyXG4gICAgY29uc3QgYnVzaW5lc3NDeWNsZSA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlRGF0YSk/LnNlbGVjdGVkQ3ljbGU7XHJcblxyXG4gICAgbGV0IGN1cnJlbnRCdXNpbmVzc0N5Y2xlID0ge1xyXG4gICAgICBzZWxlY3RlZF9jeWNsZTogYnVzaW5lc3NDeWNsZT8uc3RhcnRfZGF0ZSArICctJyArIGJ1c2luZXNzQ3ljbGU/LmVuZF9kYXRlLFxyXG4gICAgICBzdGFydF9kYXRlOiBidXNpbmVzc0N5Y2xlPy5zdGFydF9kYXRlLFxyXG4gICAgICBlbmRfZGF0ZTogYnVzaW5lc3NDeWNsZT8uZW5kX2RhdGUsXHJcbiAgICAgIHNlbGVjdGVkX2N5Y2xlX2FycjogYnVzaW5lc3NDeWNsZT8uc2VsZWN0ZWRfY3ljbGVfYXJyLFxyXG4gICAgfTtcclxuICAgIHJldHVybiBjdXJyZW50QnVzaW5lc3NDeWNsZTtcclxuICB9XHJcblxyXG4gIGFwaURlbGVnYXRlKHJlcTogYW55LCBhZGRpdGlvbmFsVXJsPzogc3RyaW5nKSB7XHJcbiAgICBsZXQgaHR0cE9wdGlvbnM6IGFueSA9IHt9O1xyXG4gICAgbGV0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKTtcclxuICAgIGh0dHBPcHRpb25zLmhlYWRlcnMgPSBoZWFkZXJzLmFwcGVuZChcclxuICAgICAgJ3Rva2VuJyxcclxuICAgICAgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKVxyXG4gICAgKTtcclxuICAgIGlmIChyZXE/LnBhcmFtcykge1xyXG4gICAgICBodHRwT3B0aW9ucy5wYXJhbXMgPSByZXEucGFyYW1zO1xyXG4gICAgfVxyXG4gICAgaWYgKHJlcT8ucGF5bG9hZE9iamVjdCkge1xyXG4gICAgICBodHRwT3B0aW9ucy5oZWFkZXJzID0gaHR0cE9wdGlvbnMuaGVhZGVycy5hcHBlbmQoXHJcbiAgICAgICAgJ3BheWxvYWQtb2JqZWN0JyxcclxuICAgICAgICBKU09OLnN0cmluZ2lmeShyZXEucGF5bG9hZE9iamVjdClcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIGlmIChyZXE/LmJ1c2luZXNzQ3ljbGUpIHtcclxuICAgICAgaHR0cE9wdGlvbnMuaGVhZGVycyA9IGh0dHBPcHRpb25zLmhlYWRlcnMuYXBwZW5kKFxyXG4gICAgICAgICd4LWJ1c2luZXNzLWN5Y2xlJyxcclxuICAgICAgICBKU09OLnN0cmluZ2lmeShyZXEuYnVzaW5lc3NDeWNsZSlcclxuICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCB1cmwgPSB0aGlzLmVudltyZXE/LmFjdGlvbl07XHJcbiAgICBzd2l0Y2ggKHJlcS5tZXRob2QudG9Mb3dlckNhc2UoKSkge1xyXG4gICAgICBjYXNlICdnZXQnOlxyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRcclxuICAgICAgICAgIC5nZXQodXJsICsgYWRkaXRpb25hbFVybCwgaHR0cE9wdGlvbnMpXHJcbiAgICAgICAgICAucGlwZShyZXRyeSgyKSwgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKSk7XHJcbiAgICAgIGNhc2UgJ3Bvc3QnOlxyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdCh1cmwgKyBhZGRpdGlvbmFsVXJsLCByZXEuZGF0YSwgaHR0cE9wdGlvbnMpO1xyXG4gICAgICBjYXNlICdwdXQnOlxyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRcclxuICAgICAgICAgIC5wdXQodXJsICsgYWRkaXRpb25hbFVybCwgcmVxLmRhdGEpXHJcbiAgICAgICAgICAucGlwZShyZXRyeSgyKSwgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKSk7XHJcbiAgICAgIGNhc2UgJ3BhdGNoJzpcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50XHJcbiAgICAgICAgICAucGF0Y2godXJsICsgYWRkaXRpb25hbFVybCwgcmVxLmRhdGEpXHJcbiAgICAgICAgICAucGlwZShyZXRyeSgyKSwgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKSk7XHJcbiAgICAgIGNhc2UgJ2RlbGV0ZSc6XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFxyXG4gICAgICAgICAgLmRlbGV0ZSh1cmwgKyBhZGRpdGlvbmFsVXJsLCBodHRwT3B0aW9ucylcclxuICAgICAgICAgIC5waXBlKHJldHJ5KDIpLCBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpKTtcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gb2YoJ2ludmFsaWQgcmVxJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBkb24ndCB1c2UgdGhpc1xyXG4gIGFwaVRlc3REZWxlZ2F0ZShyZXE6IGFueSkge1xyXG4gICAgbGV0IGh0dHBPcHRpb25zOiBhbnkgPSB7fTtcclxuICAgIGxldCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCk7XHJcbiAgICBodHRwT3B0aW9ucy5oZWFkZXJzID0gaGVhZGVycy5hcHBlbmQoXHJcbiAgICAgICd0b2tlbicsXHJcbiAgICAgIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKClcclxuICAgICk7XHJcbiAgICBpZiAocmVxPy5wYXJhbXMpIHtcclxuICAgICAgaHR0cE9wdGlvbnMucGFyYW1zID0gcmVxLnBhcmFtcztcclxuICAgIH1cclxuICAgIGlmIChyZXE/LnBheWxvYWRPYmplY3QpIHtcclxuICAgICAgaHR0cE9wdGlvbnMuaGVhZGVycyA9IGh0dHBPcHRpb25zLmhlYWRlcnMuYXBwZW5kKFxyXG4gICAgICAgICdwYXlsb2FkLW9iamVjdCcsXHJcbiAgICAgICAgSlNPTi5zdHJpbmdpZnkocmVxLnBheWxvYWRPYmplY3QpXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICBpZiAocmVxPy5idXNpbmVzc0N5Y2xlKSB7XHJcbiAgICAgIGh0dHBPcHRpb25zLmhlYWRlcnMgPSBodHRwT3B0aW9ucy5oZWFkZXJzLmFwcGVuZChcclxuICAgICAgICAneC1idXNpbmVzcy1jeWNsZScsXHJcbiAgICAgICAgSlNPTi5zdHJpbmdpZnkocmVxLmJ1c2luZXNzQ3ljbGUpXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICBjb25zdCB1cmwgPSAnaHR0cDovL2xvY2FsaG9zdDozMDAwL2Rldic7XHJcbiAgICBzd2l0Y2ggKHJlcS5tZXRob2QudG9Mb3dlckNhc2UoKSkge1xyXG4gICAgICBjYXNlICdnZXQnOlxyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRcclxuICAgICAgICAgIC5nZXQodXJsICsgcmVxLmFjdGlvbiwgaHR0cE9wdGlvbnMpXHJcbiAgICAgICAgICAucGlwZShyZXRyeSgyKSwgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKSk7XHJcbiAgICAgIGNhc2UgJ3Bvc3QnOlxyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdCh1cmwgKyByZXEuYWN0aW9uLCByZXEuZGF0YSwgaHR0cE9wdGlvbnMpO1xyXG4gICAgICBjYXNlICdwdXQnOlxyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRcclxuICAgICAgICAgIC5wdXQodXJsICsgcmVxLmFjdGlvbiwgcmVxLmRhdGEpXHJcbiAgICAgICAgICAucGlwZShyZXRyeSgyKSwgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKSk7XHJcbiAgICAgIGNhc2UgJ3BhdGNoJzpcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50XHJcbiAgICAgICAgICAucGF0Y2godXJsICsgcmVxLmFjdGlvbiwgcmVxLmRhdGEpXHJcbiAgICAgICAgICAucGlwZShyZXRyeSgyKSwgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKSk7XHJcbiAgICAgIGNhc2UgJ2RlbGV0ZSc6XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFxyXG4gICAgICAgICAgLmRlbGV0ZSh1cmwgKyByZXEuYWN0aW9uLCBodHRwT3B0aW9ucylcclxuICAgICAgICAgIC5waXBlKHJldHJ5KDIpLCBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpKTtcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gb2YoJ2ludmFsaWQgcmVxJyk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -5,9 +5,7 @@ export class NoDataComponent {
|
|
|
5
5
|
constructor() {
|
|
6
6
|
this.buttonAction = new EventEmitter();
|
|
7
7
|
}
|
|
8
|
-
ngOnInit() { }
|
|
9
8
|
actionEmitter(button) {
|
|
10
|
-
console.log('action button', button);
|
|
11
9
|
this.buttonAction.emit(button);
|
|
12
10
|
}
|
|
13
11
|
}
|
|
@@ -16,7 +14,7 @@ NoDataComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", versio
|
|
|
16
14
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NoDataComponent, decorators: [{
|
|
17
15
|
type: Component,
|
|
18
16
|
args: [{ selector: 'app-no-data', template: "<div class=\"no-data-wrapper\">\r\n <div class=\"no-data-container\">\r\n <img [src]=\"noDataImage\" [alt]=\"altText\" class=\"image\" />\r\n <p class=\"text\" [innerHTML]=\"noDataText\" *ngIf=\"noDataText\"></p>\r\n <div class=\"button-row\" *ngIf=\"noDataButton\">\r\n <button (click)=\"actionEmitter(button)\" [class.small]=\"smallButton\">{{noDataButton}}</button>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";::ng-deep .no-data-wrapper{display:flex;align-items:center;justify-content:center;height:100%;width:100%;background:#ffffff;border-radius:4px}::ng-deep .no-data-container{display:inline-block;text-align:center;width:500px}::ng-deep .no-data-container .image{width:250px;margin-bottom:20px;display:inline-block}::ng-deep .no-data-container p.text{font-size:17px;font-weight:400;line-height:24px;margin-bottom:48px;color:#161b2f;text-align:center;margin-top:0}::ng-deep .no-data-container p.text strong{font-weight:500}::ng-deep .no-data-container button{height:36px;border-radius:2px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:500;line-height:24px;cursor:pointer;background:#1e5dd3;border:1px solid #1e5dd3;outline:none;text-transform:uppercase;padding:0 12px;margin:0}::ng-deep .no-data-container button+button{margin-left:4px}::ng-deep .no-data-container button.small{width:60px;height:24px;font-size:11px}::ng-deep .no-data-container button.small i{margin-right:5px;font-size:9px}::ng-deep .no-data-container .button-row{display:flex;justify-content:center}\n"] }]
|
|
19
|
-
}],
|
|
17
|
+
}], propDecorators: { action: [{
|
|
20
18
|
type: Input
|
|
21
19
|
}], noDataImage: [{
|
|
22
20
|
type: Input
|
|
@@ -35,4 +33,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
35
33
|
}], button: [{
|
|
36
34
|
type: Input
|
|
37
35
|
}] } });
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tZGF0YS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL25vLWRhdGEvbm8tZGF0YS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL25vLWRhdGEvbm8tZGF0YS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFPdkUsTUFBTSxPQUFPLGVBQWU7SUFMNUI7UUFZWSxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7S0FPbEQ7SUFIQyxhQUFhLENBQUMsTUFBVztRQUN2QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNqQyxDQUFDOzs0R0FiVSxlQUFlO2dHQUFmLGVBQWUsc1RDUDVCLHlhQVNBOzJGREZhLGVBQWU7a0JBTDNCLFNBQVM7K0JBQ0UsYUFBYTs4QkFLZCxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0ksWUFBWTtzQkFBckIsTUFBTTtnQkFDRSxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1uby1kYXRhJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbm8tZGF0YS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbm8tZGF0YS5jb21wb25lbnQubGVzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTm9EYXRhQ29tcG9uZW50IHtcclxuICBASW5wdXQoKSBhY3Rpb24hOiBvYmplY3Q7XHJcbiAgQElucHV0KCkgbm9EYXRhSW1hZ2UhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgbm9EYXRhVGV4dCE6IHN0cmluZztcclxuICBASW5wdXQoKSBub0RhdGFCdXR0b24hOiBzdHJpbmcgfCBib29sZWFuO1xyXG4gIEBJbnB1dCgpIG5vRGF0YVNlY0J1dHRvbiE6IHN0cmluZyB8IGJvb2xlYW47XHJcbiAgQElucHV0KCkgYWx0VGV4dCE6IHN0cmluZztcclxuICBAT3V0cHV0KCkgYnV0dG9uQWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQElucHV0KCkgc21hbGxCdXR0b24hOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGJ1dHRvbiE6IGFueTtcclxuXHJcbiAgYWN0aW9uRW1pdHRlcihidXR0b246IGFueSkge1xyXG4gICAgdGhpcy5idXR0b25BY3Rpb24uZW1pdChidXR0b24pO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwibm8tZGF0YS13cmFwcGVyXCI+XHJcbiAgPGRpdiBjbGFzcz1cIm5vLWRhdGEtY29udGFpbmVyXCI+XHJcbiAgICA8aW1nIFtzcmNdPVwibm9EYXRhSW1hZ2VcIiBbYWx0XT1cImFsdFRleHRcIiBjbGFzcz1cImltYWdlXCIgLz5cclxuICAgIDxwIGNsYXNzPVwidGV4dFwiIFtpbm5lckhUTUxdPVwibm9EYXRhVGV4dFwiICpuZ0lmPVwibm9EYXRhVGV4dFwiPjwvcD5cclxuICAgIDxkaXYgY2xhc3M9XCJidXR0b24tcm93XCIgKm5nSWY9XCJub0RhdGFCdXR0b25cIj5cclxuICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiYWN0aW9uRW1pdHRlcihidXR0b24pXCIgW2NsYXNzLnNtYWxsXT1cInNtYWxsQnV0dG9uXCI+e3tub0RhdGFCdXR0b259fTwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component, Input, Output, EventEmitter } from '@angular/core';
|
|
1
|
+
import { Component, Input, Output, EventEmitter, } from '@angular/core';
|
|
2
2
|
import { cloneDeep } from 'lodash';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "@angular/forms";
|
|
@@ -24,7 +24,10 @@ export class OwnerListComponent {
|
|
|
24
24
|
this.reviewerWorkflowType = 'SEQUENTIAL';
|
|
25
25
|
this.mode = 'CREATE';
|
|
26
26
|
this.noDataText = '';
|
|
27
|
-
this.workflowList = [
|
|
27
|
+
this.workflowList = [
|
|
28
|
+
'SEQUENTIAL',
|
|
29
|
+
'ANY REVIEWER CAN MARK THIS AS REVIEWED',
|
|
30
|
+
];
|
|
28
31
|
this.workflowText = 'Reviewer Workflow';
|
|
29
32
|
this.disabledIds = [];
|
|
30
33
|
this.nonRemovableUsersList = [];
|
|
@@ -40,12 +43,11 @@ export class OwnerListComponent {
|
|
|
40
43
|
this.animation = false;
|
|
41
44
|
}
|
|
42
45
|
ngOnChanges() {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
} });
|
|
46
|
+
this.selectedIds = this.selectedUsers.map((ele) => {
|
|
47
|
+
if (ele[this.userIdKey]) {
|
|
48
|
+
return ele[this.userIdKey];
|
|
49
|
+
}
|
|
50
|
+
});
|
|
49
51
|
}
|
|
50
52
|
ngOnInit() {
|
|
51
53
|
let disabledIds = [...this.disabledIds, ...this.nonRemovableUsersList];
|
|
@@ -75,7 +77,7 @@ export class OwnerListComponent {
|
|
|
75
77
|
let list = [...this.usersList];
|
|
76
78
|
list = list.filter((user) => !this.disabledIds.includes(user[this.userIdKey]));
|
|
77
79
|
this.selectedIds = [];
|
|
78
|
-
list.forEach(element => {
|
|
80
|
+
list.forEach((element) => {
|
|
79
81
|
this.selectedIds.push(element[this.userIdKey]);
|
|
80
82
|
});
|
|
81
83
|
}
|
|
@@ -172,4 +174,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
172
174
|
}], overseerIds: [{
|
|
173
175
|
type: Input
|
|
174
176
|
}] } });
|
|
175
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3duZXItbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL293bmVyLWxpc3Qvb3duZXItbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL293bmVyLWxpc3Qvb3duZXItbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUE0QixNQUFNLGVBQWUsQ0FBQztBQUN6RyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sUUFBUSxDQUFDOzs7Ozs7Ozs7OztBQU1uQyxNQUFNLE9BQU8sa0JBQWtCO0lBaUM3QjtRQWhDUyxjQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ2Ysa0JBQWEsR0FBRyxFQUFFLENBQUM7UUFDbkIsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNmLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBRWxCLGdCQUFXLEdBQUcsZ0JBQWdCLENBQUM7UUFDL0Isc0JBQWlCLEdBQUcsYUFBYSxDQUFDO1FBQ2xDLGVBQVUsR0FBVyxFQUFFLENBQUM7UUFDeEIsaUJBQVksR0FBVyxFQUFFLENBQUM7UUFDMUIseUJBQW9CLEdBQVcsWUFBWSxDQUFDO1FBQzVDLFNBQUksR0FBWSxRQUFRLENBQUM7UUFDM0IsZUFBVSxHQUFHLEVBQUUsQ0FBQTtRQUNmLGlCQUFZLEdBQUcsQ0FBQyxZQUFZLEVBQUUsd0NBQXdDLENBQUMsQ0FBQztRQUN4RSxpQkFBWSxHQUFHLG1CQUFtQixDQUFDO1FBQ25DLGdCQUFXLEdBQVEsRUFBRSxDQUFDO1FBQ3BCLDBC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QUFLO2dCQUNFLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgY2xvbmVEZWVwIH0gZnJvbSAnbG9kYXNoJztcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtb3duZXItbGlzdCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL293bmVyLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL293bmVyLWxpc3QuY29tcG9uZW50Lmxlc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIE93bmVyTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICBASW5wdXQoKSB1c2Vyc0xpc3QgPSBbXTtcclxuICBASW5wdXQoKSBzZWxlY3RlZFVzZXJzID0gW107XHJcbiAgQElucHV0KCkgdXNlcklkS2V5ID0gJyc7XHJcbiAgQElucHV0KCkgaXRlbU5hbWVLZXkgPSAnJztcclxuICBASW5wdXQoKSBpdGVtRW1haWxLZXkgPSAnJztcclxuICBASW5wdXQoKSBzaG93V29ya2Zsb3chOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGxpc3RIZWFkaW5nID0gJ1NlbGVjdCBVc2VyKHMpJztcclxuICBASW5wdXQoKSBzZWFyY2hQbGFjZWhvbGRlciA9ICdTZWFyY2ggVXNlcic7XHJcbiAgQElucHV0KCkgcGx1cmFsVGV4dDogc3RyaW5nID0gJyc7XHJcbiAgQElucHV0KCkgc2luZ3VsYXJUZXh0OiBzdHJpbmcgPSAnJztcclxuICBASW5wdXQoKSByZXZpZXdlcldvcmtmbG93VHlwZTogc3RyaW5nID0gJ1NFUVVFTlRJQUwnO1xyXG4gIEBJbnB1dCgpIG1vZGU6IHN0cmluZyAgPSAnQ1JFQVRFJztcclxuQElucHV0KCkgbm9EYXRhVGV4dCA9ICcnXHJcbkBJbnB1dCgpIHdvcmtmbG93TGlzdCA9IFsnU0VRVUVOVElBTCcsICdBTlkgUkVWSUVXRVIgQ0FOIE1BUksgVEhJUyBBUyBSRVZJRVdFRCddO1xyXG5ASW5wdXQoKSB3b3JrZmxvd1RleHQgPSAnUmV2aWV3ZXIgV29ya2Zsb3cnO1xyXG5ASW5wdXQoKSBkaXNhYmxlZElkcyA6YW55ID0gW107XHJcbiAgQElucHV0KCkgbm9uUmVtb3ZhYmxlVXNlcnNMaXN0OiBhbnkgPSBbXTtcclxuICBAT3V0cHV0KCkgc2F2ZVNlbGVjdGVkTGlzdCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgY2xvc2VVc2Vyc0xpc3QgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIHJldmlld2VyV29ya2Zsb3dUeXBlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBJbnB1dCgpIGZyb21SZXNwb25zaWJpbGl0eTphbnk7XHJcbiBASW5wdXQoKSBhc3NpZ25vcklkOmFueVtdID1bXTtcclxuIEBJbnB1dCgpIGFzc2lnbmVlSWRzOmFueVtdPVtdO1xyXG4gQElucHV0KCkgcmV2aWV3ZXJJZHM6YW55W109W107XHJcbiBASW5wdXQoKSBvdmVyc2VlcklkczphbnlbXSA9W107XHJcblxyXG4gIHNlYXJjaCA9ICcnO1xyXG4gIHNlbGVjdGVkSWRzOiBhbnlbXSA9IFtdO1xyXG4gIGFuaW1hdGlvbiA9IGZhbHNlO1xyXG5cclxuXHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xyXG4gICAgLy8gY29uc29sZS5sb2codGhpcy53b3JrZmxvd0xpc3QpXHJcbiAgICAvLyBkZWJ1Z2dlclxyXG4gICAgY29uc29sZS5sb2coXCJ1c2Vyc0xpc3R1c2Vyc0xpc3R1c2Vyc0xpc3R1c2Vyc0xpc3QgPT09PlwiLCB0aGlzLnVzZXJzTGlzdClcclxuICAgIHRoaXMuc2VsZWN0ZWRJZHMgPSB0aGlzLnNlbGVjdGVkVXNlcnMubWFwKChlbGU6IGFueSkgPT4geyBpZiAoZWxlW3RoaXMudXNlcklkS2V5XSkgeyByZXR1cm4gZWxlW3RoaXMudXNlcklkS2V5XTsgfSB9KTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgbGV0IGRpc2FibGVkSWRzID0gWy4uLiB0aGlzLmRpc2FibGVkSWRzLC4uLnRoaXMubm9uUmVtb3ZhYmxlVXNlcnNMaXN0XVxyXG4gICAgIHRoaXMuZGlzYWJsZWRJZHMgPSBbLi4ubmV3IFNldChkaXNhYmxlZElkcyldXHJcbiAgICAgXHJcbiAgICB0aGlzLmFuaW1hdGlvbiA9IHRydWU7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5hbmltYXRpb24gPSBmYWxzZTtcclxuICAgIH0sIDMwMCk7XHJcbiAgfVxyXG5cclxuICBzZWxlY3RVc2VyKHVzZXI6IGFueSwgbW9kZTogYW55KSB7XHJcbiAgICBpZiAobW9kZSkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkSWRzLnB1c2godXNlcik7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zdCBpbmRleCA9IHRoaXMuc2VsZWN0ZWRJZHMuZmluZEluZGV4KChlbGVtZW50OiBhbnkpID0+IGVsZW1lbnQgPT0gdXNlcik7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRJZHMuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgIH1cclxuICAgIHRoaXMuc2V0TGlzdCgpO1xyXG5cclxuICB9XHJcblxyXG4gIGRlbGV0ZUV2ZW50KGV2ZW50OiBhbnkpIHtcclxuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5zZWxlY3RlZElkcy5maW5kSW5kZXgoKGVsZW1lbnQ6IGFueSkgPT4gZWxlbWVudCA9PSBldmVudFt0aGlzLnVzZXJJZEtleV0pO1xyXG4gICAgdGhpcy5zZWxlY3RlZElkcy5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgdGhpcy5zZXRMaXN0KCk7XHJcbiAgfVxyXG5cclxuICBzZWxlY3RBbGwobW9kZTogYW55KSB7XHJcbiAgICBpZiAobW9kZSkge1xyXG4gICAgICBsZXQgbGlzdCA9IFsuLi50aGlzLnVzZXJzTGlzdF07XHJcbiAgICAgIGxpc3QgPSBsaXN0LmZpbHRlcigodXNlcjphbnkpPT4gIXRoaXMuZGlzYWJsZWRJZHMuaW5jbHVkZXModXNlclt0aGlzLnVzZXJJZEtleV0pKVxyXG4gICAgICB0aGlzLnNlbGVjdGVkSWRzID0gW107XHJcbiAgICAgIGxpc3QuZm9yRWFjaChlbGVtZW50ID0+IHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkSWRzLnB1c2goZWxlbWVudFt0aGlzLnVzZXJJZEtleV0pO1xyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRJZHMgPSBbLi4udGhpcy5ub25SZW1vdmFibGVVc2Vyc0xpc3RdO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zZXRMaXN0KCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgc2V0TGlzdCgpIHtcclxuICAgIGNvbnN0IGRhdGE6IGFueSA9IFtdO1xyXG4gICAgY29uc3QgdXNlckxpc3QgPSBjbG9uZURlZXAodGhpcy51c2Vyc0xpc3QpO1xyXG4gICAgY29uc3Qgc2VsZWN0ZWRJZHMgPSBjbG9uZURlZXAodGhpcy5zZWxlY3RlZElkcyk7XHJcbiAgICBzZWxlY3RlZElkcy5mb3JFYWNoKChlbGVtZW50OiBhbnkpID0+IHtcclxuICAgICAgY29uc3QgaW5kZXggPSB1c2VyTGlzdC5maW5kSW5kZXgoKHVzZXI6YW55KT0+dXNlclt0aGlzLnVzZXJJZEtleV09PWVsZW1lbnQpO1xyXG4gICAgICBpZihpbmRleCE9PS0xKXtcclxuICAgICAgICBkYXRhLnB1c2godXNlckxpc3RbaW5kZXhdKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICAvLyB1c2VyTGlzdC5mb3JFYWNoKChlbGVtZW50OiBhbnkpID0+IHtcclxuICAgIC8vICAgaWYgKHNlbGVjdGVkSWRzLmluY2x1ZGVzKGVsZW1lbnRbdGhpcy51c2VySWRLZXldKSkge1xyXG4gICAgLy8gICAgIGRhdGEucHVzaChlbGVtZW50KTtcclxuICAgIC8vICAgfVxyXG4gICAgLy8gfSk7XHJcbiAgICB0aGlzLnNlbGVjdGVkVXNlcnMgPSBkYXRhO1xyXG4gIH1cclxuXHJcbiAgY2hlY2tTZWxlY3RBbGwoKSB7XHJcbiAgICBjb25zdCBkYXRhID0gdGhpcy51c2Vyc0xpc3QuZXZlcnkoKHVzZXI6IGFueSkgPT4gdGhpcy5zZWxlY3RlZElkcy5pbmNsdWRlcyh1c2VyW3RoaXMudXNlcklkS2V5XSkpO1xyXG4gICAgcmV0dXJuIGRhdGE7XHJcbiAgfVxyXG5cclxuICBzYXZlKHNlbGVjdGVkSWRzOiBhbnkpIHtcclxuICAgIHRoaXMuc2F2ZVNlbGVjdGVkTGlzdC5lbWl0KHNlbGVjdGVkSWRzKTtcclxuICB9XHJcblxyXG4gIGNsb3NlKCkge1xyXG4gICAgdGhpcy5jbG9zZVVzZXJzTGlzdC5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICB3b3JrZmxvd1R5cGVDaGFuZ2VkKGV2ZW50OiBzdHJpbmcpIHtcclxuICAgIHRoaXMucmV2aWV3ZXJXb3JrZmxvd1R5cGUgID0gZXZlbnQ7XHJcbiAgICB0aGlzLnJldmlld2VyV29ya2Zsb3dUeXBlQ2hhbmdlLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiYWRkLXJpc2stb3duZXItbGlzdFwiIFtjbGFzcy5hbmltYXRlXT1cImFuaW1hdGlvblwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImFkZC1yaXNrLW93bmVyLWxpc3QtaGVhZCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktYmV0d2VlbiB2eC1wbC00IHZ4LXByLTRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidngtZnMtMTQgdngtZnctNTAwIHZ4LWxhYmVsLXR4dFwiPnt7bGlzdEhlYWRpbmd9fTwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYWRkLXJpc2stb3duZXItbGlzdC1ib2R5XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNlYXJjaC1ibG9jayB2eC1tYi0yXCI+XHJcbiAgICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbnNcIj4mI3hlOTBiOzwvaT5cclxuICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgWyhuZ01vZGVsKV09XCJzZWFyY2hcIiAgW2F0dHIucGxhY2Vob2xkZXJdPVwic2VhcmNoUGxhY2Vob2xkZXJcIiAvPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIodXNlcnNMaXN0IHwgZmlsdGVyOnNlYXJjaCkgYXMgc2VhcmNoTGlzdFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYm9keS10b3AgdngtcGItNFwiICpuZ0lmPVwic2VhcmNoTGlzdD8ubGVuZ3RoICA+IDAgJiYgc2VhcmNoPy50cmltKCk/Lmxlbmd0aCA9PT0gMFwiPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1jcy1jaGVja2JveCBbbmdWYWx1ZV09XCJjaGVja1NlbGVjdEFsbCgpXCIgKG5nVmFsdWVDaGFuZ2UpPVwic2VsZWN0QWxsKCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3Ryb25nPnt7Y2hlY2tTZWxlY3RBbGwoYWN0aXZlVGFiKSA/ICdEZXNlbGVjdCBBbGwnIDogJ1NlbGVjdCBBbGwnfX08L3N0cm9uZz5cclxuICAgICAgICAgICAgICAgIDwvYXBwLWNzLWNoZWNrYm94PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPHVsIGNsYXNzPVwib3duZXItbGlzdCB2eC1tYi00XCIgKm5nSWY9XCJzZWFyY2hMaXN0Lmxlbmd0aCA+IDBcIj5cclxuICAgICAgICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgdXNlciBvZiBzZWFyY2hMaXN0XCIgIFthcHBUb29sdGlwXT1cInVzZXIgfCB0b29sdGlwTWVzc2FnZTogZnJvbVJlc3BvbnNpYmlsaXR5OnJldmlld2VySWRzOm92ZXJzZWVySWRzOmFzc2lnbm9ySWQ6YXNzaWduZWVJZHM6J215X21lbWJlcl9pZCc6ZGlzYWJsZWRJZHM/LmluY2x1ZGVzKHVzZXJbdXNlcklkS2V5XSlcIiBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiXHJcbiAgICAgICAgICAgICAgICBkZWxheT1cIjBcIiBbdG9vbHRpcE1hbmRhdG9yeV09dHJ1ZT5cclxuICAgICAgICAgICAgICAgICAgICA8YXBwLWNzLWNoZWNrYm94IFtkaXNhYmxlZF09XCJkaXNhYmxlZElkcz8uaW5jbHVkZXModXNlclt1c2VySWRLZXldKVwiIFtuZ1ZhbHVlXT1cInNlbGVjdGVkSWRzPy5pbmNsdWRlcyh1c2VyW3VzZXJJZEtleV0pXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKG5nVmFsdWVDaGFuZ2UpPVwic2VsZWN0VXNlcih1c2VyW3VzZXJJZEtleV0sJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm5hbWVcIiA+e3t1c2VyW2l0ZW1OYW1lS2V5XX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYXBwLWNzLWNoZWNrYm94PlxyXG4gICAgICAgICAgICAgICAgPC9saT5cclxuXHJcbiAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgIDxhcHAtbm8tZGF0YSAqbmdJZj1cInNlYXJjaExpc3QubGVuZ3RoID09PSAwXCIgIFtub0RhdGFJbWFnZV09XCInaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L3NlYXJjaC1kYXRhLnN2ZydcIiBbbm9EYXRhVGV4dF09XCIobm9EYXRhVGV4dD8ubGVuZ3RoID4gMD8gbm9EYXRhVGV4dCA6J05vIFVzZXJzIEZvdW5kJylcIj48L2FwcC1uby1kYXRhPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICA8YXBwLWZsb2F0aW5nLWJhclxyXG4gICAgICAgIFtzZWxlY3RlZERhdGFdPVwic2VsZWN0ZWRVc2Vyc3xzaG9ydE1lcmdlIDogbm9uUmVtb3ZhYmxlVXNlcnNMaXN0XCJcclxuICAgICAgICBbZGlzcGxheUVsZW1lbnRLZXldPVwiaXRlbU5hbWVLZXlcIlxyXG4gICAgICAgIFtlbGVtZW50SWRdPVwidXNlcklkS2V5XCJcclxuICAgICAgICBbbm9uUmVtb3ZhYmxlVXNlcnNMaXN0XT1cIm5vblJlbW92YWJsZVVzZXJzTGlzdFwiXHJcbiAgICAgICAgW3Npbmd1bGFyVGV4dF09XCJzaW5ndWxhclRleHRcIlxyXG4gICAgICAgIFtwbHVyYWxUZXh0XT1cInBsdXJhbFRleHRcIlxyXG4gICAgICAgIChjbG9zZUV2ZW50KT1cInNhdmUoc2VsZWN0ZWRJZHMpXCJcclxuICAgICAgICAoY2xvc2VMaXN0KT1cImNsb3NlKClcIlxyXG4gICAgICAgIChkZWxldGVFdmVudCk9XCJkZWxldGVFdmVudCgkZXZlbnQpXCJcclxuICAgICAgICAod29ya2Zsb3dUeXBlQ2hhbmdlZCk9XCJ3b3JrZmxvd1R5cGVDaGFuZ2VkKCRldmVudClcIlxyXG4gICAgICAgIFtzaG93V29ya2Zsb3ddPVwic2hvd1dvcmtmbG93XCJcclxuICAgICAgICBbd29ya2Zsb3dUZXh0XT1cIndvcmtmbG93VGV4dFwiXHJcbiAgICAgICAgW3NlbGVjdGVkV29ya2Zsb3ddPVwicmV2aWV3ZXJXb3JrZmxvd1R5cGVcIlxyXG4gICAgICAgIFt3b3JrZmxvd0xpc3RdPVwid29ya2Zsb3dMaXN0XCJcclxuICAgICAgICBbbW9kZV09XCJtb2RlXCJcclxuICAgICAgICBbd29ya2Zsb3dQbGFjZUhvbGRlcl09XCInJ1wiXHJcbiAgICAgICAgW2lzRGlzYWJsZWRdPVwic2VsZWN0ZWRVc2Vycz8ubGVuZ3RoID09PSAwIHx8IHVzZXJzTGlzdD8ubGVuZ3RoID09PSAwXCI+XHJcbiAgICAgICAgPC9hcHAtZmxvYXRpbmctYmFyPlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
177
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3duZXItbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL293bmVyLWxpc3Qvb3duZXItbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL293bmVyLWxpc3Qvb3duZXItbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxHQUdiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxRQUFRLENBQUM7Ozs7Ozs7Ozs7O0FBTW5DLE1BQU0sT0FBTyxrQkFBa0I7SUFrQzdCO1FBakNTLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFDZixrQkFBYSxHQUFHLEVBQUUsQ0FBQztRQUNuQixjQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ2YsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFDakIsaUJBQVksR0FBRyxFQUFFLENBQUM7UUFFbEIsZ0JBQVcsR0FBRyxnQkFBZ0IsQ0FBQztRQUMvQixzQkFBaUIsR0FBRyxhQUFhLENBQUM7UUFDbEMsZUFBVSxHQUFXLEVBQUUsQ0FBQztRQUN4QixpQkFBWSxHQUFXLEVBQUUsQ0FBQztRQUMxQix5QkFBb0IsR0FBVyxZQUFZLENBQUM7UUFDNUMsU0FBSSxHQUFXLFFBQVEsQ0FBQztRQUN4QixlQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLGlCQUFZLEdBQUc7WUFDdEIsWUFBWTtZQUNaLHdDQUF3QztTQUN6QyxDQUFDO1FBQ08saUJBQVksR0FBRyxtQkFBbUIsQ0FBQztRQUNuQyxnQkFBVyxHQUFRLEVBQUUsQ0FBQztRQUN0Qiww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SztnQkFDRyxXQUFXO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgT25Jbml0LFxyXG4gIElucHV0LFxyXG4gIE91dHB1dCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGNsb25lRGVlcCB9IGZyb20gJ2xvZGFzaCc7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLW93bmVyLWxpc3QnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9vd25lci1saXN0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9vd25lci1saXN0LmNvbXBvbmVudC5sZXNzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBPd25lckxpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcbiAgQElucHV0KCkgdXNlcnNMaXN0ID0gW107XHJcbiAgQElucHV0KCkgc2VsZWN0ZWRVc2VycyA9IFtdO1xyXG4gIEBJbnB1dCgpIHVzZXJJZEtleSA9ICcnO1xyXG4gIEBJbnB1dCgpIGl0ZW1OYW1lS2V5ID0gJyc7XHJcbiAgQElucHV0KCkgaXRlbUVtYWlsS2V5ID0gJyc7XHJcbiAgQElucHV0KCkgc2hvd1dvcmtmbG93ITogYm9vbGVhbjtcclxuICBASW5wdXQoKSBsaXN0SGVhZGluZyA9ICdTZWxlY3QgVXNlcihzKSc7XHJcbiAgQElucHV0KCkgc2VhcmNoUGxhY2Vob2xkZXIgPSAnU2VhcmNoIFVzZXInO1xyXG4gIEBJbnB1dCgpIHBsdXJhbFRleHQ6IHN0cmluZyA9ICcnO1xyXG4gIEBJbnB1dCgpIHNpbmd1bGFyVGV4dDogc3RyaW5nID0gJyc7XHJcbiAgQElucHV0KCkgcmV2aWV3ZXJXb3JrZmxvd1R5cGU6IHN0cmluZyA9ICdTRVFVRU5USUFMJztcclxuICBASW5wdXQoKSBtb2RlOiBzdHJpbmcgPSAnQ1JFQVRFJztcclxuICBASW5wdXQoKSBub0RhdGFUZXh0ID0gJyc7XHJcbiAgQElucHV0KCkgd29ya2Zsb3dMaXN0ID0gW1xyXG4gICAgJ1NFUVVFTlRJQUwnLFxyXG4gICAgJ0FOWSBSRVZJRVdFUiBDQU4gTUFSSyBUSElTIEFTIFJFVklFV0VEJyxcclxuICBdO1xyXG4gIEBJbnB1dCgpIHdvcmtmbG93VGV4dCA9ICdSZXZpZXdlciBXb3JrZmxvdyc7XHJcbiAgQElucHV0KCkgZGlzYWJsZWRJZHM6IGFueSA9IFtdO1xyXG4gIEBJbnB1dCgpIG5vblJlbW92YWJsZVVzZXJzTGlzdDogYW55ID0gW107XHJcbiAgQE91dHB1dCgpIHNhdmVTZWxlY3RlZExpc3QgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGNsb3NlVXNlcnNMaXN0ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSByZXZpZXdlcldvcmtmbG93VHlwZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBASW5wdXQoKSBmcm9tUmVzcG9uc2liaWxpdHk6IGFueTtcclxuICBASW5wdXQoKSBhc3NpZ25vcklkOiBhbnlbXSA9IFtdO1xyXG4gIEBJbnB1dCgpIGFzc2lnbmVlSWRzOiBhbnlbXSA9IFtdO1xyXG4gIEBJbnB1dCgpIHJldmlld2VySWRzOiBhbnlbXSA9IFtdO1xyXG4gIEBJbnB1dCgpIG92ZXJzZWVySWRzOiBhbnlbXSA9IFtdO1xyXG5cclxuICBzZWFyY2ggPSAnJztcclxuICBzZWxlY3RlZElkczogYW55W10gPSBbXTtcclxuICBhbmltYXRpb24gPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7fVxyXG5cclxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRJZHMgPSB0aGlzLnNlbGVjdGVkVXNlcnMubWFwKChlbGU6IGFueSkgPT4ge1xyXG4gICAgICBpZiAoZWxlW3RoaXMudXNlcklkS2V5XSkge1xyXG4gICAgICAgIHJldHVybiBlbGVbdGhpcy51c2VySWRLZXldO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgbGV0IGRpc2FibGVkSWRzID0gWy4uLnRoaXMuZGlzYWJsZWRJZHMsIC4uLnRoaXMubm9uUmVtb3ZhYmxlVXNlcnNMaXN0XTtcclxuICAgIHRoaXMuZGlzYWJsZWRJZHMgPSBbLi4ubmV3IFNldChkaXNhYmxlZElkcyldO1xyXG5cclxuICAgIHRoaXMuYW5pbWF0aW9uID0gdHJ1ZTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLmFuaW1hdGlvbiA9IGZhbHNlO1xyXG4gICAgfSwgMzAwKTtcclxuICB9XHJcblxyXG4gIHNlbGVjdFVzZXIodXNlcjogYW55LCBtb2RlOiBhbnkpIHtcclxuICAgIGlmIChtb2RlKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRJZHMucHVzaCh1c2VyKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5zZWxlY3RlZElkcy5maW5kSW5kZXgoXHJcbiAgICAgICAgKGVsZW1lbnQ6IGFueSkgPT4gZWxlbWVudCA9PSB1c2VyXHJcbiAgICAgICk7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRJZHMuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgIH1cclxuICAgIHRoaXMuc2V0TGlzdCgpO1xyXG4gIH1cclxuXHJcbiAgZGVsZXRlRXZlbnQoZXZlbnQ6IGFueSkge1xyXG4gICAgY29uc3QgaW5kZXggPSB0aGlzLnNlbGVjdGVkSWRzLmZpbmRJbmRleChcclxuICAgICAgKGVsZW1lbnQ6IGFueSkgPT4gZWxlbWVudCA9PSBldmVudFt0aGlzLnVzZXJJZEtleV1cclxuICAgICk7XHJcbiAgICB0aGlzLnNlbGVjdGVkSWRzLnNwbGljZShpbmRleCwgMSk7XHJcbiAgICB0aGlzLnNldExpc3QoKTtcclxuICB9XHJcblxyXG4gIHNlbGVjdEFsbChtb2RlOiBhbnkpIHtcclxuICAgIGlmIChtb2RlKSB7XHJcbiAgICAgIGxldCBsaXN0ID0gWy4uLnRoaXMudXNlcnNMaXN0XTtcclxuICAgICAgbGlzdCA9IGxpc3QuZmlsdGVyKFxyXG4gICAgICAgICh1c2VyOiBhbnkpID0+ICF0aGlzLmRpc2FibGVkSWRzLmluY2x1ZGVzKHVzZXJbdGhpcy51c2VySWRLZXldKVxyXG4gICAgICApO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkSWRzID0gW107XHJcbiAgICAgIGxpc3QuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJZHMucHVzaChlbGVtZW50W3RoaXMudXNlcklkS2V5XSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZElkcyA9IFsuLi50aGlzLm5vblJlbW92YWJsZVVzZXJzTGlzdF07XHJcbiAgICB9XHJcbiAgICB0aGlzLnNldExpc3QoKTtcclxuICB9XHJcblxyXG4gIHNldExpc3QoKSB7XHJcbiAgICBjb25zdCBkYXRhOiBhbnkgPSBbXTtcclxuICAgIGNvbnN0IHVzZXJMaXN0ID0gY2xvbmVEZWVwKHRoaXMudXNlcnNMaXN0KTtcclxuICAgIGNvbnN0IHNlbGVjdGVkSWRzID0gY2xvbmVEZWVwKHRoaXMuc2VsZWN0ZWRJZHMpO1xyXG4gICAgc2VsZWN0ZWRJZHMuZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XHJcbiAgICAgIGNvbnN0IGluZGV4ID0gdXNlckxpc3QuZmluZEluZGV4KFxyXG4gICAgICAgICh1c2VyOiBhbnkpID0+IHVzZXJbdGhpcy51c2VySWRLZXldID09IGVsZW1lbnRcclxuICAgICAgKTtcclxuICAgICAgaWYgKGluZGV4ICE9PSAtMSkge1xyXG4gICAgICAgIGRhdGEucHVzaCh1c2VyTGlzdFtpbmRleF0pO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIC8vIHVzZXJMaXN0LmZvckVhY2goKGVsZW1lbnQ6IGFueSkgPT4ge1xyXG4gICAgLy8gICBpZiAoc2VsZWN0ZWRJZHMuaW5jbHVkZXMoZWxlbWVudFt0aGlzLnVzZXJJZEtleV0pKSB7XHJcbiAgICAvLyAgICAgZGF0YS5wdXNoKGVsZW1lbnQpO1xyXG4gICAgLy8gICB9XHJcbiAgICAvLyB9KTtcclxuICAgIHRoaXMuc2VsZWN0ZWRVc2VycyA9IGRhdGE7XHJcbiAgfVxyXG5cclxuICBjaGVja1NlbGVjdEFsbCgpIHtcclxuICAgIGNvbnN0IGRhdGEgPSB0aGlzLnVzZXJzTGlzdC5ldmVyeSgodXNlcjogYW55KSA9PlxyXG4gICAgICB0aGlzLnNlbGVjdGVkSWRzLmluY2x1ZGVzKHVzZXJbdGhpcy51c2VySWRLZXldKVxyXG4gICAgKTtcclxuICAgIHJldHVybiBkYXRhO1xyXG4gIH1cclxuXHJcbiAgc2F2ZShzZWxlY3RlZElkczogYW55KSB7XHJcbiAgICB0aGlzLnNhdmVTZWxlY3RlZExpc3QuZW1pdChzZWxlY3RlZElkcyk7XHJcbiAgfVxyXG5cclxuICBjbG9zZSgpIHtcclxuICAgIHRoaXMuY2xvc2VVc2Vyc0xpc3QuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgd29ya2Zsb3dUeXBlQ2hhbmdlZChldmVudDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnJldmlld2VyV29ya2Zsb3dUeXBlID0gZXZlbnQ7XHJcbiAgICB0aGlzLnJldmlld2VyV29ya2Zsb3dUeXBlQ2hhbmdlLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiYWRkLXJpc2stb3duZXItbGlzdFwiIFtjbGFzcy5hbmltYXRlXT1cImFuaW1hdGlvblwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImFkZC1yaXNrLW93bmVyLWxpc3QtaGVhZCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktYmV0d2VlbiB2eC1wbC00IHZ4LXByLTRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidngtZnMtMTQgdngtZnctNTAwIHZ4LWxhYmVsLXR4dFwiPnt7bGlzdEhlYWRpbmd9fTwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYWRkLXJpc2stb3duZXItbGlzdC1ib2R5XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNlYXJjaC1ibG9jayB2eC1tYi0yXCI+XHJcbiAgICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbnNcIj4mI3hlOTBiOzwvaT5cclxuICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgWyhuZ01vZGVsKV09XCJzZWFyY2hcIiAgW2F0dHIucGxhY2Vob2xkZXJdPVwic2VhcmNoUGxhY2Vob2xkZXJcIiAvPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIodXNlcnNMaXN0IHwgZmlsdGVyOnNlYXJjaCkgYXMgc2VhcmNoTGlzdFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYm9keS10b3AgdngtcGItNFwiICpuZ0lmPVwic2VhcmNoTGlzdD8ubGVuZ3RoICA+IDAgJiYgc2VhcmNoPy50cmltKCk/Lmxlbmd0aCA9PT0gMFwiPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1jcy1jaGVja2JveCBbbmdWYWx1ZV09XCJjaGVja1NlbGVjdEFsbCgpXCIgKG5nVmFsdWVDaGFuZ2UpPVwic2VsZWN0QWxsKCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3Ryb25nPnt7Y2hlY2tTZWxlY3RBbGwoYWN0aXZlVGFiKSA/ICdEZXNlbGVjdCBBbGwnIDogJ1NlbGVjdCBBbGwnfX08L3N0cm9uZz5cclxuICAgICAgICAgICAgICAgIDwvYXBwLWNzLWNoZWNrYm94PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPHVsIGNsYXNzPVwib3duZXItbGlzdCB2eC1tYi00XCIgKm5nSWY9XCJzZWFyY2hMaXN0Lmxlbmd0aCA+IDBcIj5cclxuICAgICAgICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgdXNlciBvZiBzZWFyY2hMaXN0XCIgIFthcHBUb29sdGlwXT1cInVzZXIgfCB0b29sdGlwTWVzc2FnZTogZnJvbVJlc3BvbnNpYmlsaXR5OnJldmlld2VySWRzOm92ZXJzZWVySWRzOmFzc2lnbm9ySWQ6YXNzaWduZWVJZHM6J215X21lbWJlcl9pZCc6ZGlzYWJsZWRJZHM/LmluY2x1ZGVzKHVzZXJbdXNlcklkS2V5XSlcIiBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiXHJcbiAgICAgICAgICAgICAgICBkZWxheT1cIjBcIiBbdG9vbHRpcE1hbmRhdG9yeV09dHJ1ZT5cclxuICAgICAgICAgICAgICAgICAgICA8YXBwLWNzLWNoZWNrYm94IFtkaXNhYmxlZF09XCJkaXNhYmxlZElkcz8uaW5jbHVkZXModXNlclt1c2VySWRLZXldKVwiIFtuZ1ZhbHVlXT1cInNlbGVjdGVkSWRzPy5pbmNsdWRlcyh1c2VyW3VzZXJJZEtleV0pXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKG5nVmFsdWVDaGFuZ2UpPVwic2VsZWN0VXNlcih1c2VyW3VzZXJJZEtleV0sJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm5hbWVcIiA+e3t1c2VyW2l0ZW1OYW1lS2V5XX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYXBwLWNzLWNoZWNrYm94PlxyXG4gICAgICAgICAgICAgICAgPC9saT5cclxuXHJcbiAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgIDxhcHAtbm8tZGF0YSAqbmdJZj1cInNlYXJjaExpc3QubGVuZ3RoID09PSAwXCIgIFtub0RhdGFJbWFnZV09XCInaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L3NlYXJjaC1kYXRhLnN2ZydcIiBbbm9EYXRhVGV4dF09XCIobm9EYXRhVGV4dD8ubGVuZ3RoID4gMD8gbm9EYXRhVGV4dCA6J05vIFVzZXJzIEZvdW5kJylcIj48L2FwcC1uby1kYXRhPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICA8YXBwLWZsb2F0aW5nLWJhclxyXG4gICAgICAgIFtzZWxlY3RlZERhdGFdPVwic2VsZWN0ZWRVc2Vyc3xzaG9ydE1lcmdlIDogbm9uUmVtb3ZhYmxlVXNlcnNMaXN0XCJcclxuICAgICAgICBbZGlzcGxheUVsZW1lbnRLZXldPVwiaXRlbU5hbWVLZXlcIlxyXG4gICAgICAgIFtlbGVtZW50SWRdPVwidXNlcklkS2V5XCJcclxuICAgICAgICBbbm9uUmVtb3ZhYmxlVXNlcnNMaXN0XT1cIm5vblJlbW92YWJsZVVzZXJzTGlzdFwiXHJcbiAgICAgICAgW3Npbmd1bGFyVGV4dF09XCJzaW5ndWxhclRleHRcIlxyXG4gICAgICAgIFtwbHVyYWxUZXh0XT1cInBsdXJhbFRleHRcIlxyXG4gICAgICAgIChjbG9zZUV2ZW50KT1cInNhdmUoc2VsZWN0ZWRJZHMpXCJcclxuICAgICAgICAoY2xvc2VMaXN0KT1cImNsb3NlKClcIlxyXG4gICAgICAgIChkZWxldGVFdmVudCk9XCJkZWxldGVFdmVudCgkZXZlbnQpXCJcclxuICAgICAgICAod29ya2Zsb3dUeXBlQ2hhbmdlZCk9XCJ3b3JrZmxvd1R5cGVDaGFuZ2VkKCRldmVudClcIlxyXG4gICAgICAgIFtzaG93V29ya2Zsb3ddPVwic2hvd1dvcmtmbG93XCJcclxuICAgICAgICBbd29ya2Zsb3dUZXh0XT1cIndvcmtmbG93VGV4dFwiXHJcbiAgICAgICAgW3NlbGVjdGVkV29ya2Zsb3ddPVwicmV2aWV3ZXJXb3JrZmxvd1R5cGVcIlxyXG4gICAgICAgIFt3b3JrZmxvd0xpc3RdPVwid29ya2Zsb3dMaXN0XCJcclxuICAgICAgICBbbW9kZV09XCJtb2RlXCJcclxuICAgICAgICBbd29ya2Zsb3dQbGFjZUhvbGRlcl09XCInJ1wiXHJcbiAgICAgICAgW2lzRGlzYWJsZWRdPVwic2VsZWN0ZWRVc2Vycz8ubGVuZ3RoID09PSAwIHx8IHVzZXJzTGlzdD8ubGVuZ3RoID09PSAwXCI+XHJcbiAgICAgICAgPC9hcHAtZmxvYXRpbmctYmFyPlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|