vcomply-workflow-engine 6.1.69 → 6.1.70

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.
@@ -190,6 +190,7 @@ export class FormatAndEvidenceComponent {
190
190
  original_filename: data.org_file,
191
191
  linkSet: '',
192
192
  type: file.type,
193
+ fid: data?.fid,
193
194
  });
194
195
  delete this.formate.uploadInProgress[uid];
195
196
  this.emitValue();
@@ -330,4 +331,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
330
331
  }], formatEvidanceData: [{
331
332
  type: Input
332
333
  }] } });
333
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LWFuZC1ldmlkZW5jZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2Zvcm1hdC1hbmQtZXZpZGVuY2UvZm9ybWF0LWFuZC1ldmlkZW5jZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2Zvcm1hdC1hbmQtZXZpZGVuY2UvZm9ybWF0LWFuZC1ldmlkZW5jZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUdULE1BQU0sRUFDTixZQUFZLEVBQ1osS0FBSyxHQUNOLE1BQU0sZUFBZSxDQUFDO0FBS3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMxRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7Ozs7Ozs7QUFPNUQsTUFBTSxPQUFPLDBCQUEwQjtJQU1yQyxJQUFhLGtCQUFrQixDQUFDLEtBQVU7UUFDeEMsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1NBQzlDO0lBQ0gsQ0FBQztJQUdELFlBQ1UscUJBQTRDLEVBQzVDLGFBQTRCLEVBQzVCLFdBQXdCLEVBQ3hCLGVBQWdDO1FBSGhDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFDNUMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBaEIxQyxXQUFNLEdBQUcsTUFBTSxD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QUMsVUFBVTtnQkFDNUIsT0FBTyxFQUFFLENBQUM7Z0JBQ1YsYUFBYSxFQUFFLENBQUM7Z0JBQ2hCLFNBQVMsRUFBRSxDQUFDO2FBQ2IsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzsrR0F6VFUsMEJBQTBCO21HQUExQiwwQkFBMEIsME9DckJ2Qyx5OVVBNE1NOzs0RkR2TE8sMEJBQTBCO2tCQUx0QyxTQUFTOytCQUNFLHlCQUF5QjtnTUFNekIsV0FBVztzQkFBcEIsTUFBTTtnQkFDRSxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNPLGtCQUFrQjtzQkFBOUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgT25Jbml0LFxuICBPbkNoYW5nZXMsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uL3dvcmtmbG93LXNlcnZpY2VzL2F1dGguc2VydmljZSc7XG5pbXBvcnQgeyBQb2xpY3lTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vd29ya2Zsb3ctc2VydmljZXMvcG9saWN5LnNlcnZpY2UnO1xuaW1wb3J0IHsgU25hY2tCYXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdWkta2l0L3NuYWNrLWJhci9zbmFjay1iYXIuc2VydmljZSc7XG5pbXBvcnQgeyBSZXNwb25zaWJpbGl0eVNlcnZpY2UgfSBmcm9tICcuLi8uLi93b3JrZmxvdy1zZXJ2aWNlcy9yZXNwb25zaWJpbGl0eS5zZXJ2aWNlJztcbmltcG9ydCB7IEFTU0VUUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9hc3NldHMuY29uc3RhbnRzJztcbmltcG9ydCB7IEZJTEVfVVJMIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL2ZpbGUtdXBsb2FkLmNvbnN0YW50JztcbmltcG9ydCB7IEZJTEVfU0laRSB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9wb2xpY3kuY29uc3RhbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZm9ybWF0LWFuZC1ldmlkZW5jZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JtYXQtYW5kLWV2aWRlbmNlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZm9ybWF0LWFuZC1ldmlkZW5jZS5jb21wb25lbnQubGVzcycsICcuLi8uLi9mb3Jtcy5sZXNzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1hdEFuZEV2aWRlbmNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQVNTRVRTID0gQVNTRVRTO1xuICBAT3V0cHV0KCkgdXBkYXRlRmlsZXMgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBJbnB1dCgpIG1vZGUgPSAnJztcbiAgQElucHV0KCkgY2F0ZWdvcmllczogYW55W10gPSBbXTtcbiAgQElucHV0KCkgb3JnYW5pemF0aW9uX2lkOiBhbnkgPSAnJztcbiAgQElucHV0KCkgc2V0IGZvcm1hdEV2aWRhbmNlRGF0YSh2YWx1ZTogYW55KSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLmluaXRpYWxpemVEYXRhKHZhbHVlLCAnbm90IG5nIG9uIGluaXQnKTtcbiAgICB9XG4gIH1cbiAgaXNOZXdMaW5rRGlzYWJsZWQgPSBmYWxzZTtcbiAgaXNFZGl0RGlzYWJsZWQgPSBmYWxzZTtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZXNwb25zaWJpbGl0eVNlcnZpY2U6IFJlc3BvbnNpYmlsaXR5U2VydmljZSxcbiAgICBwcml2YXRlIHBvbGljeVNlcnZpY2U6IFBvbGljeVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzbmFja2JhclNlcnZpY2U6IFNuYWNrQmFyU2VydmljZVxuICApIHsgfVxuXG4gIGZvcm1hdGU6IGFueSA9IHtcbiAgICBoYXNVcGxvYWRGb3JtYXRlOiBmYWxzZSxcbiAgICBmb3JtYXRlVHlwZTogJ0ZJTEUnLCAvLyBMSU5LXG4gICAgaXNFdmlkZW5jZVJlcXVpcmVkOiBmYWxzZSxcbiAgICBsaW5rczogW10sXG4gICAgZmlsZXM6IFtdLFxuICAgIHVwbG9hZEluUHJvZ3Jlc3M6IHt9LFxuICB9O1xuXG4gIG5ld0xpbmsgPSB7XG4gICAgbGluazogJycsXG4gICAgY29udGFpbnNFcnJvcjogZmFsc2UsXG4gIH07XG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmZvcm1hdEV2aWRhbmNlRGF0YSkge1xuICAgICAgdGhpcy5pbml0aWFsaXplRGF0YSh0aGlzLmZvcm1hdEV2aWRhbmNlRGF0YSwgJ25nIG9uIGluaXQnKTtcbiAgICB9XG4gIH1cblxuICBpbml0aWFsaXplRGF0YShzZXR0aW5nczogYW55LCB0eXBlOiBzdHJpbmcpIHtcbiAgICBjb25zb2xlLmxvZygnaW5pdGlhbGl6ZURhdGEnLHNldHRpbmdzKTtcbiAgICB0aGlzLmZvcm1hdGUuaGFzVXBsb2FkRm9ybWF0ZSA9IHNldHRpbmdzPy5mb3JtYXRSZXF1aXJlZCA/PyBmYWxzZTtcbiAgICB0aGlzLmZvcm1hdGUuZm9ybWF0ZVR5cGUgPVxuICAgICAgc2V0dGluZ3M/LmZvcm1hdExpbmtzPy5sZW5ndGggPiAwID8gJ0xJTksnIDogJ0ZJTEUnO1xuICAgIHRoaXMuZm9ybWF0ZS5pc0V2aWRlbmNlUmVxdWlyZWQgPSBzZXR0aW5ncz8uZXZpZGVuY2VSZXF1aXJlZCA/PyBmYWxzZTtcbiAgICB0aGlzLmZvcm1hdGUubGlua3MgPSB0aGlzLmFycmF5dG9MaW5rT2JqZWN0KHNldHRpbmdzPy5mb3JtYXRMaW5rcykgPz8gW107XG4gICAgaWYgKHRoaXMubW9kZSA9PSAncmVwb3J0QUNhc2UnKSB7XG4gICAgICB0aGlzLmZvcm1hdGUuZmlsZXMgPSBzZXR0aW5ncztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5mb3JtYXRlLmZpbGVzID0gc2V0dGluZ3M/LmZvcm1hdEZpbGVzID8/IFtdO1xuICAgIH1cbiAgfVxuICB0b2dnbGVJc0Zvcm1hdGVVcGxvYWQoc3RhdHVzOiBib29sZWFuKSB7XG4gICAgaWYgKHN0YXR1cyA9PT0gdHJ1ZSkge1xuICAgICAgdGhpcy5mb3JtYXRlLmhhc1VwbG9hZEZvcm1hdGUgPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZvcm1hdGUuaGFzVXBsb2FkRm9ybWF0ZSA9IGZhbHNlO1xuICAgIH1cbiAgICB0aGlzLmVtaXRWYWx1ZSgpO1xuICB9XG5cbiAgdG9nZ2xlSXNGb3JtYXRSZXF1aXJlZChzdGF0dXM6IGJvb2xlYW4pIHtcbiAgICBpZiAoc3RhdHVzID09PSB0cnVlKSB7XG4gICAgICB0aGlzLmZvcm1hdGUuaXNFdmlkZW5jZVJlcXVpcmVkID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5mb3JtYXRlLmlzRXZpZGVuY2VSZXF1aXJlZCA9IGZhbHNlO1xuICAgIH1cbiAgICB0aGlzLmVtaXRWYWx1ZSgpO1xuICB9XG5cbiAgdG9nZ2xlQXR0YWNobWVudFR5cGUodHlwZTogc3RyaW5nKSB7XG4gICAgdGhpcy5mb3JtYXRlLmZvcm1hdGVUeXBlID0gdHlwZTtcbiAgICBpZiAodHlwZSA9PT0gJ0xJTksnICYmIHRoaXMuZm9ybWF0ZS5saW5rcy5sZW5ndGggPT09IDApIHtcbiAgICAgIC8vIFRPRE9cbiAgICB9XG4gICAgdGhpcy5lbWl0VmFsdWUoKTtcbiAgfVxuXG4gIGluc2VydExpbmsobW9kZTogYW55LCBpbmRleDogbnVtYmVyID0gLTEpIHtcbiAgICAvLyBjb25zdCB1cmxSZWdleCA9IG5ldyBSZWdFeHAoJyhodHRwcz86Ly8pPyhbXFxcXGRhLXouLV0rKVxcXFwuKFthLXouXXsyLDZ9KVsvXFxcXHcgLi1dKi8/Jyk7XG4gICAgY29uc3QgdXJsUmVnZXggPVxuICAgICAgLyhodHRwcz86XFwvXFwvKD86d3d3XFwufCg/IXd3dykpW2EtekEtWjAtOV1bYS16QS1aMC05LV0rW2EtekEtWjAtOV1cXC5bXlxcc117Mix9fHd3d1xcLlthLXpBLVowLTldW2EtekEtWjAtOS1dK1thLXpBLVowLTldXFwuW15cXHNdezIsfXxodHRwcz86XFwvXFwvKD86d3d3XFwufCg/IXd3dykpW2EtekEtWjAtOV0rXFwuW15cXHNdezIsfXx3d3dcXC5bYS16QS1aMC05XStcXC5bXlxcc117Mix9KS9naTtcbiAgICBpZiAobW9kZSA9PT0gJ0NSRUFURScpIHtcbiAgICAgIGlmICh0aGlzLm5ld0xpbmsubGluay5sZW5ndGggPT09IDApIHtcbiAgICAgICAgdGhpcy5yZXNldE5ld0xpbmsoKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3QgaXNWYWxpZCA9IHVybFJlZ2V4LnRlc3QodGhpcy5uZXdMaW5rLmxpbmspO1xuICAgICAgaWYgKGlzVmFsaWQpIHtcbiAgICAgICAgdGhpcy5uZXdMaW5rLmNvbnRhaW5zRXJyb3IgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5mb3JtYXRlLmxpbmtzLnB1c2godGhpcy5uZXdMaW5rKTtcbiAgICAgICAgdGhpcy5yZXNldE5ld0xpbmsoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMubmV3TGluay5jb250YWluc0Vycm9yID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKG1vZGUgPT09ICdFRElUJykge1xuICAgICAgaWYgKHRoaXMuZm9ybWF0ZS5saW5rc1tpbmRleF0ubGluay5sZW5ndGggPT09IDApIHtcbiAgICAgICAgdGhpcy5mb3JtYXRlLmxpbmtzLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgIHRoaXMuaXNFZGl0RW5hYmxlZCgpO1xuICAgICAgICB0aGlzLmlzTmV3TGlua0Rpc2FibGVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMuZW1pdFZhbHVlKCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGlzVmFsaWQgPSB1cmxSZWdleC50ZXN0KHRoaXMuZm9ybWF0ZS5saW5rc1tpbmRleF0ubGluayk7XG4gICAgICBpZiAoaXNWYWxpZCkge1xuICAgICAgICB0aGlzLmZvcm1hdGUubGlua3NbaW5kZXhdLmlzRWRpdGluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmZvcm1hdGUubGlua3NbaW5kZXhdLmNvbnRhaW5zRXJyb3IgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5mb3JtYXRlLmxpbmtzW2luZGV4XS5pc0VkaXRpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5pc05ld0xpbmtEaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmlzRWRpdEVuYWJsZWQoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZm9ybWF0ZS5saW5rc1tpbmRleF0uY29udGFpbnNFcnJvciA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuZW1pdFZhbHVlKCk7XG4gIH1cblxuICBlZGl0TGluayhpbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy5mb3JtYXRlLmxpbmtzW2luZGV4XS5pc0VkaXRpbmcgPSB0cnVlO1xuICAgIHRoaXMuaXNOZXdMaW5rRGlzYWJsZWQgPSB0cnVlO1xuICAgIHRoaXMuaXNFZGl0RW5hYmxlZCgpO1xuICB9XG5cbiAgZGVsZXRlTGluayhpbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy5mb3JtYXRlLmxpbmtzLnNwbGljZShpbmRleCwgMSk7XG4gICAgdGhpcy5pc0VkaXRFbmFibGVkKCk7XG4gICAgdGhpcy5lbWl0VmFsdWUoKTtcbiAgfVxuXG4gIHJlc2V0TmV3TGluaygpIHtcbiAgICB0aGlzLm5ld0xpbmsgPSB7XG4gICAgICBsaW5rOiAnJyxcbiAgICAgIGNvbnRhaW5zRXJyb3I6IGZhbHNlLFxuICAgIH07XG4gICAgdGhpcy5lbWl0VmFsdWUoKTtcbiAgfVxuXG4gIHByaXZhdGUgZmlsZVByb2Nlc3NpbmcoZmlsZTogRmlsZSwgdWlkOiBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy5wb2xpY3lTZXJ2aWNlLmZpbGVTaXplTGltaXQoZmlsZSkpIHtcbiAgICAgIHRoaXMudXBsb2FkRmlsZShmaWxlLCB1aWQpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNuYWNrYmFyU2VydmljZS5zaG93KEZJTEVfU0laRS5NRVNTQUdFLCBGSUxFX1NJWkUuRVJST1IpO1xuICAgIH1cbiAgfVxuXG4gIG9uRmlsZURyb3BwZWQoZmlsZXM6IGFueSkge1xuICAgIEFycmF5LmZyb20oZmlsZXMpLmZvckVhY2goKGZpbGU6IGFueSkgPT4ge1xuICAgICAgY29uc3QgdWlkOiBzdHJpbmcgPSBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMiwgMTQpO1xuICAgICAgdGhpcy5maWxlUHJvY2Vzc2luZyhmaWxlLCB1aWQpO1xuICAgIH0pO1xuICB9XG5cbiAgdXBsb2FkRmlsZShmaWxlOiBhbnksIHVpZDogc3RyaW5nKSB7XG4gICAgdGhpcy5mb3JtYXRlLnVwbG9hZEluUHJvZ3Jlc3NbdWlkXSA9IGZpbGUubmFtZTtcbiAgICBjb25zdCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgIGZvcm1EYXRhLmFwcGVuZCgnZmlsZScsIGZpbGUpO1xuICAgIGlmICh0aGlzLm1vZGUgPT0gJ3BvbGljeScgfHwgdGhpcy5tb2RlID09ICdwb2xpY3lSZXZpZXdlcicpIHtcbiAgICAgIGNvbnN0IHBhdGggPSAnby8nICsgdGhpcy5vcmdhbml6YXRpb25faWQgKyAnL3BvbGljeS8nO1xuICAgICAgdGhpcy5wb2xpY3lTZXJ2aWNlXG4gICAgICAgIC5maWxlVXBsb2FkV29ya3Jvb20oZm9ybURhdGEsIHBhdGgpXG4gICAgICAgIC5zdWJzY3JpYmUoKGRhdGE6IGFueSkgPT4ge1xuICAgICAgICAgIHRoaXMuZm9ybWF0ZS5maWxlcy5wdXNoKHtcbiAgICAgICAgICAgIGZpbGVwYXRoOiBwYXRoLFxuICAgICAgICAgICAgZmlsZV9uYW1lOiBkYXRhLm9yZ19maWxlLFxuICAgICAgICAgICAgZmlsZW5hbWU6IGRhdGEubmFtZSxcbiAgICAgICAgICAgIG9yaWdpbmFsX2ZpbGVuYW1lOiBkYXRhLm9yZ19maWxlLFxuICAgICAgICAgICAgbGlua1NldDogJycsXG4gICAgICAgICAgICB0eXBlOiBmaWxlLnR5cGUsXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgZGVsZXRlIHRoaXMuZm9ybWF0ZS51cGxvYWRJblByb2dyZXNzW3VpZF07XG4gICAgICAgICAgdGhpcy5lbWl0VmFsdWUoKTtcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHVybCA9IGBvcmctJHt0aGlzLm9yZ2FuaXphdGlvbl9pZH0ke0ZJTEVfVVJMLmZvcm1hdH1gO1xuICAgICAgdGhpcy5yZXNwb25zaWJpbGl0eVNlcnZpY2VcbiAgICAgICAgLnVwbG9hZFRvTm9kZShmb3JtRGF0YSwgdXJsKVxuICAgICAgICAuc3Vic2NyaWJlKChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgICB0aGlzLmZvcm1hdGUuZmlsZXMucHVzaCh7XG4gICAgICAgICAgICBmaWxlcGF0aDpkYXRhPy5maWxlX3VybF9wYXRoLFxuICAgICAgICAgICAgZmlsZV9uYW1lOiBkYXRhLm9yZ19maWxlLFxuICAgICAgICAgICAgZmlsZW5hbWU6IGRhdGEubmFtZSxcbiAgICAgICAgICAgIG9yaWdpbmFsX2ZpbGVuYW1lOiBkYXRhLm9yZ19maWxlLFxuICAgICAgICAgICAgdHlwZTogZmlsZS50eXBlLFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIGRlbGV0ZSB0aGlzLmZvcm1hdGUudXBsb2FkSW5Qcm9ncmVzc1t1aWRdO1xuICAgICAgICAgIHRoaXMuZW1pdFZhbHVlKCk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGRlbGV0ZUF0dGFjaG1lbnQoaW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMuZm9ybWF0ZS5maWxlcy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIHRoaXMuZW1pdFZhbHVlKCk7XG4gIH1cblxuICBlbWl0VmFsdWUoKSB7XG4gICAgaWYgKHRoaXMubW9kZSA9PSAncmVwb3J0QUNhc2UnKSB7XG4gICAgICB0aGlzLnVwZGF0ZUZpbGVzLmVtaXQodGhpcy5mb3JtYXRlKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHRoaXMubW9kZSA9PSAncG9saWN5JyB8fCB0aGlzLm1vZGUgPT0gJ3BvbGljeVJldmlld2VyJykge1xuICAgICAgY29uc3QgcGF5bG9hZCA9IHtcbiAgICAgICAgaXNGb3JtYXRlVXBsb2FkZWQ6IHRoaXMuZm9ybWF0ZS5oYXNVcGxvYWRGb3JtYXRlLFxuICAgICAgICBsaW5rczpcbiAgICAgICAgICB0aGlzLmZvcm1hdGUuZm9ybWF0ZVR5cGUgPT09ICdMSU5LJ1xuICAgICAgICAgICAgPyB0aGlzLmdldExpbmtzQXJyYXkoXG4gICAgICAgICAgICAgICAgdGhpcy5mb3JtYXRlLmxpbmtzPy5sZW5ndGggPyBbLi4udGhpcy5mb3JtYXRlLmxpbmtzXSA6IFtdXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIDogW10sXG4gICAgICAgIGZpbGVzOiB0aGlzLmZvcm1hdGUuZm9ybWF0ZVR5cGUgPT09ICdGSUxFJyA/IHRoaXMuZm9ybWF0ZS5maWxlcyA6IFtdLFxuICAgICAgICBmb3JtYXRlVHlwZTogdGhpcy5mb3JtYXRlLmZvcm1hdGVUeXBlLFxuICAgICAgICBpc0V2aWRlbmNlUmVxdWlyZWQ6IHRoaXMuZm9ybWF0ZS5pc0V2aWRlbmNlUmVxdWlyZWQsXG4gICAgICB9O1xuICAgICAgcGF5bG9hZC5saW5rcyA9IHBheWxvYWQubGlua3MuZmlsdGVyKChlbGU6IGFueSkgPT4gZWxlICE9PSB1bmRlZmluZWQpO1xuXG4gICAgICB0aGlzLnVwZGF0ZUZpbGVzLmVtaXQocGF5bG9hZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHBheWxvYWQgPSB7XG4gICAgICAgIGlzRm9ybWF0ZVVwbG9hZGVkOiB0aGlzLmZvcm1hdGUuaGFzVXBsb2FkRm9ybWF0ZSxcbiAgICAgICAgbGlua3M6XG4gICAgICAgICAgdGhpcy5mb3JtYXRlLmhhc1VwbG9hZEZvcm1hdGUgJiYgdGhpcy5mb3JtYXRlLmZvcm1hdGVUeXBlID09PSAnTElOSydcbiAgICAgICAgICAgID8gdGhpcy5nZXRMaW5rc0FycmF5KFsuLi50aGlzLmZvcm1hdGUubGlua3NdKVxuICAgICAgICAgICAgOiBbXSxcbiAgICAgICAgZmlsZXM6XG4gICAgICAgICAgdGhpcy5mb3JtYXRlLmhhc1VwbG9hZEZvcm1hdGUgJiYgdGhpcy5mb3JtYXRlLmZvcm1hdGVUeXBlID09PSAnRklMRSdcbiAgICAgICAgICAgID8gdGhpcy5mb3JtYXRlLmZpbGVzXG4gICAgICAgICAgICA6IFtdLFxuICAgICAgICBmb3JtYXRlVHlwZTogdGhpcy5mb3JtYXRlLmZvcm1hdGVUeXBlLFxuICAgICAgICBpc0V2aWRlbmNlUmVxdWlyZWQ6IHRoaXMuZm9ybWF0ZS5pc0V2aWRlbmNlUmVxdWlyZWQsXG4gICAgICB9O1xuICAgICAgcGF5bG9hZC5saW5rcyA9IHBheWxvYWQubGlua3MuZmlsdGVyKChlbGU6IGFueSkgPT4gZWxlICE9PSB1bmRlZmluZWQpO1xuICAgICAgdGhpcy51cGRhdGVGaWxlcy5lbWl0KHBheWxvYWQpO1xuICAgIH1cbiAgfVxuICBnZXRMaW5rc0FycmF5KGxpbmtzOiBhbnkpIHtcbiAgICBjb25zdCBsaW5rID0gbGlua3MubWFwKChlOiBhbnkpID0+IHtcbiAgICAgIGlmIChlLmxpbmsgJiYgIWU/LmNvbnRhaW5zRXJyb3IgJiYgIWU/LmlzRWRpdGluZykge1xuICAgICAgICByZXR1cm4gZS5saW5rO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGlmIChsaW5rPy5sZW5ndGggPD0gMSAmJiBsaW5rWzBdID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGxpbms7XG4gICAgfVxuICB9XG5cbiAgYXJyYXl0b0xpbmtPYmplY3QobGlua3NBcnJheTogYW55KSB7XG4gICAgaWYgKGxpbmtzQXJyYXkpIHtcbiAgICAgIGNvbnN0IGxpbmtzID0gbGlua3NBcnJheS5tYXAoKGU6IGFueSkgPT4ge1xuICAgICAgICByZXR1cm4geyBsaW5rOiBlLCBjb250YWluc0Vycm9yOiBmYWxzZSwgaXNFZGl0aW5nOiBmYWxzZSB9O1xuICAgICAgfSk7XG5cbiAgICAgIHJldHVybiBsaW5rcztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgfVxuXG4gIGlzRWRpdEVuYWJsZWQoKSB7XG4gICAgZm9yIChjb25zdCBpdGVtIG9mIHRoaXMuZm9ybWF0ZS5saW5rcykge1xuICAgICAgaWYgKGl0ZW0uaXNFZGl0aW5nID09PSB0cnVlKSB7XG4gICAgICAgIHRoaXMuaXNFZGl0RGlzYWJsZWQgPSB0cnVlO1xuICAgICAgICByZXR1cm47XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmlzRWRpdERpc2FibGVkID0gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHBvbGljeUxpbmtTZXRMaXN0ID0gW1xuICAgIC8vICdQb2xpY3kgQ2hhcnRlcicsXG4gICAgLy8gJ1JlbGF0ZWQgUG9saWN5IERvY3VtZW50cy9PdGhlciBSZWZlcmVuY2VzJyxcbiAgICAvLyAnUHJvY2VkdXJlcyBMaW5rZWQgdG8gdGhpcyBQb2xpY3knLFxuICAgIC8vICdJbXBsZW1lbnRhdGlvbiBHdWlkZWxpbmVzIGZvciB0aGlzIFBvbGljeScsXG4gICAgLy8gJ1RyYWluaW5nIE1hdGVyaWFscyBmb3IgdGhpcyBQb2xpY3knXG4gICAgJ0NoYXJ0ZXInLFxuICAgICdSZWxhdGVkIERvY3VtZW50cycsXG4gICAgJ1JlZmVyZW5jZSBNYXRlcmlhbHMnLFxuICAgICdSZWxhdGVkIHByb2NlZHVyZXMnLFxuICAgICdJbXBsZW1lbnRhdGlvbiBndWlkZWxpbmVzJyxcbiAgICAnVHJhaW5pbmcgTWF0ZXJpYWxzJyxcbiAgICAnUmVndWxhdG9yeSBEb2N1bWVudHMnLFxuICAgICdPdGhlcicsXG4gIF07XG4gIHNlbGVjdGVkTGlua1NldENoYW5nZShldmVudDogYW55LCBpbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy5mb3JtYXRlLmZpbGVzW2luZGV4XS5saW5rU2V0ID0gZXZlbnQ7XG4gICAgaWYgKGV2ZW50ID09PSAnT3RoZXInICYmICF0aGlzLmZvcm1hdGU/LmZpbGVzW2luZGV4XT8ub3RoZXJzKSB7XG4gICAgICB0aGlzLmZvcm1hdGUuZmlsZXNbaW5kZXhdLm90aGVycyA9IFsnJ107XG4gICAgfVxuICAgIHRoaXMuZW1pdFZhbHVlKCk7XG4gIH1cblxuICBhZGRNb3JlRG9jdW1lbnRzRGV0YWlscyhpbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy5mb3JtYXRlLmZpbGVzW2luZGV4XS5vdGhlcnMucHVzaCgnJyk7XG4gIH1cblxuICB1cGxvYWRQb2xpY3lBdHRhY2htZW50cyhmb3JtRGF0YTogYW55KSB7XG4gICAgY29uc3QgcGF0aCA9ICdvLycgKyB0aGlzLm9yZ2FuaXphdGlvbl9pZCArICcvcG9saWN5Lyc7XG4gICAgdGhpcy5wb2xpY3lTZXJ2aWNlXG4gICAgICAuZmlsZVVwbG9hZFdvcmtyb29tKGZvcm1EYXRhLCBwYXRoKVxuICAgICAgLnN1YnNjcmliZSgoZGF0YTogYW55KSA9PiB7XG4gICAgICAgIGNvbnN0IHBheWxvYWQgPSB7XG4gICAgICAgICAgZmlsZV9uYW1lOiBkYXRhLm5hbWUsXG4gICAgICAgICAgb3JpZ2luYWxfZmlsZV9uYW1lOiBkYXRhLm9yZ19maWxlLFxuICAgICAgICAgIHBhdGg6IHBhdGgsXG4gICAgICAgICAgb3JnYW5pc2F0aW9uX2lkOiB0aGlzLmF1dGhTZXJ2aWNlLmdldE9yZ2FuaXphdGlvbklkKCksXG4gICAgICAgICAgbWVtYmVyX2lkOiB0aGlzLmF1dGhTZXJ2aWNlLmdldE1lbWJlcklkKCksXG4gICAgICAgICAgY2F0ZWdvcnlfaWQ6IHRoaXMuY2F0ZWdvcmllcyxcbiAgICAgICAgICBjbGFwX2lkOiAwLFxuICAgICAgICAgIGNvbnRyYWN0X3R5cGU6IDQsXG4gICAgICAgICAgZm9sZGVyX2lkOiAwLFxuICAgICAgICB9O1xuICAgICAgfSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ2eC1mb3JtLWdyb3VwXCIgW2NsYXNzLnBvbGljeS11cGxvYWQtZmlsZV09XCJbJ3BvbGljeScsICdyZXBvcnRBQ2FzZSddPy5pbmNsdWRlcyhtb2RlKVwiPlxuICA8bGFiZWwgY2xhc3M9XCJ2eC1jb250cm9sLXBhbmVsXCIgKm5nSWY9XCJtb2RlID09ICdyZXNwb25zaWJpbGl0eSdcIj5cbiAgICBGb3JtYXQgJiBFdmlkZW5jZVxuICA8L2xhYmVsPlxuICA8ZGl2IGNsYXNzPVwidXBsb2FkLWZvcm1hdFwiICpuZ0lmPVwiXG4gICAgICBtb2RlICE9ICdwb2xpY3knICYmIG1vZGUgIT0gJ3BvbGljeVJldmlld2VyJyAmJiBtb2RlICE9ICdyZXBvcnRBQ2FzZSdcbiAgICBcIj5cbiAgICA8c3BhbiBjbGFzcz1cInRleHRcIj5EbyB5b3Ugd2FudCB0byB1cGxvYWQgYSBmb3JtYXQgZm9yIHRoaXMgcmVzcG9uc2liaWxpdHk/PC9zcGFuPlxuICAgIDxkaXYgY2xhc3M9XCJyYWRpby1ncm91cFwiPlxuICAgICAgPGFwcC1jcy1yYWRpbyBbbmFtZV09XCInZm9ybWF0X3JlcXVpcmVkJ1wiIFtjaGVja2VkXT1cImZvcm1hdGUuaGFzVXBsb2FkRm9ybWF0ZSA9PT0gdHJ1ZVwiXG4gICAgICAgIChjaGVja2VkRXZlbnQpPVwidG9nZ2xlSXNGb3JtYXRlVXBsb2FkKHRydWUpXCI+WWVzPC9hcHAtY3MtcmFkaW8+XG4gICAgICA8YXBwLWNzLXJhZGlvIFtuYW1lXT1cIidmb3JtYXRfcmVxdWlyZWQnXCIgW2NoZWNrZWRdPVwiZm9ybWF0ZS5oYXNVcGxvYWRGb3JtYXRlID09PSBmYWxzZVwiXG4gICAgICAgIChjaGVja2VkRXZlbnQpPVwidG9nZ2xlSXNGb3JtYXRlVXBsb2FkKGZhbHNlKVwiPk5vXG4gICAgICA8L2FwcC1jcy1yYWRpbz5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJmb3JtLXRhYlwiICpuZ0lmPVwiZm9ybWF0ZT8uaGFzVXBsb2FkRm9ybWF0ZSB8fCBtb2RlID09ICdwb2xpY3lSZXZpZXdlcidcIj5cbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBbY2xhc3MuYWN0aXZlXT1cImZvcm1hdGU/LmZvcm1hdGVUeXBlID09PSAnRklMRSdcIiAoY2xpY2spPVwidG9nZ2xlQXR0YWNobWVudFR5cGUoJ0ZJTEUnKVwiXG4gICAgICBbZGlzYWJsZWRdPVwiZm9ybWF0ZS5saW5rcz8ubGVuZ3RoID4gMFwiPlxuICAgICAgSW5zZXJ0IEZpbGVcbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBbY2xhc3MuYWN0aXZlXT1cImZvcm1hdGU/LmZvcm1hdGVUeXBlID09PSAnTElOSydcIiAoY2xpY2spPVwidG9nZ2xlQXR0YWNobWVudFR5cGUoJ0xJTksnKVwiXG4gICAgICBbZGlzYWJsZWRdPVwiZm9ybWF0ZS5maWxlcz8ubGVuZ3RoID4gMFwiPlxuICAgICAgSW5zZXJ0IExpbmtcbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIlxuICAgICAgKGZvcm1hdGU/Lmhhc1VwbG9hZEZvcm1hdGUgJiYgZm9ybWF0ZS5mb3JtYXRlVHlwZSA9PT0gJ0ZJTEUnKSB8fFxuICAgICAgKG1vZGUgPT0gJ3BvbGljeScgJiYgZm9ybWF0ZS5mb3JtYXRlVHlwZSA9PT0gJ0ZJTEUnKSB8fFxuICAgICAgKG1vZGUgPT0gJ3BvbGljeVJldmlld2VyJyAmJiBmb3JtYXRlLmZvcm1hdGVUeXBlID09PSAnRklMRScpIHx8XG4gICAgICAobW9kZSA9PSAncmVwb3J0QUNhc2UnICYmIGZvcm1hdGUuZm9ybWF0ZVR5cGUgPT09ICdGSUxFJylcbiAgICBcIj5cbiAgICA8IS0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tZmlsZSB1cGxvYWQgaW4gcHJvZ3Jlc3MgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgLS0+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIihmb3JtYXRlPy51cGxvYWRJblByb2dyZXNzIHwga2V5dmFsdWUpLmxlbmd0aCA+IDBcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJmaWxlLWxpc3RcIiAqbmdGb3I9XCJcbiAgICAgICAgICBsZXQgZWFjaEZpbGUgb2YgZm9ybWF0ZT8udXBsb2FkSW5Qcm9ncmVzcyB8IGtleXZhbHVlO1xuICAgICAgICAgIGxldCBpID0gaW5kZXhcbiAgICAgICAgXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmaWxlLWNvbnRhaW5lclwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmlsZS1uYW1lXCI+e3sgZWFjaEZpbGUudmFsdWUgfX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8YXBwLWxpbmUtbG9hZGVyIFtsb2FkZXJIZWlnaHRdPVwiMlwiPjwvYXBwLWxpbmUtbG9hZGVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPCEtLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLWZpbGUgdXBsb2FkIGVuZHMgaGVyZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgLS0+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZvcm1hdGUuZmlsZXM/Lmxlbmd0aCA+IDBcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJtb2RlICE9ICdwb2xpY3knXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmaWxlLWxpc3RcIiAqbmdGb3I9XCJsZXQgZWFjaEZpbGUgb2YgZm9ybWF0ZS5maWxlczsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWxlLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmaWxlLW5hbWVcIj57eyBlYWNoRmlsZT8uZmlsZV9uYW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiZGVsZXRlQXR0YWNobWVudChpKVwiPlxuICAgICAgICAgICAgICA8aSBjbGFzcz1cImljb25zXCI+JiN4ZTkwZDs8L2k+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPGRpdiAqbmdJZj1cIm1vZGUgPT0gJ3BvbGljeSdcIiBjbGFzcz1cInBvbGljeS1yZWxhdGVkLWRvY3VtZW50LWZpZWxkIHZ4LXAtMyB2eC1wdC0yXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1mcy0xMSB2eC1mdy01MDAgdngtcGFyYWdyYXBoLXR4dCB2eC10dC11cHBlcmNhc2UgdngtbWItMlwiPlxuICAgICAgICAgIExJTksgVEhFIERPQ1VNRU5UIEFORCBTUEVDSUZZIFRIRSBSRUxBVElPTlNISVAgV0lUSCBUSElTIFBPTElDWVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZpbGUtbGlzdCBwb2xpY3lcIiAqbmdGb3I9XCJsZXQgZWFjaEZpbGUgb2YgZm9ybWF0ZS5maWxlczsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWxlLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmaWxlIHRhYmxlIHt7XG4gICAgICAgICAgICAgICAgZWFjaEZpbGU/LmZpbGVfbmFtZS5zcGxpdCgnLicpW1xuICAgICAgICAgICAgICAgICAgZWFjaEZpbGU/LmZpbGVfbmFtZS5zcGxpdCgnLicpPy5sZW5ndGggLSAxXG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICB9fVwiPlxuICAgICAgICAgICAgICA8aSBjbGFzcz1cImljb25zXCI+JiN4ZTkyZTs8L2k+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9ybWF0IHt7XG4gICAgICAgICAgICAgICAgICBlYWNoRmlsZT8uZmlsZV9uYW1lLnNwbGl0KCcuJylbXG4gICAgICAgICAgICAgICAgICAgIGVhY2hGaWxlPy5maWxlX25hbWUuc3BsaXQoJy4nKT8ubGVuZ3RoIC0gMVxuICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgIH19XCI+e3tcbiAgICAgICAgICAgICAgICBlYWNoRmlsZT8uZmlsZV9uYW1lLnNwbGl0KFwiLlwiKVtcbiAgICAgICAgICAgICAgICBlYWNoRmlsZT8uZmlsZV9uYW1lLnNwbGl0KFwiLlwiKT8ubGVuZ3RoIC0gMVxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZpbGUtbmFtZVwiPnt7IGVhY2hGaWxlPy5maWxlX25hbWUgfX08L3NwYW4+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uLWdyb3VwXCI+XG4gICAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cImRlbGV0ZUF0dGFjaG1lbnQoaSlcIj5cbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImljb25zXCI+JiN4ZTkwZDs8L2k+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGNzLXNlbGVjdCBbKG5nTW9kZWwpXT1cImVhY2hGaWxlLmxpbmtTZXRcIiAobmdNb2RlbENoYW5nZSk9XCJzZWxlY3RlZExpbmtTZXRDaGFuZ2UoJGV2ZW50LCBpKVwiXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0RlZmluZSB0aGUgZG9jdW1lbnRcXCdzIHJlbGF0aW9uc2hpcCB0byB0aGlzIHBvbGljeSdcIiBuYW1lPVwic2VsZWN0ZWRcIj5cbiAgICAgICAgICAgIDxjcy1vcHRpb24gKm5nRm9yPVwibGV0IGRhdGEgb2YgcG9saWN5TGlua1NldExpc3RcIiBbdmFsdWVdPVwiZGF0YVwiPlxuICAgICAgICAgICAgICB7eyBkYXRhIH19XG4gICAgICAgICAgICA8L2NzLW9wdGlvbj5cbiAgICAgICAgICA8L2NzLXNlbGVjdD5cbiAgICAgICAgICA8IS0tIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG90aGVyIG9mIGVhY2hGaWxlPy5vdGhlcnM7IGxldCBqID0gaW5kZXhcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCAqbmdJZj1cImVhY2hGaWxlPy5saW5rU2V0ID09PSAnT3RoZXIgKHNwZWNpZnkgb3duKSdcIiBbbmdNb2RlbF09XCJlYWNoRmlsZS5vdGhlcnNbal1cIiAobmdNb2RlbENoYW5nZSk9XCJzZWxlY3RlZExpbmtTZXRDaGFuZ2UoJ090aGVyIChzcGVjaWZ5IG93biknLGksICRldmVudCwgailcIiBjbGFzcz1cImxpbmthZ2UtaW5wdXRcIiB0eXBlPVwidGV4dFwiIHBsYWNlaG9sZGVyPVwiVHlwZSB0aGUgbGlua2FnZSBkZXRhaWxzXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJlYWNoRmlsZT8ubGlua1NldCA9PT0gJ090aGVyIChzcGVjaWZ5IG93biknXCIgY2xhc3M9XCJsaW5rYWdlLWJ0biB2eC1mcy0xMSB2eC1mdy01MDAgdngtdHh0LWJsdWUgdngtdHQtdXBwZXJjYXNlIHZ4LXAtMCB2eC1tdC0yXCIgKGNsaWNrKT1cImFkZE1vcmVEb2N1bWVudHNEZXRhaWxzKGkpXCI+KyBBREQgTU9SRTwvYnV0dG9uPiAtLT5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSA8bGFiZWwgY2xhc3M9XCJ2eC1jb250cm9sLXBhbmVsXCIgKm5nSWY9XCJtb2RlPT0ncG9saWN5J1wiPlxuICAgICAgICAgICAgICAgIExJTksgVEhFIERPQ1VNRU5UIEFORCBTUEVDSUZZIFRIRSBSRUxBVElPTlNISVAgV0lUSCBUSElTIFBPTElDWVxuICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGVhY2hGaWxlIG9mIGZvcm1hdGUuZmlsZXM7IGxldCBpID0gaW5kZXhcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsZS1saXN0XCIgKm5nSWY9XCJtb2RlIT0ncG9saWN5J1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsZS1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmlsZS1uYW1lXCI+e3sgZWFjaEZpbGU/LmZpbGVfbmFtZSB9fSA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJkZWxldGVBdHRhY2htZW50KGkpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29uc1wiPiYjeGU5MGQ7PC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWxlLWxpc3QgcG9saWN5XCIgKm5nSWY9XCJtb2RlPT0ncG9saWN5J1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsZS1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmlsZS1uYW1lXCI+e3tlYWNoRmlsZT8uZmlsZV9uYW1lfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uLWdyb3VwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtIC0gPGJ1dHRvbiBjbGFzcz1cImVkaXRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29uc1wiPiYjeGU5YmE7PC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPiAtIC0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiZGVsZXRlQXR0YWNobWVudChpKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImljb25zXCI+JiN4ZTkwZDs8L2k+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxjcy1zZWxlY3QgWyhuZ01vZGVsKV09XCJlYWNoRmlsZS5saW5rU2V0XCIgKG5nTW9kZWxDaGFuZ2UpPVwic2VsZWN0ZWRMaW5rU2V0Q2hhbmdlKCRldmVudCxpKVwiIFtwbGFjZWhvbGRlcl09XCInRGVmaW5lIHRoZSBkb2N1bWVudFxcJ3MgcmVsYXRpb25zaGlwIHRvIHRoaXMgcG9saWN5J1wiIG5hbWU9XCJzZWxlY3RlZFwiID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxjcy1vcHRpb24gKm5nRm9yPVwibGV0IGRhdGEgb2YgcG9saWN5TGlua1NldExpc3RcIiBbdmFsdWVdPVwiZGF0YVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ZGF0YX19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2NzLW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9jcy1zZWxlY3Q+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj4gLS0+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPCEtLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLWRyYWcgYW5kIGRyb3AgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAtLT5cbiAgICA8ZGl2IGNsYXNzPVwidGFiLWdyb3VwXCIgW2NsYXNzLnVwbG9hZGVkXT1cImZvcm1hdGUuZmlsZXM/Lmxlbmd0aCA+IDBcIiBhcHBEcmFnRHJvcFxuICAgICAgKGZpbGVEcm9wcGVkKT1cIm9uRmlsZURyb3BwZWQoJGV2ZW50KVwiPlxuICAgICAgPGxhYmVsIGNsYXNzPVwidXBsb2FkLWZpbGVcIj5cbiAgICAgICAgPGltZyBbc3JjXT1cIkFTU0VUUy51cGxvYWRcIiBhbHQ9XCJcIiBjbGFzcz1cImltYWdlXCIgLz5cbiAgICAgICAgPGRpdiBjbGFzcz1cImJyb3dzZVwiPlxuICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1vZGUgIT0gJ3BvbGljeScgJiYgbW9kZSAhPSAncmVwb3J0QUNhc2UnXCI+RHJvcCB5b3VyIGZpbGVzIGhlcmUgL1xuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibW9kZSA9PSAncG9saWN5JyB8fCBtb2RlID09ICdyZXBvcnRBQ2FzZSdcIj5Ecm9wIHlvdXIgZmlsZXMgaGVyZSAvXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWxcIj5Ccm93c2VcbiAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJmaWxlXCIgbXVsdGlwbGUgKGNoYW5nZSk9XCJvbkZpbGVEcm9wcGVkKCRldmVudC50YXJnZXQuZmlsZXMpXCIgLz5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPCEtLSA8c3BhbiAqbmdJZj1cIm1vZGUhPSdwb2xpY3knXCI+RHJvcCB5b3VyIGZpbGVzIGhlcmUgLzwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJtb2RlPT0ncG9saWN5J1wiPkRyYWcgJiBkcm9wIHRvIHVwbG9hZCBmaWxlcyBhc3NvY2lhdGVkIHdpdGggdGhpcyBwb2xpY3kgLzwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsYWJlbFwiPkJyb3dzZVxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJmaWxlXCIgbXVsdGlwbGUgKGNoYW5nZSk9XCJvbkZpbGVEcm9wcGVkKCRldmVudC50YXJnZXQuZmlsZXMpXCI+XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4gLS0+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9sYWJlbD5cbiAgICA8L2Rpdj5cbiAgICA8IS0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLWRyYWcgZHJvcCBlbmRzIGhlcmUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJcbiAgICAgIChmb3JtYXRlPy5oYXNVcGxvYWRGb3JtYXRlICYmIGZvcm1hdGUuZm9ybWF0ZVR5cGUgPT09ICdMSU5LJykgfHxcbiAgICAgIChtb2RlID09ICdwb2xpY3lSZXZpZXdlcicgJiYgZm9ybWF0ZS5mb3JtYXRlVHlwZSA9PT0gJ0xJTksnKVxuICAgIFwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmb3JtYXRlLmxpbmtzLmxlbmd0aCA+IDBcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGxpbmsgb2YgZm9ybWF0ZS5saW5rczsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsZS1saXN0XCIgKm5nSWY9XCIhbGluay5pc0VkaXRpbmdcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsZS1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmlsZS1uYW1lXCI+e3sgbGluay5saW5rIH19IDwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYnV0dG9uLWdyb3VwXCI+XG4gICAgICAgICAgICAgIDxidXR0b24gW2NsYXNzLmRpc2FibGVkXT1cImlzRWRpdERpc2FibGVkXCIgY2xhc3M9XCJlZGl0XCIgKGNsaWNrKT1cImVkaXRMaW5rKGkpXCI+XG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29uc1wiPiYjeGU5YmE7PC9pPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiZGVsZXRlTGluayhpKVwiPlxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbnNcIj4mI3hlOTBkOzwvaT5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibGluay5pc0VkaXRpbmdcIj5cbiAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImVkaXQtbGlua1wiIGFwcEF1dG9mb2N1cyBwbGFjZWhvbGRlcj1cIkVudGVyIHRoZSBsaW5rIGhlcmVcIiBbKG5nTW9kZWwpXT1cImxpbmsubGlua1wiXG4gICAgICAgICAgICAoZm9jdXNvdXQpPVwiaW5zZXJ0TGluaygnRURJVCcsIGkpXCIgKGtleWRvd24uZW50ZXIpPVwiaW5zZXJ0TGluaygnRURJVCcsIGkpXCIgLz5cbiAgICAgICAgICA8cCBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIiAqbmdJZj1cImxpbmsuY29udGFpbnNFcnJvclwiPlxuICAgICAgICAgICAgUGxlYXNlIGluc2VydCBhIHZhbGlkIGxpbmtcbiAgICAgICAgICA8L3A+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPGlucHV0IFtkaXNhYmxlZF09XCJpc05ld0xpbmtEaXNhYmxlZFwiIGNsYXNzPVwiZWRpdC1saW5rXCIgdHlwZT1cInRleHRcIiBbKG5nTW9kZWwpXT1cIm5ld0xpbmsubGlua1wiXG4gICAgICBwbGFjZWhvbGRlcj1cIkVudGVyIHRoZSBsaW5rIGhlcmVcIiAoZm9jdXNvdXQpPVwiaW5zZXJ0TGluaygnQ1JFQVRFJylcIiAoa2V5ZG93bi5lbnRlcik9XCJpbnNlcnRMaW5rKCdDUkVBVEUnKVwiIC8+XG4gICAgPHAgY2xhc3M9XCJlcnJvci1tZXNzYWdlXCIgKm5nSWY9XCJuZXdMaW5rLmNvbnRhaW5zRXJyb3JcIj5cbiAgICAgIFBsZWFzZSBpbnNlcnQgYSB2YWxpZCBsaW5rXG4gICAgPC9wPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPGRpdiBjbGFzcz1cInVwbG9hZC1mb3JtYXRcIiAqbmdJZj1cIm1vZGUgPT0gJ3Jlc3BvbnNpYmlsaXR5J1wiPlxuICAgIDxzcGFuIGNsYXNzPVwidGV4dFwiPkRvIHlvdSB3YW50IGV2aWRlbmNlIG9mIGNvbXBsZXRpb24gb2YgdGhlIHJlc3BvbnNpYmlsaXR5IHRvIGJlXG4gICAgICB1cGxvYWRlZD88L3NwYW4+XG4gICAgPGRpdiBjbGFzcz1cInJhZGlvLWdyb3VwXCI+XG4gICAgICA8YXBwLWNzLXJhZGlvIFtuYW1lXT1cIidldmlkZW5jZV9yZXF1aXJlZCdcIiBbY2hlY2tlZF09XCJmb3JtYXRlLmlzRXZpZGVuY2VSZXF1aXJlZCA9PT0gdHJ1ZVwiXG4gICAgICAgIChjaGVja2VkRXZlbnQpPVwidG9nZ2xlSXNGb3JtYXRSZXF1aXJlZCh0cnVlKVwiPlllczwvYXBwLWNzLXJhZGlvPlxuICAgICAgPGFwcC1jcy1yYWRpbyBbbmFtZV09XCInZXZpZGVuY2VfcmVxdWlyZWQnXCIgW2NoZWNrZWRdPVwiZm9ybWF0ZS5pc0V2aWRlbmNlUmVxdWlyZWQgPT09IGZhbHNlXCJcbiAgICAgICAgKGNoZWNrZWRFdmVudCk9XCJ0b2dnbGVJc0Zvcm1hdFJlcXVpcmVkKGZhbHNlKVwiPk5vXG4gICAgICA8L2FwcC1jcy1yYWRpbz5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj4iXX0=
334
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LWFuZC1ldmlkZW5jZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2Zvcm1hdC1hbmQtZXZpZGVuY2UvZm9ybWF0LWFuZC1ldmlkZW5jZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2Zvcm1hdC1hbmQtZXZpZGVuY2UvZm9ybWF0LWFuZC1ldmlkZW5jZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUdULE1BQU0sRUFDTixZQUFZLEVBQ1osS0FBSyxHQUNOLE1BQU0sZUFBZSxDQUFDO0FBS3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMxRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7Ozs7Ozs7QUFPNUQsTUFBTSxPQUFPLDBCQUEwQjtJQU1yQyxJQUFhLGtCQUFrQixDQUFDLEtBQVU7UUFDeEMsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1NBQzlDO0lBQ0gsQ0FBQztJQUdELFlBQ1UscUJBQTRDLEVBQzVDLGFBQTRCLEVBQzVCLFdBQXdCLEVBQ3hCLGVBQWdDO1FBSGhDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFDNUMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBaEIxQyxXQUFNLEdBQUcsTUFBTSxD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LEVBQUU7Z0JBQ3pDLFdBQVcsRUFBRSxJQUFJLENBQUMsVUFBVTtnQkFDNUIsT0FBTyxFQUFFLENBQUM7Z0JBQ1YsYUFBYSxFQUFFLENBQUM7Z0JBQ2hCLFNBQVMsRUFBRSxDQUFDO2FBQ2IsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzsrR0ExVFUsMEJBQTBCO21HQUExQiwwQkFBMEIsME9DckJ2Qyx5OVVBNE1NOzs0RkR2TE8sMEJBQTBCO2tCQUx0QyxTQUFTOytCQUNFLHlCQUF5QjtnTUFNekIsV0FBVztzQkFBcEIsTUFBTTtnQkFDRSxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNPLGtCQUFrQjtzQkFBOUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgT25Jbml0LFxuICBPbkNoYW5nZXMsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uL3dvcmtmbG93LXNlcnZpY2VzL2F1dGguc2VydmljZSc7XG5pbXBvcnQgeyBQb2xpY3lTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vd29ya2Zsb3ctc2VydmljZXMvcG9saWN5LnNlcnZpY2UnO1xuaW1wb3J0IHsgU25hY2tCYXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdWkta2l0L3NuYWNrLWJhci9zbmFjay1iYXIuc2VydmljZSc7XG5pbXBvcnQgeyBSZXNwb25zaWJpbGl0eVNlcnZpY2UgfSBmcm9tICcuLi8uLi93b3JrZmxvdy1zZXJ2aWNlcy9yZXNwb25zaWJpbGl0eS5zZXJ2aWNlJztcbmltcG9ydCB7IEFTU0VUUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9hc3NldHMuY29uc3RhbnRzJztcbmltcG9ydCB7IEZJTEVfVVJMIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL2ZpbGUtdXBsb2FkLmNvbnN0YW50JztcbmltcG9ydCB7IEZJTEVfU0laRSB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9wb2xpY3kuY29uc3RhbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZm9ybWF0LWFuZC1ldmlkZW5jZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JtYXQtYW5kLWV2aWRlbmNlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZm9ybWF0LWFuZC1ldmlkZW5jZS5jb21wb25lbnQubGVzcycsICcuLi8uLi9mb3Jtcy5sZXNzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1hdEFuZEV2aWRlbmNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQVNTRVRTID0gQVNTRVRTO1xuICBAT3V0cHV0KCkgdXBkYXRlRmlsZXMgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBJbnB1dCgpIG1vZGUgPSAnJztcbiAgQElucHV0KCkgY2F0ZWdvcmllczogYW55W10gPSBbXTtcbiAgQElucHV0KCkgb3JnYW5pemF0aW9uX2lkOiBhbnkgPSAnJztcbiAgQElucHV0KCkgc2V0IGZvcm1hdEV2aWRhbmNlRGF0YSh2YWx1ZTogYW55KSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLmluaXRpYWxpemVEYXRhKHZhbHVlLCAnbm90IG5nIG9uIGluaXQnKTtcbiAgICB9XG4gIH1cbiAgaXNOZXdMaW5rRGlzYWJsZWQgPSBmYWxzZTtcbiAgaXNFZGl0RGlzYWJsZWQgPSBmYWxzZTtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZXNwb25zaWJpbGl0eVNlcnZpY2U6IFJlc3BvbnNpYmlsaXR5U2VydmljZSxcbiAgICBwcml2YXRlIHBvbGljeVNlcnZpY2U6IFBvbGljeVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzbmFja2JhclNlcnZpY2U6IFNuYWNrQmFyU2VydmljZVxuICApIHsgfVxuXG4gIGZvcm1hdGU6IGFueSA9IHtcbiAgICBoYXNVcGxvYWRGb3JtYXRlOiBmYWxzZSxcbiAgICBmb3JtYXRlVHlwZTogJ0ZJTEUnLCAvLyBMSU5LXG4gICAgaXNFdmlkZW5jZVJlcXVpcmVkOiBmYWxzZSxcbiAgICBsaW5rczogW10sXG4gICAgZmlsZXM6IFtdLFxuICAgIHVwbG9hZEluUHJvZ3Jlc3M6IHt9LFxuICB9O1xuXG4gIG5ld0xpbmsgPSB7XG4gICAgbGluazogJycsXG4gICAgY29udGFpbnNFcnJvcjogZmFsc2UsXG4gIH07XG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmZvcm1hdEV2aWRhbmNlRGF0YSkge1xuICAgICAgdGhpcy5pbml0aWFsaXplRGF0YSh0aGlzLmZvcm1hdEV2aWRhbmNlRGF0YSwgJ25nIG9uIGluaXQnKTtcbiAgICB9XG4gIH1cblxuICBpbml0aWFsaXplRGF0YShzZXR0aW5nczogYW55LCB0eXBlOiBzdHJpbmcpIHtcbiAgICBjb25zb2xlLmxvZygnaW5pdGlhbGl6ZURhdGEnLHNldHRpbmdzKTtcbiAgICB0aGlzLmZvcm1hdGUuaGFzVXBsb2FkRm9ybWF0ZSA9IHNldHRpbmdzPy5mb3JtYXRSZXF1aXJlZCA/PyBmYWxzZTtcbiAgICB0aGlzLmZvcm1hdGUuZm9ybWF0ZVR5cGUgPVxuICAgICAgc2V0dGluZ3M/LmZvcm1hdExpbmtzPy5sZW5ndGggPiAwID8gJ0xJTksnIDogJ0ZJTEUnO1xuICAgIHRoaXMuZm9ybWF0ZS5pc0V2aWRlbmNlUmVxdWlyZWQgPSBzZXR0aW5ncz8uZXZpZGVuY2VSZXF1aXJlZCA/PyBmYWxzZTtcbiAgICB0aGlzLmZvcm1hdGUubGlua3MgPSB0aGlzLmFycmF5dG9MaW5rT2JqZWN0KHNldHRpbmdzPy5mb3JtYXRMaW5rcykgPz8gW107XG4gICAgaWYgKHRoaXMubW9kZSA9PSAncmVwb3J0QUNhc2UnKSB7XG4gICAgICB0aGlzLmZvcm1hdGUuZmlsZXMgPSBzZXR0aW5ncztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5mb3JtYXRlLmZpbGVzID0gc2V0dGluZ3M/LmZvcm1hdEZpbGVzID8/IFtdO1xuICAgIH1cbiAgfVxuICB0b2dnbGVJc0Zvcm1hdGVVcGxvYWQoc3RhdHVzOiBib29sZWFuKSB7XG4gICAgaWYgKHN0YXR1cyA9PT0gdHJ1ZSkge1xuICAgICAgdGhpcy5mb3JtYXRlLmhhc1VwbG9hZEZvcm1hdGUgPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZvcm1hdGUuaGFzVXBsb2FkRm9ybWF0ZSA9IGZhbHNlO1xuICAgIH1cbiAgICB0aGlzLmVtaXRWYWx1ZSgpO1xuICB9XG5cbiAgdG9nZ2xlSXNGb3JtYXRSZXF1aXJlZChzdGF0dXM6IGJvb2xlYW4pIHtcbiAgICBpZiAoc3RhdHVzID09PSB0cnVlKSB7XG4gICAgICB0aGlzLmZvcm1hdGUuaXNFdmlkZW5jZVJlcXVpcmVkID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5mb3JtYXRlLmlzRXZpZGVuY2VSZXF1aXJlZCA9IGZhbHNlO1xuICAgIH1cbiAgICB0aGlzLmVtaXRWYWx1ZSgpO1xuICB9XG5cbiAgdG9nZ2xlQXR0YWNobWVudFR5cGUodHlwZTogc3RyaW5nKSB7XG4gICAgdGhpcy5mb3JtYXRlLmZvcm1hdGVUeXBlID0gdHlwZTtcbiAgICBpZiAodHlwZSA9PT0gJ0xJTksnICYmIHRoaXMuZm9ybWF0ZS5saW5rcy5sZW5ndGggPT09IDApIHtcbiAgICAgIC8vIFRPRE9cbiAgICB9XG4gICAgdGhpcy5lbWl0VmFsdWUoKTtcbiAgfVxuXG4gIGluc2VydExpbmsobW9kZTogYW55LCBpbmRleDogbnVtYmVyID0gLTEpIHtcbiAgICAvLyBjb25zdCB1cmxSZWdleCA9IG5ldyBSZWdFeHAoJyhodHRwcz86Ly8pPyhbXFxcXGRhLXouLV0rKVxcXFwuKFthLXouXXsyLDZ9KVsvXFxcXHcgLi1dKi8/Jyk7XG4gICAgY29uc3QgdXJsUmVnZXggPVxuICAgICAgLyhodHRwcz86XFwvXFwvKD86d3d3XFwufCg/IXd3dykpW2EtekEtWjAtOV1bYS16QS1aMC05LV0rW2EtekEtWjAtOV1cXC5bXlxcc117Mix9fHd3d1xcLlthLXpBLVowLTldW2EtekEtWjAtOS1dK1thLXpBLVowLTldXFwuW15cXHNdezIsfXxodHRwcz86XFwvXFwvKD86d3d3XFwufCg/IXd3dykpW2EtekEtWjAtOV0rXFwuW15cXHNdezIsfXx3d3dcXC5bYS16QS1aMC05XStcXC5bXlxcc117Mix9KS9naTtcbiAgICBpZiAobW9kZSA9PT0gJ0NSRUFURScpIHtcbiAgICAgIGlmICh0aGlzLm5ld0xpbmsubGluay5sZW5ndGggPT09IDApIHtcbiAgICAgICAgdGhpcy5yZXNldE5ld0xpbmsoKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3QgaXNWYWxpZCA9IHVybFJlZ2V4LnRlc3QodGhpcy5uZXdMaW5rLmxpbmspO1xuICAgICAgaWYgKGlzVmFsaWQpIHtcbiAgICAgICAgdGhpcy5uZXdMaW5rLmNvbnRhaW5zRXJyb3IgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5mb3JtYXRlLmxpbmtzLnB1c2godGhpcy5uZXdMaW5rKTtcbiAgICAgICAgdGhpcy5yZXNldE5ld0xpbmsoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMubmV3TGluay5jb250YWluc0Vycm9yID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKG1vZGUgPT09ICdFRElUJykge1xuICAgICAgaWYgKHRoaXMuZm9ybWF0ZS5saW5rc1tpbmRleF0ubGluay5sZW5ndGggPT09IDApIHtcbiAgICAgICAgdGhpcy5mb3JtYXRlLmxpbmtzLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgIHRoaXMuaXNFZGl0RW5hYmxlZCgpO1xuICAgICAgICB0aGlzLmlzTmV3TGlua0Rpc2FibGVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMuZW1pdFZhbHVlKCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGlzVmFsaWQgPSB1cmxSZWdleC50ZXN0KHRoaXMuZm9ybWF0ZS5saW5rc1tpbmRleF0ubGluayk7XG4gICAgICBpZiAoaXNWYWxpZCkge1xuICAgICAgICB0aGlzLmZvcm1hdGUubGlua3NbaW5kZXhdLmlzRWRpdGluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmZvcm1hdGUubGlua3NbaW5kZXhdLmNvbnRhaW5zRXJyb3IgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5mb3JtYXRlLmxpbmtzW2luZGV4XS5pc0VkaXRpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5pc05ld0xpbmtEaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmlzRWRpdEVuYWJsZWQoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZm9ybWF0ZS5saW5rc1tpbmRleF0uY29udGFpbnNFcnJvciA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuZW1pdFZhbHVlKCk7XG4gIH1cblxuICBlZGl0TGluayhpbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy5mb3JtYXRlLmxpbmtzW2luZGV4XS5pc0VkaXRpbmcgPSB0cnVlO1xuICAgIHRoaXMuaXNOZXdMaW5rRGlzYWJsZWQgPSB0cnVlO1xuICAgIHRoaXMuaXNFZGl0RW5hYmxlZCgpO1xuICB9XG5cbiAgZGVsZXRlTGluayhpbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy5mb3JtYXRlLmxpbmtzLnNwbGljZShpbmRleCwgMSk7XG4gICAgdGhpcy5pc0VkaXRFbmFibGVkKCk7XG4gICAgdGhpcy5lbWl0VmFsdWUoKTtcbiAgfVxuXG4gIHJlc2V0TmV3TGluaygpIHtcbiAgICB0aGlzLm5ld0xpbmsgPSB7XG4gICAgICBsaW5rOiAnJyxcbiAgICAgIGNvbnRhaW5zRXJyb3I6IGZhbHNlLFxuICAgIH07XG4gICAgdGhpcy5lbWl0VmFsdWUoKTtcbiAgfVxuXG4gIHByaXZhdGUgZmlsZVByb2Nlc3NpbmcoZmlsZTogRmlsZSwgdWlkOiBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy5wb2xpY3lTZXJ2aWNlLmZpbGVTaXplTGltaXQoZmlsZSkpIHtcbiAgICAgIHRoaXMudXBsb2FkRmlsZShmaWxlLCB1aWQpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNuYWNrYmFyU2VydmljZS5zaG93KEZJTEVfU0laRS5NRVNTQUdFLCBGSUxFX1NJWkUuRVJST1IpO1xuICAgIH1cbiAgfVxuXG4gIG9uRmlsZURyb3BwZWQoZmlsZXM6IGFueSkge1xuICAgIEFycmF5LmZyb20oZmlsZXMpLmZvckVhY2goKGZpbGU6IGFueSkgPT4ge1xuICAgICAgY29uc3QgdWlkOiBzdHJpbmcgPSBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMiwgMTQpO1xuICAgICAgdGhpcy5maWxlUHJvY2Vzc2luZyhmaWxlLCB1aWQpO1xuICAgIH0pO1xuICB9XG5cbiAgdXBsb2FkRmlsZShmaWxlOiBhbnksIHVpZDogc3RyaW5nKSB7XG4gICAgdGhpcy5mb3JtYXRlLnVwbG9hZEluUHJvZ3Jlc3NbdWlkXSA9IGZpbGUubmFtZTtcbiAgICBjb25zdCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgIGZvcm1EYXRhLmFwcGVuZCgnZmlsZScsIGZpbGUpO1xuICAgIGlmICh0aGlzLm1vZGUgPT0gJ3BvbGljeScgfHwgdGhpcy5tb2RlID09ICdwb2xpY3lSZXZpZXdlcicpIHtcbiAgICAgIGNvbnN0IHBhdGggPSAnby8nICsgdGhpcy5vcmdhbml6YXRpb25faWQgKyAnL3BvbGljeS8nO1xuICAgICAgdGhpcy5wb2xpY3lTZXJ2aWNlXG4gICAgICAgIC5maWxlVXBsb2FkV29ya3Jvb20oZm9ybURhdGEsIHBhdGgpXG4gICAgICAgIC5zdWJzY3JpYmUoKGRhdGE6IGFueSkgPT4ge1xuICAgICAgICAgIHRoaXMuZm9ybWF0ZS5maWxlcy5wdXNoKHtcbiAgICAgICAgICAgIGZpbGVwYXRoOiBwYXRoLFxuICAgICAgICAgICAgZmlsZV9uYW1lOiBkYXRhLm9yZ19maWxlLFxuICAgICAgICAgICAgZmlsZW5hbWU6IGRhdGEubmFtZSxcbiAgICAgICAgICAgIG9yaWdpbmFsX2ZpbGVuYW1lOiBkYXRhLm9yZ19maWxlLFxuICAgICAgICAgICAgbGlua1NldDogJycsXG4gICAgICAgICAgICB0eXBlOiBmaWxlLnR5cGUsXG4gICAgICAgICAgICBmaWQ6IGRhdGE/LmZpZCxcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBkZWxldGUgdGhpcy5mb3JtYXRlLnVwbG9hZEluUHJvZ3Jlc3NbdWlkXTtcbiAgICAgICAgICB0aGlzLmVtaXRWYWx1ZSgpO1xuICAgICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgdXJsID0gYG9yZy0ke3RoaXMub3JnYW5pemF0aW9uX2lkfSR7RklMRV9VUkwuZm9ybWF0fWA7XG4gICAgICB0aGlzLnJlc3BvbnNpYmlsaXR5U2VydmljZVxuICAgICAgICAudXBsb2FkVG9Ob2RlKGZvcm1EYXRhLCB1cmwpXG4gICAgICAgIC5zdWJzY3JpYmUoKGRhdGE6IGFueSkgPT4ge1xuICAgICAgICAgIHRoaXMuZm9ybWF0ZS5maWxlcy5wdXNoKHtcbiAgICAgICAgICAgIGZpbGVwYXRoOmRhdGE/LmZpbGVfdXJsX3BhdGgsXG4gICAgICAgICAgICBmaWxlX25hbWU6IGRhdGEub3JnX2ZpbGUsXG4gICAgICAgICAgICBmaWxlbmFtZTogZGF0YS5uYW1lLFxuICAgICAgICAgICAgb3JpZ2luYWxfZmlsZW5hbWU6IGRhdGEub3JnX2ZpbGUsXG4gICAgICAgICAgICB0eXBlOiBmaWxlLnR5cGUsXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgZGVsZXRlIHRoaXMuZm9ybWF0ZS51cGxvYWRJblByb2dyZXNzW3VpZF07XG4gICAgICAgICAgdGhpcy5lbWl0VmFsdWUoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgZGVsZXRlQXR0YWNobWVudChpbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy5mb3JtYXRlLmZpbGVzLnNwbGljZShpbmRleCwgMSk7XG4gICAgdGhpcy5lbWl0VmFsdWUoKTtcbiAgfVxuXG4gIGVtaXRWYWx1ZSgpIHtcbiAgICBpZiAodGhpcy5tb2RlID09ICdyZXBvcnRBQ2FzZScpIHtcbiAgICAgIHRoaXMudXBkYXRlRmlsZXMuZW1pdCh0aGlzLmZvcm1hdGUpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodGhpcy5tb2RlID09ICdwb2xpY3knIHx8IHRoaXMubW9kZSA9PSAncG9saWN5UmV2aWV3ZXInKSB7XG4gICAgICBjb25zdCBwYXlsb2FkID0ge1xuICAgICAgICBpc0Zvcm1hdGVVcGxvYWRlZDogdGhpcy5mb3JtYXRlLmhhc1VwbG9hZEZvcm1hdGUsXG4gICAgICAgIGxpbmtzOlxuICAgICAgICAgIHRoaXMuZm9ybWF0ZS5mb3JtYXRlVHlwZSA9PT0gJ0xJTksnXG4gICAgICAgICAgICA/IHRoaXMuZ2V0TGlua3NBcnJheShcbiAgICAgICAgICAgICAgICB0aGlzLmZvcm1hdGUubGlua3M/Lmxlbmd0aCA/IFsuLi50aGlzLmZvcm1hdGUubGlua3NdIDogW11cbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgOiBbXSxcbiAgICAgICAgZmlsZXM6IHRoaXMuZm9ybWF0ZS5mb3JtYXRlVHlwZSA9PT0gJ0ZJTEUnID8gdGhpcy5mb3JtYXRlLmZpbGVzIDogW10sXG4gICAgICAgIGZvcm1hdGVUeXBlOiB0aGlzLmZvcm1hdGUuZm9ybWF0ZVR5cGUsXG4gICAgICAgIGlzRXZpZGVuY2VSZXF1aXJlZDogdGhpcy5mb3JtYXRlLmlzRXZpZGVuY2VSZXF1aXJlZCxcbiAgICAgIH07XG4gICAgICBwYXlsb2FkLmxpbmtzID0gcGF5bG9hZC5saW5rcy5maWx0ZXIoKGVsZTogYW55KSA9PiBlbGUgIT09IHVuZGVmaW5lZCk7XG5cbiAgICAgIHRoaXMudXBkYXRlRmlsZXMuZW1pdChwYXlsb2FkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgcGF5bG9hZCA9IHtcbiAgICAgICAgaXNGb3JtYXRlVXBsb2FkZWQ6IHRoaXMuZm9ybWF0ZS5oYXNVcGxvYWRGb3JtYXRlLFxuICAgICAgICBsaW5rczpcbiAgICAgICAgICB0aGlzLmZvcm1hdGUuaGFzVXBsb2FkRm9ybWF0ZSAmJiB0aGlzLmZvcm1hdGUuZm9ybWF0ZVR5cGUgPT09ICdMSU5LJ1xuICAgICAgICAgICAgPyB0aGlzLmdldExpbmtzQXJyYXkoWy4uLnRoaXMuZm9ybWF0ZS5saW5rc10pXG4gICAgICAgICAgICA6IFtdLFxuICAgICAgICBmaWxlczpcbiAgICAgICAgICB0aGlzLmZvcm1hdGUuaGFzVXBsb2FkRm9ybWF0ZSAmJiB0aGlzLmZvcm1hdGUuZm9ybWF0ZVR5cGUgPT09ICdGSUxFJ1xuICAgICAgICAgICAgPyB0aGlzLmZvcm1hdGUuZmlsZXNcbiAgICAgICAgICAgIDogW10sXG4gICAgICAgIGZvcm1hdGVUeXBlOiB0aGlzLmZvcm1hdGUuZm9ybWF0ZVR5cGUsXG4gICAgICAgIGlzRXZpZGVuY2VSZXF1aXJlZDogdGhpcy5mb3JtYXRlLmlzRXZpZGVuY2VSZXF1aXJlZCxcbiAgICAgIH07XG4gICAgICBwYXlsb2FkLmxpbmtzID0gcGF5bG9hZC5saW5rcy5maWx0ZXIoKGVsZTogYW55KSA9PiBlbGUgIT09IHVuZGVmaW5lZCk7XG4gICAgICB0aGlzLnVwZGF0ZUZpbGVzLmVtaXQocGF5bG9hZCk7XG4gICAgfVxuICB9XG4gIGdldExpbmtzQXJyYXkobGlua3M6IGFueSkge1xuICAgIGNvbnN0IGxpbmsgPSBsaW5rcy5tYXAoKGU6IGFueSkgPT4ge1xuICAgICAgaWYgKGUubGluayAmJiAhZT8uY29udGFpbnNFcnJvciAmJiAhZT8uaXNFZGl0aW5nKSB7XG4gICAgICAgIHJldHVybiBlLmxpbms7XG4gICAgICB9XG4gICAgfSk7XG4gICAgaWYgKGxpbms/Lmxlbmd0aCA8PSAxICYmIGxpbmtbMF0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbGluaztcbiAgICB9XG4gIH1cblxuICBhcnJheXRvTGlua09iamVjdChsaW5rc0FycmF5OiBhbnkpIHtcbiAgICBpZiAobGlua3NBcnJheSkge1xuICAgICAgY29uc3QgbGlua3MgPSBsaW5rc0FycmF5Lm1hcCgoZTogYW55KSA9PiB7XG4gICAgICAgIHJldHVybiB7IGxpbms6IGUsIGNvbnRhaW5zRXJyb3I6IGZhbHNlLCBpc0VkaXRpbmc6IGZhbHNlIH07XG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIGxpbmtzO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuICB9XG5cbiAgaXNFZGl0RW5hYmxlZCgpIHtcbiAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgdGhpcy5mb3JtYXRlLmxpbmtzKSB7XG4gICAgICBpZiAoaXRlbS5pc0VkaXRpbmcgPT09IHRydWUpIHtcbiAgICAgICAgdGhpcy5pc0VkaXREaXNhYmxlZCA9IHRydWU7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuaXNFZGl0RGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcG9saWN5TGlua1NldExpc3QgPSBbXG4gICAgLy8gJ1BvbGljeSBDaGFydGVyJyxcbiAgICAvLyAnUmVsYXRlZCBQb2xpY3kgRG9jdW1lbnRzL090aGVyIFJlZmVyZW5jZXMnLFxuICAgIC8vICdQcm9jZWR1cmVzIExpbmtlZCB0byB0aGlzIFBvbGljeScsXG4gICAgLy8gJ0ltcGxlbWVudGF0aW9uIEd1aWRlbGluZXMgZm9yIHRoaXMgUG9saWN5JyxcbiAgICAvLyAnVHJhaW5pbmcgTWF0ZXJpYWxzIGZvciB0aGlzIFBvbGljeSdcbiAgICAnQ2hhcnRlcicsXG4gICAgJ1JlbGF0ZWQgRG9jdW1lbnRzJyxcbiAgICAnUmVmZXJlbmNlIE1hdGVyaWFscycsXG4gICAgJ1JlbGF0ZWQgcHJvY2VkdXJlcycsXG4gICAgJ0ltcGxlbWVudGF0aW9uIGd1aWRlbGluZXMnLFxuICAgICdUcmFpbmluZyBNYXRlcmlhbHMnLFxuICAgICdSZWd1bGF0b3J5IERvY3VtZW50cycsXG4gICAgJ090aGVyJyxcbiAgXTtcbiAgc2VsZWN0ZWRMaW5rU2V0Q2hhbmdlKGV2ZW50OiBhbnksIGluZGV4OiBudW1iZXIpIHtcbiAgICB0aGlzLmZvcm1hdGUuZmlsZXNbaW5kZXhdLmxpbmtTZXQgPSBldmVudDtcbiAgICBpZiAoZXZlbnQgPT09ICdPdGhlcicgJiYgIXRoaXMuZm9ybWF0ZT8uZmlsZXNbaW5kZXhdPy5vdGhlcnMpIHtcbiAgICAgIHRoaXMuZm9ybWF0ZS5maWxlc1tpbmRleF0ub3RoZXJzID0gWycnXTtcbiAgICB9XG4gICAgdGhpcy5lbWl0VmFsdWUoKTtcbiAgfVxuXG4gIGFkZE1vcmVEb2N1bWVudHNEZXRhaWxzKGluZGV4OiBudW1iZXIpIHtcbiAgICB0aGlzLmZvcm1hdGUuZmlsZXNbaW5kZXhdLm90aGVycy5wdXNoKCcnKTtcbiAgfVxuXG4gIHVwbG9hZFBvbGljeUF0dGFjaG1lbnRzKGZvcm1EYXRhOiBhbnkpIHtcbiAgICBjb25zdCBwYXRoID0gJ28vJyArIHRoaXMub3JnYW5pemF0aW9uX2lkICsgJy9wb2xpY3kvJztcbiAgICB0aGlzLnBvbGljeVNlcnZpY2VcbiAgICAgIC5maWxlVXBsb2FkV29ya3Jvb20oZm9ybURhdGEsIHBhdGgpXG4gICAgICAuc3Vic2NyaWJlKChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgY29uc3QgcGF5bG9hZCA9IHtcbiAgICAgICAgICBmaWxlX25hbWU6IGRhdGEubmFtZSxcbiAgICAgICAgICBvcmlnaW5hbF9maWxlX25hbWU6IGRhdGEub3JnX2ZpbGUsXG4gICAgICAgICAgcGF0aDogcGF0aCxcbiAgICAgICAgICBvcmdhbmlzYXRpb25faWQ6IHRoaXMuYXV0aFNlcnZpY2UuZ2V0T3JnYW5pemF0aW9uSWQoKSxcbiAgICAgICAgICBtZW1iZXJfaWQ6IHRoaXMuYXV0aFNlcnZpY2UuZ2V0TWVtYmVySWQoKSxcbiAgICAgICAgICBjYXRlZ29yeV9pZDogdGhpcy5jYXRlZ29yaWVzLFxuICAgICAgICAgIGNsYXBfaWQ6IDAsXG4gICAgICAgICAgY29udHJhY3RfdHlwZTogNCxcbiAgICAgICAgICBmb2xkZXJfaWQ6IDAsXG4gICAgICAgIH07XG4gICAgICB9KTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInZ4LWZvcm0tZ3JvdXBcIiBbY2xhc3MucG9saWN5LXVwbG9hZC1maWxlXT1cIlsncG9saWN5JywgJ3JlcG9ydEFDYXNlJ10/LmluY2x1ZGVzKG1vZGUpXCI+XG4gIDxsYWJlbCBjbGFzcz1cInZ4LWNvbnRyb2wtcGFuZWxcIiAqbmdJZj1cIm1vZGUgPT0gJ3Jlc3BvbnNpYmlsaXR5J1wiPlxuICAgIEZvcm1hdCAmIEV2aWRlbmNlXG4gIDwvbGFiZWw+XG4gIDxkaXYgY2xhc3M9XCJ1cGxvYWQtZm9ybWF0XCIgKm5nSWY9XCJcbiAgICAgIG1vZGUgIT0gJ3BvbGljeScgJiYgbW9kZSAhPSAncG9saWN5UmV2aWV3ZXInICYmIG1vZGUgIT0gJ3JlcG9ydEFDYXNlJ1xuICAgIFwiPlxuICAgIDxzcGFuIGNsYXNzPVwidGV4dFwiPkRvIHlvdSB3YW50IHRvIHVwbG9hZCBhIGZvcm1hdCBmb3IgdGhpcyByZXNwb25zaWJpbGl0eT88L3NwYW4+XG4gICAgPGRpdiBjbGFzcz1cInJhZGlvLWdyb3VwXCI+XG4gICAgICA8YXBwLWNzLXJhZGlvIFtuYW1lXT1cIidmb3JtYXRfcmVxdWlyZWQnXCIgW2NoZWNrZWRdPVwiZm9ybWF0ZS5oYXNVcGxvYWRGb3JtYXRlID09PSB0cnVlXCJcbiAgICAgICAgKGNoZWNrZWRFdmVudCk9XCJ0b2dnbGVJc0Zvcm1hdGVVcGxvYWQodHJ1ZSlcIj5ZZXM8L2FwcC1jcy1yYWRpbz5cbiAgICAgIDxhcHAtY3MtcmFkaW8gW25hbWVdPVwiJ2Zvcm1hdF9yZXF1aXJlZCdcIiBbY2hlY2tlZF09XCJmb3JtYXRlLmhhc1VwbG9hZEZvcm1hdGUgPT09IGZhbHNlXCJcbiAgICAgICAgKGNoZWNrZWRFdmVudCk9XCJ0b2dnbGVJc0Zvcm1hdGVVcGxvYWQoZmFsc2UpXCI+Tm9cbiAgICAgIDwvYXBwLWNzLXJhZGlvPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImZvcm0tdGFiXCIgKm5nSWY9XCJmb3JtYXRlPy5oYXNVcGxvYWRGb3JtYXRlIHx8IG1vZGUgPT0gJ3BvbGljeVJldmlld2VyJ1wiPlxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIFtjbGFzcy5hY3RpdmVdPVwiZm9ybWF0ZT8uZm9ybWF0ZVR5cGUgPT09ICdGSUxFJ1wiIChjbGljayk9XCJ0b2dnbGVBdHRhY2htZW50VHlwZSgnRklMRScpXCJcbiAgICAgIFtkaXNhYmxlZF09XCJmb3JtYXRlLmxpbmtzPy5sZW5ndGggPiAwXCI+XG4gICAgICBJbnNlcnQgRmlsZVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIFtjbGFzcy5hY3RpdmVdPVwiZm9ybWF0ZT8uZm9ybWF0ZVR5cGUgPT09ICdMSU5LJ1wiIChjbGljayk9XCJ0b2dnbGVBdHRhY2htZW50VHlwZSgnTElOSycpXCJcbiAgICAgIFtkaXNhYmxlZF09XCJmb3JtYXRlLmZpbGVzPy5sZW5ndGggPiAwXCI+XG4gICAgICBJbnNlcnQgTGlua1xuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cblxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiXG4gICAgICAoZm9ybWF0ZT8uaGFzVXBsb2FkRm9ybWF0ZSAmJiBmb3JtYXRlLmZvcm1hdGVUeXBlID09PSAnRklMRScpIHx8XG4gICAgICAobW9kZSA9PSAncG9saWN5JyAmJiBmb3JtYXRlLmZvcm1hdGVUeXBlID09PSAnRklMRScpIHx8XG4gICAgICAobW9kZSA9PSAncG9saWN5UmV2aWV3ZXInICYmIGZvcm1hdGUuZm9ybWF0ZVR5cGUgPT09ICdGSUxFJykgfHxcbiAgICAgIChtb2RlID09ICdyZXBvcnRBQ2FzZScgJiYgZm9ybWF0ZS5mb3JtYXRlVHlwZSA9PT0gJ0ZJTEUnKVxuICAgIFwiPlxuICAgIDwhLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1maWxlIHVwbG9hZCBpbiBwcm9ncmVzcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAtLT5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiKGZvcm1hdGU/LnVwbG9hZEluUHJvZ3Jlc3MgfCBrZXl2YWx1ZSkubGVuZ3RoID4gMFwiPlxuICAgICAgPGRpdiBjbGFzcz1cImZpbGUtbGlzdFwiICpuZ0Zvcj1cIlxuICAgICAgICAgIGxldCBlYWNoRmlsZSBvZiBmb3JtYXRlPy51cGxvYWRJblByb2dyZXNzIHwga2V5dmFsdWU7XG4gICAgICAgICAgbGV0IGkgPSBpbmRleFxuICAgICAgICBcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZpbGUtY29udGFpbmVyXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJmaWxlLW5hbWVcIj57eyBlYWNoRmlsZS52YWx1ZSB9fTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxhcHAtbGluZS1sb2FkZXIgW2xvYWRlckhlaWdodF09XCIyXCI+PC9hcHAtbGluZS1sb2FkZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8IS0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tZmlsZSB1cGxvYWQgZW5kcyBoZXJlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAtLT5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZm9ybWF0ZS5maWxlcz8ubGVuZ3RoID4gMFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1vZGUgIT0gJ3BvbGljeSdcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZpbGUtbGlzdFwiICpuZ0Zvcj1cImxldCBlYWNoRmlsZSBvZiBmb3JtYXRlLmZpbGVzOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZpbGUtY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZpbGUtbmFtZVwiPnt7IGVhY2hGaWxlPy5maWxlX25hbWUgfX08L3NwYW4+XG4gICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJkZWxldGVBdHRhY2htZW50KGkpXCI+XG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbnNcIj4mI3hlOTBkOzwvaT5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8ZGl2ICpuZ0lmPVwibW9kZSA9PSAncG9saWN5J1wiIGNsYXNzPVwicG9saWN5LXJlbGF0ZWQtZG9jdW1lbnQtZmllbGQgdngtcC0zIHZ4LXB0LTJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC1wYXJhZ3JhcGgtdHh0IHZ4LXR0LXVwcGVyY2FzZSB2eC1tYi0yXCI+XG4gICAgICAgICAgTElOSyBUSEUgRE9DVU1FTlQgQU5EIFNQRUNJRlkgVEhFIFJFTEFUSU9OU0hJUCBXSVRIIFRISVMgUE9MSUNZXG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsZS1saXN0IHBvbGljeVwiICpuZ0Zvcj1cImxldCBlYWNoRmlsZSBvZiBmb3JtYXRlLmZpbGVzOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZpbGUtY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZpbGUgdGFibGUge3tcbiAgICAgICAgICAgICAgICBlYWNoRmlsZT8uZmlsZV9uYW1lLnNwbGl0KCcuJylbXG4gICAgICAgICAgICAgICAgICBlYWNoRmlsZT8uZmlsZV9uYW1lLnNwbGl0KCcuJyk/Lmxlbmd0aCAtIDFcbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgIH19XCI+XG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbnNcIj4mI3hlOTJlOzwvaT5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb3JtYXQge3tcbiAgICAgICAgICAgICAgICAgIGVhY2hGaWxlPy5maWxlX25hbWUuc3BsaXQoJy4nKVtcbiAgICAgICAgICAgICAgICAgICAgZWFjaEZpbGU/LmZpbGVfbmFtZS5zcGxpdCgnLicpPy5sZW5ndGggLSAxXG4gICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgfX1cIj57e1xuICAgICAgICAgICAgICAgIGVhY2hGaWxlPy5maWxlX25hbWUuc3BsaXQoXCIuXCIpW1xuICAgICAgICAgICAgICAgIGVhY2hGaWxlPy5maWxlX25hbWUuc3BsaXQoXCIuXCIpPy5sZW5ndGggLSAxXG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmlsZS1uYW1lXCI+e3sgZWFjaEZpbGU/LmZpbGVfbmFtZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJidXR0b24tZ3JvdXBcIj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiZGVsZXRlQXR0YWNobWVudChpKVwiPlxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbnNcIj4mI3hlOTBkOzwvaT5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8Y3Mtc2VsZWN0IFsobmdNb2RlbCldPVwiZWFjaEZpbGUubGlua1NldFwiIChuZ01vZGVsQ2hhbmdlKT1cInNlbGVjdGVkTGlua1NldENoYW5nZSgkZXZlbnQsIGkpXCJcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInRGVmaW5lIHRoZSBkb2N1bWVudFxcJ3MgcmVsYXRpb25zaGlwIHRvIHRoaXMgcG9saWN5J1wiIG5hbWU9XCJzZWxlY3RlZFwiPlxuICAgICAgICAgICAgPGNzLW9wdGlvbiAqbmdGb3I9XCJsZXQgZGF0YSBvZiBwb2xpY3lMaW5rU2V0TGlzdFwiIFt2YWx1ZV09XCJkYXRhXCI+XG4gICAgICAgICAgICAgIHt7IGRhdGEgfX1cbiAgICAgICAgICAgIDwvY3Mtb3B0aW9uPlxuICAgICAgICAgIDwvY3Mtc2VsZWN0PlxuICAgICAgICAgIDwhLS0gPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgb3RoZXIgb2YgZWFjaEZpbGU/Lm90aGVyczsgbGV0IGogPSBpbmRleFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0ICpuZ0lmPVwiZWFjaEZpbGU/LmxpbmtTZXQgPT09ICdPdGhlciAoc3BlY2lmeSBvd24pJ1wiIFtuZ01vZGVsXT1cImVhY2hGaWxlLm90aGVyc1tqXVwiIChuZ01vZGVsQ2hhbmdlKT1cInNlbGVjdGVkTGlua1NldENoYW5nZSgnT3RoZXIgKHNwZWNpZnkgb3duKScsaSwgJGV2ZW50LCBqKVwiIGNsYXNzPVwibGlua2FnZS1pbnB1dFwiIHR5cGU9XCJ0ZXh0XCIgcGxhY2Vob2xkZXI9XCJUeXBlIHRoZSBsaW5rYWdlIGRldGFpbHNcIiAvPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cImVhY2hGaWxlPy5saW5rU2V0ID09PSAnT3RoZXIgKHNwZWNpZnkgb3duKSdcIiBjbGFzcz1cImxpbmthZ2UtYnRuIHZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC10eHQtYmx1ZSB2eC10dC11cHBlcmNhc2UgdngtcC0wIHZ4LW10LTJcIiAoY2xpY2spPVwiYWRkTW9yZURvY3VtZW50c0RldGFpbHMoaSlcIj4rIEFERCBNT1JFPC9idXR0b24+IC0tPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8IS0tIDxsYWJlbCBjbGFzcz1cInZ4LWNvbnRyb2wtcGFuZWxcIiAqbmdJZj1cIm1vZGU9PSdwb2xpY3knXCI+XG4gICAgICAgICAgICAgICAgTElOSyBUSEUgRE9DVU1FTlQgQU5EIFNQRUNJRlkgVEhFIFJFTEFUSU9OU0hJUCBXSVRIIFRISVMgUE9MSUNZXG4gICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZWFjaEZpbGUgb2YgZm9ybWF0ZS5maWxlczsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWxlLWxpc3RcIiAqbmdJZj1cIm1vZGUhPSdwb2xpY3knXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWxlLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmaWxlLW5hbWVcIj57eyBlYWNoRmlsZT8uZmlsZV9uYW1lIH19IDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cImRlbGV0ZUF0dGFjaG1lbnQoaSlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImljb25zXCI+JiN4ZTkwZDs8L2k+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpbGUtbGlzdCBwb2xpY3lcIiAqbmdJZj1cIm1vZGU9PSdwb2xpY3knXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWxlLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmaWxlLW5hbWVcIj57e2VhY2hGaWxlPy5maWxlX25hbWV9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJidXR0b24tZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0gLSA8YnV0dG9uIGNsYXNzPVwiZWRpdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImljb25zXCI+JiN4ZTliYTs8L2k+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+IC0gLT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJkZWxldGVBdHRhY2htZW50KGkpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbnNcIj4mI3hlOTBkOzwvaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGNzLXNlbGVjdCBbKG5nTW9kZWwpXT1cImVhY2hGaWxlLmxpbmtTZXRcIiAobmdNb2RlbENoYW5nZSk9XCJzZWxlY3RlZExpbmtTZXRDaGFuZ2UoJGV2ZW50LGkpXCIgW3BsYWNlaG9sZGVyXT1cIidEZWZpbmUgdGhlIGRvY3VtZW50XFwncyByZWxhdGlvbnNoaXAgdG8gdGhpcyBwb2xpY3knXCIgbmFtZT1cInNlbGVjdGVkXCIgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGNzLW9wdGlvbiAqbmdGb3I9XCJsZXQgZGF0YSBvZiBwb2xpY3lMaW5rU2V0TGlzdFwiIFt2YWx1ZV09XCJkYXRhXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3tkYXRhfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvY3Mtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8L2NzLXNlbGVjdD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPiAtLT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8IS0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tZHJhZyBhbmQgZHJvcCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJ0YWItZ3JvdXBcIiBbY2xhc3MudXBsb2FkZWRdPVwiZm9ybWF0ZS5maWxlcz8ubGVuZ3RoID4gMFwiIGFwcERyYWdEcm9wXG4gICAgICAoZmlsZURyb3BwZWQpPVwib25GaWxlRHJvcHBlZCgkZXZlbnQpXCI+XG4gICAgICA8bGFiZWwgY2xhc3M9XCJ1cGxvYWQtZmlsZVwiPlxuICAgICAgICA8aW1nIFtzcmNdPVwiQVNTRVRTLnVwbG9hZFwiIGFsdD1cIlwiIGNsYXNzPVwiaW1hZ2VcIiAvPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYnJvd3NlXCI+XG4gICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibW9kZSAhPSAncG9saWN5JyAmJiBtb2RlICE9ICdyZXBvcnRBQ2FzZSdcIj5Ecm9wIHlvdXIgZmlsZXMgaGVyZSAvXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJtb2RlID09ICdwb2xpY3knIHx8IG1vZGUgPT0gJ3JlcG9ydEFDYXNlJ1wiPkRyb3AgeW91ciBmaWxlcyBoZXJlIC9cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsYWJlbFwiPkJyb3dzZVxuICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImZpbGVcIiBtdWx0aXBsZSAoY2hhbmdlKT1cIm9uRmlsZURyb3BwZWQoJGV2ZW50LnRhcmdldC5maWxlcylcIiAvPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8IS0tIDxzcGFuICpuZ0lmPVwibW9kZSE9J3BvbGljeSdcIj5Ecm9wIHlvdXIgZmlsZXMgaGVyZSAvPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIm1vZGU9PSdwb2xpY3knXCI+RHJhZyAmIGRyb3AgdG8gdXBsb2FkIGZpbGVzIGFzc29jaWF0ZWQgd2l0aCB0aGlzIHBvbGljeSAvPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImxhYmVsXCI+QnJvd3NlXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImZpbGVcIiBtdWx0aXBsZSAoY2hhbmdlKT1cIm9uRmlsZURyb3BwZWQoJGV2ZW50LnRhcmdldC5maWxlcylcIj5cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPiAtLT5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2xhYmVsPlxuICAgIDwvZGl2PlxuICAgIDwhLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tZHJhZyBkcm9wIGVuZHMgaGVyZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAtLT5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIlxuICAgICAgKGZvcm1hdGU/Lmhhc1VwbG9hZEZvcm1hdGUgJiYgZm9ybWF0ZS5mb3JtYXRlVHlwZSA9PT0gJ0xJTksnKSB8fFxuICAgICAgKG1vZGUgPT0gJ3BvbGljeVJldmlld2VyJyAmJiBmb3JtYXRlLmZvcm1hdGVUeXBlID09PSAnTElOSycpXG4gICAgXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZvcm1hdGUubGlua3MubGVuZ3RoID4gMFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgbGluayBvZiBmb3JtYXRlLmxpbmtzOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmaWxlLWxpc3RcIiAqbmdJZj1cIiFsaW5rLmlzRWRpdGluZ1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWxlLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmaWxlLW5hbWVcIj57eyBsaW5rLmxpbmsgfX0gPC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJidXR0b24tZ3JvdXBcIj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBbY2xhc3MuZGlzYWJsZWRdPVwiaXNFZGl0RGlzYWJsZWRcIiBjbGFzcz1cImVkaXRcIiAoY2xpY2spPVwiZWRpdExpbmsoaSlcIj5cbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImljb25zXCI+JiN4ZTliYTs8L2k+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJkZWxldGVMaW5rKGkpXCI+XG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29uc1wiPiYjeGU5MGQ7PC9pPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJsaW5rLmlzRWRpdGluZ1wiPlxuICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGNsYXNzPVwiZWRpdC1saW5rXCIgYXBwQXV0b2ZvY3VzIHBsYWNlaG9sZGVyPVwiRW50ZXIgdGhlIGxpbmsgaGVyZVwiIFsobmdNb2RlbCldPVwibGluay5saW5rXCJcbiAgICAgICAgICAgIChmb2N1c291dCk9XCJpbnNlcnRMaW5rKCdFRElUJywgaSlcIiAoa2V5ZG93bi5lbnRlcik9XCJpbnNlcnRMaW5rKCdFRElUJywgaSlcIiAvPlxuICAgICAgICAgIDxwIGNsYXNzPVwiZXJyb3ItbWVzc2FnZVwiICpuZ0lmPVwibGluay5jb250YWluc0Vycm9yXCI+XG4gICAgICAgICAgICBQbGVhc2UgaW5zZXJ0IGEgdmFsaWQgbGlua1xuICAgICAgICAgIDwvcD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8aW5wdXQgW2Rpc2FibGVkXT1cImlzTmV3TGlua0Rpc2FibGVkXCIgY2xhc3M9XCJlZGl0LWxpbmtcIiB0eXBlPVwidGV4dFwiIFsobmdNb2RlbCldPVwibmV3TGluay5saW5rXCJcbiAgICAgIHBsYWNlaG9sZGVyPVwiRW50ZXIgdGhlIGxpbmsgaGVyZVwiIChmb2N1c291dCk9XCJpbnNlcnRMaW5rKCdDUkVBVEUnKVwiIChrZXlkb3duLmVudGVyKT1cImluc2VydExpbmsoJ0NSRUFURScpXCIgLz5cbiAgICA8cCBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIiAqbmdJZj1cIm5ld0xpbmsuY29udGFpbnNFcnJvclwiPlxuICAgICAgUGxlYXNlIGluc2VydCBhIHZhbGlkIGxpbmtcbiAgICA8L3A+XG4gIDwvbmctY29udGFpbmVyPlxuICA8ZGl2IGNsYXNzPVwidXBsb2FkLWZvcm1hdFwiICpuZ0lmPVwibW9kZSA9PSAncmVzcG9uc2liaWxpdHknXCI+XG4gICAgPHNwYW4gY2xhc3M9XCJ0ZXh0XCI+RG8geW91IHdhbnQgZXZpZGVuY2Ugb2YgY29tcGxldGlvbiBvZiB0aGUgcmVzcG9uc2liaWxpdHkgdG8gYmVcbiAgICAgIHVwbG9hZGVkPzwvc3Bhbj5cbiAgICA8ZGl2IGNsYXNzPVwicmFkaW8tZ3JvdXBcIj5cbiAgICAgIDxhcHAtY3MtcmFkaW8gW25hbWVdPVwiJ2V2aWRlbmNlX3JlcXVpcmVkJ1wiIFtjaGVja2VkXT1cImZvcm1hdGUuaXNFdmlkZW5jZVJlcXVpcmVkID09PSB0cnVlXCJcbiAgICAgICAgKGNoZWNrZWRFdmVudCk9XCJ0b2dnbGVJc0Zvcm1hdFJlcXVpcmVkKHRydWUpXCI+WWVzPC9hcHAtY3MtcmFkaW8+XG4gICAgICA8YXBwLWNzLXJhZGlvIFtuYW1lXT1cIidldmlkZW5jZV9yZXF1aXJlZCdcIiBbY2hlY2tlZF09XCJmb3JtYXRlLmlzRXZpZGVuY2VSZXF1aXJlZCA9PT0gZmFsc2VcIlxuICAgICAgICAoY2hlY2tlZEV2ZW50KT1cInRvZ2dsZUlzRm9ybWF0UmVxdWlyZWQoZmFsc2UpXCI+Tm9cbiAgICAgIDwvYXBwLWNzLXJhZGlvPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PiJdfQ==
@@ -159,7 +159,7 @@ export class FrequencyResponsibilityListComponent {
159
159
  return {
160
160
  id: item.id,
161
161
  title: item.title,
162
- controlId: item?.controlId ? '[CID-' + (item?.controlId?.slice(4)) + '] ' : '',
162
+ controlId: item?.controlId ? '[CID-' + item?.controlId + '] ' : '',
163
163
  assigneeDetails,
164
164
  allAssignee,
165
165
  allRc
@@ -222,4 +222,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
222
222
  }], selectedResponsibility: [{
223
223
  type: Output
224
224
  }] } });
