vcomply-workflow-engine 2.2.3 → 2.3.1
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/bundles/vcomply-workflow-engine.umd.js +944 -511
- package/bundles/vcomply-workflow-engine.umd.js.map +1 -1
- package/esm2015/lib/more-option/more-option.component.js +23 -12
- package/esm2015/lib/sharedComponents/assessment-editor/components/assessment-settings/assessment-settings.component.js +1 -9
- package/esm2015/lib/sharedComponents/assessment-editor/components/assessment-settings/assessment-settings.component.ngsummary.json +1 -1
- package/esm2015/lib/sharedComponents/assessment-list/assessment-list.component.js +5 -3
- package/esm2015/lib/sharedComponents/assessment-list/assessment-list.component.ngfactory.js +1 -1
- package/esm2015/lib/sharedComponents/assessment-list/assessment-list.component.ngsummary.json +1 -1
- package/esm2015/lib/sharedComponents/program-listing/program-listing.component.js +155 -0
- package/esm2015/lib/sharedComponents/program-listing/program-listing.component.ngfactory.js +131 -0
- package/esm2015/lib/sharedComponents/program-listing/program-listing.component.ngsummary.json +1 -0
- package/esm2015/lib/ui-kit/pagination/pagination/pagination.component.js +1 -1
- package/esm2015/lib/ui-kit/popover/popover-longpress.directive.js +1 -3
- package/esm2015/lib/workflow-compliance/workflow-compliance.component.js +209 -39
- package/esm2015/lib/workflow-compliance/workflow-compliance.component.ngfactory.js +200 -138
- package/esm2015/lib/workflow-compliance/workflow-compliance.component.ngsummary.json +1 -1
- package/esm2015/lib/workflow-engine-container/workflow-engine-container.component.js +6 -2
- package/esm2015/lib/workflow-engine-container/workflow-engine-container.component.ngfactory.js +4 -4
- package/esm2015/lib/workflow-engine-container/workflow-engine-container.component.ngsummary.json +1 -1
- package/esm2015/lib/workflow-engine.module.js +3 -1
- package/esm2015/lib/workflow-engine.module.ngfactory.js +1 -1
- package/esm2015/lib/workflow-policy/workflow-policy.component.js +2 -2
- package/esm2015/lib/workflow-policy/workflow-policy.component.ngfactory.js +2 -2
- package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/assessment-picker.component.js +87 -36
- package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/assessment-picker.component.ngfactory.js +16 -19
- package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/assessment-picker.component.ngsummary.json +1 -1
- package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/selected-assessment.pipe.js +1 -1
- package/esm2015/lib/workflow-program/create-program-ui/create-program-ui.module.js +6 -3
- package/esm2015/lib/workflow-program/create-program-ui/create-program-ui.module.ngfactory.js +1 -1
- package/esm2015/lib/workflow-program/create-program-ui/create-program-ui.module.ngsummary.json +1 -1
- package/esm2015/lib/workflow-program/create-program-ui/pipes/assessment-resolver.pipe.js +21 -0
- package/esm2015/lib/workflow-program/create-program-ui/pipes/assessment-resolver.pipe.ngsummary.json +1 -0
- package/esm2015/lib/workflow-program/create-program-ui/role-list/role-list.component.js +24 -4
- package/esm2015/lib/workflow-program/create-program-ui/role-list/role-list.component.ngfactory.js +24 -16
- package/esm2015/lib/workflow-program/create-program-ui/role-list/role-list.component.ngsummary.json +1 -1
- package/esm2015/lib/workflow-program/workflow-program.component.js +182 -200
- package/esm2015/lib/workflow-program/workflow-program.component.ngfactory.js +118 -115
- package/esm2015/lib/workflow-program/workflow-program.component.ngsummary.json +1 -1
- package/esm2015/lib/workflow-services/programs.service.js +24 -3
- package/esm2015/lib/workflow-services/programs.service.ngsummary.json +1 -1
- package/esm2015/lib/workflow-services/responsibility.service.js +23 -11
- package/esm2015/lib/workflow-services/responsibility.service.ngsummary.json +1 -1
- package/esm2015/vcomply-workflow-engine.js +192 -190
- package/esm2015/vcomply-workflow-engine.ngsummary.json +1 -1
- package/fesm2015/vcomply-workflow-engine.js +752 -317
- package/fesm2015/vcomply-workflow-engine.js.map +1 -1
- package/lib/sharedComponents/assessment-editor/components/assessment-settings/assessment-settings.component.d.ts +0 -1
- package/lib/sharedComponents/assessment-list/assessment-list.component.d.ts +1 -0
- package/lib/sharedComponents/program-listing/program-listing.component.d.ts +43 -0
- package/lib/sharedComponents/program-listing/program-listing.component.ngfactory.d.ts +1 -0
- package/lib/workflow-compliance/workflow-compliance.component.d.ts +14 -4
- package/lib/workflow-engine-container/workflow-engine-container.component.d.ts +2 -0
- package/lib/workflow-program/create-program-ui/assessment-picker/assessment-picker.component.d.ts +6 -3
- package/lib/workflow-program/create-program-ui/pipes/assessment-resolver.pipe.d.ts +4 -0
- package/lib/workflow-program/create-program-ui/role-list/role-list.component.d.ts +3 -0
- package/lib/workflow-program/workflow-program.component.d.ts +8 -15
- package/lib/workflow-services/programs.service.d.ts +3 -0
- package/lib/workflow-services/responsibility.service.d.ts +8 -6
- package/package.json +2 -2
- package/vcomply-workflow-engine.d.ts +191 -189
- package/vcomply-workflow-engine.metadata.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"moduleName":null,"summaries":[{"symbol":{"__symbol":0,"members":[]},"metadata":{"__symbolic":"class","members":{"form":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":1,"members":[]},"arguments":["form",{"read":{"__symbol":2,"members":[]}}]}]}],"datePicker":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":1,"members":[]},"arguments":["datePicker"]}]}],"pickerChanged":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":3,"members":[]}}]}],"populateOption":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":3,"members":[]}}]}],"closeWorkflow":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":3,"members":[]}}]}],"showConfirmationAlert":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":3,"members":[]}}]}],"disconnectRefresh":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":3,"members":[]}}]}],"refreshForm":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":3,"members":[]}}]}],"hideElementsFromMoreOptions":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":3,"members":[]}}]}],"mode":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":4,"members":[]}}]}],"programId":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":4,"members":[]}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbol":5,"members":[]},{"__symbol":6,"members":[]},{"__symbol":7,"members":[]},{"__symbol":8,"members":[]}]}],"noWhitespaceValidator":[{"__symbolic":"method"}],"blankArrayValidator":[{"__symbolic":"method"}],"currentUser":[{"__symbolic":"method"}],"setFormField":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"
|
|
1
|
+
{"moduleName":null,"summaries":[{"symbol":{"__symbol":0,"members":[]},"metadata":{"__symbolic":"class","members":{"form":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":1,"members":[]},"arguments":["form",{"read":{"__symbol":2,"members":[]}}]}]}],"datePicker":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":1,"members":[]},"arguments":["datePicker"]}]}],"pickerChanged":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":3,"members":[]}}]}],"populateOption":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":3,"members":[]}}]}],"closeWorkflow":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":3,"members":[]}}]}],"showConfirmationAlert":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":3,"members":[]}}]}],"disconnectRefresh":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":3,"members":[]}}]}],"refreshForm":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":3,"members":[]}}]}],"hideElementsFromMoreOptions":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":3,"members":[]}}]}],"mode":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":4,"members":[]}}]}],"programId":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":4,"members":[]}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbol":5,"members":[]},{"__symbol":6,"members":[]},{"__symbol":7,"members":[]},{"__symbol":8,"members":[]}]}],"noWhitespaceValidator":[{"__symbolic":"method"}],"blankArrayValidator":[{"__symbolic":"method"}],"currentUser":[{"__symbolic":"method"}],"setFormField":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"populateOptionalFields":[{"__symbolic":"method"}],"addMoreInfo":[{"__symbolic":"method"}],"formChangeListner":[{"__symbolic":"method"}],"handleFormFieldChange":[{"__symbolic":"method"}],"activateList":[{"__symbolic":"method"}],"listAction":[{"__symbolic":"method"}],"remove":[{"__symbolic":"method"}],"setDefaultAssignee":[{"__symbolic":"method"}],"setDefaultAssigneeOnRemove":[{"__symbolic":"method"}],"setDefaultReviewer":[{"__symbolic":"method"}],"setDefaultOverseer":[{"__symbolic":"method"}],"setDefaultReviewerOnRemove":[{"__symbolic":"method"}],"setDefaultOverseerOnRemove":[{"__symbolic":"method"}],"fieldDeselector":[{"__symbolic":"method"}],"markasTouchedSelector":[{"__symbolic":"method"}],"fetchRoles":[{"__symbolic":"method"}],"fetchRC":[{"__symbolic":"method"}],"fetchUsersAssociatedWithRoles":[{"__symbolic":"method"}],"fetchGroupsAssociatedWithRoles":[{"__symbolic":"method"}],"setDefaultOwners":[{"__symbolic":"method"}],"fetchOrganizationUsers":[{"__symbolic":"method"}],"fetchOrganizationGroup":[{"__symbolic":"method"}],"selectFile":[{"__symbolic":"method"}],"uploadFiles":[{"__symbolic":"method"}],"deleteAttachment":[{"__symbolic":"method"}],"selectAllRoleOwner":[{"__symbolic":"method"}],"uniqueByProp":[{"__symbolic":"method"}],"setList":[{"__symbolic":"method"}],"saveProgram":[{"__symbolic":"method"}],"action":[{"__symbolic":"method"}],"viewPrograms":[{"__symbolic":"method"}],"resetForm":[{"__symbolic":"method"}],"closeSmiley":[{"__symbolic":"method"}],"getProgramDetails":[{"__symbolic":"method"}],"populateMembers":[{"__symbolic":"method"}],"populateGroups":[{"__symbolic":"method"}]}},"type":{"summaryKind":1,"type":{"reference":{"__symbol":0,"members":[]},"diDeps":[{"isAttribute":false,"isHost":false,"isSelf":false,"isSkipSelf":false,"isOptional":false,"token":{"identifier":{"reference":{"__symbol":5,"members":[]}}}},{"isAttribute":false,"isHost":false,"isSelf":false,"isSkipSelf":false,"isOptional":false,"token":{"identifier":{"reference":{"__symbol":6,"members":[]}}}},{"isAttribute":false,"isHost":false,"isSelf":false,"isSkipSelf":false,"isOptional":false,"token":{"identifier":{"reference":{"__symbol":7,"members":[]}}}},{"isAttribute":false,"isHost":false,"isSelf":false,"isSkipSelf":false,"isOptional":false,"token":{"identifier":{"reference":{"__symbol":8,"members":[]}}}}],"lifecycleHooks":[0]},"isComponent":true,"selector":"app-workflow-program","exportAs":null,"inputs":{"mode":"mode","programId":"programId"},"outputs":{"pickerChanged":"pickerChanged","populateOption":"populateOption","closeWorkflow":"closeWorkflow","showConfirmationAlert":"showConfirmationAlert","disconnectRefresh":"disconnectRefresh","refreshForm":"refreshForm","hideElementsFromMoreOptions":"hideElementsFromMoreOptions"},"hostListeners":{},"hostProperties":{},"hostAttributes":{},"providers":[],"viewProviders":[],"queries":[],"guards":{},"viewQueries":[{"selectors":[{"value":"form"}],"first":true,"descendants":true,"propertyName":"form","read":{"identifier":{"reference":{"__symbol":2,"members":[]}}}},{"selectors":[{"value":"datePicker"}],"first":true,"descendants":true,"propertyName":"datePicker","read":null}],"entryComponents":[],"changeDetection":1,"template":{"ngContentSelectors":[],"encapsulation":0,"styles":[],"animations":[]},"componentViewType":{"__symbol":9,"members":[]},"rendererType":{"__symbol":10,"members":[]},"componentFactory":{"__symbol":11,"members":[]}}}],"symbols":[{"__symbol":0,"name":"WorkflowProgramComponent","filePath":"./workflow-program.component"},{"__symbol":1,"name":"ViewChild","filePath":"@angular/core"},{"__symbol":2,"name":"ElementRef","filePath":"@angular/core"},{"__symbol":3,"name":"Output","filePath":"@angular/core"},{"__symbol":4,"name":"Input","filePath":"@angular/core"},{"__symbol":5,"name":"FormBuilder","filePath":"@angular/forms"},{"__symbol":6,"name":"ProgramsService","filePath":"../workflow-services/programs.service"},{"__symbol":7,"name":"AuthService","filePath":"../workflow-services/auth.service"},{"__symbol":8,"name":"UiKitService","filePath":"../workflow-services/ui-kit.service"},{"__symbol":9,"name":"View_WorkflowProgramComponent_0","filePath":"./workflow-program.component.ngfactory"},{"__symbol":10,"name":"RenderType_WorkflowProgramComponent","filePath":"./workflow-program.component.ngfactory"},{"__symbol":11,"name":"WorkflowProgramComponentNgFactory","filePath":"./workflow-program.component.ngfactory"}]}
|
|
@@ -120,7 +120,7 @@ export class ProgramsService {
|
|
|
120
120
|
overseers: { cc_email: this.listToId(form === null || form === void 0 ? void 0 : form.program_overseer, 'member_id'), cc_email_groups: this.listToId(form === null || form === void 0 ? void 0 : form.program_overseer_group, 'group_id'), failure_cc_email: [], failure_cc_email_groups: [] },
|
|
121
121
|
default_overseers: { cc_email: this.listToId(form === null || form === void 0 ? void 0 : form.program_default_overseer, 'member_id'), cc_email_groups: this.listToId(form === null || form === void 0 ? void 0 : form.program_default_overseer_group, 'group_id'),
|
|
122
122
|
failure_cc_email: this.listToId(form === null || form === void 0 ? void 0 : form.program_default_failed_overseer, 'member_id'), failure_cc_email_groups: this.listToId(form === null || form === void 0 ? void 0 : form.program_default_failed_overseer_group, 'group_id') },
|
|
123
|
-
assessment:
|
|
123
|
+
assessment: this.generateAssessment(form.program_assessments),
|
|
124
124
|
evidence_upload_flag: (form === null || form === void 0 ? void 0 : form.evidence_required) ? 1 : 0,
|
|
125
125
|
is_key_evidence: form === null || form === void 0 ? void 0 : form.allow_any_file_key_evidence,
|
|
126
126
|
custom_fields: (_m = form === null || form === void 0 ? void 0 : form.custom_fields) !== null && _m !== void 0 ? _m : [],
|
|
@@ -130,6 +130,14 @@ export class ProgramsService {
|
|
|
130
130
|
console.log("payload", payload);
|
|
131
131
|
return payload;
|
|
132
132
|
}
|
|
133
|
+
generateAssessment(assessment) {
|
|
134
|
+
if (assessment && (assessment === null || assessment === void 0 ? void 0 : assessment.length)) {
|
|
135
|
+
return assessment.map((cat) => { var _a; return Object.assign(Object.assign({}, cat), { assessmentIds: (_a = cat.assessmentIds) === null || _a === void 0 ? void 0 : _a.map((assess) => assess.id) }); });
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
138
|
+
return [];
|
|
139
|
+
}
|
|
140
|
+
}
|
|
133
141
|
getFramework(input) {
|
|
134
142
|
console.log("generator", input);
|
|
135
143
|
if (input) {
|
|
@@ -146,7 +154,12 @@ export class ProgramsService {
|
|
|
146
154
|
}
|
|
147
155
|
}
|
|
148
156
|
listToId(list, key) {
|
|
149
|
-
|
|
157
|
+
if (list && (list === null || list === void 0 ? void 0 : list.length)) {
|
|
158
|
+
return list.map((ele) => ele[key]);
|
|
159
|
+
}
|
|
160
|
+
else {
|
|
161
|
+
return [];
|
|
162
|
+
}
|
|
150
163
|
}
|
|
151
164
|
/**
|
|
152
165
|
*
|
|
@@ -167,6 +180,14 @@ export class ProgramsService {
|
|
|
167
180
|
const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken()).set('x-business-cycle', JSON.stringify((this.getBusinessCycle())));
|
|
168
181
|
return this.http.post(this.env.programEndpoint + '/category/editCategory/' + id + '?isBusinessCycle=true', payload, { headers });
|
|
169
182
|
}
|
|
183
|
+
getMemeberByIds(ids) {
|
|
184
|
+
const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());
|
|
185
|
+
return this.http.post(this.env.organizationPost + 'memberDetailsbyIds', { member_id: ids }, { headers }).pipe(retry(2));
|
|
186
|
+
}
|
|
187
|
+
getMemberByGroups(ids) {
|
|
188
|
+
const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());
|
|
189
|
+
return this.http.post(this.env.organizationPost + 'groupDetailsbyIds', { group_ids: ids }, { headers }).pipe(retry(2));
|
|
190
|
+
}
|
|
170
191
|
}
|
|
171
192
|
ProgramsService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ProgramsService_Factory() { return new ProgramsService(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(i2.AuthService), i0.ɵɵinject(i3.Configurations, 8)); }, token: ProgramsService, providedIn: "root" });
|
|
172
193
|
ProgramsService.decorators = [
|
|
@@ -179,4 +200,4 @@ ProgramsService.ctorParameters = () => [
|
|
|
179
200
|
{ type: AuthService },
|
|
180
201
|
{ type: Configurations, decorators: [{ type: Optional }] }
|
|
181
202
|
];
|
|
182
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3JhbXMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3dvcmtmbG93LXNlcnZpY2VzL3Byb2dyYW1zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBSzdDLE1BQU0sT0FBTyxlQUFlO0lBRzFCLFlBQW9CLElBQWdCLEVBQVUsV0FBd0IsRUFBYyxNQUF1QjtRQUF2RixTQUFJLEdBQUosSUFBSSxDQUFZO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDcEUsSUFBSSxNQUFNLEVBQUU7WUFDVixJQUFJLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUM7U0FFN0I7SUFDSCxDQUFDO0lBRUQsUUFBUTtRQUNOLE1BQU0sT0FBTyxHQUFHLElBQUksV0FBVyxFQUFFLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FBQztRQUN6RixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsZUFBZSxHQUFHLHVCQUF1QixFQUFDLEVBQUMsT0FBTyxFQUFDLENBQUMsQ0FBQztJQUNyRixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxXQUFXLENBQUMsT0FBWSxFQUFFLElBQVM7UUFDakMsSUFBSTtR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LGVBQWUsR0FBRyx5QkFBeUIsR0FBRSxFQUFFLEdBQUksdUJBQXVCLEVBQUMsT0FBTyxFQUFFLEVBQUMsT0FBTyxFQUFDLENBQUMsQ0FBQztJQUN2SSxDQUFDOzs7O1lBN0tBLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7O1lBUlEsVUFBVTtZQUlWLFdBQVc7WUFEWCxjQUFjLHVCQVNvRCxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IHJldHJ5IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25zIH0gZnJvbSAnLi4vY29uZmlndXJhdGlvbnMnO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4vYXV0aC5zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFByb2dyYW1zU2VydmljZSB7XHJcblxyXG4gIGVudiAhOiBhbnk7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LCBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSwgQE9wdGlvbmFsKCkgY29uZmlnPzogQ29uZmlndXJhdGlvbnMpIHtcclxuICAgIGlmIChjb25maWcpIHtcclxuICAgICAgdGhpcy5lbnYgPSBjb25maWcuZW52Q29uZmlnO1xyXG5cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldFJvbGVzKCl7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5lbnYub3JnYW5pemF0aW9uR2V0ICsgJ3JvbGVzL2dldFByb2dyYW1Sb2xlcycse2hlYWRlcnN9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVwbG9hZHMgdGhlIGdpdmVuIGZpbGUgdG8gc2VydmVyXHJcbiAgICogQHBhcmFtIHBheWxvYWQgcGF5bG9hZCBGaWxlIGRhdGEgdG8gYmUgdXBsb2FkZWRcclxuICAgKiBAcGFyYW0gcGF0aCBwYXRoIFBhdGggb2YgZmlsZSB0byBiZSB1cGxvYWRlZFxyXG4gICAqIEByZXR1cm5zIHJlc3BvbnNlIGFmdGVyIHVwbG9hZGluZyBhIGZpbGVcclxuICAgKi9cclxuICB1cGxvYWRGaWxlcyhwYXlsb2FkOiBhbnksIHBhdGg6IGFueSkge1xyXG4gICAgLy8ge1xyXG4gICAgLy8gICByZXBvcnRQcm9ncmVzczogdHJ1ZSxcclxuICAgIC8vICAgb2JzZXJ2ZTogJ2V2ZW50cyd9XHJcbiAgICBjb25zdCBPUkdfUEFUSCA9IGBvLyR7cGF0aH1gO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMuZW52LmZpbGVVcGxvYWRFbmRQb2ludCArIE9SR19QQVRIICArICcmbmdzdy1ieXBhc3M9dHJ1ZScsIHBheWxvYWQpO1xyXG4gIH1cclxuXHJcbiAgZ2V0UmVzcG9uc2liaWxpdHlDZW50ZXJMaXN0KCkge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueVtdPih0aGlzLmVudi5jb21wbGlhbmNlR2V0ICsgJ3Jlc3BvbnNpYmlsaXR5Q2VudGVyVHJlZScsIHtcclxuICAgICAgICBoZWFkZXJzLFxyXG4gICAgICB9KS5waXBlKHJldHJ5KDIpKTtcclxuICB9XHJcblxyXG5cclxuICBmZXRjaFJvbGVVc2Vycyhyb2xlczphbnkscGFnZT86YW55LCBzZWFyY2hLZXk/OmFueSl7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpO1xyXG4gICAgbGV0IHF1ZXJ5U3RyaW5nID0gJyc7XHJcbiAgICBpZihwYWdlKXsgcXVlcnlTdHJpbmcgKz0gYCZwYWdlPSR7cGFnZX1gfTtcclxuICAgIGlmKHNlYXJjaEtleSl7fVxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueVtdPih0aGlzLmVudi5vcmdhbml6YXRpb25Qb3N0ICsgJ3JvbGVzL2dldFVzZXJEZXRhaWxzJmxpbWl0PTMwJytxdWVyeVN0cmluZyx7IHJvbGVfaWRzIDpyb2xlcyA/PyBbXX0sIHtoZWFkZXJzfSkucGlwZShyZXRyeSgyKSk7XHJcbiAgfVxyXG5cclxuICBmZXRjaEFsbFJvbGVVc2Vycyhyb2xlczphbnkpe1xyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnlbXT4odGhpcy5lbnYub3JnYW5pemF0aW9uUG9zdCArICdyb2xlcy9nZXRVc2VyRGV0YWlscyZ0eXBlPWFsbCcseyByb2xlX2lkcyA6cm9sZXMgPz8gW119LCB7aGVhZGVyc30pLnBpcGUocmV0cnkoMikpO1xyXG4gIH1cclxuXHJcbiAgZmV0Y2hBbGxSb2xlR3JvdXBzKHJvbGVzOmFueSl7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueVtdPih0aGlzLmVudi5vcmdhbml6YXRpb25Qb3N0ICsgJ3JvbGVzL2dldEdyb3VwRGV0YWlscyZ0eXBlPWFsbCcseyByb2xlX2lkcyA6cm9sZXMgPz8gW119LCB7aGVhZGVyc30pLnBpcGUocmV0cnkoMikpO1xyXG4gIH1cclxuICBmZXRjaEFsbE9yZ1VzZXIoKXtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ3Rva2VuJywgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKSk7XHJcbiAgICAvL2h0dHBzOi8vZGV2YXBpLnYtY29tcGx5LmNvbS9vcmdhbml6YXRpb24vP21vZGU9b3JnYW5pc2F0aW9uVXNlcnNMaXN0JnBhZ2luYXRpb25UeXBlPXNtYWxsJmFkbWluPTFcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueVtdPih0aGlzLmVudi5vcmdhbml6YXRpb25HZXQgKyAnb3JnYW5pc2F0aW9uVXNlcnNMaXN0JnBhZ2luYXRpb25UeXBlPXNtYWxsJywge2hlYWRlcnN9KS5waXBlKHJldHJ5KDIpKTtcclxuICB9XHJcbiAgZmV0Y2hDb21wbGlhbmNlR3JvdXBzKCl7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpO1xyXG4gICAgLy9odHRwczovL2RldmFwaS52LWNvbXBseS5jb20vb3JnYW5pemF0aW9uLz9tb2RlPWdyb3Vwc0xpc3Qmc3RhdHVzPTEmdHlwZT1jb21wbGlhbmNlXHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnlbXT4odGhpcy5lbnYub3JnYW5pemF0aW9uR2V0ICsgJ2dyb3Vwc0xpc3Qmc3RhdHVzPTEmdHlwZT1jb21wbGlhbmNlJywge2hlYWRlcnN9KS5waXBlKHJldHJ5KDIpKTtcclxuICB9XHJcblxyXG4gIGdldEJ1c2luZXNzQ3ljbGUoKXtcclxuICAgIGNvbnN0IGJ1c2luZXNzQ3ljbGUgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiYnVzaW5lc3NDeWNsZVwiKSA/PyAnJyk7XHJcbiAgIHJldHVybiB7XHJcbiAgICAgIHNlbGVjdGVkX2N5Y2xlOiBidXNpbmVzc0N5Y2xlXHJcbiAgICAgICAgPyBidXNpbmVzc0N5Y2xlLnNlbGVjdGVkQ3ljbGUuc3RhcnRfZGF0ZSArXHJcbiAgICAgICAgXCItXCIgK1xyXG4gICAgICAgIGJ1c2luZXNzQ3ljbGUuc2VsZWN0ZWRDeWNsZS5lbmRfZGF0ZVxyXG4gICAgICAgIDogXCJcIixcclxuICAgICAgc3RhcnRfZGF0ZTogYnVzaW5lc3NDeWNsZSA/IGJ1c2luZXNzQ3ljbGUuc2VsZWN0ZWRDeWNsZS5zdGFydF9kYXRlIDogXCJcIixcclxuICAgICAgZW5kX2RhdGU6IGJ1c2luZXNzQ3ljbGUgPyBidXNpbmVzc0N5Y2xlLnNlbGVjdGVkQ3ljbGUuZW5kX2RhdGUgOiBcIlwiLFxyXG4gICAgICBzZWxlY3RlZF9jeWNsZV9hcnI6IGJ1c2luZXNzQ3ljbGVcclxuICAgICAgICA/IGJ1c2luZXNzQ3ljbGU/LnNlbGVjdGVkQ3ljbGU/LnNlbGVjdGVkX2N5Y2xlX2FyclxyXG4gICAgICAgIDogW10sXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgc2F2ZVByb2dyYW0ocGF5bG9hZDphbnkpe1xyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKS5zZXQoJ3gtYnVzaW5lc3MtY3ljbGUnLCAgSlNPTi5zdHJpbmdpZnkoKHRoaXMuZ2V0QnVzaW5lc3NDeWNsZSgpKSkpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueVtdPih0aGlzLmVudi5wcm9ncmFtRW5kcG9pbnQgKyAnL2NhdGVnb3J5Lz9pc0J1c2luZXNzQ3ljbGU9dHJ1ZScscGF5bG9hZCwge2hlYWRlcnN9KTtcclxuICB9XHJcblxyXG5cclxuIGJ1aWxkUGF5bG9hZChmb3JtRGF0YTphbnksaW5zdGFuY2U6YW55KXtcclxuY29uc29sZS5sb2coXCJDb21wb25lbnQgSW5zdGFuY2VcIixpbnN0YW5jZSk7XHJcbmNvbnN0IGZvcm0gPSBmb3JtRGF0YT8udmFsdWU7XHJcbmNvbnNvbGUubG9nKFwiRm9ybSBWYWx1ZVwiLGZvcm0pO1xyXG5jb25zdCBwYXlsb2FkID0ge1xyXG4gIG1vZGU6ICdwcm9ncmFtJyxcclxuICBuYW1lOmZvcm0/LnByb2dyYW1fbmFtZSA/PyAnJyxcclxuICBkZXNjcmlwdGlvbjp7dGV4dDpmb3JtPy5wcm9ncmFtX2Rlc2NyaXB0aW9uID8/ICcnLGF0dGFjaG1lbnRzOmZvcm0/LnByb2dyYW1fZGVzY3JpcHRpb25fYXR0YWNobWVudHMgPz8gW119LFxyXG4gIHByb2dyYW1fb2JqZWN0aXZlIDoge3RleHQ6Zm9ybT8ucHJvZ3JhbV9vYmplY3RpdmUgPz8gJycsYXR0YWNobWVudHM6Zm9ybT8ub2JqZWN0aXZlX2F0dGFjaG1lbnQgPz8gW119LFxyXG4gIHJvbGVzOiBmb3JtLnByb2dyYW1fcm9sZXMubWFwKChlbGU6YW55KSA9PiB7cmV0dXJuIHtyb2xlSWQ6ZWxlPy5faWQscm9sZU5hbWU6ZWxlPy5yb2xlTmFtZSwgbGljZW5zZVR5cGU6ZWxlPy5saWNlbnNlVHlwZX19KSxcclxuICBvd25lcnM6dGhpcy5saXN0VG9JZChmb3JtPy5wcm9ncmFtX293bmVycywnbWVtYmVyX2lkJykgPz8gW10sXHJcbiAgb3duZXJzX2dyb3VwOiB0aGlzLmxpc3RUb0lkKGZvcm0/LnByb2dyYW1fb3duZXJzX2dyb3VwLCdncm91cF9pZCcpID8/IFtdLFxyXG4gIGFsbF91c2VyX2luX3JvbGU6IGZvcm0/LmFsbF91c2VyX2luX3JvbGUgPz8gZmFsc2UsXHJcbiAgcHJvZ3JhbVR5cGU6Zm9ybT8ucHJvZ3JhbV90eXBlID8/IDAsXHJcbiAgc3RhdGU6MCxcclxuICBhcHByb3ZlcnM6dGhpcy5saXN0VG9JZChmb3JtPy5wcm9ncmFtX2FwcHJvdmVyLCdtZW1iZXJfaWQnKSA/PyBbXSxcclxuICBjYWxjdWxhdGVfcGFzdF91cGNvbWluZ19ldmVudDogZm9ybT8ucGVyZm9ybWFuY2VfY2FsY3VsYXRpb24gPz8gJycsXHJcbiAgcHJvZ3JhbV9mcmVxdWVuY3kgOiBmb3JtPy5yZWN1cnJpbmdfZnJlcXVlbmN5ID8gMSA6IDAsXHJcbiAgbG9ja19zY29wZTogZm9ybT8ubG9ja19zY29wZV9jaGFuZ2UgPyAxIDowLFxyXG4gIHJjX2lkczogdGhpcy5saXN0VG9JZChmb3JtPy5yYywnaXRlbV9pZCcpLFxyXG4gIGFzc2lnbmVlX2lkczogdGhpcy5saXN0VG9JZChmb3JtPy5wcm9ncmFtX2Fzc2lnbmVlLCdtZW1iZXJfaWQnKSxcclxuICBhc3NpZ25lZV9ncm91cF9pZHM6IHRoaXMubGlzdFRvSWQoZm9ybT8ucHJvZ3JhbV9hc3NpZ25lZV9ncm91cCwnZ3JvdXBfaWQnKSxcclxuICBkZWZhdWx0X2Fzc2lnbmVlX2lkcyA6ICB0aGlzLmxpc3RUb0lkKGZvcm0/LnByb2dyYW1fZGVmYXVsdF9hc3NpZ25lZSwnbWVtYmVyX2lkJyksXHJcbiAgZGVmYXVsdF9hc3NpZ25lZV9ncm91cF9pZHM6IHRoaXMubGlzdFRvSWQoZm9ybT8ucHJvZ3JhbV9kZWZhdWx0X2Fzc2lnbmVlX2dyb3VwLCdncm91cF9pZCcpLFxyXG4gIGRlZmF1bHRfYXNzaWduZWVfdHlwZTogZm9ybT8uYXNzaWduZWVfY29tcGxldGlvbl9jcml0ZXJpYSxcclxuICByZXZpZXdlcnM6dGhpcy5saXN0VG9JZChmb3JtPy5wcm9ncmFtX3Jldmlld2VyLCdtZW1iZXJfaWQnKSxcclxuICByZXZpZXdlcl9ncm91cF9pZHM6IHRoaXMubGlzdFRvSWQoZm9ybT8ucHJvZ3JhbV9yZXZpZXdlcl9ncm91cCwnZ3JvdXBfaWQnKSxcclxuICBkZWZhdWx0X3Jldmlld2Vyczp0aGlzLmxpc3RUb0lkKGZvcm0/LnByb2dyYW1fZGVmYXVsdF9yZXZpZXdlciwnbWVtYmVyX2lkJyksXHJcbiAgZGVmYXVsdF9yZXZpZXdlcl9ncm91cF9pZHM6IHRoaXMubGlzdFRvSWQoZm9ybT8ucHJvZ3JhbV9kZWZhdWx0X3Jldmlld2VyX2dyb3VwLCdncm91cF9pZCcpLFxyXG4gIGRlZmF1bHRfcmV2aWV3ZXJzX3R5cGU6Zm9ybT8ucmV2aWV3ZXJfY29tcGxldGlvbl9jcml0ZXJpYSxcclxuICBvdmVyc2VlcnM6IHtjY19lbWFpbDogdGhpcy5saXN0VG9JZChmb3JtPy5wcm9ncmFtX292ZXJzZWVyLCdtZW1iZXJfaWQnKSxjY19lbWFpbF9ncm91cHM6dGhpcy5saXN0VG9JZChmb3JtPy5wcm9ncmFtX292ZXJzZWVyX2dyb3VwLCdncm91cF9pZCcpLGZhaWx1cmVfY2NfZW1haWw6IFtdLGZhaWx1cmVfY2NfZW1haWxfZ3JvdXBzOltdfSxcclxuICBkZWZhdWx0X292ZXJzZWVyczoge2NjX2VtYWlsOiB0aGlzLmxpc3RUb0lkKGZvcm0/LnByb2dyYW1fZGVmYXVsdF9vdmVyc2VlciwnbWVtYmVyX2lkJyksY2NfZW1haWxfZ3JvdXBzOnRoaXMubGlzdFRvSWQoZm9ybT8ucHJvZ3JhbV9kZWZhdWx0X292ZXJzZWVyX2dyb3VwLCdncm91cF9pZCcpLFxyXG4gIGZhaWx1cmVfY2NfZW1haWw6IHRoaXMubGlzdFRvSWQoZm9ybT8ucHJvZ3JhbV9kZWZhdWx0X2ZhaWxlZF9vdmVyc2VlciwnbWVtYmVyX2lkJyksZmFpbHVyZV9jY19lbWFpbF9ncm91cHM6dGhpcy5saXN0VG9JZChmb3JtPy5wcm9ncmFtX2RlZmF1bHRfZmFpbGVkX292ZXJzZWVyX2dyb3VwLCdncm91cF9pZCcpfSxcclxuICBhc3Nlc3NtZW50OiBpbnN0YW5jZS5zZWxlY3RlZEFzc2Vzc21lbnQsXHJcbiAgZXZpZGVuY2VfdXBsb2FkX2ZsYWc6Zm9ybT8uZXZpZGVuY2VfcmVxdWlyZWQgPyAxIDogMCxcclxuICBpc19rZXlfZXZpZGVuY2U6IGZvcm0/LmFsbG93X2FueV9maWxlX2tleV9ldmlkZW5jZSxcclxuICBjdXN0b21fZmllbGRzOmZvcm0/LmN1c3RvbV9maWVsZHMgPz8gW10sXHJcbiAgZnJhbWV3b3JrOnRoaXMuZ2V0RnJhbWV3b3JrKGZvcm0/LmZyYW1ld29yaykgPz8gW10sXHJcbiAgX2lkOiBpbnN0YW5jZS5tb2RlID09PSAnRURJVCcgPyBpbnN0YW5jZS5wcm9ncmFtSWQgOiB1bmRlZmluZWQsXHJcbn1cclxuY29uc29sZS5sb2coXCJwYXlsb2FkXCIscGF5bG9hZClcclxucmV0dXJuIHBheWxvYWQ7XHJcbiB9XHJcblxyXG4gZ2V0RnJhbWV3b3JrKGlucHV0OmFueSl7XHJcbiAgIGNvbnNvbGUubG9nKFwiZ2VuZXJhdG9yXCIsaW5wdXQpXHJcbiAgIGlmKGlucHV0KXtcclxuICAgIHJldHVybiBbe1xyXG4gICAgICBfaWQ6aW5wdXQ/Ll9pZCxcclxuICAgICAgZnJhbWV3b3JrX25hbWU6aW5wdXQ/LmZyYW1ld29ya19uYW1lLFxyXG4gICAgICB0eXBlOiBpbnB1dD8udHlwZSxcclxuICAgICAgaW5fc2NvcGU6dGhpcy5saXN0VG9JZChpbnB1dD8uaW5fc2NvcGUsJ19pZCcpLFxyXG4gICAgICBvdXRfc2NvcGU6dGhpcy5saXN0VG9JZChpbnB1dD8ub3V0X3Njb3BlLCdfaWQnKVxyXG4gICAgfV1cclxuICAgfWVsc2V7XHJcbiAgICAgcmV0dXJuIFtdXHJcbiAgIH1cclxuXHJcbiB9XHJcblxyXG4gbGlzdFRvSWQobGlzdDphbnksa2V5OnN0cmluZyl7XHJcbiAgIHJldHVybiBsaXN0Lm1hcCgoZWxlOmFueSkgPT4gZWxlW2tleV0pO1xyXG4gfVxyXG5cclxuLyoqXHJcbiAqXHJcbiAqIEBwYXJhbSBpZCA6IHByb2dyYW0gb2JqZWN0IGlkXHJcbiAqIEByZXR1cm5zXHJcbiAqL1xyXG4gZ2V0UHJvZ3JhbShpZDphbnkpe1xyXG4gIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ3Rva2VuJywgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKSkuc2V0KCd4LWJ1c2luZXNzLWN5Y2xlJywgIEpTT04uc3RyaW5naWZ5KCh0aGlzLmdldEJ1c2luZXNzQ3ljbGUoKSkpKTtcclxuICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnlbXT4odGhpcy5lbnYucHJvZ3JhbUVuZHBvaW50ICsgJy8nICsgaWQgKyc/aXNCdXNpbmVzc0N5Y2xlPXRydWUnLCB7aGVhZGVyc30pO1xyXG59XHJcblxyXG4vKipcclxuICpcclxuICogQHBhcmFtIHBheWxvYWQgcGF5bG9hZCB3aGljaCBuZWVkIHRvIGJlIHVwZGF0ZWRcclxuICogQHBhcmFtIGlkIHByb2dyYW0gb2JqZWN0IGlkXHJcbiAqIEByZXR1cm5zXHJcbiAqL1xyXG51cGRhdGVQcm9ncmFtKHBheWxvYWQ6YW55LCBpZDogc3RyaW5nKXtcclxuICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpLnNldCgneC1idXNpbmVzcy1jeWNsZScsICBKU09OLnN0cmluZ2lmeSgodGhpcy5nZXRCdXNpbmVzc0N5Y2xlKCkpKSk7XHJcbiAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueVtdPih0aGlzLmVudi5wcm9ncmFtRW5kcG9pbnQgKyAnL2NhdGVnb3J5L2VkaXRDYXRlZ29yeS8nKyBpZCAgKyAnP2lzQnVzaW5lc3NDeWNsZT10cnVlJyxwYXlsb2FkLCB7aGVhZGVyc30pO1xyXG59XHJcblxyXG59XHJcbiJdfQ==
|
|
203
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3JhbXMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3dvcmtmbG93LXNlcnZpY2VzL3Byb2dyYW1zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBSzdDLE1BQU0sT0FBTyxlQUFlO0lBRzFCLFlBQW9CLElBQWdCLEVBQVUsV0FBd0IsRUFBYyxNQUF1QjtRQUF2RixTQUFJLEdBQUosSUFBSSxDQUFZO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDcEUsSUFBSSxNQUFNLEVBQUU7WUFDVixJQUFJLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUM7U0FFN0I7SUFDSCxDQUFDO0lBRUQsUUFBUTtRQUNOLE1BQU0sT0FBTyxHQUFHLElBQUksV0FBVyxFQUFFLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FBQztRQUN6RixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsZUFBZSxHQUFHLHVCQUF1QixFQUFDLEVBQUMsT0FBTyxFQUFDLENBQUMsQ0FBQztJQUNyRixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxXQUFXLENBQUMsT0FBWSxFQUFFLElBQVM7UUFDakMsSUFBSTtR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SUFBSSxXQUFXLEVBQUUsQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUFDO1FBQ3pGLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQVEsSUFBSSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsR0FBRyxtQkFBbUIsRUFBQyxFQUFDLFNBQVMsRUFBRSxHQUFHLEVBQUMsRUFBRSxFQUFDLE9BQU8sRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzNILENBQUM7Ozs7WUFuTUEsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUFSUSxVQUFVO1lBSVYsV0FBVztZQURYLGNBQWMsdUJBU29ELFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgcmV0cnkgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQ29uZmlndXJhdGlvbnMgfSBmcm9tICcuLi9jb25maWd1cmF0aW9ucyc7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi9hdXRoLnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgUHJvZ3JhbXNTZXJ2aWNlIHtcclxuXHJcbiAgZW52ICE6IGFueTtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLCBAT3B0aW9uYWwoKSBjb25maWc/OiBDb25maWd1cmF0aW9ucykge1xyXG4gICAgaWYgKGNvbmZpZykge1xyXG4gICAgICB0aGlzLmVudiA9IGNvbmZpZy5lbnZDb25maWc7XHJcblxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0Um9sZXMoKXtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ3Rva2VuJywgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKSk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLmVudi5vcmdhbml6YXRpb25HZXQgKyAncm9sZXMvZ2V0UHJvZ3JhbVJvbGVzJyx7aGVhZGVyc30pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVXBsb2FkcyB0aGUgZ2l2ZW4gZmlsZSB0byBzZXJ2ZXJcclxuICAgKiBAcGFyYW0gcGF5bG9hZCBwYXlsb2FkIEZpbGUgZGF0YSB0byBiZSB1cGxvYWRlZFxyXG4gICAqIEBwYXJhbSBwYXRoIHBhdGggUGF0aCBvZiBmaWxlIHRvIGJlIHVwbG9hZGVkXHJcbiAgICogQHJldHVybnMgcmVzcG9uc2UgYWZ0ZXIgdXBsb2FkaW5nIGEgZmlsZVxyXG4gICAqL1xyXG4gIHVwbG9hZEZpbGVzKHBheWxvYWQ6IGFueSwgcGF0aDogYW55KSB7XHJcbiAgICAvLyB7XHJcbiAgICAvLyAgIHJlcG9ydFByb2dyZXNzOiB0cnVlLFxyXG4gICAgLy8gICBvYnNlcnZlOiAnZXZlbnRzJ31cclxuICAgIGNvbnN0IE9SR19QQVRIID0gYG8vJHtwYXRofWA7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QodGhpcy5lbnYuZmlsZVVwbG9hZEVuZFBvaW50ICsgT1JHX1BBVEggICsgJyZuZ3N3LWJ5cGFzcz10cnVlJywgcGF5bG9hZCk7XHJcbiAgfVxyXG5cclxuICBnZXRSZXNwb25zaWJpbGl0eUNlbnRlckxpc3QoKSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55W10+KHRoaXMuZW52LmNvbXBsaWFuY2VHZXQgKyAncmVzcG9uc2liaWxpdHlDZW50ZXJUcmVlJywge1xyXG4gICAgICAgIGhlYWRlcnMsXHJcbiAgICAgIH0pLnBpcGUocmV0cnkoMikpO1xyXG4gIH1cclxuXHJcblxyXG4gIGZldGNoUm9sZVVzZXJzKHJvbGVzOmFueSxwYWdlPzphbnksIHNlYXJjaEtleT86YW55KXtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ3Rva2VuJywgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKSk7XHJcbiAgICBsZXQgcXVlcnlTdHJpbmcgPSAnJztcclxuICAgIGlmKHBhZ2UpeyBxdWVyeVN0cmluZyArPSBgJnBhZ2U9JHtwYWdlfWB9O1xyXG4gICAgaWYoc2VhcmNoS2V5KXt9XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55W10+KHRoaXMuZW52Lm9yZ2FuaXphdGlvblBvc3QgKyAncm9sZXMvZ2V0VXNlckRldGFpbHMmbGltaXQ9MzAnK3F1ZXJ5U3RyaW5nLHsgcm9sZV9pZHMgOnJvbGVzID8/IFtdfSwge2hlYWRlcnN9KS5waXBlKHJldHJ5KDIpKTtcclxuICB9XHJcblxyXG4gIGZldGNoQWxsUm9sZVVzZXJzKHJvbGVzOmFueSl7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueVtdPih0aGlzLmVudi5vcmdhbml6YXRpb25Qb3N0ICsgJ3JvbGVzL2dldFVzZXJEZXRhaWxzJnR5cGU9YWxsJyx7IHJvbGVfaWRzIDpyb2xlcyA/PyBbXX0sIHtoZWFkZXJzfSkucGlwZShyZXRyeSgyKSk7XHJcbiAgfVxyXG5cclxuICBmZXRjaEFsbFJvbGVHcm91cHMocm9sZXM6YW55KXtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ3Rva2VuJywgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKSk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55W10+KHRoaXMuZW52Lm9yZ2FuaXphdGlvblBvc3QgKyAncm9sZXMvZ2V0R3JvdXBEZXRhaWxzJnR5cGU9YWxsJyx7IHJvbGVfaWRzIDpyb2xlcyA/PyBbXX0sIHtoZWFkZXJzfSkucGlwZShyZXRyeSgyKSk7XHJcbiAgfVxyXG4gIGZldGNoQWxsT3JnVXNlcigpe1xyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICAgIC8vaHR0cHM6Ly9kZXZhcGkudi1jb21wbHkuY29tL29yZ2FuaXphdGlvbi8/bW9kZT1vcmdhbmlzYXRpb25Vc2Vyc0xpc3QmcGFnaW5hdGlvblR5cGU9c21hbGwmYWRtaW49MVxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55W10+KHRoaXMuZW52Lm9yZ2FuaXphdGlvbkdldCArICdvcmdhbmlzYXRpb25Vc2Vyc0xpc3QmcGFnaW5hdGlvblR5cGU9c21hbGwnLCB7aGVhZGVyc30pLnBpcGUocmV0cnkoMikpO1xyXG4gIH1cclxuICBmZXRjaENvbXBsaWFuY2VHcm91cHMoKXtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ3Rva2VuJywgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKSk7XHJcbiAgICAvL2h0dHBzOi8vZGV2YXBpLnYtY29tcGx5LmNvbS9vcmdhbml6YXRpb24vP21vZGU9Z3JvdXBzTGlzdCZzdGF0dXM9MSZ0eXBlPWNvbXBsaWFuY2VcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueVtdPih0aGlzLmVudi5vcmdhbml6YXRpb25HZXQgKyAnZ3JvdXBzTGlzdCZzdGF0dXM9MSZ0eXBlPWNvbXBsaWFuY2UnLCB7aGVhZGVyc30pLnBpcGUocmV0cnkoMikpO1xyXG4gIH1cclxuXHJcbiAgZ2V0QnVzaW5lc3NDeWNsZSgpe1xyXG4gICAgY29uc3QgYnVzaW5lc3NDeWNsZSA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJidXNpbmVzc0N5Y2xlXCIpID8/ICcnKTtcclxuICAgcmV0dXJuIHtcclxuICAgICAgc2VsZWN0ZWRfY3ljbGU6IGJ1c2luZXNzQ3ljbGVcclxuICAgICAgICA/IGJ1c2luZXNzQ3ljbGUuc2VsZWN0ZWRDeWNsZS5zdGFydF9kYXRlICtcclxuICAgICAgICBcIi1cIiArXHJcbiAgICAgICAgYnVzaW5lc3NDeWNsZS5zZWxlY3RlZEN5Y2xlLmVuZF9kYXRlXHJcbiAgICAgICAgOiBcIlwiLFxyXG4gICAgICBzdGFydF9kYXRlOiBidXNpbmVzc0N5Y2xlID8gYnVzaW5lc3NDeWNsZS5zZWxlY3RlZEN5Y2xlLnN0YXJ0X2RhdGUgOiBcIlwiLFxyXG4gICAgICBlbmRfZGF0ZTogYnVzaW5lc3NDeWNsZSA/IGJ1c2luZXNzQ3ljbGUuc2VsZWN0ZWRDeWNsZS5lbmRfZGF0ZSA6IFwiXCIsXHJcbiAgICAgIHNlbGVjdGVkX2N5Y2xlX2FycjogYnVzaW5lc3NDeWNsZVxyXG4gICAgICAgID8gYnVzaW5lc3NDeWNsZT8uc2VsZWN0ZWRDeWNsZT8uc2VsZWN0ZWRfY3ljbGVfYXJyXHJcbiAgICAgICAgOiBbXSxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBzYXZlUHJvZ3JhbShwYXlsb2FkOmFueSl7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpLnNldCgneC1idXNpbmVzcy1jeWNsZScsICBKU09OLnN0cmluZ2lmeSgodGhpcy5nZXRCdXNpbmVzc0N5Y2xlKCkpKSk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55W10+KHRoaXMuZW52LnByb2dyYW1FbmRwb2ludCArICcvY2F0ZWdvcnkvP2lzQnVzaW5lc3NDeWNsZT10cnVlJyxwYXlsb2FkLCB7aGVhZGVyc30pO1xyXG4gIH1cclxuXHJcblxyXG4gYnVpbGRQYXlsb2FkKGZvcm1EYXRhOmFueSxpbnN0YW5jZTphbnkpe1xyXG5jb25zb2xlLmxvZyhcIkNvbXBvbmVudCBJbnN0YW5jZVwiLGluc3RhbmNlKTtcclxuY29uc3QgZm9ybSA9IGZvcm1EYXRhPy52YWx1ZTtcclxuY29uc29sZS5sb2coXCJGb3JtIFZhbHVlXCIsZm9ybSk7XHJcbmNvbnN0IHBheWxvYWQgPSB7XHJcbiAgbW9kZTogJ3Byb2dyYW0nLFxyXG4gIG5hbWU6Zm9ybT8ucHJvZ3JhbV9uYW1lID8/ICcnLFxyXG4gIGRlc2NyaXB0aW9uOnt0ZXh0OmZvcm0/LnByb2dyYW1fZGVzY3JpcHRpb24gPz8gJycsYXR0YWNobWVudHM6Zm9ybT8ucHJvZ3JhbV9kZXNjcmlwdGlvbl9hdHRhY2htZW50cyA/PyBbXX0sXHJcbiAgcHJvZ3JhbV9vYmplY3RpdmUgOiB7dGV4dDpmb3JtPy5wcm9ncmFtX29iamVjdGl2ZSA/PyAnJyxhdHRhY2htZW50czpmb3JtPy5vYmplY3RpdmVfYXR0YWNobWVudCA/PyBbXX0sXHJcbiAgcm9sZXM6IGZvcm0ucHJvZ3JhbV9yb2xlcy5tYXAoKGVsZTphbnkpID0+IHtyZXR1cm4ge3JvbGVJZDplbGU/Ll9pZCxyb2xlTmFtZTplbGU/LnJvbGVOYW1lLCBsaWNlbnNlVHlwZTplbGU/LmxpY2Vuc2VUeXBlfX0pLFxyXG4gIG93bmVyczp0aGlzLmxpc3RUb0lkKGZvcm0/LnByb2dyYW1fb3duZXJzLCdtZW1iZXJfaWQnKSA/PyBbXSxcclxuICBvd25lcnNfZ3JvdXA6IHRoaXMubGlzdFRvSWQoZm9ybT8ucHJvZ3JhbV9vd25lcnNfZ3JvdXAsJ2dyb3VwX2lkJykgPz8gW10sXHJcbiAgYWxsX3VzZXJfaW5fcm9sZTogZm9ybT8uYWxsX3VzZXJfaW5fcm9sZSA/PyBmYWxzZSxcclxuICBwcm9ncmFtVHlwZTpmb3JtPy5wcm9ncmFtX3R5cGUgPz8gMCxcclxuICBzdGF0ZTowLFxyXG4gIGFwcHJvdmVyczp0aGlzLmxpc3RUb0lkKGZvcm0/LnByb2dyYW1fYXBwcm92ZXIsJ21lbWJlcl9pZCcpID8/IFtdLFxyXG4gIGNhbGN1bGF0ZV9wYXN0X3VwY29taW5nX2V2ZW50OiBmb3JtPy5wZXJmb3JtYW5jZV9jYWxjdWxhdGlvbiA/PyAnJyxcclxuICBwcm9ncmFtX2ZyZXF1ZW5jeSA6IGZvcm0/LnJlY3VycmluZ19mcmVxdWVuY3kgPyAxIDogMCxcclxuICBsb2NrX3Njb3BlOiBmb3JtPy5sb2NrX3Njb3BlX2NoYW5nZSA/IDEgOjAsXHJcbiAgcmNfaWRzOiB0aGlzLmxpc3RUb0lkKGZvcm0/LnJjLCdpdGVtX2lkJyksXHJcbiAgYXNzaWduZWVfaWRzOiB0aGlzLmxpc3RUb0lkKGZvcm0/LnByb2dyYW1fYXNzaWduZWUsJ21lbWJlcl9pZCcpLFxyXG4gIGFzc2lnbmVlX2dyb3VwX2lkczogdGhpcy5saXN0VG9JZChmb3JtPy5wcm9ncmFtX2Fzc2lnbmVlX2dyb3VwLCdncm91cF9pZCcpLFxyXG4gIGRlZmF1bHRfYXNzaWduZWVfaWRzIDogIHRoaXMubGlzdFRvSWQoZm9ybT8ucHJvZ3JhbV9kZWZhdWx0X2Fzc2lnbmVlLCdtZW1iZXJfaWQnKSxcclxuICBkZWZhdWx0X2Fzc2lnbmVlX2dyb3VwX2lkczogdGhpcy5saXN0VG9JZChmb3JtPy5wcm9ncmFtX2RlZmF1bHRfYXNzaWduZWVfZ3JvdXAsJ2dyb3VwX2lkJyksXHJcbiAgZGVmYXVsdF9hc3NpZ25lZV90eXBlOiBmb3JtPy5hc3NpZ25lZV9jb21wbGV0aW9uX2NyaXRlcmlhLFxyXG4gIHJldmlld2Vyczp0aGlzLmxpc3RUb0lkKGZvcm0/LnByb2dyYW1fcmV2aWV3ZXIsJ21lbWJlcl9pZCcpLFxyXG4gIHJldmlld2VyX2dyb3VwX2lkczogdGhpcy5saXN0VG9JZChmb3JtPy5wcm9ncmFtX3Jldmlld2VyX2dyb3VwLCdncm91cF9pZCcpLFxyXG4gIGRlZmF1bHRfcmV2aWV3ZXJzOnRoaXMubGlzdFRvSWQoZm9ybT8ucHJvZ3JhbV9kZWZhdWx0X3Jldmlld2VyLCdtZW1iZXJfaWQnKSxcclxuICBkZWZhdWx0X3Jldmlld2VyX2dyb3VwX2lkczogdGhpcy5saXN0VG9JZChmb3JtPy5wcm9ncmFtX2RlZmF1bHRfcmV2aWV3ZXJfZ3JvdXAsJ2dyb3VwX2lkJyksXHJcbiAgZGVmYXVsdF9yZXZpZXdlcnNfdHlwZTpmb3JtPy5yZXZpZXdlcl9jb21wbGV0aW9uX2NyaXRlcmlhLFxyXG4gIG92ZXJzZWVyczoge2NjX2VtYWlsOiB0aGlzLmxpc3RUb0lkKGZvcm0/LnByb2dyYW1fb3ZlcnNlZXIsJ21lbWJlcl9pZCcpLGNjX2VtYWlsX2dyb3Vwczp0aGlzLmxpc3RUb0lkKGZvcm0/LnByb2dyYW1fb3ZlcnNlZXJfZ3JvdXAsJ2dyb3VwX2lkJyksZmFpbHVyZV9jY19lbWFpbDogW10sZmFpbHVyZV9jY19lbWFpbF9ncm91cHM6W119LFxyXG4gIGRlZmF1bHRfb3ZlcnNlZXJzOiB7Y2NfZW1haWw6IHRoaXMubGlzdFRvSWQoZm9ybT8ucHJvZ3JhbV9kZWZhdWx0X292ZXJzZWVyLCdtZW1iZXJfaWQnKSxjY19lbWFpbF9ncm91cHM6dGhpcy5saXN0VG9JZChmb3JtPy5wcm9ncmFtX2RlZmF1bHRfb3ZlcnNlZXJfZ3JvdXAsJ2dyb3VwX2lkJyksXHJcbiAgZmFpbHVyZV9jY19lbWFpbDogdGhpcy5saXN0VG9JZChmb3JtPy5wcm9ncmFtX2RlZmF1bHRfZmFpbGVkX292ZXJzZWVyLCdtZW1iZXJfaWQnKSxmYWlsdXJlX2NjX2VtYWlsX2dyb3Vwczp0aGlzLmxpc3RUb0lkKGZvcm0/LnByb2dyYW1fZGVmYXVsdF9mYWlsZWRfb3ZlcnNlZXJfZ3JvdXAsJ2dyb3VwX2lkJyl9LFxyXG4gIGFzc2Vzc21lbnQ6IHRoaXMuZ2VuZXJhdGVBc3Nlc3NtZW50KGZvcm0ucHJvZ3JhbV9hc3Nlc3NtZW50cyksXHJcbiAgZXZpZGVuY2VfdXBsb2FkX2ZsYWc6Zm9ybT8uZXZpZGVuY2VfcmVxdWlyZWQgPyAxIDogMCxcclxuICBpc19rZXlfZXZpZGVuY2U6IGZvcm0/LmFsbG93X2FueV9maWxlX2tleV9ldmlkZW5jZSxcclxuICBjdXN0b21fZmllbGRzOmZvcm0/LmN1c3RvbV9maWVsZHMgPz8gW10sXHJcbiAgZnJhbWV3b3JrOnRoaXMuZ2V0RnJhbWV3b3JrKGZvcm0/LmZyYW1ld29yaykgPz8gW10sXHJcbiAgX2lkOiBpbnN0YW5jZS5tb2RlID09PSAnRURJVCcgPyBpbnN0YW5jZS5wcm9ncmFtSWQgOiB1bmRlZmluZWQsXHJcbn1cclxuY29uc29sZS5sb2coXCJwYXlsb2FkXCIscGF5bG9hZClcclxucmV0dXJuIHBheWxvYWQ7XHJcbiB9XHJcbiBnZW5lcmF0ZUFzc2Vzc21lbnQoYXNzZXNzbWVudDphbnkpe1xyXG4gICBpZihhc3Nlc3NtZW50ICYmIGFzc2Vzc21lbnQ/Lmxlbmd0aCl7XHJcbiAgICByZXR1cm4gYXNzZXNzbWVudC5tYXAoKGNhdDphbnkpID0+IHtyZXR1cm4gey4uLmNhdCxhc3Nlc3NtZW50SWRzIDogY2F0LmFzc2Vzc21lbnRJZHM/Lm1hcCgoYXNzZXNzOmFueSkgPT4gYXNzZXNzLmlkKX19KVxyXG4gICB9ZWxzZXtcclxuICAgICByZXR1cm4gW107XHJcbiAgIH1cclxuIH1cclxuIGdldEZyYW1ld29yayhpbnB1dDphbnkpe1xyXG4gICBjb25zb2xlLmxvZyhcImdlbmVyYXRvclwiLGlucHV0KVxyXG4gICBpZihpbnB1dCl7XHJcbiAgICByZXR1cm4gW3tcclxuICAgICAgX2lkOmlucHV0Py5faWQsXHJcbiAgICAgIGZyYW1ld29ya19uYW1lOmlucHV0Py5mcmFtZXdvcmtfbmFtZSxcclxuICAgICAgdHlwZTogaW5wdXQ/LnR5cGUsXHJcbiAgICAgIGluX3Njb3BlOnRoaXMubGlzdFRvSWQoaW5wdXQ/LmluX3Njb3BlLCdfaWQnKSxcclxuICAgICAgb3V0X3Njb3BlOnRoaXMubGlzdFRvSWQoaW5wdXQ/Lm91dF9zY29wZSwnX2lkJylcclxuICAgIH1dXHJcbiAgIH1lbHNle1xyXG4gICAgIHJldHVybiBbXVxyXG4gICB9XHJcblxyXG4gfVxyXG5cclxuIGxpc3RUb0lkKGxpc3Q6YW55LGtleTpzdHJpbmcpe1xyXG4gICBpZihsaXN0ICYmIGxpc3Q/Lmxlbmd0aCl7XHJcbiAgICByZXR1cm4gbGlzdC5tYXAoKGVsZTphbnkpID0+IGVsZVtrZXldKTtcclxuICAgfWVsc2V7XHJcbiAgICAgcmV0dXJuIFtdO1xyXG4gICB9XHJcbiAgXHJcbiB9XHJcblxyXG4vKipcclxuICpcclxuICogQHBhcmFtIGlkIDogcHJvZ3JhbSBvYmplY3QgaWRcclxuICogQHJldHVybnNcclxuICovXHJcbiBnZXRQcm9ncmFtKGlkOmFueSl7XHJcbiAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKS5zZXQoJ3gtYnVzaW5lc3MtY3ljbGUnLCAgSlNPTi5zdHJpbmdpZnkoKHRoaXMuZ2V0QnVzaW5lc3NDeWNsZSgpKSkpO1xyXG4gIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueVtdPih0aGlzLmVudi5wcm9ncmFtRW5kcG9pbnQgKyAnLycgKyBpZCArJz9pc0J1c2luZXNzQ3ljbGU9dHJ1ZScsIHtoZWFkZXJzfSk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKlxyXG4gKiBAcGFyYW0gcGF5bG9hZCBwYXlsb2FkIHdoaWNoIG5lZWQgdG8gYmUgdXBkYXRlZFxyXG4gKiBAcGFyYW0gaWQgcHJvZ3JhbSBvYmplY3QgaWRcclxuICogQHJldHVybnNcclxuICovXHJcbnVwZGF0ZVByb2dyYW0ocGF5bG9hZDphbnksIGlkOiBzdHJpbmcpe1xyXG4gIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ3Rva2VuJywgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKSkuc2V0KCd4LWJ1c2luZXNzLWN5Y2xlJywgIEpTT04uc3RyaW5naWZ5KCh0aGlzLmdldEJ1c2luZXNzQ3ljbGUoKSkpKTtcclxuICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55W10+KHRoaXMuZW52LnByb2dyYW1FbmRwb2ludCArICcvY2F0ZWdvcnkvZWRpdENhdGVnb3J5LycrIGlkICArICc/aXNCdXNpbmVzc0N5Y2xlPXRydWUnLHBheWxvYWQsIHtoZWFkZXJzfSk7XHJcbn1cclxuXHJcblxyXG5nZXRNZW1lYmVyQnlJZHMoaWRzOmFueSl7XHJcbiAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55W10+KHRoaXMuZW52Lm9yZ2FuaXphdGlvblBvc3QgKyAnbWVtYmVyRGV0YWlsc2J5SWRzJyx7bWVtYmVyX2lkOiBpZHN9LCB7aGVhZGVyc30pLnBpcGUocmV0cnkoMikpO1xyXG59XHJcblxyXG5nZXRNZW1iZXJCeUdyb3VwcyhpZHM6YW55KXtcclxuICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpO1xyXG4gIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnlbXT4odGhpcy5lbnYub3JnYW5pemF0aW9uUG9zdCArICdncm91cERldGFpbHNieUlkcycse2dyb3VwX2lkczogaWRzfSwge2hlYWRlcnN9KS5waXBlKHJldHJ5KDIpKTtcclxufVxyXG5cclxufVxyXG4iXX0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"moduleName":null,"summaries":[{"symbol":{"__symbol":0,"members":[]},"metadata":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,[{"__symbolic":"call","expression":{"__symbol":1,"members":[]}}]],"parameters":[{"__symbol":2,"members":[]},{"__symbol":3,"members":[]},{"__symbol":4,"members":[]}]}],"getRoles":[{"__symbolic":"method"}],"uploadFiles":[{"__symbolic":"method"}],"getResponsibilityCenterList":[{"__symbolic":"method"}],"fetchRoleUsers":[{"__symbolic":"method"}],"fetchAllRoleUsers":[{"__symbolic":"method"}],"fetchAllRoleGroups":[{"__symbolic":"method"}],"fetchAllOrgUser":[{"__symbolic":"method"}],"fetchComplianceGroups":[{"__symbolic":"method"}],"getBusinessCycle":[{"__symbolic":"method"}],"saveProgram":[{"__symbolic":"method"}],"buildPayload":[{"__symbolic":"method"}],"getFramework":[{"__symbolic":"method"}],"listToId":[{"__symbolic":"method"}],"getProgram":[{"__symbolic":"method"}],"updateProgram":[{"__symbolic":"method"}]}},"type":{"summaryKind":3,"type":{"reference":{"__symbol":0,"members":[]},"diDeps":[{"isAttribute":false,"isHost":false,"isSelf":false,"isSkipSelf":false,"isOptional":false,"token":{"identifier":{"reference":{"__symbol":2,"members":[]}}}},{"isAttribute":false,"isHost":false,"isSelf":false,"isSkipSelf":false,"isOptional":false,"token":{"identifier":{"reference":{"__symbol":3,"members":[]}}}},{"isAttribute":false,"isHost":false,"isSelf":false,"isSkipSelf":false,"isOptional":true,"token":{"identifier":{"reference":{"__symbol":4,"members":[]}}}}],"lifecycleHooks":[]}}}],"symbols":[{"__symbol":0,"name":"ProgramsService","filePath":"./programs.service"},{"__symbol":1,"name":"Optional","filePath":"@angular/core"},{"__symbol":2,"name":"HttpClient","filePath":"@angular/common/http/http"},{"__symbol":3,"name":"AuthService","filePath":"./auth.service"},{"__symbol":4,"name":"Configurations","filePath":"../configurations"}]}
|
|
1
|
+
{"moduleName":null,"summaries":[{"symbol":{"__symbol":0,"members":[]},"metadata":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,[{"__symbolic":"call","expression":{"__symbol":1,"members":[]}}]],"parameters":[{"__symbol":2,"members":[]},{"__symbol":3,"members":[]},{"__symbol":4,"members":[]}]}],"getRoles":[{"__symbolic":"method"}],"uploadFiles":[{"__symbolic":"method"}],"getResponsibilityCenterList":[{"__symbolic":"method"}],"fetchRoleUsers":[{"__symbolic":"method"}],"fetchAllRoleUsers":[{"__symbolic":"method"}],"fetchAllRoleGroups":[{"__symbolic":"method"}],"fetchAllOrgUser":[{"__symbolic":"method"}],"fetchComplianceGroups":[{"__symbolic":"method"}],"getBusinessCycle":[{"__symbolic":"method"}],"saveProgram":[{"__symbolic":"method"}],"buildPayload":[{"__symbolic":"method"}],"generateAssessment":[{"__symbolic":"method"}],"getFramework":[{"__symbolic":"method"}],"listToId":[{"__symbolic":"method"}],"getProgram":[{"__symbolic":"method"}],"updateProgram":[{"__symbolic":"method"}],"getMemeberByIds":[{"__symbolic":"method"}],"getMemberByGroups":[{"__symbolic":"method"}]}},"type":{"summaryKind":3,"type":{"reference":{"__symbol":0,"members":[]},"diDeps":[{"isAttribute":false,"isHost":false,"isSelf":false,"isSkipSelf":false,"isOptional":false,"token":{"identifier":{"reference":{"__symbol":2,"members":[]}}}},{"isAttribute":false,"isHost":false,"isSelf":false,"isSkipSelf":false,"isOptional":false,"token":{"identifier":{"reference":{"__symbol":3,"members":[]}}}},{"isAttribute":false,"isHost":false,"isSelf":false,"isSkipSelf":false,"isOptional":true,"token":{"identifier":{"reference":{"__symbol":4,"members":[]}}}}],"lifecycleHooks":[]}}}],"symbols":[{"__symbol":0,"name":"ProgramsService","filePath":"./programs.service"},{"__symbol":1,"name":"Optional","filePath":"@angular/core"},{"__symbol":2,"name":"HttpClient","filePath":"@angular/common/http/http"},{"__symbol":3,"name":"AuthService","filePath":"./auth.service"},{"__symbol":4,"name":"Configurations","filePath":"../configurations"}]}
|
|
@@ -19,16 +19,16 @@ export class ResponsibilityService {
|
|
|
19
19
|
this.env = config.envConfig;
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
|
-
getResponsibilityCenterList() {
|
|
22
|
+
getResponsibilityCenterList(params) {
|
|
23
23
|
const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());
|
|
24
24
|
return this.http.get(this.env.complianceGet + 'responsibilityCenterTree', {
|
|
25
|
-
headers
|
|
25
|
+
params, headers
|
|
26
26
|
}).pipe(retry(2));
|
|
27
27
|
}
|
|
28
|
-
getOrganizationGroups() {
|
|
28
|
+
getOrganizationGroups(params) {
|
|
29
29
|
const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());
|
|
30
30
|
return this.http.get(this.env.organizationGet + 'groupsList&status=1&type=compliance', {
|
|
31
|
-
headers,
|
|
31
|
+
params, headers,
|
|
32
32
|
}).pipe(retry(2));
|
|
33
33
|
}
|
|
34
34
|
getOrganizationUsers() {
|
|
@@ -37,10 +37,10 @@ export class ResponsibilityService {
|
|
|
37
37
|
headers,
|
|
38
38
|
}).pipe(retry(2));
|
|
39
39
|
}
|
|
40
|
-
getOrganizationPeople() {
|
|
40
|
+
getOrganizationPeople(params) {
|
|
41
41
|
const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());
|
|
42
42
|
return this.http.get(this.env.organizationGet + 'people', {
|
|
43
|
-
headers
|
|
43
|
+
params, headers
|
|
44
44
|
}).pipe(retry(2));
|
|
45
45
|
}
|
|
46
46
|
getAssignorsList() {
|
|
@@ -55,6 +55,18 @@ export class ResponsibilityService {
|
|
|
55
55
|
headers,
|
|
56
56
|
}).pipe(retry(2));
|
|
57
57
|
}
|
|
58
|
+
getProgramsList(params) {
|
|
59
|
+
const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());
|
|
60
|
+
return this.http.get(this.env.complianceGet + 'complianceCategory/programList', {
|
|
61
|
+
params, headers
|
|
62
|
+
}).pipe(retry(2));
|
|
63
|
+
}
|
|
64
|
+
getCategoriesUnderProgram(params) {
|
|
65
|
+
const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());
|
|
66
|
+
return this.http.get(this.env.complianceGet + 'complianceCategory/CategoryListTree', {
|
|
67
|
+
params, headers
|
|
68
|
+
}).pipe(retry(2));
|
|
69
|
+
}
|
|
58
70
|
getAssurance() {
|
|
59
71
|
const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());
|
|
60
72
|
return this.http.get(this.env.assuranceGet + 'category/list&id=1', {
|
|
@@ -100,13 +112,13 @@ export class ResponsibilityService {
|
|
|
100
112
|
const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());
|
|
101
113
|
return this.http.post(this.env.compliancePost + 'file/upload', file, { headers }).pipe(retry(2));
|
|
102
114
|
}
|
|
103
|
-
getAssessmentCategory(payload) {
|
|
115
|
+
getAssessmentCategory(payload, program_ids) {
|
|
104
116
|
const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());
|
|
105
|
-
return this.http.post(this.env.assessmentEnpoint + 'category/list&isCreateResponsibility=true', payload, { headers }).pipe(retry(2));
|
|
117
|
+
return this.http.post(this.env.assessmentEnpoint + 'category/list&isCreateResponsibility=true' + (program_ids ? '&program_ids=' + program_ids : ''), payload, { headers }).pipe(retry(2));
|
|
106
118
|
}
|
|
107
|
-
getAssessmentList(payload, id) {
|
|
119
|
+
getAssessmentList(payload, id, program_ids) {
|
|
108
120
|
const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());
|
|
109
|
-
return this.http.post(this.env.assessmentEnpoint + 'assessment/selectAssessment&isCreateResponsibility=true&catid=' + id, payload, { headers }).pipe(retry(2));
|
|
121
|
+
return this.http.post(this.env.assessmentEnpoint + 'assessment/selectAssessment&isCreateResponsibility=true&catid=' + id + (program_ids ? '&program_ids=' + program_ids : ''), payload, { headers }).pipe(retry(2));
|
|
110
122
|
}
|
|
111
123
|
getAssessmentDetailsByID(id) {
|
|
112
124
|
const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());
|
|
@@ -124,4 +136,4 @@ ResponsibilityService.ctorParameters = () => [
|
|
|
124
136
|
{ type: AuthService },
|
|
125
137
|
{ type: Configurations, decorators: [{ type: Optional }] }
|
|
126
138
|
];
|
|
127
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzcG9uc2liaWxpdHkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3dvcmtmbG93LXNlcnZpY2VzL3Jlc3BvbnNpYmlsaXR5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFNN0MsTUFBTSxPQUFPLHFCQUFxQjtJQUloQyxZQUFvQixJQUFnQixFQUFVLFdBQXdCLEVBQWMsTUFBdUI7UUFBdkYsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBRnRFLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBcUdqQixtQkFBYyxHQUFVLEVBQUUsQ0FBQztRQUMzQixrQkFBYSxHQUFVLEVBQUUsQ0FBQztRQUMxQiw4QkFBeUIsR0FBVSxFQUFFLENBQUM7UUFwR3BDLElBQUksTUFBTSxFQUFFO1lBQ1YsSUFBSSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDO1NBRTdCO0lBQ0gsQ0FBQztJQUVELDJCQUEyQjtRQUN6QixNQUFNLE9BQU8sR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLENBQUM7UUFDekYsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBUSxJQUFJ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QkFBaUIsQ0FBQyxPQUFZLEVBQUUsRUFBVTtRQUN4QyxNQUFNLE9BQU8sR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLENBQUM7UUFDekYsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBd0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsR0FBRyxnRUFBZ0UsR0FBQyxFQUFFLEVBQUUsT0FBTyxFQUFHLEVBQUMsT0FBTyxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDckwsQ0FBQztJQUVELHdCQUF3QixDQUFDLEVBQVU7UUFDakMsTUFBTSxPQUFPLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUFDO1FBQ3pGLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQXdCLElBQUksQ0FBQyxHQUFHLENBQUMsaUJBQWlCLEdBQUcsa0NBQWtDLEdBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFDLE9BQU8sRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2pKLENBQUM7Ozs7WUF6SUYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUFUUSxVQUFVO1lBSVYsV0FBVztZQURYLGNBQWMsdUJBV29ELFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgcmV0cnkgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25zIH0gZnJvbSAnLi4vY29uZmlndXJhdGlvbnMnO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4vYXV0aC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQXNzZXNzbWVudExpc3QgfSBmcm9tICcuLi9zaGFyZWRDb21wb25lbnRzL2Fzc2Vzc21lbnQtbGlzdC9zZXJ2aWNlL2Fzc2Vzc21lbnQuaW50ZXJmYWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZXNwb25zaWJpbGl0eVNlcnZpY2Uge1xyXG4gIGVudiAhOiBhbnk7XHJcbiAgZGF0YVBlclBhZ2UgPSAzMDtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LCBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSwgQE9wdGlvbmFsKCkgY29uZmlnPzogQ29uZmlndXJhdGlvbnMpIHtcclxuICAgIGlmIChjb25maWcpIHtcclxuICAgICAgdGhpcy5lbnYgPSBjb25maWcuZW52Q29uZmlnO1xyXG5cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldFJlc3BvbnNpYmlsaXR5Q2VudGVyTGlzdCgpIHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ3Rva2VuJywgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKSk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnlbXT4odGhpcy5lbnYuY29tcGxpYW5jZUdldCArICdyZXNwb25zaWJpbGl0eUNlbnRlclRyZWUnLCB7XHJcbiAgICAgICAgaGVhZGVycyxcclxuICAgICAgfSkucGlwZShyZXRyeSgyKSk7XHJcbiAgfVxyXG5cclxuICBnZXRPcmdhbml6YXRpb25Hcm91cHMoKSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55W10+KHRoaXMuZW52Lm9yZ2FuaXphdGlvbkdldCArICdncm91cHNMaXN0JnN0YXR1cz0xJnR5cGU9Y29tcGxpYW5jZScsIHtcclxuICAgICAgICBoZWFkZXJzLFxyXG4gICAgICB9KS5waXBlKHJldHJ5KDIpKTtcclxuICB9XHJcblxyXG4gIGdldE9yZ2FuaXphdGlvblVzZXJzKCkge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueVtdPih0aGlzLmVudi5vcmdhbml6YXRpb25HZXQgKyAnb3JnYW5pemF0aW9uVXNlcnMnLCB7XHJcbiAgICAgICAgaGVhZGVycyxcclxuICAgICAgfSkucGlwZShyZXRyeSgyKSk7XHJcbiAgfVxyXG5cclxuICBnZXRPcmdhbml6YXRpb25QZW9wbGUoKSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55W10+KHRoaXMuZW52Lm9yZ2FuaXphdGlvbkdldCArICdwZW9wbGUnLCB7XHJcbiAgICAgICAgaGVhZGVycyxcclxuICAgICAgfSkucGlwZShyZXRyeSgyKSk7XHJcbiAgfVxyXG5cclxuICBnZXRBc3NpZ25vcnNMaXN0KCkge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueVtdPih0aGlzLmVudi5vcmdhbml6YXRpb25HZXQgKyAnb3JnYW5pemF0aW9uVXNlcnMmaXNPbkJlaGFsZj0xJywge1xyXG4gICAgICAgIGhlYWRlcnMsXHJcbiAgICAgIH0pLnBpcGUocmV0cnkoMikpO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q2F0ZWdvcmllc0xpc3QoKSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55W10+KHRoaXMuZW52LmNvbXBsaWFuY2VHZXQgKyAnY29tcGxpYW5jZUNhdGVnb3J5L0NhdGVnb3J5TGlzdFRyZWUnLCB7XHJcbiAgICAgICAgaGVhZGVycyxcclxuICAgICAgfSkucGlwZShyZXRyeSgyKSk7XHJcbiAgfVxyXG5cclxuICBnZXRBc3N1cmFuY2UoKSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55W10+KHRoaXMuZW52LmFzc3VyYW5jZUdldCArICdjYXRlZ29yeS9saXN0JmlkPTEnLCB7XHJcbiAgICAgIGhlYWRlcnMsXHJcbiAgICB9KS5waXBlKHJldHJ5KDIpKTtcclxuICB9XHJcblxyXG4gIGdldEFzc3VyYW5jZUZvclJlcXVpcmVzQXVkaXQoKSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55W10+KHRoaXMuZW52LmFzc3VyYW5jZUFwaSArICdBdWRpdC9DYXRlZ29yeS9MaXN0Lz9tb2RlPWVudHJ1c3RfbW9kdWxlJywge1xyXG4gICAgICBoZWFkZXJzLFxyXG4gICAgfSkucGlwZShyZXRyeSgyKSk7XHJcbiAgfVxyXG5cclxuICBnZXRSQ0RldGFpbHNPZkZyYW1ld29yayhyY19pZDphbnksIGNhdGVnb3J5X2lkOmFueSkge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuZW52LmNvbXBsaWFuY2VHZXQgKyAnY29tcGxpYW5jZUNhdGVnb3J5L0NhdGVnb3J5UkNUcmVlQnlJZCZpZD0nICsgY2F0ZWdvcnlfaWQgKyAnJnJjX2lkPScgKyByY19pZCwgeyBoZWFkZXJzIH0pO1xyXG4gIH1cclxuXHJcbiAgc3VibWl0RW50cnVzdChlbnRydXN0X2JvZHk6YW55KXtcclxuXHJcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMuZW52LmNvbXBsaWFuY2VQb3N0ICsgJ2NyZWF0ZVJlcG9ydCcsIGVudHJ1c3RfYm9keSwge2hlYWRlcnN9KTtcclxuICB9XHJcbiAgdXBkYXRlRW50cnVzdChlbnRydXN0X2JvZHk6YW55LCBvYmplY3RfaWQ6YW55LCBpc0RlbGVnYXRlOmFueSl7XHJcblxyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh0aGlzLmVudi5jb21wbGlhbmNlUG9zdCArICdjcmVhdGVSZXBvcnQmcmVwb3J0SWQ9JyArIG9iamVjdF9pZCArICcmaXNEZWxlZ2F0ZT0wJywgZW50cnVzdF9ib2R5LCAge2hlYWRlcnN9KTtcclxuICB9XHJcbiAgXHJcbiAgZWRpdFJlc3BvbnNpYmlsaXR5KG9iamVjdElkOmFueSl7XHJcblxyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuZW52LmNvbXBsaWFuY2VHZXQgKyAnY29tcGxpYW5jZVJlcG9ydC9yZXBvcnRCeUlkJmlkPScgKyBvYmplY3RJZCAsIHsgaGVhZGVycyB9KS5waXBlKHJldHJ5KDIpKTtcclxuXHJcbiAgfVxyXG5cclxuICBhZGRCdWxrUmVzcG9uc2liaWxpdHkoZW50cnVzdF9ib2R5OmFueSl7XHJcblxyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh0aGlzLmVudi5jb21wbGlhbmNlUG9zdCArICdpbXBvcnQvY3JlYXRlJywgZW50cnVzdF9ib2R5LCAge2hlYWRlcnN9KS5waXBlKHJldHJ5KDIpKTtcclxuXHJcbiAgfVxyXG5cclxuICB1cGxvYWRUb05vZGUocGF5bG9hZDogYW55LCBkZXM6IGFueSkge1xyXG4gICAgLy8gY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICAgIC8vIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnlbXT4odGhpcy5lbnYuZmlsZVVwbG9hZEVuZFBvaW50ICsgJ3Jpc2svcmVzcG9uc2liaWxpdHlDZW50ZXJMaXN0JywgeyByY19pZF9hcnI6IHJjQXJyYXkgPz8gW10gfSwgeyBoZWFkZXJzIH0pLnBpcGUocmV0cnkoMikpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4odGhpcy5lbnYuZmlsZVVwbG9hZEVuZFBvaW50ICsgZGVzLCBwYXlsb2FkKTtcclxuICB9XHJcblxyXG4gIGZpbGVzVXBsb2FkaW5nOiBhbnlbXSA9IFtdO1xyXG4gIGZpbGVzVXBsb2FkZWQ6IGFueVtdID0gW107XHJcbiAgZmlsZXNVcGxvYWRlZEFuZFVwbG9hZGluZzogYW55W10gPSBbXTtcclxuXHJcblxyXG4gIGdldENhdGVnb3J5RGV0YWlsc0J5SWQoaWQ6IGFueSkge1xyXG5cclxuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ3Rva2VuJywgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKSk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnlbXT4odGhpcy5lbnYuY29tcGxpYW5jZUdldCArICdjb21wbGlhbmNlQ2F0ZWdvcnkvQ2F0ZWdvcnlUcmVlQnlJZCZpZD0nK2lkLFxyXG4gICAgIHsgaGVhZGVycywgfSkucGlwZShyZXRyeSgyKSk7XHJcbiAgfVxyXG5cclxuICBmaWxlVXBsb2FkKGZpbGU6YW55KSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMuZW52LmNvbXBsaWFuY2VQb3N0ICsgJ2ZpbGUvdXBsb2FkJywgZmlsZSwgIHtoZWFkZXJzfSkucGlwZShyZXRyeSgyKSk7XHJcbiAgfVxyXG5cclxuIFxyXG4gIGdldEFzc2Vzc21lbnRDYXRlZ29yeShwYXlsb2FkOiBhbnkpIHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ3Rva2VuJywgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKSk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QodGhpcy5lbnYuYXNzZXNzbWVudEVucG9pbnQgKyAnY2F0ZWdvcnkvbGlzdCZpc0NyZWF0ZVJlc3BvbnNpYmlsaXR5PXRydWUnLCBwYXlsb2FkLCAge2hlYWRlcnN9KS5waXBlKHJldHJ5KDIpKTtcclxuICB9XHJcblxyXG4gIGdldEFzc2Vzc21lbnRMaXN0KHBheWxvYWQ6IGFueSwgaWQ6IHN0cmluZykge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxBcnJheTxBc3Nlc3NtZW50TGlzdD4+KHRoaXMuZW52LmFzc2Vzc21lbnRFbnBvaW50ICsgJ2Fzc2Vzc21lbnQvc2VsZWN0QXNzZXNzbWVudCZpc0NyZWF0ZVJlc3BvbnNpYmlsaXR5PXRydWUmY2F0aWQ9JytpZCwgcGF5bG9hZCwgIHtoZWFkZXJzfSkucGlwZShyZXRyeSgyKSk7XHJcbiAgfVxyXG5cclxuICBnZXRBc3Nlc3NtZW50RGV0YWlsc0J5SUQoaWQ6IHN0cmluZykge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxBcnJheTxBc3Nlc3NtZW50TGlzdD4+KHRoaXMuZW52LmFzc2Vzc21lbnRFbnBvaW50ICsgJ2Fzc2Vzc21lbnQvZ2V0QXNzZXNzbWVudEJ5SWQmaWQ9JytpZCwge30sIHtoZWFkZXJzfSkucGlwZShyZXRyeSgyKSk7XHJcbiAgfVxyXG5cclxuXHJcbn1cclxuIl19
|
|
139
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzcG9uc2liaWxpdHkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3dvcmtmbG93LXNlcnZpY2VzL3Jlc3BvbnNpYmlsaXR5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQWMsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFNN0MsTUFBTSxPQUFPLHFCQUFxQjtJQUloQyxZQUFvQixJQUFnQixFQUFVLFdBQXdCLEVBQWMsTUFBdUI7UUFBdkYsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBRnRFLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBZ0hqQixtQkFBYyxHQUFVLEVBQUUsQ0FBQztRQUMzQixrQkFBYSxHQUFVLEVBQUUsQ0FBQztRQUMxQiw4QkFBeUIsR0FBVSxFQUFFLENBQUM7UUEvR3BDLElBQUksTUFBTSxFQUFFO1lBQ1YsSUFBSSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDO1NBRTdCO0lBQ0gsQ0FBQztJQUVELDJCQUEyQixDQUFDLE1BQWtCO1FBQzVDLE1BQU0sT0FBTyxHQUFHLElBQUksV0FBVyxFQUFFLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FBQztRQUN6RixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FB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Q0FBQyxJQUFJLENBQXdCLElBQUksQ0FBQyxHQUFHLENBQUMsaUJBQWlCLEdBQUcsZ0VBQWdFLEdBQUMsRUFBRSxHQUFHLENBQUMsV0FBVyxDQUFBLENBQUMsQ0FBQyxlQUFlLEdBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUcsRUFBQyxPQUFPLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4TyxDQUFDO0lBRUQsd0JBQXdCLENBQUMsRUFBVTtRQUNqQyxNQUFNLE9BQU8sR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLENBQUM7UUFDekYsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBd0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsR0FBRyxrQ0FBa0MsR0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUMsT0FBTyxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakosQ0FBQzs7OztZQXBKRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQVRRLFVBQVU7WUFJVixXQUFXO1lBRFgsY0FBYyx1QkFXb0QsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzLCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyByZXRyeSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgQ29uZmlndXJhdGlvbnMgfSBmcm9tICcuLi9jb25maWd1cmF0aW9ucyc7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi9hdXRoLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBc3Nlc3NtZW50TGlzdCB9IGZyb20gJy4uL3NoYXJlZENvbXBvbmVudHMvYXNzZXNzbWVudC1saXN0L3NlcnZpY2UvYXNzZXNzbWVudC5pbnRlcmZhY2UnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFJlc3BvbnNpYmlsaXR5U2VydmljZSB7XHJcbiAgZW52ICE6IGFueTtcclxuICBkYXRhUGVyUGFnZSA9IDMwO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLCBAT3B0aW9uYWwoKSBjb25maWc/OiBDb25maWd1cmF0aW9ucykge1xyXG4gICAgaWYgKGNvbmZpZykge1xyXG4gICAgICB0aGlzLmVudiA9IGNvbmZpZy5lbnZDb25maWc7XHJcblxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0UmVzcG9uc2liaWxpdHlDZW50ZXJMaXN0KHBhcmFtcz86SHR0cFBhcmFtcykge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueVtdPih0aGlzLmVudi5jb21wbGlhbmNlR2V0ICsgJ3Jlc3BvbnNpYmlsaXR5Q2VudGVyVHJlZScsIHtcclxuICAgICAgcGFyYW1zLCBoZWFkZXJzXHJcbiAgICAgIH0pLnBpcGUocmV0cnkoMikpO1xyXG4gIH1cclxuXHJcbiAgZ2V0T3JnYW5pemF0aW9uR3JvdXBzKHBhcmFtcz86IEh0dHBQYXJhbXMpIHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ3Rva2VuJywgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKSk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnlbXT4odGhpcy5lbnYub3JnYW5pemF0aW9uR2V0ICsgJ2dyb3Vwc0xpc3Qmc3RhdHVzPTEmdHlwZT1jb21wbGlhbmNlJywge1xyXG4gICAgICBwYXJhbXMsICBoZWFkZXJzLFxyXG4gICAgICB9KS5waXBlKHJldHJ5KDIpKTtcclxuICB9XHJcblxyXG4gIGdldE9yZ2FuaXphdGlvblVzZXJzKCkge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueVtdPih0aGlzLmVudi5vcmdhbml6YXRpb25HZXQgKyAnb3JnYW5pemF0aW9uVXNlcnMnLCB7XHJcbiAgICAgICAgaGVhZGVycyxcclxuICAgICAgfSkucGlwZShyZXRyeSgyKSk7XHJcbiAgfVxyXG5cclxuICBnZXRPcmdhbml6YXRpb25QZW9wbGUocGFyYW1zPzpIdHRwUGFyYW1zKSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55W10+KHRoaXMuZW52Lm9yZ2FuaXphdGlvbkdldCArICdwZW9wbGUnLCB7XHJcbiAgICAgIHBhcmFtcywgaGVhZGVyc1xyXG4gICAgICB9KS5waXBlKHJldHJ5KDIpKTtcclxuICB9XHJcblxyXG4gIGdldEFzc2lnbm9yc0xpc3QoKSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55W10+KHRoaXMuZW52Lm9yZ2FuaXphdGlvbkdldCArICdvcmdhbml6YXRpb25Vc2VycyZpc09uQmVoYWxmPTEnLCB7XHJcbiAgICAgICAgaGVhZGVycyxcclxuICAgICAgfSkucGlwZShyZXRyeSgyKSk7XHJcbiAgfVxyXG5cclxuICBnZXRDYXRlZ29yaWVzTGlzdCgpIHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ3Rva2VuJywgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKSk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnlbXT4odGhpcy5lbnYuY29tcGxpYW5jZUdldCArICdjb21wbGlhbmNlQ2F0ZWdvcnkvQ2F0ZWdvcnlMaXN0VHJlZScsIHtcclxuICAgICAgICBoZWFkZXJzLFxyXG4gICAgICB9KS5waXBlKHJldHJ5KDIpKTtcclxuICB9XHJcbiAgZ2V0UHJvZ3JhbXNMaXN0KHBhcmFtczpIdHRwUGFyYW1zKSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55W10+KHRoaXMuZW52LmNvbXBsaWFuY2VHZXQgKyAnY29tcGxpYW5jZUNhdGVnb3J5L3Byb2dyYW1MaXN0Jywge1xyXG4gICAgICBwYXJhbXMsIGhlYWRlcnNcclxuICAgICAgfSkucGlwZShyZXRyeSgyKSk7XHJcbiAgfVxyXG4gIGdldENhdGVnb3JpZXNVbmRlclByb2dyYW0ocGFyYW1zOkh0dHBQYXJhbXMpIHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ3Rva2VuJywgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKSk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnlbXT4odGhpcy5lbnYuY29tcGxpYW5jZUdldCArICdjb21wbGlhbmNlQ2F0ZWdvcnkvQ2F0ZWdvcnlMaXN0VHJlZScsIHtcclxuICAgICAgcGFyYW1zLCBoZWFkZXJzXHJcbiAgICAgIH0pLnBpcGUocmV0cnkoMikpO1xyXG4gIH1cclxuICBnZXRBc3N1cmFuY2UoKSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55W10+KHRoaXMuZW52LmFzc3VyYW5jZUdldCArICdjYXRlZ29yeS9saXN0JmlkPTEnLCB7XHJcbiAgICAgIGhlYWRlcnMsXHJcbiAgICB9KS5waXBlKHJldHJ5KDIpKTtcclxuICB9XHJcblxyXG4gIGdldEFzc3VyYW5jZUZvclJlcXVpcmVzQXVkaXQoKSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55W10+KHRoaXMuZW52LmFzc3VyYW5jZUFwaSArICdBdWRpdC9DYXRlZ29yeS9MaXN0Lz9tb2RlPWVudHJ1c3RfbW9kdWxlJywge1xyXG4gICAgICBoZWFkZXJzLFxyXG4gICAgfSkucGlwZShyZXRyeSgyKSk7XHJcbiAgfVxyXG5cclxuICBnZXRSQ0RldGFpbHNPZkZyYW1ld29yayhyY19pZDphbnksIGNhdGVnb3J5X2lkOmFueSkge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuZW52LmNvbXBsaWFuY2VHZXQgKyAnY29tcGxpYW5jZUNhdGVnb3J5L0NhdGVnb3J5UkNUcmVlQnlJZCZpZD0nICsgY2F0ZWdvcnlfaWQgKyAnJnJjX2lkPScgKyByY19pZCwgeyBoZWFkZXJzIH0pO1xyXG4gIH1cclxuXHJcbiAgc3VibWl0RW50cnVzdChlbnRydXN0X2JvZHk6YW55KXtcclxuXHJcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMuZW52LmNvbXBsaWFuY2VQb3N0ICsgJ2NyZWF0ZVJlcG9ydCcsIGVudHJ1c3RfYm9keSwge2hlYWRlcnN9KTtcclxuICB9XHJcbiAgdXBkYXRlRW50cnVzdChlbnRydXN0X2JvZHk6YW55LCBvYmplY3RfaWQ6YW55LCBpc0RlbGVnYXRlOmFueSl7XHJcblxyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh0aGlzLmVudi5jb21wbGlhbmNlUG9zdCArICdjcmVhdGVSZXBvcnQmcmVwb3J0SWQ9JyArIG9iamVjdF9pZCArICcmaXNEZWxlZ2F0ZT0wJywgZW50cnVzdF9ib2R5LCAge2hlYWRlcnN9KTtcclxuICB9XHJcbiAgXHJcbiAgZWRpdFJlc3BvbnNpYmlsaXR5KG9iamVjdElkOmFueSl7XHJcblxyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuZW52LmNvbXBsaWFuY2VHZXQgKyAnY29tcGxpYW5jZVJlcG9ydC9yZXBvcnRCeUlkJmlkPScgKyBvYmplY3RJZCAsIHsgaGVhZGVycyB9KS5waXBlKHJldHJ5KDIpKTtcclxuXHJcbiAgfVxyXG5cclxuICBhZGRCdWxrUmVzcG9uc2liaWxpdHkoZW50cnVzdF9ib2R5OmFueSl7XHJcblxyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh0aGlzLmVudi5jb21wbGlhbmNlUG9zdCArICdpbXBvcnQvY3JlYXRlJywgZW50cnVzdF9ib2R5LCAge2hlYWRlcnN9KS5waXBlKHJldHJ5KDIpKTtcclxuXHJcbiAgfVxyXG5cclxuICB1cGxvYWRUb05vZGUocGF5bG9hZDogYW55LCBkZXM6IGFueSkge1xyXG4gICAgLy8gY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICAgIC8vIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnlbXT4odGhpcy5lbnYuZmlsZVVwbG9hZEVuZFBvaW50ICsgJ3Jpc2svcmVzcG9uc2liaWxpdHlDZW50ZXJMaXN0JywgeyByY19pZF9hcnI6IHJjQXJyYXkgPz8gW10gfSwgeyBoZWFkZXJzIH0pLnBpcGUocmV0cnkoMikpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4odGhpcy5lbnYuZmlsZVVwbG9hZEVuZFBvaW50ICsgZGVzLCBwYXlsb2FkKTtcclxuICB9XHJcblxyXG4gIGZpbGVzVXBsb2FkaW5nOiBhbnlbXSA9IFtdO1xyXG4gIGZpbGVzVXBsb2FkZWQ6IGFueVtdID0gW107XHJcbiAgZmlsZXNVcGxvYWRlZEFuZFVwbG9hZGluZzogYW55W10gPSBbXTtcclxuXHJcblxyXG4gIGdldENhdGVnb3J5RGV0YWlsc0J5SWQoaWQ6IGFueSkge1xyXG5cclxuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ3Rva2VuJywgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKSk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnlbXT4odGhpcy5lbnYuY29tcGxpYW5jZUdldCArICdjb21wbGlhbmNlQ2F0ZWdvcnkvQ2F0ZWdvcnlUcmVlQnlJZCZpZD0nK2lkLFxyXG4gICAgIHsgaGVhZGVycywgfSkucGlwZShyZXRyeSgyKSk7XHJcbiAgfVxyXG5cclxuICBmaWxlVXBsb2FkKGZpbGU6YW55KSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMuZW52LmNvbXBsaWFuY2VQb3N0ICsgJ2ZpbGUvdXBsb2FkJywgZmlsZSwgIHtoZWFkZXJzfSkucGlwZShyZXRyeSgyKSk7XHJcbiAgfVxyXG5cclxuIFxyXG4gIGdldEFzc2Vzc21lbnRDYXRlZ29yeShwYXlsb2FkOiBhbnksIHByb2dyYW1faWRzPzogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMuZW52LmFzc2Vzc21lbnRFbnBvaW50ICsgJ2NhdGVnb3J5L2xpc3QmaXNDcmVhdGVSZXNwb25zaWJpbGl0eT10cnVlJyArIChwcm9ncmFtX2lkcz8gJyZwcm9ncmFtX2lkcz0nKyBwcm9ncmFtX2lkcyA6ICcnKSwgcGF5bG9hZCwgIHtoZWFkZXJzfSkucGlwZShyZXRyeSgyKSk7XHJcbiAgfVxyXG5cclxuICBnZXRBc3Nlc3NtZW50TGlzdChwYXlsb2FkOiBhbnksIGlkOiBzdHJpbmcsIHByb2dyYW1faWRzPzogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEFycmF5PEFzc2Vzc21lbnRMaXN0Pj4odGhpcy5lbnYuYXNzZXNzbWVudEVucG9pbnQgKyAnYXNzZXNzbWVudC9zZWxlY3RBc3Nlc3NtZW50JmlzQ3JlYXRlUmVzcG9uc2liaWxpdHk9dHJ1ZSZjYXRpZD0nK2lkICsgKHByb2dyYW1faWRzPyAnJnByb2dyYW1faWRzPScrIHByb2dyYW1faWRzIDogJycpLCBwYXlsb2FkLCAge2hlYWRlcnN9KS5waXBlKHJldHJ5KDIpKTtcclxuICB9XHJcblxyXG4gIGdldEFzc2Vzc21lbnREZXRhaWxzQnlJRChpZDogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEFycmF5PEFzc2Vzc21lbnRMaXN0Pj4odGhpcy5lbnYuYXNzZXNzbWVudEVucG9pbnQgKyAnYXNzZXNzbWVudC9nZXRBc3Nlc3NtZW50QnlJZCZpZD0nK2lkLCB7fSwge2hlYWRlcnN9KS5waXBlKHJldHJ5KDIpKTtcclxuICB9XHJcblxyXG5cclxufVxyXG4iXX0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"moduleName":null,"summaries":[{"symbol":{"__symbol":0,"members":[]},"metadata":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,[{"__symbolic":"call","expression":{"__symbol":1,"members":[]}}]],"parameters":[{"__symbol":2,"members":[]},{"__symbol":3,"members":[]},{"__symbol":4,"members":[]}]}],"getResponsibilityCenterList":[{"__symbolic":"method"}],"getOrganizationGroups":[{"__symbolic":"method"}],"getOrganizationUsers":[{"__symbolic":"method"}],"getOrganizationPeople":[{"__symbolic":"method"}],"getAssignorsList":[{"__symbolic":"method"}],"getCategoriesList":[{"__symbolic":"method"}],"getAssurance":[{"__symbolic":"method"}],"getAssuranceForRequiresAudit":[{"__symbolic":"method"}],"getRCDetailsOfFramework":[{"__symbolic":"method"}],"submitEntrust":[{"__symbolic":"method"}],"updateEntrust":[{"__symbolic":"method"}],"editResponsibility":[{"__symbolic":"method"}],"addBulkResponsibility":[{"__symbolic":"method"}],"uploadToNode":[{"__symbolic":"method"}],"getCategoryDetailsById":[{"__symbolic":"method"}],"fileUpload":[{"__symbolic":"method"}],"getAssessmentCategory":[{"__symbolic":"method"}],"getAssessmentList":[{"__symbolic":"method"}],"getAssessmentDetailsByID":[{"__symbolic":"method"}]}},"type":{"summaryKind":3,"type":{"reference":{"__symbol":0,"members":[]},"diDeps":[{"isAttribute":false,"isHost":false,"isSelf":false,"isSkipSelf":false,"isOptional":false,"token":{"identifier":{"reference":{"__symbol":2,"members":[]}}}},{"isAttribute":false,"isHost":false,"isSelf":false,"isSkipSelf":false,"isOptional":false,"token":{"identifier":{"reference":{"__symbol":3,"members":[]}}}},{"isAttribute":false,"isHost":false,"isSelf":false,"isSkipSelf":false,"isOptional":true,"token":{"identifier":{"reference":{"__symbol":4,"members":[]}}}}],"lifecycleHooks":[]}}}],"symbols":[{"__symbol":0,"name":"ResponsibilityService","filePath":"./responsibility.service"},{"__symbol":1,"name":"Optional","filePath":"@angular/core"},{"__symbol":2,"name":"HttpClient","filePath":"@angular/common/http/http"},{"__symbol":3,"name":"AuthService","filePath":"./auth.service"},{"__symbol":4,"name":"Configurations","filePath":"../configurations"}]}
|
|
1
|
+
{"moduleName":null,"summaries":[{"symbol":{"__symbol":0,"members":[]},"metadata":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,[{"__symbolic":"call","expression":{"__symbol":1,"members":[]}}]],"parameters":[{"__symbol":2,"members":[]},{"__symbol":3,"members":[]},{"__symbol":4,"members":[]}]}],"getResponsibilityCenterList":[{"__symbolic":"method"}],"getOrganizationGroups":[{"__symbolic":"method"}],"getOrganizationUsers":[{"__symbolic":"method"}],"getOrganizationPeople":[{"__symbolic":"method"}],"getAssignorsList":[{"__symbolic":"method"}],"getCategoriesList":[{"__symbolic":"method"}],"getProgramsList":[{"__symbolic":"method"}],"getCategoriesUnderProgram":[{"__symbolic":"method"}],"getAssurance":[{"__symbolic":"method"}],"getAssuranceForRequiresAudit":[{"__symbolic":"method"}],"getRCDetailsOfFramework":[{"__symbolic":"method"}],"submitEntrust":[{"__symbolic":"method"}],"updateEntrust":[{"__symbolic":"method"}],"editResponsibility":[{"__symbolic":"method"}],"addBulkResponsibility":[{"__symbolic":"method"}],"uploadToNode":[{"__symbolic":"method"}],"getCategoryDetailsById":[{"__symbolic":"method"}],"fileUpload":[{"__symbolic":"method"}],"getAssessmentCategory":[{"__symbolic":"method"}],"getAssessmentList":[{"__symbolic":"method"}],"getAssessmentDetailsByID":[{"__symbolic":"method"}]}},"type":{"summaryKind":3,"type":{"reference":{"__symbol":0,"members":[]},"diDeps":[{"isAttribute":false,"isHost":false,"isSelf":false,"isSkipSelf":false,"isOptional":false,"token":{"identifier":{"reference":{"__symbol":2,"members":[]}}}},{"isAttribute":false,"isHost":false,"isSelf":false,"isSkipSelf":false,"isOptional":false,"token":{"identifier":{"reference":{"__symbol":3,"members":[]}}}},{"isAttribute":false,"isHost":false,"isSelf":false,"isSkipSelf":false,"isOptional":true,"token":{"identifier":{"reference":{"__symbol":4,"members":[]}}}}],"lifecycleHooks":[]}}}],"symbols":[{"__symbol":0,"name":"ResponsibilityService","filePath":"./responsibility.service"},{"__symbol":1,"name":"Optional","filePath":"@angular/core"},{"__symbol":2,"name":"HttpClient","filePath":"@angular/common/http/http"},{"__symbol":3,"name":"AuthService","filePath":"./auth.service"},{"__symbol":4,"name":"Configurations","filePath":"../configurations"}]}
|