commons-assessment 12.0.12 → 12.0.13

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.
@@ -129,7 +129,7 @@ export class AssessmentBuilderService {
129
129
  }
130
130
  generateAssessmentDTO(assessmentId, questionPaper) {
131
131
  var _a;
132
- return Object.assign({ id: assessmentId, totallMarks: ((_a = questionPaper === null || questionPaper === void 0 ? void 0 : questionPaper.questionPaperSectionList) === null || _a === void 0 ? void 0 : _a.filter((section) => section.isActive !== false).reduce((acc, section) => acc + (section.totalMarks || 0), 0)) || 0 }, (!assessmentId && Object.assign({}, this.defaultAssessmentDTO)));
132
+ return Object.assign(Object.assign({ id: assessmentId, totallMarks: ((_a = questionPaper === null || questionPaper === void 0 ? void 0 : questionPaper.questionPaperSectionList) === null || _a === void 0 ? void 0 : _a.filter((section) => section.isActive !== false).reduce((acc, section) => acc + (section.totalMarks || 0), 0)) || 0 }, (!assessmentId && Object.assign({}, this.defaultAssessmentDTO))), { cacheEvictionEnabled: true });
133
133
  }
134
134
  generateAssessmentInstanceDTO(assessmentId) {
135
135
  var _a, _b;
@@ -157,4 +157,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
157
157
  providedIn: 'root'
158
158
  }]
159
159
  }], ctorParameters: function () { return []; } });
