commons-assessment 12.0.2 → 12.0.4

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.
@@ -285,8 +285,8 @@ export class AssessmentMakerComponent {
285
285
  };
286
286
  if (!this.assessmentId) {
287
287
  // returns null or 0 as assessment is not created yet. Handle the response in consumer app
288
- this.assessmentInstanceIdChange.emit(this.assessmentInstanceId);
289
288
  this.isSubmitting = false;
289
+ this.assessmentInstanceIdChange.emit(this.assessmentInstanceId);
290
290
  return;
291
291
  }
292
292
  this.assessmentMakerService.patchAssessmentAndQuestionPaper(payload).subscribe({
@@ -296,8 +296,8 @@ export class AssessmentMakerComponent {
296
296
  this.createAssessmentInstance();
297
297
  }
298
298
  else {
299
- this.assessmentInstanceIdChange.emit(this.assessmentInstanceId);
300
299
  this.isSubmitting = false;
300
+ this.assessmentInstanceIdChange.emit(this.assessmentInstanceId);
301
301
  }
302
302
  },
303
303
  error: error => {
@@ -312,8 +312,8 @@ export class AssessmentMakerComponent {
312
312
  this.assessmentMakerService.createAssessmentInstance(payload).subscribe({
313
313
  next: (res) => {
314
314
  this.assessmentInstanceId = res;
315
- this.assessmentInstanceIdChange.emit(res);
316
315
  this.isSubmitting = false;
316
+ this.assessmentInstanceIdChange.emit(res);
317
317
  // this.snackbarMessage.emit({ message: this.labelConfig['COMMONS_ASSESSMENT.TOAST.ASSESSMENT_PUBLISHED_SUCCESS'], type: 'success' });
318
318
  },
319
319
  error: error => {
@@ -406,4 +406,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
406
406
  }], snackbarMessage: [{
407
407
  type: Output
408
408
  }] } });
409
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXNzbWVudC1tYWtlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21tb25zLWFzc2Vzc21lbnQvc3JjL2xpYi9tb2R1bGVzL2Fzc2Vzc21lbnQtbWFrZXIvYXNzZXNzbWVudC1tYWtlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21tb25zLWFzc2Vzc21lbnQvc3JjL2xpYi9tb2R1bGVzL2Fzc2Vzc21lbnQtbWFrZXIvYXNzZXNzbWVudC1tYWtlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEMsT0FBTyxFQUFlLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXRFLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLG9GQUFvRixDQUFDO0FBQ3pJLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDOzs7Ozs7Ozs7Ozs7O0FBYTFHLE1BQU0sT0FBTyx3QkFBd0I7SUFxQm5DLFlBQ1Usc0JBQThDLEVBQzlDLHdCQUFrRCxFQUNsRCxNQUFpQjtRQUZqQiwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBQzlDLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7UUFDbEQsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQXZCbEIsZ0JBQVcsR0FBOEIsRUFBRSxDQUFDO1FBQzVDLGdCQUFXLEdBQThCLEVBQUUsQ0FBQztRQUM1QyxrQkFBYSxHQUFtQixFQUFFLENBQUM7UUFDbkMsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUU1QixpQkFBWSxHQUFXLENBQUMsQ0FBQztRQUN6Qix5QkFBb0IsR0FBVyxDQUFD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QUF3QjtrQkFOcEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxXQUFXLEVBQUUsbUNBQW1DO29CQUNoRCxTQUFTLEVBQUUsQ0FBQyxtQ0FBbUMsQ0FBQztpQkFDakQ7NEtBR1UsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQUNHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFFSSxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBQ0csMEJBQTBCO3NCQUFuQyxNQUFNO2dCQUNHLGVBQWU7c0JBQXhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGZvcmtKb2luIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IENka0RyYWdEcm9wLCBtb3ZlSXRlbUluQXJyYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgQWRkRWRpdFNlY3Rpb25JbnRyb2R1Y3Rpb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYWRkLWVkaXQtc2VjdGlvbi1pbnRyb2R1Y3Rpb24vYWRkLWVkaXQtc2VjdGlvbi1pbnRyb2R1Y3Rpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQXNzZXNzbWVudEJ1aWxkZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYXNzZXNzbWVudC1idWlsZGVyL2Fzc2Vzc21lbnQtYnVpbGRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBRdWVzdGlvblR5cGUsIEFzc2Vzc21lbnQgfSBmcm9tICcuLi8uLi9zaGFyZWQvaW50ZXJmYWNlcy9hc3Nlc3NtZW50LmludGVyZmFjZSc7XHJcbmltcG9ydCB7IEFzc2Vzc21lbnRRdWVzdGlvblBhcGVyLCBTZWN0aW9uUXVlc3Rpb24sIFF1ZXN0aW9uUGFwZXJTZWN0aW9uIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2ludGVyZmFjZXMvcXVlc3Rpb24tcGFwZXIuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgQXNzZXNzbWVudFF1ZXN0aW9uIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2ludGVyZmFjZXMvcXVlc3Rpb24uaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgQXNzZXNzbWVudEJ1aWxkZXJTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9hc3Nlc3NtZW50LWJ1aWxkZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IEFzc2Vzc21lbnRNYWtlclNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2Fzc2Vzc21lbnQtbWFrZXIuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1hc3Nlc3NtZW50LW1ha2VyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYXNzZXNzbWVudC1tYWtlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYXNzZXNzbWVudC1tYWtlci5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgQXNzZXNzbWVudE1ha2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBsYWJlbENvbmZpZzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xyXG4gIEBJbnB1dCgpIGltYWdlQ29uZmlnOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge307XHJcbiAgQElucHV0KCkgcXVlc3Rpb25UeXBlczogUXVlc3Rpb25UeXBlW10gPSBbXTtcclxuICBASW5wdXQoKSBzaG93Rm9vdGVyOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgY3VzdG9tUnVsZXM/OiBhbnk7XHJcbiAgQElucHV0KCkgYXNzZXNzbWVudElkOiBudW1iZXIgPSAwO1xyXG4gIEBJbnB1dCgpIGFzc2Vzc21lbnRJbnN0YW5jZUlkOiBudW1iZXIgPSAwO1xyXG4gIEBJbnB1dCgpIGRlZmF1bHRBc3Nlc3NtZW50RFRPOiBBc3Nlc3NtZW50ID0ge307XHJcblxyXG4gIEBPdXRwdXQoKSBhc3Nlc3NtZW50SWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuICBAT3V0cHV0KCkgYXNzZXNzbWVudEluc3RhbmNlSWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuICBAT3V0cHV0KCkgc25hY2tiYXJNZXNzYWdlID0gbmV3IEV2ZW50RW1pdHRlcjx7IG1lc3NhZ2U6IHN0cmluZywgdHlwZTogJ3N1Y2Nlc3MnIHwgJ2Vycm9yJyB8ICdpbmZvJyB9PigpO1xyXG5cclxuICBzaG93TG9hZGVyOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcXVlc3Rpb25CYW5rOiBSZWNvcmQ8bnVtYmVyLCBBc3Nlc3NtZW50UXVlc3Rpb24+ID0ge307XHJcbiAgYXNzZXNzbWVudFF1ZXN0aW9uUGFwZXJEYXRhOiBBc3Nlc3NtZW50UXVlc3Rpb25QYXBlciA9IHsgaWQ6IDAsIHF1ZXN0aW9uUGFwZXJTZWN0aW9uTGlzdDogW10gfTtcclxuICBjb25maWdzTG9hZGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcnVsZXM6IGFueTtcclxuICBpc1N1Ym1pdHRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGFzc2Vzc21lbnRNYWtlclNlcnZpY2U6IEFzc2Vzc21lbnRNYWtlclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGFzc2Vzc21lbnRCdWlsZGVyU2VydmljZTogQXNzZXNzbWVudEJ1aWxkZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBkaWFsb2c6IE1hdERpYWxvZ1xyXG4gICkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5hc3Nlc3NtZW50QnVpbGRlclNlcnZpY2Uuc2V0RGVmYXVsdEFzc2Vzc21lbnREVE8odGhpcy5kZWZhdWx0QXNzZXNzbWVudERUTyk7XHJcbiAgICB0aGlzLmdldENvbmZpZ3NGcm9tSlNPTigpO1xyXG5cclxuICAgIGlmICh0aGlzLmFzc2Vzc21lbnRJZCkge1xyXG4gICAgICB0aGlzLnNob3dMb2FkZXIgPSB0cnVlO1xyXG4gICAgICB0aGlzLmxvYWRBc3Nlc3NtZW50RGF0YSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0Q29uZmlnc0Zyb21KU09OKCkge1xyXG4gICAgZm9ya0pvaW4oe1xyXG4gICAgICBsYWJlbENvbmZpZzogdGhpcy5hc3Nlc3NtZW50TWFrZXJTZXJ2aWNlLmdldENvbmZpZ0pTT04oJ2pzb24vbGFiZWxDb25maWcnKSxcclxuICAgICAgaW1hZ2VDb25maWc6IHRoaXMuYXNzZXNzbWVudE1ha2VyU2VydmljZS5nZXRDb25maWdKU09OKCdqc29uL2ltYWdlQ29uZmlnJyksXHJcbiAgICAgIHJ1bGVzOiB0aGlzLmFzc2Vzc21lbnRNYWtlclNlcnZpY2UuZ2V0Q29uZmlnSlNPTignanNvbi9xdWVzdGlvbi1idWlsZGVyLXJ1bGVzJyksXHJcbiAgICAgIC4uLighdGhpcy5xdWVzdGlvblR5cGVzPy5sZW5ndGggJiYge1xyXG4gICAgICAgIHF1ZXN0aW9uVHlwZXM6IHRoaXMuYXNzZXNzbWVudE1ha2VyU2VydmljZS5nZXRDb25maWdKU09OKCdqc29uL3F1ZXN0aW9uVHlwZXMnKVxyXG4gICAgICB9KVxyXG4gICAgfSkuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xyXG4gICAgICB0aGlzLmxhYmVsQ29uZmlnID0gT2JqZWN0LmFzc2lnbih7fSwgcmVzPy5sYWJlbENvbmZpZywgdGhpcy5sYWJlbENvbmZpZyk7XHJcbiAgICAgIHRoaXMuaW1hZ2VDb25maWcgPSBPYmplY3QuYXNzaWduKHt9LCByZXM/LmltYWdlQ29uZmlnLCB0aGlzLmltYWdlQ29uZmlnKTtcclxuICAgICAgaWYgKHJlcz8ucXVlc3Rpb25UeXBlcykge1xyXG4gICAgICAgIHRoaXMucXVlc3Rpb25UeXBlcyA9IHJlcz8ucXVlc3Rpb25UeXBlcztcclxuICAgICAgfVxyXG4gICAgICAvLyBNZXJnZSBjdXN0b21SdWxlcyBwZXIgcXVlc3Rpb25UeXBlIG92ZXIgZGVmYXVsdCBydWxlc1xyXG4gICAgICB0aGlzLnJ1bGVzID0geyAuLi5yZXM/LnJ1bGVzIH07XHJcbiAgICAgIGlmICh0aGlzLmN1c3RvbVJ1bGVzKSB7XHJcbiAgICAgICAgT2JqZWN0LmtleXModGhpcy5jdXN0b21SdWxlcykuZm9yRWFjaChxVHlwZSA9PiB7XHJcbiAgICAgICAgICBpZiAoIXRoaXMucnVsZXNbcVR5cGVdKSB7XHJcbiAgICAgICAgICAgIHRoaXMucnVsZXNbcVR5cGVdID0geyAuLi50aGlzLmN1c3RvbVJ1bGVzW3FUeXBlXSB9O1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5ydWxlc1txVHlwZV0gPSB7IC4uLnRoaXMucnVsZXNbcVR5cGVdLCAuLi50aGlzLmN1c3RvbVJ1bGVzW3FUeXBlXSB9O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLmNvbmZpZ3NMb2FkZWQgPSB0cnVlO1xyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIGxvYWRBc3Nlc3NtZW50RGF0YSgpIHtcclxuICAgIHRoaXMuYXNzZXNzbWVudE1ha2VyU2VydmljZS5nZXRBc3Nlc3NtZW50Q29udGV4dCh0aGlzLmFzc2Vzc21lbnRJZCkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5xdWVzdGlvbkJhbmsgPSB7XHJcbiAgICAgICAgICAuLi50aGlzLnF1ZXN0aW9uQmFuayxcclxuICAgICAgICAgIC4uLihyZXM/LnF1ZXN0aW9uRFRPTWFwIHx8IHt9KVxyXG4gICAgICAgIH07XHJcbiAgICAgICAgdGhpcy51cGRhdGVBc3Nlc3NtZW50UXVlc3Rpb25QYXBlckRhdGEocmVzPy5hc3Nlc3NtZW50UXVlc3Rpb25QYXBlckRUTyk7XHJcbiAgICAgICAgdGhpcy5zaG93TG9hZGVyID0gZmFsc2U7XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZXJyb3I6IGFueSkgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xyXG4gICAgICAgIHRoaXMuc25hY2tiYXJNZXNzYWdlLmVtaXQoeyBtZXNzYWdlOiB0aGlzLmxhYmVsQ29uZmlnWydDT01NT05TX0FTU0VTU01FTlQuVE9BU1QuRVJST1JfREVGQVVMVCddLCB0eXBlOiAnZXJyb3InIH0pO1xyXG4gICAgICAgIHRocm93IHsgZXJyb3IsIG1ldGhvZDogJ0dFVCcsIHBheWxvYWQ6IHRoaXMuYXNzZXNzbWVudElkIH1cclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIGdlbmVyYXRlUXVlc3Rpb25CYW5rKCkge1xyXG4gICAgbGV0IGNoaWxkUXVlc3Rpb25JZHM6IG51bWJlcltdID0gW107XHJcblxyXG4gICAgdGhpcy5hc3Nlc3NtZW50UXVlc3Rpb25QYXBlckRhdGE/LnF1ZXN0aW9uUGFwZXJTZWN0aW9uTGlzdD8uZm9yRWFjaCgoc2VjdGlvbjogYW55KSA9PiB7XHJcbiAgICAgIHNlY3Rpb24/LnNlY3Rpb25RdWVzdGlvbnNMaXN0Py5mb3JFYWNoKChxOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAodGhpcy5xdWVzdGlvbkJhbms/LltxPy5xdWVzdGlvbklkXT8uZGVmYXVsdE9wdGlvbnNMaXN0Py5sZW5ndGgpIHtcclxuICAgICAgICAgIHRoaXMucXVlc3Rpb25CYW5rPy5bcT8ucXVlc3Rpb25JZF0/LmRlZmF1bHRPcHRpb25zTGlzdD8uZm9yRWFjaCgob3B0aW9uOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgaWYgKG9wdGlvbj8uY2hpbGRRdWVzdGlvbkxpc3Q/Lmxlbmd0aCkge1xyXG4gICAgICAgICAgICAgIG9wdGlvbj8uY2hpbGRRdWVzdGlvbkxpc3Q/LmZvckVhY2goKGNjcTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjaGlsZFF1ZXN0aW9uSWRzLnB1c2goY2NxKTtcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG5cclxuICAgIC8vIFJlbW92ZSBkdXBsaWNhdGVzIGFuZCBmaWx0ZXIgb3V0IG9uZXMgd2UgYWxyZWFkeSBoYXZlIGluIHRoZSBiYW5rXHJcbiAgICBjaGlsZFF1ZXN0aW9uSWRzID0gWy4uLm5ldyBTZXQoY2hpbGRRdWVzdGlvbklkcyldLmZpbHRlcihpZCA9PiAhdGhpcy5xdWVzdGlvbkJhbmtbaWRdKTtcclxuXHJcbiAgICBpZiAoY2hpbGRRdWVzdGlvbklkcz8ubGVuZ3RoID4gMCkge1xyXG4gICAgICBjb25zdCBwYXJhbXMgPSB7IHF1ZXN0aW9uSWRzOiBjaGlsZFF1ZXN0aW9uSWRzIH07XHJcbiAgICAgIHRoaXMuYXNzZXNzbWVudE1ha2VyU2VydmljZS5nZXRRdWVzdGlvbnNCeUlkcyhwYXJhbXMpLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICByZXM/LmZvckVhY2goKHF1ZXN0aW9uOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5xdWVzdGlvbkJhbmtbcXVlc3Rpb24uaWRdID0gcXVlc3Rpb247XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOiAoZXJyb3I6IGFueSkgPT4ge1xyXG4gICAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XHJcbiAgICAgICAgICB0aHJvdyB7IGVycm9yLCBtZXRob2Q6ICdHRVQnLCBwYXlsb2FkOiBwYXJhbXMgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGltYWdlRXJyb3JIYW5kbGVyKGV2ZW50OiBhbnksIGZpbGVQYXRoOiBzdHJpbmcpIHtcclxuICAgIGV2ZW50LnRhcmdldC5zcmMgPSBmaWxlUGF0aDtcclxuICB9XHJcblxyXG4gIGZvY3VzU2VjdGlvbklucHV0KHNlY3Rpb25JbmRleDogbnVtYmVyLCBldmVudDogRXZlbnQpIHtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgY29uc3QgaW5wdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChgc2VjdGlvbk5hbWVJbnB1dF8ke3NlY3Rpb25JbmRleH1gKSBhcyBIVE1MSW5wdXRFbGVtZW50O1xyXG4gICAgaWYgKGlucHV0KSB7XHJcbiAgICAgIGlucHV0LmZvY3VzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBkcm9wU2VjdGlvbihldmVudDogQ2RrRHJhZ0Ryb3A8YW55W10+KSB7XHJcbiAgICBpZiAodGhpcy5hc3Nlc3NtZW50UXVlc3Rpb25QYXBlckRhdGEucXVlc3Rpb25QYXBlclNlY3Rpb25MaXN0KSB7XHJcbiAgICAgIG1vdmVJdGVtSW5BcnJheShcclxuICAgICAgICB0aGlzLmFzc2Vzc21lbnRRdWVzdGlvblBhcGVyRGF0YS5xdWVzdGlvblBhcGVyU2VjdGlvbkxpc3QsXHJcbiAgICAgICAgZXZlbnQucHJldmlvdXNJbmRleCxcclxuICAgICAgICBldmVudC5jdXJyZW50SW5kZXhcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGRyb3BRdWVzdGlvbihldmVudDogQ2RrRHJhZ0Ryb3A8YW55W10+KSB7XHJcbiAgICBtb3ZlSXRlbUluQXJyYXkoXHJcbiAgICAgIGV2ZW50LmNvbnRhaW5lci5kYXRhLFxyXG4gICAgICBldmVudC5wcmV2aW91c0luZGV4LFxyXG4gICAgICBldmVudC5jdXJyZW50SW5kZXhcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBhZGRJbnN0cnVjdGlvbihzZWN0aW9uOiBhbnkpIHtcclxuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oQWRkRWRpdFNlY3Rpb25JbnRyb2R1Y3Rpb25Db21wb25lbnQsIHtcclxuICAgICAgYXV0b0ZvY3VzOiBmYWxzZSxcclxuICAgICAgbWF4V2lkdGg6ICc5NSUnLFxyXG4gICAgICB3aWR0aDogJzQwcmVtJyxcclxuICAgICAgbWF4SGVpZ2h0OiAnMTAwZHZoJyxcclxuICAgICAgcGFuZWxDbGFzczogWydhc3Nlc3NtZW50LWRpYWxvZyddLFxyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgaW1hZ2VDb25maWc6IHRoaXMuaW1hZ2VDb25maWcsXHJcbiAgICAgICAgbGFiZWxDb25maWc6IHRoaXMubGFiZWxDb25maWcsXHJcbiAgICAgICAgc2VjdGlvbkRldGFpbHM6IHNlY3Rpb25cclxuICAgICAgfSxcclxuICAgIH0pO1xyXG5cclxuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcbiAgICAgIGlmIChyZXN1bHQ/LnVwZGF0ZSkge1xyXG4gICAgICAgIGlmICghc2VjdGlvbi5xcHNEZXNjKSBzZWN0aW9uLnFwc0Rlc2MgPSBbXTtcclxuICAgICAgICBpZiAoIXNlY3Rpb24ucXBzRGVzY1swXSkgc2VjdGlvbi5xcHNEZXNjWzBdID0geyBpZDogMCwgbGFuZ3VhZ2U6IHsgY29kZTogJ0VORycgfSwgdGV4dDogJycgfTtcclxuICAgICAgICBzZWN0aW9uLnFwc0Rlc2NbMF0udGV4dCA9IHJlc3VsdD8uZGVzY3JpcHRpb247XHJcbiAgICAgICAgc2VjdGlvbi5tZWRpYVVybCA9IHJlc3VsdD8ubWVkaWFVcmwgfHwgbnVsbDtcclxuICAgICAgICB0aGlzLnBhdGNoQXNzZXNzbWVudEFuZFF1ZXN0aW9uUGFwZXIodGhpcy5sYWJlbENvbmZpZ1snQ09NTU9OU19BU1NFU1NNRU5ULlRPQVNULlNFQ1RJT05fSU5TVFJVQ1RJT05TX1VQREFURURfU1VDQ0VTUyddKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBkZWxldGVDaGlsZFF1ZXN0aW9uKG9wdGlvbjogYW55LCBjaGlsZElkVG9SZW1vdmU6IG51bWJlciB8IGFueSkge1xyXG4gICAgaWYgKG9wdGlvbi5jaGlsZFF1ZXN0aW9uTGlzdCkge1xyXG4gICAgICBjb25zdCBpZFRvUmVtb3ZlID0gdHlwZW9mIGNoaWxkSWRUb1JlbW92ZSA9PT0gJ29iamVjdCcgPyBjaGlsZElkVG9SZW1vdmU/LmlkIDogY2hpbGRJZFRvUmVtb3ZlO1xyXG4gICAgICBvcHRpb24uY2hpbGRRdWVzdGlvbkxpc3QgPSBvcHRpb24uY2hpbGRRdWVzdGlvbkxpc3QuZmlsdGVyKChjY3E6IGFueSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGlkID0gdHlwZW9mIGNjcSA9PT0gJ29iamVjdCcgPyBjY3E/LmlkIDogY2NxO1xyXG4gICAgICAgIHJldHVybiBpZCAhPT0gaWRUb1JlbW92ZTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBkZWxldGVQYXJlbnRRdWVzdGlvbihzZWN0aW9uUXVlc3Rpb246IFNlY3Rpb25RdWVzdGlvbikge1xyXG4gICAgc2VjdGlvblF1ZXN0aW9uLmlzQWN0aXZlID0gZmFsc2U7XHJcbiAgICB0aGlzLnBhdGNoQXNzZXNzbWVudEFuZFF1ZXN0aW9uUGFwZXIodGhpcy5sYWJlbENvbmZpZ1snQ09NTU9OU19BU1NFU1NNRU5ULlRPQVNULlFVRVNUSU9OX0RFTEVURURfU1VDQ0VTUyddKTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZVNlY3Rpb24oc2VjdGlvbjogUXVlc3Rpb25QYXBlclNlY3Rpb24pIHtcclxuICAgIHNlY3Rpb24uaXNBY3RpdmUgPSBmYWxzZTtcclxuICAgIHRoaXMucGF0Y2hBc3Nlc3NtZW50QW5kUXVlc3Rpb25QYXBlcih0aGlzLmxhYmVsQ29uZmlnWydDT01NT05TX0FTU0VTU01FTlQuVE9BU1QuU0VDVElPTl9ERUxFVEVEX1NVQ0NFU1MnXSk7XHJcbiAgfVxyXG5cclxuICBjcmVhdGVFZGl0UXVlc3Rpb24oc2VjdGlvbkRldGFpbHM/OiBhbnksIHNlY3Rpb25RdWVzdGlvbklkPzogbnVtYmVyLCBpc0NoaWxkPzogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgY29uc3QgcXVlc3Rpb25EZXRhaWxzID0gdGhpcy5nZXRRdWVzdGlvbkZyb21CYW5rKHNlY3Rpb25RdWVzdGlvbklkKTtcclxuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oQXNzZXNzbWVudEJ1aWxkZXJDb21wb25lbnQsIHtcclxuICAgICAgYXV0b0ZvY3VzOiBmYWxzZSxcclxuICAgICAgcG9zaXRpb246IHsgcmlnaHQ6ICcwJyB9LFxyXG4gICAgICBtYXhXaWR0aDogJzEwMCUnLFxyXG4gICAgICB3aWR0aDogJzU1cmVtJyxcclxuICAgICAgaGVpZ2h0OiAnMTAwdmgnLFxyXG4gICAgICBwYW5lbENsYXNzOiBbJ2Fzc2Vzc21lbnQtZGlhbG9nJywgJ2Fzc2Vzc21lbnQtZGlhbG9nLXNsaWRlci1hbmltYXRpb24nXSxcclxuICAgICAgaGFzQmFja2Ryb3A6IHRydWUsXHJcbiAgICAgIGRhdGE6IHtcclxuICAgICAgICBsYWJlbENvbmZpZzogdGhpcy5sYWJlbENvbmZpZyxcclxuICAgICAgICBpbWFnZUNvbmZpZzogdGhpcy5pbWFnZUNvbmZpZyxcclxuICAgICAgICBxdWVzdGlvblR5cGVzOiB0aGlzLnF1ZXN0aW9uVHlwZXMsXHJcbiAgICAgICAgcnVsZXM6IHRoaXMucnVsZXMsXHJcbiAgICAgICAgcXVlc3Rpb25CYW5rOiB0aGlzLnF1ZXN0aW9uQmFuayxcclxuICAgICAgICBpc0NoaWxkOiBpc0NoaWxkLFxyXG4gICAgICAgIHF1ZXN0aW9uRGV0YWlscyxcclxuICAgICAgICBzZWN0aW9uRGV0YWlscyxcclxuICAgICAgICBhc3Nlc3NtZW50UXVlc3Rpb25QYXBlckRhdGE6IHRoaXMuYXNzZXNzbWVudFF1ZXN0aW9uUGFwZXJEYXRhLFxyXG4gICAgICAgIGFzc2Vzc21lbnRJZDogdGhpcy5hc3Nlc3NtZW50SWQsXHJcbiAgICAgICAgc25hY2tiYXJNZXNzYWdlRW1pdHRlcjogdGhpcy5zbmFja2Jhck1lc3NhZ2VcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG5cclxuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcclxuICAgICAgaWYgKHJlcz8uc3VjY2Vzcykge1xyXG4gICAgICAgIGlmIChyZXM/LmFzc2Vzc21lbnRJZCkge1xyXG4gICAgICAgICAgaWYgKCF0aGlzLmFzc2Vzc21lbnRJZCkge1xyXG4gICAgICAgICAgICB0aGlzLmFzc2Vzc21lbnRJZCA9IHJlcy5hc3Nlc3NtZW50SWQ7XHJcbiAgICAgICAgICAgIHRoaXMuYXNzZXNzbWVudElkQ2hhbmdlLmVtaXQodGhpcy5hc3Nlc3NtZW50SWQpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5xdWVzdGlvbkJhbmsgPSB7XHJcbiAgICAgICAgICAgIC4uLnRoaXMucXVlc3Rpb25CYW5rLFxyXG4gICAgICAgICAgICAuLi4ocmVzPy5xdWVzdGlvbk1hcCB8fCB7fSlcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgICB0aGlzLnVwZGF0ZUFzc2Vzc21lbnRRdWVzdGlvblBhcGVyRGF0YShyZXMucXVlc3Rpb25QYXBlcik7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMucGF0Y2hBc3Nlc3NtZW50QW5kUXVlc3Rpb25QYXBlcigpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBkdXBsaWNhdGVTZWN0aW9uKHNlY3Rpb25JZDogbnVtYmVyKSB7XHJcbiAgICBpZiAoIXRoaXMuYXNzZXNzbWVudFF1ZXN0aW9uUGFwZXJEYXRhPy5pZCkgcmV0dXJuO1xyXG4gICAgdGhpcy5hc3Nlc3NtZW50TWFrZXJTZXJ2aWNlLmR1cGxpY2F0ZVNlY3Rpb24odGhpcy5hc3Nlc3NtZW50UXVlc3Rpb25QYXBlckRhdGEuaWQsIHNlY3Rpb25JZCkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5xdWVzdGlvbkJhbmsgPSB7XHJcbiAgICAgICAgICAuLi50aGlzLnF1ZXN0aW9uQmFuayxcclxuICAgICAgICAgIC4uLihyZXM/LnF1ZXN0aW9uTWFwIHx8IHt9KVxyXG4gICAgICAgIH07XHJcbiAgICAgICAgdGhpcy51cGRhdGVBc3Nlc3NtZW50UXVlc3Rpb25QYXBlckRhdGEocmVzPy5xdWVzdGlvblBhcGVyKTtcclxuICAgICAgICB0aGlzLmdlbmVyYXRlUXVlc3Rpb25CYW5rKCk7XHJcbiAgICAgICAgdGhpcy5wYXRjaEFzc2Vzc21lbnRBbmRRdWVzdGlvblBhcGVyKCk7XHJcbiAgICAgICAgdGhpcy5zbmFja2Jhck1lc3NhZ2UuZW1pdCh7IG1lc3NhZ2U6IHRoaXMubGFiZWxDb25maWdbJ0NPTU1PTlNfQVNTRVNTTUVOVC5UT0FTVC5TRUNUSU9OX0RVUExJQ0FURURfU1VDQ0VTUyddLCB0eXBlOiAnc3VjY2VzcycgfSk7XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZXJyb3I6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuc2hvd0xvYWRlciA9IGZhbHNlO1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xyXG4gICAgICAgIHRoaXMuc25hY2tiYXJNZXNzYWdlLmVtaXQoeyBtZXNzYWdlOiB0aGlzLmxhYmVsQ29uZmlnWydDT01NT05TX0FTU0VTU01FTlQuVE9BU1QuRVJST1JfREVGQVVMVCddLCB0eXBlOiAnZXJyb3InIH0pO1xyXG4gICAgICAgIHRocm93IHsgZXJyb3IsIG1ldGhvZDogJ1BBVENIJyB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZHVwbGljYXRlUXVlc3Rpb24oc2VjdGlvbjogUXVlc3Rpb25QYXBlclNlY3Rpb24sIHNlY3Rpb25RdWVzdGlvbjogU2VjdGlvblF1ZXN0aW9uKSB7XHJcbiAgICBpZiAoIXNlY3Rpb25RdWVzdGlvbi5pZCkgcmV0dXJuO1xyXG4gICAgdGhpcy5hc3Nlc3NtZW50TWFrZXJTZXJ2aWNlLmR1cGxpY2F0ZVF1ZXN0aW9uKHNlY3Rpb24uaWQsIHNlY3Rpb25RdWVzdGlvbi5pZCkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5xdWVzdGlvbkJhbmsgPSB7XHJcbiAgICAgICAgICAuLi50aGlzLnF1ZXN0aW9uQmFuayxcclxuICAgICAgICAgIC4uLihyZXM/LnF1ZXN0aW9uTWFwIHx8IHt9KVxyXG4gICAgICAgIH07XHJcbiAgICAgICAgdGhpcy51cGRhdGVBc3Nlc3NtZW50UXVlc3Rpb25QYXBlckRhdGEocmVzPy5xdWVzdGlvblBhcGVyKTtcclxuICAgICAgICB0aGlzLmdlbmVyYXRlUXVlc3Rpb25CYW5rKCk7XHJcbiAgICAgICAgdGhpcy5wYXRjaEFzc2Vzc21lbnRBbmRRdWVzdGlvblBhcGVyKCk7XHJcbiAgICAgICAgdGhpcy5zbmFja2Jhck1lc3NhZ2UuZW1pdCh7IG1lc3NhZ2U6IHRoaXMubGFiZWxDb25maWdbJ0NPTU1PTlNfQVNTRVNTTUVOVC5UT0FTVC5RVUVTVElPTl9EVVBMSUNBVEVEX1NVQ0NFU1MnXSwgdHlwZTogJ3N1Y2Nlc3MnIH0pO1xyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjogKGVycm9yOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLnNob3dMb2FkZXIgPSBmYWxzZTtcclxuICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcclxuICAgICAgICB0aGlzLnNuYWNrYmFyTWVzc2FnZS5lbWl0KHsgbWVzc2FnZTogdGhpcy5sYWJlbENvbmZpZ1snQ09NTU9OU19BU1NFU1NNRU5ULlRPQVNULkVSUk9SX0RFRkFVTFQnXSwgdHlwZTogJ2Vycm9yJyB9KTtcclxuICAgICAgICB0aHJvdyB7IGVycm9yLCBtZXRob2Q6ICdQQVRDSCcgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHBhdGNoQXNzZXNzbWVudEFuZFF1ZXN0aW9uUGFwZXIoc3VjY2Vzc01lc3NhZ2U/OiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IHBheWxvYWQgPSB7XHJcbiAgICAgIHF1ZXN0aW9uUGFwZXI6IHRoaXMuYXNzZXNzbWVudEJ1aWxkZXJTZXJ2aWNlLmdlbmVyYXRlUXVlc3Rpb25QYXBlckRUTyh0aGlzLmFzc2Vzc21lbnRRdWVzdGlvblBhcGVyRGF0YSwgdGhpcy5xdWVzdGlvbkJhbmspLFxyXG4gICAgICBhc3Nlc3NtZW50OiB0aGlzLmFzc2Vzc21lbnRCdWlsZGVyU2VydmljZS5nZW5lcmF0ZUFzc2Vzc21lbnREVE8odGhpcy5hc3Nlc3NtZW50SWQsIHRoaXMuYXNzZXNzbWVudFF1ZXN0aW9uUGFwZXJEYXRhKVxyXG4gICAgfVxyXG4gICAgdGhpcy5hc3Nlc3NtZW50TWFrZXJTZXJ2aWNlLnBhdGNoQXNzZXNzbWVudEFuZFF1ZXN0aW9uUGFwZXIocGF5bG9hZCkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy51cGRhdGVBc3Nlc3NtZW50UXVlc3Rpb25QYXBlckRhdGEocmVzPy5xdWVzdGlvblBhcGVyKTtcclxuICAgICAgICB0aGlzLmdlbmVyYXRlUXVlc3Rpb25CYW5rKCk7XHJcbiAgICAgICAgaWYgKHN1Y2Nlc3NNZXNzYWdlKSB7XHJcbiAgICAgICAgICB0aGlzLnNuYWNrYmFyTWVzc2FnZS5lbWl0KHsgbWVzc2FnZTogc3VjY2Vzc01lc3NhZ2UsIHR5cGU6ICdzdWNjZXNzJyB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiBlcnJvciA9PiB7XHJcbiAgICAgICAgdGhpcy5zbmFja2Jhck1lc3NhZ2UuZW1pdCh7IG1lc3NhZ2U6IHRoaXMubGFiZWxDb25maWdbJ0NPTU1PTlNfQVNTRVNTTUVOVC5UT0FTVC5FUlJPUl9ERUZBVUxUJ10sIHR5cGU6ICdlcnJvcicgfSk7XHJcbiAgICAgICAgdGhyb3cgeyBlcnJvciwgbWV0aG9kOiAnUEFUQ0gnLCBwYXlsb2FkIH1cclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIGZpbmFsU3VibWl0KCkge1xyXG4gICAgdGhpcy5pc1N1Ym1pdHRpbmcgPSB0cnVlO1xyXG4gICAgY29uc3QgcGF5bG9hZCA9IHtcclxuICAgICAgcXVlc3Rpb25QYXBlcjogdGhpcy5hc3Nlc3NtZW50QnVpbGRlclNlcnZpY2UuZ2VuZXJhdGVRdWVzdGlvblBhcGVyRFRPKHRoaXMuYXNzZXNzbWVudFF1ZXN0aW9uUGFwZXJEYXRhLCB0aGlzLnF1ZXN0aW9uQmFuayksXHJcbiAgICAgIGFzc2Vzc21lbnQ6IHRoaXMuYXNzZXNzbWVudEJ1aWxkZXJTZXJ2aWNlLmdlbmVyYXRlQXNzZXNzbWVudERUTyh0aGlzLmFzc2Vzc21lbnRJZCwgdGhpcy5hc3Nlc3NtZW50UXVlc3Rpb25QYXBlckRhdGEpXHJcbiAgICB9XHJcbiAgICBpZiAoIXRoaXMuYXNzZXNzbWVudElkKSB7XHJcbiAgICAgIC8vIHJldHVybnMgbnVsbCBvciAwIGFzIGFzc2Vzc21lbnQgaXMgbm90IGNyZWF0ZWQgeWV0LiBIYW5kbGUgdGhlIHJlc3BvbnNlIGluIGNvbnN1bWVyIGFwcFxyXG4gICAgICB0aGlzLmFzc2Vzc21lbnRJbnN0YW5jZUlkQ2hhbmdlLmVtaXQodGhpcy5hc3Nlc3NtZW50SW5zdGFuY2VJZCk7XHJcbiAgICAgIHRoaXMuaXNTdWJtaXR0aW5nID0gZmFsc2U7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuYXNzZXNzbWVudE1ha2VyU2VydmljZS5wYXRjaEFzc2Vzc21lbnRBbmRRdWVzdGlvblBhcGVyKHBheWxvYWQpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMudXBkYXRlQXNzZXNzbWVudFF1ZXN0aW9uUGFwZXJEYXRhKHJlcz8ucXVlc3Rpb25QYXBlcik7XHJcbiAgICAgICAgaWYgKCF0aGlzLmFzc2Vzc21lbnRJbnN0YW5jZUlkKSB7XHJcbiAgICAgICAgICB0aGlzLmNyZWF0ZUFzc2Vzc21lbnRJbnN0YW5jZSgpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLmFzc2Vzc21lbnRJbnN0YW5jZUlkQ2hhbmdlLmVtaXQodGhpcy5hc3Nlc3NtZW50SW5zdGFuY2VJZCk7XHJcbiAgICAgICAgICB0aGlzLmlzU3VibWl0dGluZyA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IGVycm9yID0+IHtcclxuICAgICAgICB0aGlzLmlzU3VibWl0dGluZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuc25hY2tiYXJNZXNzYWdlLmVtaXQoeyBtZXNzYWdlOiB0aGlzLmxhYmVsQ29uZmlnWydDT01NT05TX0FTU0VTU01FTlQuVE9BU1QuRVJST1JfREVGQVVMVCddLCB0eXBlOiAnZXJyb3InIH0pO1xyXG4gICAgICAgIHRocm93IHsgZXJyb3IsIG1ldGhvZDogJ1BBVENIJywgcGF5bG9hZCB9XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBjcmVhdGVBc3Nlc3NtZW50SW5zdGFuY2UoKSB7XHJcbiAgICBjb25zdCBwYXlsb2FkID0gdGhpcy5hc3Nlc3NtZW50QnVpbGRlclNlcnZpY2UuZ2VuZXJhdGVBc3Nlc3NtZW50SW5zdGFuY2VEVE8odGhpcy5hc3Nlc3NtZW50SWQpO1xyXG4gICAgdGhpcy5hc3Nlc3NtZW50TWFrZXJTZXJ2aWNlLmNyZWF0ZUFzc2Vzc21lbnRJbnN0YW5jZShwYXlsb2FkKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLmFzc2Vzc21lbnRJbnN0YW5jZUlkID0gcmVzO1xyXG4gICAgICAgIHRoaXMuYXNzZXNzbWVudEluc3RhbmNlSWRDaGFuZ2UuZW1pdChyZXMpO1xyXG4gICAgICAgIHRoaXMuaXNTdWJtaXR0aW5nID0gZmFsc2U7XHJcbiAgICAgICAgLy8gdGhpcy5zbmFja2Jhck1lc3NhZ2UuZW1pdCh7IG1lc3NhZ2U6IHRoaXMubGFiZWxDb25maWdbJ0NPTU1PTlNfQVNTRVNTTUVOVC5UT0FTVC5BU1NFU1NNRU5UX1BVQkxJU0hFRF9TVUNDRVNTJ10sIHR5cGU6ICdzdWNjZXNzJyB9KTtcclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IGVycm9yID0+IHtcclxuICAgICAgICB0aGlzLmlzU3VibWl0dGluZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuc25hY2tiYXJNZXNzYWdlLmVtaXQoeyBtZXNzYWdlOiB0aGlzLmxhYmVsQ29uZmlnWydDT01NT05TX0FTU0VTU01FTlQuVE9BU1QuRVJST1JfREVGQVVMVCddLCB0eXBlOiAnZXJyb3InIH0pO1xyXG4gICAgICAgIHRocm93IHsgZXJyb3IsIG1ldGhvZDogJ1BPU1QnLCBwYXlsb2FkIH1cclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIGRpc2NhcmRDaGFuZ2VzKCkge1xyXG4gICAgaWYgKHRoaXMuYXNzZXNzbWVudElkKSB7XHJcbiAgICAgIHRoaXMuc2hvd0xvYWRlciA9IHRydWU7XHJcbiAgICAgIHRoaXMubG9hZEFzc2Vzc21lbnREYXRhKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAvLyBSZXNldCBmdWxseSB0byBlbXB0eSBpZiBubyBhc3Nlc3NtZW50IGV4aXN0ZWQgeWV0XHJcbiAgICAgIHRoaXMuYXNzZXNzbWVudFF1ZXN0aW9uUGFwZXJEYXRhID0geyBpZDogMCwgcXVlc3Rpb25QYXBlclNlY3Rpb25MaXN0OiBbXSB9O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0UXVlc3Rpb25Gcm9tQmFuayhxdWVzdGlvbklkPzogbnVtYmVyKSB7XHJcbiAgICByZXR1cm4gdGhpcy5xdWVzdGlvbkJhbms/LltxdWVzdGlvbklkIHx8IC0xXTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZUFzc2Vzc21lbnRRdWVzdGlvblBhcGVyRGF0YShuZXdEYXRhOiBhbnkpIHtcclxuICAgIGNvbnN0IGV4cGFuZGVkTGlzdCA9IHRoaXMuYXNzZXNzbWVudFF1ZXN0aW9uUGFwZXJEYXRhPy5xdWVzdGlvblBhcGVyU2VjdGlvbkxpc3RcclxuICAgICAgPy5maWx0ZXIoKHM6IGFueSkgPT4gcy5pc0V4cGFuZGVkKVxyXG4gICAgICA/Lm1hcCgoczogYW55LCBpZHg6IG51bWJlcikgPT4gcy5pZCA/IHMuaWQudG9TdHJpbmcoKSA6IGAke2lkeH1fJHtzLnFwc05hbWU/LlswXT8udGV4dH1gKTtcclxuXHJcbiAgICB0aGlzLmFzc2Vzc21lbnRRdWVzdGlvblBhcGVyRGF0YSA9IG5ld0RhdGEgfHwgeyBpZDogMCwgcXVlc3Rpb25QYXBlclNlY3Rpb25MaXN0OiBbXSB9O1xyXG4gICAgdGhpcy5maWx0ZXJJbmFjdGl2ZVNlY3Rpb25zQW5kUXVlc3Rpb25zKCk7XHJcblxyXG4gICAgaWYgKGV4cGFuZGVkTGlzdD8ubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMuYXNzZXNzbWVudFF1ZXN0aW9uUGFwZXJEYXRhPy5xdWVzdGlvblBhcGVyU2VjdGlvbkxpc3Q/LmZvckVhY2goKHM6IGFueSwgaWR4OiBudW1iZXIpID0+IHtcclxuICAgICAgICBjb25zdCBrZXkgPSBzLmlkID8gcy5pZC50b1N0cmluZygpIDogYCR7aWR4fV8ke3MucXBzTmFtZT8uWzBdPy50ZXh0fWA7XHJcbiAgICAgICAgaWYgKGV4cGFuZGVkTGlzdC5pbmNsdWRlcyhrZXkpKSB7XHJcbiAgICAgICAgICBzLmlzRXhwYW5kZWQgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBmaWx0ZXJJbmFjdGl2ZVNlY3Rpb25zQW5kUXVlc3Rpb25zKCkge1xyXG4gICAgdGhpcy5hc3Nlc3NtZW50UXVlc3Rpb25QYXBlckRhdGEucXVlc3Rpb25QYXBlclNlY3Rpb25MaXN0ID0gdGhpcy5hc3Nlc3NtZW50UXVlc3Rpb25QYXBlckRhdGE/LnF1ZXN0aW9uUGFwZXJTZWN0aW9uTGlzdD8uZmlsdGVyKChzZWN0aW9uOiBhbnkpID0+IHNlY3Rpb24uaXNBY3RpdmUgIT09IGZhbHNlKVxyXG5cclxuICAgIHRoaXMuYXNzZXNzbWVudFF1ZXN0aW9uUGFwZXJEYXRhPy5xdWVzdGlvblBhcGVyU2VjdGlvbkxpc3Q/LmZvckVhY2goKHNlY3Rpb246IGFueSkgPT4ge1xyXG4gICAgICBzZWN0aW9uLnNlY3Rpb25RdWVzdGlvbnNMaXN0ID0gc2VjdGlvbi5zZWN0aW9uUXVlc3Rpb25zTGlzdD8uZmlsdGVyKChxdWVzdGlvbjogYW55KSA9PiBxdWVzdGlvbi5pc0FjdGl2ZSAhPT0gZmFsc2UpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgaWYgKHRoaXMucXVlc3Rpb25CYW5rKSB7XHJcbiAgICAgIE9iamVjdC5rZXlzKHRoaXMucXVlc3Rpb25CYW5rKS5mb3JFYWNoKGtleSA9PiB7XHJcbiAgICAgICAgY29uc3QgcXVlc3Rpb24gPSB0aGlzLnF1ZXN0aW9uQmFua1trZXkgYXMgYW55XTtcclxuICAgICAgICBpZiAocXVlc3Rpb24/LmRlZmF1bHRPcHRpb25zTGlzdCkge1xyXG4gICAgICAgICAgcXVlc3Rpb24uZGVmYXVsdE9wdGlvbnNMaXN0ID0gcXVlc3Rpb24uZGVmYXVsdE9wdGlvbnNMaXN0LmZpbHRlcigob3B0OiBhbnkpID0+IG9wdC5pc0FjdGl2ZSAhPT0gZmFsc2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjYXBpdGFsaXplRmlyc3QodGV4dDogc3RyaW5nIHwgdW5kZWZpbmVkKTogc3RyaW5nIHtcclxuICAgIGlmICghdGV4dCkgcmV0dXJuICcnO1xyXG4gICAgcmV0dXJuIHRleHQudG9Mb3dlckNhc2UoKS5zcGxpdCgnICcpLm1hcCh3b3JkID0+IHdvcmQuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyB3b3JkLnNsaWNlKDEpKS5qb2luKCcgJyk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgKm5nSWY9XCJjb25maWdzTG9hZGVkICYmICFzaG93TG9hZGVyOyBlbHNlIGxvYWRlclwiIGNsYXNzPVwiY29sLTEyIGgtMTAwXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGgtMTAwIHB5LTRcIiBbY2xhc3MuaGVpZ2h0LXdpdGhvdXQtZm9vdGVyXT1cInNob3dGb290ZXJcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXNzZXNzbWVudFF1ZXN0aW9uUGFwZXJEYXRhPy5xdWVzdGlvblBhcGVyU2VjdGlvbkxpc3Q/Lmxlbmd0aFwiPlxyXG4gICAgICAgICAgICA8bWF0LWFjY29yZGlvbiBtdWx0aT1cInRydWVcIiBjZGtEcm9wTGlzdCAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyb3BTZWN0aW9uKCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsIFtoaWRlVG9nZ2xlXT1cInRydWVcIiAjcGFuZWw9XCJtYXRFeHBhbnNpb25QYW5lbFwiIFtleHBhbmRlZF09XCJzZWN0aW9uLmlzRXhwYW5kZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgIChvcGVuZWQpPVwic2VjdGlvbi5pc0V4cGFuZGVkID0gdHJ1ZVwiIChjbG9zZWQpPVwic2VjdGlvbi5pc0V4cGFuZGVkID0gZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWItNCBib3JkZXItMCBvdmVyZmxvdy1oaWRkZW4gYXNzZXNzbWVudC1wYW5lbCBzaGFkb3ctbm9uZVwiIGNka0RyYWdcclxuICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgc2VjdGlvbiBvZiBhc3Nlc3NtZW50UXVlc3Rpb25QYXBlckRhdGE/LnF1ZXN0aW9uUGFwZXJTZWN0aW9uTGlzdCB8IG9yZGVyQnk7IGxldCBzZWN0aW9uSW5kZXggPSBpbmRleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gU2VjdGlvbiBIZWFkZXIgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIGNsYXNzPVwiY29sLTEyIHAtMCBoLWF1dG8gYmctdHJhbnNwYXJlbnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBjb2wtMTIgYWxpZ24taXRlbXMtY2VudGVyIGdhcC1tZC0zIGdhcC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNka0RyYWdIYW5kbGUgW3NyY109XCJpbWFnZUNvbmZpZ1snQ09NTU9OU19BU1NFU1NNRU5ULklDT04uRFJBR19EUk9QJ11cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY3Vyc29yLWdyYWJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChlcnJvcik9XCJpbWFnZUVycm9ySGFuZGxlcigkZXZlbnQsICdhc3NldHMvY29tbW9ucy1hc3Nlc3NtZW50L2ltYWdlcy9kcmFnLWRyb3Auc3ZnJylcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTIgZmxleC1ncm93LTEganVzdGlmeS1jb250ZW50LWJldHdlZW4gcC0zIGFzc2Vzc21lbnQtYm9yZGVyLXJhZGl1cy10d28gYXNzZXNzbWVudC1ib3JkZXItdHdvXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3Mubm8tYm9yZGVyXT1cInNlY3Rpb24uaXNFeHBhbmRlZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG1iLTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIFtpZF09XCInc2VjdGlvbk5hbWVJbnB1dF8nICsgc2VjdGlvbkluZGV4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNvbC1tZC0xMSBjb2wtMTAgYXNzZXNzbWVudC10ZXh0LXNlbWlib2xkLTE4IGJvcmRlci0wIG91dGxpbmUtMCBiZy10cmFuc3BhcmVudCBwLTAgaW5wdXQtZm9jdXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwic2VjdGlvbi5xcHNOYW1lWzBdLnRleHRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnNpemVdPVwiKHNlY3Rpb24ucXBzTmFtZVswXS50ZXh0Py5sZW5ndGggfHwgMSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIiAoa2V5ZG93bik9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgW3NyY109XCJpbWFnZUNvbmZpZ1snQ09NTU9OU19BU1NFU1NNRU5ULklDT04uRURJVCddXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImFjdGlvbi1pY29uIGN1cnNvci1wb2ludGVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZm9jdXNTZWN0aW9uSW5wdXQoc2VjdGlvbkluZGV4LCAkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZXJyb3IpPVwiaW1hZ2VFcnJvckhhbmRsZXIoJGV2ZW50LCAnYXNzZXRzL2NvbW1vbnMtYXNzZXNzbWVudC9pbWFnZXMvcGVuY2lsLnN2ZycpXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwibWItMCBhc3Nlc3NtZW50LXRleHQtbWVkaXVtLTEyIGFzc2Vzc21lbnQtdGV4dC1ncmV5LXNldmVuXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e3NlY3Rpb24/LnNlY3Rpb25RdWVzdGlvbnNMaXN0Py5sZW5ndGggfHwgMH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2xhYmVsQ29uZmlnWydDT01NT05TX0FTU0VTU01FTlQuTEFCRUwuUVVFU1RJT05TJ119fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLW1kLTQgZ2FwLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBbc3JjXT1cImltYWdlQ29uZmlnWydDT01NT05TX0FTU0VTU01FTlQuSUNPTi5BUlJPV19ET1dOX0JMQUNLJ11cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwicGFuZWwuZXhwYW5kZWQgPyAnY2hhbmdlLWRpcmVjdGlvbicgOiAnY2hhbmdlLWRpcmVjdGlvbi1yZXZlcnNlJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZXJyb3IpPVwiaW1hZ2VFcnJvckhhbmRsZXIoJGV2ZW50LCAnYXNzZXRzL2NvbW1vbnMtYXNzZXNzbWVudC9pbWFnZXMvYXJyb3ctZG93bi1ibGFjay5zdmcnKVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIiAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYm9yZGVyLTAgYmctdHJhbnNwYXJlbnQgcHktMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBbc3JjXT1cImltYWdlQ29uZmlnWydDT01NT05TX0FTU0VTU01FTlQuSUNPTi5BQ1RJT05fRE9UUyddXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZXJyb3IpPVwiaW1hZ2VFcnJvckhhbmRsZXIoJGV2ZW50LCAnYXNzZXRzL2NvbW1vbnMtYXNzZXNzbWVudC9pbWFnZXMvYWN0aW9uLWRvdHMuc3ZnJylcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1tZW51ICNtZW51PVwibWF0TWVudVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1hdC1tZW51IGFzc2Vzc21lbnQtYm9yZGVyLXJhZGl1cy10d28gYXNzZXNzbWVudC1ib3JkZXItZ3JleS1mb3VyLTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cImFkZEluc3RydWN0aW9uKHNlY3Rpb24pXCIgbWF0LW1lbnUtaXRlbVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicHktMiBhc3Nlc3NtZW50LXRleHQtc2VtaWJvbGQtMTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2xhYmVsQ29uZmlnWydDT01NT05TX0FTU0VTU01FTlQuTEFCRUwuQUREX0lOU1RSVUNUSU9OUyddfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiZHVwbGljYXRlU2VjdGlvbihzZWN0aW9uLmlkKVwiIG1hdC1tZW51LWl0ZW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInB5LTIgYXNzZXNzbWVudC10ZXh0LXNlbWlib2xkLTEyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tsYWJlbENvbmZpZ1snQ09NTU9OU19BU1NFU1NNRU5ULkxBQkVMLkRVUExJQ0FURSddfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiZGVsZXRlU2VjdGlvbihzZWN0aW9uKVwiIG1hdC1tZW51LWl0ZW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInB5LTIgYXNzZXNzbWVudC10ZXh0LXNlbWlib2xkLTEyIGFzc2Vzc21lbnQtdGV4dC1kYW5nZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2xhYmVsQ29uZmlnWydDT01NT05TX0FTU0VTU01FTlQuTEFCRUwuREVMRVRFJ119fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LW1lbnU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSBRdWVzdGlvbnMgaW5zaWRlIHNlY3Rpb24gLS0+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2RrRHJvcExpc3QgW2Nka0Ryb3BMaXN0RGF0YV09XCJzZWN0aW9uLnNlY3Rpb25RdWVzdGlvbnNMaXN0IHx8IFtdXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJkcm9wUXVlc3Rpb24oJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNka0RyYWcgKm5nRm9yPVwibGV0IHNlY3Rpb25RdWVzdGlvbiBvZiBzZWN0aW9uLnNlY3Rpb25RdWVzdGlvbnNMaXN0IHwgb3JkZXJCeTsgbGV0IGkgPSBpbmRleFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1zdGFydCBnYXAtbWQtMyBnYXAtMiBteS0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNka0RyYWdIYW5kbGUgW3NyY109XCJpbWFnZUNvbmZpZ1snQ09NTU9OU19BU1NFU1NNRU5ULklDT04uRFJBR19EUk9QJ11cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY3Vyc29yLWdyYWIgbXQtNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGVycm9yKT1cImltYWdlRXJyb3JIYW5kbGVyKCRldmVudCwgJ2Fzc2V0cy9jb21tb25zLWFzc2Vzc21lbnQvaW1hZ2VzL2RyYWctZHJvcC5zdmcnKVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1ncm93LTEgcC0zIGFzc2Vzc21lbnQtYm9yZGVyLXR3byBhc3Nlc3NtZW50LWJvcmRlci1yYWRpdXMtdHdvIHF1ZXN0aW9uLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaWItcXVlc3Rpb24tZGV0YWlscyBbc2VjdGlvblF1ZXN0aW9uXT1cInNlY3Rpb25RdWVzdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtxdWVzdGlvbl09XCJnZXRRdWVzdGlvbkZyb21CYW5rKHNlY3Rpb25RdWVzdGlvbi5xdWVzdGlvbklkKSB8fCB7fVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtxdWVzdGlvbkJhbmtdPVwicXVlc3Rpb25CYW5rXCIgW2ltYWdlQ29uZmlnXT1cImltYWdlQ29uZmlnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsQ29uZmlnXT1cImxhYmVsQ29uZmlnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGVkaXRRdWVzdGlvbik9XCJjcmVhdGVFZGl0UXVlc3Rpb24oc2VjdGlvbiwgJGV2ZW50Py5xdWVzdGlvbklkLCAkZXZlbnQ/LmlzQ2hpbGRRdWVzdGlvbilcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZHVwbGljYXRlUXVlc3Rpb24pPVwiZHVwbGljYXRlUXVlc3Rpb24oc2VjdGlvbiwgJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChkZWxldGVQYXJlbnRRdWVzdGlvbik9XCJkZWxldGVQYXJlbnRRdWVzdGlvbigkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGRlbGV0ZUNoaWxkUXVlc3Rpb24pPVwiZGVsZXRlQ2hpbGRRdWVzdGlvbigkZXZlbnQub3B0aW9uLCAkZXZlbnQuY2hpbGRRdWVzdGlvbklkKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGliLXF1ZXN0aW9uLWRldGFpbHM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgcHMtNCBib3JkZXItYm90dG9tIHBiLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiY3JlYXRlRWRpdFF1ZXN0aW9uKHNlY3Rpb24pXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYXNzZXNzbWVudC16b29tLWFuaW1hdGlvbiBhc3Nlc3NtZW50LWJ1dHRvbi1wYWRkaW5nIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciBnYXAtMyBhc3Nlc3NtZW50LXRleHQtcHJpbWFyeS1vbmUgYXNzZXNzbWVudC1iZy1wYWxldHRlLUVERjNGRCBhc3Nlc3NtZW50LXRleHQtc2VtaWJvbGQtMTIgb3V0bGluZS0wIGFzc2Vzc21lbnQtYm9yZGVyLXJhZGl1cy10d28gbXQtMyBib3JkZXItQURDOUY2XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIFtzcmNdPVwiaW1hZ2VDb25maWdbJ0NPTU1PTlNfQVNTRVNTTUVOVC5JQ09OLlBMVVNfUFJJTUFSWSddXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZXJyb3IpPVwiaW1hZ2VFcnJvckhhbmRsZXIoJGV2ZW50LCAnYXNzZXRzL2NvbW1vbnMtYXNzZXNzbWVudC9pbWFnZXMvcGx1cy1wcmltYXJ5LnN2ZycpXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7bGFiZWxDb25maWdbJ0NPTU1PTlNfQVNTRVNTTUVOVC5MQUJFTC5BRERfQV9RVUVTVElPTiddfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L21hdC1leHBhbnNpb24tcGFuZWw+XHJcbiAgICAgICAgICAgIDwvbWF0LWFjY29yZGlvbj5cclxuICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiY3JlYXRlRWRpdFF1ZXN0aW9uKClcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJhc3Nlc3NtZW50LXpvb20tYW5pbWF0aW9uIGFzc2Vzc21lbnQtYnV0dG9uLXBhZGRpbmcgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGdhcC0zIGFzc2Vzc21lbnQtdGV4dC1wcmltYXJ5LW9uZSBhc3Nlc3NtZW50LWJnLXBhbGV0dGUtRURGM0ZEIGFzc2Vzc21lbnQtdGV4dC1zZW1pYm9sZC0xMiBvdXRsaW5lLTAgYXNzZXNzbWVudC1ib3JkZXItcmFkaXVzLXR3byBtdC0zIGJvcmRlci1BREM5RjYgbXMtNFwiPlxyXG4gICAgICAgICAgICAgICAgPGltZyBbc3JjXT1cImltYWdlQ29uZmlnWydDT01NT05TX0FTU0VTU01FTlQuSUNPTi5BRERfU0VDVElPTiddXCJcclxuICAgICAgICAgICAgICAgICAgICAoZXJyb3IpPVwiaW1hZ2VFcnJvckhhbmRsZXIoJGV2ZW50LCAnYXNzZXRzL2NvbW1vbnMtYXNzZXNzbWVudC9pbWFnZXMvYWRkLXNlY3Rpb24uc3ZnJylcIiAvPlxyXG4gICAgICAgICAgICAgICAge3tsYWJlbENvbmZpZ1snQ09NTU9OU19BU1NFU1NNRU5ULkxBQkVMLkFERF9BX1NFQ1RJT04nXX19XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCIhYXNzZXNzbWVudFF1ZXN0aW9uUGFwZXJEYXRhPy5xdWVzdGlvblBhcGVyU2VjdGlvbkxpc3Q/Lmxlbmd0aFwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiaC0xMDAgZC1mbGV4IGZsZXgtY29sdW1uIGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGdhcC0zXCI+XHJcbiAgICAgICAgICAgIDxpbWcgW3NyY109XCJpbWFnZUNvbmZpZ1snQ09NTU9OU19BU1NFU1NNRU5ULklDT04uTk9fUVVFU1RJT05TJ11cIiBjbGFzcz1cImNvbC1zbS1hdXRvIGNvbC02XCJcclxuICAgICAgICAgICAgICAgIChlcnJvcik9XCJpbWFnZUVycm9ySGFuZGxlcigkZXZlbnQsICdhc3NldHMvY29tbW9ucy1hc3Nlc3NtZW50L2ltYWdlcy9uby1xdWVzdGlvbnMuc3ZnJylcIiAvPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwibWItMSBhc3Nlc3NtZW50LXRleHQtbWVkaXVtLTE4XCI+e3tsYWJlbENvbmZpZ1snQ09NTU9OU19BU1NFU1NNRU5ULkxBQkVMLkFERF9DVVNUT01fUVVFU1RJT05TJ119fTwvcD5cclxuICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwibWItMCBhc3Nlc3NtZW50LXRleHQtbWVkaXVtLTEyIGFzc2Vzc21lbnQtdGV4dC1ncmV5LXNldmVuXCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3tsYWJlbENvbmZpZ1snQ09NTU9OU19BU1NFU1NNRU5ULkxBQkVMLkFERF9RVUVTVElPTl9ERVNDJ119fTwvcD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cImNyZWF0ZUVkaXRRdWVzdGlvbigpXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYXNzZXNzbWVudC1idXR0b24tcGFkZGluZyBhc3Nlc3NtZW50LWJvcmRlci1yYWRpdXMtdHdvIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTIgYXNzZXNzbWVudC1iZy1wYWxldHRlLUVERjNGRCBhc3Nlc3NtZW50LXRleHQtcHJpbWFyeS1vbmUgYXNzZXNzbWVudC10ZXh0LXNlbWlib2xkLTEyIGJvcmRlci0wIGFzc2Vzc21lbnQtem9vbS1hbmltYXRpb25cIj5cclxuICAgICAgICAgICAgICAgIDxpbWcgW3NyY109XCJpbWFnZUNvbmZpZ1snQ09NTU9OU19BU1NFU1NNRU5ULklDT04uUExVU19QUklNQVJZJ11cIlxyXG4gICAgICAgICAgICAgICAgICAgIChlcnJvcik9XCJpbWFnZUVycm9ySGFuZGxlcigkZXZlbnQsICdhc3NldHMvY29tbW9ucy1hc3Nlc3NtZW50L2ltYWdlcy9wbHVzLXByaW1hcnkuc3ZnJylcIiAvPlxyXG4gICAgICAgICAgICAgICAge3tsYWJlbENvbmZpZ1snQ09NTU9OU19BU1NFU1NNRU5ULkxBQkVMLkFERF9BX1FVRVNUSU9OJ119fVxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiAqbmdJZj1cInNob3dGb290ZXJcIlxyXG4gICAgICAgIGNsYXNzPVwiYmctd2hpdGUgcC0zIHBvc2l0aW9uLXN0aWNreSBib3R0b20tMCBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1lbmQgYm9yZGVyLXRvcCBnYXAtM1wiPlxyXG4gICAgICAgIDxidXR0b24gKGNsaWNrKT1cImRpc2NhcmRDaGFuZ2VzKClcIiBbZGlzYWJsZWRdPVwiaXNTdWJtaXR0aW5nXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJhc3Nlc3NtZW50LXpvb20tYW5pbWF0aW9uIGFzc2Vzc21lbnQtYm9yZGVyLXJhZGl1cy10d28gYXNzZXNzbWVudC1idXR0b24tcGFkZGluZy1sYXJnZSBhc3Nlc3NtZW50LWJ0bi1wcmltYXJ5LXRyYW5zcGFyZW50IGFzc2Vzc21lbnQtdGV4dC1zZW1pYm9sZC0xM1wiPnt7bGFiZWxDb25maWdbJ0NPTU1PTlNfQVNTRVNTTUVOVC5MQUJFTC5ESVNDQVJEJ119fTwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b24gKGNsaWNrKT1cImZpbmFsU3VibWl0KClcIiBbZGlzYWJsZWRdPVwiaXNTdWJtaXR0aW5nXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJhc3Nlc3NtZW50LXpvb20tYW5pbWF0aW9uIGFzc2Vzc21lbnQtYm9yZGVyLXJhZGl1cy10d28gYXNzZXNzbWVudC1idXR0b24tcGFkZGluZy1sYXJnZSBhc3Nlc3NtZW50LWJ0bi1wcmltYXJ5IGFzc2Vzc21lbnQtdGV4dC1zZW1pYm9sZC0xMyBwb3NpdGlvbi1yZWxhdGl2ZVwiPlxyXG4gICAgICAgICAgICA8c3BhbiBbbmdDbGFzc109XCJ7J29wYWNpdHktMCc6IGlzU3VibWl0dGluZ31cIj5cclxuICAgICAgICAgICAgICAgIHt7bGFiZWxDb25maWdbJ0NPTU1PTlNfQVNTRVNTTUVOVC5MQUJFTC5QVUJMSVNIJ119fVxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDxtYXQtc3Bpbm5lciAqbmdJZj1cImlzU3VibWl0dGluZ1wiIFtkaWFtZXRlcl09XCIyMFwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInBvc2l0aW9uLWFic29sdXRlIHRvcC01MCBzdGFydC01MCB0cmFuc2xhdGUtbWlkZGxlIGFzc2Vzc21lbnQtc3Bpbm5lci13aGl0ZVwiPjwvbWF0LXNwaW5uZXI+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcbjxuZy10ZW1wbGF0ZSAjbG9hZGVyPlxyXG4gICAgPGRpdiBjbGFzcz1cImgtMTAwIGNvbC0xMiBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXIgcHktNVwiPlxyXG4gICAgICAgIDxtYXQtc3Bpbm5lciBkaWFtZXRlcj1cIjYwXCIgY2xhc3M9XCJhc3Nlc3NtZW50LXNwaW5uZXItcHJpbWFyeVwiPjwvbWF0LXNwaW5uZXI+XHJcbiAgICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT4iXX0=
409
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXNzbWVudC1tYWtlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21tb25zLWFzc2Vzc21lbnQvc3JjL2xpYi9tb2R1bGVzL2Fzc2Vzc21lbnQtbWFrZXIvYXNzZXNzbWVudC1tYWtlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21tb25zLWFzc2Vzc21lbnQvc3JjL2xpYi9tb2R1bGVzL2Fzc2Vzc21lbnQtbWFrZXIvYXNzZXNzbWVudC1tYWtlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEMsT0FBTyxFQUFlLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXRFLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLG9GQUFvRixDQUFDO0FBQ3pJLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDOzs7Ozs7Ozs7Ozs7O0FBYTFHLE1BQU0sT0FBTyx3QkFBd0I7SUFxQm5DLFlBQ1Usc0JBQThDLEVBQzlDLHdCQUFrRCxFQUNsRCxNQUFpQjtRQUZqQiwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBQzlDLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7UUFDbEQsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQXZCbEIsZ0JBQVcsR0FBOEIsRUFBRSxDQUFDO1FBQzVDLGdCQUFXLEdBQThCLEVBQUUsQ0FBQztRQUM1QyxrQkFBYSxHQUFtQixFQUFFLENBQUM7UUFDbkMsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUU1QixpQkFBWSxHQUFXLENBQUMsQ0FBQztRQUN6Qix5QkFBb0IsR0FBVyxDQUFD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QUF3QjtrQkFOcEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxXQUFXLEVBQUUsbUNBQW1DO29CQUNoRCxTQUFTLEVBQUUsQ0FBQyxtQ0FBbUMsQ0FBQztpQkFDakQ7NEtBR1UsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQUNHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFFSSxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBQ0csMEJBQTBCO3NCQUFuQyxNQUFNO2dCQUNHLGVBQWU7c0JBQXhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGZvcmtKb2luIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IENka0RyYWdEcm9wLCBtb3ZlSXRlbUluQXJyYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgQWRkRWRpdFNlY3Rpb25JbnRyb2R1Y3Rpb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYWRkLWVkaXQtc2VjdGlvbi1pbnRyb2R1Y3Rpb24vYWRkLWVkaXQtc2VjdGlvbi1pbnRyb2R1Y3Rpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQXNzZXNzbWVudEJ1aWxkZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYXNzZXNzbWVudC1idWlsZGVyL2Fzc2Vzc21lbnQtYnVpbGRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBRdWVzdGlvblR5cGUsIEFzc2Vzc21lbnQgfSBmcm9tICcuLi8uLi9zaGFyZWQvaW50ZXJmYWNlcy9hc3Nlc3NtZW50LmludGVyZmFjZSc7XHJcbmltcG9ydCB7IEFzc2Vzc21lbnRRdWVzdGlvblBhcGVyLCBTZWN0aW9uUXVlc3Rpb24sIFF1ZXN0aW9uUGFwZXJTZWN0aW9uIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2ludGVyZmFjZXMvcXVlc3Rpb24tcGFwZXIuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgQXNzZXNzbWVudFF1ZXN0aW9uIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2ludGVyZmFjZXMvcXVlc3Rpb24uaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgQXNzZXNzbWVudEJ1aWxkZXJTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9hc3Nlc3NtZW50LWJ1aWxkZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IEFzc2Vzc21lbnRNYWtlclNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2Fzc2Vzc21lbnQtbWFrZXIuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1hc3Nlc3NtZW50LW1ha2VyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYXNzZXNzbWVudC1tYWtlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYXNzZXNzbWVudC1tYWtlci5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgQXNzZXNzbWVudE1ha2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBsYWJlbENvbmZpZzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xyXG4gIEBJbnB1dCgpIGltYWdlQ29uZmlnOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge307XHJcbiAgQElucHV0KCkgcXVlc3Rpb25UeXBlczogUXVlc3Rpb25UeXBlW10gPSBbXTtcclxuICBASW5wdXQoKSBzaG93Rm9vdGVyOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgY3VzdG9tUnVsZXM/OiBhbnk7XHJcbiAgQElucHV0KCkgYXNzZXNzbWVudElkOiBudW1iZXIgPSAwO1xyXG4gIEBJbnB1dCgpIGFzc2Vzc21lbnRJbnN0YW5jZUlkOiBudW1iZXIgPSAwO1xyXG4gIEBJbnB1dCgpIGRlZmF1bHRBc3Nlc3NtZW50RFRPOiBBc3Nlc3NtZW50ID0ge307XHJcblxyXG4gIEBPdXRwdXQoKSBhc3Nlc3NtZW50SWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuICBAT3V0cHV0KCkgYXNzZXNzbWVudEluc3RhbmNlSWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuICBAT3V0cHV0KCkgc25hY2tiYXJNZXNzYWdlID0gbmV3IEV2ZW50RW1pdHRlcjx7IG1lc3NhZ2U6IHN0cmluZywgdHlwZTogJ3N1Y2Nlc3MnIHwgJ2Vycm9yJyB8ICdpbmZvJyB9PigpO1xyXG5cclxuICBzaG93TG9hZGVyOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcXVlc3Rpb25CYW5rOiBSZWNvcmQ8bnVtYmVyLCBBc3Nlc3NtZW50UXVlc3Rpb24+ID0ge307XHJcbiAgYXNzZXNzbWVudFF1ZXN0aW9uUGFwZXJEYXRhOiBBc3Nlc3NtZW50UXVlc3Rpb25QYXBlciA9IHsgaWQ6IDAsIHF1ZXN0aW9uUGFwZXJTZWN0aW9uTGlzdDogW10gfTtcclxuICBjb25maWdzTG9hZGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcnVsZXM6IGFueTtcclxuICBpc1N1Ym1pdHRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGFzc2Vzc21lbnRNYWtlclNlcnZpY2U6IEFzc2Vzc21lbnRNYWtlclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGFzc2Vzc21lbnRCdWlsZGVyU2VydmljZTogQXNzZXNzbWVudEJ1aWxkZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBkaWFsb2c6IE1hdERpYWxvZ1xyXG4gICkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5hc3Nlc3NtZW50QnVpbGRlclNlcnZpY2Uuc2V0RGVmYXVsdEFzc2Vzc21lbnREVE8odGhpcy5kZWZhdWx0QXNzZXNzbWVudERUTyk7XHJcbiAgICB0aGlzLmdldENvbmZpZ3NGcm9tSlNPTigpO1xyXG5cclxuICAgIGlmICh0aGlzLmFzc2Vzc21lbnRJZCkge1xyXG4gICAgICB0aGlzLnNob3dMb2FkZXIgPSB0cnVlO1xyXG4gICAgICB0aGlzLmxvYWRBc3Nlc3NtZW50RGF0YSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0Q29uZmlnc0Zyb21KU09OKCkge1xyXG4gICAgZm9ya0pvaW4oe1xyXG4gICAgICBsYWJlbENvbmZpZzogdGhpcy5hc3Nlc3NtZW50TWFrZXJTZXJ2aWNlLmdldENvbmZpZ0pTT04oJ2pzb24vbGFiZWxDb25maWcnKSxcclxuICAgICAgaW1hZ2VDb25maWc6IHRoaXMuYXNzZXNzbWVudE1ha2VyU2VydmljZS5nZXRDb25maWdKU09OKCdqc29uL2ltYWdlQ29uZmlnJyksXHJcbiAgICAgIHJ1bGVzOiB0aGlzLmFzc2Vzc21lbnRNYWtlclNlcnZpY2UuZ2V0Q29uZmlnSlNPTignanNvbi9xdWVzdGlvbi1idWlsZGVyLXJ1bGVzJyksXHJcbiAgICAgIC4uLighdGhpcy5xdWVzdGlvblR5cGVzPy5sZW5ndGggJiYge1xyXG4gICAgICAgIHF1ZXN0aW9uVHlwZXM6IHRoaXMuYXNzZXNzbWVudE1ha2VyU2VydmljZS5nZXRDb25maWdKU09OKCdqc29uL3F1ZXN0aW9uVHlwZXMnKVxyXG4gICAgICB9KVxyXG4gICAgfSkuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xyXG4gICAgICB0aGlzLmxhYmVsQ29uZmlnID0gT2JqZWN0LmFzc2lnbih7fSwgcmVzPy5sYWJlbENvbmZpZywgdGhpcy5sYWJlbENvbmZpZyk7XHJcbiAgICAgIHRoaXMuaW1hZ2VDb25maWcgPSBPYmplY3QuYXNzaWduKHt9LCByZXM/LmltYWdlQ29uZmlnLCB0aGlzLmltYWdlQ29uZmlnKTtcclxuICAgICAgaWYgKHJlcz8ucXVlc3Rpb25UeXBlcykge1xyXG4gICAgICAgIHRoaXMucXVlc3Rpb25UeXBlcyA9IHJlcz8ucXVlc3Rpb25UeXBlcztcclxuICAgICAgfVxyXG4gICAgICAvLyBNZXJnZSBjdXN0b21SdWxlcyBwZXIgcXVlc3Rpb25UeXBlIG92ZXIgZGVmYXVsdCBydWxlc1xyXG4gICAgICB0aGlzLnJ1bGVzID0geyAuLi5yZXM/LnJ1bGVzIH07XHJcbiAgICAgIGlmICh0aGlzLmN1c3RvbVJ1bGVzKSB7XHJcbiAgICAgICAgT2JqZWN0LmtleXModGhpcy5jdXN0b21SdWxlcykuZm9yRWFjaChxVHlwZSA9PiB7XHJcbiAgICAgICAgICBpZiAoIXRoaXMucnVsZXNbcVR5cGVdKSB7XHJcbiAgICAgICAgICAgIHRoaXMucnVsZXNbcVR5cGVdID0geyAuLi50aGlzLmN1c3RvbVJ1bGVzW3FUeXBlXSB9O1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5ydWxlc1txVHlwZV0gPSB7IC4uLnRoaXMucnVsZXNbcVR5cGVdLCAuLi50aGlzLmN1c3RvbVJ1bGVzW3FUeXBlXSB9O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLmNvbmZpZ3NMb2FkZWQgPSB0cnVlO1xyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIGxvYWRBc3Nlc3NtZW50RGF0YSgpIHtcclxuICAgIHRoaXMuYXNzZXNzbWVudE1ha2VyU2VydmljZS5nZXRBc3Nlc3NtZW50Q29udGV4dCh0aGlzLmFzc2Vzc21lbnRJZCkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5xdWVzdGlvbkJhbmsgPSB7XHJcbiAgICAgICAgICAuLi50aGlzLnF1ZXN0aW9uQmFuayxcclxuICAgICAgICAgIC4uLihyZXM/LnF1ZXN0aW9uRFRPTWFwIHx8IHt9KVxyXG4gICAgICAgIH07XHJcbiAgICAgICAgdGhpcy51cGRhdGVBc3Nlc3NtZW50UXVlc3Rpb25QYXBlckRhdGEocmVzPy5hc3Nlc3NtZW50UXVlc3Rpb25QYXBlckRUTyk7XHJcbiAgICAgICAgdGhpcy5zaG93TG9hZGVyID0gZmFsc2U7XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZXJyb3I6IGFueSkgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xyXG4gICAgICAgIHRoaXMuc25hY2tiYXJNZXNzYWdlLmVtaXQoeyBtZXNzYWdlOiB0aGlzLmxhYmVsQ29uZmlnWydDT01NT05TX0FTU0VTU01FTlQuVE9BU1QuRVJST1JfREVGQVVMVCddLCB0eXBlOiAnZXJyb3InIH0pO1xyXG4gICAgICAgIHRocm93IHsgZXJyb3IsIG1ldGhvZDogJ0dFVCcsIHBheWxvYWQ6IHRoaXMuYXNzZXNzbWVudElkIH1cclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIGdlbmVyYXRlUXVlc3Rpb25CYW5rKCkge1xyXG4gICAgbGV0IGNoaWxkUXVlc3Rpb25JZHM6IG51bWJlcltdID0gW107XHJcblxyXG4gICAgdGhpcy5hc3Nlc3NtZW50UXVlc3Rpb25QYXBlckRhdGE/LnF1ZXN0aW9uUGFwZXJTZWN0aW9uTGlzdD8uZm9yRWFjaCgoc2VjdGlvbjogYW55KSA9PiB7XHJcbiAgICAgIHNlY3Rpb24/LnNlY3Rpb25RdWVzdGlvbnNMaXN0Py5mb3JFYWNoKChxOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAodGhpcy5xdWVzdGlvbkJhbms/LltxPy5xdWVzdGlvbklkXT8uZGVmYXVsdE9wdGlvbnNMaXN0Py5sZW5ndGgpIHtcclxuICAgICAgICAgIHRoaXMucXVlc3Rpb25CYW5rPy5bcT8ucXVlc3Rpb25JZF0/LmRlZmF1bHRPcHRpb25zTGlzdD8uZm9yRWFjaCgob3B0aW9uOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgaWYgKG9wdGlvbj8uY2hpbGRRdWVzdGlvbkxpc3Q/Lmxlbmd0aCkge1xyXG4gICAgICAgICAgICAgIG9wdGlvbj8uY2hpbGRRdWVzdGlvbkxpc3Q/LmZvckVhY2goKGNjcTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjaGlsZFF1ZXN0aW9uSWRzLnB1c2goY2NxKTtcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG5cclxuICAgIC8vIFJlbW92ZSBkdXBsaWNhdGVzIGFuZCBmaWx0ZXIgb3V0IG9uZXMgd2UgYWxyZWFkeSBoYXZlIGluIHRoZSBiYW5rXHJcbiAgICBjaGlsZFF1ZXN0aW9uSWRzID0gWy4uLm5ldyBTZXQoY2hpbGRRdWVzdGlvbklkcyldLmZpbHRlcihpZCA9PiAhdGhpcy5xdWVzdGlvbkJhbmtbaWRdKTtcclxuXHJcbiAgICBpZiAoY2hpbGRRdWVzdGlvbklkcz8ubGVuZ3RoID4gMCkge1xyXG4gICAgICBjb25zdCBwYXJhbXMgPSB7IHF1ZXN0aW9uSWRzOiBjaGlsZFF1ZXN0aW9uSWRzIH07XHJcbiAgICAgIHRoaXMuYXNzZXNzbWVudE1ha2VyU2VydmljZS5nZXRRdWVzdGlvbnNCeUlkcyhwYXJhbXMpLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICByZXM/LmZvckVhY2goKHF1ZXN0aW9uOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5xdWVzdGlvbkJhbmtbcXVlc3Rpb24uaWRdID0gcXVlc3Rpb247XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOiAoZXJyb3I6IGFueSkgPT4ge1xyXG4gICAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XHJcbiAgICAgICAgICB0aHJvdyB7IGVycm9yLCBtZXRob2Q6ICdHRVQnLCBwYXlsb2FkOiBwYXJhbXMgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGltYWdlRXJyb3JIYW5kbGVyKGV2ZW50OiBhbnksIGZpbGVQYXRoOiBzdHJpbmcpIHtcclxuICAgIGV2ZW50LnRhcmdldC5zcmMgPSBmaWxlUGF0aDtcclxuICB9XHJcblxyXG4gIGZvY3VzU2VjdGlvbklucHV0KHNlY3Rpb25JbmRleDogbnVtYmVyLCBldmVudDogRXZlbnQpIHtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgY29uc3QgaW5wdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChgc2VjdGlvbk5hbWVJbnB1dF8ke3NlY3Rpb25JbmRleH1gKSBhcyBIVE1MSW5wdXRFbGVtZW50O1xyXG4gICAgaWYgKGlucHV0KSB7XHJcbiAgICAgIGlucHV0LmZvY3VzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBkcm9wU2VjdGlvbihldmVudDogQ2RrRHJhZ0Ryb3A8YW55W10+KSB7XHJcbiAgICBpZiAodGhpcy5hc3Nlc3NtZW50UXVlc3Rpb25QYXBlckRhdGEucXVlc3Rpb25QYXBlclNlY3Rpb25MaXN0KSB7XHJcbiAgICAgIG1vdmVJdGVtSW5BcnJheShcclxuICAgICAgICB0aGlzLmFzc2Vzc21lbnRRdWVzdGlvblBhcGVyRGF0YS5xdWVzdGlvblBhcGVyU2VjdGlvbkxpc3QsXHJcbiAgICAgICAgZXZlbnQucHJldmlvdXNJbmRleCxcclxuICAgICAgICBldmVudC5jdXJyZW50SW5kZXhcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGRyb3BRdWVzdGlvbihldmVudDogQ2RrRHJhZ0Ryb3A8YW55W10+KSB7XHJcbiAgICBtb3ZlSXRlbUluQXJyYXkoXHJcbiAgICAgIGV2ZW50LmNvbnRhaW5lci5kYXRhLFxyXG4gICAgICBldmVudC5wcmV2aW91c0luZGV4LFxyXG4gICAgICBldmVudC5jdXJyZW50SW5kZXhcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBhZGRJbnN0cnVjdGlvbihzZWN0aW9uOiBhbnkpIHtcclxuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oQWRkRWRpdFNlY3Rpb25JbnRyb2R1Y3Rpb25Db21wb25lbnQsIHtcclxuICAgICAgYXV0b0ZvY3VzOiBmYWxzZSxcclxuICAgICAgbWF4V2lkdGg6ICc5NSUnLFxyXG4gICAgICB3aWR0aDogJzQwcmVtJyxcclxuICAgICAgbWF4SGVpZ2h0OiAnMTAwZHZoJyxcclxuICAgICAgcGFuZWxDbGFzczogWydhc3Nlc3NtZW50LWRpYWxvZyddLFxyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgaW1hZ2VDb25maWc6IHRoaXMuaW1hZ2VDb25maWcsXHJcbiAgICAgICAgbGFiZWxDb25maWc6IHRoaXMubGFiZWxDb25maWcsXHJcbiAgICAgICAgc2VjdGlvbkRldGFpbHM6IHNlY3Rpb25cclxuICAgICAgfSxcclxuICAgIH0pO1xyXG5cclxuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcbiAgICAgIGlmIChyZXN1bHQ/LnVwZGF0ZSkge1xyXG4gICAgICAgIGlmICghc2VjdGlvbi5xcHNEZXNjKSBzZWN0aW9uLnFwc0Rlc2MgPSBbXTtcclxuICAgICAgICBpZiAoIXNlY3Rpb24ucXBzRGVzY1swXSkgc2VjdGlvbi5xcHNEZXNjWzBdID0geyBpZDogMCwgbGFuZ3VhZ2U6IHsgY29kZTogJ0VORycgfSwgdGV4dDogJycgfTtcclxuICAgICAgICBzZWN0aW9uLnFwc0Rlc2NbMF0udGV4dCA9IHJlc3VsdD8uZGVzY3JpcHRpb247XHJcbiAgICAgICAgc2VjdGlvbi5tZWRpYVVybCA9IHJlc3VsdD8ubWVkaWFVcmwgfHwgbnVsbDtcclxuICAgICAgICB0aGlzLnBhdGNoQXNzZXNzbWVudEFuZFF1ZXN0aW9uUGFwZXIodGhpcy5sYWJlbENvbmZpZ1snQ09NTU9OU19BU1NFU1NNRU5ULlRPQVNULlNFQ1RJT05fSU5TVFJVQ1RJT05TX1VQREFURURfU1VDQ0VTUyddKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBkZWxldGVDaGlsZFF1ZXN0aW9uKG9wdGlvbjogYW55LCBjaGlsZElkVG9SZW1vdmU6IG51bWJlciB8IGFueSkge1xyXG4gICAgaWYgKG9wdGlvbi5jaGlsZFF1ZXN0aW9uTGlzdCkge1xyXG4gICAgICBjb25zdCBpZFRvUmVtb3ZlID0gdHlwZW9mIGNoaWxkSWRUb1JlbW92ZSA9PT0gJ29iamVjdCcgPyBjaGlsZElkVG9SZW1vdmU/LmlkIDogY2hpbGRJZFRvUmVtb3ZlO1xyXG4gICAgICBvcHRpb24uY2hpbGRRdWVzdGlvbkxpc3QgPSBvcHRpb24uY2hpbGRRdWVzdGlvbkxpc3QuZmlsdGVyKChjY3E6IGFueSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGlkID0gdHlwZW9mIGNjcSA9PT0gJ29iamVjdCcgPyBjY3E/LmlkIDogY2NxO1xyXG4gICAgICAgIHJldHVybiBpZCAhPT0gaWRUb1JlbW92ZTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBkZWxldGVQYXJlbnRRdWVzdGlvbihzZWN0aW9uUXVlc3Rpb246IFNlY3Rpb25RdWVzdGlvbikge1xyXG4gICAgc2VjdGlvblF1ZXN0aW9uLmlzQWN0aXZlID0gZmFsc2U7XHJcbiAgICB0aGlzLnBhdGNoQXNzZXNzbWVudEFuZFF1ZXN0aW9uUGFwZXIodGhpcy5sYWJlbENvbmZpZ1snQ09NTU9OU19BU1NFU1NNRU5ULlRPQVNULlFVRVNUSU9OX0RFTEVURURfU1VDQ0VTUyddKTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZVNlY3Rpb24oc2VjdGlvbjogUXVlc3Rpb25QYXBlclNlY3Rpb24pIHtcclxuICAgIHNlY3Rpb24uaXNBY3RpdmUgPSBmYWxzZTtcclxuICAgIHRoaXMucGF0Y2hBc3Nlc3NtZW50QW5kUXVlc3Rpb25QYXBlcih0aGlzLmxhYmVsQ29uZmlnWydDT01NT05TX0FTU0VTU01FTlQuVE9BU1QuU0VDVElPTl9ERUxFVEVEX1NVQ0NFU1MnXSk7XHJcbiAgfVxyXG5cclxuICBjcmVhdGVFZGl0UXVlc3Rpb24oc2VjdGlvbkRldGFpbHM/OiBhbnksIHNlY3Rpb25RdWVzdGlvbklkPzogbnVtYmVyLCBpc0NoaWxkPzogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgY29uc3QgcXVlc3Rpb25EZXRhaWxzID0gdGhpcy5nZXRRdWVzdGlvbkZyb21CYW5rKHNlY3Rpb25RdWVzdGlvbklkKTtcclxuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oQXNzZXNzbWVudEJ1aWxkZXJDb21wb25lbnQsIHtcclxuICAgICAgYXV0b0ZvY3VzOiBmYWxzZSxcclxuICAgICAgcG9zaXRpb246IHsgcmlnaHQ6ICcwJyB9LFxyXG4gICAgICBtYXhXaWR0aDogJzEwMCUnLFxyXG4gICAgICB3aWR0aDogJzU1cmVtJyxcclxuICAgICAgaGVpZ2h0OiAnMTAwdmgnLFxyXG4gICAgICBwYW5lbENsYXNzOiBbJ2Fzc2Vzc21lbnQtZGlhbG9nJywgJ2Fzc2Vzc21lbnQtZGlhbG9nLXNsaWRlci1hbmltYXRpb24nXSxcclxuICAgICAgaGFzQmFja2Ryb3A6IHRydWUsXHJcbiAgICAgIGRhdGE6IHtcclxuICAgICAgICBsYWJlbENvbmZpZzogdGhpcy5sYWJlbENvbmZpZyxcclxuICAgICAgICBpbWFnZUNvbmZpZzogdGhpcy5pbWFnZUNvbmZpZyxcclxuICAgICAgICBxdWVzdGlvblR5cGVzOiB0aGlzLnF1ZXN0aW9uVHlwZXMsXHJcbiAgICAgICAgcnVsZXM6IHRoaXMucnVsZXMsXHJcbiAgICAgICAgcXVlc3Rpb25CYW5rOiB0aGlzLnF1ZXN0aW9uQmFuayxcclxuICAgICAgICBpc0NoaWxkOiBpc0NoaWxkLFxyXG4gICAgICAgIHF1ZXN0aW9uRGV0YWlscyxcclxuICAgICAgICBzZWN0aW9uRGV0YWlscyxcclxuICAgICAgICBhc3Nlc3NtZW50UXVlc3Rpb25QYXBlckRhdGE6IHRoaXMuYXNzZXNzbWVudFF1ZXN0aW9uUGFwZXJEYXRhLFxyXG4gICAgICAgIGFzc2Vzc21lbnRJZDogdGhpcy5hc3Nlc3NtZW50SWQsXHJcbiAgICAgICAgc25hY2tiYXJNZXNzYWdlRW1pdHRlcjogdGhpcy5zbmFja2Jhck1lc3NhZ2VcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG5cclxuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcclxuICAgICAgaWYgKHJlcz8uc3VjY2Vzcykge1xyXG4gICAgICAgIGlmIChyZXM/LmFzc2Vzc21lbnRJZCkge1xyXG4gICAgICAgICAgaWYgKCF0aGlzLmFzc2Vzc21lbnRJZCkge1xyXG4gICAgICAgICAgICB0aGlzLmFzc2Vzc21lbnRJZCA9IHJlcy5hc3Nlc3NtZW50SWQ7XHJcbiAgICAgICAgICAgIHRoaXMuYXNzZXNzbWVudElkQ2hhbmdlLmVtaXQodGhpcy5hc3Nlc3NtZW50SWQpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5xdWVzdGlvbkJhbmsgPSB7XHJcbiAgICAgICAgICAgIC4uLnRoaXMucXVlc3Rpb25CYW5rLFxyXG4gICAgICAgICAgICAuLi4ocmVzPy5xdWVzdGlvbk1hcCB8fCB7fSlcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgICB0aGlzLnVwZGF0ZUFzc2Vzc21lbnRRdWVzdGlvblBhcGVyRGF0YShyZXMucXVlc3Rpb25QYXBlcik7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMucGF0Y2hBc3Nlc3NtZW50QW5kUXVlc3Rpb25QYXBlcigpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBkdXBsaWNhdGVTZWN0aW9uKHNlY3Rpb25JZDogbnVtYmVyKSB7XHJcbiAgICBpZiAoIXRoaXMuYXNzZXNzbWVudFF1ZXN0aW9uUGFwZXJEYXRhPy5pZCkgcmV0dXJuO1xyXG4gICAgdGhpcy5hc3Nlc3NtZW50TWFrZXJTZXJ2aWNlLmR1cGxpY2F0ZVNlY3Rpb24odGhpcy5hc3Nlc3NtZW50UXVlc3Rpb25QYXBlckRhdGEuaWQsIHNlY3Rpb25JZCkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5xdWVzdGlvbkJhbmsgPSB7XHJcbiAgICAgICAgICAuLi50aGlzLnF1ZXN0aW9uQmFuayxcclxuICAgICAgICAgIC4uLihyZXM/LnF1ZXN0aW9uTWFwIHx8IHt9KVxyXG4gICAgICAgIH07XHJcbiAgICAgICAgdGhpcy51cGRhdGVBc3Nlc3NtZW50UXVlc3Rpb25QYXBlckRhdGEocmVzPy5xdWVzdGlvblBhcGVyKTtcclxuICAgICAgICB0aGlzLmdlbmVyYXRlUXVlc3Rpb25CYW5rKCk7XHJcbiAgICAgICAgdGhpcy5wYXRjaEFzc2Vzc21lbnRBbmRRdWVzdGlvblBhcGVyKCk7XHJcbiAgICAgICAgdGhpcy5zbmFja2Jhck1lc3NhZ2UuZW1pdCh7IG1lc3NhZ2U6IHRoaXMubGFiZWxDb25maWdbJ0NPTU1PTlNfQVNTRVNTTUVOVC5UT0FTVC5TRUNUSU9OX0RVUExJQ0FURURfU1VDQ0VTUyddLCB0eXBlOiAnc3VjY2VzcycgfSk7XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZXJyb3I6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuc2hvd0xvYWRlciA9IGZhbHNlO1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xyXG4gICAgICAgIHRoaXMuc25hY2tiYXJNZXNzYWdlLmVtaXQoeyBtZXNzYWdlOiB0aGlzLmxhYmVsQ29uZmlnWydDT01NT05TX0FTU0VTU01FTlQuVE9BU1QuRVJST1JfREVGQVVMVCddLCB0eXBlOiAnZXJyb3InIH0pO1xyXG4gICAgICAgIHRocm93IHsgZXJyb3IsIG1ldGhvZDogJ1BBVENIJyB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZHVwbGljYXRlUXVlc3Rpb24oc2VjdGlvbjogUXVlc3Rpb25QYXBlclNlY3Rpb24sIHNlY3Rpb25RdWVzdGlvbjogU2VjdGlvblF1ZXN0aW9uKSB7XHJcbiAgICBpZiAoIXNlY3Rpb25RdWVzdGlvbi5pZCkgcmV0dXJuO1xyXG4gICAgdGhpcy5hc3Nlc3NtZW50TWFrZXJTZXJ2aWNlLmR1cGxpY2F0ZVF1ZXN0aW9uKHNlY3Rpb24uaWQsIHNlY3Rpb25RdWVzdGlvbi5pZCkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5xdWVzdGlvbkJhbmsgPSB7XHJcbiAgICAgICAgICAuLi50aGlzLnF1ZXN0aW9uQmFuayxcclxuICAgICAgICAgIC4uLihyZXM/LnF1ZXN0aW9uTWFwIHx8IHt9KVxyXG4gICAgICAgIH07XHJcbiAgICAgICAgdGhpcy51cGRhdGVBc3Nlc3NtZW50UXVlc3Rpb25QYXBlckRhdGEocmVzPy5xdWVzdGlvblBhcGVyKTtcclxuICAgICAgICB0aGlzLmdlbmVyYXRlUXVlc3Rpb25CYW5rKCk7XHJcbiAgICAgICAgdGhpcy5wYXRjaEFzc2Vzc21lbnRBbmRRdWVzdGlvblBhcGVyKCk7XHJcbiAgICAgICAgdGhpcy5zbmFja2Jhck1lc3NhZ2UuZW1pdCh7IG1lc3NhZ2U6IHRoaXMubGFiZWxDb25maWdbJ0NPTU1PTlNfQVNTRVNTTUVOVC5UT0FTVC5RVUVTVElPTl9EVVBMSUNBVEVEX1NVQ0NFU1MnXSwgdHlwZTogJ3N1Y2Nlc3MnIH0pO1xyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjogKGVycm9yOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLnNob3dMb2FkZXIgPSBmYWxzZTtcclxuICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcclxuICAgICAgICB0aGlzLnNuYWNrYmFyTWVzc2FnZS5lbWl0KHsgbWVzc2FnZTogdGhpcy5sYWJlbENvbmZpZ1snQ09NTU9OU19BU1NFU1NNRU5ULlRPQVNULkVSUk9SX0RFRkFVTFQnXSwgdHlwZTogJ2Vycm9yJyB9KTtcclxuICAgICAgICB0aHJvdyB7IGVycm9yLCBtZXRob2Q6ICdQQVRDSCcgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHBhdGNoQXNzZXNzbWVudEFuZFF1ZXN0aW9uUGFwZXIoc3VjY2Vzc01lc3NhZ2U/OiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IHBheWxvYWQgPSB7XHJcbiAgICAgIHF1ZXN0aW9uUGFwZXI6IHRoaXMuYXNzZXNzbWVudEJ1aWxkZXJTZXJ2aWNlLmdlbmVyYXRlUXVlc3Rpb25QYXBlckRUTyh0aGlzLmFzc2Vzc21lbnRRdWVzdGlvblBhcGVyRGF0YSwgdGhpcy5xdWVzdGlvbkJhbmspLFxyXG4gICAgICBhc3Nlc3NtZW50OiB0aGlzLmFzc2Vzc21lbnRCdWlsZGVyU2VydmljZS5nZW5lcmF0ZUFzc2Vzc21lbnREVE8odGhpcy5hc3Nlc3NtZW50SWQsIHRoaXMuYXNzZXNzbWVudFF1ZXN0aW9uUGFwZXJEYXRhKVxyXG4gICAgfVxyXG4gICAgdGhpcy5hc3Nlc3NtZW50TWFrZXJTZXJ2aWNlLnBhdGNoQXNzZXNzbWVudEFuZFF1ZXN0aW9uUGFwZXIocGF5bG9hZCkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy51cGRhdGVBc3Nlc3NtZW50UXVlc3Rpb25QYXBlckRhdGEocmVzPy5xdWVzdGlvblBhcGVyKTtcclxuICAgICAgICB0aGlzLmdlbmVyYXRlUXVlc3Rpb25CYW5rKCk7XHJcbiAgICAgICAgaWYgKHN1Y2Nlc3NNZXNzYWdlKSB7XHJcbiAgICAgICAgICB0aGlzLnNuYWNrYmFyTWVzc2FnZS5lbWl0KHsgbWVzc2FnZTogc3VjY2Vzc01lc3NhZ2UsIHR5cGU6ICdzdWNjZXNzJyB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiBlcnJvciA9PiB7XHJcbiAgICAgICAgdGhpcy5zbmFja2Jhck1lc3NhZ2UuZW1pdCh7IG1lc3NhZ2U6IHRoaXMubGFiZWxDb25maWdbJ0NPTU1PTlNfQVNTRVNTTUVOVC5UT0FTVC5FUlJPUl9ERUZBVUxUJ10sIHR5cGU6ICdlcnJvcicgfSk7XHJcbiAgICAgICAgdGhyb3cgeyBlcnJvciwgbWV0aG9kOiAnUEFUQ0gnLCBwYXlsb2FkIH1cclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIGZpbmFsU3VibWl0KCkge1xyXG4gICAgdGhpcy5pc1N1Ym1pdHRpbmcgPSB0cnVlO1xyXG4gICAgY29uc3QgcGF5bG9hZCA9IHtcclxuICAgICAgcXVlc3Rpb25QYXBlcjogdGhpcy5hc3Nlc3NtZW50QnVpbGRlclNlcnZpY2UuZ2VuZXJhdGVRdWVzdGlvblBhcGVyRFRPKHRoaXMuYXNzZXNzbWVudFF1ZXN0aW9uUGFwZXJEYXRhLCB0aGlzLnF1ZXN0aW9uQmFuayksXHJcbiAgICAgIGFzc2Vzc21lbnQ6IHRoaXMuYXNzZXNzbWVudEJ1aWxkZXJTZXJ2aWNlLmdlbmVyYXRlQXNzZXNzbWVudERUTyh0aGlzLmFzc2Vzc21lbnRJZCwgdGhpcy5hc3Nlc3NtZW50UXVlc3Rpb25QYXBlckRhdGEpXHJcbiAgICB9XHJcbiAgICBpZiAoIXRoaXMuYXNzZXNzbWVudElkKSB7XHJcbiAgICAgIC8vIHJldHVybnMgbnVsbCBvciAwIGFzIGFzc2Vzc21lbnQgaXMgbm90IGNyZWF0ZWQgeWV0LiBIYW5kbGUgdGhlIHJlc3BvbnNlIGluIGNvbnN1bWVyIGFwcFxyXG4gICAgICB0aGlzLmlzU3VibWl0dGluZyA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmFzc2Vzc21lbnRJbnN0YW5jZUlkQ2hhbmdlLmVtaXQodGhpcy5hc3Nlc3NtZW50SW5zdGFuY2VJZCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuYXNzZXNzbWVudE1ha2VyU2VydmljZS5wYXRjaEFzc2Vzc21lbnRBbmRRdWVzdGlvblBhcGVyKHBheWxvYWQpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMudXBkYXRlQXNzZXNzbWVudFF1ZXN0aW9uUGFwZXJEYXRhKHJlcz8ucXVlc3Rpb25QYXBlcik7XHJcbiAgICAgICAgaWYgKCF0aGlzLmFzc2Vzc21lbnRJbnN0YW5jZUlkKSB7XHJcbiAgICAgICAgICB0aGlzLmNyZWF0ZUFzc2Vzc21lbnRJbnN0YW5jZSgpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLmlzU3VibWl0dGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5hc3Nlc3NtZW50SW5zdGFuY2VJZENoYW5nZS5lbWl0KHRoaXMuYXNzZXNzbWVudEluc3RhbmNlSWQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IGVycm9yID0+IHtcclxuICAgICAgICB0aGlzLmlzU3VibWl0dGluZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuc25hY2tiYXJNZXNzYWdlLmVtaXQoeyBtZXNzYWdlOiB0aGlzLmxhYmVsQ29uZmlnWydDT01NT05TX0FTU0VTU01FTlQuVE9BU1QuRVJST1JfREVGQVVMVCddLCB0eXBlOiAnZXJyb3InIH0pO1xyXG4gICAgICAgIHRocm93IHsgZXJyb3IsIG1ldGhvZDogJ1BBVENIJywgcGF5bG9hZCB9XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBjcmVhdGVBc3Nlc3NtZW50SW5zdGFuY2UoKSB7XHJcbiAgICBjb25zdCBwYXlsb2FkID0gdGhpcy5hc3Nlc3NtZW50QnVpbGRlclNlcnZpY2UuZ2VuZXJhdGVBc3Nlc3NtZW50SW5zdGFuY2VEVE8odGhpcy5hc3Nlc3NtZW50SWQpO1xyXG4gICAgdGhpcy5hc3Nlc3NtZW50TWFrZXJTZXJ2aWNlLmNyZWF0ZUFzc2Vzc21lbnRJbnN0YW5jZShwYXlsb2FkKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLmFzc2Vzc21lbnRJbnN0YW5jZUlkID0gcmVzO1xyXG4gICAgICAgIHRoaXMuaXNTdWJtaXR0aW5nID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5hc3Nlc3NtZW50SW5zdGFuY2VJZENoYW5nZS5lbWl0KHJlcyk7XHJcbiAgICAgICAgLy8gdGhpcy5zbmFja2Jhck1lc3NhZ2UuZW1pdCh7IG1lc3NhZ2U6IHRoaXMubGFiZWxDb25maWdbJ0NPTU1PTlNfQVNTRVNTTUVOVC5UT0FTVC5BU1NFU1NNRU5UX1BVQkxJU0hFRF9TVUNDRVNTJ10sIHR5cGU6ICdzdWNjZXNzJyB9KTtcclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IGVycm9yID0+IHtcclxuICAgICAgICB0aGlzLmlzU3VibWl0dGluZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuc25hY2tiYXJNZXNzYWdlLmVtaXQoeyBtZXNzYWdlOiB0aGlzLmxhYmVsQ29uZmlnWydDT01NT05TX0FTU0VTU01FTlQuVE9BU1QuRVJST1JfREVGQVVMVCddLCB0eXBlOiAnZXJyb3InIH0pO1xyXG4gICAgICAgIHRocm93IHsgZXJyb3IsIG1ldGhvZDogJ1BPU1QnLCBwYXlsb2FkIH1cclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIGRpc2NhcmRDaGFuZ2VzKCkge1xyXG4gICAgaWYgKHRoaXMuYXNzZXNzbWVudElkKSB7XHJcbiAgICAgIHRoaXMuc2hvd0xvYWRlciA9IHRydWU7XHJcbiAgICAgIHRoaXMubG9hZEFzc2Vzc21lbnREYXRhKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAvLyBSZXNldCBmdWxseSB0byBlbXB0eSBpZiBubyBhc3Nlc3NtZW50IGV4aXN0ZWQgeWV0XHJcbiAgICAgIHRoaXMuYXNzZXNzbWVudFF1ZXN0aW9uUGFwZXJEYXRhID0geyBpZDogMCwgcXVlc3Rpb25QYXBlclNlY3Rpb25MaXN0OiBbXSB9O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0UXVlc3Rpb25Gcm9tQmFuayhxdWVzdGlvbklkPzogbnVtYmVyKSB7XHJcbiAgICByZXR1cm4gdGhpcy5xdWVzdGlvbkJhbms/LltxdWVzdGlvbklkIHx8IC0xXTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZUFzc2Vzc21lbnRRdWVzdGlvblBhcGVyRGF0YShuZXdEYXRhOiBhbnkpIHtcclxuICAgIGNvbnN0IGV4cGFuZGVkTGlzdCA9IHRoaXMuYXNzZXNzbWVudFF1ZXN0aW9uUGFwZXJEYXRhPy5xdWVzdGlvblBhcGVyU2VjdGlvbkxpc3RcclxuICAgICAgPy5maWx0ZXIoKHM6IGFueSkgPT4gcy5pc0V4cGFuZGVkKVxyXG4gICAgICA/Lm1hcCgoczogYW55LCBpZHg6IG51bWJlcikgPT4gcy5pZCA/IHMuaWQudG9TdHJpbmcoKSA6IGAke2lkeH1fJHtzLnFwc05hbWU/LlswXT8udGV4dH1gKTtcclxuXHJcbiAgICB0aGlzLmFzc2Vzc21lbnRRdWVzdGlvblBhcGVyRGF0YSA9IG5ld0RhdGEgfHwgeyBpZDogMCwgcXVlc3Rpb25QYXBlclNlY3Rpb25MaXN0OiBbXSB9O1xyXG4gICAgdGhpcy5maWx0ZXJJbmFjdGl2ZVNlY3Rpb25zQW5kUXVlc3Rpb25zKCk7XHJcblxyXG4gICAgaWYgKGV4cGFuZGVkTGlzdD8ubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMuYXNzZXNzbWVudFF1ZXN0aW9uUGFwZXJEYXRhPy5xdWVzdGlvblBhcGVyU2VjdGlvbkxpc3Q/LmZvckVhY2goKHM6IGFueSwgaWR4OiBudW1iZXIpID0+IHtcclxuICAgICAgICBjb25zdCBrZXkgPSBzLmlkID8gcy5pZC50b1N0cmluZygpIDogYCR7aWR4fV8ke3MucXBzTmFtZT8uWzBdPy50ZXh0fWA7XHJcbiAgICAgICAgaWYgKGV4cGFuZGVkTGlzdC5pbmNsdWRlcyhrZXkpKSB7XHJcbiAgICAgICAgICBzLmlzRXhwYW5kZWQgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBmaWx0ZXJJbmFjdGl2ZVNlY3Rpb25zQW5kUXVlc3Rpb25zKCkge1xyXG4gICAgdGhpcy5hc3Nlc3NtZW50UXVlc3Rpb25QYXBlckRhdGEucXVlc3Rpb25QYXBlclNlY3Rpb25MaXN0ID0gdGhpcy5hc3Nlc3NtZW50UXVlc3Rpb25QYXBlckRhdGE/LnF1ZXN0aW9uUGFwZXJTZWN0aW9uTGlzdD8uZmlsdGVyKChzZWN0aW9uOiBhbnkpID0+IHNlY3Rpb24uaXNBY3RpdmUgIT09IGZhbHNlKVxyXG5cclxuICAgIHRoaXMuYXNzZXNzbWVudFF1ZXN0aW9uUGFwZXJEYXRhPy5xdWVzdGlvblBhcGVyU2VjdGlvbkxpc3Q/LmZvckVhY2goKHNlY3Rpb246IGFueSkgPT4ge1xyXG4gICAgICBzZWN0aW9uLnNlY3Rpb25RdWVzdGlvbnNMaXN0ID0gc2VjdGlvbi5zZWN0aW9uUXVlc3Rpb25zTGlzdD8uZmlsdGVyKChxdWVzdGlvbjogYW55KSA9PiBxdWVzdGlvbi5pc0FjdGl2ZSAhPT0gZmFsc2UpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgaWYgKHRoaXMucXVlc3Rpb25CYW5rKSB7XHJcbiAgICAgIE9iamVjdC5rZXlzKHRoaXMucXVlc3Rpb25CYW5rKS5mb3JFYWNoKGtleSA9PiB7XHJcbiAgICAgICAgY29uc3QgcXVlc3Rpb24gPSB0aGlzLnF1ZXN0aW9uQmFua1trZXkgYXMgYW55XTtcclxuICAgICAgICBpZiAocXVlc3Rpb24/LmRlZmF1bHRPcHRpb25zTGlzdCkge1xyXG4gICAgICAgICAgcXVlc3Rpb24uZGVmYXVsdE9wdGlvbnNMaXN0ID0gcXVlc3Rpb24uZGVmYXVsdE9wdGlvbnNMaXN0LmZpbHRlcigob3B0OiBhbnkpID0+IG9wdC5pc0FjdGl2ZSAhPT0gZmFsc2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjYXBpdGFsaXplRmlyc3QodGV4dDogc3RyaW5nIHwgdW5kZWZpbmVkKTogc3RyaW5nIHtcclxuICAgIGlmICghdGV4dCkgcmV0dXJuICcnO1xyXG4gICAgcmV0dXJuIHRleHQudG9Mb3dlckNhc2UoKS5zcGxpdCgnICcpLm1hcCh3b3JkID0+IHdvcmQuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyB3b3JkLnNsaWNlKDEpKS5qb2luKCcgJyk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgKm5nSWY9XCJjb25maWdzTG9hZGVkICYmICFzaG93TG9hZGVyOyBlbHNlIGxvYWRlclwiIGNsYXNzPVwiY29sLTEyIGgtMTAwXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGgtMTAwIHB5LTRcIiBbY2xhc3MuaGVpZ2h0LXdpdGhvdXQtZm9vdGVyXT1cInNob3dGb290ZXJcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXNzZXNzbWVudFF1ZXN0aW9uUGFwZXJEYXRhPy5xdWVzdGlvblBhcGVyU2VjdGlvbkxpc3Q/Lmxlbmd0aFwiPlxyXG4gICAgICAgICAgICA8bWF0LWFjY29yZGlvbiBtdWx0aT1cInRydWVcIiBjZGtEcm9wTGlzdCAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyb3BTZWN0aW9uKCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsIFtoaWRlVG9nZ2xlXT1cInRydWVcIiAjcGFuZWw9XCJtYXRFeHBhbnNpb25QYW5lbFwiIFtleHBhbmRlZF09XCJzZWN0aW9uLmlzRXhwYW5kZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgIChvcGVuZWQpPVwic2VjdGlvbi5pc0V4cGFuZGVkID0gdHJ1ZVwiIChjbG9zZWQpPVwic2VjdGlvbi5pc0V4cGFuZGVkID0gZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWItNCBib3JkZXItMCBvdmVyZmxvdy1oaWRkZW4gYXNzZXNzbWVudC1wYW5lbCBzaGFkb3ctbm9uZVwiIGNka0RyYWdcclxuICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgc2VjdGlvbiBvZiBhc3Nlc3NtZW50UXVlc3Rpb25QYXBlckRhdGE/LnF1ZXN0aW9uUGFwZXJTZWN0aW9uTGlzdCB8IG9yZGVyQnk7IGxldCBzZWN0aW9uSW5kZXggPSBpbmRleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gU2VjdGlvbiBIZWFkZXIgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIGNsYXNzPVwiY29sLTEyIHAtMCBoLWF1dG8gYmctdHJhbnNwYXJlbnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBjb2wtMTIgYWxpZ24taXRlbXMtY2VudGVyIGdhcC1tZC0zIGdhcC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNka0RyYWdIYW5kbGUgW3NyY109XCJpbWFnZUNvbmZpZ1snQ09NTU9OU19BU1NFU1NNRU5ULklDT04uRFJBR19EUk9QJ11cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY3Vyc29yLWdyYWJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChlcnJvcik9XCJpbWFnZUVycm9ySGFuZGxlcigkZXZlbnQsICdhc3NldHMvY29tbW9ucy1hc3Nlc3NtZW50L2ltYWdlcy9kcmFnLWRyb3Auc3ZnJylcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTIgZmxleC1ncm93LTEganVzdGlmeS1jb250ZW50LWJldHdlZW4gcC0zIGFzc2Vzc21lbnQtYm9yZGVyLXJhZGl1cy10d28gYXNzZXNzbWVudC1ib3JkZXItdHdvXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3Mubm8tYm9yZGVyXT1cInNlY3Rpb24uaXNFeHBhbmRlZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG1iLTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIFtpZF09XCInc2VjdGlvbk5hbWVJbnB1dF8nICsgc2VjdGlvbkluZGV4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNvbC1tZC0xMSBjb2wtMTAgYXNzZXNzbWVudC10ZXh0LXNlbWlib2xkLTE4IGJvcmRlci0wIG91dGxpbmUtMCBiZy10cmFuc3BhcmVudCBwLTAgaW5wdXQtZm9jdXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwic2VjdGlvbi5xcHNOYW1lWzBdLnRleHRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnNpemVdPVwiKHNlY3Rpb24ucXBzTmFtZVswXS50ZXh0Py5sZW5ndGggfHwgMSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIiAoa2V5ZG93bik9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgW3NyY109XCJpbWFnZUNvbmZpZ1snQ09NTU9OU19BU1NFU1NNRU5ULklDT04uRURJVCddXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImFjdGlvbi1pY29uIGN1cnNvci1wb2ludGVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZm9jdXNTZWN0aW9uSW5wdXQoc2VjdGlvbkluZGV4LCAkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZXJyb3IpPVwiaW1hZ2VFcnJvckhhbmRsZXIoJGV2ZW50LCAnYXNzZXRzL2NvbW1vbnMtYXNzZXNzbWVudC9pbWFnZXMvcGVuY2lsLnN2ZycpXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwibWItMCBhc3Nlc3NtZW50LXRleHQtbWVkaXVtLTEyIGFzc2Vzc21lbnQtdGV4dC1ncmV5LXNldmVuXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e3NlY3Rpb24/LnNlY3Rpb25RdWVzdGlvbnNMaXN0Py5sZW5ndGggfHwgMH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2xhYmVsQ29uZmlnWydDT01NT05TX0FTU0VTU01FTlQuTEFCRUwuUVVFU1RJT05TJ119fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLW1kLTQgZ2FwLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBbc3JjXT1cImltYWdlQ29uZmlnWydDT01NT05TX0FTU0VTU01FTlQuSUNPTi5BUlJPV19ET1dOX0JMQUNLJ11cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwicGFuZWwuZXhwYW5kZWQgPyAnY2hhbmdlLWRpcmVjdGlvbicgOiAnY2hhbmdlLWRpcmVjdGlvbi1yZXZlcnNlJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZXJyb3IpPVwiaW1hZ2VFcnJvckhhbmRsZXIoJGV2ZW50LCAnYXNzZXRzL2NvbW1vbnMtYXNzZXNzbWVudC9pbWFnZXMvYXJyb3ctZG93bi1ibGFjay5zdmcnKVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIiAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYm9yZGVyLTAgYmctdHJhbnNwYXJlbnQgcHktMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBbc3JjXT1cImltYWdlQ29uZmlnWydDT01NT05TX0FTU0VTU01FTlQuSUNPTi5BQ1RJT05fRE9UUyddXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZXJyb3IpPVwiaW1hZ2VFcnJvckhhbmRsZXIoJGV2ZW50LCAnYXNzZXRzL2NvbW1vbnMtYXNzZXNzbWVudC9pbWFnZXMvYWN0aW9uLWRvdHMuc3ZnJylcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1tZW51ICNtZW51PVwibWF0TWVudVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1hdC1tZW51IGFzc2Vzc21lbnQtYm9yZGVyLXJhZGl1cy10d28gYXNzZXNzbWVudC1ib3JkZXItZ3JleS1mb3VyLTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cImFkZEluc3RydWN0aW9uKHNlY3Rpb24pXCIgbWF0LW1lbnUtaXRlbVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicHktMiBhc3Nlc3NtZW50LXRleHQtc2VtaWJvbGQtMTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2xhYmVsQ29uZmlnWydDT01NT05TX0FTU0VTU01FTlQuTEFCRUwuQUREX0lOU1RSVUNUSU9OUyddfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiZHVwbGljYXRlU2VjdGlvbihzZWN0aW9uLmlkKVwiIG1hdC1tZW51LWl0ZW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInB5LTIgYXNzZXNzbWVudC10ZXh0LXNlbWlib2xkLTEyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tsYWJlbENvbmZpZ1snQ09NTU9OU19BU1NFU1NNRU5ULkxBQkVMLkRVUExJQ0FURSddfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiZGVsZXRlU2VjdGlvbihzZWN0aW9uKVwiIG1hdC1tZW51LWl0ZW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInB5LTIgYXNzZXNzbWVudC10ZXh0LXNlbWlib2xkLTEyIGFzc2Vzc21lbnQtdGV4dC1kYW5nZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2xhYmVsQ29uZmlnWydDT01NT05TX0FTU0VTU01FTlQuTEFCRUwuREVMRVRFJ119fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LW1lbnU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSBRdWVzdGlvbnMgaW5zaWRlIHNlY3Rpb24gLS0+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2RrRHJvcExpc3QgW2Nka0Ryb3BMaXN0RGF0YV09XCJzZWN0aW9uLnNlY3Rpb25RdWVzdGlvbnNMaXN0IHx8IFtdXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJkcm9wUXVlc3Rpb24oJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNka0RyYWcgKm5nRm9yPVwibGV0IHNlY3Rpb25RdWVzdGlvbiBvZiBzZWN0aW9uLnNlY3Rpb25RdWVzdGlvbnNMaXN0IHwgb3JkZXJCeTsgbGV0IGkgPSBpbmRleFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1zdGFydCBnYXAtbWQtMyBnYXAtMiBteS0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNka0RyYWdIYW5kbGUgW3NyY109XCJpbWFnZUNvbmZpZ1snQ09NTU9OU19BU1NFU1NNRU5ULklDT04uRFJBR19EUk9QJ11cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY3Vyc29yLWdyYWIgbXQtNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGVycm9yKT1cImltYWdlRXJyb3JIYW5kbGVyKCRldmVudCwgJ2Fzc2V0cy9jb21tb25zLWFzc2Vzc21lbnQvaW1hZ2VzL2RyYWctZHJvcC5zdmcnKVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1ncm93LTEgcC0zIGFzc2Vzc21lbnQtYm9yZGVyLXR3byBhc3Nlc3NtZW50LWJvcmRlci1yYWRpdXMtdHdvIHF1ZXN0aW9uLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaWItcXVlc3Rpb24tZGV0YWlscyBbc2VjdGlvblF1ZXN0aW9uXT1cInNlY3Rpb25RdWVzdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtxdWVzdGlvbl09XCJnZXRRdWVzdGlvbkZyb21CYW5rKHNlY3Rpb25RdWVzdGlvbi5xdWVzdGlvbklkKSB8fCB7fVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtxdWVzdGlvbkJhbmtdPVwicXVlc3Rpb25CYW5rXCIgW2ltYWdlQ29uZmlnXT1cImltYWdlQ29uZmlnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsQ29uZmlnXT1cImxhYmVsQ29uZmlnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGVkaXRRdWVzdGlvbik9XCJjcmVhdGVFZGl0UXVlc3Rpb24oc2VjdGlvbiwgJGV2ZW50Py5xdWVzdGlvbklkLCAkZXZlbnQ/LmlzQ2hpbGRRdWVzdGlvbilcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZHVwbGljYXRlUXVlc3Rpb24pPVwiZHVwbGljYXRlUXVlc3Rpb24oc2VjdGlvbiwgJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChkZWxldGVQYXJlbnRRdWVzdGlvbik9XCJkZWxldGVQYXJlbnRRdWVzdGlvbigkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGRlbGV0ZUNoaWxkUXVlc3Rpb24pPVwiZGVsZXRlQ2hpbGRRdWVzdGlvbigkZXZlbnQub3B0aW9uLCAkZXZlbnQuY2hpbGRRdWVzdGlvbklkKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGliLXF1ZXN0aW9uLWRldGFpbHM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgcHMtNCBib3JkZXItYm90dG9tIHBiLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiY3JlYXRlRWRpdFF1ZXN0aW9uKHNlY3Rpb24pXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYXNzZXNzbWVudC16b29tLWFuaW1hdGlvbiBhc3Nlc3NtZW50LWJ1dHRvbi1wYWRkaW5nIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciBnYXAtMyBhc3Nlc3NtZW50LXRleHQtcHJpbWFyeS1vbmUgYXNzZXNzbWVudC1iZy1wYWxldHRlLUVERjNGRCBhc3Nlc3NtZW50LXRleHQtc2VtaWJvbGQtMTIgb3V0bGluZS0wIGFzc2Vzc21lbnQtYm9yZGVyLXJhZGl1cy10d28gbXQtMyBib3JkZXItQURDOUY2XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIFtzcmNdPVwiaW1hZ2VDb25maWdbJ0NPTU1PTlNfQVNTRVNTTUVOVC5JQ09OLlBMVVNfUFJJTUFSWSddXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZXJyb3IpPVwiaW1hZ2VFcnJvckhhbmRsZXIoJGV2ZW50LCAnYXNzZXRzL2NvbW1vbnMtYXNzZXNzbWVudC9pbWFnZXMvcGx1cy1wcmltYXJ5LnN2ZycpXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7bGFiZWxDb25maWdbJ0NPTU1PTlNfQVNTRVNTTUVOVC5MQUJFTC5BRERfQV9RVUVTVElPTiddfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L21hdC1leHBhbnNpb24tcGFuZWw+XHJcbiAgICAgICAgICAgIDwvbWF0LWFjY29yZGlvbj5cclxuICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiY3JlYXRlRWRpdFF1ZXN0aW9uKClcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJhc3Nlc3NtZW50LXpvb20tYW5pbWF0aW9uIGFzc2Vzc21lbnQtYnV0dG9uLXBhZGRpbmcgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGdhcC0zIGFzc2Vzc21lbnQtdGV4dC1wcmltYXJ5LW9uZSBhc3Nlc3NtZW50LWJnLXBhbGV0dGUtRURGM0ZEIGFzc2Vzc21lbnQtdGV4dC1zZW1pYm9sZC0xMiBvdXRsaW5lLTAgYXNzZXNzbWVudC1ib3JkZXItcmFkaXVzLXR3byBtdC0zIGJvcmRlci1BREM5RjYgbXMtNFwiPlxyXG4gICAgICAgICAgICAgICAgPGltZyBbc3JjXT1cImltYWdlQ29uZmlnWydDT01NT05TX0FTU0VTU01FTlQuSUNPTi5BRERfU0VDVElPTiddXCJcclxuICAgICAgICAgICAgICAgICAgICAoZXJyb3IpPVwiaW1hZ2VFcnJvckhhbmRsZXIoJGV2ZW50LCAnYXNzZXRzL2NvbW1vbnMtYXNzZXNzbWVudC9pbWFnZXMvYWRkLXNlY3Rpb24uc3ZnJylcIiAvPlxyXG4gICAgICAgICAgICAgICAge3tsYWJlbENvbmZpZ1snQ09NTU9OU19BU1NFU1NNRU5ULkxBQkVMLkFERF9BX1NFQ1RJT04nXX19XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCIhYXNzZXNzbWVudFF1ZXN0aW9uUGFwZXJEYXRhPy5xdWVzdGlvblBhcGVyU2VjdGlvbkxpc3Q/Lmxlbmd0aFwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiaC0xMDAgZC1mbGV4IGZsZXgtY29sdW1uIGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGdhcC0zXCI+XHJcbiAgICAgICAgICAgIDxpbWcgW3NyY109XCJpbWFnZUNvbmZpZ1snQ09NTU9OU19BU1NFU1NNRU5ULklDT04uTk9fUVVFU1RJT05TJ11cIiBjbGFzcz1cImNvbC1zbS1hdXRvIGNvbC02XCJcclxuICAgICAgICAgICAgICAgIChlcnJvcik9XCJpbWFnZUVycm9ySGFuZGxlcigkZXZlbnQsICdhc3NldHMvY29tbW9ucy1hc3Nlc3NtZW50L2ltYWdlcy9uby1xdWVzdGlvbnMuc3ZnJylcIiAvPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwibWItMSBhc3Nlc3NtZW50LXRleHQtbWVkaXVtLTE4XCI+e3tsYWJlbENvbmZpZ1snQ09NTU9OU19BU1NFU1NNRU5ULkxBQkVMLkFERF9DVVNUT01fUVVFU1RJT05TJ119fTwvcD5cclxuICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwibWItMCBhc3Nlc3NtZW50LXRleHQtbWVkaXVtLTEyIGFzc2Vzc21lbnQtdGV4dC1ncmV5LXNldmVuXCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3tsYWJlbENvbmZpZ1snQ09NTU9OU19BU1NFU1NNRU5ULkxBQkVMLkFERF9RVUVTVElPTl9ERVNDJ119fTwvcD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cImNyZWF0ZUVkaXRRdWVzdGlvbigpXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYXNzZXNzbWVudC1idXR0b24tcGFkZGluZyBhc3Nlc3NtZW50LWJvcmRlci1yYWRpdXMtdHdvIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTIgYXNzZXNzbWVudC1iZy1wYWxldHRlLUVERjNGRCBhc3Nlc3NtZW50LXRleHQtcHJpbWFyeS1vbmUgYXNzZXNzbWVudC10ZXh0LXNlbWlib2xkLTEyIGJvcmRlci0wIGFzc2Vzc21lbnQtem9vbS1hbmltYXRpb25cIj5cclxuICAgICAgICAgICAgICAgIDxpbWcgW3NyY109XCJpbWFnZUNvbmZpZ1snQ09NTU9OU19BU1NFU1NNRU5ULklDT04uUExVU19QUklNQVJZJ11cIlxyXG4gICAgICAgICAgICAgICAgICAgIChlcnJvcik9XCJpbWFnZUVycm9ySGFuZGxlcigkZXZlbnQsICdhc3NldHMvY29tbW9ucy1hc3Nlc3NtZW50L2ltYWdlcy9wbHVzLXByaW1hcnkuc3ZnJylcIiAvPlxyXG4gICAgICAgICAgICAgICAge3tsYWJlbENvbmZpZ1snQ09NTU9OU19BU1NFU1NNRU5ULkxBQkVMLkFERF9BX1FVRVNUSU9OJ119fVxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiAqbmdJZj1cInNob3dGb290ZXJcIlxyXG4gICAgICAgIGNsYXNzPVwiYmctd2hpdGUgcC0zIHBvc2l0aW9uLXN0aWNreSBib3R0b20tMCBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1lbmQgYm9yZGVyLXRvcCBnYXAtM1wiPlxyXG4gICAgICAgIDxidXR0b24gKGNsaWNrKT1cImRpc2NhcmRDaGFuZ2VzKClcIiBbZGlzYWJsZWRdPVwiaXNTdWJtaXR0aW5nXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJhc3Nlc3NtZW50LXpvb20tYW5pbWF0aW9uIGFzc2Vzc21lbnQtYm9yZGVyLXJhZGl1cy10d28gYXNzZXNzbWVudC1idXR0b24tcGFkZGluZy1sYXJnZSBhc3Nlc3NtZW50LWJ0bi1wcmltYXJ5LXRyYW5zcGFyZW50IGFzc2Vzc21lbnQtdGV4dC1zZW1pYm9sZC0xM1wiPnt7bGFiZWxDb25maWdbJ0NPTU1PTlNfQVNTRVNTTUVOVC5MQUJFTC5ESVNDQVJEJ119fTwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b24gKGNsaWNrKT1cImZpbmFsU3VibWl0KClcIiBbZGlzYWJsZWRdPVwiaXNTdWJtaXR0aW5nXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJhc3Nlc3NtZW50LXpvb20tYW5pbWF0aW9uIGFzc2Vzc21lbnQtYm9yZGVyLXJhZGl1cy10d28gYXNzZXNzbWVudC1idXR0b24tcGFkZGluZy1sYXJnZSBhc3Nlc3NtZW50LWJ0bi1wcmltYXJ5IGFzc2Vzc21lbnQtdGV4dC1zZW1pYm9sZC0xMyBwb3NpdGlvbi1yZWxhdGl2ZVwiPlxyXG4gICAgICAgICAgICA8c3BhbiBbbmdDbGFzc109XCJ7J29wYWNpdHktMCc6IGlzU3VibWl0dGluZ31cIj5cclxuICAgICAgICAgICAgICAgIHt7bGFiZWxDb25maWdbJ0NPTU1PTlNfQVNTRVNTTUVOVC5MQUJFTC5QVUJMSVNIJ119fVxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDxtYXQtc3Bpbm5lciAqbmdJZj1cImlzU3VibWl0dGluZ1wiIFtkaWFtZXRlcl09XCIyMFwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInBvc2l0aW9uLWFic29sdXRlIHRvcC01MCBzdGFydC01MCB0cmFuc2xhdGUtbWlkZGxlIGFzc2Vzc21lbnQtc3Bpbm5lci13aGl0ZVwiPjwvbWF0LXNwaW5uZXI+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcbjxuZy10ZW1wbGF0ZSAjbG9hZGVyPlxyXG4gICAgPGRpdiBjbGFzcz1cImgtMTAwIGNvbC0xMiBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXIgcHktNVwiPlxyXG4gICAgICAgIDxtYXQtc3Bpbm5lciBkaWFtZXRlcj1cIjYwXCIgY2xhc3M9XCJhc3Nlc3NtZW50LXNwaW5uZXItcHJpbWFyeVwiPjwvbWF0LXNwaW5uZXI+XHJcbiAgICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT4iXX0=
@@ -42,7 +42,7 @@ export class QuestionDetailsComponent {
42
42
  }
43
43
  }