225
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlcXVlbmN5LXJlc3BvbnNpYmlsaXR5LWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LXJlc3BvbnNpYmlsaXR5LWxpc3QvZnJlcXVlbmN5LXJlc3BvbnNpYmlsaXR5LWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LXJlc3BvbnNpYmlsaXR5LWxpc3QvZnJlcXVlbmN5LXJlc3BvbnNpYmlsaXR5LWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0scUNBQXFDLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7QUFTN0QsTUFBTSxPQUFPLG9DQUFvQztJQTRDL0MsWUFDVSxnQkFBa0MsRUFDbEMsYUFBNEI7UUFENUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQTdDN0Isa0NBQTZCLEdBQVEsRUFBRSxDQUFDO1FBRXZDLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2hDLDJCQUFzQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFdEQsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixXQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ2hCLHlCQUFvQixHQUFRLEVBQUUsQ0FBQztRQUMvQix5QkFBb0IsR0FBWSxLQUFLLENBQUM7UUFDdEMsNkJBQXdC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LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRnJlcXVlbmN5U2VydmljZSB9IGZyb20gJy4uL2ZyZXF1ZW5jeS5zZXJ2aWNlJztcbmltcG9ydCB7IEFTU0VUUyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy9hc3NldHMuY29uc3RhbnRzJztcbmltcG9ydCB7IENvbW1vblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9jb21tb24uc2VydmljZSc7XG5pbXBvcnQgeyBzbGljZSB9IGZyb20gJ2xvZGFzaCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1mcmVxdWVuY3ktcmVzcG9uc2liaWxpdHktbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9mcmVxdWVuY3ktcmVzcG9uc2liaWxpdHktbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZyZXF1ZW5jeS1yZXNwb25zaWJpbGl0eS1saXN0LmNvbXBvbmVudC5sZXNzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEZyZXF1ZW5jeVJlc3BvbnNpYmlsaXR5TGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHNlbGVjdGVkUmVzcG9uc2liaWxpdHlEZXRhaWxzOiBhbnkgPSB7fTtcblxuICBAT3V0cHV0KCkgYmFja0J1dHRvbiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIHNlbGVjdGVkUmVzcG9uc2liaWxpdHkgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIFxuICBhbmltYXRpb24gPSBmYWxzZTtcbiAgQVNTRVRTID0gQVNTRVRTO1xuICByZXNwb25zaWJpbGl0aWVzRGF0YTogYW55ID0ge307XG4gIHJlc3BvbnNpYmlsaXR5TG9hZGVyOiBib29sZWFuID0gZmFsc2U7XG4gIHNlbGVjdGVkUmVzcG9uc2liaWxpdHlJZDogYW55ID0gW107XG4gIHNlbGVjdGVkUmVzcG9uc2liaWxpdHlWYWx1ZXM6IGFueTtcbiAgXG4gIHJlc3BvbnNpYmlsaXR5U2VhcmNoVGV4dDogc3RyaW5nID0gJyc7XG4gIHJlc3BvbnNpYmlsaXR5Q3VycmVudFBhZ2U6IG51bWJlciA9IDE7XG4gIGlzVmFsaWRPYmogPSBmYWxzZTtcblxuICByZXNwb25zaWJpbGl0eVBheWxvYWQgPSB7XG4gICAgdHlwZTogJ2FjdGl2ZScsXG4gICAgcGFnaW5hdGlvblR5cGU6ICdsYXJnZScsXG4gICAgYTogJycsXG4gICAgc2VhcmNoVGVybTogJycsXG4gICAgZmlsdGVyRGF0YToge1xuICAgICAgYXBwTGlzdDogW10sXG4gICAgICByaXNrSWRzOiBbXSxcbiAgICAgIHJldmlld2VySWQ6IFtdLFxuICAgICAgcmVzcG9uc2liaWxpdHlDZW50ZXI6IFtdLFxuICAgICAgZW50cnVzdGVkQnk6IFtdLFxuICAgICAgZW50cnVzdGVkVG86IFtdLFxuICAgICAgcmVzcG9uc2liaWxpdHlDYXRlZ29yeTogW10sXG4gICAgICBjb21wbGlhbmNlVHlwZTogWzFdLFxuICAgIH0sXG4gICAgcGFnZU5vOiAxLFxuICAgIHNvcnRPYmo6IHtcbiAgICAgIHNvcnRCeTogJycsXG4gICAgICB0eXBlOiAnJyxcbiAgICB9LFxuICAgIHBhZ2VOYW1lOiAnb3ZlcnZpZXcnLFxuICB9O1xuICByZXNwb25zaWJpbGl0eUxpc3Q6IGFueTtcbiAgY2xvc2U6IGFueTtcbiAgb3BlbmVkUmVzcG9uc2liaWxpdHk6IGFueVtdID0gW107XG5cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZyZXF1ZW5jeVNlcnZpY2U6IEZyZXF1ZW5jeVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb21tb25TZXJ2aWNlOiBDb21tb25TZXJ2aWNlXG4gICkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5hbmltYXRpb24gPSB0cnVlO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5hbmltYXRpb24gPSBmYWxzZTtcbiAgICB9LCAzMDApO1xuICAgIHRoaXMuZ2V0UmVzcG9uc2liaWxpdHlMaXN0KCk7XG4gICAgdGhpcy5wb3B1bGF0ZVJlc3BvbnNpYmlsaXR5KCk7XG4gIH1cblxuICBiYWNrKCkge1xuICAgIHRoaXMuYmFja0J1dHRvbi5lbWl0KCdiYWNrVG9PbkNvbXBsZXRpb24nKTtcbiAgfVxuXG5cbiAgZ2V0UmVzcG9uc2liaWxpdHlMaXN0KCkge1xuICAgIHRoaXMucmVzcG9uc2liaWxpdHlMb2FkZXIgPSB0cnVlO1xuICAgIHRoaXMuZnJlcXVlbmN5U2VydmljZVxuICAgICAgPy5nZXRSZXNwb25zaWJpbGl0eUxpc3QodGhpcy5yZXNwb25zaWJpbGl0eVBheWxvYWQpXG4gICAgICAuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLnJlc3BvbnNpYmlsaXRpZXNEYXRhID0gcmVzPy5kYXRhO1xuICAgICAgICBjb25zdCBwYWdpbmF0aW9uID0gdGhpcy5jb21tb25TZXJ2aWNlLnNldFBhZ2luYXRpb24ocmVzPy5kYXRhKTtcbiAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0aWVzRGF0YVsncGFnaW5hdGlvbiddID0gcGFnaW5hdGlvbjtcbiAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0aWVzRGF0YVsncmVzcG9uc2liaWxpdGllcyddID0gdGhpcy5tYXBSZXNwb25zaWJpbGl0eURhdGEoIHRoaXMucmVzcG9uc2liaWxpdGllc0RhdGEpXG5cbiAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0eUxvYWRlciA9IGZhbHNlO1xuICAgICAgICBjb25zdCBoYXNSZXNwb25zaWJpbGl0eSA9IHRoaXMucmVzcG9uc2liaWxpdGllc0RhdGE/LnJlc3BvbnNpYmlsaXRpZXM/LmZpbmQoKHJlc3BvbnNpYmlsaXR5OiBhbnkpID0+IHJlc3BvbnNpYmlsaXR5LmlkID09PSB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlWYWx1ZXM/LnJlc3BvbnNpYmlsaXR5Py5pZCk7XG4gICAgICAgIGlmKGhhc1Jlc3BvbnNpYmlsaXR5KSB7XG4gICAgICAgICAgdGhpcy5vblRvZ2dsZVJlc3BvbnNpYmlsaXR5KGhhc1Jlc3BvbnNpYmlsaXR5KTtcbiAgICAgICAgfVxuICAgICAgfSwgKGVycm9yOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0eUxvYWRlciA9IGZhbHNlO1xuICAgICAgICBjb25zb2xlLmxvZyh7IGVycm9yIH0sIFwiRXJyb3IgaW4gZ2V0dGluZyByZXNwb25zaWJpbGl0eSBsaXN0XCIpO1xuICAgICAgfSk7XG4gIH1cblxuICByZXNwb25zaWJpbGl0eVBhZ2VDaGFuZ2UocGFnZU51bWJlcjogbnVtYmVyKSB7XG4gICAgdGhpcy5yZXNwb25zaWJpbGl0eUN1cnJlbnRQYWdlID0gcGFnZU51bWJlcjtcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5UGF5bG9hZC5wYWdlTm8gPSB0aGlzLnJlc3BvbnNpYmlsaXR5Q3VycmVudFBhZ2U7XG4gICAgdGhpcy5yZXNwb25zaWJpbGl0eVBheWxvYWQuc2VhcmNoVGVybSA9IHRoaXMucmVzcG9uc2liaWxpdHlTZWFyY2hUZXh0O1xuICAgIHRoaXMuZ2V0UmVzcG9uc2liaWxpdHlMaXN0KCk7XG4gIH1cblxuXG4gIGRlbGV0ZUl0ZW0oaXRlbTogYW55KSB7XG4gICAgdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5VmFsdWVzID0ge307XG4gICAgdGhpcy5pc1ZhbGlkT2JqID0gZmFsc2U7XG4gICAgdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5SWQgPSBbXTtcbiAgfVxuICBzYXZlKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLmJhY2tCdXR0b24uZW1pdCgnYmFja1RvT25Db21wbGV0aW9uJyk7XG4gICAgdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5LmVtaXQodGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5VmFsdWVzKTtcbiAgfVxuXG5cbiAgc2VhcmNoKCkge1xuICAgIHRoaXMucmVzcG9uc2liaWxpdHlQYXlsb2FkLnNlYXJjaFRlcm0gPSB0aGlzLnJlc3BvbnNpYmlsaXR5U2VhcmNoVGV4dDtcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5Q3VycmVudFBhZ2UgPSAxO1xuICAgIHRoaXMucmVzcG9uc2liaWxpdHlQYXlsb2FkLnBhZ2VObyA9IHRoaXMucmVzcG9uc2liaWxpdHlDdXJyZW50UGFnZTtcbiAgICB0aGlzLmdldFJlc3BvbnNpYmlsaXR5TGlzdCgpO1xuICB9XG5cbiBcbiAgXG4gIG9uVG9nZ2xlUmVzcG9uc2liaWxpdHkocmVzcG9uc2liaWxpdHk6IGFueSkge1xuICAgIGlmKHRoaXMub3BlbmVkUmVzcG9uc2liaWxpdHkuaW5jbHVkZXMocmVzcG9uc2liaWxpdHkuaWQpKSB7XG4gICAgICB0aGlzLm9wZW5lZFJlc3BvbnNpYmlsaXR5ID0gdGhpcy5vcGVuZWRSZXNwb25zaWJpbGl0eS5maWx0ZXIoKGlkOiBhbnkpID0+IGlkICE9PSByZXNwb25zaWJpbGl0eS5pZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub3BlbmVkUmVzcG9uc2liaWxpdHkucHVzaChyZXNwb25zaWJpbGl0eS5pZCk7XG4gICAgfVxuICB9XG5cblxuICAgIC8vIE1haW4gbWV0aG9kIGV4cG9zZWQgb3V0c2lkZVxuICAgIHB1YmxpYyBtYXBSZXNwb25zaWJpbGl0eURhdGEocmVzcG9uc2liaWxpdHk6IGFueSk6IGFueVtdIHtcbiAgICAgIGlmICghcmVzcG9uc2liaWxpdHkpIHJldHVybiBbXTtcbiAgXG4gICAgICBjb25zdCB1c2VycyA9IHRoaXMubWFwU2hvcnROYW1lcyhyZXNwb25zaWJpbGl0eS51c2VycywgdGhpcy5tYXBTaG9ydE5hbWUpO1xuICAgICAgY29uc3QgdXNlck1hcCA9IHRoaXMuYnVpbGRNYXAodXNlcnMpO1xuICAgICAgY29uc3QgcmNNYXAgPSB0aGlzLmJ1aWxkTWFwKHJlc3BvbnNpYmlsaXR5LnJlc3BvbnNpYmlsaXR5Q2VudGVycyk7XG4gIFxuICAgICAgcmV0dXJuIChyZXNwb25zaWJpbGl0eS5yZXNwb25zaWJpbGl0aWVzIHx8IFtdKS5tYXAoKGl0ZW06IGFueSkgPT5cbiAgICAgICAgdGhpcy5tYXBSZXNwb25zaWJpbGl0eUl0ZW0oaXRlbSwgdXNlck1hcCwgcmNNYXApXG4gICAgICApO1xuICAgIH1cbiAgXG4gICAgLy8gSGVscGVyIG1ldGhvZHMgYmVsb3c6XG4gIFxuICAgIHByaXZhdGUgbWFwU2hvcnROYW1lcyh1c2VyczogYW55W10sIG1hcFNob3J0TmFtZTogKG5hbWU6IHN0cmluZykgPT4gc3RyaW5nKTogYW55W10ge1xuICAgICAgcmV0dXJuICh1c2VycyB8fCBbXSkubWFwKHVzZXIgPT4gKHtcbiAgICAgICAgLi4udXNlcixcbiAgICAgICAgc2hvcnROYW1lOiBtYXBTaG9ydE5hbWUodXNlci5uYW1lKSxcbiAgICAgIH0pKTtcbiAgICB9XG4gIFxuICAgIHByaXZhdGUgYnVpbGRNYXAoYXJyOiBhbnlbXSk6IE1hcDxzdHJpbmcsIGFueT4ge1xuICAgICAgcmV0dXJuIG5ldyBNYXAoKGFyciB8fCBbXSkubWFwKGl0ZW0gPT4gW2l0ZW0uaWQsIGl0ZW1dKSk7XG4gICAgfVxuICBcbiAgICBwcml2YXRlIG1hcEFzc2lnbmVlVXNlcnMoYXNzaWduZWU6IGFueSwgYWN0aXZlVXNlcklkczogc3RyaW5nW10sIHVzZXJNYXA6IE1hcDxzdHJpbmcsIGFueT4pOiBhbnlbXSB7XG4gICAgICBpZiAoIWFzc2lnbmVlLmFzc2lnbmVlKSB7XG4gICAgICAgIHJldHVybiAoYWN0aXZlVXNlcklkcyB8fCBbXSkubWFwKGlkID0+IHVzZXJNYXAuZ2V0KGlkKSkuZmlsdGVyKEJvb2xlYW4pO1xuICAgICAgfVxuICAgICAgY29uc3QgaWRzID0gQXJyYXkuaXNBcnJheShhc3NpZ25lZS5hc3NpZ25lZSkgPyBhc3NpZ25lZS5hc3NpZ25lZSA6IFthc3NpZ25lZS5hc3NpZ25lZV07XG4gICAgICByZXR1cm4gaWRzLm1hcCgoaWQ6IGFueSkgPT4gdXNlck1hcC5nZXQoKGlkKSkpLmZpbHRlcihCb29sZWFuKTtcbiAgICB9XG4gIFxuICAgIHByaXZhdGUgbWFwUmVzcG9uc2liaWxpdHlDZW50ZXJzKGFzc2lnbmVlOiBhbnksIGl0ZW1SQ0lkczogc3RyaW5nW10sIHJjTWFwOiBNYXA8c3RyaW5nLCBhbnk+KTogYW55W10ge1xuICAgICAgaWYgKCFhc3NpZ25lZS5yZXNwb25zaWJpbGl0eUNlbnRlcikge1xuICAgICAgICByZXR1cm4gKGl0ZW1SQ0lkcyB8fCBbXSkubWFwKGlkID0+IHJjTWFwLmdldChpZCkpLmZpbHRlcihCb29sZWFuKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGlkcyA9IEFycmF5LmlzQXJyYXkoYXNzaWduZWUucmVzcG9uc2liaWxpdHlDZW50ZXIpID8gYXNzaWduZWUucmVzcG9uc2liaWxpdHlDZW50ZXIgOiBbYXNzaWduZWUucmVzcG9uc2liaWxpdHlDZW50ZXJdO1xuICAgICAgcmV0dXJuIGlkcy5tYXAoKGlkOiBhbnkpID0+IHJjTWFwLmdldChpZCkpLmZpbHRlcihCb29sZWFuKTtcbiAgICB9XG4gIFxuICAgIHByaXZhdGUgbWFwUmVzcG9uc2liaWxpdHlJdGVtKGl0ZW06IGFueSwgdXNlck1hcDogTWFwPHN0cmluZywgYW55PiwgcmNNYXA6IE1hcDxzdHJpbmcsIGFueT4pOiBhbnkge1xuICAgICAgY29uc3QgYXNzaWduZWVEZXRhaWxzID0gKGl0ZW0uYXNzaWduZWVEZXRhaWxzIHx8IFtdKVxuICAgICAgICAuZmlsdGVyKChhZDogYW55KSA9PiBhZC5zdGF0dXMgJiYgYWQuc3RhdHVzLnRvTG93ZXJDYXNlKCkgPT09ICdhY3RpdmUnKVxuICAgICAgICAubWFwKChhZDogYW55KSA9PiAoe1xuICAgICAgICAgIC4uLmFkLFxuICAgICAgICAgIGFzc2lnbmVlSW5mbzogdGhpcy5tYXBBc3NpZ25lZVVzZXJzKGFkLCBpdGVtLmFzc2lnbmVlcz8uYWN0aXZlVXNlcklkIHx8IFtdLCB1c2VyTWFwKSxcbiAgICAgICAgICByZXNwb25zaWJpbGl0eUNlbnRlckluZm86IHRoaXMubWFwUmVzcG9uc2liaWxpdHlDZW50ZXJzKGFkLCBpdGVtLnJlc3BvbnNpYmlsaXR5Q2VudGVycyB8fCBbXSwgcmNNYXApLFxuICAgICAgICB9KSk7XG4gICAgICAgIGNvbnN0IGFsbEFzc2lnbmVlID0gdGhpcy5yZW1vdmVEdXBsaWNhdGVBc3NpZ25lZShhc3NpZ25lZURldGFpbHMpLm1hcCgoYWQ6IGFueSkgPT4gYWQuYXNzaWduZWVJbmZvWzBdKTtcbiAgICAgICAgY29uc3QgYWxsUmMgPSB0aGlzLm1hcFJjcyhpdGVtLnJlc3BvbnNpYmlsaXR5Q2VudGVycyk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpZDogaXRlbS5pZCxcbiAgICAgICAgdGl0bGU6IGl0ZW0udGl0bGUsXG4gICAgICAgIGNvbnRyb2xJZDogaXRlbT8uY29udHJvbElkID8gJ1tDSUQtJyArIChpdGVtPy5jb250cm9sSWQ/LnNsaWNlKDQpKSArICddICcgOiAnJyxcbiAgICAgICAgYXNzaWduZWVEZXRhaWxzLFxuICAgICAgICAgYWxsQXNzaWduZWUsXG4gICAgICAgICBhbGxSY1xuICAgICAgfTtcbiAgICB9XG5cbiAgICByZW1vdmVEdXBsaWNhdGVBc3NpZ25lZShhc3NpZ25lZURldGFpbHM6IGFueSkge1xuICAgICAgY29uc3QgdW5pcXVlTWFwID0gbmV3IE1hcCgpO1xuICAgICAgYXNzaWduZWVEZXRhaWxzLmZvckVhY2goKG9iajogYW55KSA9PiB7XG4gICAgICAgIHVuaXF1ZU1hcC5zZXQob2JqLmFzc2lnbmVlLCBvYmopO1xuICAgICAgfSk7XG4gICAgICBjb25zdCB1bmlxdWVBcnJheSA9IEFycmF5LmZyb20odW5pcXVlTWFwLnZhbHVlcygpKTtcbiAgICAgICAgICByZXR1cm4gdW5pcXVlQXJyYXk7XG4gICAgICAgIH1cblxuICAgICAgbWFwUmNzKHJjczogYW55KSB7XG4gICAgICAgIHJldHVybiB0aGlzLnJlc3BvbnNpYmlsaXRpZXNEYXRhPy5yZXNwb25zaWJpbGl0eUNlbnRlcnM/LmZpbHRlcigocmM6IGFueSkgPT4gcmNzPy5pbmNsdWRlcyhyYz8uaWQpKTtcbiAgICAgIH1cbiAgXG4gIG1hcFNob3J0TmFtZShuYW1lOiBzdHJpbmcpIHtcbiAgICBjb25zdCBuYW1lQXJyYXkgPSBuYW1lPy5zcGxpdCgnICcpO1xuICAgIGlmKG5hbWVBcnJheT8ubGVuZ3RoID4gMSkge1xuICAgICAgcmV0dXJuIG5hbWVBcnJheVswXT8uY2hhckF0KDApICsgbmFtZUFycmF5W25hbWVBcnJheT8ubGVuZ3RoIC0gMV0/LmNoYXJBdCgwKTtcbiAgICB9XG4gICAgcmV0dXJuIG5hbWVBcnJheVswXT8uY2hhckF0KDApICsgbmFtZUFycmF5WzBdPy5jaGFyQXQoMSk/LnRvVXBwZXJDYXNlKCk7XG4gIH1cblxuICBwb3B1bGF0ZVJlc3BvbnNpYmlsaXR5KCkge1xuICAgIGlmKCF0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlEZXRhaWxzPy5hc3NpZ25lZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlWYWx1ZXMgPSAge1xuICAgICAgZWFjaEFzc2lnbmVlOiB7XG4gICAgICAgIGFzc2lnbmVlOiB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlEZXRhaWxzLmFzc2lnbmVlLFxuICAgICAgICByZXNwb25zaWJpbGl0eUNlbnRlcjogdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5RGV0YWlscy5yZXNwb25zaWJpbGl0eUNlbnRlcixcbiAgICAgIH0sXG4gICAgICByZXNwb25zaWJpbGl0eToge1xuICAgICAgICB0aXRsZTogdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5RGV0YWlscy50aXRsZSxcbiAgICAgICAgaWQ6IHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eURldGFpbHMuaWQsXG4gICAgICAgIGFsbFJDOiBbXSxcbiAgICAgICAgYWxsQXNzaWduZWU6IFtdLFxuICAgICAgICBhc3NpZ25lZURldGFpbHM6IFt7XG4gICAgICAgICAgYXNzaWduZWU6IHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eURldGFpbHMuYXNzaWduZWUsXG4gICAgICAgICAgcmVzcG9uc2liaWxpdHlDZW50ZXI6IHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eURldGFpbHMucmVzcG9uc2liaWxpdHlDZW50ZXIsXG4gICAgICAgIH1dLFxuICAgICAgICBlYWNoQXNzaWduZWU6IHt9LFxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG9uQ29tcGxldGlvbkNoYW5nZShldmVudDogYW55KSB7XG4gICAgdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5VmFsdWVzID0gZXZlbnRcbiAgICBjb25zb2xlLmxvZyh0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlWYWx1ZXMsICdzZWxlY3RlZFJlc3BvbnNpYmlsaXR5VmFsdWVzJyk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktcmVzcG9uc2liaWxpdHktbGlzdFwiIFtjbGFzcy5hbmltYXRlXT1cImFuaW1hdGlvblwiPlxuICA8ZGl2IGNsYXNzPVwiZnJlcXVlbmN5LXJlc3BvbnNpYmlsaXR5LWxpc3QtaGVhZCB2eC1wLTMgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWJldHdlZW5cIj5cbiAgICA8ZGl2IGNsYXNzPVwidngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiPlxuICAgICAgPGkgY2xhc3M9XCJpY29ucyBhcnJvdyB2eC1mcy0xNiB2eC1sYWJlbC10eHQgdngtbXItMVwiIChjbGljayk9XCJiYWNrKClcIj4mI3hlOTFkOzwvaT5cbiAgICAgIDxkaXYgY2xhc3M9XCJ2eC1mcy0xNCB2eC1mdy01MDAgdngtbGFiZWwtdHh0XCI+U2VsZWN0IGEgUmVzcG9uc2liaWxpdHk8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktcmVzcG9uc2liaWxpdHktbGlzdC1ib2R5XCI+XG4gICAgPCEtLSA8YXBwLWxvYWRlci1pbmxpbmUgKm5nSWY9XCJvdGhlcnNDb3VudCA9PT0gMFwiPjwvYXBwLWxvYWRlci1pbmxpbmU+IC0tPlxuXG4gICAgPGRpdiBjbGFzcz1cImZyZXF1ZW5jeS1yZXNwb25zaWJpbGl0eS1saXN0LXNlYXJjaCB2eC1tYi0yXCI+XG4gICAgICA8aSBjbGFzcz1cImljb25zIHZ4LWZzLTEyXCI+JiN4ZTkwYjs8L2k+XG4gICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBbKG5nTW9kZWwpXT1cInJlc3BvbnNpYmlsaXR5U2VhcmNoVGV4dFwiIChrZXl1cC5lbnRlcik9XCJzZWFyY2goKVwiXG4gICAgICAgIHBsYWNlaG9sZGVyPVwiU2VhcmNoIFJlc3BvbnNpYmlsaXRpZXNcIiAvPlxuICAgIDwvZGl2PlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJyZXNwb25zaWJpbGl0aWVzRGF0YT8ucGFnaW5hdGlvbiBhcyBwYWdpbmF0aW9uXCI+XG4gICAgICA8YXBwLXBhZ2luYXRpb24gKm5nSWY9XCJwYWdpbmF0aW9uPy50b3RhbF9wYWdlcyA+IDFcIiBbc3RhcnRdPVwicGFnaW5hdGlvbj8ucmVzcG9uc2liaWxpdGllc19mcm9tXCJcbiAgICAgICAgW2VuZF09XCJwYWdpbmF0aW9uPy5yZXNwb25zaWJpbGl0aWVzX3RvXCIgW3RvdGFsXT1cInBhZ2luYXRpb24/LnRvdGFsX3Jlc3BvbnNpYmlsaXRpZXNcIlxuICAgICAgICBbcGFnZUNvdW50XT1cInBhZ2luYXRpb24/LnRvdGFsX3BhZ2VzXCIgW2N1cnJlbnRQYWdlXT1cInJlc3BvbnNpYmlsaXR5Q3VycmVudFBhZ2VcIlxuICAgICAgICAoc2VsZWN0ZWRQYWdlKT1cInJlc3BvbnNpYmlsaXR5UGFnZUNoYW5nZSgkZXZlbnQpXCI+XG4gICAgICA8L2FwcC1wYWdpbmF0aW9uPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPGFwcC1sb2FkZXItaW5saW5lICpuZ0lmPVwicmVzcG9uc2liaWxpdHlMb2FkZXJcIj48L2FwcC1sb2FkZXItaW5saW5lPlxuICAgIDxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktcmVzcG9uc2liaWxpdHktbGlzdC1taWQgdngtbWItNFwiIFtjbGFzcy53aXRoLXBhZ2luYXRpb25dPVwiXG4gICAgICAgICFyZXNwb25zaWJpbGl0eUxvYWRlciAmJiByZXNwb25zaWJpbGl0aWVzRGF0YT8udG90YWxfcGFnZXMgPiAxXG4gICAgICBcIj5cbiAgICAgIDxhcHAtbm8tZGF0YSAqbmdJZj1cIlxuICAgICAgICAgIHJlc3BvbnNpYmlsaXRpZXNEYXRhPy5yZXNwb25zaWJpbGl0aWVzPy5sZW5ndGggPT09IDAgJiZcbiAgICAgICAgICAhcmVzcG9uc2liaWxpdHlMb2FkZXJcbiAgICAgICAgXCIgW25vRGF0YUltYWdlXT1cIkFTU0VUUy5zZWFyY2hfZGF0YVwiIFtub0RhdGFUZXh0XT1cIidObyBEYXRhIHRvIERpc3BsYXknXCI+PC9hcHAtbm8tZGF0YT5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJcbiAgICAgICAgICByZXNwb25zaWJpbGl0aWVzRGF0YT8ucmVzcG9uc2liaWxpdGllcz8ubGVuZ3RoID4gMCAmJlxuICAgICAgICAgICFyZXNwb25zaWJpbGl0eUxvYWRlclxuICAgICAgICBcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWhlYWRlclwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1yb3dcIj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtZnMtMTEgdngtZnctNTAwIHZ4LWxoLTUgdngtdHQtdXBwZXJjYXNlIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHNlcmlhbFwiPlxuICAgICAgICAgICAgICAjXG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtZnMtMTEgdngtZnctNTAwIHZ4LWxoLTUgdngtdHQtdXBwZXJjYXNlIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHJlc3BvbnNpYmlsaXR5XCI+XG4gICAgICAgICAgICAgIFJFU1BPTlNJQklMSVRJRVNcbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1mcy0xMSB2eC1mdy01MDAgdngtbGgtNSB2eC10dC11cHBlcmNhc2UgdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgcmVzcG9uc2liaWxpdHktY2VudGVyXCI+XG4gICAgICAgICAgICAgIFJFU1BPTlNJQklMSVRZIENFTlRFUlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC1saC01IHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciBhY3Rpb25cIj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWJvZHlcIj5cbiAgICAgICAgICA8IS0tIHdoZW4gY2xpY2sgb24gcmFkaW8gdGhlbiBhY3RpdmUgY2xhc3Mgc2hvdWxkIGJlIHRydWUgLS0+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJcbiAgICAgICAgICAgICAgbGV0IHJlc3BvbnNpYmlsaXR5IG9mIHJlc3BvbnNpYmlsaXRpZXNEYXRhPy5yZXNwb25zaWJpbGl0aWVzO1xuICAgICAgICAgICAgICBsZXQgaSA9IGluZGV4XG4gICAgICAgICAgICBcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIocmVzcG9uc2liaWxpdGllc0RhdGE/LnBhZ2UgKiByZXNwb25zaWJpbGl0aWVzRGF0YT8ubGltaXQgLVxuICAgICAgICAgICAgcmVzcG9uc2liaWxpdGllc0RhdGE/LmxpbWl0ICtcbiAgICAgICAgICAgIGkgK1xuICAgICAgICAgICAgMSkgYXMgc3JOb1wiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtcm93XCIgW2NsYXNzLnJlc3BdPVwicmVzcG9uc2liaWxpdHk/LmFzc2lnbmVlRGV0YWlscz8ubGVuZ3RoID09PSAxXCIgW2NsYXNzLmFjdGl2ZV09XCJcbiAgICAgICAgICAgICAgICBzZWxlY3RlZFJlc3BvbnNpYmlsaXR5VmFsdWVzPy5yZXNwb25zaWJpbGl0eT8uaWQgPT09IHJlc3BvbnNpYmlsaXR5Py5pZCAmJiByZXNwb25zaWJpbGl0eT8uYXNzaWduZWVEZXRhaWxzPy5sZW5ndGggPT09IDFcbiAgICAgICAgICAgICAgXCIgW2NsYXNzLndpdGgtc3ViLXJlc3BvbnNpYmlsaXR5XT1cIm9wZW5lZFJlc3BvbnNpYmlsaXR5LmluY2x1ZGVzKHJlc3BvbnNpYmlsaXR5Py5pZClcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicmVzcG9uc2liaWxpdHk/LmFzc2lnbmVlRGV0YWlscyBhcyBhc3NpZ25lZURldGFpbHNcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgc2VyaWFsXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzci1ub1wiIFthcHBUb29sdGlwXT1cIlxuICAgICAgICAgICAgICAgICAgICAgIHNyTm8gIFxuICAgICAgICAgICAgICAgICAgICBcIiBwbGFjZW1lbnQ9XCJib3R0b21cIiBkZWxheT1cIjBcIiB0eXBlPVwiYmxhY2tcIiBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgICAgICAge3tzck5vfX1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxhcHAtY3MtcmFkaW8gKm5nSWY9XCJhc3NpZ25lZURldGFpbHM/Lmxlbmd0aCA9PT0gMVwiIFtuYW1lXT1cIidvbkNvbXBsZXRpb24nXCIgW2NoZWNrZWRdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRSZXNwb25zaWJpbGl0eVZhbHVlcz8ucmVzcG9uc2liaWxpdHk/LmlkID09PSByZXNwb25zaWJpbGl0eT8uaWRcbiAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAoY2hlY2tlZEV2ZW50KT1cIm9uQ29tcGxldGlvbkNoYW5nZSh7ZWFjaEFzc2lnbmVlOiBhc3NpZ25lZURldGFpbHNbMF0sIHJlc3BvbnNpYmlsaXR5fSlcIj48L2FwcC1jcy1yYWRpbz5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHJlc3BvbnNpYmlsaXR5IHdpdGgtcmNcIj5cblxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidmFsdWUgdngtZnMtMTIgdngtbGFiZWwtdHh0IHZ4LXByLTUgIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXZhdGFyLWxpc3QgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpYi1hdmF0YXItdjIgW2F2YXRhckxpc3RdPVwicmVzcG9uc2liaWxpdHk/LmFsbEFzc2lnbmVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW3R5cGVdPVwiJ1NJTkdMRV9BVkFUQVInXCI+PC9saWItYXZhdGFyLXYyPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2YWx1ZS10ZXh0IHZ4LW1sLTEgcmVzcC1uYW1lXCIgW2FwcFRvb2x0aXBdPVwicmVzcG9uc2liaWxpdHk/LnRpdGxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCIgZGVsYXk9XCIwXCIgdHlwZT1cImJsYWNrXCIgW3Rvb2x0aXBNYW5kYXRvcnldPVwidHJ1ZVwiPnt7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zaWJpbGl0eT8uY29udHJvbElkIH19IHt7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zaWJpbGl0eT8udGl0bGVcbiAgICAgICAgICAgICAgICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHJlc3BvbnNpYmlsaXR5LWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicmVzcG9uc2liaWxpdHk/LmFsbFJjIGFzIHJjXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByb2dyYW0taW5uZXIgdngtZC1ibG9ja1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByb2dyYW0tdmFsdWUgdngtZnMtMTEgdngtbGFiZWwtdHh0IHZ4LXByLTVcIiBbYXBwVG9vbHRpcF09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJjPy5sZW5ndGhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPyByY1swXT8ubmFtZVxuICAgICAgICAgICAgICAgICAgICAgICAgICA6ICctLSdcbiAgICAgICAgICAgICAgICAgICAgICBcIiBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiIGRlbGF5PVwiMFwiIHR5cGU9XCJibGFja1wiIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmM/Lmxlbmd0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICA/IHJjWzBdPy5uYW1lXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDogXCItLVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJjPy5sZW5ndGggXG4gICAgICAgICAgICAgICAgICAgICAgXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwicmM/Lmxlbmd0aCA+IDFcIiBhcHBQb3BvdmVyIChjbGljayk9XCJyY1BvcHVwLnBvcG92ZXIoKVwiIHBsYWNlbWVudD1cInJpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicHJvZ3JhbS1jb3VudCB2eC1mcy0xMSB2eC1mdy01MDAgdngtdHh0LXdoaXRlIHZ4LXAtMCB2eC1wbC0xIHZ4LXByLTEgdngtbS0wIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICt7eyByYz8ubGVuZ3RoIC0gMSB9fVxuICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgIDxhcHAtcG9wb3ZlciAjcmNQb3B1cD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3Zi1hY3Rpb24tbGlzdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJhY3Rpb24taXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSAqbmdGb3I9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgZGF0YSBvZiByYz8uc2xpY2UoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmM/Lmxlbmd0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXZhdGFyLWNhcmRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWQtYmxvY2sgdngtdy0xMDBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZhbHVlXCIgW2FwcFRvb2x0aXBdPVwiZGF0YT8ubmFtZVwiIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCIgZGVsYXk9XCIwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJibGFja1wiIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIj57eyBkYXRhPy5uYW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2FwcC1wb3BvdmVyPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciBhY3Rpb25cIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25Ub2dnbGVSZXNwb25zaWJpbGl0eShyZXNwb25zaWJpbGl0eSlcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFzc2lnbmVlRGV0YWlscz8ubGVuZ3RoID4gMTsgZWxzZSBjbG9zZUljb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgb3BlbmVkUmVzcG9uc2liaWxpdHkuaW5jbHVkZXMocmVzcG9uc2liaWxpdHkuaWQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBjbG9zZUljb25cbiAgICAgICAgICAgICAgICAgICAgICBcIiBjbGFzcz1cImljb25zIHZ4LWZzLTEwXCI+JiN4ZTllNzs8L2k+XG4gICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNjbG9zZUljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImljb25zIHZ4LWZzLTEwXCI+ICYjeGU5ZTg7PC9pPlxuICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8bGliLXN1Yi1yZXNwb25zaWJpbGl0eSAqbmdJZj1cIm9wZW5lZFJlc3BvbnNpYmlsaXR5LmluY2x1ZGVzKHJlc3BvbnNpYmlsaXR5LmlkKVwiXG4gICAgICAgICAgICAgICAgW3Jlc3BvbnNpYmlsaXR5XT1cInJlc3BvbnNpYmlsaXR5XCIgW3NyTm9dPVwic3JOb1wiIFtzZWxlY3RlZFJlc3BvbnNpYmlsaXR5XT1cInNlbGVjdGVkUmVzcG9uc2liaWxpdHlWYWx1ZXNcIlxuICAgICAgICAgICAgICAgIChvbkNvbXBsZXRpb25DaGFuZ2UpPVwib25Db21wbGV0aW9uQ2hhbmdlKCRldmVudClcIj48L2xpYi1zdWItcmVzcG9uc2liaWxpdHk+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgICA8YXBwLWZsb2F0aW5nLWJhciBbc2VsZWN0ZWREYXRhXT1cIltzZWxlY3RlZFJlc3BvbnNpYmlsaXR5VmFsdWVzPy5yZXNwb25zaWJpbGl0eV1cIiBbZGlzcGxheUVsZW1lbnRLZXldPVwiJ3RpdGxlJ1wiXG4gICAgICAoY2xvc2VMaXN0KT1cImJhY2soKVwiIChjbG9zZUV2ZW50KT1cInNhdmUoJGV2ZW50KVwiIChkZWxldGVFdmVudCk9XCJkZWxldGVJdGVtKCRldmVudClcIlxuICAgICAgW2lzRGlzYWJsZWRdPVwiIXNlbGVjdGVkUmVzcG9uc2liaWxpdHlWYWx1ZXM/LnJlc3BvbnNpYmlsaXR5Py5pZFwiPjwvYXBwLWZsb2F0aW5nLWJhcj5cbiAgPC9kaXY+XG48L2Rpdj4iXX0=
225
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlcXVlbmN5LXJlc3BvbnNpYmlsaXR5LWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LXJlc3BvbnNpYmlsaXR5LWxpc3QvZnJlcXVlbmN5LXJlc3BvbnNpYmlsaXR5LWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LXJlc3BvbnNpYmlsaXR5LWxpc3QvZnJlcXVlbmN5LXJlc3BvbnNpYmlsaXR5LWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0scUNBQXFDLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7QUFTN0QsTUFBTSxPQUFPLG9DQUFvQztJQTRDL0MsWUFDVSxnQkFBa0MsRUFDbEMsYUFBNEI7UUFENUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQTdDN0Isa0NBQTZCLEdBQVEsRUFBRSxDQUFDO1FBRXZDLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2hDLDJCQUFzQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFdEQsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixXQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ2hCLHlCQUFvQixHQUFRLEVBQUUsQ0FBQztRQUMvQix5QkFBb0IsR0FBWSxLQUFLLENBQUM7UUFDdEMsNkJBQXdC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dXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZyZXF1ZW5jeVNlcnZpY2UgfSBmcm9tICcuLi9mcmVxdWVuY3kuc2VydmljZSc7XG5pbXBvcnQgeyBBU1NFVFMgfSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMvYXNzZXRzLmNvbnN0YW50cyc7XG5pbXBvcnQgeyBDb21tb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvY29tbW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgc2xpY2UgfSBmcm9tICdsb2Rhc2gnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZnJlcXVlbmN5LXJlc3BvbnNpYmlsaXR5LWxpc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vZnJlcXVlbmN5LXJlc3BvbnNpYmlsaXR5LWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9mcmVxdWVuY3ktcmVzcG9uc2liaWxpdHktbGlzdC5jb21wb25lbnQubGVzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBGcmVxdWVuY3lSZXNwb25zaWJpbGl0eUxpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBzZWxlY3RlZFJlc3BvbnNpYmlsaXR5RGV0YWlsczogYW55ID0ge307XG5cbiAgQE91dHB1dCgpIGJhY2tCdXR0b24gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBzZWxlY3RlZFJlc3BvbnNpYmlsaXR5ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBcbiAgYW5pbWF0aW9uID0gZmFsc2U7XG4gIEFTU0VUUyA9IEFTU0VUUztcbiAgcmVzcG9uc2liaWxpdGllc0RhdGE6IGFueSA9IHt9O1xuICByZXNwb25zaWJpbGl0eUxvYWRlcjogYm9vbGVhbiA9IGZhbHNlO1xuICBzZWxlY3RlZFJlc3BvbnNpYmlsaXR5SWQ6IGFueSA9IFtdO1xuICBzZWxlY3RlZFJlc3BvbnNpYmlsaXR5VmFsdWVzOiBhbnk7XG4gIFxuICByZXNwb25zaWJpbGl0eVNlYXJjaFRleHQ6IHN0cmluZyA9ICcnO1xuICByZXNwb25zaWJpbGl0eUN1cnJlbnRQYWdlOiBudW1iZXIgPSAxO1xuICBpc1ZhbGlkT2JqID0gZmFsc2U7XG5cbiAgcmVzcG9uc2liaWxpdHlQYXlsb2FkID0ge1xuICAgIHR5cGU6ICdhY3RpdmUnLFxuICAgIHBhZ2luYXRpb25UeXBlOiAnbGFyZ2UnLFxuICAgIGE6ICcnLFxuICAgIHNlYXJjaFRlcm06ICcnLFxuICAgIGZpbHRlckRhdGE6IHtcbiAgICAgIGFwcExpc3Q6IFtdLFxuICAgICAgcmlza0lkczogW10sXG4gICAgICByZXZpZXdlcklkOiBbXSxcbiAgICAgIHJlc3BvbnNpYmlsaXR5Q2VudGVyOiBbXSxcbiAgICAgIGVudHJ1c3RlZEJ5OiBbXSxcbiAgICAgIGVudHJ1c3RlZFRvOiBbXSxcbiAgICAgIHJlc3BvbnNpYmlsaXR5Q2F0ZWdvcnk6IFtdLFxuICAgICAgY29tcGxpYW5jZVR5cGU6IFsxXSxcbiAgICB9LFxuICAgIHBhZ2VObzogMSxcbiAgICBzb3J0T2JqOiB7XG4gICAgICBzb3J0Qnk6ICcnLFxuICAgICAgdHlwZTogJycsXG4gICAgfSxcbiAgICBwYWdlTmFtZTogJ292ZXJ2aWV3JyxcbiAgfTtcbiAgcmVzcG9uc2liaWxpdHlMaXN0OiBhbnk7XG4gIGNsb3NlOiBhbnk7XG4gIG9wZW5lZFJlc3BvbnNpYmlsaXR5OiBhbnlbXSA9IFtdO1xuXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmcmVxdWVuY3lTZXJ2aWNlOiBGcmVxdWVuY3lTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29tbW9uU2VydmljZTogQ29tbW9uU2VydmljZVxuICApIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuYW5pbWF0aW9uID0gdHJ1ZTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuYW5pbWF0aW9uID0gZmFsc2U7XG4gICAgfSwgMzAwKTtcbiAgICB0aGlzLmdldFJlc3BvbnNpYmlsaXR5TGlzdCgpO1xuICAgIHRoaXMucG9wdWxhdGVSZXNwb25zaWJpbGl0eSgpO1xuICB9XG5cbiAgYmFjaygpIHtcbiAgICB0aGlzLmJhY2tCdXR0b24uZW1pdCgnYmFja1RvT25Db21wbGV0aW9uJyk7XG4gIH1cblxuXG4gIGdldFJlc3BvbnNpYmlsaXR5TGlzdCgpIHtcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5TG9hZGVyID0gdHJ1ZTtcbiAgICB0aGlzLmZyZXF1ZW5jeVNlcnZpY2VcbiAgICAgID8uZ2V0UmVzcG9uc2liaWxpdHlMaXN0KHRoaXMucmVzcG9uc2liaWxpdHlQYXlsb2FkKVxuICAgICAgLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0aWVzRGF0YSA9IHJlcz8uZGF0YTtcbiAgICAgICAgY29uc3QgcGFnaW5hdGlvbiA9IHRoaXMuY29tbW9uU2VydmljZS5zZXRQYWdpbmF0aW9uKHJlcz8uZGF0YSk7XG4gICAgICAgIHRoaXMucmVzcG9uc2liaWxpdGllc0RhdGFbJ3BhZ2luYXRpb24nXSA9IHBhZ2luYXRpb247XG4gICAgICAgIHRoaXMucmVzcG9uc2liaWxpdGllc0RhdGFbJ3Jlc3BvbnNpYmlsaXRpZXMnXSA9IHRoaXMubWFwUmVzcG9uc2liaWxpdHlEYXRhKCB0aGlzLnJlc3BvbnNpYmlsaXRpZXNEYXRhKVxuXG4gICAgICAgIHRoaXMucmVzcG9uc2liaWxpdHlMb2FkZXIgPSBmYWxzZTtcbiAgICAgICAgY29uc3QgaGFzUmVzcG9uc2liaWxpdHkgPSB0aGlzLnJlc3BvbnNpYmlsaXRpZXNEYXRhPy5yZXNwb25zaWJpbGl0aWVzPy5maW5kKChyZXNwb25zaWJpbGl0eTogYW55KSA9PiByZXNwb25zaWJpbGl0eS5pZCA9PT0gdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5VmFsdWVzPy5yZXNwb25zaWJpbGl0eT8uaWQpO1xuICAgICAgICBpZihoYXNSZXNwb25zaWJpbGl0eSkge1xuICAgICAgICAgIHRoaXMub25Ub2dnbGVSZXNwb25zaWJpbGl0eShoYXNSZXNwb25zaWJpbGl0eSk7XG4gICAgICAgIH1cbiAgICAgIH0sIChlcnJvcjogYW55KSA9PiB7XG4gICAgICAgIHRoaXMucmVzcG9uc2liaWxpdHlMb2FkZXIgPSBmYWxzZTtcbiAgICAgICAgY29uc29sZS5sb2coeyBlcnJvciB9LCBcIkVycm9yIGluIGdldHRpbmcgcmVzcG9uc2liaWxpdHkgbGlzdFwiKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcmVzcG9uc2liaWxpdHlQYWdlQ2hhbmdlKHBhZ2VOdW1iZXI6IG51bWJlcikge1xuICAgIHRoaXMucmVzcG9uc2liaWxpdHlDdXJyZW50UGFnZSA9IHBhZ2VOdW1iZXI7XG4gICAgdGhpcy5yZXNwb25zaWJpbGl0eVBheWxvYWQucGFnZU5vID0gdGhpcy5yZXNwb25zaWJpbGl0eUN1cnJlbnRQYWdlO1xuICAgIHRoaXMucmVzcG9uc2liaWxpdHlQYXlsb2FkLnNlYXJjaFRlcm0gPSB0aGlzLnJlc3BvbnNpYmlsaXR5U2VhcmNoVGV4dDtcbiAgICB0aGlzLmdldFJlc3BvbnNpYmlsaXR5TGlzdCgpO1xuICB9XG5cblxuICBkZWxldGVJdGVtKGl0ZW06IGFueSkge1xuICAgIHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eVZhbHVlcyA9IHt9O1xuICAgIHRoaXMuaXNWYWxpZE9iaiA9IGZhbHNlO1xuICAgIHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eUlkID0gW107XG4gIH1cbiAgc2F2ZShldmVudDogYW55KSB7XG4gICAgdGhpcy5iYWNrQnV0dG9uLmVtaXQoJ2JhY2tUb09uQ29tcGxldGlvbicpO1xuICAgIHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eS5lbWl0KHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eVZhbHVlcyk7XG4gIH1cblxuXG4gIHNlYXJjaCgpIHtcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5UGF5bG9hZC5zZWFyY2hUZXJtID0gdGhpcy5yZXNwb25zaWJpbGl0eVNlYXJjaFRleHQ7XG4gICAgdGhpcy5yZXNwb25zaWJpbGl0eUN1cnJlbnRQYWdlID0gMTtcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5UGF5bG9hZC5wYWdlTm8gPSB0aGlzLnJlc3BvbnNpYmlsaXR5Q3VycmVudFBhZ2U7XG4gICAgdGhpcy5nZXRSZXNwb25zaWJpbGl0eUxpc3QoKTtcbiAgfVxuXG4gXG4gIFxuICBvblRvZ2dsZVJlc3BvbnNpYmlsaXR5KHJlc3BvbnNpYmlsaXR5OiBhbnkpIHtcbiAgICBpZih0aGlzLm9wZW5lZFJlc3BvbnNpYmlsaXR5LmluY2x1ZGVzKHJlc3BvbnNpYmlsaXR5LmlkKSkge1xuICAgICAgdGhpcy5vcGVuZWRSZXNwb25zaWJpbGl0eSA9IHRoaXMub3BlbmVkUmVzcG9uc2liaWxpdHkuZmlsdGVyKChpZDogYW55KSA9PiBpZCAhPT0gcmVzcG9uc2liaWxpdHkuaWQpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm9wZW5lZFJlc3BvbnNpYmlsaXR5LnB1c2gocmVzcG9uc2liaWxpdHkuaWQpO1xuICAgIH1cbiAgfVxuXG5cbiAgICAvLyBNYWluIG1ldGhvZCBleHBvc2VkIG91dHNpZGVcbiAgICBwdWJsaWMgbWFwUmVzcG9uc2liaWxpdHlEYXRhKHJlc3BvbnNpYmlsaXR5OiBhbnkpOiBhbnlbXSB7XG4gICAgICBpZiAoIXJlc3BvbnNpYmlsaXR5KSByZXR1cm4gW107XG4gIFxuICAgICAgY29uc3QgdXNlcnMgPSB0aGlzLm1hcFNob3J0TmFtZXMocmVzcG9uc2liaWxpdHkudXNlcnMsIHRoaXMubWFwU2hvcnROYW1lKTtcbiAgICAgIGNvbnN0IHVzZXJNYXAgPSB0aGlzLmJ1aWxkTWFwKHVzZXJzKTtcbiAgICAgIGNvbnN0IHJjTWFwID0gdGhpcy5idWlsZE1hcChyZXNwb25zaWJpbGl0eS5yZXNwb25zaWJpbGl0eUNlbnRlcnMpO1xuICBcbiAgICAgIHJldHVybiAocmVzcG9uc2liaWxpdHkucmVzcG9uc2liaWxpdGllcyB8fCBbXSkubWFwKChpdGVtOiBhbnkpID0+XG4gICAgICAgIHRoaXMubWFwUmVzcG9uc2liaWxpdHlJdGVtKGl0ZW0sIHVzZXJNYXAsIHJjTWFwKVxuICAgICAgKTtcbiAgICB9XG4gIFxuICAgIC8vIEhlbHBlciBtZXRob2RzIGJlbG93OlxuICBcbiAgICBwcml2YXRlIG1hcFNob3J0TmFtZXModXNlcnM6IGFueVtdLCBtYXBTaG9ydE5hbWU6IChuYW1lOiBzdHJpbmcpID0+IHN0cmluZyk6IGFueVtdIHtcbiAgICAgIHJldHVybiAodXNlcnMgfHwgW10pLm1hcCh1c2VyID0+ICh7XG4gICAgICAgIC4uLnVzZXIsXG4gICAgICAgIHNob3J0TmFtZTogbWFwU2hvcnROYW1lKHVzZXIubmFtZSksXG4gICAgICB9KSk7XG4gICAgfVxuICBcbiAgICBwcml2YXRlIGJ1aWxkTWFwKGFycjogYW55W10pOiBNYXA8c3RyaW5nLCBhbnk+IHtcbiAgICAgIHJldHVybiBuZXcgTWFwKChhcnIgfHwgW10pLm1hcChpdGVtID0+IFtpdGVtLmlkLCBpdGVtXSkpO1xuICAgIH1cbiAgXG4gICAgcHJpdmF0ZSBtYXBBc3NpZ25lZVVzZXJzKGFzc2lnbmVlOiBhbnksIGFjdGl2ZVVzZXJJZHM6IHN0cmluZ1tdLCB1c2VyTWFwOiBNYXA8c3RyaW5nLCBhbnk+KTogYW55W10ge1xuICAgICAgaWYgKCFhc3NpZ25lZS5hc3NpZ25lZSkge1xuICAgICAgICByZXR1cm4gKGFjdGl2ZVVzZXJJZHMgfHwgW10pLm1hcChpZCA9PiB1c2VyTWFwLmdldChpZCkpLmZpbHRlcihCb29sZWFuKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGlkcyA9IEFycmF5LmlzQXJyYXkoYXNzaWduZWUuYXNzaWduZWUpID8gYXNzaWduZWUuYXNzaWduZWUgOiBbYXNzaWduZWUuYXNzaWduZWVdO1xuICAgICAgcmV0dXJuIGlkcy5tYXAoKGlkOiBhbnkpID0+IHVzZXJNYXAuZ2V0KChpZCkpKS5maWx0ZXIoQm9vbGVhbik7XG4gICAgfVxuICBcbiAgICBwcml2YXRlIG1hcFJlc3BvbnNpYmlsaXR5Q2VudGVycyhhc3NpZ25lZTogYW55LCBpdGVtUkNJZHM6IHN0cmluZ1tdLCByY01hcDogTWFwPHN0cmluZywgYW55Pik6IGFueVtdIHtcbiAgICAgIGlmICghYXNzaWduZWUucmVzcG9uc2liaWxpdHlDZW50ZXIpIHtcbiAgICAgICAgcmV0dXJuIChpdGVtUkNJZHMgfHwgW10pLm1hcChpZCA9PiByY01hcC5nZXQoaWQpKS5maWx0ZXIoQm9vbGVhbik7XG4gICAgICB9XG4gICAgICBjb25zdCBpZHMgPSBBcnJheS5pc0FycmF5KGFzc2lnbmVlLnJlc3BvbnNpYmlsaXR5Q2VudGVyKSA/IGFzc2lnbmVlLnJlc3BvbnNpYmlsaXR5Q2VudGVyIDogW2Fzc2lnbmVlLnJlc3BvbnNpYmlsaXR5Q2VudGVyXTtcbiAgICAgIHJldHVybiBpZHMubWFwKChpZDogYW55KSA9PiByY01hcC5nZXQoaWQpKS5maWx0ZXIoQm9vbGVhbik7XG4gICAgfVxuICBcbiAgICBwcml2YXRlIG1hcFJlc3BvbnNpYmlsaXR5SXRlbShpdGVtOiBhbnksIHVzZXJNYXA6IE1hcDxzdHJpbmcsIGFueT4sIHJjTWFwOiBNYXA8c3RyaW5nLCBhbnk+KTogYW55IHtcbiAgICAgIGNvbnN0IGFzc2lnbmVlRGV0YWlscyA9IChpdGVtLmFzc2lnbmVlRGV0YWlscyB8fCBbXSlcbiAgICAgICAgLmZpbHRlcigoYWQ6IGFueSkgPT4gYWQuc3RhdHVzICYmIGFkLnN0YXR1cy50b0xvd2VyQ2FzZSgpID09PSAnYWN0aXZlJylcbiAgICAgICAgLm1hcCgoYWQ6IGFueSkgPT4gKHtcbiAgICAgICAgICAuLi5hZCxcbiAgICAgICAgICBhc3NpZ25lZUluZm86IHRoaXMubWFwQXNzaWduZWVVc2VycyhhZCwgaXRlbS5hc3NpZ25lZXM/LmFjdGl2ZVVzZXJJZCB8fCBbXSwgdXNlck1hcCksXG4gICAgICAgICAgcmVzcG9uc2liaWxpdHlDZW50ZXJJbmZvOiB0aGlzLm1hcFJlc3BvbnNpYmlsaXR5Q2VudGVycyhhZCwgaXRlbS5yZXNwb25zaWJpbGl0eUNlbnRlcnMgfHwgW10sIHJjTWFwKSxcbiAgICAgICAgfSkpO1xuICAgICAgICBjb25zdCBhbGxBc3NpZ25lZSA9IHRoaXMucmVtb3ZlRHVwbGljYXRlQXNzaWduZWUoYXNzaWduZWVEZXRhaWxzKS5tYXAoKGFkOiBhbnkpID0+IGFkLmFzc2lnbmVlSW5mb1swXSk7XG4gICAgICAgIGNvbnN0IGFsbFJjID0gdGhpcy5tYXBSY3MoaXRlbS5yZXNwb25zaWJpbGl0eUNlbnRlcnMpO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWQ6IGl0ZW0uaWQsXG4gICAgICAgIHRpdGxlOiBpdGVtLnRpdGxlLFxuICAgICAgICBjb250cm9sSWQ6IGl0ZW0/LmNvbnRyb2xJZCA/ICdbQ0lELScgKyBpdGVtPy5jb250cm9sSWQgKyAnXSAnIDogJycsXG4gICAgICAgIGFzc2lnbmVlRGV0YWlscyxcbiAgICAgICAgIGFsbEFzc2lnbmVlLFxuICAgICAgICAgYWxsUmNcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmVtb3ZlRHVwbGljYXRlQXNzaWduZWUoYXNzaWduZWVEZXRhaWxzOiBhbnkpIHtcbiAgICAgIGNvbnN0IHVuaXF1ZU1hcCA9IG5ldyBNYXAoKTtcbiAgICAgIGFzc2lnbmVlRGV0YWlscy5mb3JFYWNoKChvYmo6IGFueSkgPT4ge1xuICAgICAgICB1bmlxdWVNYXAuc2V0KG9iai5hc3NpZ25lZSwgb2JqKTtcbiAgICAgIH0pO1xuICAgICAgY29uc3QgdW5pcXVlQXJyYXkgPSBBcnJheS5mcm9tKHVuaXF1ZU1hcC52YWx1ZXMoKSk7XG4gICAgICAgICAgcmV0dXJuIHVuaXF1ZUFycmF5O1xuICAgICAgICB9XG5cbiAgICAgIG1hcFJjcyhyY3M6IGFueSkge1xuICAgICAgICByZXR1cm4gdGhpcy5yZXNwb25zaWJpbGl0aWVzRGF0YT8ucmVzcG9uc2liaWxpdHlDZW50ZXJzPy5maWx0ZXIoKHJjOiBhbnkpID0+IHJjcz8uaW5jbHVkZXMocmM/LmlkKSk7XG4gICAgICB9XG4gIFxuICBtYXBTaG9ydE5hbWUobmFtZTogc3RyaW5nKSB7XG4gICAgY29uc3QgbmFtZUFycmF5ID0gbmFtZT8uc3BsaXQoJyAnKTtcbiAgICBpZihuYW1lQXJyYXk/Lmxlbmd0aCA+IDEpIHtcbiAgICAgIHJldHVybiBuYW1lQXJyYXlbMF0/LmNoYXJBdCgwKSArIG5hbWVBcnJheVtuYW1lQXJyYXk/Lmxlbmd0aCAtIDFdPy5jaGFyQXQoMCk7XG4gICAgfVxuICAgIHJldHVybiBuYW1lQXJyYXlbMF0/LmNoYXJBdCgwKSArIG5hbWVBcnJheVswXT8uY2hhckF0KDEpPy50b1VwcGVyQ2FzZSgpO1xuICB9XG5cbiAgcG9wdWxhdGVSZXNwb25zaWJpbGl0eSgpIHtcbiAgICBpZighdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5RGV0YWlscz8uYXNzaWduZWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5VmFsdWVzID0gIHtcbiAgICAgIGVhY2hBc3NpZ25lZToge1xuICAgICAgICBhc3NpZ25lZTogdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5RGV0YWlscy5hc3NpZ25lZSxcbiAgICAgICAgcmVzcG9uc2liaWxpdHlDZW50ZXI6IHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eURldGFpbHMucmVzcG9uc2liaWxpdHlDZW50ZXIsXG4gICAgICB9LFxuICAgICAgcmVzcG9uc2liaWxpdHk6IHtcbiAgICAgICAgdGl0bGU6IHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eURldGFpbHMudGl0bGUsXG4gICAgICAgIGlkOiB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlEZXRhaWxzLmlkLFxuICAgICAgICBhbGxSQzogW10sXG4gICAgICAgIGFsbEFzc2lnbmVlOiBbXSxcbiAgICAgICAgYXNzaWduZWVEZXRhaWxzOiBbe1xuICAgICAgICAgIGFzc2lnbmVlOiB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlEZXRhaWxzLmFzc2lnbmVlLFxuICAgICAgICAgIHJlc3BvbnNpYmlsaXR5Q2VudGVyOiB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlEZXRhaWxzLnJlc3BvbnNpYmlsaXR5Q2VudGVyLFxuICAgICAgICB9XSxcbiAgICAgICAgZWFjaEFzc2lnbmVlOiB7fSxcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBvbkNvbXBsZXRpb25DaGFuZ2UoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eVZhbHVlcyA9IGV2ZW50XG4gICAgY29uc29sZS5sb2codGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5VmFsdWVzLCAnc2VsZWN0ZWRSZXNwb25zaWJpbGl0eVZhbHVlcycpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZnJlcXVlbmN5LXJlc3BvbnNpYmlsaXR5LWxpc3RcIiBbY2xhc3MuYW5pbWF0ZV09XCJhbmltYXRpb25cIj5cbiAgPGRpdiBjbGFzcz1cImZyZXF1ZW5jeS1yZXNwb25zaWJpbGl0eS1saXN0LWhlYWQgdngtcC0zIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1iZXR3ZWVuXCI+XG4gICAgPGRpdiBjbGFzcz1cInZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIj5cbiAgICAgIDxpIGNsYXNzPVwiaWNvbnMgYXJyb3cgdngtZnMtMTYgdngtbGFiZWwtdHh0IHZ4LW1yLTFcIiAoY2xpY2spPVwiYmFjaygpXCI+JiN4ZTkxZDs8L2k+XG4gICAgICA8ZGl2IGNsYXNzPVwidngtZnMtMTQgdngtZnctNTAwIHZ4LWxhYmVsLXR4dFwiPlNlbGVjdCBhIFJlc3BvbnNpYmlsaXR5PC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZnJlcXVlbmN5LXJlc3BvbnNpYmlsaXR5LWxpc3QtYm9keVwiPlxuICAgIDwhLS0gPGFwcC1sb2FkZXItaW5saW5lICpuZ0lmPVwib3RoZXJzQ291bnQgPT09IDBcIj48L2FwcC1sb2FkZXItaW5saW5lPiAtLT5cblxuICAgIDxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktcmVzcG9uc2liaWxpdHktbGlzdC1zZWFyY2ggdngtbWItMlwiPlxuICAgICAgPGkgY2xhc3M9XCJpY29ucyB2eC1mcy0xMlwiPiYjeGU5MGI7PC9pPlxuICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgWyhuZ01vZGVsKV09XCJyZXNwb25zaWJpbGl0eVNlYXJjaFRleHRcIiAoa2V5dXAuZW50ZXIpPVwic2VhcmNoKClcIlxuICAgICAgICBwbGFjZWhvbGRlcj1cIlNlYXJjaCBSZXNwb25zaWJpbGl0aWVzXCIgLz5cbiAgICA8L2Rpdj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicmVzcG9uc2liaWxpdGllc0RhdGE/LnBhZ2luYXRpb24gYXMgcGFnaW5hdGlvblwiPlxuICAgICAgPGFwcC1wYWdpbmF0aW9uICpuZ0lmPVwicGFnaW5hdGlvbj8udG90YWxfcGFnZXMgPiAxXCIgW3N0YXJ0XT1cInBhZ2luYXRpb24/LnJlc3BvbnNpYmlsaXRpZXNfZnJvbVwiXG4gICAgICAgIFtlbmRdPVwicGFnaW5hdGlvbj8ucmVzcG9uc2liaWxpdGllc190b1wiIFt0b3RhbF09XCJwYWdpbmF0aW9uPy50b3RhbF9yZXNwb25zaWJpbGl0aWVzXCJcbiAgICAgICAgW3BhZ2VDb3VudF09XCJwYWdpbmF0aW9uPy50b3RhbF9wYWdlc1wiIFtjdXJyZW50UGFnZV09XCJyZXNwb25zaWJpbGl0eUN1cnJlbnRQYWdlXCJcbiAgICAgICAgKHNlbGVjdGVkUGFnZSk9XCJyZXNwb25zaWJpbGl0eVBhZ2VDaGFuZ2UoJGV2ZW50KVwiPlxuICAgICAgPC9hcHAtcGFnaW5hdGlvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxhcHAtbG9hZGVyLWlubGluZSAqbmdJZj1cInJlc3BvbnNpYmlsaXR5TG9hZGVyXCI+PC9hcHAtbG9hZGVyLWlubGluZT5cbiAgICA8ZGl2IGNsYXNzPVwiZnJlcXVlbmN5LXJlc3BvbnNpYmlsaXR5LWxpc3QtbWlkIHZ4LW1iLTRcIiBbY2xhc3Mud2l0aC1wYWdpbmF0aW9uXT1cIlxuICAgICAgICAhcmVzcG9uc2liaWxpdHlMb2FkZXIgJiYgcmVzcG9uc2liaWxpdGllc0RhdGE/LnRvdGFsX3BhZ2VzID4gMVxuICAgICAgXCI+XG4gICAgICA8YXBwLW5vLWRhdGEgKm5nSWY9XCJcbiAgICAgICAgICByZXNwb25zaWJpbGl0aWVzRGF0YT8ucmVzcG9uc2liaWxpdGllcz8ubGVuZ3RoID09PSAwICYmXG4gICAgICAgICAgIXJlc3BvbnNpYmlsaXR5TG9hZGVyXG4gICAgICAgIFwiIFtub0RhdGFJbWFnZV09XCJBU1NFVFMuc2VhcmNoX2RhdGFcIiBbbm9EYXRhVGV4dF09XCInTm8gRGF0YSB0byBEaXNwbGF5J1wiPjwvYXBwLW5vLWRhdGE+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiXG4gICAgICAgICAgcmVzcG9uc2liaWxpdGllc0RhdGE/LnJlc3BvbnNpYmlsaXRpZXM/Lmxlbmd0aCA+IDAgJiZcbiAgICAgICAgICAhcmVzcG9uc2liaWxpdHlMb2FkZXJcbiAgICAgICAgXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1oZWFkZXJcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtcm93XCI+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC1saC01IHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciBzZXJpYWxcIj5cbiAgICAgICAgICAgICAgI1xuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC1saC01IHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciByZXNwb25zaWJpbGl0eVwiPlxuICAgICAgICAgICAgICBSRVNQT05TSUJJTElUSUVTXG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtZnMtMTEgdngtZnctNTAwIHZ4LWxoLTUgdngtdHQtdXBwZXJjYXNlIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHJlc3BvbnNpYmlsaXR5LWNlbnRlclwiPlxuICAgICAgICAgICAgICBSRVNQT05TSUJJTElUWSBDRU5URVJcbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1mcy0xMSB2eC1mdy01MDAgdngtbGgtNSB2eC10dC11cHBlcmNhc2UgdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgYWN0aW9uXCI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1ib2R5XCI+XG4gICAgICAgICAgPCEtLSB3aGVuIGNsaWNrIG9uIHJhZGlvIHRoZW4gYWN0aXZlIGNsYXNzIHNob3VsZCBiZSB0cnVlIC0tPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwiXG4gICAgICAgICAgICAgIGxldCByZXNwb25zaWJpbGl0eSBvZiByZXNwb25zaWJpbGl0aWVzRGF0YT8ucmVzcG9uc2liaWxpdGllcztcbiAgICAgICAgICAgICAgbGV0IGkgPSBpbmRleFxuICAgICAgICAgICAgXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiKHJlc3BvbnNpYmlsaXRpZXNEYXRhPy5wYWdlICogcmVzcG9uc2liaWxpdGllc0RhdGE/LmxpbWl0IC1cbiAgICAgICAgICAgIHJlc3BvbnNpYmlsaXRpZXNEYXRhPy5saW1pdCArXG4gICAgICAgICAgICBpICtcbiAgICAgICAgICAgIDEpIGFzIHNyTm9cIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJvd1wiIFtjbGFzcy5yZXNwXT1cInJlc3BvbnNpYmlsaXR5Py5hc3NpZ25lZURldGFpbHM/Lmxlbmd0aCA9PT0gMVwiIFtjbGFzcy5hY3RpdmVdPVwiXG4gICAgICAgICAgICAgICAgc2VsZWN0ZWRSZXNwb25zaWJpbGl0eVZhbHVlcz8ucmVzcG9uc2liaWxpdHk/LmlkID09PSByZXNwb25zaWJpbGl0eT8uaWQgJiYgcmVzcG9uc2liaWxpdHk/LmFzc2lnbmVlRGV0YWlscz8ubGVuZ3RoID09PSAxXG4gICAgICAgICAgICAgIFwiIFtjbGFzcy53aXRoLXN1Yi1yZXNwb25zaWJpbGl0eV09XCJvcGVuZWRSZXNwb25zaWJpbGl0eS5pbmNsdWRlcyhyZXNwb25zaWJpbGl0eT8uaWQpXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInJlc3BvbnNpYmlsaXR5Py5hc3NpZ25lZURldGFpbHMgYXMgYXNzaWduZWVEZXRhaWxzXCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHNlcmlhbFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Itbm9cIiBbYXBwVG9vbHRpcF09XCJcbiAgICAgICAgICAgICAgICAgICAgICBzck5vICBcbiAgICAgICAgICAgICAgICAgICAgXCIgcGxhY2VtZW50PVwiYm90dG9tXCIgZGVsYXk9XCIwXCIgdHlwZT1cImJsYWNrXCIgW3Rvb2x0aXBNYW5kYXRvcnldPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgIHt7c3JOb319XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8YXBwLWNzLXJhZGlvICpuZ0lmPVwiYXNzaWduZWVEZXRhaWxzPy5sZW5ndGggPT09IDFcIiBbbmFtZV09XCInb25Db21wbGV0aW9uJ1wiIFtjaGVja2VkXT1cIlxuICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkUmVzcG9uc2liaWxpdHlWYWx1ZXM/LnJlc3BvbnNpYmlsaXR5Py5pZCA9PT0gcmVzcG9uc2liaWxpdHk/LmlkXG4gICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgKGNoZWNrZWRFdmVudCk9XCJvbkNvbXBsZXRpb25DaGFuZ2Uoe2VhY2hBc3NpZ25lZTogYXNzaWduZWVEZXRhaWxzWzBdLCByZXNwb25zaWJpbGl0eX0pXCI+PC9hcHAtY3MtcmFkaW8+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciByZXNwb25zaWJpbGl0eSB3aXRoLXJjXCI+XG5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZhbHVlIHZ4LWZzLTEyIHZ4LWxhYmVsLXR4dCB2eC1wci01ICB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF2YXRhci1saXN0IHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaWItYXZhdGFyLXYyIFthdmF0YXJMaXN0XT1cInJlc3BvbnNpYmlsaXR5Py5hbGxBc3NpZ25lZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFt0eXBlXT1cIidTSU5HTEVfQVZBVEFSJ1wiPjwvbGliLWF2YXRhci12Mj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmFsdWUtdGV4dCB2eC1tbC0xIHJlc3AtbmFtZVwiIFthcHBUb29sdGlwXT1cInJlc3BvbnNpYmlsaXR5Py50aXRsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiIGRlbGF5PVwiMFwiIHR5cGU9XCJibGFja1wiIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIj57e1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2liaWxpdHk/LmNvbnRyb2xJZCB9fSB7e1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2liaWxpdHk/LnRpdGxlXG4gICAgICAgICAgICAgICAgICAgICAgICB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciByZXNwb25zaWJpbGl0eS1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInJlc3BvbnNpYmlsaXR5Py5hbGxSYyBhcyByY1wiPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9ncmFtLWlubmVyIHZ4LWQtYmxvY2tcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9ncmFtLXZhbHVlIHZ4LWZzLTExIHZ4LWxhYmVsLXR4dCB2eC1wci01XCIgW2FwcFRvb2x0aXBdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICByYz8ubGVuZ3RoXG4gICAgICAgICAgICAgICAgICAgICAgICAgID8gcmNbMF0/Lm5hbWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgOiAnLS0nXG4gICAgICAgICAgICAgICAgICAgICAgXCIgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIiBkZWxheT1cIjBcIiB0eXBlPVwiYmxhY2tcIiBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHJjPy5sZW5ndGhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPyByY1swXT8ubmFtZVxuICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiLS1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICByYz8ubGVuZ3RoIFxuICAgICAgICAgICAgICAgICAgICAgIFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cInJjPy5sZW5ndGggPiAxXCIgYXBwUG9wb3ZlciAoY2xpY2spPVwicmNQb3B1cC5wb3BvdmVyKClcIiBwbGFjZW1lbnQ9XCJyaWdodFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInByb2dyYW0tY291bnQgdngtZnMtMTEgdngtZnctNTAwIHZ4LXR4dC13aGl0ZSB2eC1wLTAgdngtcGwtMSB2eC1wci0xIHZ4LW0tMCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAre3sgcmM/Lmxlbmd0aCAtIDEgfX1cbiAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8YXBwLXBvcG92ZXIgI3JjUG9wdXA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2YtYWN0aW9uLWxpc3RcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwiYWN0aW9uLWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgKm5nRm9yPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGRhdGEgb2YgcmM/LnNsaWNlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJjPy5sZW5ndGhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF2YXRhci1jYXJkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1kLWJsb2NrIHZ4LXctMTAwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2YWx1ZVwiIFthcHBUb29sdGlwXT1cImRhdGE/Lm5hbWVcIiBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiIGRlbGF5PVwiMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYmxhY2tcIiBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCI+e3sgZGF0YT8ubmFtZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPC9hcHAtcG9wb3Zlcj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgYWN0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uVG9nZ2xlUmVzcG9uc2liaWxpdHkocmVzcG9uc2liaWxpdHkpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhc3NpZ25lZURldGFpbHM/Lmxlbmd0aCA+IDE7IGVsc2UgY2xvc2VJY29uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGkgKm5nSWY9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5lZFJlc3BvbnNpYmlsaXR5LmluY2x1ZGVzKHJlc3BvbnNpYmlsaXR5LmlkKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgY2xvc2VJY29uXG4gICAgICAgICAgICAgICAgICAgICAgXCIgY2xhc3M9XCJpY29ucyB2eC1mcy0xMFwiPiYjeGU5ZTc7PC9pPlxuICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjY2xvc2VJY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29ucyB2eC1mcy0xMFwiPiAmI3hlOWU4OzwvaT5cbiAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGxpYi1zdWItcmVzcG9uc2liaWxpdHkgKm5nSWY9XCJvcGVuZWRSZXNwb25zaWJpbGl0eS5pbmNsdWRlcyhyZXNwb25zaWJpbGl0eS5pZClcIlxuICAgICAgICAgICAgICAgIFtyZXNwb25zaWJpbGl0eV09XCJyZXNwb25zaWJpbGl0eVwiIFtzck5vXT1cInNyTm9cIiBbc2VsZWN0ZWRSZXNwb25zaWJpbGl0eV09XCJzZWxlY3RlZFJlc3BvbnNpYmlsaXR5VmFsdWVzXCJcbiAgICAgICAgICAgICAgICAob25Db21wbGV0aW9uQ2hhbmdlKT1cIm9uQ29tcGxldGlvbkNoYW5nZSgkZXZlbnQpXCI+PC9saWItc3ViLXJlc3BvbnNpYmlsaXR5PlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gICAgPGFwcC1mbG9hdGluZy1iYXIgW3NlbGVjdGVkRGF0YV09XCJbc2VsZWN0ZWRSZXNwb25zaWJpbGl0eVZhbHVlcz8ucmVzcG9uc2liaWxpdHldXCIgW2Rpc3BsYXlFbGVtZW50S2V5XT1cIid0aXRsZSdcIlxuICAgICAgKGNsb3NlTGlzdCk9XCJiYWNrKClcIiAoY2xvc2VFdmVudCk9XCJzYXZlKCRldmVudClcIiAoZGVsZXRlRXZlbnQpPVwiZGVsZXRlSXRlbSgkZXZlbnQpXCJcbiAgICAgIFtpc0Rpc2FibGVkXT1cIiFzZWxlY3RlZFJlc3BvbnNpYmlsaXR5VmFsdWVzPy5yZXNwb25zaWJpbGl0eT8uaWRcIj48L2FwcC1mbG9hdGluZy1iYXI+XG4gIDwvZGl2PlxuPC9kaXY+Il19