160
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXNzbWVudC1idWlsZGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21tb25zLWFzc2Vzc21lbnQvc3JjL2xpYi9tb2R1bGVzL2Fzc2Vzc21lbnQtbWFrZXIvc2VydmljZXMvYXNzZXNzbWVudC1idWlsZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFRM0MsTUFBTSxPQUFPLHdCQUF3QjtJQVFqQztRQU5RLHlCQUFvQixHQUFlLEVBQUUsQ0FBQztJQU05QixDQUFDO0lBSmpCLHVCQUF1QixDQUFDLEtBQWlCO1FBQ3JDLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxLQUFLLENBQUM7SUFDdEMsQ0FBQztJQUlELGNBQWMsQ0FBQyxRQUFhLEVBQUUsbUJBQThDLEVBQUU7O1FBRTFFLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxDQUFBLGdCQUFnQixhQUFoQixnQkFBZ0IsdUJBQWhCLGdCQUFnQixDQUFFLGVBQWUsS0FBSSxFQUFFLENBQUM7YUFDL0QsTUFBTSxDQUFDLENBQUMsR0FBUSxFQUFFLE1BQVcsRUFBRSxFQUFFO1lBQzlCLEdBQUcsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsTUFBTSxDQUFDO1lBQy9CLE9BQU8sR0FBRyxDQUFDO1FBQ2YsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRVgsTUFBTSxlQUFlLEdBQUc7WUFDcEIsRUFBRSxTQUFTLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUU7WUFDdkgsRUFBRSxTQUFTLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLFFBQVEsQ0FBQyxpQkFBaUIsQ0FB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QUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQXNzZXNzbWVudCwgQXNzZXNzbWVudEluc3RhbmNlIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2ludGVyZmFjZXMvYXNzZXNzbWVudC5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBRdWVzdGlvblBhcGVyU2VjdGlvbiwgU2VjdGlvblF1ZXN0aW9uLCBBc3Nlc3NtZW50UXVlc3Rpb25QYXBlciB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9pbnRlcmZhY2VzL3F1ZXN0aW9uLXBhcGVyLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IEFzc2Vzc21lbnRRdWVzdGlvbiB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9pbnRlcmZhY2VzL3F1ZXN0aW9uLmludGVyZmFjZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEFzc2Vzc21lbnRCdWlsZGVyU2VydmljZSB7XHJcblxyXG4gICAgcHJpdmF0ZSBkZWZhdWx0QXNzZXNzbWVudERUTzogQXNzZXNzbWVudCA9IHt9O1xyXG5cclxuICAgIHNldERlZmF1bHRBc3Nlc3NtZW50RFRPKHZhbHVlOiBBc3Nlc3NtZW50KSB7XHJcbiAgICAgICAgdGhpcy5kZWZhdWx0QXNzZXNzbWVudERUTyA9IHZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gICAgc2V0UXVlc3Rpb25EVE8oZm9ybURhdGE6IGFueSwgZXhpc3RpbmdRdWVzdGlvbjogQXNzZXNzbWVudFF1ZXN0aW9uIHwgbnVsbCA9IHt9KTogQXNzZXNzbWVudFF1ZXN0aW9uIHtcclxuXHJcbiAgICAgICAgY29uc3QgZXhpc3RpbmdDb25maWdzTWFwID0gKGV4aXN0aW5nUXVlc3Rpb24/LnF1ZXN0aW9uQ29uZmlncyB8fCBbXSlcclxuICAgICAgICAgICAgLnJlZHVjZSgoYWNjOiBhbnksIGNvbmZpZzogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICBhY2NbY29uZmlnLmNvbmZpZ0tleV0gPSBjb25maWc7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gYWNjO1xyXG4gICAgICAgICAgICB9LCB7fSk7XHJcblxyXG4gICAgICAgIGNvbnN0IHF1ZXN0aW9uQ29uZmlncyA9IFtcclxuICAgICAgICAgICAgeyBjb25maWdLZXk6ICdtaW5DaGFyYWN0ZXJDb3VudCcsIGNvbmZpZ1ZhbHVlOiBmb3JtRGF0YS5taW5DaGFyYWN0ZXJDb3VudCA/IFN0cmluZyhmb3JtRGF0YS5taW5DaGFyYWN0ZXJDb3VudCkgOiBudWxsIH0sXHJcbiAgICAgICAgICAgIHsgY29uZmlnS2V5OiAnbWF4Q2hhcmFjdGVyQ291bnQnLCBjb25maWdWYWx1ZTogZm9ybURhdGEubWF4Q2hhcmFjdGVyQ291bnQgPyBTdHJpbmcoZm9ybURhdGEubWF4Q2hhcmFjdGVyQ291bnQpIDogbnVsbCB9LFxyXG4gICAgICAgICAgICB7IGNvbmZpZ0tleTogJ21pbmltdW1OdW1iZXJPZk9wdGlvbicsIGNvbmZpZ1ZhbHVlOiBmb3JtRGF0YS5taW5pbXVtTnVtYmVyT2ZPcHRpb24gPyBTdHJpbmcoZm9ybURhdGEubWluaW11bU51bWJlck9mT3B0aW9uKSA6IG51bGwgfSxcclxuICAgICAgICAgICAgeyBjb25maWdLZXk6ICdtYXhpbXVtTnVtYmVyT2ZPcHRpb24nLCBjb25maWdWYWx1ZTogZm9ybURhdGEubWF4aW11bU51bWJlck9mT3B0aW9uID8gU3RyaW5nKGZvcm1EYXRhLm1heGltdW1OdW1iZXJPZk9wdGlvbikgOiBudWxsIH0sXHJcbiAgICAgICAgICAgIHsgY29uZmlnS2V5OiAnbWF4RmlsZVNpemUnLCBjb25maWdWYWx1ZTogZm9ybURhdGEubWF4RmlsZVNpemUgPyBTdHJpbmcoZm9ybURhdGEubWF4RmlsZVNpemUpIDogbnVsbCB9LFxyXG4gICAgICAgICAgICB7IGNvbmZpZ0tleTogJ21heE5vT2ZGaWxlcycsIGNvbmZpZ1ZhbHVlOiBmb3JtRGF0YS5tYXhOb09mRmlsZXMgPyBTdHJpbmcoZm9ybURhdGEubWF4Tm9PZkZpbGVzKSA6IG51bGwgfSxcclxuICAgICAgICAgICAgLy8geyBjb25maWdLZXk6ICd2aXNpYmlsaXR5JywgY29uZmlnVmFsdWU6IGZvcm1EYXRhLnZpc2liaWxpdHkgPyAndHJ1ZScgOiAnZmFsc2UnIH1cclxuICAgICAgICBdLm1hcChjb25maWcgPT4gKHtcclxuICAgICAgICAgICAgaWQ6IGV4aXN0aW5nQ29uZmlnc01hcFtjb25maWcuY29uZmlnS2V5XT8uaWQgfHwgMCxcclxuICAgICAgICAgICAgLi4uY29uZmlnLFxyXG4gICAgICAgIH0pKS5maWx0ZXIoQm9vbGVhbik7XHJcblxyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIC4uLmV4aXN0aW5nUXVlc3Rpb24sXHJcbiAgICAgICAgICAgIHF1ZXN0aW9uVGV4dDogW3tcclxuICAgICAgICAgICAgICAgIGlkOiBleGlzdGluZ1F1ZXN0aW9uPy5xdWVzdGlvblRleHQ/LlswXT8uaWQgfHwgMCxcclxuICAgICAgICAgICAgICAgIGxhbmd1YWdlOiB7IGNvZGU6ICdFTkcnIH0sXHJcbiAgICAgICAgICAgICAgICB0ZXh0OiBmb3JtRGF0YS5xdWVzdGlvblRleHQgfHwgJydcclxuICAgICAgICAgICAgfV0sXHJcbiAgICAgICAgICAgIHF1ZXN0aW9uU3ViVGV4dDogZm9ybURhdGEucXVlc3Rpb25TdWJUZXh0ID8gW3tcclxuICAgICAgICAgICAgICAgIGlkOiBleGlzdGluZ1F1ZXN0aW9uPy5xdWVzdGlvblN1YlRleHQ/LlswXT8uaWQgfHwgMCxcclxuICAgICAgICAgICAgICAgIGxhbmd1YWdlOiB7IGNvZGU6ICdFTkcnIH0sXHJcbiAgICAgICAgICAgICAgICB0ZXh0OiBmb3JtRGF0YS5xdWVzdGlvblN1YlRleHRcclxuICAgICAgICAgICAgfV0gOiBbXSxcclxuICAgICAgICAgICAgcXVlc3Rpb25UeXBlOiB7IGNvZGU6IGZvcm1EYXRhLnF1ZXN0aW9uVHlwZSB8fCAnJyB9LFxyXG4gICAgICAgICAgICBxdWVzdGlvblN1YnR5cGU6IHsgY29kZTogZm9ybURhdGEucXVlc3Rpb25TdWJ0eXBlIHx8IGZvcm1EYXRhLnF1ZXN0aW9uVHlwZT8ucmVwbGFjZSgnUVVFU1RJT05fVFlQRScsICdRVUVTVElPTl9TVUJfVFlQRScpIHx8ICcnIH0sXHJcbiAgICAgICAgICAgIGlzTWFuZGF0b3J5OiBmb3JtRGF0YS5pc01hbmRhdG9yeSB8fCBmYWxzZSxcclxuICAgICAgICAgICAgaXNGaWx0ZXJFbmFibGVkOiBmb3JtRGF0YS5pc0ZpbHRlckVuYWJsZWQgfHwgZmFsc2UsXHJcbiAgICAgICAgICAgIHdlaWdodDogTnVtYmVyKGZvcm1EYXRhLnRvdGFsTWFya3MgfHwgMCksXHJcbiAgICAgICAgICAgIGhpbnRUZXh0OiBmb3JtRGF0YS5oaW50VGV4dCB8fCBudWxsLFxyXG4gICAgICAgICAgICBtZWRpYVVybDogZm9ybURhdGEucXVlc3Rpb25NZWRpYSB8fCBudWxsLFxyXG4gICAgICAgICAgICByZXNwb25zZVZhbGlkYXRpb246IGZvcm1EYXRhLmN1c3RvbVJlZ2V4IHx8IG51bGwsXHJcbiAgICAgICAgICAgIHNraWxsQ29kZXM6IGZvcm1EYXRhLnNraWxsQ29kZXM/Lm1hcCgoc2tpbGw6IGFueSkgPT4gKHsgY29kZTogc2tpbGwsIGNsYXNzQ29kZTogXCJSRUYuQVNTRVNTTUVOVF9RVUVTVElPTl9TS0lMTFwiIH0pKSB8fCBbXSxcclxuICAgICAgICAgICAgcXVlc3Rpb25Db25maWdzLFxyXG4gICAgICAgICAgICBkZWZhdWx0T3B0aW9uc0xpc3Q6ICgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBleGlzdGluZ09wdGlvbnMgPSBleGlzdGluZ1F1ZXN0aW9uPy5kZWZhdWx0T3B0aW9uc0xpc3QgfHwgW107XHJcbiAgICAgICAgICAgICAgICBjb25zdCBmb3JtT3B0aW9ucyA9IGZvcm1EYXRhLm9wdGlvbnMgfHwgW107XHJcblxyXG4gICAgICAgICAgICAgICAgLy8gMS4gUHJvY2VzcyBpdGVtcyBmcm9tIGZvcm1EYXRhIChuZXcgYW5kIHVwZGF0ZWQpXHJcbiAgICAgICAgICAgICAgICBjb25zdCBwcm9jZXNzZWRPcHRpb25zID0gZm9ybU9wdGlvbnMubWFwKChvcHQ6IGFueSwgaW5kZXg6IG51bWJlcikgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGV4aXN0aW5nT3B0ID0gZXhpc3RpbmdPcHRpb25zLmZpbmQoZW8gPT4gZW8uaWQgPT09IG9wdC5pZCAmJiBlby5pZCAhPT0gMCkgfHwge307XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLmV4aXN0aW5nT3B0LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogb3B0LmlkIHx8IDAsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHV1aWQ6IGV4aXN0aW5nT3B0LnV1aWQgfHwgb3B0LnV1aWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9yZGVyTm86IGluZGV4ICsgMSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2VpZ2h0OiBOdW1iZXIob3B0LndlaWdodCB8fCAwKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmVtYXJrc1JlcXVpcmVkOiBvcHQucmVtYXJrc1JlcXVpcmVkIHx8IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpc0FjdGl2ZTogb3B0LmlzQWN0aXZlICE9PSBmYWxzZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4uKGV4aXN0aW5nT3B0Lm9wdGlvbnMgfHwge30pLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IG9wdD8ub3B0aW9ucz8uaWQgfHwgZXhpc3RpbmdPcHQub3B0aW9ucz8uaWQgfHwgMCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbk5hbWU6IFt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IGV4aXN0aW5nT3B0Lm9wdGlvbnM/Lm9wdGlvbk5hbWU/LlswXT8uaWQgfHwgMCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYW5ndWFnZTogeyBjb2RlOiAnRU5HJyB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6IG9wdC5vcHRpb25MYWJlbCB8fCAnJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfV0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi4odGhpcy5kZWZhdWx0QXNzZXNzbWVudERUTz8udGVuYW50ICYmIHsgdGVuYW50OiB0aGlzLmRlZmF1bHRBc3Nlc3NtZW50RFRPPy50ZW5hbnQgfSksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkUXVlc3Rpb25MaXN0OiBvcHQuY2hpbGRRdWVzdGlvbkxpc3QgfHwgZXhpc3RpbmdPcHQuY2hpbGRRdWVzdGlvbkxpc3QgfHwgW10sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLih0aGlzLmRlZmF1bHRBc3Nlc3NtZW50RFRPPy50ZW5hbnQgJiYgeyB0ZW5hbnQ6IHRoaXMuZGVmYXVsdEFzc2Vzc21lbnREVE8/LnRlbmFudCB9KSxcclxuICAgICAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICAgICAgLy8gMi4gSWRlbnRpZnkgZXhpc3Rpbmcgb3B0aW9ucyB0aGF0IGFyZSBOT1QgaW4gZm9ybURhdGEgKHJlbW92ZWQgYnkgdXNlcikgYW5kIG1hcmsgdGhlbSBpbmFjdGl2ZVxyXG4gICAgICAgICAgICAgICAgY29uc3QgZm9ybU9wdGlvbklkcyA9IG5ldyBTZXQocHJvY2Vzc2VkT3B0aW9ucy5tYXAoKG86IGFueSkgPT4gby5pZCkuZmlsdGVyKChpZDogbnVtYmVyKSA9PiBpZCAhPT0gMCkpO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgcmVtb3ZlZE9wdGlvbnMgPSBleGlzdGluZ09wdGlvbnMuZmlsdGVyKGVvID0+IGVvLmlkICYmICFmb3JtT3B0aW9uSWRzLmhhcyhlby5pZCkpLm1hcChlbyA9PiAoeyAuLi5lbywgaXNBY3RpdmU6IGZhbHNlIH0pKTtcclxuXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gWy4uLnByb2Nlc3NlZE9wdGlvbnMsIC4uLnJlbW92ZWRPcHRpb25zXTtcclxuICAgICAgICAgICAgfSkoKSxcclxuICAgICAgICAgICAgLi4uKCFleGlzdGluZ1F1ZXN0aW9uPy5pZCAmJiB7XHJcbiAgICAgICAgICAgICAgICBpZDogMCxcclxuICAgICAgICAgICAgICAgIC4uLih0aGlzLmRlZmF1bHRBc3Nlc3NtZW50RFRPPy5kb21haW4gJiYgeyBkb21haW46IHRoaXMuZGVmYXVsdEFzc2Vzc21lbnREVE8/LmRvbWFpbiB9KSxcclxuICAgICAgICAgICAgICAgIC4uLih0aGlzLmRlZmF1bHRBc3Nlc3NtZW50RFRPPy50ZW5hbnQgJiYgeyB0ZW5hbnQ6IHRoaXMuZGVmYXVsdEFzc2Vzc21lbnREVE8/LnRlbmFudCB9KSxcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIGdldFF1ZXN0aW9uRFRPKHF1ZXN0aW9uRGF0YTogQXNzZXNzbWVudFF1ZXN0aW9uKSB7XHJcbiAgICAgICAgY29uc3QgZ2V0Q29uZmlnID0gKGtleTogc3RyaW5nKSA9PiBxdWVzdGlvbkRhdGEucXVlc3Rpb25Db25maWdzPy5maW5kKGMgPT4gYy5jb25maWdLZXkgPT09IGtleSk/LmNvbmZpZ1ZhbHVlO1xyXG5cclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBpZDogcXVlc3Rpb25EYXRhLmlkLFxyXG4gICAgICAgICAgICBxdWVzdGlvblRleHQ6IHF1ZXN0aW9uRGF0YS5xdWVzdGlvblRleHQ/LlswXT8udGV4dCB8fCAnJyxcclxuICAgICAgICAgICAgcXVlc3Rpb25TdWJUZXh0OiBxdWVzdGlvbkRhdGEucXVlc3Rpb25TdWJUZXh0Py5bMF0/LnRleHQgfHwgJycsXHJcbiAgICAgICAgICAgIHF1ZXN0aW9uVHlwZTogcXVlc3Rpb25EYXRhLnF1ZXN0aW9uVHlwZT8uY29kZSB8fCAnJyxcclxuICAgICAgICAgICAgaXNNYW5kYXRvcnk6IHF1ZXN0aW9uRGF0YS5pc01hbmRhdG9yeSB8fCBmYWxzZSxcclxuICAgICAgICAgICAgaXNGaWx0ZXJFbmFibGVkOiBxdWVzdGlvbkRhdGEuaXNGaWx0ZXJFbmFibGVkIHx8IGZhbHNlLFxyXG4gICAgICAgICAgICB0b3RhbE1hcmtzOiBxdWVzdGlvbkRhdGEud2VpZ2h0IHx8IDAsXHJcbiAgICAgICAgICAgIGhpbnRUZXh0OiBxdWVzdGlvbkRhdGEuaGludFRleHQgfHwgJycsXHJcbiAgICAgICAgICAgIHF1ZXN0aW9uTWVkaWE6IHF1ZXN0aW9uRGF0YS5tZWRpYVVybCB8fCAnJyxcclxuICAgICAgICAgICAgbWluQ2hhcmFjdGVyQ291bnQ6IGdldENvbmZpZygnbWluQ2hhcmFjdGVyQ291bnQnKSA/IE51bWJlcihnZXRDb25maWcoJ21pbkNoYXJhY3RlckNvdW50JykpIDogbnVsbCxcclxuICAgICAgICAgICAgbWF4Q2hhcmFjdGVyQ291bnQ6IGdldENvbmZpZygnbWF4Q2hhcmFjdGVyQ291bnQnKSA/IE51bWJlcihnZXRDb25maWcoJ21heENoYXJhY3RlckNvdW50JykpIDogbnVsbCxcclxuICAgICAgICAgICAgbWluaW11bU51bWJlck9mT3B0aW9uOiBnZXRDb25maWcoJ21pbmltdW1OdW1iZXJPZk9wdGlvbicpID8gTnVtYmVyKGdldENvbmZpZygnbWluaW11bU51bWJlck9mT3B0aW9uJykpIDogbnVsbCxcclxuICAgICAgICAgICAgbWF4aW11bU51bWJlck9mT3B0aW9uOiBnZXRDb25maWcoJ21heGltdW1OdW1iZXJPZk9wdGlvbicpID8gTnVtYmVyKGdldENvbmZpZygnbWF4aW11bU51bWJlck9mT3B0aW9uJykpIDogbnVsbCxcclxuICAgICAgICAgICAgbWF4RmlsZVNpemU6IGdldENvbmZpZygnbWF4RmlsZVNpemUnKSA/IE51bWJlcihnZXRDb25maWcoJ21heEZpbGVTaXplJykpIDogbnVsbCxcclxuICAgICAgICAgICAgbWF4Tm9PZkZpbGVzOiBnZXRDb25maWcoJ21heE5vT2ZGaWxlcycpID8gTnVtYmVyKGdldENvbmZpZygnbWF4Tm9PZkZpbGVzJykpIDogbnVsbCxcclxuICAgICAgICAgICAgLy8gdmlzaWJpbGl0eTogZ2V0Q29uZmlnKCd2aXNpYmlsaXR5JykgPT09ICd0cnVlJyxcclxuICAgICAgICAgICAgY3VzdG9tUmVnZXg6IHF1ZXN0aW9uRGF0YT8ucmVzcG9uc2VWYWxpZGF0aW9uLFxyXG4gICAgICAgICAgICBza2lsbENvZGVzOiBxdWVzdGlvbkRhdGE/LnNraWxsQ29kZXM/Lm1hcCgoc2tpbGw6IGFueSkgPT4gc2tpbGwuY29kZSkgfHwgW10sXHJcbiAgICAgICAgICAgIG9wdGlvbnM6IHF1ZXN0aW9uRGF0YS5kZWZhdWx0T3B0aW9uc0xpc3Q/Lm1hcChvcHQgPT4gKHtcclxuICAgICAgICAgICAgICAgIGlkOiBvcHQuaWQsXHJcbiAgICAgICAgICAgICAgICB1dWlkOiBvcHQudXVpZCxcclxuICAgICAgICAgICAgICAgIG9wdGlvbkxhYmVsOiBvcHQub3B0aW9ucz8ub3B0aW9uTmFtZT8uWzBdPy50ZXh0IHx8ICcnLFxyXG4gICAgICAgICAgICAgICAgd2VpZ2h0OiBvcHQud2VpZ2h0IHx8IDAsXHJcbiAgICAgICAgICAgICAgICByZW1hcmtzUmVxdWlyZWQ6IG9wdC5yZW1hcmtzUmVxdWlyZWQgfHwgZmFsc2UsXHJcbiAgICAgICAgICAgICAgICBpc0FjdGl2ZTogb3B0LmlzQWN0aXZlICE9PSBmYWxzZSxcclxuICAgICAgICAgICAgICAgIGNoaWxkUXVlc3Rpb25MaXN0OiBvcHQuY2hpbGRRdWVzdGlvbkxpc3QgfHwgW10sXHJcbiAgICAgICAgICAgIH0pKSB8fCBbXSxcclxuICAgICAgICAgICAgY2hpbGRRdWVzdGlvbnM6IHF1ZXN0aW9uRGF0YT8uY2hpbGRRdWVzdGlvbnMgfHwgW11cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgY3JlYXRlTmV3U2VjdGlvbihzZXF1ZW5jZTogbnVtYmVyKTogUXVlc3Rpb25QYXBlclNlY3Rpb24ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGlkOiAwLFxyXG4gICAgICAgICAgICBxcHNOYW1lOiBbe1xyXG4gICAgICAgICAgICAgICAgaWQ6IDAsXHJcbiAgICAgICAgICAgICAgICBsYW5ndWFnZTogeyBjb2RlOiAnRU5HJyB9LFxyXG4gICAgICAgICAgICAgICAgdGV4dDogYFNlY3Rpb24gJHtzZXF1ZW5jZX1gXHJcbiAgICAgICAgICAgIH1dLFxyXG4gICAgICAgICAgICBvcmRlck5vOiBzZXF1ZW5jZSxcclxuICAgICAgICAgICAgc2VjdGlvblF1ZXN0aW9uc0xpc3Q6IFtdLFxyXG4gICAgICAgICAgICB0b3RhbE1hcmtzOiAwLFxyXG4gICAgICAgICAgICB0b3RhbFF1ZXN0aW9uczogMCxcclxuICAgICAgICAgICAgLi4uKHRoaXMuZGVmYXVsdEFzc2Vzc21lbnREVE8/LnRlbmFudCAmJiB7IHRlbmFudDogdGhpcy5kZWZhdWx0QXNzZXNzbWVudERUTz8udGVuYW50IH0pLFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBnZW5lcmF0ZVNlY3Rpb25RdWVzdGlvbihxdWVzdGlvbjogQXNzZXNzbWVudFF1ZXN0aW9uLCBzZWN0aW9uUXVlc3Rpb246IFNlY3Rpb25RdWVzdGlvbiA9IHt9KTogU2VjdGlvblF1ZXN0aW9uIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBpZDogc2VjdGlvblF1ZXN0aW9uPy5pZCB8fCAwLFxyXG4gICAgICAgICAgICBxdWVzdGlvbixcclxuICAgICAgICAgICAgaXNNYW5kYXRvcnk6IHF1ZXN0aW9uPy5pc01hbmRhdG9yeSxcclxuICAgICAgICAgICAgLi4uKCFzZWN0aW9uUXVlc3Rpb24/LmlkICYmIHRoaXMuZGVmYXVsdEFzc2Vzc21lbnREVE8/LnRlbmFudCAmJiB7IHRlbmFudDogdGhpcy5kZWZhdWx0QXNzZXNzbWVudERUTz8udGVuYW50IH0pXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGdlbmVyYXRlUXVlc3Rpb25QYXBlckRUTyhxdWVzdGlvblBhcGVyOiBBc3Nlc3NtZW50UXVlc3Rpb25QYXBlciwgcXVlc3Rpb25CYW5rOiBSZWNvcmQ8bnVtYmVyLCBBc3Nlc3NtZW50UXVlc3Rpb24+KTogQXNzZXNzbWVudFF1ZXN0aW9uUGFwZXIge1xyXG4gICAgICAgIGlmICghcXVlc3Rpb25QYXBlcikgcmV0dXJuIHF1ZXN0aW9uUGFwZXI7XHJcblxyXG4gICAgICAgIGlmICghcXVlc3Rpb25QYXBlcj8uaWQgJiYgdGhpcy5kZWZhdWx0QXNzZXNzbWVudERUTz8udGVuYW50KSB7XHJcbiAgICAgICAgICAgIHF1ZXN0aW9uUGFwZXIudGVuYW50ID0gdGhpcy5kZWZhdWx0QXNzZXNzbWVudERUTz8udGVuYW50O1xyXG4gICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgIHF1ZXN0aW9uUGFwZXIucXVlc3Rpb25QYXBlclNlY3Rpb25MaXN0Py5mb3JFYWNoKChzZWN0aW9uOiBhbnksIHNJbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgICAgIHNlY3Rpb24ub3JkZXJObyA9IHNJbmRleCArIDE7XHJcblxyXG4gICAgICAgICAgICBsZXQgc2VjdGlvbk1hcmtzID0gMDtcclxuICAgICAgICAgICAgbGV0IHNlY3Rpb25RdWVzdGlvbnNDb3VudCA9IDA7XHJcblxyXG4gICAgICAgICAgICBzZWN0aW9uLnNlY3Rpb25RdWVzdGlvbnNMaXN0Py5mb3JFYWNoKChxOiBTZWN0aW9uUXVlc3Rpb24sIHFJbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBxLm9yZGVyTm8gPSBxSW5kZXggKyAxO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgcXVlc3Rpb24gPSBxPy5xdWVzdGlvbiB8fCBxdWVzdGlvbkJhbmtbcT8ucXVlc3Rpb25JZCB8fCAtMV07XHJcbiAgICAgICAgICAgICAgICBpZiAocXVlc3Rpb24gJiYgcS5pc0FjdGl2ZSAhPT0gZmFsc2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBzZWN0aW9uTWFya3MgKz0gTnVtYmVyKHF1ZXN0aW9uLndlaWdodCkgfHwgMDtcclxuICAgICAgICAgICAgICAgICAgICBzZWN0aW9uUXVlc3Rpb25zQ291bnQrKztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICBzZWN0aW9uLnRvdGFsTWFya3MgPSBzZWN0aW9uTWFya3M7XHJcbiAgICAgICAgICAgIHNlY3Rpb24udG90YWxRdWVzdGlvbnMgPSBzZWN0aW9uUXVlc3Rpb25zQ291bnQ7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHJldHVybiBxdWVzdGlvblBhcGVyO1xyXG4gICAgfVxyXG5cclxuICAgIGdlbmVyYXRlQXNzZXNzbWVudERUTyhhc3Nlc3NtZW50SWQ6IG51bWJlciwgcXVlc3Rpb25QYXBlcjogQXNzZXNzbWVudFF1ZXN0aW9uUGFwZXIpOiBBc3Nlc3NtZW50IHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBpZDogYXNzZXNzbWVudElkLFxyXG4gICAgICAgICAgICB0b3RhbGxNYXJrczogcXVlc3Rpb25QYXBlcj8ucXVlc3Rpb25QYXBlclNlY3Rpb25MaXN0Py5maWx0ZXIoKHNlY3Rpb246IGFueSkgPT4gc2VjdGlvbi5pc0FjdGl2ZSAhPT0gZmFsc2UpLnJlZHVjZSgoYWNjOiBudW1iZXIsIHNlY3Rpb246IGFueSkgPT4gYWNjICsgKHNlY3Rpb24udG90YWxNYXJrcyB8fCAwKSwgMCkgfHwgMCxcclxuICAgICAgICAgICAgLi4uKCFhc3Nlc3NtZW50SWQgJiYge1xyXG4gICAgICAgICAgICAgICAgLi4udGhpcy5kZWZhdWx0QXNzZXNzbWVudERUT1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgZ2VuZXJhdGVBc3Nlc3NtZW50SW5zdGFuY2VEVE8oYXNzZXNzbWVudElkOiBudW1iZXIpOiBBc3Nlc3NtZW50SW5zdGFuY2Uge1xyXG4gICAgICAgIGxldCBkID0gbmV3IERhdGUoKTtcclxuICAgICAgICBsZXQgeWVhciA9IGQuZ2V0RnVsbFllYXIoKTtcclxuICAgICAgICBsZXQgbW9udGggPSBkLmdldE1vbnRoKCk7XHJcbiAgICAgICAgbGV0IGRheSA9IGQuZ2V0RGF0ZSgpO1xyXG4gICAgICAgIGxldCBlbmREYXRlID0gbmV3IERhdGUoeWVhciArIDIwLCBtb250aCwgZGF5KTtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBpZDogMCxcclxuICAgICAgICAgICAgZW5kRGF0ZTogZW5kRGF0ZSxcclxuICAgICAgICAgICAgc3RhcnREYXRlOiBuZXcgRGF0ZSgpLFxyXG4gICAgICAgICAgICBhc3Nlc3NtZW50OiB7XHJcbiAgICAgICAgICAgICAgICBpZDogYXNzZXNzbWVudElkLFxyXG4gICAgICAgICAgICAgICAgLi4uKHRoaXMuZGVmYXVsdEFzc2Vzc21lbnREVE8/LnRlbmFudCAmJiB7IHRlbmFudDogdGhpcy5kZWZhdWx0QXNzZXNzbWVudERUTz8udGVuYW50IH0pXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHNjaGVkdWxlU3RhdHVzOiB7XHJcbiAgICAgICAgICAgICAgICBjb2RlOiAnQVNTRVNTTUVOVC5QVUJMSVNIJ1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59Il19
160
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXNzbWVudC1idWlsZGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21tb25zLWFzc2Vzc21lbnQvc3JjL2xpYi9tb2R1bGVzL2Fzc2Vzc21lbnQtbWFrZXIvc2VydmljZXMvYXNzZXNzbWVudC1idWlsZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFRM0MsTUFBTSxPQUFPLHdCQUF3QjtJQVFqQztRQU5RLHlCQUFvQixHQUFlLEVBQUUsQ0FBQztJQU05QixDQUFDO0lBSmpCLHVCQUF1QixDQUFDLEtBQWlCO1FBQ3JDLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxLQUFLLENBQUM7SUFDdEMsQ0FBQztJQUlELGNBQWMsQ0FBQyxRQUFhLEVBQUUsbUJBQThDLEVBQUU7O1FBRTFFLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxDQUFBLGdCQUFnQixhQUFoQixnQkFBZ0IsdUJBQWhCLGdCQUFnQixDQUFFLGVBQWUsS0FBSSxFQUFFLENBQUM7YUFDL0QsTUFBTSxDQUFDLENBQUMsR0FBUSxFQUFFLE1BQVcsRUFBRSxFQUFFO1lBQzlCLEdBQUcsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsTUFBTSxDQUFDO1lBQy9CLE9BQU8sR0FBRyxDQUFDO1FBQ2YsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRVgsTUFBTSxlQUFlLEdBQUc7WUFDcEIsRUFBRSxTQUFTLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUU7WUFDdkgsRUFBRSxTQUFTLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLFFBQVEsQ0FBQyxpQkFBaUIsQ0FB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b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBc3Nlc3NtZW50LCBBc3Nlc3NtZW50SW5zdGFuY2UgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvaW50ZXJmYWNlcy9hc3Nlc3NtZW50LmludGVyZmFjZSc7XHJcbmltcG9ydCB7IFF1ZXN0aW9uUGFwZXJTZWN0aW9uLCBTZWN0aW9uUXVlc3Rpb24sIEFzc2Vzc21lbnRRdWVzdGlvblBhcGVyIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2ludGVyZmFjZXMvcXVlc3Rpb24tcGFwZXIuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgQXNzZXNzbWVudFF1ZXN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2ludGVyZmFjZXMvcXVlc3Rpb24uaW50ZXJmYWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQXNzZXNzbWVudEJ1aWxkZXJTZXJ2aWNlIHtcclxuXHJcbiAgICBwcml2YXRlIGRlZmF1bHRBc3Nlc3NtZW50RFRPOiBBc3Nlc3NtZW50ID0ge307XHJcblxyXG4gICAgc2V0RGVmYXVsdEFzc2Vzc21lbnREVE8odmFsdWU6IEFzc2Vzc21lbnQpIHtcclxuICAgICAgICB0aGlzLmRlZmF1bHRBc3Nlc3NtZW50RFRPID0gdmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgICBzZXRRdWVzdGlvbkRUTyhmb3JtRGF0YTogYW55LCBleGlzdGluZ1F1ZXN0aW9uOiBBc3Nlc3NtZW50UXVlc3Rpb24gfCBudWxsID0ge30pOiBBc3Nlc3NtZW50UXVlc3Rpb24ge1xyXG5cclxuICAgICAgICBjb25zdCBleGlzdGluZ0NvbmZpZ3NNYXAgPSAoZXhpc3RpbmdRdWVzdGlvbj8ucXVlc3Rpb25Db25maWdzIHx8IFtdKVxyXG4gICAgICAgICAgICAucmVkdWNlKChhY2M6IGFueSwgY29uZmlnOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgIGFjY1tjb25maWcuY29uZmlnS2V5XSA9IGNvbmZpZztcclxuICAgICAgICAgICAgICAgIHJldHVybiBhY2M7XHJcbiAgICAgICAgICAgIH0sIHt9KTtcclxuXHJcbiAgICAgICAgY29uc3QgcXVlc3Rpb25Db25maWdzID0gW1xyXG4gICAgICAgICAgICB7IGNvbmZpZ0tleTogJ21pbkNoYXJhY3RlckNvdW50JywgY29uZmlnVmFsdWU6IGZvcm1EYXRhLm1pbkNoYXJhY3RlckNvdW50ID8gU3RyaW5nKGZvcm1EYXRhLm1pbkNoYXJhY3RlckNvdW50KSA6IG51bGwgfSxcclxuICAgICAgICAgICAgeyBjb25maWdLZXk6ICdtYXhDaGFyYWN0ZXJDb3VudCcsIGNvbmZpZ1ZhbHVlOiBmb3JtRGF0YS5tYXhDaGFyYWN0ZXJDb3VudCA/IFN0cmluZyhmb3JtRGF0YS5tYXhDaGFyYWN0ZXJDb3VudCkgOiBudWxsIH0sXHJcbiAgICAgICAgICAgIHsgY29uZmlnS2V5OiAnbWluaW11bU51bWJlck9mT3B0aW9uJywgY29uZmlnVmFsdWU6IGZvcm1EYXRhLm1pbmltdW1OdW1iZXJPZk9wdGlvbiA/IFN0cmluZyhmb3JtRGF0YS5taW5pbXVtTnVtYmVyT2ZPcHRpb24pIDogbnVsbCB9LFxyXG4gICAgICAgICAgICB7IGNvbmZpZ0tleTogJ21heGltdW1OdW1iZXJPZk9wdGlvbicsIGNvbmZpZ1ZhbHVlOiBmb3JtRGF0YS5tYXhpbXVtTnVtYmVyT2ZPcHRpb24gPyBTdHJpbmcoZm9ybURhdGEubWF4aW11bU51bWJlck9mT3B0aW9uKSA6IG51bGwgfSxcclxuICAgICAgICAgICAgeyBjb25maWdLZXk6ICdtYXhGaWxlU2l6ZScsIGNvbmZpZ1ZhbHVlOiBmb3JtRGF0YS5tYXhGaWxlU2l6ZSA/IFN0cmluZyhmb3JtRGF0YS5tYXhGaWxlU2l6ZSkgOiBudWxsIH0sXHJcbiAgICAgICAgICAgIHsgY29uZmlnS2V5OiAnbWF4Tm9PZkZpbGVzJywgY29uZmlnVmFsdWU6IGZvcm1EYXRhLm1heE5vT2ZGaWxlcyA/IFN0cmluZyhmb3JtRGF0YS5tYXhOb09mRmlsZXMpIDogbnVsbCB9LFxyXG4gICAgICAgICAgICAvLyB7IGNvbmZpZ0tleTogJ3Zpc2liaWxpdHknLCBjb25maWdWYWx1ZTogZm9ybURhdGEudmlzaWJpbGl0eSA/ICd0cnVlJyA6ICdmYWxzZScgfVxyXG4gICAgICAgIF0ubWFwKGNvbmZpZyA9PiAoe1xyXG4gICAgICAgICAgICBpZDogZXhpc3RpbmdDb25maWdzTWFwW2NvbmZpZy5jb25maWdLZXldPy5pZCB8fCAwLFxyXG4gICAgICAgICAgICAuLi5jb25maWcsXHJcbiAgICAgICAgfSkpLmZpbHRlcihCb29sZWFuKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgLi4uZXhpc3RpbmdRdWVzdGlvbixcclxuICAgICAgICAgICAgcXVlc3Rpb25UZXh0OiBbe1xyXG4gICAgICAgICAgICAgICAgaWQ6IGV4aXN0aW5nUXVlc3Rpb24/LnF1ZXN0aW9uVGV4dD8uWzBdPy5pZCB8fCAwLFxyXG4gICAgICAgICAgICAgICAgbGFuZ3VhZ2U6IHsgY29kZTogJ0VORycgfSxcclxuICAgICAgICAgICAgICAgIHRleHQ6IGZvcm1EYXRhLnF1ZXN0aW9uVGV4dCB8fCAnJ1xyXG4gICAgICAgICAgICB9XSxcclxuICAgICAgICAgICAgcXVlc3Rpb25TdWJUZXh0OiBmb3JtRGF0YS5xdWVzdGlvblN1YlRleHQgPyBbe1xyXG4gICAgICAgICAgICAgICAgaWQ6IGV4aXN0aW5nUXVlc3Rpb24/LnF1ZXN0aW9uU3ViVGV4dD8uWzBdPy5pZCB8fCAwLFxyXG4gICAgICAgICAgICAgICAgbGFuZ3VhZ2U6IHsgY29kZTogJ0VORycgfSxcclxuICAgICAgICAgICAgICAgIHRleHQ6IGZvcm1EYXRhLnF1ZXN0aW9uU3ViVGV4dFxyXG4gICAgICAgICAgICB9XSA6IFtdLFxyXG4gICAgICAgICAgICBxdWVzdGlvblR5cGU6IHsgY29kZTogZm9ybURhdGEucXVlc3Rpb25UeXBlIHx8ICcnIH0sXHJcbiAgICAgICAgICAgIHF1ZXN0aW9uU3VidHlwZTogeyBjb2RlOiBmb3JtRGF0YS5xdWVzdGlvblN1YnR5cGUgfHwgZm9ybURhdGEucXVlc3Rpb25UeXBlPy5yZXBsYWNlKCdRVUVTVElPTl9UWVBFJywgJ1FVRVNUSU9OX1NVQl9UWVBFJykgfHwgJycgfSxcclxuICAgICAgICAgICAgaXNNYW5kYXRvcnk6IGZvcm1EYXRhLmlzTWFuZGF0b3J5IHx8IGZhbHNlLFxyXG4gICAgICAgICAgICBpc0ZpbHRlckVuYWJsZWQ6IGZvcm1EYXRhLmlzRmlsdGVyRW5hYmxlZCB8fCBmYWxzZSxcclxuICAgICAgICAgICAgd2VpZ2h0OiBOdW1iZXIoZm9ybURhdGEudG90YWxNYXJrcyB8fCAwKSxcclxuICAgICAgICAgICAgaGludFRleHQ6IGZvcm1EYXRhLmhpbnRUZXh0IHx8IG51bGwsXHJcbiAgICAgICAgICAgIG1lZGlhVXJsOiBmb3JtRGF0YS5xdWVzdGlvbk1lZGlhIHx8IG51bGwsXHJcbiAgICAgICAgICAgIHJlc3BvbnNlVmFsaWRhdGlvbjogZm9ybURhdGEuY3VzdG9tUmVnZXggfHwgbnVsbCxcclxuICAgICAgICAgICAgc2tpbGxDb2RlczogZm9ybURhdGEuc2tpbGxDb2Rlcz8ubWFwKChza2lsbDogYW55KSA9PiAoeyBjb2RlOiBza2lsbCwgY2xhc3NDb2RlOiBcIlJFRi5BU1NFU1NNRU5UX1FVRVNUSU9OX1NLSUxMXCIgfSkpIHx8IFtdLFxyXG4gICAgICAgICAgICBxdWVzdGlvbkNvbmZpZ3MsXHJcbiAgICAgICAgICAgIGRlZmF1bHRPcHRpb25zTGlzdDogKCgpID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGV4aXN0aW5nT3B0aW9ucyA9IGV4aXN0aW5nUXVlc3Rpb24/LmRlZmF1bHRPcHRpb25zTGlzdCB8fCBbXTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGZvcm1PcHRpb25zID0gZm9ybURhdGEub3B0aW9ucyB8fCBbXTtcclxuXHJcbiAgICAgICAgICAgICAgICAvLyAxLiBQcm9jZXNzIGl0ZW1zIGZyb20gZm9ybURhdGEgKG5ldyBhbmQgdXBkYXRlZClcclxuICAgICAgICAgICAgICAgIGNvbnN0IHByb2Nlc3NlZE9wdGlvbnMgPSBmb3JtT3B0aW9ucy5tYXAoKG9wdDogYW55LCBpbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXhpc3RpbmdPcHQgPSBleGlzdGluZ09wdGlvbnMuZmluZChlbyA9PiBlby5pZCA9PT0gb3B0LmlkICYmIGVvLmlkICE9PSAwKSB8fCB7fTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLi4uZXhpc3RpbmdPcHQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBvcHQuaWQgfHwgMCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdXVpZDogZXhpc3RpbmdPcHQudXVpZCB8fCBvcHQudXVpZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgb3JkZXJObzogaW5kZXggKyAxLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB3ZWlnaHQ6IE51bWJlcihvcHQud2VpZ2h0IHx8IDApLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZW1hcmtzUmVxdWlyZWQ6IG9wdC5yZW1hcmtzUmVxdWlyZWQgfHwgZmFsc2UsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzQWN0aXZlOiBvcHQuaXNBY3RpdmUgIT09IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi4oZXhpc3RpbmdPcHQub3B0aW9ucyB8fCB7fSksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogb3B0Py5vcHRpb25zPy5pZCB8fCBleGlzdGluZ09wdC5vcHRpb25zPy5pZCB8fCAwLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uTmFtZTogW3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogZXhpc3RpbmdPcHQub3B0aW9ucz8ub3B0aW9uTmFtZT8uWzBdPy5pZCB8fCAwLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhbmd1YWdlOiB7IGNvZGU6ICdFTkcnIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dDogb3B0Lm9wdGlvbkxhYmVsIHx8ICcnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLih0aGlzLmRlZmF1bHRBc3Nlc3NtZW50RFRPPy50ZW5hbnQgJiYgeyB0ZW5hbnQ6IHRoaXMuZGVmYXVsdEFzc2Vzc21lbnREVE8/LnRlbmFudCB9KSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRRdWVzdGlvbkxpc3Q6IG9wdC5jaGlsZFF1ZXN0aW9uTGlzdCB8fCBleGlzdGluZ09wdC5jaGlsZFF1ZXN0aW9uTGlzdCB8fCBbXSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgLi4uKHRoaXMuZGVmYXVsdEFzc2Vzc21lbnREVE8/LnRlbmFudCAmJiB7IHRlbmFudDogdGhpcy5kZWZhdWx0QXNzZXNzbWVudERUTz8udGVuYW50IH0pLFxyXG4gICAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgICAgICAvLyAyLiBJZGVudGlmeSBleGlzdGluZyBvcHRpb25zIHRoYXQgYXJlIE5PVCBpbiBmb3JtRGF0YSAocmVtb3ZlZCBieSB1c2VyKSBhbmQgbWFyayB0aGVtIGluYWN0aXZlXHJcbiAgICAgICAgICAgICAgICBjb25zdCBmb3JtT3B0aW9uSWRzID0gbmV3IFNldChwcm9jZXNzZWRPcHRpb25zLm1hcCgobzogYW55KSA9PiBvLmlkKS5maWx0ZXIoKGlkOiBudW1iZXIpID0+IGlkICE9PSAwKSk7XHJcbiAgICAgICAgICAgICAgICBjb25zdCByZW1vdmVkT3B0aW9ucyA9IGV4aXN0aW5nT3B0aW9ucy5maWx0ZXIoZW8gPT4gZW8uaWQgJiYgIWZvcm1PcHRpb25JZHMuaGFzKGVvLmlkKSkubWFwKGVvID0+ICh7IC4uLmVvLCBpc0FjdGl2ZTogZmFsc2UgfSkpO1xyXG5cclxuICAgICAgICAgICAgICAgIHJldHVybiBbLi4ucHJvY2Vzc2VkT3B0aW9ucywgLi4ucmVtb3ZlZE9wdGlvbnNdO1xyXG4gICAgICAgICAgICB9KSgpLFxyXG4gICAgICAgICAgICAuLi4oIWV4aXN0aW5nUXVlc3Rpb24/LmlkICYmIHtcclxuICAgICAgICAgICAgICAgIGlkOiAwLFxyXG4gICAgICAgICAgICAgICAgLi4uKHRoaXMuZGVmYXVsdEFzc2Vzc21lbnREVE8/LmRvbWFpbiAmJiB7IGRvbWFpbjogdGhpcy5kZWZhdWx0QXNzZXNzbWVudERUTz8uZG9tYWluIH0pLFxyXG4gICAgICAgICAgICAgICAgLi4uKHRoaXMuZGVmYXVsdEFzc2Vzc21lbnREVE8/LnRlbmFudCAmJiB7IHRlbmFudDogdGhpcy5kZWZhdWx0QXNzZXNzbWVudERUTz8udGVuYW50IH0pLFxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0UXVlc3Rpb25EVE8ocXVlc3Rpb25EYXRhOiBBc3Nlc3NtZW50UXVlc3Rpb24pIHtcclxuICAgICAgICBjb25zdCBnZXRDb25maWcgPSAoa2V5OiBzdHJpbmcpID0+IHF1ZXN0aW9uRGF0YS5xdWVzdGlvbkNvbmZpZ3M/LmZpbmQoYyA9PiBjLmNvbmZpZ0tleSA9PT0ga2V5KT8uY29uZmlnVmFsdWU7XHJcblxyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGlkOiBxdWVzdGlvbkRhdGEuaWQsXHJcbiAgICAgICAgICAgIHF1ZXN0aW9uVGV4dDogcXVlc3Rpb25EYXRhLnF1ZXN0aW9uVGV4dD8uWzBdPy50ZXh0IHx8ICcnLFxyXG4gICAgICAgICAgICBxdWVzdGlvblN1YlRleHQ6IHF1ZXN0aW9uRGF0YS5xdWVzdGlvblN1YlRleHQ/LlswXT8udGV4dCB8fCAnJyxcclxuICAgICAgICAgICAgcXVlc3Rpb25UeXBlOiBxdWVzdGlvbkRhdGEucXVlc3Rpb25UeXBlPy5jb2RlIHx8ICcnLFxyXG4gICAgICAgICAgICBpc01hbmRhdG9yeTogcXVlc3Rpb25EYXRhLmlzTWFuZGF0b3J5IHx8IGZhbHNlLFxyXG4gICAgICAgICAgICBpc0ZpbHRlckVuYWJsZWQ6IHF1ZXN0aW9uRGF0YS5pc0ZpbHRlckVuYWJsZWQgfHwgZmFsc2UsXHJcbiAgICAgICAgICAgIHRvdGFsTWFya3M6IHF1ZXN0aW9uRGF0YS53ZWlnaHQgfHwgMCxcclxuICAgICAgICAgICAgaGludFRleHQ6IHF1ZXN0aW9uRGF0YS5oaW50VGV4dCB8fCAnJyxcclxuICAgICAgICAgICAgcXVlc3Rpb25NZWRpYTogcXVlc3Rpb25EYXRhLm1lZGlhVXJsIHx8ICcnLFxyXG4gICAgICAgICAgICBtaW5DaGFyYWN0ZXJDb3VudDogZ2V0Q29uZmlnKCdtaW5DaGFyYWN0ZXJDb3VudCcpID8gTnVtYmVyKGdldENvbmZpZygnbWluQ2hhcmFjdGVyQ291bnQnKSkgOiBudWxsLFxyXG4gICAgICAgICAgICBtYXhDaGFyYWN0ZXJDb3VudDogZ2V0Q29uZmlnKCdtYXhDaGFyYWN0ZXJDb3VudCcpID8gTnVtYmVyKGdldENvbmZpZygnbWF4Q2hhcmFjdGVyQ291bnQnKSkgOiBudWxsLFxyXG4gICAgICAgICAgICBtaW5pbXVtTnVtYmVyT2ZPcHRpb246IGdldENvbmZpZygnbWluaW11bU51bWJlck9mT3B0aW9uJykgPyBOdW1iZXIoZ2V0Q29uZmlnKCdtaW5pbXVtTnVtYmVyT2ZPcHRpb24nKSkgOiBudWxsLFxyXG4gICAgICAgICAgICBtYXhpbXVtTnVtYmVyT2ZPcHRpb246IGdldENvbmZpZygnbWF4aW11bU51bWJlck9mT3B0aW9uJykgPyBOdW1iZXIoZ2V0Q29uZmlnKCdtYXhpbXVtTnVtYmVyT2ZPcHRpb24nKSkgOiBudWxsLFxyXG4gICAgICAgICAgICBtYXhGaWxlU2l6ZTogZ2V0Q29uZmlnKCdtYXhGaWxlU2l6ZScpID8gTnVtYmVyKGdldENvbmZpZygnbWF4RmlsZVNpemUnKSkgOiBudWxsLFxyXG4gICAgICAgICAgICBtYXhOb09mRmlsZXM6IGdldENvbmZpZygnbWF4Tm9PZkZpbGVzJykgPyBOdW1iZXIoZ2V0Q29uZmlnKCdtYXhOb09mRmlsZXMnKSkgOiBudWxsLFxyXG4gICAgICAgICAgICAvLyB2aXNpYmlsaXR5OiBnZXRDb25maWcoJ3Zpc2liaWxpdHknKSA9PT0gJ3RydWUnLFxyXG4gICAgICAgICAgICBjdXN0b21SZWdleDogcXVlc3Rpb25EYXRhPy5yZXNwb25zZVZhbGlkYXRpb24sXHJcbiAgICAgICAgICAgIHNraWxsQ29kZXM6IHF1ZXN0aW9uRGF0YT8uc2tpbGxDb2Rlcz8ubWFwKChza2lsbDogYW55KSA9PiBza2lsbC5jb2RlKSB8fCBbXSxcclxuICAgICAgICAgICAgb3B0aW9uczogcXVlc3Rpb25EYXRhLmRlZmF1bHRPcHRpb25zTGlzdD8ubWFwKG9wdCA9PiAoe1xyXG4gICAgICAgICAgICAgICAgaWQ6IG9wdC5pZCxcclxuICAgICAgICAgICAgICAgIHV1aWQ6IG9wdC51dWlkLFxyXG4gICAgICAgICAgICAgICAgb3B0aW9uTGFiZWw6IG9wdC5vcHRpb25zPy5vcHRpb25OYW1lPy5bMF0/LnRleHQgfHwgJycsXHJcbiAgICAgICAgICAgICAgICB3ZWlnaHQ6IG9wdC53ZWlnaHQgfHwgMCxcclxuICAgICAgICAgICAgICAgIHJlbWFya3NSZXF1aXJlZDogb3B0LnJlbWFya3NSZXF1aXJlZCB8fCBmYWxzZSxcclxuICAgICAgICAgICAgICAgIGlzQWN0aXZlOiBvcHQuaXNBY3RpdmUgIT09IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgY2hpbGRRdWVzdGlvbkxpc3Q6IG9wdC5jaGlsZFF1ZXN0aW9uTGlzdCB8fCBbXSxcclxuICAgICAgICAgICAgfSkpIHx8IFtdLFxyXG4gICAgICAgICAgICBjaGlsZFF1ZXN0aW9uczogcXVlc3Rpb25EYXRhPy5jaGlsZFF1ZXN0aW9ucyB8fCBbXVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBjcmVhdGVOZXdTZWN0aW9uKHNlcXVlbmNlOiBudW1iZXIpOiBRdWVzdGlvblBhcGVyU2VjdGlvbiB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgaWQ6IDAsXHJcbiAgICAgICAgICAgIHFwc05hbWU6IFt7XHJcbiAgICAgICAgICAgICAgICBpZDogMCxcclxuICAgICAgICAgICAgICAgIGxhbmd1YWdlOiB7IGNvZGU6ICdFTkcnIH0sXHJcbiAgICAgICAgICAgICAgICB0ZXh0OiBgU2VjdGlvbiAke3NlcXVlbmNlfWBcclxuICAgICAgICAgICAgfV0sXHJcbiAgICAgICAgICAgIG9yZGVyTm86IHNlcXVlbmNlLFxyXG4gICAgICAgICAgICBzZWN0aW9uUXVlc3Rpb25zTGlzdDogW10sXHJcbiAgICAgICAgICAgIHRvdGFsTWFya3M6IDAsXHJcbiAgICAgICAgICAgIHRvdGFsUXVlc3Rpb25zOiAwLFxyXG4gICAgICAgICAgICAuLi4odGhpcy5kZWZhdWx0QXNzZXNzbWVudERUTz8udGVuYW50ICYmIHsgdGVuYW50OiB0aGlzLmRlZmF1bHRBc3Nlc3NtZW50RFRPPy50ZW5hbnQgfSksXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGdlbmVyYXRlU2VjdGlvblF1ZXN0aW9uKHF1ZXN0aW9uOiBBc3Nlc3NtZW50UXVlc3Rpb24sIHNlY3Rpb25RdWVzdGlvbjogU2VjdGlvblF1ZXN0aW9uID0ge30pOiBTZWN0aW9uUXVlc3Rpb24ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGlkOiBzZWN0aW9uUXVlc3Rpb24/LmlkIHx8IDAsXHJcbiAgICAgICAgICAgIHF1ZXN0aW9uLFxyXG4gICAgICAgICAgICBpc01hbmRhdG9yeTogcXVlc3Rpb24/LmlzTWFuZGF0b3J5LFxyXG4gICAgICAgICAgICAuLi4oIXNlY3Rpb25RdWVzdGlvbj8uaWQgJiYgdGhpcy5kZWZhdWx0QXNzZXNzbWVudERUTz8udGVuYW50ICYmIHsgdGVuYW50OiB0aGlzLmRlZmF1bHRBc3Nlc3NtZW50RFRPPy50ZW5hbnQgfSlcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZ2VuZXJhdGVRdWVzdGlvblBhcGVyRFRPKHF1ZXN0aW9uUGFwZXI6IEFzc2Vzc21lbnRRdWVzdGlvblBhcGVyLCBxdWVzdGlvbkJhbms6IFJlY29yZDxudW1iZXIsIEFzc2Vzc21lbnRRdWVzdGlvbj4pOiBBc3Nlc3NtZW50UXVlc3Rpb25QYXBlciB7XHJcbiAgICAgICAgaWYgKCFxdWVzdGlvblBhcGVyKSByZXR1cm4gcXVlc3Rpb25QYXBlcjtcclxuXHJcbiAgICAgICAgaWYgKCFxdWVzdGlvblBhcGVyPy5pZCAmJiB0aGlzLmRlZmF1bHRBc3Nlc3NtZW50RFRPPy50ZW5hbnQpIHtcclxuICAgICAgICAgICAgcXVlc3Rpb25QYXBlci50ZW5hbnQgPSB0aGlzLmRlZmF1bHRBc3Nlc3NtZW50RFRPPy50ZW5hbnQ7XHJcbiAgICAgICAgfVxyXG5cclxuXHJcbiAgICAgICAgcXVlc3Rpb25QYXBlci5xdWVzdGlvblBhcGVyU2VjdGlvbkxpc3Q/LmZvckVhY2goKHNlY3Rpb246IGFueSwgc0luZGV4OiBudW1iZXIpID0+IHtcclxuICAgICAgICAgICAgc2VjdGlvbi5vcmRlck5vID0gc0luZGV4ICsgMTtcclxuXHJcbiAgICAgICAgICAgIGxldCBzZWN0aW9uTWFya3MgPSAwO1xyXG4gICAgICAgICAgICBsZXQgc2VjdGlvblF1ZXN0aW9uc0NvdW50ID0gMDtcclxuXHJcbiAgICAgICAgICAgIHNlY3Rpb24uc2VjdGlvblF1ZXN0aW9uc0xpc3Q/LmZvckVhY2goKHE6IFNlY3Rpb25RdWVzdGlvbiwgcUluZGV4OiBudW1iZXIpID0+IHtcclxuICAgICAgICAgICAgICAgIHEub3JkZXJObyA9IHFJbmRleCArIDE7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBxdWVzdGlvbiA9IHE/LnF1ZXN0aW9uIHx8IHF1ZXN0aW9uQmFua1txPy5xdWVzdGlvbklkIHx8IC0xXTtcclxuICAgICAgICAgICAgICAgIGlmIChxdWVzdGlvbiAmJiBxLmlzQWN0aXZlICE9PSBmYWxzZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHNlY3Rpb25NYXJrcyArPSBOdW1iZXIocXVlc3Rpb24ud2VpZ2h0KSB8fCAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHNlY3Rpb25RdWVzdGlvbnNDb3VudCsrO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgIHNlY3Rpb24udG90YWxNYXJrcyA9IHNlY3Rpb25NYXJrcztcclxuICAgICAgICAgICAgc2VjdGlvbi50b3RhbFF1ZXN0aW9ucyA9IHNlY3Rpb25RdWVzdGlvbnNDb3VudDtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHF1ZXN0aW9uUGFwZXI7XHJcbiAgICB9XHJcblxyXG4gICAgZ2VuZXJhdGVBc3Nlc3NtZW50RFRPKGFzc2Vzc21lbnRJZDogbnVtYmVyLCBxdWVzdGlvblBhcGVyOiBBc3Nlc3NtZW50UXVlc3Rpb25QYXBlcik6IEFzc2Vzc21lbnQge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGlkOiBhc3Nlc3NtZW50SWQsXHJcbiAgICAgICAgICAgIHRvdGFsbE1hcmtzOiBxdWVzdGlvblBhcGVyPy5xdWVzdGlvblBhcGVyU2VjdGlvbkxpc3Q/LmZpbHRlcigoc2VjdGlvbjogYW55KSA9PiBzZWN0aW9uLmlzQWN0aXZlICE9PSBmYWxzZSkucmVkdWNlKChhY2M6IG51bWJlciwgc2VjdGlvbjogYW55KSA9PiBhY2MgKyAoc2VjdGlvbi50b3RhbE1hcmtzIHx8IDApLCAwKSB8fCAwLFxyXG4gICAgICAgICAgICAuLi4oIWFzc2Vzc21lbnRJZCAmJiB7XHJcbiAgICAgICAgICAgICAgICAuLi50aGlzLmRlZmF1bHRBc3Nlc3NtZW50RFRPXHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICBjYWNoZUV2aWN0aW9uRW5hYmxlZDogdHJ1ZVxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgZ2VuZXJhdGVBc3Nlc3NtZW50SW5zdGFuY2VEVE8oYXNzZXNzbWVudElkOiBudW1iZXIpOiBBc3Nlc3NtZW50SW5zdGFuY2Uge1xyXG4gICAgICAgIGxldCBkID0gbmV3IERhdGUoKTtcclxuICAgICAgICBsZXQgeWVhciA9IGQuZ2V0RnVsbFllYXIoKTtcclxuICAgICAgICBsZXQgbW9udGggPSBkLmdldE1vbnRoKCk7XHJcbiAgICAgICAgbGV0IGRheSA9IGQuZ2V0RGF0ZSgpO1xyXG4gICAgICAgIGxldCBlbmREYXRlID0gbmV3IERhdGUoeWVhciArIDIwLCBtb250aCwgZGF5KTtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBpZDogMCxcclxuICAgICAgICAgICAgZW5kRGF0ZTogZW5kRGF0ZSxcclxuICAgICAgICAgICAgc3RhcnREYXRlOiBuZXcgRGF0ZSgpLFxyXG4gICAgICAgICAgICBhc3Nlc3NtZW50OiB7XHJcbiAgICAgICAgICAgICAgICBpZDogYXNzZXNzbWVudElkLFxyXG4gICAgICAgICAgICAgICAgLi4uKHRoaXMuZGVmYXVsdEFzc2Vzc21lbnREVE8/LnRlbmFudCAmJiB7IHRlbmFudDogdGhpcy5kZWZhdWx0QXNzZXNzbWVudERUTz8udGVuYW50IH0pXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHNjaGVkdWxlU3RhdHVzOiB7XHJcbiAgICAgICAgICAgICAgICBjb2RlOiAnQVNTRVNTTUVOVC5QVUJMSVNIJ1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59Il19