44
44
  QuestionDetailsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: QuestionDetailsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
45
- QuestionDetailsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: QuestionDetailsComponent, selector: "lib-question-details", inputs: { sectionQuestion: "sectionQuestion", question: "question", questionBank: "questionBank", labelConfig: "labelConfig", imageConfig: "imageConfig" }, outputs: { editQuestion: "editQuestion", duplicateQuestion: "duplicateQuestion", deleteParentQuestion: "deleteParentQuestion", deleteChildQuestion: "deleteChildQuestion" }, viewQueries: [{ propertyName: "questionText", first: true, predicate: ["questionText"], descendants: true }], ngImport: i0, template: "<div class=\"d-flex align-items-center justify-content-between mb-3\">\r\n <div class=\"d-flex flex-wrap gap-2\">\r\n <span\r\n class=\"assessment-border-radius-two p-2 assessment-bg-palette-FEF9F1 assessment-text-medium-12 border-palette-F9DAA6\">\r\n {{capitalizeFirst(question?.questionType?.labels?.[0]?.text)}}\r\n </span>\r\n <span *ngIf=\"question?.weight\"\r\n class=\"assessment-border-radius-two p-2 assessment-bg-palette-EDF3FD assessment-text-medium-12 border-palette-C8DAF9\">\r\n {{question?.weight}} {{labelConfig['COMMONS_ASSESSMENT.LABEL.MARKS']}}\r\n </span>\r\n <span *ngIf=\"question?.isMandatory\"\r\n class=\"assessment-border-radius-two p-2 assessment-bg-palette-E8F7F0 assessment-text-medium-12 border-palette-B7E7CF\">\r\n {{labelConfig['COMMONS_ASSESSMENT.LABEL.MANDATORY']}}\r\n </span>\r\n </div>\r\n <button [matMenuTriggerFor]=\"questionsMenu\" (click)=\"$event.stopPropagation()\" class=\"border-0 bg-transparent py-2\">\r\n <img [src]=\"imageConfig['COMMONS_ASSESSMENT.ICON.ACTION_DOTS']\"\r\n (error)=\"imageErrorHandler($event, 'assets/commons-assessment/images/action-dots.svg')\" />\r\n </button>\r\n <mat-menu #questionsMenu=\"matMenu\" class=\"mat-menu assessment-border-radius-two assessment-border-grey-four-1\">\r\n <button (click)=\"duplicateQuestion.emit(sectionQuestion)\" mat-menu-item class=\"py-2 assessment-text-semibold-12\">\r\n {{labelConfig['COMMONS_ASSESSMENT.LABEL.DUPLICATE']}}\r\n </button>\r\n <button (click)=\"deleteParentQuestion.emit(sectionQuestion)\" mat-menu-item\r\n class=\"py-2 assessment-text-semibold-12 assessment-text-danger\">\r\n {{labelConfig['COMMONS_ASSESSMENT.LABEL.DELETE']}}\r\n </button>\r\n </mat-menu>\r\n</div>\r\n<div class=\"col-12\">\r\n <div #questionText class=\"assessment-text-medium-15 question-text cursor-pointer\" [class.collapsed]=\"!expanded\"\r\n (click)=\"$event.stopPropagation(); editQuestion.emit({questionId: sectionQuestion?.questionId, isChildQuestion: false})\"\r\n [innerHTML]=\"question?.questionText?.[0]?.text\">\r\n </div>\r\n\r\n <span *ngIf=\"showToggle\" class=\"assessment-text-semibold-15 assessment-text-primary-one cursor-pointer\"\r\n (click)=\"$event.stopPropagation(); expanded = !expanded\">\r\n {{ labelConfig[expanded ? 'COMMONS_ASSESSMENT.LABEL.READ_LESS' : 'COMMONS_ASSESSMENT.LABEL.READ_MORE'] }}\r\n </span>\r\n</div>\r\n\r\n<!-- Child Questions -->\r\n<ng-container *ngIf=\"question?.defaultOptionsList?.length\">\r\n <div class=\"mt-4 col-12\">\r\n <div *ngFor=\"let option of question?.defaultOptionsList | orderBy\" class=\"my-3 d-flex align-items-start gap-2\">\r\n <div class=\"rounded-circle custom-padding border-grey-ten-2\"></div>\r\n <span class=\"assessment-text-medium-13\">{{option.options?.optionName?.[0]?.text}}</span>\r\n </div>\r\n </div>\r\n\r\n <mat-accordion *ngIf=\"childQuestionPresent(question)\">\r\n <mat-expansion-panel (click)=\"$event.stopPropagation()\" class=\"bg-transparent mt-4 col-12\">\r\n <mat-expansion-panel-header class=\"p-0 bg-transparent pe-1\">\r\n <div class=\"d-flex align-items-center gap-2 flex-grow-1 pe-2\">\r\n <span class=\"assessment-text-semibold-12 assessment-text-grey-eight\">{{labelConfig['COMMONS_ASSESSMENT.LABEL.CHILD_QUESTIONS']}}</span>\r\n <div class=\"flex-grow-1 border-bottom\"></div>\r\n </div>\r\n </mat-expansion-panel-header>\r\n <ng-container *ngFor=\"let option of question?.defaultOptionsList | orderBy\">\r\n <div *ngIf=\"option.childQuestionList?.length\" class=\"mt-3\">\r\n <p class=\"assessment-text-primary-one assessment-text-semibold-14 mb-0\">\r\n {{option.options?.optionName?.[0]?.text}}</p>\r\n <div class=\"position-relative overflow-hidden\">\r\n <div *ngFor=\"let childQuestionId of option.childQuestionList\"\r\n class=\"assessment-child-node position-relative mt-3 ms-md-4 ms-3\">\r\n <div *ngIf=\"questionBank[childQuestionId] as childQuestion\"\r\n class=\"d-flex align-items-start justify-content-between gap-3 ps-1\">\r\n <div (click)=\"$event.stopPropagation(); editQuestion.emit({questionId: childQuestionId, isChildQuestion: true})\"\r\n [innerHTML]=\"childQuestion?.questionText?.[0]?.text\"\r\n class=\"flex-grow-1 assessment-text-regular-13 question-text collapsed cursor-pointer\">\r\n </div>\r\n <span\r\n class=\"assessment-text-medium-12 assessment-text-grey-eight d-md-inline d-none text-nowrap\">\r\n {{capitalizeFirst(childQuestion?.questionType?.labels?.[0]?.text)}}\r\n </span>\r\n <img (click)=\"$event.stopPropagation(); deleteChildQuestion.emit({option: option, childQuestionId: childQuestionId})\"\r\n [src]=\"imageConfig['COMMONS_ASSESSMENT.ICON.DELETE']\"\r\n class=\"action-icon d-md-inline d-none cursor-pointer\" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n</ng-container>", styles: ["@charset \"UTF-8\";.assessment-text-grey-ten{color:var(--assessment-grey-ten)!important}.assessment-bg-grey-ten{background-color:var(--assessment-grey-ten)!important}.assessment-text-grey-nine{color:var(--assessment-grey-nine)!important}.assessment-bg-grey-nine{background-color:var(--assessment-grey-nine)!important}.assessment-text-grey-eight{color:var(--assessment-grey-eight)!important}.assessment-bg-grey-eight{background-color:var(--assessment-grey-eight)!important}.assessment-text-grey-seven{color:var(--assessment-grey-seven)!important}.assessment-bg-grey-seven{background-color:var(--assessment-grey-seven)!important}.assessment-text-grey-six{color:var(--assessment-grey-six)!important}.assessment-bg-grey-six{background-color:var(--assessment-grey-six)!important}.assessment-text-grey-five{color:var(--assessment-grey-five)!important}.assessment-bg-grey-five{background-color:var(--assessment-grey-five)!important}.assessment-text-grey-four{color:var(--assessment-grey-four)!important}.assessment-bg-grey-four{background-color:var(--assessment-grey-four)!important}.assessment-text-grey-three{color:var(--assessment-grey-three)!important}.assessment-bg-grey-three{background-color:var(--assessment-grey-three)!important}.assessment-text-grey-two{color:var(--assessment-grey-two)!important}.assessment-bg-grey-two{background-color:var(--assessment-grey-two)!important}.assessment-text-grey-one{color:var(--assessment-grey-one)!important}.assessment-bg-grey-one{background-color:var(--assessment-grey-one)!important}.assessment-text-white{color:var(--assessment-white)!important}.assessment-bg-white{background-color:var(--assessment-white)!important}.assessment-text-black{color:var(--assessment-black)!important}.assessment-bg-black{background-color:var(--assessment-black)!important}.assessment-text-danger{color:var(--assessment-danger)!important}.assessment-bg-danger{background-color:var(--assessment-danger)!important}.assessment-text-primary-one{color:var(--assessment-primary-one)!important}.assessment-bg-primary-one{background-color:var(--assessment-primary-one)!important}.assessment-text-primary-four{color:var(--assessment-primary-four)!important}.assessment-bg-primary-four{background-color:var(--assessment-primary-four)!important}.assessment-text-palette-EDF3FD{color:var(--assessment-palette-EDF3FD)!important}.assessment-bg-palette-EDF3FD{background-color:var(--assessment-palette-EDF3FD)!important}.assessment-text-palette-C8DAF9{color:var(--assessment-palette-C8DAF9)!important}.assessment-bg-palette-C8DAF9{background-color:var(--assessment-palette-C8DAF9)!important}.assessment-text-palette-ADC9F6{color:var(--assessment-palette-ADC9F6)!important}.assessment-bg-palette-ADC9F6{background-color:var(--assessment-palette-ADC9F6)!important}.assessment-text-palette-FEF9F1{color:var(--assessment-palette-FEF9F1)!important}.assessment-bg-palette-FEF9F1{background-color:var(--assessment-palette-FEF9F1)!important}.assessment-text-palette-F9DAA6{color:var(--assessment-palette-F9DAA6)!important}.assessment-bg-palette-F9DAA6{background-color:var(--assessment-palette-F9DAA6)!important}.assessment-text-palette-E8F7F0{color:var(--assessment-palette-E8F7F0)!important}.assessment-bg-palette-E8F7F0{background-color:var(--assessment-palette-E8F7F0)!important}.assessment-text-palette-B7E7CF{color:var(--assessment-palette-B7E7CF)!important}.assessment-bg-palette-B7E7CF{background-color:var(--assessment-palette-B7E7CF)!important}.assessment-box-shadow-one{box-shadow:var(--assessment-box-shadow-one)!important}.assessment-border-radius-one{border-radius:var(--assessment-border-radius-one)!important}.assessment-border-radius-two{border-radius:var(--assessment-border-radius-two)!important}.assessment-border-radius-three{border-radius:var(--assessment-border-radius-three)!important}.assessment-border-radius-four{border-radius:var(--assessment-border-radius-four)!important}.assessment-border-radius-five{border-radius:var(--assessment-border-radius-five)!important}.assessment-border-radius-six{border-radius:var(--assessment-border-radius-six)!important}.assessment-input-border-one{border:var(--assessment-input-border-one)!important}.assessment-input-border-invalid{border:var(--assessment-input-border-invalid)!important}.assessment-input-focus-border{border:var(--assessment-input-focus-border)!important}.assessment-border-two{border:var(--assessment-border-two)!important}.assessment-card-border{border:var(--assessment-card-border)!important}.assessment-tooltip-border{border:var(--assessment-tooltip-border)!important}.assessment-box-shadow-tooltip{box-shadow:var(--assessment-box-shadow-tooltip)!important}.assessment-button-padding{padding:var(--assessment-button-padding)!important}.assessment-button-padding-large{padding:var(--assessment-button-padding-large)!important}.assessment-input-padding{padding:var(--assessment-input-padding)!important}.assessment-text-font-family{color:var(--assessment-font-family)!important}.assessment-bg-font-family{background-color:var(--assessment-font-family)!important}.assessment-text-regular-12{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(.48rem + .3vw);line-height:calc(.9rem + .3vw)}.assessment-text-bold-12{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.48rem + .3vw);line-height:calc(.9rem + .3vw)}.assessment-text-semibold-12{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.48rem + .3vw);line-height:calc(.9rem + .3vw)}.assessment-text-semibold-11{font-weight:600;font-family:var(--assessment-font-family);font-size:calc(.48rem + .25vw);line-height:calc(.8rem + .25vw)}.assessment-text-medium-11{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(.48rem + .25vw);line-height:calc(.8rem + .25vw)}.assessment-text-regular-11{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(.48rem + .25vw);line-height:calc(.8rem + .25vw)}.assessment-text-medium-12{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(.48rem + .3vw);line-height:calc(.9rem + .3vw)}.assessment-text-regular-13{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(.64rem + .2vw)!important;line-height:calc(.9rem + .2vw)!important}.assessment-text-bold-13{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.64rem + .2vw)!important;line-height:calc(.9rem + .2vw)!important}.assessment-text-semibold-13{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.64rem + .2vw)!important;line-height:calc(.9rem + .2vw)!important}.assessment-text-medium-13{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(.64rem + .2vw)!important;line-height:calc(.9rem + .2vw)!important}.assessment-text-regular-14{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(.7rem + .2vw);line-height:calc(1.2rem + .2vw)}.assessment-text-bold-14{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.7rem + .2vw);line-height:calc(1.2rem + .2vw)}.assessment-text-medium-14{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(.7rem + .2vw)!important;line-height:calc(1.2rem + .2vw)!important}.assessment-text-semibold-14{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.7rem + .2vw);line-height:calc(1.2rem + .2vw)}.assessment-text-semibold-10{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.55rem + .1vw);line-height:calc(1rem + .1vw)}.assessment-text-regular-10{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(.55rem + .1vw)!important;line-height:calc(1rem + .1vw)}.assessment-text-regular-15{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(.85rem + .1vw);line-height:calc(1.4rem + .1vw)}.assessment-text-medium-15{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(.85rem + .1vw);line-height:calc(1.25rem + .1vw)}.assessment-text-semibold-15{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.85rem + .1vw);line-height:calc(1.25rem + .1vw)}.assessment-text-bold-15{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.85rem + .1vw);line-height:calc(1.25rem + .1vw)}.assessment-text-regular-16{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(.77rem + .25vw);line-height:calc(1.25rem + .2vw)}.assessment-text-semibold-16{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.77rem + .25vw);line-height:calc(1.25rem + .2vw)}.assessment-text-bold-16{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.77rem + .25vw);line-height:calc(1.25rem + .2vw)}.assessment-text-medium-16{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(.77rem + .25vw);line-height:calc(1.25rem + .2vw)}.assessment-text-regular-20{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1rem + .3vw);line-height:calc(1.2rem + .3vw)}.assessment-text-bold-20{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .3vw);line-height:calc(1.2rem + .3vw)}.assessment-text-semibold-20{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .3vw);line-height:calc(1.2rem + .3vw)}.assessment-text-medium-20{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .3vw);line-height:calc(1.2rem + .3vw)}.assessment-text-medium-18{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .125vw)!important;line-height:calc(1.5rem + .1vw)!important}.assessment-text-regular-18{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .125vw)!important;line-height:calc(1.5rem + .3vw)!important}.assessment-text-bold-18{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .125vw);line-height:calc(1.5rem + .1vw)}.assessment-text-semibold-18{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .125vw)!important;line-height:calc(1.5rem + .1vw)!important}.assessment-text-bold-34{overflow-wrap:break-word;font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(2rem + .15vw);line-height:calc(2.5rem + .15vw)}.assessment-text-medium-34{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(2rem + .15vw);line-height:calc(2.5rem + .15vw)}.assessment-text-bold-32{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1.3rem + .75vw);line-height:calc(1.625rem + .5vw)}.assessment-text-bold-22{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-regular-22{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-semibold-22{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-medium-22{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(1rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-bold-24{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.8rem + .75vw);line-height:calc(.9rem + .75vw)}.assessment-text-regular-24{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(.8rem + .75vw);line-height:calc(.9rem + .75vw)}.assessment-text-semibold-24{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.8rem + .75vw);line-height:calc(.9rem + .75vw)}.assessment-text-medium-24{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(.8rem + .75vw);line-height:calc(1.2rem + .75vw)}.assessment-text-regular-26{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1.5rem + .1vw);line-height:calc(1.8rem + .1vw)}.assessment-text-medium-26{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(1.5rem + .1vw);line-height:calc(1.8rem + .1vw)}.assessment-text-bold-26{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1.5rem + .1vw);line-height:calc(1.8rem + .1vw)}.assessment-text-semibold-26{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1.55rem + .1vw);line-height:calc(1.8rem + .1vw)}.assessment-text-regular-28{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1.55rem + .2vw);line-height:calc(2rem + .2vw)}.assessment-text-medium-28{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(1.55rem + .2vw);line-height:calc(2rem + .2vw)}.assessment-text-semibold-28{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1.55rem + .2vw);line-height:calc(2rem + .2vw);letter-spacing:1}.assessment-text-bold-28{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1.55rem + .2vw);line-height:calc(2rem + .2vw)}.assessment-text-regular-30{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1.5rem + .4vw)}.assessment-text-medium-30{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(1.5rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-bold-30{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1.5rem + .4vw);line-height:calc(2rem + .4vw)}.assessment-text-semibold-30{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1.5rem + .4vw);line-height:calc(1.5rem + .4vw);letter-spacing:.5}.assessment-text-bold-36{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(2rem + .25vw);line-height:calc(2.5rem + .3vw)}.assessment-text-semibold-36{font-weight:600;font-family:var(--assessment-font-family);font-size:calc(2rem + .25vw);line-height:calc(2.5rem + .3vw)}@media (min-height: 100vw) and (orientation: portrait){.assessment-text-bold-34{font-size:calc(1.8rem + .15vh);line-height:calc(2.2rem + .15vh)}.assessment-text-bold-32{font-size:calc(1.3rem + 1vh);line-height:calc(1.5rem + 1vh)}.assessment-text-semibold-30{font-size:calc(1.5rem + .4vh);line-height:calc(1.8rem + .4vh)}.assessment-text-medium-24{line-height:2.188rem}.assessment-text-medium-24,.assessment-text-regular-24,.assessment-text-semibold-24,.assessment-text-bold-24,.assessment-text-light-24{font-size:calc(1.3rem + .5vh);line-height:calc(1.8rem + .5vh)}.assessment-text-medium-18,.assessment-text-regular-18,.assessment-text-bold-18,.assessment-text-semibold-18,.assessment-text-light-18{font-size:calc(1rem + .1vh)!important;line-height:calc(1.6rem + .1vh)!important}.assessment-text-light-16,.assessment-text-bold-16{font-size:calc(.9rem + .3vh)!important;line-height:calc(1.2rem + .3vh)!important}.assessment-text-medium-16,.assessment-text-semibold-16,.assessment-text-regular-16{font-size:calc(.9rem + .2vh)!important;line-height:calc(1.4rem + .2vh)!important}.assessment-text-regular-15,.assessment-text-semibold-15,.assessment-text-bold-15,.assessment-text-light-15{font-size:calc(.8rem + .2vh);line-height:calc(1.27rem + .2vh)}.assessment-text-medium-15{font-size:calc(.8rem + .2vh);line-height:calc(1.27rem + .2vh)}.assessment-text-medium-12,.assessment-text-regular-12,.assessment-text-semibold-12,.assessment-text-bold-12,.assessment-text-medium-upper-12,.assessment-text-light-12{font-size:calc(.5rem + .4vh);line-height:calc(.8rem + .4vh)}.assessment-text-medium-14,.assessment-text-regular-14,.assessment-text-light-14,.assessment-text-medium-upper-14,.assessment-text-semibold-14,.assessment-text-bold-14{font-size:calc(.8rem + .1vh)!important;line-height:calc(1.2rem + .2vh)!important}.assessment-text-regular-13,.assessment-text-medium-13,.assessment-text-semibold-13,.assessment-text-bold-13,.assessment-text-light-13{font-size:calc(.7rem + .2vh)!important;line-height:calc(1rem + .3vh)!important}.assessment-text-regular-11,.assessment-text-medium-11,.assessment-text-semibold-11,.assessment-text-bold-11,.assessment-text-light-11{font-size:calc(.5rem + .2vh)!important;line-height:calc(.8rem + .2vh)!important}}.assessment-btn-primary{background-color:var(--assessment-primary-one);color:var(--assessment-white);border:.064rem solid var(--assessment-primary-one);border-radius:var(--assessment-border-radius-two)}.assessment-btn-primary-transparent{background-color:var(--assessment-white);color:var(--assessment-primary-one);border-radius:var(--assessment-border-radius-two);border:.064rem solid var(--assessment-primary-one)}.assessment-zoom-animation{transition:transform .2s ease;transform:translateZ(0);text-rendering:optimizeLegibility}.assessment-zoom-animation:hover{transform:scale(1.03)}.assessment-zoom-animation:active{transform:scale(1)}.assessment-zoom-animation:disabled{transform:none!important}.change-direction{transform:rotate(180deg);transition:.3s ease-out}.change-direction-reverse{transform:rotate(0);transition:.3s ease-out}.outline-0{outline:none}.cursor-grab{cursor:grab}.cursor-pointer{cursor:pointer}.action-icon{width:1.2rem}.mat-menu-item{height:inherit}.border-palette-F9DAA6{border:.064em solid var(--assessment-palette-F9DAA6)}.border-palette-C8DAF9{border:.064em solid var(--assessment-palette-C8DAF9)}.border-palette-B7E7CF{border:.064em solid var(--assessment-palette-B7E7CF)}.border-grey-ten-2{border:.12rem solid var(--assessment-grey-ten)}.custom-padding{padding:.4rem}.assessment-child-node:before{content:\"\";position:absolute;bottom:calc(100% - .7rem);top:-100vh;border-left:.064em solid var(--assessment-grey-five);border-bottom:.064em solid var(--assessment-grey-five);border-bottom-left-radius:.75rem;z-index:0;left:-1.5rem;width:1.5rem}@media screen and (max-width: 767px){.assessment-child-node:before{left:-1rem;width:1rem}}.question-text{word-break:break-word}.question-text.collapsed{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}\n"], components: [{ type: i1.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: i2.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["disabled", "expanded", "hideToggle", "togglePosition"], outputs: ["opened", "closed", "expandedChange", "afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { type: i2.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["tabIndex", "expandedHeight", "collapsedHeight"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.MatAccordion, selector: "mat-accordion", inputs: ["multi", "displayMode", "togglePosition", "hideToggle"], exportAs: ["matAccordion"] }], pipes: { "orderBy": i4.OrderByPipe } });
45
+ QuestionDetailsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: QuestionDetailsComponent, selector: "lib-question-details", inputs: { sectionQuestion: "sectionQuestion", question: "question", questionBank: "questionBank", labelConfig: "labelConfig", imageConfig: "imageConfig" }, outputs: { editQuestion: "editQuestion", duplicateQuestion: "duplicateQuestion", deleteParentQuestion: "deleteParentQuestion", deleteChildQuestion: "deleteChildQuestion" }, viewQueries: [{ propertyName: "questionText", first: true, predicate: ["questionText"], descendants: true }], ngImport: i0, template: "<div class=\"d-flex align-items-center justify-content-between mb-3\">\r\n <div class=\"d-flex flex-wrap gap-2\">\r\n <span\r\n class=\"assessment-border-radius-two p-2 assessment-bg-palette-FEF9F1 assessment-text-medium-12 border-palette-F9DAA6\">\r\n {{capitalizeFirst(question?.questionType?.labels?.[0]?.text)}}\r\n </span>\r\n <span *ngIf=\"question?.weight\"\r\n class=\"assessment-border-radius-two p-2 assessment-bg-palette-EDF3FD assessment-text-medium-12 border-palette-C8DAF9\">\r\n {{question?.weight}} {{labelConfig['COMMONS_ASSESSMENT.LABEL.MARKS']}}\r\n </span>\r\n <span *ngIf=\"question?.isMandatory\"\r\n class=\"assessment-border-radius-two p-2 assessment-bg-palette-E8F7F0 assessment-text-medium-12 border-palette-B7E7CF\">\r\n {{labelConfig['COMMONS_ASSESSMENT.LABEL.MANDATORY']}}\r\n </span>\r\n </div>\r\n <button [matMenuTriggerFor]=\"questionsMenu\" (click)=\"$event.stopPropagation()\" class=\"border-0 bg-transparent py-2\">\r\n <img [src]=\"imageConfig['COMMONS_ASSESSMENT.ICON.ACTION_DOTS']\"\r\n (error)=\"imageErrorHandler($event, 'assets/commons-assessment/images/action-dots.svg')\" />\r\n </button>\r\n <mat-menu #questionsMenu=\"matMenu\" class=\"mat-menu assessment-border-radius-two assessment-border-grey-four-1\">\r\n <button (click)=\"duplicateQuestion.emit(sectionQuestion)\" mat-menu-item\r\n class=\"py-2 assessment-text-semibold-12\">\r\n {{labelConfig['COMMONS_ASSESSMENT.LABEL.DUPLICATE']}}\r\n </button>\r\n <button (click)=\"deleteParentQuestion.emit(sectionQuestion)\" mat-menu-item\r\n class=\"py-2 assessment-text-semibold-12 assessment-text-danger\">\r\n {{labelConfig['COMMONS_ASSESSMENT.LABEL.DELETE']}}\r\n </button>\r\n </mat-menu>\r\n</div>\r\n<div class=\"col-12\">\r\n <div #questionText class=\"assessment-text-medium-15 question-text cursor-pointer\" [class.collapsed]=\"!expanded\"\r\n (click)=\"$event.stopPropagation(); editQuestion.emit({questionId: sectionQuestion?.questionId, isChildQuestion: false})\"\r\n [innerHTML]=\"question?.questionText?.[0]?.text\">\r\n </div>\r\n\r\n <span *ngIf=\"showToggle\" class=\"assessment-text-semibold-15 assessment-text-primary-one cursor-pointer\"\r\n (click)=\"$event.stopPropagation(); expanded = !expanded\">\r\n {{ labelConfig[expanded ? 'COMMONS_ASSESSMENT.LABEL.READ_LESS' : 'COMMONS_ASSESSMENT.LABEL.READ_MORE'] }}\r\n </span>\r\n</div>\r\n\r\n<!-- Child Questions -->\r\n<ng-container *ngIf=\"question?.defaultOptionsList?.length\">\r\n <div class=\"mt-4 col-12\">\r\n <div *ngFor=\"let option of question?.defaultOptionsList | orderBy\" class=\"my-3 d-flex align-items-start gap-2\">\r\n <div class=\"rounded-circle custom-padding border-grey-ten-2\"></div>\r\n <span class=\"assessment-text-medium-13\">{{option.options?.optionName?.[0]?.text}}</span>\r\n </div>\r\n </div>\r\n\r\n <mat-accordion *ngIf=\"childQuestionPresent(question)\">\r\n <mat-expansion-panel (click)=\"$event.stopPropagation()\"\r\n class=\"mt-4 col-12 border-0 overflow-hidden assessment-panel shadow-none bg-transparent\">\r\n <mat-expansion-panel-header class=\"p-0 bg-transparent pe-1 h-auto\">\r\n <div class=\"d-flex align-items-center gap-2 flex-grow-1 pe-2\">\r\n <span\r\n class=\"assessment-text-semibold-12 assessment-text-grey-eight\">{{labelConfig['COMMONS_ASSESSMENT.LABEL.CHILD_QUESTIONS']}}</span>\r\n <div class=\"flex-grow-1 border-bottom\"></div>\r\n </div>\r\n </mat-expansion-panel-header>\r\n <ng-container *ngFor=\"let option of question?.defaultOptionsList | orderBy\">\r\n <div *ngIf=\"option.childQuestionList?.length\" class=\"mt-3\">\r\n <p class=\"assessment-text-primary-one assessment-text-semibold-14 mb-0\">\r\n {{option.options?.optionName?.[0]?.text}}</p>\r\n <div class=\"position-relative overflow-hidden\">\r\n <div *ngFor=\"let childQuestionId of option.childQuestionList\"\r\n class=\"assessment-child-node position-relative mt-3 ms-md-4 ms-3\">\r\n <div *ngIf=\"questionBank[childQuestionId] as childQuestion\"\r\n class=\"d-flex align-items-start justify-content-between gap-3 ps-1\">\r\n <div (click)=\"$event.stopPropagation(); editQuestion.emit({questionId: childQuestionId, isChildQuestion: true})\"\r\n [innerHTML]=\"childQuestion?.questionText?.[0]?.text\"\r\n class=\"flex-grow-1 assessment-text-regular-13 question-text collapsed cursor-pointer\">\r\n </div>\r\n <span\r\n class=\"assessment-text-medium-12 assessment-text-grey-eight d-md-inline d-none text-nowrap\">\r\n {{capitalizeFirst(childQuestion?.questionType?.labels?.[0]?.text)}}\r\n </span>\r\n <img (click)=\"$event.stopPropagation(); deleteChildQuestion.emit({option: option, childQuestionId: childQuestionId})\"\r\n [src]=\"imageConfig['COMMONS_ASSESSMENT.ICON.DELETE']\"\r\n class=\"action-icon d-md-inline d-none cursor-pointer\" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n</ng-container>", styles: ["@charset \"UTF-8\";.assessment-text-grey-ten{color:var(--assessment-grey-ten)!important}.assessment-bg-grey-ten{background-color:var(--assessment-grey-ten)!important}.assessment-text-grey-nine{color:var(--assessment-grey-nine)!important}.assessment-bg-grey-nine{background-color:var(--assessment-grey-nine)!important}.assessment-text-grey-eight{color:var(--assessment-grey-eight)!important}.assessment-bg-grey-eight{background-color:var(--assessment-grey-eight)!important}.assessment-text-grey-seven{color:var(--assessment-grey-seven)!important}.assessment-bg-grey-seven{background-color:var(--assessment-grey-seven)!important}.assessment-text-grey-six{color:var(--assessment-grey-six)!important}.assessment-bg-grey-six{background-color:var(--assessment-grey-six)!important}.assessment-text-grey-five{color:var(--assessment-grey-five)!important}.assessment-bg-grey-five{background-color:var(--assessment-grey-five)!important}.assessment-text-grey-four{color:var(--assessment-grey-four)!important}.assessment-bg-grey-four{background-color:var(--assessment-grey-four)!important}.assessment-text-grey-three{color:var(--assessment-grey-three)!important}.assessment-bg-grey-three{background-color:var(--assessment-grey-three)!important}.assessment-text-grey-two{color:var(--assessment-grey-two)!important}.assessment-bg-grey-two{background-color:var(--assessment-grey-two)!important}.assessment-text-grey-one{color:var(--assessment-grey-one)!important}.assessment-bg-grey-one{background-color:var(--assessment-grey-one)!important}.assessment-text-white{color:var(--assessment-white)!important}.assessment-bg-white{background-color:var(--assessment-white)!important}.assessment-text-black{color:var(--assessment-black)!important}.assessment-bg-black{background-color:var(--assessment-black)!important}.assessment-text-danger{color:var(--assessment-danger)!important}.assessment-bg-danger{background-color:var(--assessment-danger)!important}.assessment-text-primary-one{color:var(--assessment-primary-one)!important}.assessment-bg-primary-one{background-color:var(--assessment-primary-one)!important}.assessment-text-primary-four{color:var(--assessment-primary-four)!important}.assessment-bg-primary-four{background-color:var(--assessment-primary-four)!important}.assessment-text-palette-EDF3FD{color:var(--assessment-palette-EDF3FD)!important}.assessment-bg-palette-EDF3FD{background-color:var(--assessment-palette-EDF3FD)!important}.assessment-text-palette-C8DAF9{color:var(--assessment-palette-C8DAF9)!important}.assessment-bg-palette-C8DAF9{background-color:var(--assessment-palette-C8DAF9)!important}.assessment-text-palette-ADC9F6{color:var(--assessment-palette-ADC9F6)!important}.assessment-bg-palette-ADC9F6{background-color:var(--assessment-palette-ADC9F6)!important}.assessment-text-palette-FEF9F1{color:var(--assessment-palette-FEF9F1)!important}.assessment-bg-palette-FEF9F1{background-color:var(--assessment-palette-FEF9F1)!important}.assessment-text-palette-F9DAA6{color:var(--assessment-palette-F9DAA6)!important}.assessment-bg-palette-F9DAA6{background-color:var(--assessment-palette-F9DAA6)!important}.assessment-text-palette-E8F7F0{color:var(--assessment-palette-E8F7F0)!important}.assessment-bg-palette-E8F7F0{background-color:var(--assessment-palette-E8F7F0)!important}.assessment-text-palette-B7E7CF{color:var(--assessment-palette-B7E7CF)!important}.assessment-bg-palette-B7E7CF{background-color:var(--assessment-palette-B7E7CF)!important}.assessment-box-shadow-one{box-shadow:var(--assessment-box-shadow-one)!important}.assessment-border-radius-one{border-radius:var(--assessment-border-radius-one)!important}.assessment-border-radius-two{border-radius:var(--assessment-border-radius-two)!important}.assessment-border-radius-three{border-radius:var(--assessment-border-radius-three)!important}.assessment-border-radius-four{border-radius:var(--assessment-border-radius-four)!important}.assessment-border-radius-five{border-radius:var(--assessment-border-radius-five)!important}.assessment-border-radius-six{border-radius:var(--assessment-border-radius-six)!important}.assessment-input-border-one{border:var(--assessment-input-border-one)!important}.assessment-input-border-invalid{border:var(--assessment-input-border-invalid)!important}.assessment-input-focus-border{border:var(--assessment-input-focus-border)!important}.assessment-border-two{border:var(--assessment-border-two)!important}.assessment-card-border{border:var(--assessment-card-border)!important}.assessment-tooltip-border{border:var(--assessment-tooltip-border)!important}.assessment-box-shadow-tooltip{box-shadow:var(--assessment-box-shadow-tooltip)!important}.assessment-button-padding{padding:var(--assessment-button-padding)!important}.assessment-button-padding-large{padding:var(--assessment-button-padding-large)!important}.assessment-input-padding{padding:var(--assessment-input-padding)!important}.assessment-text-font-family{color:var(--assessment-font-family)!important}.assessment-bg-font-family{background-color:var(--assessment-font-family)!important}.assessment-text-regular-12{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(.48rem + .3vw);line-height:calc(.9rem + .3vw)}.assessment-text-bold-12{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.48rem + .3vw);line-height:calc(.9rem + .3vw)}.assessment-text-semibold-12{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.48rem + .3vw);line-height:calc(.9rem + .3vw)}.assessment-text-semibold-11{font-weight:600;font-family:var(--assessment-font-family);font-size:calc(.48rem + .25vw);line-height:calc(.8rem + .25vw)}.assessment-text-medium-11{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(.48rem + .25vw);line-height:calc(.8rem + .25vw)}.assessment-text-regular-11{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(.48rem + .25vw);line-height:calc(.8rem + .25vw)}.assessment-text-medium-12{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(.48rem + .3vw);line-height:calc(.9rem + .3vw)}.assessment-text-regular-13{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(.64rem + .2vw)!important;line-height:calc(.9rem + .2vw)!important}.assessment-text-bold-13{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.64rem + .2vw)!important;line-height:calc(.9rem + .2vw)!important}.assessment-text-semibold-13{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.64rem + .2vw)!important;line-height:calc(.9rem + .2vw)!important}.assessment-text-medium-13{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(.64rem + .2vw)!important;line-height:calc(.9rem + .2vw)!important}.assessment-text-regular-14{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(.7rem + .2vw);line-height:calc(1.2rem + .2vw)}.assessment-text-bold-14{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.7rem + .2vw);line-height:calc(1.2rem + .2vw)}.assessment-text-medium-14{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(.7rem + .2vw)!important;line-height:calc(1.2rem + .2vw)!important}.assessment-text-semibold-14{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.7rem + .2vw);line-height:calc(1.2rem + .2vw)}.assessment-text-semibold-10{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.55rem + .1vw);line-height:calc(1rem + .1vw)}.assessment-text-regular-10{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(.55rem + .1vw)!important;line-height:calc(1rem + .1vw)}.assessment-text-regular-15{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(.85rem + .1vw);line-height:calc(1.4rem + .1vw)}.assessment-text-medium-15{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(.85rem + .1vw);line-height:calc(1.25rem + .1vw)}.assessment-text-semibold-15{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.85rem + .1vw);line-height:calc(1.25rem + .1vw)}.assessment-text-bold-15{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.85rem + .1vw);line-height:calc(1.25rem + .1vw)}.assessment-text-regular-16{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(.77rem + .25vw);line-height:calc(1.25rem + .2vw)}.assessment-text-semibold-16{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.77rem + .25vw);line-height:calc(1.25rem + .2vw)}.assessment-text-bold-16{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.77rem + .25vw);line-height:calc(1.25rem + .2vw)}.assessment-text-medium-16{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(.77rem + .25vw);line-height:calc(1.25rem + .2vw)}.assessment-text-regular-20{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1rem + .3vw);line-height:calc(1.2rem + .3vw)}.assessment-text-bold-20{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .3vw);line-height:calc(1.2rem + .3vw)}.assessment-text-semibold-20{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .3vw);line-height:calc(1.2rem + .3vw)}.assessment-text-medium-20{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .3vw);line-height:calc(1.2rem + .3vw)}.assessment-text-medium-18{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .125vw)!important;line-height:calc(1.5rem + .1vw)!important}.assessment-text-regular-18{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .125vw)!important;line-height:calc(1.5rem + .3vw)!important}.assessment-text-bold-18{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .125vw);line-height:calc(1.5rem + .1vw)}.assessment-text-semibold-18{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .125vw)!important;line-height:calc(1.5rem + .1vw)!important}.assessment-text-bold-34{overflow-wrap:break-word;font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(2rem + .15vw);line-height:calc(2.5rem + .15vw)}.assessment-text-medium-34{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(2rem + .15vw);line-height:calc(2.5rem + .15vw)}.assessment-text-bold-32{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1.3rem + .75vw);line-height:calc(1.625rem + .5vw)}.assessment-text-bold-22{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-regular-22{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-semibold-22{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-medium-22{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(1rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-bold-24{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.8rem + .75vw);line-height:calc(.9rem + .75vw)}.assessment-text-regular-24{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(.8rem + .75vw);line-height:calc(.9rem + .75vw)}.assessment-text-semibold-24{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.8rem + .75vw);line-height:calc(.9rem + .75vw)}.assessment-text-medium-24{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(.8rem + .75vw);line-height:calc(1.2rem + .75vw)}.assessment-text-regular-26{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1.5rem + .1vw);line-height:calc(1.8rem + .1vw)}.assessment-text-medium-26{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(1.5rem + .1vw);line-height:calc(1.8rem + .1vw)}.assessment-text-bold-26{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1.5rem + .1vw);line-height:calc(1.8rem + .1vw)}.assessment-text-semibold-26{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1.55rem + .1vw);line-height:calc(1.8rem + .1vw)}.assessment-text-regular-28{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1.55rem + .2vw);line-height:calc(2rem + .2vw)}.assessment-text-medium-28{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(1.55rem + .2vw);line-height:calc(2rem + .2vw)}.assessment-text-semibold-28{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1.55rem + .2vw);line-height:calc(2rem + .2vw);letter-spacing:1}.assessment-text-bold-28{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1.55rem + .2vw);line-height:calc(2rem + .2vw)}.assessment-text-regular-30{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1.5rem + .4vw)}.assessment-text-medium-30{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(1.5rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-bold-30{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1.5rem + .4vw);line-height:calc(2rem + .4vw)}.assessment-text-semibold-30{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1.5rem + .4vw);line-height:calc(1.5rem + .4vw);letter-spacing:.5}.assessment-text-bold-36{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(2rem + .25vw);line-height:calc(2.5rem + .3vw)}.assessment-text-semibold-36{font-weight:600;font-family:var(--assessment-font-family);font-size:calc(2rem + .25vw);line-height:calc(2.5rem + .3vw)}@media (min-height: 100vw) and (orientation: portrait){.assessment-text-bold-34{font-size:calc(1.8rem + .15vh);line-height:calc(2.2rem + .15vh)}.assessment-text-bold-32{font-size:calc(1.3rem + 1vh);line-height:calc(1.5rem + 1vh)}.assessment-text-semibold-30{font-size:calc(1.5rem + .4vh);line-height:calc(1.8rem + .4vh)}.assessment-text-medium-24{line-height:2.188rem}.assessment-text-medium-24,.assessment-text-regular-24,.assessment-text-semibold-24,.assessment-text-bold-24,.assessment-text-light-24{font-size:calc(1.3rem + .5vh);line-height:calc(1.8rem + .5vh)}.assessment-text-medium-18,.assessment-text-regular-18,.assessment-text-bold-18,.assessment-text-semibold-18,.assessment-text-light-18{font-size:calc(1rem + .1vh)!important;line-height:calc(1.6rem + .1vh)!important}.assessment-text-light-16,.assessment-text-bold-16{font-size:calc(.9rem + .3vh)!important;line-height:calc(1.2rem + .3vh)!important}.assessment-text-medium-16,.assessment-text-semibold-16,.assessment-text-regular-16{font-size:calc(.9rem + .2vh)!important;line-height:calc(1.4rem + .2vh)!important}.assessment-text-regular-15,.assessment-text-semibold-15,.assessment-text-bold-15,.assessment-text-light-15{font-size:calc(.8rem + .2vh);line-height:calc(1.27rem + .2vh)}.assessment-text-medium-15{font-size:calc(.8rem + .2vh);line-height:calc(1.27rem + .2vh)}.assessment-text-medium-12,.assessment-text-regular-12,.assessment-text-semibold-12,.assessment-text-bold-12,.assessment-text-medium-upper-12,.assessment-text-light-12{font-size:calc(.5rem + .4vh);line-height:calc(.8rem + .4vh)}.assessment-text-medium-14,.assessment-text-regular-14,.assessment-text-light-14,.assessment-text-medium-upper-14,.assessment-text-semibold-14,.assessment-text-bold-14{font-size:calc(.8rem + .1vh)!important;line-height:calc(1.2rem + .2vh)!important}.assessment-text-regular-13,.assessment-text-medium-13,.assessment-text-semibold-13,.assessment-text-bold-13,.assessment-text-light-13{font-size:calc(.7rem + .2vh)!important;line-height:calc(1rem + .3vh)!important}.assessment-text-regular-11,.assessment-text-medium-11,.assessment-text-semibold-11,.assessment-text-bold-11,.assessment-text-light-11{font-size:calc(.5rem + .2vh)!important;line-height:calc(.8rem + .2vh)!important}}.assessment-btn-primary{background-color:var(--assessment-primary-one);color:var(--assessment-white);border:.064rem solid var(--assessment-primary-one);border-radius:var(--assessment-border-radius-two)}.assessment-btn-primary-transparent{background-color:var(--assessment-white);color:var(--assessment-primary-one);border-radius:var(--assessment-border-radius-two);border:.064rem solid var(--assessment-primary-one)}.assessment-zoom-animation{transition:transform .2s ease;transform:translateZ(0);text-rendering:optimizeLegibility}.assessment-zoom-animation:hover{transform:scale(1.03)}.assessment-zoom-animation:active{transform:scale(1)}.assessment-zoom-animation:disabled{transform:none!important}.change-direction{transform:rotate(180deg);transition:.3s ease-out}.change-direction-reverse{transform:rotate(0);transition:.3s ease-out}.outline-0{outline:none}.cursor-grab{cursor:grab}.cursor-pointer{cursor:pointer}.action-icon{width:1.2rem}.mat-menu-item{height:inherit}.border-palette-F9DAA6{border:.064em solid var(--assessment-palette-F9DAA6)}.border-palette-C8DAF9{border:.064em solid var(--assessment-palette-C8DAF9)}.border-palette-B7E7CF{border:.064em solid var(--assessment-palette-B7E7CF)}.border-grey-ten-2{border:.12rem solid var(--assessment-grey-ten)}.custom-padding{padding:.4rem}.assessment-child-node:before{content:\"\";position:absolute;bottom:calc(100% - .7rem);top:-100vh;border-left:.064em solid var(--assessment-grey-five);border-bottom:.064em solid var(--assessment-grey-five);border-bottom-left-radius:.75rem;z-index:0;left:-1.5rem;width:1.5rem}@media screen and (max-width: 767px){.assessment-child-node:before{left:-1rem;width:1rem}}.question-text{word-break:break-word}.question-text.collapsed{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}\n"], components: [{ type: i1.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: i2.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["disabled", "expanded", "hideToggle", "togglePosition"], outputs: ["opened", "closed", "expandedChange", "afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { type: i2.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["tabIndex", "expandedHeight", "collapsedHeight"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.MatAccordion, selector: "mat-accordion", inputs: ["multi", "displayMode", "togglePosition", "hideToggle"], exportAs: ["matAccordion"] }], pipes: { "orderBy": i4.OrderByPipe } });
46
46
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: QuestionDetailsComponent, decorators: [{
47
47
  type: Component,
48
48
  args: [{
@@ -72,4 +72,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
72
72
  type: ViewChild,
73
73
  args: ['questionText']
74
74
  }] } });
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb24tZGV0YWlscy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21tb25zLWFzc2Vzc21lbnQvc3JjL2xpYi9tb2R1bGVzL2Fzc2Vzc21lbnQtbWFrZXIvY29tcG9uZW50cy9xdWVzdGlvbi1kZXRhaWxzL3F1ZXN0aW9uLWRldGFpbHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tbW9ucy1hc3Nlc3NtZW50L3NyYy9saWIvbW9kdWxlcy9hc3Nlc3NtZW50LW1ha2VyL2NvbXBvbmVudHMvcXVlc3Rpb24tZGV0YWlscy9xdWVzdGlvbi1kZXRhaWxzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBUzdHLE1BQU0sT0FBTyx3QkFBd0I7SUFMckM7UUFTVyxnQkFBVyxHQUE4QixFQUFFLENBQUM7UUFDNUMsZ0JBQVcsR0FBOEIsRUFBRSxDQUFDO1FBRTNDLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQWlELENBQUM7UUFDakYsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQW1CLENBQUM7UUFDeEQseUJBQW9CLEdBQUcsSUFBSSxZQUFZLEVBQW1CLENBQUM7UUFDM0Qsd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQTRDLENBQUM7UUFFN0YsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixlQUFVLEdBQUcsS0FBSyxDQUFDO0tBa0NwQjtJQS9CQyxlQUFlO1FBQ2IsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7UUFFL0IsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDbEIsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO1NBQ3hDO0lBQ0gsQ0FBQztJQUVELGFBQWE7UUFDWCxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQztRQUMzQyxJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQztJQUN0RCxDQUFDO0lBRUQsZUFBZSxDQUFDLElBQXdCO1FBQ3RDLElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFDckIsT0FBTyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMzRyxDQUFDO0lBRUQsaUJBQWlCLENBQUMsS0FBVSxFQUFFLFFBQWdCO1FBQzVDLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHLFFBQVEsQ0FBQztJQUM5QixDQUFDO0lBRUQsb0JBQW9CLENBQUMsUUFBNEI7O1FBQy9DLE9BQU8sTUFBQSxRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUUsa0JBQWtCLDBDQUFFLElBQUksQ0FDdkMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFBLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxpQkFBaUIsS0FBSSxNQUFNLENBQUMsaUJBQWlCLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FDM0UsQ0FBQztJQUNKLENBQUM7O3NIQTlDVSx3QkFBd0I7MEdBQXhCLHdCQUF3QixtZkNUckMsdXRMQXFGZTs0RkQ1RUYsd0JBQXdCO2tCQUxwQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFdBQVcsRUFBRSxtQ0FBbUM7b0JBQ2hELFNBQVMsRUFBRSxDQUFDLG1DQUFtQyxDQUFDO2lCQUNqRDs4QkFFVSxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUksWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBQ0csb0JBQW9CO3NCQUE3QixNQUFNO2dCQUNHLG1CQUFtQjtzQkFBNUIsTUFBTTtnQkFJb0IsWUFBWTtzQkFBdEMsU0FBUzt1QkFBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBc3Nlc3NtZW50UXVlc3Rpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQvaW50ZXJmYWNlcy9xdWVzdGlvbi5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBTZWN0aW9uUXVlc3Rpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQvaW50ZXJmYWNlcy9xdWVzdGlvbi1wYXBlci5pbnRlcmZhY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItcXVlc3Rpb24tZGV0YWlscycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3F1ZXN0aW9uLWRldGFpbHMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3F1ZXN0aW9uLWRldGFpbHMuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUXVlc3Rpb25EZXRhaWxzQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgQElucHV0KCkgc2VjdGlvblF1ZXN0aW9uITogU2VjdGlvblF1ZXN0aW9uO1xyXG4gIEBJbnB1dCgpIHF1ZXN0aW9uITogQXNzZXNzbWVudFF1ZXN0aW9uO1xyXG4gIEBJbnB1dCgpIHF1ZXN0aW9uQmFuayE6IFJlY29yZDxudW1iZXIsIEFzc2Vzc21lbnRRdWVzdGlvbj47XHJcbiAgQElucHV0KCkgbGFiZWxDb25maWc6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcclxuICBASW5wdXQoKSBpbWFnZUNvbmZpZzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xyXG5cclxuICBAT3V0cHV0KCkgZWRpdFF1ZXN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjx7IHF1ZXN0aW9uSWQ6IGFueSwgaXNDaGlsZFF1ZXN0aW9uOiBib29sZWFuIH0+KCk7XHJcbiAgQE91dHB1dCgpIGR1cGxpY2F0ZVF1ZXN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjxTZWN0aW9uUXVlc3Rpb24+KCk7XHJcbiAgQE91dHB1dCgpIGRlbGV0ZVBhcmVudFF1ZXN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjxTZWN0aW9uUXVlc3Rpb24+KCk7XHJcbiAgQE91dHB1dCgpIGRlbGV0ZUNoaWxkUXVlc3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyPHsgb3B0aW9uOiBhbnksIGNoaWxkUXVlc3Rpb25JZDogbnVtYmVyIH0+KCk7XHJcblxyXG4gIGV4cGFuZGVkID0gZmFsc2U7XHJcbiAgc2hvd1RvZ2dsZSA9IGZhbHNlO1xyXG4gIEBWaWV3Q2hpbGQoJ3F1ZXN0aW9uVGV4dCcpIHF1ZXN0aW9uVGV4dCE6IEVsZW1lbnRSZWY7XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5jaGVja092ZXJmbG93KCkpO1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlVGV4dCgpIHtcclxuICAgIHRoaXMuZXhwYW5kZWQgPSAhdGhpcy5leHBhbmRlZDtcclxuXHJcbiAgICBpZiAoIXRoaXMuZXhwYW5kZWQpIHtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmNoZWNrT3ZlcmZsb3coKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjaGVja092ZXJmbG93KCkge1xyXG4gICAgY29uc3QgZWwgPSB0aGlzLnF1ZXN0aW9uVGV4dC5uYXRpdmVFbGVtZW50O1xyXG4gICAgdGhpcy5zaG93VG9nZ2xlID0gZWwuc2Nyb2xsSGVpZ2h0ID4gZWwuY2xpZW50SGVpZ2h0O1xyXG4gIH1cclxuXHJcbiAgY2FwaXRhbGl6ZUZpcnN0KHRleHQ6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHN0cmluZyB7XHJcbiAgICBpZiAoIXRleHQpIHJldHVybiAnJztcclxuICAgIHJldHVybiB0ZXh0LnRvTG93ZXJDYXNlKCkuc3BsaXQoJyAnKS5tYXAod29yZCA9PiB3b3JkLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgd29yZC5zbGljZSgxKSkuam9pbignICcpO1xyXG4gIH1cclxuXHJcbiAgaW1hZ2VFcnJvckhhbmRsZXIoZXZlbnQ6IGFueSwgZmlsZVBhdGg6IHN0cmluZykge1xyXG4gICAgZXZlbnQudGFyZ2V0LnNyYyA9IGZpbGVQYXRoO1xyXG4gIH1cclxuXHJcbiAgY2hpbGRRdWVzdGlvblByZXNlbnQocXVlc3Rpb246IEFzc2Vzc21lbnRRdWVzdGlvbikge1xyXG4gICAgcmV0dXJuIHF1ZXN0aW9uPy5kZWZhdWx0T3B0aW9uc0xpc3Q/LnNvbWUoXHJcbiAgICAgIG9wdGlvbiA9PiBvcHRpb24/LmNoaWxkUXVlc3Rpb25MaXN0ICYmIG9wdGlvbi5jaGlsZFF1ZXN0aW9uTGlzdC5sZW5ndGggPiAwXHJcbiAgICApO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBtYi0zXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtd3JhcCBnYXAtMlwiPlxyXG4gICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgIGNsYXNzPVwiYXNzZXNzbWVudC1ib3JkZXItcmFkaXVzLXR3byBwLTIgYXNzZXNzbWVudC1iZy1wYWxldHRlLUZFRjlGMSBhc3Nlc3NtZW50LXRleHQtbWVkaXVtLTEyIGJvcmRlci1wYWxldHRlLUY5REFBNlwiPlxyXG4gICAgICAgICAgICB7e2NhcGl0YWxpemVGaXJzdChxdWVzdGlvbj8ucXVlc3Rpb25UeXBlPy5sYWJlbHM/LlswXT8udGV4dCl9fVxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8c3BhbiAqbmdJZj1cInF1ZXN0aW9uPy53ZWlnaHRcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImFzc2Vzc21lbnQtYm9yZGVyLXJhZGl1cy10d28gcC0yIGFzc2Vzc21lbnQtYmctcGFsZXR0ZS1FREYzRkQgYXNzZXNzbWVudC10ZXh0LW1lZGl1bS0xMiBib3JkZXItcGFsZXR0ZS1DOERBRjlcIj5cclxuICAgICAgICAgICAge3txdWVzdGlvbj8ud2VpZ2h0fX0ge3tsYWJlbENvbmZpZ1snQ09NTU9OU19BU1NFU1NNRU5ULkxBQkVMLk1BUktTJ119fVxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8c3BhbiAqbmdJZj1cInF1ZXN0aW9uPy5pc01hbmRhdG9yeVwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiYXNzZXNzbWVudC1ib3JkZXItcmFkaXVzLXR3byBwLTIgYXNzZXNzbWVudC1iZy1wYWxldHRlLUU4RjdGMCBhc3Nlc3NtZW50LXRleHQtbWVkaXVtLTEyIGJvcmRlci1wYWxldHRlLUI3RTdDRlwiPlxyXG4gICAgICAgICAgICB7e2xhYmVsQ29uZmlnWydDT01NT05TX0FTU0VTU01FTlQuTEFCRUwuTUFOREFUT1JZJ119fVxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGJ1dHRvbiBbbWF0TWVudVRyaWdnZXJGb3JdPVwicXVlc3Rpb25zTWVudVwiIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIiBjbGFzcz1cImJvcmRlci0wIGJnLXRyYW5zcGFyZW50IHB5LTJcIj5cclxuICAgICAgICA8aW1nIFtzcmNdPVwiaW1hZ2VDb25maWdbJ0NPTU1PTlNfQVNTRVNTTUVOVC5JQ09OLkFDVElPTl9ET1RTJ11cIlxyXG4gICAgICAgICAgICAoZXJyb3IpPVwiaW1hZ2VFcnJvckhhbmRsZXIoJGV2ZW50LCAnYXNzZXRzL2NvbW1vbnMtYXNzZXNzbWVudC9pbWFnZXMvYWN0aW9uLWRvdHMuc3ZnJylcIiAvPlxyXG4gICAgPC9idXR0b24+XHJcbiAgICA8bWF0LW1lbnUgI3F1ZXN0aW9uc01lbnU9XCJtYXRNZW51XCIgY2xhc3M9XCJtYXQtbWVudSBhc3Nlc3NtZW50LWJvcmRlci1yYWRpdXMtdHdvIGFzc2Vzc21lbnQtYm9yZGVyLWdyZXktZm91ci0xXCI+XHJcbiAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiZHVwbGljYXRlUXVlc3Rpb24uZW1pdChzZWN0aW9uUXVlc3Rpb24pXCIgbWF0LW1lbnUtaXRlbSBjbGFzcz1cInB5LTIgYXNzZXNzbWVudC10ZXh0LXNlbWlib2xkLTEyXCI+XHJcbiAgICAgICAgICAgIHt7bGFiZWxDb25maWdbJ0NPTU1PTlNfQVNTRVNTTUVOVC5MQUJFTC5EVVBMSUNBVEUnXX19XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiZGVsZXRlUGFyZW50UXVlc3Rpb24uZW1pdChzZWN0aW9uUXVlc3Rpb24pXCIgbWF0LW1lbnUtaXRlbVxyXG4gICAgICAgICAgICBjbGFzcz1cInB5LTIgYXNzZXNzbWVudC10ZXh0LXNlbWlib2xkLTEyIGFzc2Vzc21lbnQtdGV4dC1kYW5nZXJcIj5cclxuICAgICAgICAgICAge3tsYWJlbENvbmZpZ1snQ09NTU9OU19BU1NFU1NNRU5ULkxBQkVMLkRFTEVURSddfX1cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgIDwvbWF0LW1lbnU+XHJcbjwvZGl2PlxyXG48ZGl2IGNsYXNzPVwiY29sLTEyXCI+XHJcbiAgICA8ZGl2ICNxdWVzdGlvblRleHQgY2xhc3M9XCJhc3Nlc3NtZW50LXRleHQtbWVkaXVtLTE1IHF1ZXN0aW9uLXRleHQgY3Vyc29yLXBvaW50ZXJcIiBbY2xhc3MuY29sbGFwc2VkXT1cIiFleHBhbmRlZFwiXHJcbiAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKTsgZWRpdFF1ZXN0aW9uLmVtaXQoe3F1ZXN0aW9uSWQ6IHNlY3Rpb25RdWVzdGlvbj8ucXVlc3Rpb25JZCwgaXNDaGlsZFF1ZXN0aW9uOiBmYWxzZX0pXCJcclxuICAgICAgICBbaW5uZXJIVE1MXT1cInF1ZXN0aW9uPy5xdWVzdGlvblRleHQ/LlswXT8udGV4dFwiPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPHNwYW4gKm5nSWY9XCJzaG93VG9nZ2xlXCIgY2xhc3M9XCJhc3Nlc3NtZW50LXRleHQtc2VtaWJvbGQtMTUgYXNzZXNzbWVudC10ZXh0LXByaW1hcnktb25lIGN1cnNvci1wb2ludGVyXCJcclxuICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyBleHBhbmRlZCA9ICFleHBhbmRlZFwiPlxyXG4gICAgICAgIHt7IGxhYmVsQ29uZmlnW2V4cGFuZGVkID8gJ0NPTU1PTlNfQVNTRVNTTUVOVC5MQUJFTC5SRUFEX0xFU1MnIDogJ0NPTU1PTlNfQVNTRVNTTUVOVC5MQUJFTC5SRUFEX01PUkUnXSB9fVxyXG4gICAgPC9zcGFuPlxyXG48L2Rpdj5cclxuXHJcbjwhLS0gQ2hpbGQgUXVlc3Rpb25zIC0tPlxyXG48bmctY29udGFpbmVyICpuZ0lmPVwicXVlc3Rpb24/LmRlZmF1bHRPcHRpb25zTGlzdD8ubGVuZ3RoXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwibXQtNCBjb2wtMTJcIj5cclxuICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgcXVlc3Rpb24/LmRlZmF1bHRPcHRpb25zTGlzdCB8IG9yZGVyQnlcIiBjbGFzcz1cIm15LTMgZC1mbGV4IGFsaWduLWl0ZW1zLXN0YXJ0IGdhcC0yXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3VuZGVkLWNpcmNsZSBjdXN0b20tcGFkZGluZyBib3JkZXItZ3JleS10ZW4tMlwiPjwvZGl2PlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFzc2Vzc21lbnQtdGV4dC1tZWRpdW0tMTNcIj57e29wdGlvbi5vcHRpb25zPy5vcHRpb25OYW1lPy5bMF0/LnRleHR9fTwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxtYXQtYWNjb3JkaW9uICpuZ0lmPVwiY2hpbGRRdWVzdGlvblByZXNlbnQocXVlc3Rpb24pXCI+XHJcbiAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiIGNsYXNzPVwiYmctdHJhbnNwYXJlbnQgbXQtNCBjb2wtMTJcIj5cclxuICAgICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIGNsYXNzPVwicC0wIGJnLXRyYW5zcGFyZW50IHBlLTFcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yIGZsZXgtZ3Jvdy0xIHBlLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFzc2Vzc21lbnQtdGV4dC1zZW1pYm9sZC0xMiBhc3Nlc3NtZW50LXRleHQtZ3JleS1laWdodFwiPnt7bGFiZWxDb25maWdbJ0NPTU1PTlNfQVNTRVNTTUVOVC5MQUJFTC5DSElMRF9RVUVTVElPTlMnXX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LWdyb3ctMSBib3JkZXItYm90dG9tXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIHF1ZXN0aW9uPy5kZWZhdWx0T3B0aW9uc0xpc3QgfCBvcmRlckJ5XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwib3B0aW9uLmNoaWxkUXVlc3Rpb25MaXN0Py5sZW5ndGhcIiBjbGFzcz1cIm10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cImFzc2Vzc21lbnQtdGV4dC1wcmltYXJ5LW9uZSBhc3Nlc3NtZW50LXRleHQtc2VtaWJvbGQtMTQgbWItMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7e29wdGlvbi5vcHRpb25zPy5vcHRpb25OYW1lPy5bMF0/LnRleHR9fTwvcD5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9zaXRpb24tcmVsYXRpdmUgb3ZlcmZsb3ctaGlkZGVuXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGNoaWxkUXVlc3Rpb25JZCBvZiBvcHRpb24uY2hpbGRRdWVzdGlvbkxpc3RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhc3Nlc3NtZW50LWNoaWxkLW5vZGUgcG9zaXRpb24tcmVsYXRpdmUgbXQtMyBtcy1tZC00IG1zLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJxdWVzdGlvbkJhbmtbY2hpbGRRdWVzdGlvbklkXSBhcyBjaGlsZFF1ZXN0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1zdGFydCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBnYXAtMyBwcy0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyBlZGl0UXVlc3Rpb24uZW1pdCh7cXVlc3Rpb25JZDogY2hpbGRRdWVzdGlvbklkLCBpc0NoaWxkUXVlc3Rpb246IHRydWV9KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiY2hpbGRRdWVzdGlvbj8ucXVlc3Rpb25UZXh0Py5bMF0/LnRleHRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZsZXgtZ3Jvdy0xIGFzc2Vzc21lbnQtdGV4dC1yZWd1bGFyLTEzIHF1ZXN0aW9uLXRleHQgY29sbGFwc2VkIGN1cnNvci1wb2ludGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhc3Nlc3NtZW50LXRleHQtbWVkaXVtLTEyIGFzc2Vzc21lbnQtdGV4dC1ncmV5LWVpZ2h0IGQtbWQtaW5saW5lIGQtbm9uZSB0ZXh0LW5vd3JhcFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2NhcGl0YWxpemVGaXJzdChjaGlsZFF1ZXN0aW9uPy5xdWVzdGlvblR5cGU/LmxhYmVscz8uWzBdPy50ZXh0KX19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKTsgZGVsZXRlQ2hpbGRRdWVzdGlvbi5lbWl0KHtvcHRpb246IG9wdGlvbiwgY2hpbGRRdWVzdGlvbklkOiBjaGlsZFF1ZXN0aW9uSWR9KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzcmNdPVwiaW1hZ2VDb25maWdbJ0NPTU1PTlNfQVNTRVNTTUVOVC5JQ09OLkRFTEVURSddXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhY3Rpb24taWNvbiBkLW1kLWlubGluZSBkLW5vbmUgY3Vyc29yLXBvaW50ZXJcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cclxuICAgIDwvbWF0LWFjY29yZGlvbj5cclxuPC9uZy1jb250YWluZXI+Il19
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb24tZGV0YWlscy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21tb25zLWFzc2Vzc21lbnQvc3JjL2xpYi9tb2R1bGVzL2Fzc2Vzc21lbnQtbWFrZXIvY29tcG9uZW50cy9xdWVzdGlvbi1kZXRhaWxzL3F1ZXN0aW9uLWRldGFpbHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tbW9ucy1hc3Nlc3NtZW50L3NyYy9saWIvbW9kdWxlcy9hc3Nlc3NtZW50LW1ha2VyL2NvbXBvbmVudHMvcXVlc3Rpb24tZGV0YWlscy9xdWVzdGlvbi1kZXRhaWxzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBUzdHLE1BQU0sT0FBTyx3QkFBd0I7SUFMckM7UUFTVyxnQkFBVyxHQUE4QixFQUFFLENBQUM7UUFDNUMsZ0JBQVcsR0FBOEIsRUFBRSxDQUFDO1FBRTNDLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQWlELENBQUM7UUFDakYsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQW1CLENBQUM7UUFDeEQseUJBQW9CLEdBQUcsSUFBSSxZQUFZLEVBQW1CLENBQUM7UUFDM0Qsd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQTRDLENBQUM7UUFFN0YsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixlQUFVLEdBQUcsS0FBSyxDQUFDO0tBa0NwQjtJQS9CQyxlQUFlO1FBQ2IsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7UUFFL0IsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDbEIsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO1NBQ3hDO0lBQ0gsQ0FBQztJQUVELGFBQWE7UUFDWCxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQztRQUMzQyxJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQztJQUN0RCxDQUFDO0lBRUQsZUFBZSxDQUFDLElBQXdCO1FBQ3RDLElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFDckIsT0FBTyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMzRyxDQUFDO0lBRUQsaUJBQWlCLENBQUMsS0FBVSxFQUFFLFFBQWdCO1FBQzVDLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHLFFBQVEsQ0FBQztJQUM5QixDQUFDO0lBRUQsb0JBQW9CLENBQUMsUUFBNEI7O1FBQy9DLE9BQU8sTUFBQSxRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUUsa0JBQWtCLDBDQUFFLElBQUksQ0FDdkMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFBLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxpQkFBaUIsS0FBSSxNQUFNLENBQUMsaUJBQWlCLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FDM0UsQ0FBQztJQUNKLENBQUM7O3NIQTlDVSx3QkFBd0I7MEdBQXhCLHdCQUF3QixtZkNUckMsNjBMQXdGZTs0RkQvRUYsd0JBQXdCO2tCQUxwQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFdBQVcsRUFBRSxtQ0FBbUM7b0JBQ2hELFNBQVMsRUFBRSxDQUFDLG1DQUFtQyxDQUFDO2lCQUNqRDs4QkFFVSxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUksWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBQ0csb0JBQW9CO3NCQUE3QixNQUFNO2dCQUNHLG1CQUFtQjtzQkFBNUIsTUFBTTtnQkFJb0IsWUFBWTtzQkFBdEMsU0FBUzt1QkFBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBc3Nlc3NtZW50UXVlc3Rpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQvaW50ZXJmYWNlcy9xdWVzdGlvbi5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBTZWN0aW9uUXVlc3Rpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQvaW50ZXJmYWNlcy9xdWVzdGlvbi1wYXBlci5pbnRlcmZhY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItcXVlc3Rpb24tZGV0YWlscycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3F1ZXN0aW9uLWRldGFpbHMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3F1ZXN0aW9uLWRldGFpbHMuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUXVlc3Rpb25EZXRhaWxzQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgQElucHV0KCkgc2VjdGlvblF1ZXN0aW9uITogU2VjdGlvblF1ZXN0aW9uO1xyXG4gIEBJbnB1dCgpIHF1ZXN0aW9uITogQXNzZXNzbWVudFF1ZXN0aW9uO1xyXG4gIEBJbnB1dCgpIHF1ZXN0aW9uQmFuayE6IFJlY29yZDxudW1iZXIsIEFzc2Vzc21lbnRRdWVzdGlvbj47XHJcbiAgQElucHV0KCkgbGFiZWxDb25maWc6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcclxuICBASW5wdXQoKSBpbWFnZUNvbmZpZzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xyXG5cclxuICBAT3V0cHV0KCkgZWRpdFF1ZXN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjx7IHF1ZXN0aW9uSWQ6IGFueSwgaXNDaGlsZFF1ZXN0aW9uOiBib29sZWFuIH0+KCk7XHJcbiAgQE91dHB1dCgpIGR1cGxpY2F0ZVF1ZXN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjxTZWN0aW9uUXVlc3Rpb24+KCk7XHJcbiAgQE91dHB1dCgpIGRlbGV0ZVBhcmVudFF1ZXN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjxTZWN0aW9uUXVlc3Rpb24+KCk7XHJcbiAgQE91dHB1dCgpIGRlbGV0ZUNoaWxkUXVlc3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyPHsgb3B0aW9uOiBhbnksIGNoaWxkUXVlc3Rpb25JZDogbnVtYmVyIH0+KCk7XHJcblxyXG4gIGV4cGFuZGVkID0gZmFsc2U7XHJcbiAgc2hvd1RvZ2dsZSA9IGZhbHNlO1xyXG4gIEBWaWV3Q2hpbGQoJ3F1ZXN0aW9uVGV4dCcpIHF1ZXN0aW9uVGV4dCE6IEVsZW1lbnRSZWY7XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5jaGVja092ZXJmbG93KCkpO1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlVGV4dCgpIHtcclxuICAgIHRoaXMuZXhwYW5kZWQgPSAhdGhpcy5leHBhbmRlZDtcclxuXHJcbiAgICBpZiAoIXRoaXMuZXhwYW5kZWQpIHtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmNoZWNrT3ZlcmZsb3coKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjaGVja092ZXJmbG93KCkge1xyXG4gICAgY29uc3QgZWwgPSB0aGlzLnF1ZXN0aW9uVGV4dC5uYXRpdmVFbGVtZW50O1xyXG4gICAgdGhpcy5zaG93VG9nZ2xlID0gZWwuc2Nyb2xsSGVpZ2h0ID4gZWwuY2xpZW50SGVpZ2h0O1xyXG4gIH1cclxuXHJcbiAgY2FwaXRhbGl6ZUZpcnN0KHRleHQ6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHN0cmluZyB7XHJcbiAgICBpZiAoIXRleHQpIHJldHVybiAnJztcclxuICAgIHJldHVybiB0ZXh0LnRvTG93ZXJDYXNlKCkuc3BsaXQoJyAnKS5tYXAod29yZCA9PiB3b3JkLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgd29yZC5zbGljZSgxKSkuam9pbignICcpO1xyXG4gIH1cclxuXHJcbiAgaW1hZ2VFcnJvckhhbmRsZXIoZXZlbnQ6IGFueSwgZmlsZVBhdGg6IHN0cmluZykge1xyXG4gICAgZXZlbnQudGFyZ2V0LnNyYyA9IGZpbGVQYXRoO1xyXG4gIH1cclxuXHJcbiAgY2hpbGRRdWVzdGlvblByZXNlbnQocXVlc3Rpb246IEFzc2Vzc21lbnRRdWVzdGlvbikge1xyXG4gICAgcmV0dXJuIHF1ZXN0aW9uPy5kZWZhdWx0T3B0aW9uc0xpc3Q/LnNvbWUoXHJcbiAgICAgIG9wdGlvbiA9PiBvcHRpb24/LmNoaWxkUXVlc3Rpb25MaXN0ICYmIG9wdGlvbi5jaGlsZFF1ZXN0aW9uTGlzdC5sZW5ndGggPiAwXHJcbiAgICApO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBtYi0zXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtd3JhcCBnYXAtMlwiPlxyXG4gICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgIGNsYXNzPVwiYXNzZXNzbWVudC1ib3JkZXItcmFkaXVzLXR3byBwLTIgYXNzZXNzbWVudC1iZy1wYWxldHRlLUZFRjlGMSBhc3Nlc3NtZW50LXRleHQtbWVkaXVtLTEyIGJvcmRlci1wYWxldHRlLUY5REFBNlwiPlxyXG4gICAgICAgICAgICB7e2NhcGl0YWxpemVGaXJzdChxdWVzdGlvbj8ucXVlc3Rpb25UeXBlPy5sYWJlbHM/LlswXT8udGV4dCl9fVxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8c3BhbiAqbmdJZj1cInF1ZXN0aW9uPy53ZWlnaHRcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImFzc2Vzc21lbnQtYm9yZGVyLXJhZGl1cy10d28gcC0yIGFzc2Vzc21lbnQtYmctcGFsZXR0ZS1FREYzRkQgYXNzZXNzbWVudC10ZXh0LW1lZGl1bS0xMiBib3JkZXItcGFsZXR0ZS1DOERBRjlcIj5cclxuICAgICAgICAgICAge3txdWVzdGlvbj8ud2VpZ2h0fX0ge3tsYWJlbENvbmZpZ1snQ09NTU9OU19BU1NFU1NNRU5ULkxBQkVMLk1BUktTJ119fVxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8c3BhbiAqbmdJZj1cInF1ZXN0aW9uPy5pc01hbmRhdG9yeVwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiYXNzZXNzbWVudC1ib3JkZXItcmFkaXVzLXR3byBwLTIgYXNzZXNzbWVudC1iZy1wYWxldHRlLUU4RjdGMCBhc3Nlc3NtZW50LXRleHQtbWVkaXVtLTEyIGJvcmRlci1wYWxldHRlLUI3RTdDRlwiPlxyXG4gICAgICAgICAgICB7e2xhYmVsQ29uZmlnWydDT01NT05TX0FTU0VTU01FTlQuTEFCRUwuTUFOREFUT1JZJ119fVxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGJ1dHRvbiBbbWF0TWVudVRyaWdnZXJGb3JdPVwicXVlc3Rpb25zTWVudVwiIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIiBjbGFzcz1cImJvcmRlci0wIGJnLXRyYW5zcGFyZW50IHB5LTJcIj5cclxuICAgICAgICA8aW1nIFtzcmNdPVwiaW1hZ2VDb25maWdbJ0NPTU1PTlNfQVNTRVNTTUVOVC5JQ09OLkFDVElPTl9ET1RTJ11cIlxyXG4gICAgICAgICAgICAoZXJyb3IpPVwiaW1hZ2VFcnJvckhhbmRsZXIoJGV2ZW50LCAnYXNzZXRzL2NvbW1vbnMtYXNzZXNzbWVudC9pbWFnZXMvYWN0aW9uLWRvdHMuc3ZnJylcIiAvPlxyXG4gICAgPC9idXR0b24+XHJcbiAgICA8bWF0LW1lbnUgI3F1ZXN0aW9uc01lbnU9XCJtYXRNZW51XCIgY2xhc3M9XCJtYXQtbWVudSBhc3Nlc3NtZW50LWJvcmRlci1yYWRpdXMtdHdvIGFzc2Vzc21lbnQtYm9yZGVyLWdyZXktZm91ci0xXCI+XHJcbiAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiZHVwbGljYXRlUXVlc3Rpb24uZW1pdChzZWN0aW9uUXVlc3Rpb24pXCIgbWF0LW1lbnUtaXRlbVxyXG4gICAgICAgICAgICBjbGFzcz1cInB5LTIgYXNzZXNzbWVudC10ZXh0LXNlbWlib2xkLTEyXCI+XHJcbiAgICAgICAgICAgIHt7bGFiZWxDb25maWdbJ0NPTU1PTlNfQVNTRVNTTUVOVC5MQUJFTC5EVVBMSUNBVEUnXX19XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiZGVsZXRlUGFyZW50UXVlc3Rpb24uZW1pdChzZWN0aW9uUXVlc3Rpb24pXCIgbWF0LW1lbnUtaXRlbVxyXG4gICAgICAgICAgICBjbGFzcz1cInB5LTIgYXNzZXNzbWVudC10ZXh0LXNlbWlib2xkLTEyIGFzc2Vzc21lbnQtdGV4dC1kYW5nZXJcIj5cclxuICAgICAgICAgICAge3tsYWJlbENvbmZpZ1snQ09NTU9OU19BU1NFU1NNRU5ULkxBQkVMLkRFTEVURSddfX1cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgIDwvbWF0LW1lbnU+XHJcbjwvZGl2PlxyXG48ZGl2IGNsYXNzPVwiY29sLTEyXCI+XHJcbiAgICA8ZGl2ICNxdWVzdGlvblRleHQgY2xhc3M9XCJhc3Nlc3NtZW50LXRleHQtbWVkaXVtLTE1IHF1ZXN0aW9uLXRleHQgY3Vyc29yLXBvaW50ZXJcIiBbY2xhc3MuY29sbGFwc2VkXT1cIiFleHBhbmRlZFwiXHJcbiAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKTsgZWRpdFF1ZXN0aW9uLmVtaXQoe3F1ZXN0aW9uSWQ6IHNlY3Rpb25RdWVzdGlvbj8ucXVlc3Rpb25JZCwgaXNDaGlsZFF1ZXN0aW9uOiBmYWxzZX0pXCJcclxuICAgICAgICBbaW5uZXJIVE1MXT1cInF1ZXN0aW9uPy5xdWVzdGlvblRleHQ/LlswXT8udGV4dFwiPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPHNwYW4gKm5nSWY9XCJzaG93VG9nZ2xlXCIgY2xhc3M9XCJhc3Nlc3NtZW50LXRleHQtc2VtaWJvbGQtMTUgYXNzZXNzbWVudC10ZXh0LXByaW1hcnktb25lIGN1cnNvci1wb2ludGVyXCJcclxuICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyBleHBhbmRlZCA9ICFleHBhbmRlZFwiPlxyXG4gICAgICAgIHt7IGxhYmVsQ29uZmlnW2V4cGFuZGVkID8gJ0NPTU1PTlNfQVNTRVNTTUVOVC5MQUJFTC5SRUFEX0xFU1MnIDogJ0NPTU1PTlNfQVNTRVNTTUVOVC5MQUJFTC5SRUFEX01PUkUnXSB9fVxyXG4gICAgPC9zcGFuPlxyXG48L2Rpdj5cclxuXHJcbjwhLS0gQ2hpbGQgUXVlc3Rpb25zIC0tPlxyXG48bmctY29udGFpbmVyICpuZ0lmPVwicXVlc3Rpb24/LmRlZmF1bHRPcHRpb25zTGlzdD8ubGVuZ3RoXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwibXQtNCBjb2wtMTJcIj5cclxuICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgcXVlc3Rpb24/LmRlZmF1bHRPcHRpb25zTGlzdCB8IG9yZGVyQnlcIiBjbGFzcz1cIm15LTMgZC1mbGV4IGFsaWduLWl0ZW1zLXN0YXJ0IGdhcC0yXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3VuZGVkLWNpcmNsZSBjdXN0b20tcGFkZGluZyBib3JkZXItZ3JleS10ZW4tMlwiPjwvZGl2PlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFzc2Vzc21lbnQtdGV4dC1tZWRpdW0tMTNcIj57e29wdGlvbi5vcHRpb25zPy5vcHRpb25OYW1lPy5bMF0/LnRleHR9fTwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxtYXQtYWNjb3JkaW9uICpuZ0lmPVwiY2hpbGRRdWVzdGlvblByZXNlbnQocXVlc3Rpb24pXCI+XHJcbiAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwibXQtNCBjb2wtMTIgYm9yZGVyLTAgb3ZlcmZsb3ctaGlkZGVuIGFzc2Vzc21lbnQtcGFuZWwgc2hhZG93LW5vbmUgYmctdHJhbnNwYXJlbnRcIj5cclxuICAgICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIGNsYXNzPVwicC0wIGJnLXRyYW5zcGFyZW50IHBlLTEgaC1hdXRvXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMiBmbGV4LWdyb3ctMSBwZS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhc3Nlc3NtZW50LXRleHQtc2VtaWJvbGQtMTIgYXNzZXNzbWVudC10ZXh0LWdyZXktZWlnaHRcIj57e2xhYmVsQ29uZmlnWydDT01NT05TX0FTU0VTU01FTlQuTEFCRUwuQ0hJTERfUVVFU1RJT05TJ119fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1ncm93LTEgYm9yZGVyLWJvdHRvbVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBxdWVzdGlvbj8uZGVmYXVsdE9wdGlvbnNMaXN0IHwgb3JkZXJCeVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm9wdGlvbi5jaGlsZFF1ZXN0aW9uTGlzdD8ubGVuZ3RoXCIgY2xhc3M9XCJtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJhc3Nlc3NtZW50LXRleHQtcHJpbWFyeS1vbmUgYXNzZXNzbWVudC10ZXh0LXNlbWlib2xkLTE0IG1iLTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3tvcHRpb24ub3B0aW9ucz8ub3B0aW9uTmFtZT8uWzBdPy50ZXh0fX08L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvc2l0aW9uLXJlbGF0aXZlIG92ZXJmbG93LWhpZGRlblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBjaGlsZFF1ZXN0aW9uSWQgb2Ygb3B0aW9uLmNoaWxkUXVlc3Rpb25MaXN0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYXNzZXNzbWVudC1jaGlsZC1ub2RlIHBvc2l0aW9uLXJlbGF0aXZlIG10LTMgbXMtbWQtNCBtcy0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwicXVlc3Rpb25CYW5rW2NoaWxkUXVlc3Rpb25JZF0gYXMgY2hpbGRRdWVzdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtc3RhcnQganVzdGlmeS1jb250ZW50LWJldHdlZW4gZ2FwLTMgcHMtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKTsgZWRpdFF1ZXN0aW9uLmVtaXQoe3F1ZXN0aW9uSWQ6IGNoaWxkUXVlc3Rpb25JZCwgaXNDaGlsZFF1ZXN0aW9uOiB0cnVlfSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cImNoaWxkUXVlc3Rpb24/LnF1ZXN0aW9uVGV4dD8uWzBdPy50ZXh0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4LWdyb3ctMSBhc3Nlc3NtZW50LXRleHQtcmVndWxhci0xMyBxdWVzdGlvbi10ZXh0IGNvbGxhcHNlZCBjdXJzb3ItcG9pbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYXNzZXNzbWVudC10ZXh0LW1lZGl1bS0xMiBhc3Nlc3NtZW50LXRleHQtZ3JleS1laWdodCBkLW1kLWlubGluZSBkLW5vbmUgdGV4dC1ub3dyYXBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tjYXBpdGFsaXplRmlyc3QoY2hpbGRRdWVzdGlvbj8ucXVlc3Rpb25UeXBlPy5sYWJlbHM/LlswXT8udGV4dCl9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7IGRlbGV0ZUNoaWxkUXVlc3Rpb24uZW1pdCh7b3B0aW9uOiBvcHRpb24sIGNoaWxkUXVlc3Rpb25JZDogY2hpbGRRdWVzdGlvbklkfSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3JjXT1cImltYWdlQ29uZmlnWydDT01NT05TX0FTU0VTU01FTlQuSUNPTi5ERUxFVEUnXVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWN0aW9uLWljb24gZC1tZC1pbmxpbmUgZC1ub25lIGN1cnNvci1wb2ludGVyXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L21hdC1leHBhbnNpb24tcGFuZWw+XHJcbiAgICA8L21hdC1hY2NvcmRpb24+XHJcbjwvbmctY29udGFpbmVyPiJdfQ==